diff --git a/.gitignore b/.gitignore index 7f2fa28..510df57 100644 --- a/.gitignore +++ b/.gitignore @@ -49,12 +49,6 @@ Icon /site/config/.license -# Host-specific config (credentials) -# --------------- - -/site/config/config.index.ngo.php -/site/config/config.localhost.php - # Content # --------------- diff --git a/assets/css/base/_body.scss b/assets/css/base/_body.scss index 55c2bff..4bfe9c1 100644 --- a/assets/css/base/_body.scss +++ b/assets/css/base/_body.scss @@ -1,74 +1,72 @@ * { - margin: 0; - padding: 0; + margin: 0; + padding: 0; - box-sizing: border-box; - -webkit-font-smoothing: antialiased; - -moz-font-smoothing: antialiased; - -o-font-smoothing: antialiased; + box-sizing: border-box; + -webkit-font-smoothing: antialiased; + -moz-font-smoothing: antialiased; + -o-font-smoothing: antialiased; - scroll-behavior: smooth; + scroll-behavior: smooth; } a { - color: currentColor; + color: currentColor; } -button { - background: none; - outline: none; - border: none; - color: var(--color-txt); +button{ + background: none; + outline: none; + border: none; + color: var(--color-txt); } -iframe { - border: none; +iframe{ + border: none; } -body { - font-family: var(--font); - line-height: var(--leading-normal); - font-size: var(--fs-normal); +body{ + font-family: var(--font); + line-height: var(--leading-normal); + font-size: var(--fs-normal); - color: var(--color-txt); - background-color: var(--color-bg); + color: var(--color-txt); + background-color: var(--color-bg); } -img { - max-width: 100%; +img{ + max-width: 100%; } -.link-block { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - display: block; - cursor: pointer; - // &:hover{ - // background-color: rgba(255, 0, 0, 0.244); - // } +.link-block{ + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: block; + cursor: pointer; + // &:hover{ + // background-color: rgba(255, 0, 0, 0.244); + // } } -.swiper-button-next, -.swiper-button-prev, -body, -#site-header, -#site-footer { - transition: background-color 0.3s ease, color 0.3s ease; +.swiper-button-next, .swiper-button-prev, +body, #site-header, #site-footer{ + transition: background-color 0.3s ease, color 0.3s ease; } -@mixin grid-content() { - display: grid; - grid-gap: var(--padding-inner); - grid-template-columns: 2fr 3fr; - position: relative; +@mixin grid-content(){ + display: grid; + grid-gap: var(--padding-inner); + grid-template-columns: 2fr 3fr; + position: relative; } -@mixin hide-scroll() { - scrollbar-width: none; - -ms-overflow-style: none; - &::-webkit-scrollbar { + +@mixin hide-scroll(){ + scrollbar-width: none; + -ms-overflow-style: none; + &::-webkit-scrollbar { display: none; - } + } } @mixin clamp($lines) { @@ -78,60 +76,56 @@ body, overflow: hidden; } -@mixin hover-card-line() { - border-bottom: var(--border-light); - &:first-of-type { - border-top: var(--border-light); - } - position: relative; - &::before { - content: ""; - width: 100%; - border-top: 1px solid transparent; - position: absolute; - top: -1px; - left: 0; - } +@mixin hover-card-line(){ + border-bottom: var(--border-light); + &:first-of-type{ + border-top: var(--border-light); + } + position: relative; + &::before{ + content: ''; + width: 100%; + border-top: 1px solid transparent; + position: absolute; + top: -1px; + left: 0; + } - &:not([data-impact-type="media"]) { - &:hover { - background-color: var(--grey-950); - border-color: var(--color-txt); - &::before { + &:hover{ + background-color: var(--grey-950); border-color: var(--color-txt); - } + &::before{ + border-color: var(--color-txt); + } + } - } } -@mixin pin() { - .pin { - z-index: 90; - width: 18px; - height: 18px; - transform: rotate(45deg); - transform-origin: center; - svg { - width: 100%; - height: 100%; - fill: var(--color-txt); + +@mixin pin(){ + .pin{ + z-index: 90; + width: 18px; + height: 18px; + transform: rotate(45deg); + transform-origin: center; + svg{ + width: 100%; + height: 100%; + fill: var(--color-txt); + } } - } } -@mixin icon($size) { - .icon { - display: flex; - width: $size; - height: $size; - svg { - width: $size; - height: $size; - } - } -} + body.menu-open, -body.is-hidden { - overflow-y: hidden; +body.is-hidden{ + overflow-y: hidden; + main, footer, #nav-highlight, .btn--back-to-top{ + transition: opacity .3s ease-in; + opacity: 0.1; + } } + + diff --git a/assets/css/base/_var.scss b/assets/css/base/_var.scss index 1ab0960..e2f35ad 100644 --- a/assets/css/base/_var.scss +++ b/assets/css/base/_var.scss @@ -18,7 +18,6 @@ --max-w-content: 700px; --max-w-cards: 940px; - --max-w-site: 1600px; --z-header: 2000; --panel-w: 310px; @@ -30,7 +29,7 @@ --leading-tight: 1.05; --leading-normal: 1.3; - --leading-title: 1.2; + --leading-title: 1.1; // --leading-relaxed: 1.4; // --leading-loose: 1.8; @@ -80,18 +79,15 @@ --h-block: 30px; --curve: cubic-bezier(0.175, 0.885, 0.32, 1.275); - --transition-scroll: .5s ease-in-out; - - } @media #{$small}{ :root { - --fs-xsmall: 12px; - --fs-small: 14px; - --fs-normal: 18px; - --fs-text: 18px; + --fs-xsmall: 13px; + --fs-small: 16px; + --fs-normal: 20px; + --fs-text: 20px; --fs-medium: 24px; --fs-big: 34px; @@ -116,8 +112,6 @@ --color-txt: #161616; --color-txt-light: var(--grey-400); - --border-light: 1px solid var(--grey-800); - --color-accent: #ff00ff; --color-accent-50: #ffe9ff; --color-accent-100: #fdd8fd; diff --git a/assets/css/components/_bottom-bar.scss b/assets/css/components/_bottom-bar.scss deleted file mode 100644 index e481f60..0000000 --- a/assets/css/components/_bottom-bar.scss +++ /dev/null @@ -1,112 +0,0 @@ -#bottom-bar { - position: fixed; - left: 0; - bottom: calc(var(--header-h) * -0.75); - &.is-visible { - bottom: 0px; - } - - z-index: calc(var(--z-header) - 10); - height: calc(var(--header-h) * 0.75); - width: 100vw; - background-color: var(--color-bg); - - padding-left: var(--padding-body); - padding-right: var(--padding-body); - - transition: bottom var(--transition-scroll); - - .progress-container { - position: absolute; - top: 0; - left: 0; - height: 2px; - width: 100vw; - background-color: var(--grey-800); - - .progress-bar { - height: 2px; - background-color: var(--color-txt); - width: 40%; - } - } - - .bottom-bar__inner { - height: calc(var(--header-h) * 0.75); - display: flex; - justify-content: flex-end; - align-items: center; - gap: var(--padding-inner); - } - - .btn--back-to-top { - @include icon(20px); - position: relative; - top: -3px; - width: 100px; - - a { - justify-content: flex-end; - } - - .icon { - transform: rotate(-90deg); - transform-origin: center; - svg { - fill: var(--color-txt); - } - } - } - - .title-group { - font-size: var(--fs-small); - display: flex; - color: var(--color-txt-light); - flex-grow: 1; - width: 100%; - padding-top: 5px; - - min-width: 0; - - .title-type { - text-transform: uppercase; - &::after { - content: "/"; - padding-left: 1ch; - padding-right: 1ch; - } - } - - .title { - min-width: 0; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - } - - @media #{$small} { - // display: flex; - // align-items: center; - // justify-content: center; - .bottom-bar__inner { - height: calc(var(--header-h) * 0.75); - justify-content: center; - align-items: center; - } - - .btn--download, - .btn--back-to-top { - display: none; - } - } - - @media #{$x-small} { - display: flex; - align-items: center; - justify-content: center; - .title-group { - display: none; - } - } -} diff --git a/assets/css/components/_buttons.scss b/assets/css/components/_buttons.scss index 0395f45..4738fd3 100644 --- a/assets/css/components/_buttons.scss +++ b/assets/css/components/_buttons.scss @@ -23,7 +23,7 @@ button:disabled{ } -.support{ +.soutenir{ a{ color: var(--color-accent); &:hover{ @@ -92,57 +92,23 @@ button:disabled{ a{ color: var(--color-bg); } svg{ fill: var(--color-bg); } } - - -.btn--simple{ - height: calc(var(--h-block)*1); - font-size: var(--fs-small); - font-weight: 500; - text-transform: uppercase; - line-height: 1; - white-space: nowrap; - @include icon(20px); - .icon{ - position: relative; - top: -2px; - } - - a{ - display: flex; - align-items: center; - justify-content: center; - gap: 1ch; - width: 100%; - height: 100%; - padding: 0 2ch; - padding-top: 4px; - white-space: nowrap; - } - &.no-link{ - display: flex; - align-items: center; - justify-content: center; - gap: 1ch; - padding: 0 2ch; - padding-top: 4px; - - } -} -.btn--bold{ +.btn--bold, +.btn--bold-inline{ display: block; height: calc(var(--h-block)*1); border: var(--border); border-radius: var(--radius-btn); - font-size: var(--fs-small); - // font-weight: 500; - // text-transform: uppercase; + font-size: var(--fs-xsmall); + font-weight: 500; + text-transform: uppercase; line-height: 1; overflow: hidden; white-space: nowrap; - @include icon(12px); svg{ - position: relative; + width: 18px; + height: 18px; + position: relative; top: -1px; } a{ @@ -152,7 +118,7 @@ button:disabled{ gap: 1ch; width: 100%; height: 100%; - padding: 0 1.25ch; + padding: 0 2ch; padding-top: 4px; } &.no-link{ @@ -160,12 +126,10 @@ button:disabled{ align-items: center; justify-content: center; gap: 1ch; - padding: 0 1.25ch; + padding: 0 2ch; padding-top: 4px; } - - } @@ -187,98 +151,9 @@ button:disabled{ } -.btn--see-more{ - - margin-top: calc(var(--spacing)*1); - margin-inline: auto; - - display: block; - height: calc(var(--h-block)*1); - border: 1px solid var(--color-txt-light); - border-radius: var(--radius-btn); - font-size: var(--fs-small); - - line-height: 1; - overflow: hidden; - white-space: nowrap; - - color: var(--color-txt-light); +.btn--bold-inline{ background-color: var(--color-bg); - - - @include icon(12px); - .icon{ - position: relative; - top: -2px; - - } - svg{ -fill: var(--color-txt-light); - } - a{ - display: flex; - align-items: center; - justify-content: center; - gap: 1ch; - width: 100%; - height: 100%; - padding: 0 1.25ch; - padding-top: 4px; - font-size: var(--fs-small); - } - - - - - &:hover{ - background-color: var(--grey-950); - color: var(--grey-100); - border-color: var(--grey-100); - a{ - background-color: var(--grey-950); - color: var(--grey-100); - } - svg{ fill: var(--grey-100); } - } - -} - - -.btn--home{ - - display: block; - height: calc(var(--h-block)*1); - border: var(--border); - border-radius: var(--radius-btn); - font-size: var(--fs-small); - - line-height: 1; - overflow: hidden; - white-space: nowrap; - - background-color: var(--color-bg); - font-weight: 500; - - - @include icon(12px); - .icon{ - position: relative; - top: -2px; - } - a{ - display: flex; - align-items: center; - justify-content: center; - gap: 1ch; - width: 100%; - height: 100%; - padding: 0 1.25ch; - padding-top: 4px; - } - - - - + svg{ fill: var(--color-txt); } &:hover{ background-color: var(--grey-950); color: var(--grey-100); @@ -318,16 +193,16 @@ fill: var(--color-txt-light); } @media #{$small}{ svg{ - width: 12px; - height: 12px; + width: 11px; + height: 11px; } } @media #{$x-small}{ right: calc(var(--padding-inner)*0.5); bottom: calc(var(--padding-inner)*0.25); svg{ - width: 12px; - height: 12px; + width: 11px; + height: 11px; } } } @@ -353,88 +228,41 @@ fill: var(--color-txt-light); -#btn--back-to-top{ - +.btn--back-to-top{ + display: flex; + border-color: var(--color-txt); width: fit-content; - margin-bottom: var(--spacing); - margin-left: auto; - margin-right: var(--padding-body); - - - - a{ - display: flex; - align-items: center; - gap: 1ch; - text-decoration: none; - } - - .text{ - font-size: var(--fs-small); - padding-top: 2px; + margin: var(--spacing) auto; + font-size: var(--fs-xsmall); + @media #{$small}{ + margin-bottom: calc(var(--spacing)*2); } .icon{ - flex-shrink: 0; - --size: 26px; - border: 1px solid var(--color-txt); - background-color: var(--color-bg); - border-radius: 50%; - width: var(--size); - height: var(--size); - + width: 12px; + height: 12px; transform: rotate(-90deg); - - display: flex; - align-items: center; - justify-content: center; + transform-origin: center; + position: relative; + top: -1px; svg{ width: 12px; height: 12px; - fill: var(--color-txt); } } &:hover{ - opacity: 0.8; - } - - - @media #{$x-small}{ - opacity: 0; - transition: opacity .5s ease; - position: fixed; - bottom: calc(var(--padding-body)*1.5); - right: var(--padding-body); - z-index: var(--z-header); - margin-right: 0; - margin-bottom: 0; - - .icon{ - --size: 32px; - border-width: 2px; - svg{ - width: 19px; - height: 19px; - } + background-color: var(--grey-950); + color: var(--grey-100); + border-color: var(--grey-100); + a{ + background-color: var(--grey-950); + color: var(--grey-100); } - .text{ - display: none; - } - &.is-visible{ - opacity: 1; - } - } - - -} - - -.btn--support{ - color: var(--color-accent); - &:hover{ - color: var(--color-accent); - text-decoration: underline; - text-underline-offset: 2px; + svg{ fill: var(--grey-100); } } } + + + + diff --git a/assets/css/components/_card-article-small.scss b/assets/css/components/_card-article-small.scss index fa8907a..e24ea3f 100644 --- a/assets/css/components/_card-article-small.scss +++ b/assets/css/components/_card-article-small.scss @@ -10,14 +10,33 @@ border-top: var(--border-light); } - + // &.has-link { + // @include hover-card-line(); + // } @include figure-16-9(); + figure { + @media #{$x-small} { + margin-left: 0px; + } + } .type { + display: inline-flex; + flex-grow: 0; + height: calc(var(--h-block)*0.75); + border-radius: var(--radius-small); + border: var(--border-medium); + align-items: center; + padding: 5px 1ch 0 1ch; + + font-size: var(--fs-xsmall); + text-transform: uppercase; + font-weight: 500; + color: var(--color-txt-light); margin-bottom: calc(var(--spacing)*0.75); } @@ -73,8 +92,9 @@ .description { font-size: var(--fs-small); @include clamp(2); - // margin-top: calc(var(--spacing)*-0.5); - // display: none; + // margin-bottom: calc(var(--spacing)*0.75); + margin-top: calc(var(--spacing)*0.25); + display: none; } @@ -82,7 +102,9 @@ @include btn--go-to(); @include hover-card-line(); - + .keywords { + display: none; + } @media #{$medium} { .title { @@ -91,70 +113,24 @@ } } - @media #{$small} { - row-gap: 0; - display: block; + @media #{$x-small} { - .content{ - padding: calc(var(--spacing)*0.5) var(--padding-inner); + .content { + display: contents; } - .type{ - margin-bottom: calc(var(--spacing)*0.75); + .title { + font-size: var(--fs-small); + padding-top: calc(var(--spacing)*0.25); } - .title{ - margin-bottom: calc(var(--spacing)*0.25); - } + figure { + grid-row: 1/3; + } - .details, - .date{ - margin-top: calc(var(--spacing)*0.5); - } - - .btn--go-to{ - bottom: calc(var(--padding-inner) * 0.75); - - right: calc(var(--padding-inner)*0.75); - } - - - - // .content { - // align-self: auto; - // height: 100%; - - // padding: 0; - // padding-bottom: calc(var(--padding-inner)*0.5); - // display: flex; - // flex-direction: column; - - // align-content: center; - - - // } - - // .type{ - // display: none; - // } - - // .title { - // font-size: var(--fs-xsmall); - // padding-top: calc(var(--spacing)*0.5); - // padding-right: 2ch; - // text-wrap: wrap; - // flex-grow: 1; - // } - - // .date{ - // font-size: var(--fs-xsmall); - // } - - // figure { - // grid-row: 1 - // } - - + .description { + grid-column: span 2; + } } diff --git a/assets/css/components/_card-article.scss b/assets/css/components/_card-article.scss index d188246..4dc23fa 100644 --- a/assets/css/components/_card-article.scss +++ b/assets/css/components/_card-article.scss @@ -6,29 +6,20 @@ padding: var(--padding-inner); + + @include figure-16-9(); @include pin(); - & > figure, - .video-extract{ + & > figure{ width: calc(100% + var(--padding-inner)*2); position: relative; left: calc(var(--padding-inner)*-1); top: calc(var(--padding-inner)*-1); - - - } - - .video-extract video{ - width: 100%; - width: 100%; - aspect-ratio: 16/9; - object-fit: cover; - position: relative; - } .content{ + // padding: var(--padding-inner); display: flex; flex-direction: column; } @@ -50,13 +41,13 @@ line-height: var(--leading-title); font-weight: 500; text-transform: uppercase; - // text-wrap: balance; + text-wrap: balance; a{ text-decoration: none;} } .description{ - margin-top: calc(var(--spacing)*1.25); + margin-top: calc(var(--spacing)*0.5); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; @@ -65,18 +56,14 @@ } .dl{ - margin-top: calc(var(--spacing)*0.75); + margin-top: calc(var(--spacing)*0.5); // font-size: var(--fs-small); - + border-bottom: var(--border-light); font-size: var(--fs-small); - flex-grow: 2; .dl__group{ @include grid-content(); border-top: var(--border-light); padding: calc(var(--spacing)*0.5) 0; - &:last-of-type{ - border-bottom: var(--border-light); - } } dt{ @@ -99,78 +86,12 @@ background-color: var(--grey-950); } - - - .keywords-wrapper{ - padding-top: calc(var(--spacing)*0.75); - z-index: 100; - .keywords li a{ - font-size: var(--fs-xsmall); - } + .link-block{ + z-index: 2000; } - - -} - - - -[data-template="home"] .pinned-home{ - grid-column: span 2; - - display: grid; - grid-template-columns: 1fr 1fr; - padding: calc(var(--padding-inner)*2); - - - figure, - picture, - .video-extract{ - grid-column: span 2; - display: flex; - - width: calc(100% + var(--padding-inner)*4); - position: relative; - left: calc(var(--padding-inner)*-2); - top: calc(var(--padding-inner)*-2); - } - - - .title{ - grid-column: span 2; - font-size: var(--fs-text); - padding-right: 3ch; - margin-bottom: calc(var(--spacing)*1); - margin-top: calc(var(--spacing)*0.5); - } - - - .description{ - grid-column: 1; - grid-row: 3; - padding-right: 3ch; - display: block; - -webkit-line-clamp: unset; - -webkit-box-orient: unset; - overflow: visible; - font-size: var(--fs-normal); - margin-top: 0px; - } - - dl{ - margin-top: 0px; - grid-column: 2; - grid-row: 3; - } - - .keywords-wrapper{ - grid-column: span 2; - grid-row: 4; - } - - -} +} \ No newline at end of file diff --git a/assets/css/components/_card-block-small.scss b/assets/css/components/_card-block-small.scss deleted file mode 100644 index 4ed81e1..0000000 --- a/assets/css/components/_card-block-small.scss +++ /dev/null @@ -1,141 +0,0 @@ -.card--block-small { - border-bottom: var(--border-light); - padding: var(--padding-inner) 0; - padding-bottom: calc(var(--spacing) * 0.75); - - &:first-of-type { - border-top: var(--border-light); - } - - @include grid-content(); - @include hover-card-line(); - - .group-top { - position: relative; - // top: -5px; - } - - @include btn--go-to(); - - .btn--go-to { - top: calc(var(--padding-inner) * 1); - bottom: auto; - } - - .title { - grid-column: 2; - grid-row: 2; - font-size: var(--fs-normal); - line-height: var(--leading-title); - font-weight: 500; - text-transform: uppercase; - margin-right: 4ch; - } - - .date { - font-size: var(--fs-small); - grid-column: 2; - grid-row: 1; - margin-top: 4px; - } - - @media #{$small} { - display: block; - padding-bottom: calc(var(--spacing) * 0.5); - - .btn--go-to { - top: auto; - bottom: calc(var(--padding-inner) * 1); - } - - .group-top { - top: 0px; - margin-bottom: calc(var(--spacing) * 0.5); - } - - .title { - margin-bottom: calc(var(--spacing) * 0.75); - margin-right: 1ch; - } - - .date { - margin-top: 0px; - } - } -} - -.card--block-small { - .card--open-graph { - grid-column: 2; - z-index: 10; - } - - .card--open-graph:not(:last-child) { - margin-bottom: 1rem; - } - - .open-graph__details { - grid-column: 2; - - summary, - .summary-inner { - display: flex; - align-items: center; - cursor: pointer; - gap: 0.5ch; - } - - .arrow-details { - line-height: 0; - --size: 11px; - height: var(--size); - width: var(--size); - display: inline-flex; - align-items: center; - justify-content: center; - position: relative; - top: -2px; - - svg { - transition: transform 0.2s ease-in; - width: 100%; - fill: var(--color-txt); - } - } - - summary:hover { - color: var(--color-txt); - - .arrow-details svg { - fill: var(--color-txt); - } - } - - &[open] { - .arrow-details svg { - transform: rotate(90deg); - } - } - - summary { - color: var(--color-txt-light); - - .arrow-details svg { - fill: var(--color-txt-light); - } - } - - @media #{$x-small} { - summary { - @include grid-content(); - grid-row-gap: 0; - - .summary-inner { - grid-column: 2; - } - } - - grid-column: 1/3; - } - } -} diff --git a/assets/css/components/_card-impact-small.scss b/assets/css/components/_card-impact-small.scss new file mode 100644 index 0000000..ee668b7 --- /dev/null +++ b/assets/css/components/_card-impact-small.scss @@ -0,0 +1,104 @@ + +.card--impact-small { + + border-bottom: var(--border-light); + &:first-of-type{ + border-top: var(--border-light); + } + + @include grid-content(); + padding: var(--padding-inner) 0; + + &.has-link { + @include hover-card-line(); + } + + @include btn--go-to(); + + .btn--go-to { + top: calc(var(--padding-inner)*1); + bottom: auto; + } + + .title { + grid-column: 2; + font-size: var(--fs-normal); + font-weight: 500; + text-transform: uppercase; + margin-right: 4ch; + } + + .date{ + font-size: var(--fs-small); + } + + .card--open-graph { + grid-column: 2; + z-index: 10; + } + + .keywords { + grid-column: 2; + z-index: 10; + @media #{$x-small} { display: none; } + + + } + + &:not([data-impact-type="media"]) .content, + .keywords { + @media #{$x-small} { + grid-column: span 2; + } + } + + .category { + width: auto; + justify-self: start; + position: relative; + top: -5px; + } + + &:not([data-impact-type="media"]) { + .content { + padding-right: calc(var(--padding-inner)*2.5); + @media #{$x-small} { + padding-right: 0; + } + } + + } + + + .open-graph__details { + grid-column: 2; + @include details-summary(); + + summary { + color: var(--color-txt-light); + + .arrow-details svg { + fill: var(--color-txt-light); + } + } + + @media #{$x-small} { + summary { + @include grid-content(); + grid-row-gap: 0; + + .summary-inner { + grid-column: 2; + } + } + + grid-column: 1/3; + } + } + + + + +} + + diff --git a/assets/css/components/_card-block.scss b/assets/css/components/_card-impact.scss similarity index 63% rename from assets/css/components/_card-block.scss rename to assets/css/components/_card-impact.scss index d75214f..0994562 100644 --- a/assets/css/components/_card-block.scss +++ b/assets/css/components/_card-impact.scss @@ -1,4 +1,4 @@ -.card--block { +.card--impact { container-type: inline-size; container-name: impact; @@ -14,61 +14,35 @@ @include hover-card-line(); - @include figure-16-9(); + @include figure-3-1(); @include pin(); - - - .group-top{ - display: flex; - gap: calc(var(--padding-inner)*0.5); - } - - - .title{ font-size: var(--fs-normal); font-weight: 500; text-transform: uppercase; line-height: var(--leading-title); - padding-top: calc(var(--spacing)*0.75); - padding-bottom: calc(var(--spacing)*1); + padding-top: calc(var(--spacing)*0.5); margin-right: 2ch; } .date{ font-size: var(--fs-small); + margin-top: calc(var(--spacing)*1.5); } .investigations{ text-decoration: none; list-style: none; - // border-top: var(--border-light); - padding-top: calc(var(--spacing)*0.5); - width: 100%; - - z-index: 100; li{ - width: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - color: var(--color-txt-light); font-size: var(--fs-small); + color: var(--color-txt-light); a{ text-decoration: none; - color: var(--color-txt-light); } a::before{ content: "↪ " } - &:hover{ - a{ - text-decoration: underline 1px; - text-underline-offset: 2px; - color: var(--color-txt); - } - } } } @@ -95,10 +69,6 @@ top: 3px; } - // .link-block{ - // background-color: rgba(255, 0, 0, 0.781); - // } - @@ -106,7 +76,7 @@ @media #{$small-up}{ -.card--block, +.card--impact, .grid-sizer{ width: calc(50% - 13px); } diff --git a/assets/css/components/_card-open-graph.scss b/assets/css/components/_card-open-graph.scss index 4dc8414..ff75674 100644 --- a/assets/css/components/_card-open-graph.scss +++ b/assets/css/components/_card-open-graph.scss @@ -2,7 +2,6 @@ container-type: inline-size; container-name: opengraph; - z-index: calc(var(--z-header) - 100); .open-graph__inner{ @include grid-content(); diff --git a/assets/css/components/_card-package.scss b/assets/css/components/_card-package.scss new file mode 100644 index 0000000..6711032 --- /dev/null +++ b/assets/css/components/_card-package.scss @@ -0,0 +1,94 @@ +// .card--package { +// position: relative; +// max-width: var(--max-w-cards); +// border: var(--border-light); + +// @include grid-content(); +// @include figure-16-9(); + +// container-type: inline-size; +// container-name: cardpackage; + +// figure { +// border-radius: var(--radius-small); +// background-color: var(--color-accent); + +// img { +// opacity: 0.8; +// filter: grayscale(1); +// } +// } + +// .content { +// display: flex; +// flex-direction: column; +// font-size: var(--fs-small); +// } + +// .title { +// font-weight: 500; +// font-size: var(--fs-normal); +// line-height: var(--leading-title); + +// margin-bottom: 0.75em; +// text-wrap: balance; +// max-width: 42ch; +// text-transform: uppercase; +// padding-top: calc(var(--spacing) * 0.25); +// a { +// text-decoration: none; +// } + +// @media #{$small} { +// font-size: var(--fs-normal); +// } + +// .icon { +// padding-right: 1ch; +// position: relative; +// top: 1px; +// svg { +// height: 15px; +// width: 15px; +// fill: var(--color-txt); +// } +// } +// } + +// .short { +// @include clamp(3); +// flex-grow: 1; +// padding-right: calc(var(--padding-inner) * 2); +// } + +// ul { +// display: flex; +// list-style: none; +// gap: 1ch; +// color: var(--color-txt-light); +// padding-top: calc(var(--spacing) * 0.5); + +// li + li { +// &::before { +// content: "|"; +// padding-right: 1ch; +// } +// } +// @media #{$small} { +// font-size: var(--fs-small); +// } +// } + +// .btn--go-to { +// position: absolute; +// right: calc(var(--padding-inner) * 1); +// bottom: var(--padding-inner); +// } + +// @include btn--go-to(); + +// &:hover { +// background-color: var(--grey-950); +// border-color: var(--color-txt); +// } +// } diff --git a/assets/css/components/_category.scss b/assets/css/components/_category.scss deleted file mode 100644 index b6323dd..0000000 --- a/assets/css/components/_category.scss +++ /dev/null @@ -1,102 +0,0 @@ -.type { - height: calc(var(--h-block) * 0.75); - // border-radius: calc(var(--h-block)*0.75/2); - border-radius: var(--radius-small); - width: max-content; - - display: inline-flex; - align-items: center; - justify-content: center; - padding: 0 1ch; - padding-top: 3px; - - font-size: var(--fs-xsmall); - line-height: 1; - font-weight: 500; - - background-color: var(--color-txt); - color: var(--color-bg); - - overflow: hidden; - white-space: nowrap; -} - -.category { - height: calc(var(--h-block) * 0.75); - border-radius: var(--radius-small); - - display: inline-flex; - align-items: center; - justify-content: center; - padding: 0 1ch; - padding-top: 3px; - - font-size: var(--fs-xsmall); - line-height: 1; - font-weight: 500; - - border: var(--border-medium); - background-color: var(--color-bg); - color: var(--color-txt-light); - - overflow: hidden; - white-space: nowrap; -} - -.page__category { - height: calc(var(--h-block) * 1); - border-radius: var(--radius-small); - border: var(--border-medium); - - display: inline-flex; - align-items: center; - justify-content: center; - padding: 0 1.5ch; - padding-top: 5px; - - font-size: var(--fs-small); - - background-color: var(--color-bg); - color: var(--color-txt-light); - font-weight: 500; - - overflow: hidden; - white-space: nowrap; - text-transform: uppercase; - - @media #{$small} { - height: calc(var(--h-block) * 0.75); - font-size: var(--fs-xsmall); - padding: 0 1ch; - padding-top: 3px; - } -} - -.page__type { - height: calc(var(--h-block) * 1); - border-radius: var(--radius-small); - margin-left: calc(var(--padding-inner) * 0.25); - - display: inline-flex; - align-items: center; - justify-content: center; - padding: 0 1.5ch; - padding-top: 5px; - - font-size: var(--fs-small); - - background-color: var(--color-txt); - color: var(--color-bg); - font-weight: 500; - - overflow: hidden; - white-space: nowrap; - text-transform: uppercase; - - @media #{$small} { - height: calc(var(--h-block) * 0.75); - font-size: var(--fs-xsmall); - padding: 0 1ch; - padding-top: 3px; - } -} diff --git a/assets/css/components/_details-summary.scss b/assets/css/components/_details-summary.scss new file mode 100644 index 0000000..e73d365 --- /dev/null +++ b/assets/css/components/_details-summary.scss @@ -0,0 +1,46 @@ + + + +@mixin details-summary(){ + + + summary, + .summary-inner{ + display: flex; + align-items: center; + cursor: pointer; + gap: 0.5ch; + } + + .arrow-details{ + line-height: 0; + --size: 11px; + height: var(--size); + width: var(--size); + display: inline-flex; + align-items: center; + justify-content: center; + position: relative; + top: -2px; + + svg{ + transition: transform 0.2s ease-in; + width: 100%; + fill: var(--color-txt); + } + + } + + summary:hover{ + color: var(--color-txt); + .arrow-details svg{ + fill: var(--color-txt); + } + } + + &[open]{ + .arrow-details svg{ + transform: rotate(90deg); + } + } +} \ No newline at end of file diff --git a/assets/css/components/_dl-table.scss b/assets/css/components/_dl-table.scss deleted file mode 100644 index a4e458d..0000000 --- a/assets/css/components/_dl-table.scss +++ /dev/null @@ -1,37 +0,0 @@ - - .dl-table { - margin-top: calc(var(--spacing) * 1.5); - border-bottom: var(--border-light); - max-width: var(--max-w-content); - max-width: var(--max-w-cards); - margin-inline: auto; - font-size: var(--fs-normal); - - @media #{$small} { - font-size: var(--fs-small); - } - - .dl__group { - @include grid-content(); - column-gap: 1ch; - border-top: var(--border-light); - padding: calc(var(--spacing) * 0.5) 0; - } - - dt { - color: var(--color-txt-light); - padding-right: 1ch; - } - - ul:not(.keywords) { - list-style: none; - - li { - padding-bottom: 0.2em; - } - } - - a:hover{ - opacity: 0.8; - } - } diff --git a/assets/css/components/_dropdown.scss b/assets/css/components/_dropdown.scss index 9f7b7eb..0c813c8 100644 --- a/assets/css/components/_dropdown.scss +++ b/assets/css/components/_dropdown.scss @@ -10,7 +10,7 @@ position: absolute; top: 100%; left: 0; - + min-width: 180px; margin-top: var(--padding-inner); background-color: var(--color-bg); border: var(--border); @@ -19,9 +19,9 @@ visibility: hidden; transform: translateY(-4px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s; - z-index: calc(var(--z-header) - 100); + z-index: 100; - &::before { + &::before{ content: "◀"; transform: rotate(90deg); font-size: 14px; @@ -29,16 +29,13 @@ top: -13px; left: 16px; } - ul { list-style: none; margin: 0; padding: var(--padding-inner); - min-width: 180px; } - a, - button { + a, button { display: block; width: 100%; padding: 0.75em 1ch; @@ -61,15 +58,14 @@ &--align-right .dropdown__content { left: auto; right: 0; - - &::before { + &::before{ left: auto; right: 16px; } } - &.is-open { + &.is-open { .dropdown__content { opacity: 1; visibility: visible; @@ -77,129 +73,98 @@ } } - &--position-mobile .dropdown__content { - background-color: red; - } - - // PANEL - // &--position-mobile .dropdown__content { - // top: auto; - // bottom: calc(var(--h-block) + var(--padding-inner)*2); - // left: auto; - // right: 0; - // margin-top: 0; - // margin-left: 4px; - - // &::before{ - // font-family: Arial; - // content: "◀"; - // transform: rotate(-90deg); - // font-size: 14px; - // position: absolute; - // top: auto; - // bottom: -13px; - // left: auto; - // right: 10%; - // } - // } - - - - // &--position-mobile.is-open { - // .dropdown__content { - // transform: translateX(0); - // } - // } - - - - - @media #{$small-up} { - &--position-panel .dropdown__content { - top: auto; - bottom: 0; - left: calc(100% + var(--padding-inner)); - margin-top: 0; - margin-left: 4px; - - &::before { - font-family: Arial; - content: "◀"; - transform: rotate(0deg); - font-size: 14px; - position: absolute; + // PANEL  + &--position-mobile .dropdown__content { top: auto; - bottom: 4px; - left: -11px; + bottom: calc(var(--h-block) + var(--padding-inner)*2); + left: auto; + right: 0; + margin-top: 0; + margin-left: 4px; + + &::before{ + font-family: Arial; + content: "◀"; + transform: rotate(-90deg); + font-size: 14px; + position: absolute; + top: auto; + bottom: -13px; + left: auto; + right: 10%; + } } - } + - - &--position-panel.is-open { - .dropdown__content { - transform: translateX(0); + &--position-mobile.is-open { + .dropdown__content { + transform: translateX(0); + } + } + + + + + @media #{$small-up}{ + &--position-panel .dropdown__content { + top: auto; + bottom: 0; + left: calc(100% + var(--padding-inner)); + margin-top: 0; + margin-left: 4px; + + &::before{ + font-family: Arial; + content: "◀"; + transform: rotate(0deg); + font-size: 14px; + position: absolute; + top: auto; + bottom: 4px; + left: -11px; + } + } + + + + &--position-panel.is-open { + .dropdown__content { + transform: translateX(0); + } } - } } - @media #{$x-small} { + @media #{$x-small}{ - .dropdown__content { - width: calc(100vw - var(--padding-body)*2); + .dropdown__content{ + width: calc(100vw - var(--padding-body)*2); + .modal--share{ + width: 100%; + } + } + + + } + +} + + + +@media screen and (max-width: 1280px){ + + [data-template="investigations"]{ + .dropdown .dropdown__content { left: auto; right: 0; - - .modal--share { - width: 100%; + &::before{ + left: auto; + right: 16px; + } } - - } } - - - -#bottom-bar { - - - .dropdown .dropdown__content { - top: auto; - bottom: calc(var(--h-block) + var(--padding-inner)*2); - left: auto; - right: 0; - margin-top: 0; - margin-left: 4px; - - &::before { - font-family: Arial; - content: "◀"; - transform: rotate(-90deg); - font-size: 14px; - position: absolute; - top: auto; - bottom: -13px; - left: auto; - right: 10%; - @media #{$x-small} { - left: 20%; - right: auto; - } - - } - - } - - - - .dropdown.is-open { - .dropdown__content { - transform: translateX(0); - } - } -} - diff --git a/assets/css/components/_figures.scss b/assets/css/components/_figures.scss index 177e0d3..aed5e44 100644 --- a/assets/css/components/_figures.scss +++ b/assets/css/components/_figures.scss @@ -1,23 +1,64 @@ -@mixin figure-16-9 { - & > figure { - aspect-ratio: 16/9; - display: flex; - overflow: hidden; - img, - picture { - width: 100%; - height: 100%; - object-fit: cover; - transition: cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.5s; + +@mixin figure-16-9{ + & > picture, + & > figure{ + aspect-ratio: 16/9; + display: flex; + overflow: hidden; + img{ + width: 100%; + height: 100%; + object-fit: cover; + transition: cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.5s; + + } } - } } -figcaption, -.caption { - font-size: var(--fs-small) !important; - color: var(--color-txt-light); - font-weight: 500; - line-height: 1.1; - margin: calc(var(--spacing) * 0.5) 0 !important; + + +@mixin figure-3-1(){ + & > picture, + & > figure{ + aspect-ratio: 3/1; + overflow: hidden; + img{ + width: 100%; + height: 100%; + object-fit: cover; + } + } } + + + +// @mixin figure-2-1(){ +// & > picture, +// & > figure{ +// aspect-ratio: 2/1; +// overflow: hidden; +// img{ +// width: 100%; +// height: 100%; +// object-fit: cover; +// } +// } +// } + +// @mixin figure-16-9-hover{ +// figure{ +// aspect-ratio: 16/9; +// display: flex; +// overflow: hidden; +// img{ +// width: 100%; +// height: 100%; +// object-fit: cover; +// transition: cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.5s; + +// } +// } +// &:hover{ +// figure img{ transform: scale(1.05); } +// } +// } \ No newline at end of file diff --git a/assets/css/components/_investigation-hero.scss b/assets/css/components/_investigation-hero.scss deleted file mode 100644 index 3230c9f..0000000 --- a/assets/css/components/_investigation-hero.scss +++ /dev/null @@ -1,91 +0,0 @@ -#investigation__hero { - width: 100%; - max-width: var(--max-w-cards); - margin-inline: auto; - - figcaption { - color: var(--color-txt-light); - font-size: var(--fs-small); - @media #{$x-small} { - font-size: var(--fs-xsmall); - } - padding: calc(var(--spacing) * 0.5) var(--padding-body); - padding-bottom: 0; - text-align: center; - max-width: var(--max-w-content); - margin-inline: auto; - } - - figure { - width: 100%; - position: relative; - img { - width: 100%; - height: auto; - aspect-ratio: 2/1; - object-fit: cover; - } - } - - .player-container { - width: 100%; - position: relative; - aspect-ratio: 2/1; - - .extract, - video { - width: 100%; - height: 100%; - object-fit: cover; - position: relative; - } - - .video-full { - width: 100%; - height: 100%; - iframe { - width: 100%; - height: 100%; - } - display: none; - } - - #hero-play-video { - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; - text-transform: uppercase; - display: flex; - align-items: center; - justify-content: center; - - .btn--bold { - display: flex; - align-items: center; - justify-content: center; - gap: 1ch; - padding: 0 1ch; - opacity: 0.8; - &:hover { - opacity: 1; - } - } - - .text { - color: black; - font-weight: 500; - line-height: 1; - padding-top: 4px; - } - - svg { - width: 18px; - height: 18px; - fill: black; - opacity: 0.8; - } - } - } -} diff --git a/assets/css/components/_lightbox.scss b/assets/css/components/_lightbox.scss deleted file mode 100644 index d4dcb5b..0000000 --- a/assets/css/components/_lightbox.scss +++ /dev/null @@ -1,81 +0,0 @@ -#lightbox { - position: fixed; - inset: 0; - z-index: calc(var(--z-header) + 10); - background-color: rgba(0, 0, 0, 0.92); - display: flex; - align-items: center; - justify-content: center; - opacity: 0; - visibility: hidden; - pointer-events: none; - transition: opacity 0.3s ease, visibility 0.3s ease; - - body.lightbox-open & { - opacity: 1; - visibility: visible; - pointer-events: auto; - } -} - -#lightbox-close { - position: absolute; - top: var(--padding-body); - right: var(--padding-body); - background: none; - border: none; - color: var(--color-txt); - cursor: pointer; - padding: 8px; - z-index: 1; - line-height: 0; - - svg { - width: 30px; - fill: var(--color-txt); - transition: fill 0.2s ease; - } - - &:hover svg { - fill: var(--grey-400); - } -} - -#lightbox-swiper { - width: 90vw; - - .swiper-slide { - display: flex; - align-items: center; - justify-content: center; - - figure { - display: flex; - flex-direction: column; - align-items: center; - cursor: default; - - img { - max-width: 90vw; - max-height: calc(90dvh - 100px); - width: auto; - height: auto; - object-fit: contain; - } - - figcaption { - margin-top: calc(var(--spacing) * 0.5); - color: var(--color-txt-light); - font-size: var(--fs-small); - text-align: center; - } - } - } -} - -// Cursor zoom-in sur les figures éligibles — desktop uniquement -@media (min-width: 1080px) { - figure[data-lightbox] { - cursor: zoom-in; - } -} diff --git a/assets/css/components/_list-socials.scss b/assets/css/components/_list-socials.scss index 784108b..1a6670f 100644 --- a/assets/css/components/_list-socials.scss +++ b/assets/css/components/_list-socials.scss @@ -3,82 +3,65 @@ display: flex; justify-content: space-between; align-items: center; - max-width: 350px; + max-width: 400px; a{ display: flex; align-items: center; text-decoration: none; } - - li{ - --size-icon: 20px; - } - - li[data-socials="youtube"]{ - --size-icon: 26px; - } - - .icon{ - width: var(--size-icon); - height: var(--size-icon); + width: 20px; + height: 20px; position: relative; top: -2px; } svg{ display: flex; align-items: center; - width: var(--size-icon); - height: var(--size-icon); - fill: var(--color-txt); + width: 20px; + height: 20px; } - - - a:hover{ - svg{ - fill: var(--color-txt-light); - } - } + .text{ display: none; } } // with text -// @media #{$small-up}{ -// .footer__socials .list-socials{ +@media #{$small-up}{ + .footer__socials .list-socials{ -// display: block; + display: block; -// li{ -// margin-bottom: calc(var(--spacing)*0.25); -// break-inside: avoid; -// font-size: var(--fs-small); + li{ + margin-bottom: calc(var(--spacing)*0.25); + break-inside: avoid; + font-size: var(--fs-small); -// } + } -// a{ -// gap: 1ch; + a{ + gap: 1ch; -// height: calc(var(--spacing)*1); -// &::after{ -// content: '↗'; -// color: var(--grey-300); -// } + height: calc(var(--spacing)*1); + &::after{ + content: '↗'; + color: var(--grey-300); + } -// &:hover{ -// color: var(--color-accent); -// &::after{ -// color: var(--color-accent); -// opacity: 0.5; -// } -// } -// } -// .text{ -// display: block; -// line-height: 1; -// } -// } -// } + &:hover{ + color: var(--color-accent); + &::after{ + color: var(--color-accent); + opacity: 0.5; + } + } + } + .text{ + display: block; + line-height: 1; + } + } +} diff --git a/assets/css/components/_modal-share.scss b/assets/css/components/_modal-share.scss index 92e97ca..b28b375 100644 --- a/assets/css/components/_modal-share.scss +++ b/assets/css/components/_modal-share.scss @@ -4,7 +4,7 @@ background-color: var(--color-bg); .title { - font-size: var(--fs-small); + font-size: var(--fs-xsmall); line-height: 1.2; padding: var(--padding-inner); padding-bottom: 0px; @@ -23,7 +23,7 @@ list-style: none; li{ - font-size: var(--fs-small); + font-size: var(--fs-xsmall); border-bottom: var(--border-light); &:first-of-type{ border-top: var(--border-light); @@ -34,7 +34,7 @@ align-items: center; gap: 2ch; text-decoration: none; - font-size: var(--fs-small); + font-size: var(--fs-xsmall); } .icon { width: 16px; diff --git a/assets/css/components/_newsletter-form.scss b/assets/css/components/_newsletter-form.scss deleted file mode 100644 index 8861470..0000000 --- a/assets/css/components/_newsletter-form.scss +++ /dev/null @@ -1,112 +0,0 @@ -.form__newsletter { -margin-top: calc(var(--spacing)*2); - --size: 24px; - position: relative; - display: flex; - align-items: center; - position: relative; - - max-width: var(--max-w-content); - margin-inline: auto; -} -.form__newsletter input[type=email] { - height: calc(var(--h-block) * 1.5); - width: 100%; - border-radius: calc(var(--h-block) * 0.75); - outline: none; - border: none; - padding: 0 2ch; - font-family: var(--font); - font-size: var(--fs-normal); - z-index: 40; - padding-top: 4px; - border: 1px solid var(--color-txt); - background-color: white; - - font-family: var(--font); - font-size: var(--fs-normal); - font-weight: 500; - color: black; - - &::-moz-placeholder, - &::placeholder { - font-family: var(--font); - font-size: var(--fs-normal); - font-weight: 500; - color: black!important; -} - -} - -.form__newsletter input[type=email]:focus { - outline: 3px solid var(--grey-400); -} -.form__newsletter button[type=submit] { - position: absolute; - right: 2px; - z-index: 100; - --size: calc(var(--h-block)*1.5 - 4px); - font-family: var(--font); - font-size: var(--fs-button-bold); - height: var(--size); - display: flex; - align-items: center; - gap: 0.75ch; - color: var(--color-accent); - font-weight: var(--fw-medium); - text-decoration: none; - cursor: pointer; -} -.form__newsletter button[type=submit] .icon, -.form__newsletter button[type=submit] .txt { - z-index: 10; -} -.form__newsletter button[type=submit] .icon { - width: var(--size); - height: var(--size); - display: flex; - align-items: center; - justify-content: center; - color: var(--color-bg); - text-align: center; -} -.form__newsletter button[type=submit] .icon svg { - fill: var(--color-bg); - width: 80%; -} -.form__newsletter button[type=submit] .txt { - position: relative; - top: 2px; - font-size: var(--fs-normal); - display: none; - padding-left: 1ch; -} -.form__newsletter button[type=submit]::after { - content: ""; - display: block; - background-color: var(--color-accent); - border-radius: calc(var(--size) / 2); - width: var(--size); - height: var(--size); - position: absolute; - right: 0; - z-index: 0; - transition: width 0.2s; -} -.form__newsletter button[type=submit]:hover .txt { - color: var(--color-bg); - display: block; -} -.form__newsletter button[type=submit]:hover::after { - width: 100%; -} - - -[data-template="newsletter"]{ - - .details p{ - font-size: var(--fs-xsmall); - margin-top: calc(var(--spacing)*1); - } - -} \ No newline at end of file diff --git a/assets/css/components/_slider-before-after.scss b/assets/css/components/_slider-before-after.scss index 6f86fd3..149bb34 100644 --- a/assets/css/components/_slider-before-after.scss +++ b/assets/css/components/_slider-before-after.scss @@ -1,80 +1,86 @@ -.slider-before-after { - width: 100%; - max-width: 700px; - z-index: 300; - display: grid; - place-content: center; - position: relative; - overflow: hidden; - --position: 50%; +.slider-before-after{ - img { - display: block; - max-width: 100%; - } - - .image-container { - position: relative; width: 100%; - // max-width: 800px; - // max-height: 90vh; - // aspect-ratio: 1/1; - } - .slider-image { - width: 100%; - height: 100%; - object-fit: cover; - object-position: left; - } - - .image-before { - position: absolute; - inset: 0; - width: var(--position); - } - - .slider { - position: absolute; - inset: 0; - cursor: pointer; - opacity: 0; - /* for Firefox */ - width: 100%; - height: 100%; - } - - .slider:focus-visible ~ .slider-button { - outline: 5px solid black; - outline-offset: 3px; - } - - .slider-line { - position: absolute; - inset: 0; - width: 0.2rem; - height: 100%; - background-color: #fff; - /* z-index: 10; */ - left: var(--position); - transform: translateX(-50%); - pointer-events: none; - } - - .slider-button { - position: absolute; - background-color: #fff; - color: black; - padding: 0.5rem; - border-radius: 100vw; + max-width: 700px; + z-index: 300; display: grid; - place-items: center; - top: 50%; - left: var(--position); - transform: translate(-50%, -50%); - pointer-events: none; - /* z-index: 100; */ - box-shadow: 1px 1px 1px hsl(0, 50%, 2%, 0.5); - } -} + place-content: center; + position: relative; + overflow: hidden; + --position: 50%; + + img { + display: block; + max-width: 100%; + } + + + .image-container { + position: relative; + width: 100%; + // max-width: 800px; + // max-height: 90vh; + // aspect-ratio: 1/1; + } + + + + .slider-image { + width: 100%; + height: 100%; + object-fit: cover; + object-position: left; + } + + .image-before { + position: absolute; + inset: 0; + width: var(--position); + } + + .slider { + position: absolute; + inset: 0; + cursor: pointer; + opacity: 0; + /* for Firefox */ + width: 100%; + height: 100%; + } + + .slider:focus-visible ~ .slider-button { + outline: 5px solid black; + outline-offset: 3px; + } + + .slider-line { + position: absolute; + inset: 0; + width: .2rem; + height: 100%; + background-color: #fff; + /* z-index: 10; */ + left: var(--position); + transform: translateX(-50%); + pointer-events: none; + } + + .slider-button { + position: absolute; + background-color: #fff; + color: black; + padding: .5rem; + border-radius: 100vw; + display: grid; + place-items: center; + top: 50%; + left: var(--position); + transform: translate(-50%, -50%); + pointer-events: none; + /* z-index: 100; */ + box-shadow: 1px 1px 1px hsl(0, 50%, 2%, .5); + } + +} \ No newline at end of file diff --git a/assets/css/components/_summary-hero.scss b/assets/css/components/_summary-hero.scss new file mode 100644 index 0000000..b7a5168 --- /dev/null +++ b/assets/css/components/_summary-hero.scss @@ -0,0 +1,136 @@ + #summary__hero{ + width: 100%; + position: relative; + left: 0; + + + figcaption{ + color: var(--color-txt-light); + font-size: var(--fs-small); + @media #{$x-small}{ font-size: var(--fs-xsmall); } + padding: calc(var(--spacing)*0.5) var(--padding-body); + padding-bottom: 0; + + + } + + figure{ + width: 100%; + position: relative; + img{ + width: 100%; + aspect-ratio: 2/1; + object-fit: cover; + } + } + + .swiper-slide{ + position: relative; + } + + .swiper-button-prev, .swiper-button-next{ + --swiper-navigation-sides-offset: 32px; + --swiper-navigation-size: 32px; + + @media #{$x-small}{ + --swiper-navigation-sides-offset: 15px; + --swiper-navigation-size: 15px; + } + opacity: 0.8; + + // Position buttons relative to the image (16/9 aspect ratio) + // Calculate: 50% of image height = 50% * (9/16) of width + // Image is 100vw wide, so center at: (100vw * 9/16) / 2 + top: calc(100vw * 9 / 2 - var(--swiper-navigation-size)*0.5); + margin-top: 0; + + svg{ color: white; } + } + + .swiper-pagination{ + position: static; + margin-top: calc(var(--spacing)*0.5); + padding: 0 var(--padding-body); + text-align: center; + + .swiper-pagination-bullet{ + width: 15px; + height: 4px; + border-radius: 2px; + background: var(--color-txt-light); + // opacity: 0.4; + } + + .swiper-pagination-bullet-active{ + background: var(--color-txt); + opacity: 0.8; + } + } + + + .player-container{ + width: 100%; + position: relative; + aspect-ratio: 2/1; + + .extract, video{ + width: 100%; + height: 100%; + object-fit: cover; + position: relative; + } + + + + .video-full{ + width: 100%; + height: 100%; + iframe{ + width: 100%; + height: 100%; + } + display: none; + } + + #hero-play-video{ + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + text-transform: uppercase; + display: flex; + align-items: center; + justify-content: center; + + + .btn--bold{ + display: flex; + align-items: center; + justify-content: center; + gap: 1ch; + padding: 0 1ch; + opacity: 0.8; + &:hover{ + opacity: 1; + } + } + + .text{ + color: black; + line-height: 1; + padding-top: 4px; + } + + svg{ + width: 18px; + height: 18px; + fill: black; + opacity: 0.8; + } + } + + } + + + } \ No newline at end of file diff --git a/assets/css/components/_support-bar.scss b/assets/css/components/_support-bar.scss deleted file mode 100644 index 29fab46..0000000 --- a/assets/css/components/_support-bar.scss +++ /dev/null @@ -1,63 +0,0 @@ -#support-bar { - height: var(--header-h); - background-color: var(--color-accent); - color: var(--color-bg); - padding: 0 var(--padding-body); - - - - .support-bar__container { - max-width: var(--max-w-cards); - margin: 0 auto; - - height: 100%; - display: flex; - - @media #{$small-up} { - - align-items: center; - justify-content: space-between; - gap: 2ch; - } - - @media #{$small} { - flex-direction: column; - font-size: var(--fs-small); - line-height: 1.1; - align-items: flex-start; - justify-content: center; - } - - } - - .baseline { - text-transform: uppercase; - font-weight: 500; - - } - - .btn { - text-transform: uppercase; - color: var(--color-bg); - font-weight: 500; - text-decoration: underline; - text-underline-offset: 2px; - word-wrap: nowrap; - white-space: nowrap; - - &:hover { - opacity: 0.7; - } - } - - - @media #{$small} { - height: auto; - padding: calc(var(--spacing)*0.75) var(--padding-body); - .btn{ - margin-top: calc(var(--spacing)*0.75); - } - } - - -} \ No newline at end of file diff --git a/assets/css/components/_swiper.scss b/assets/css/components/_swiper.scss index 72933e8..d5e709d 100644 --- a/assets/css/components/_swiper.scss +++ b/assets/css/components/_swiper.scss @@ -1,14 +1,49 @@ .swiper { - width: 100%!important; - min-width: 0; + + --slide-padding: 30px; + .swiper-button-prev, - .swiper-button-next{ + .swiper-button-next { + --swiper-navigation-size: 32px; color: var(--color-txt); - svg { - width: 20px; + background-color: var(--color-bg); + height: 100%; + width: var(--slide-padding); + top: 0px!important; + height: calc(100% - var(--spacing)*1); + // background-color: red; + + svg { + width: 14px; } + + &.swiper-button-disabled { + opacity: 1; + + svg { + opacity: 0.05; + } + } + } + + .swiper-button-prev { + left: 0px!important; + top: 0px; + justify-content: flex-start; + } + + .swiper-button-next { + right: 0px!important; + top: 0px; + justify-content: flex-end; + + } + + .swiper-slide { + padding-left: var(--slide-padding); + padding-right: var(--slide-padding); } .swiper-pagination { @@ -28,28 +63,15 @@ } } + @media #{$x-small} { - .swiper-wrapper { - height: max-content; - align-items: center; + .swiper-button-prev, + .swiper-button-next { + display: none; + } + + .swiper-slide { + padding: 0px; + } } - - .swiper-slide { - height: auto; - display: flex; - align-items: center; - justify-content: center; - } - - // @media #{$x-small} { - - // .swiper-button-prev, - // .swiper-button-next { - // display: none; - // } - - // .swiper-slide { - // padding: 0px; - // } - // } } \ No newline at end of file diff --git a/assets/css/components/_tags.scss b/assets/css/components/_tags.scss new file mode 100644 index 0000000..2bdcbf5 --- /dev/null +++ b/assets/css/components/_tags.scss @@ -0,0 +1,25 @@ +.category{ + height: calc(var(--h-block)*0.75); + // border-radius: calc(var(--h-block)*0.75/2); + border-radius: var(--radius-small); + + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0 1ch; + padding-top: 3px; + + font-size: var(--fs-xsmall); + line-height: 1; + font-weight: 500; + + background-color: var(--color-txt); + color: var(--color-bg); + + overflow: hidden; + white-space: nowrap; + +} + + + diff --git a/assets/css/components/_text.scss b/assets/css/components/_text.scss index c143ca8..e69de29 100644 --- a/assets/css/components/_text.scss +++ b/assets/css/components/_text.scss @@ -1,98 +0,0 @@ -[data-template="package"] .page__content, -.main__single .page__content, -#investigation__content { - font-size: var(--fs-text); - - p, - li, - ul { - font-size: var(--fs-text); - } - - h3, - h4, - h5 { - font-weight: 500; - max-width: var(--max-w-content); - margin-inline: auto; - } - - h3 { - margin-top: calc(var(--spacing) * 4); - margin-bottom: calc(var(--spacing) * 2); - font-size: 1.45em; - text-transform: uppercase; - } - - h4 { - margin-top: calc(var(--spacing) * 3); - margin-bottom: calc(var(--spacing) * 1.5); - font-size: 1.2em; - text-transform: uppercase; - } - - h5 { - margin-top: calc(var(--spacing) * 1.5); - margin-bottom: calc(var(--spacing) * 1); - font-size: 1.2em; - text-decoration: 1px underline var(--grey-600); - text-underline-offset: 5px; - } - - p { - margin: calc(var(--spacing) * 0.75) 0; - } - - ul { - padding-left: 3ch; - - li { - margin: calc(var(--spacing) * 0.5) 0; - } - } - - video, - figure, - img:not(.slider-before-after img), - picture { - width: 100%; - height: auto; - } - - .insert { - max-width: var(--max-w-cards); - margin-inline: auto; - border: 1px solid var(--grey-600); - padding: calc(var(--padding-inner) * 3); - @media #{$small} { - padding: calc(var(--padding-inner) * 1); - } - background-color: var(--grey-800); - - .insert--inner { - max-width: var(--max-w-content); - margin-inline: auto; - } - - h3, - h4, - h5 { - margin-top: 0; - @media #{$small} { - margin-top: calc(var(--spacing) * 0.5); - margin-bottom: calc(var(--spacing) * 0.75); - } - } - } - - & > .insert, - & > .swiper, - & > .slider-before-after, - & > figure { - margin-top: calc(var(--spacing) * 2); - margin-bottom: calc(var(--spacing) * 2); - & + .caption { - margin-top: calc(var(--spacing) * -1.5) !important; - } - } -} diff --git a/assets/css/panel.css b/assets/css/panel.css deleted file mode 100644 index 05c98b0..0000000 --- a/assets/css/panel.css +++ /dev/null @@ -1,68 +0,0 @@ -/* Executive - Regular */ -@font-face { - font-family: "Executive"; - src: url("../fonts/Executive-55Regular.woff") format("woff"); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: "Executive"; - src: url("../fonts/Executive-56Italic.woff") format("woff"); - font-weight: normal; - font-style: italic; -} - -@font-face { - font-family: "Executive"; - src: url("../fonts/Executive-65Medium.woff") format("woff"); - font-weight: 500; - font-style: normal; -} - -@font-face { - font-family: "Executive"; - src: url("../fonts/Executive-66MediumIt.woff") format("woff"); - font-weight: 500; - font-style: italic; -} - -:root { - --font: "Executive", Arial, Helvetica, sans-serif; - --color-green: #00ff00; -} - -body * { - font-family: var(--font); -} - -.k-login-dialog::before { - content: ""; - text-align: center; - height: 7rem; - background-image: url("data:image/svg+xml,%3Csvg%20width%3D%22200px%22%20viewBox%3D%220%200%20162%2029%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20xml%3Aspace%3D%22preserve%22%20xmlns%3Aserif%3D%22http%3A%2F%2Fwww.serif.com%2F%22%20style%3D%22fill%3A%20%23fff%22%3E%3Ctitle%3EIndex.ngo%3C%2Ftitle%3E%3Cg%20transform%3D%22matrix(1.04516%2C0%2C0%2C0.659091%2C57.4839%2C-6.59091)%22%3E%3Crect%20x%3D%22-55%22%20y%3D%2210%22%20width%3D%22155%22%20height%3D%2244%22%20style%3D%22fill%3Anone%3B%22%3E%3C%2Frect%3E%3CclipPath%20id%3D%22_clip1%22%3E%3Crect%20x%3D%22-55%22%20y%3D%2210%22%20width%3D%22155%22%20height%3D%2244%22%3E%3C%2Frect%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23_clip1)%22%3E%3Cg%20transform%3D%22matrix(0.95679%2C0%2C0%2C1.51724%2C-55%2C10)%22%3E%3Cpath%20d%3D%22M162%2C29L148.198%2C29L141.174%2C20.767L134.15%2C29L91.184%2C29L91.184%2C0.004L120.653%2C0.004L120.653%2C7.351L102.637%2C7.351L102.637%2C10.867L120.137%2C10.867L120.137%2C18.13L102.637%2C18.13L102.637%2C21.606L120.926%2C21.606L120.926%2C28.951L134.273%2C14.414L120.807%2C0L134.56%2C0L141.388%2C7.767L147.76%2C0L161.201%2C0L148.236%2C13.79L161.996%2C28.997L162%2C29ZM68.58%2C29L54.224%2C29L54.224%2C0.004L68.637%2C0.004C74.672%2C0.004%2078.31%2C0.004%2082.046%2C2.045C86.259%2C4.379%2088.674%2C8.889%2088.674%2C14.417C88.674%2C19.406%2086.862%2C23.405%2083.427%2C25.975C79.463%2C29%2075.345%2C29%2068.58%2C29ZM49.819%2C29L38.775%2C29L31.499%2C19.815C29.746%2C17.735%2028.088%2C15.545%2027.307%2C14.495C27.387%2C15.813%2027.524%2C17.238%2027.524%2C20.499L27.524%2C29L15.965%2C29L15.965%2C0.004L27.009%2C0.004L33.798%2C8.349C36.223%2C11.121%2037.709%2C12.993%2038.393%2C13.881C38.347%2C12.615%2038.26%2C9.911%2038.26%2C6.84L38.26%2C0.004L49.819%2C0.004L49.819%2C29ZM11.559%2C29L0%2C29L0%2C0.004L11.559%2C0.004L11.559%2C29ZM65.784%2C21.818L67.904%2C21.818C70.918%2C21.818%2073.067%2C21.818%2074.728%2C20.531C76.074%2C19.491%2076.845%2C17.308%2076.845%2C14.541C76.845%2C11.526%2076.084%2C9.541%2074.525%2C8.476C72.895%2C7.411%2071.461%2C7.224%2067.578%2C7.224L65.784%2C7.224L65.784%2C21.818Z%22%20style%3D%22fill-rule%3Anonzero%3B%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E"); - background-repeat: no-repeat; - background-position: 50% 50%; - background-size: 100%; - display: grid; - place-items: flex-end; - justify-content: center; - margin: 0 var(--dialog-padding); -} - -.k-login-dialog .k-dialog-body { - padding-top: 0; -} - -.k-button[data-theme^="green"]:not(.k-page-status-icon-option), -.k-button[data-theme^="positive"]:not(.k-page-status-icon-option) { - background-color: var(--color-green); -} -.k-button[data-theme^="green"] .k-icon:not([data-type="status-listed"]), -.k-button[data-theme^="positive"] .k-icon:not([data-type="status-listed"]) { - color: #000; -} - -.k-icon[data-type="status-listed"] { - color: var(--color-green); -} diff --git a/assets/css/partials/_main-layout.scss b/assets/css/partials/_main-layout.scss index adeaf22..1c7aa30 100644 --- a/assets/css/partials/_main-layout.scss +++ b/assets/css/partials/_main-layout.scss @@ -12,22 +12,21 @@ body{ flex-grow: 1; padding: 0 var(--padding-body); padding-top: var(--header-h); - padding-bottom: calc(var(--spacing)*6); + padding-bottom: calc(var(--spacing)*2); - // min-height: 100dvh; - // min-height: 100vh; + min-height: 100dvh; + min-height: 100vh; + .page__header, .page__content{ max-width: var(--max-w-cards); margin-inline: auto; } - - .page__header{ - max-width: var(--max-w-cards); - margin-inline: auto; - } } + + + } \ No newline at end of file diff --git a/assets/css/partials/_page-aside.scss b/assets/css/partials/_page-aside.scss deleted file mode 100644 index a902d83..0000000 --- a/assets/css/partials/_page-aside.scss +++ /dev/null @@ -1,20 +0,0 @@ -.package__section, -.page__aside{ - max-width: var(--max-w-cards); - margin-inline: auto; - padding-top: calc(var(--spacing)*4); - @media #{$small} { - padding-top: calc(var(--spacing)*3); - } - - .section__title, - .aside__title{ - font-weight: 500; - text-transform: uppercase; - margin-bottom: calc(var(--spacing)*1); - font-size: 1.2em; - @media #{$small} { - font-size: var(--fs-normal); - } - } - } diff --git a/assets/css/partials/_page-header.scss b/assets/css/partials/_page-header.scss index 1a3d498..2ceddfb 100644 --- a/assets/css/partials/_page-header.scss +++ b/assets/css/partials/_page-header.scss @@ -1,19 +1,38 @@ +.page__type{ + + height: calc(var(--h-block)*1); + border-radius: var(--radius-small); + border: var(--border-medium); + + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0 1.5ch; + padding-top: 5px; + + font-size: var(--fs-small); + + background-color: var(--color-bg); + color: var(--color-txt-light); + font-weight: 500; + + overflow: hidden; + white-space: nowrap; + text-transform: uppercase; + +} + main .page__header { margin-top: calc(var(--spacing) * 3); margin-bottom: calc(var(--spacing) * 2); - @media #{$small} { - margin-top: calc(var(--spacing) * 1); + margin-top: calc(var(--spacing) * 2); } - .page__type{ -margin-bottom: calc(var(--spacing) * 1); - } - .page__title { max-width: var(--max-w-content); text-transform: uppercase; @@ -21,79 +40,20 @@ margin-bottom: calc(var(--spacing) * 1); font-size: var(--fs-medium); font-weight: 500; line-height: var(--leading-title); - margin-bottom: calc(var(--spacing) * 2); - - @media #{$small-up} { + margin-top: calc(var(--spacing) * 1); + margin-bottom: calc(var(--spacing) * 1.5); text-wrap: balance; - } - - @media #{$small} { - margin-bottom: calc(var(--spacing) * 1); - } } - .page__cover{ - margin-top: calc(var(--spacing) * 2); - } - - .date{ - display: block; - margin-top: calc(var(--spacing) * -1.5); - margin-bottom: calc(var(--spacing) * 2); - color: var(--color-txt-light); - @media #{$small} { - margin-bottom: calc(var(--spacing) * 1); - margin-top: calc(var(--spacing) * -0.75); - } - } - - .page__description { + .description { font-size: var(--fs-text); - margin-bottom: calc(var(--spacing) * 3); - @media #{$small} { - margin-bottom: calc(var(--spacing) * 1.5); - } - max-width: var(--max-w-content); + margin-bottom: calc(var(--spacing) * 3); } - ul.list-nav{ - display: flex; - // justify-content: space-between; - flex-wrap: wrap; - // gap: 3ch; - list-style: none; - margin-top: calc(var(--spacing) * -1.5); - @media #{$small} { - margin-top: calc(var(--spacing) * -0.5); - } - color: var(--color-txt-light); - - li{ - white-space: nowrap; - margin-right: 2ch; - &:last-of-type{ - margin-right: 0; - } - @media #{$small} { - width: 12ch; - } - margin-bottom: calc(var(--spacing) * 0.25); - } - - a{ - text-decoration: none; - text-transform: lowercase; - &::after{ - content: " ↓"; - } - } - li:hover{ - color: var(--color-txt) - } - - } - - - + // .description-medium{ + // font-size: var(--fs-medium); + // max-width: 58ch; + // line-height: 1.1; + // } } diff --git a/assets/css/partials/_site-footer.scss b/assets/css/partials/_site-footer.scss index 432957e..63dd38c 100644 --- a/assets/css/partials/_site-footer.scss +++ b/assets/css/partials/_site-footer.scss @@ -1,146 +1,116 @@ -#site-footer { +#site-footer{ - + background-color: var(--dark); + padding: calc(var(--padding-body)*2) var(--padding-body); + z-index: 500; - - background-color: var(--dark); - padding: calc(var(--spacing)*2) var(--padding-body) calc(var(--spacing)*1) var(--padding-body); - z-index: 500; - - .site-footer__container { + .site-footer__container{ max-width: var(--max-w-cards); margin: 0 auto; - - font-size: var(--fs-small); + padding: 0 var(--padding-body); } - - - .logo { - // margin-top: calc(var(--spacing)*0.25); - margin-bottom: calc(var(--spacing)*0.5); - - svg { + .logo { + margin-top: calc(var(--spacing)*0.25); + margin-bottom: calc(var(--spacing)*1); + svg{ width: 100px; } - } + } - .baseline{ - max-width: 40ch; - } - - .list-links { - - - ul { - list-style: none; - - li { - margin-bottom: calc(var(--spacing)*0.25); - } - - a { - text-decoration: none; - } - - li:hover a { - text-decoration: underline; - } + p{ + margin: calc(var(--spacing)*0.5) 0; + font-size: var(--fs-small); + a{ + text-decoration: none; + &:hover{ + text-decoration: underline; + color: currentColor; } + } + } - .hightlight { - text-transform: uppercase; - font-weight: 500; + .p__small{ + font-size: var(--fs-xsmall); + color: var(--grey-600); + } + + .footer__mentions{ + p{ + font-size: var(--fs-xsmall); + color: var(--color-txt) } } + .footer__socials > p{ + font-weight: 500; + + } + + @media #{$small}{ + + + .footer__socials{ + margin-top: calc(var(--spacing)*0.75); + padding-top: calc(var(--spacing)*0.25); + border-top: var(--border-light); + - // @media #{$medium} { - - - // } - - @media #{$small-up} { - .site-footer__container { - display: grid; - grid-template-columns: 1fr 350px; - column-gap: calc(var(--padding-inner)*2); - - .logo{ grid-column: span 2;} - .baseline{ - grid-column: 1; - grid-row: 2; - } - .list-links{ - grid-column: 2; - grid-row: 2; - max-width: 350px; - display: flex; - justify-content: space-between; - gap: var(--padding-inner); - - - - li { - // margin-bottom: calc(var(--spacing)*1); - } - } - .socials{ - grid-column: 1; - grid-row: 3; - } - - - .credits { - font-size: var(--fs-xsmall); - grid-column: 1; - grid-row: 4; - margin-top: calc(var(--spacing)*2); - } + .list-socials{ + margin-top: calc(var(--spacing)*0.5); + margin-bottom: calc(var(--spacing)*0.75); } - - - - - } - - @media #{$small} { - - .list-links { - margin-top: calc(var(--spacing)*1); - // li { - // margin-bottom: calc(var(--spacing)*0.25); - // } - - .hightlight { - margin-top: calc(var(--spacing)*0.5); - } - } - - - - .socials { - margin-top: calc(var(--spacing)*1); - } - - .credits { - margin-top: calc(var(--spacing)*2); - } - - - - } - - @media #{$x-small} { - .credits { + .footer__mentions{ + + border-top: var(--border-light); + padding-top: calc(var(--spacing)*0.25); + p{ + font-size: 12px; text-align: center; } - } + } + + .p__small{ + font-size: 12px; + } + } + @media #{$small-up}{ + + .site-footer__container{ + display: grid; + grid-template-columns: 3fr 2fr; + column-gap: calc(var(--spacing)*2); + } + + .footer__newsletter{ + grid-column: 1; + grid-row: 2; + } + + .footer__socials{ + grid-column: 2; + grid-row: 2; + } + + .footer__socials .socials{ + columns: 2; + margin-top: calc(var(--spacing)*1); + } + + .footer__mentions{ + grid-column: span 2; + p{ + margin-top: calc(var(--spacing)*1); + } + + } + + } } \ No newline at end of file diff --git a/assets/css/partials/_site-header.scss b/assets/css/partials/_site-header.scss index 5235eb8..e9c4c11 100644 --- a/assets/css/partials/_site-header.scss +++ b/assets/css/partials/_site-header.scss @@ -1,4 +1,5 @@ #site-header { + z-index: var(--z-header); --gap: 3ch; @@ -11,249 +12,118 @@ background-color: var(--color-bg); padding: 0 var(--padding-body); - box-shadow: -1px 4px 10px 0px var(--color-bg); + box-shadow: -1px 4px 10px 0px var(--color-bg); - .site-header__inner { + .site-header__inner{ width: 100%; height: 100%; + // border-bottom: 1px solid var(--color-bg); + // transition: border-color ease-in .5s; display: flex; align-items: center; justify-content: space-between; - gap: calc(var(--gap) * 0.25); + gap: var(--gap); } - a { + + a{ text-decoration: none; - &:hover { + &:hover{ color: var(--grey-200); } } + #site-title { - position: relative; - top: -3px; - width: 140px; - - svg { + flex-grow: 2; + // opacity: 0; + svg{ width: 100px; - } - - @media #{$small} { - svg { + @media #{$small}{ width: 80px; } - top: -4px; } } - #nav-highlight, - #nav-investigation { + .header__title-page{ + display: none; flex-grow: 2; - ul { - width: 100%; - display: flex; - align-items: center; - justify-content: center; - gap: var(--gap); - list-style-type: none; - - li { - white-space: nowrap; - } - } - } - - #nav-highlight ul { - font-weight: 500; + text-align: left; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; text-transform: uppercase; - - @media #{$medium} { - font-size: var(--fs-small); - } - @media screen and (max-width: 890px) { - justify-content: flex-end; - padding-right: 2ch; - - li { - display: none; - } - li.support { - display: block; - } - } + font-size: var(--fs-small); + line-height: 2; + } - #nav-investigation { - position: absolute; - // transition: top var(--transition-scroll); - top: 10%; - left: 0; + ul{ + list-style-type: none; display: flex; - opacity: 0; - // transform: translateY(-10px); - transition: top 0.3s ease; - pointer-events: none; - - min-width: 0; - - .title { - text-transform: uppercase; - font-size: var(--fs-small); - font-weight: 500; - - max-width: 100%; - min-width: 0; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - padding-left: 2ch; - padding-right: 2ch; - text-align: center; - color: var(--color-txt-light); - } - - @media #{$medium} { - ul { - font-size: var(--fs-small); - padding-left: 6ch; - padding-right: 6ch; - } - } - - li { - color: var(--color-txt-light); - transition: color 0.3s ease; - } - - li.is-selected { - color: var(--color-txt); - &:hover { - color: var(--color-txt); - pointer-events: none; - a:hover { - color: var(--color-txt); - } - } - } + align-items: center; + gap: var(--gap); + text-transform: uppercase; + font-weight: 500; } - #theme-toggle { + + #theme-toggle{ width: var(--h-block); height: var(--h-block); display: flex; align-items: center; justify-content: center; - svg { + svg{ width: 18px; position: relative; top: -2px; + } } - #lang-toggle { + #lang-toggle{ display: flex; - gap: 0.75ch; - padding-right: 1.5ch; - a { - font-size: var(--fs-small); + gap: 1ch; + button{ font-weight: 500; } - button:disabled { - color: var(--color-txt-light); - } + button:disabled{ color: var(--color-txt-light); } } - #menu-toggle { + #menu-toggle{ cursor: pointer; - svg { + svg{ width: 30px; fill: var(--color-txt); } - .close { - display: none; + .close{ display: none; } + + } + + button{ + + &:hover{ + svg{ fill: var(--grey-200)!important; } } } - button { - &:hover { - svg { - fill: var(--grey-200) !important; - } - } - } } -// Animation, change header -#site-header.has-nav-investigation { - #nav-highlight { - display: none; - } - #nav-investigation { - position: relative; - opacity: 1; - transform: translateY(0); - top: 0px; - pointer-events: auto; - } + +#site-header.is-visible{ + // .site-header__inner{ + // border-color: var(--grey-800); + // } } -@media #{$small-up} { - #site-header #nav-investigation .title { + +@media #{$medium}{ + #nav-highlight{ display: none; } } -@media #{$small} { - #site-header #nav-highlight ul { - display: none; - } - #site-header #nav-investigation .title { - display: none; - } - - #site-header.has-nav-investigation { - #nav-investigation { - ul { - display: none; - } - .title { - display: block; - } - } - } -} - -// @media #{$x-small}{ -// #site-header.has-nav-investigation{ -// #nav-investigation{ -// .title{ display: none; } -// } -// } - -// } - -// @media #{$x-small}{ -// [data-template="investigation"] #site-header{ - -// #lang-toggle{ display: none; } -// #theme-toggle{ padding-right: 1ch; } -// #nav-investigation .title{ -// font-size: var(--fs-xsmall); -// } -// } -// } - -// Quand le menu est ouvert : on dimme tout sauf le logo -body.menu-open #site-header { - cursor: pointer; - - #nav-highlight, - #nav-investigation { - opacity: 0.15; - pointer-events: none; - transition: opacity 0.3s ease-in; - } -} diff --git a/assets/css/partials/_site-menu.scss b/assets/css/partials/_site-menu.scss index 2735055..b1350b7 100644 --- a/assets/css/partials/_site-menu.scss +++ b/assets/css/partials/_site-menu.scss @@ -19,15 +19,8 @@ right: -100vw; } - - .site-menu__inner{ - height: 100%; - overflow: scroll; - @include hide-scroll(); - - } - // display: flex; - // flex-direction: column; + display: flex; + flex-direction: column; .search-form{ @@ -35,73 +28,45 @@ margin-bottom: calc(var(--spacing)*1); } - - nav{ - margin-top: calc(var(--spacing)*1.5); - ul{ + flex-grow: 1; + ul{ list-style-type: none; - li{ - margin-bottom: calc(var(--spacing)*0.5); - } - a{ - text-decoration: none; - font-weight: 500; - } - } - - } - - #nav-pages{ - li{ text-transform: uppercase; + font-weight: 500; + li{ + font-size: var(--fs-normal); + a{ + display: block; + text-decoration: none; + padding: 0.5em 0; + &:hover{ + text-decoration: underline; + } + } + } + + .highlight{ + text-transform: uppercase; + } } - } - .support{ - text-transform: uppercase; - } - - #nav-aside{ - margin-top: calc(var(--spacing)*1); - } - - - .socials{ - margin-top: calc(var(--spacing)*2); padding-bottom: calc(var(--spacing)*0.75); } } -#menu-overlay{ - position: fixed; - inset: 0; - z-index: calc(var(--z-header) - 2); - cursor: pointer; - background-color: rgba(0, 0, 0, 0.4); - opacity: 0; - visibility: hidden; - pointer-events: none; - transition: opacity .3s ease-in, visibility .3s ease-in; -} - body.menu-open{ #site-menu{ right: 0; + } #menu-toggle{ .open{ display: none; } .close{ display: block!important; } } - - #menu-overlay{ - opacity: 1; - visibility: visible; - pointer-events: auto; - } - + } \ No newline at end of file diff --git a/assets/css/style.css b/assets/css/style.css index 47854d3..b9d848f 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -11,7 +11,6 @@ --fs-button-bold: 22px; --max-w-content: 700px; --max-w-cards: 940px; - --max-w-site: 1600px; --z-header: 2000; --panel-w: 310px; } @@ -24,7 +23,7 @@ :root { --leading-tight: 1.05; --leading-normal: 1.3; - --leading-title: 1.2; + --leading-title: 1.1; --fw-normal: 400; --fw-medium: 500; --fw-bold: 600; @@ -57,15 +56,14 @@ --spacing: 30px; --h-block: 30px; --curve: cubic-bezier(0.175, 0.885, 0.32, 1.275); - --transition-scroll: .5s ease-in-out; } @media screen and (max-width: 768px) { :root { - --fs-xsmall: 12px; - --fs-small: 14px; - --fs-normal: 18px; - --fs-text: 18px; + --fs-xsmall: 13px; + --fs-small: 16px; + --fs-normal: 20px; + --fs-text: 20px; --fs-medium: 24px; --fs-big: 34px; --header-h: 60px; @@ -83,7 +81,6 @@ --color-bg: #efefef; --color-txt: #161616; --color-txt-light: var(--grey-400); - --border-light: 1px solid var(--grey-800); --color-accent: #ff00ff; --color-accent-50: #ffe9ff; --color-accent-100: #fdd8fd; @@ -138,11 +135,8 @@ img { cursor: pointer; } -.swiper-button-next, -.swiper-button-prev, -body, -#site-header, -#site-footer { +.swiper-button-next, .swiper-button-prev, +body, #site-header, #site-footer { transition: background-color 0.3s ease, color 0.3s ease; } @@ -150,6 +144,14 @@ body.menu-open, body.is-hidden { overflow-y: hidden; } +body.menu-open main, body.menu-open footer, body.menu-open #nav-highlight, body.menu-open .btn--back-to-top, +body.is-hidden main, +body.is-hidden footer, +body.is-hidden #nav-highlight, +body.is-hidden .btn--back-to-top { + transition: opacity 0.3s ease-in; + opacity: 0.1; +} #site-header { z-index: var(--z-header); @@ -169,7 +171,7 @@ body.is-hidden { display: flex; align-items: center; justify-content: space-between; - gap: calc(var(--gap) * 0.25); + gap: var(--gap); } #site-header a { text-decoration: none; @@ -178,9 +180,7 @@ body.is-hidden { color: var(--grey-200); } #site-header #site-title { - position: relative; - top: -3px; - width: 140px; + flex-grow: 2; } #site-header #site-title svg { width: 100px; @@ -189,92 +189,25 @@ body.is-hidden { #site-header #site-title svg { width: 80px; } - #site-header #site-title { - top: -4px; - } } -#site-header #nav-highlight, -#site-header #nav-investigation { +#site-header .header__title-page { + display: none; flex-grow: 2; -} -#site-header #nav-highlight ul, -#site-header #nav-investigation ul { - width: 100%; - display: flex; - align-items: center; - justify-content: center; - gap: var(--gap); - list-style-type: none; -} -#site-header #nav-highlight ul li, -#site-header #nav-investigation ul li { + text-align: left; white-space: nowrap; -} -#site-header #nav-highlight ul { - font-weight: 500; - text-transform: uppercase; -} -@media screen and (max-width: 1080px) { - #site-header #nav-highlight ul { - font-size: var(--fs-small); - } -} -@media screen and (max-width: 890px) { - #site-header #nav-highlight ul { - justify-content: flex-end; - padding-right: 2ch; - } - #site-header #nav-highlight ul li { - display: none; - } - #site-header #nav-highlight ul li.support { - display: block; - } -} -#site-header #nav-investigation { - position: absolute; - top: 10%; - left: 0; - display: flex; - opacity: 0; - transition: top 0.3s ease; - pointer-events: none; - min-width: 0; -} -#site-header #nav-investigation .title { - text-transform: uppercase; - font-size: var(--fs-small); - font-weight: 500; - max-width: 100%; - min-width: 0; overflow: hidden; text-overflow: ellipsis; - white-space: nowrap; - padding-left: 2ch; - padding-right: 2ch; - text-align: center; - color: var(--color-txt-light); + text-transform: uppercase; + font-size: var(--fs-small); + line-height: 2; } -@media screen and (max-width: 1080px) { - #site-header #nav-investigation ul { - font-size: var(--fs-small); - padding-left: 6ch; - padding-right: 6ch; - } -} -#site-header #nav-investigation li { - color: var(--color-txt-light); - transition: color 0.3s ease; -} -#site-header #nav-investigation li.is-selected { - color: var(--color-txt); -} -#site-header #nav-investigation li.is-selected:hover { - color: var(--color-txt); - pointer-events: none; -} -#site-header #nav-investigation li.is-selected:hover a:hover { - color: var(--color-txt); +#site-header ul { + list-style-type: none; + display: flex; + align-items: center; + gap: var(--gap); + text-transform: uppercase; + font-weight: 500; } #site-header #theme-toggle { width: var(--h-block); @@ -290,11 +223,9 @@ body.is-hidden { } #site-header #lang-toggle { display: flex; - gap: 0.75ch; - padding-right: 1.5ch; + gap: 1ch; } -#site-header #lang-toggle a { - font-size: var(--fs-small); +#site-header #lang-toggle button { font-weight: 500; } #site-header #lang-toggle button:disabled { @@ -314,46 +245,11 @@ body.is-hidden { fill: var(--grey-200) !important; } -#site-header.has-nav-investigation #nav-highlight { - display: none; -} -#site-header.has-nav-investigation #nav-investigation { - position: relative; - opacity: 1; - transform: translateY(0); - top: 0px; - pointer-events: auto; -} - -@media screen and (min-width: 768px) { - #site-header #nav-investigation .title { +@media screen and (max-width: 1080px) { + #nav-highlight { display: none; } } -@media screen and (max-width: 768px) { - #site-header #nav-highlight ul { - display: none; - } - #site-header #nav-investigation .title { - display: none; - } - #site-header.has-nav-investigation #nav-investigation ul { - display: none; - } - #site-header.has-nav-investigation #nav-investigation .title { - display: block; - } -} -body.menu-open #site-header { - cursor: pointer; -} -body.menu-open #site-header #nav-highlight, -body.menu-open #site-header #nav-investigation { - opacity: 0.15; - pointer-events: none; - transition: opacity 0.3s ease-in; -} - button { cursor: pointer; font-family: var(--font); @@ -379,10 +275,10 @@ button:disabled { cursor: auto; } -.support a { +.soutenir a { color: var(--color-accent); } -.support a:hover { +.soutenir a:hover { color: var(--color-accent) !important; text-decoration: underline !important; } @@ -444,86 +340,44 @@ button:disabled { fill: var(--color-bg); } -.btn--simple { - height: calc(var(--h-block) * 1); - font-size: var(--fs-small); - font-weight: 500; - text-transform: uppercase; - line-height: 1; - white-space: nowrap; -} -.btn--simple .icon { - display: flex; - width: 20px; - height: 20px; -} -.btn--simple .icon svg { - width: 20px; - height: 20px; -} -.btn--simple .icon { - position: relative; - top: -2px; -} -.btn--simple a { - display: flex; - align-items: center; - justify-content: center; - gap: 1ch; - width: 100%; - height: 100%; - padding: 0 2ch; - padding-top: 4px; - white-space: nowrap; -} -.btn--simple.no-link { - display: flex; - align-items: center; - justify-content: center; - gap: 1ch; - padding: 0 2ch; - padding-top: 4px; -} - -.btn--bold { +.btn--bold, +.btn--bold-inline { display: block; height: calc(var(--h-block) * 1); border: var(--border); border-radius: var(--radius-btn); - font-size: var(--fs-small); + font-size: var(--fs-xsmall); + font-weight: 500; + text-transform: uppercase; line-height: 1; overflow: hidden; white-space: nowrap; } -.btn--bold .icon { - display: flex; - width: 12px; - height: 12px; -} -.btn--bold .icon svg { - width: 12px; - height: 12px; -} -.btn--bold svg { +.btn--bold svg, +.btn--bold-inline svg { + width: 18px; + height: 18px; position: relative; top: -1px; } -.btn--bold a { +.btn--bold a, +.btn--bold-inline a { display: flex; align-items: center; justify-content: center; gap: 1ch; width: 100%; height: 100%; - padding: 0 1.25ch; + padding: 0 2ch; padding-top: 4px; } -.btn--bold.no-link { +.btn--bold.no-link, +.btn--bold-inline.no-link { display: flex; align-items: center; justify-content: center; gap: 1ch; - padding: 0 1.25ch; + padding: 0 2ch; padding-top: 4px; } @@ -545,105 +399,22 @@ button:disabled { fill: var(--color-bg); } -.btn--see-more { - margin-top: calc(var(--spacing) * 1); - margin-inline: auto; - display: block; - height: calc(var(--h-block) * 1); - border: 1px solid var(--color-txt-light); - border-radius: var(--radius-btn); - font-size: var(--fs-small); - line-height: 1; - overflow: hidden; - white-space: nowrap; - color: var(--color-txt-light); +.btn--bold-inline { background-color: var(--color-bg); } -.btn--see-more .icon { - display: flex; - width: 12px; - height: 12px; +.btn--bold-inline svg { + fill: var(--color-txt); } -.btn--see-more .icon svg { - width: 12px; - height: 12px; -} -.btn--see-more .icon { - position: relative; - top: -2px; -} -.btn--see-more svg { - fill: var(--color-txt-light); -} -.btn--see-more a { - display: flex; - align-items: center; - justify-content: center; - gap: 1ch; - width: 100%; - height: 100%; - padding: 0 1.25ch; - padding-top: 4px; - font-size: var(--fs-small); -} -.btn--see-more:hover { +.btn--bold-inline:hover { background-color: var(--grey-950); color: var(--grey-100); border-color: var(--grey-100); } -.btn--see-more:hover a { +.btn--bold-inline:hover a { background-color: var(--grey-950); color: var(--grey-100); } -.btn--see-more:hover svg { - fill: var(--grey-100); -} - -.btn--home { - display: block; - height: calc(var(--h-block) * 1); - border: var(--border); - border-radius: var(--radius-btn); - font-size: var(--fs-small); - line-height: 1; - overflow: hidden; - white-space: nowrap; - background-color: var(--color-bg); - font-weight: 500; -} -.btn--home .icon { - display: flex; - width: 12px; - height: 12px; -} -.btn--home .icon svg { - width: 12px; - height: 12px; -} -.btn--home .icon { - position: relative; - top: -2px; -} -.btn--home a { - display: flex; - align-items: center; - justify-content: center; - gap: 1ch; - width: 100%; - height: 100%; - padding: 0 1.25ch; - padding-top: 4px; -} -.btn--home:hover { - background-color: var(--grey-950); - color: var(--grey-100); - border-color: var(--grey-100); -} -.btn--home:hover a { - background-color: var(--grey-950); - color: var(--grey-100); -} -.btn--home:hover svg { +.btn--bold-inline:hover svg { fill: var(--grey-100); } @@ -667,97 +438,42 @@ button:disabled { transform: translateX(0); } } -#btn--back-to-top { +.btn--back-to-top { + display: flex; + border-color: var(--color-txt); width: -moz-fit-content; width: fit-content; - margin-bottom: var(--spacing); - margin-left: auto; - margin-right: var(--padding-body); + margin: var(--spacing) auto; + font-size: var(--fs-xsmall); } -#btn--back-to-top a { - display: flex; - align-items: center; - gap: 1ch; - text-decoration: none; +@media screen and (max-width: 768px) { + .btn--back-to-top { + margin-bottom: calc(var(--spacing) * 2); + } } -#btn--back-to-top .text { - font-size: var(--fs-small); - padding-top: 2px; -} -#btn--back-to-top .icon { - flex-shrink: 0; - --size: 26px; - border: 1px solid var(--color-txt); - background-color: var(--color-bg); - border-radius: 50%; - width: var(--size); - height: var(--size); - transform: rotate(-90deg); - display: flex; - align-items: center; - justify-content: center; -} -#btn--back-to-top .icon svg { +.btn--back-to-top .icon { width: 12px; height: 12px; - fill: var(--color-txt); + transform: rotate(-90deg); + transform-origin: center; + position: relative; + top: -1px; } -#btn--back-to-top:hover { - opacity: 0.8; +.btn--back-to-top .icon svg { + width: 12px; + height: 12px; } -@media screen and (max-width: 560px) { - #btn--back-to-top { - opacity: 0; - transition: opacity 0.5s ease; - position: fixed; - bottom: calc(var(--padding-body) * 1.5); - right: var(--padding-body); - z-index: var(--z-header); - margin-right: 0; - margin-bottom: 0; - } - #btn--back-to-top .icon { - --size: 32px; - border-width: 2px; - } - #btn--back-to-top .icon svg { - width: 19px; - height: 19px; - } - #btn--back-to-top .text { - display: none; - } - #btn--back-to-top.is-visible { - opacity: 1; - } +.btn--back-to-top:hover { + background-color: var(--grey-950); + color: var(--grey-100); + border-color: var(--grey-100); } - -.btn--support { - color: var(--color-accent); +.btn--back-to-top:hover a { + background-color: var(--grey-950); + color: var(--grey-100); } -.btn--support:hover { - color: var(--color-accent); - text-decoration: underline; - text-underline-offset: 2px; -} - -.type { - height: calc(var(--h-block) * 0.75); - border-radius: var(--radius-small); - width: -moz-max-content; - width: max-content; - display: inline-flex; - align-items: center; - justify-content: center; - padding: 0 1ch; - padding-top: 3px; - font-size: var(--fs-xsmall); - line-height: 1; - font-weight: 500; - background-color: var(--color-txt); - color: var(--color-bg); - overflow: hidden; - white-space: nowrap; +.btn--back-to-top:hover svg { + fill: var(--grey-100); } .category { @@ -771,63 +487,10 @@ button:disabled { font-size: var(--fs-xsmall); line-height: 1; font-weight: 500; - border: var(--border-medium); - background-color: var(--color-bg); - color: var(--color-txt-light); - overflow: hidden; - white-space: nowrap; -} - -.page__category { - height: calc(var(--h-block) * 1); - border-radius: var(--radius-small); - border: var(--border-medium); - display: inline-flex; - align-items: center; - justify-content: center; - padding: 0 1.5ch; - padding-top: 5px; - font-size: var(--fs-small); - background-color: var(--color-bg); - color: var(--color-txt-light); - font-weight: 500; - overflow: hidden; - white-space: nowrap; - text-transform: uppercase; -} -@media screen and (max-width: 768px) { - .page__category { - height: calc(var(--h-block) * 0.75); - font-size: var(--fs-xsmall); - padding: 0 1ch; - padding-top: 3px; - } -} - -.page__type { - height: calc(var(--h-block) * 1); - border-radius: var(--radius-small); - margin-left: calc(var(--padding-inner) * 0.25); - display: inline-flex; - align-items: center; - justify-content: center; - padding: 0 1.5ch; - padding-top: 5px; - font-size: var(--fs-small); background-color: var(--color-txt); color: var(--color-bg); - font-weight: 500; overflow: hidden; white-space: nowrap; - text-transform: uppercase; -} -@media screen and (max-width: 768px) { - .page__type { - height: calc(var(--h-block) * 0.75); - font-size: var(--fs-xsmall); - padding: 0 1ch; - padding-top: 3px; - } } .keywords { @@ -944,72 +607,95 @@ button.sort[data-sort-type=up] .arrow { opacity: 0 !important; } } -figcaption, -.caption { - font-size: var(--fs-small) !important; - color: var(--color-txt-light); - font-weight: 500; - line-height: 1.1; - margin: calc(var(--spacing) * 0.5) 0 !important; -} - -#investigation__hero { +#summary__hero { width: 100%; - max-width: var(--max-w-cards); - margin-inline: auto; + position: relative; + left: 0; } -#investigation__hero figcaption { +#summary__hero figcaption { color: var(--color-txt-light); font-size: var(--fs-small); } @media screen and (max-width: 560px) { - #investigation__hero figcaption { + #summary__hero figcaption { font-size: var(--fs-xsmall); } } -#investigation__hero figcaption { +#summary__hero figcaption { padding: calc(var(--spacing) * 0.5) var(--padding-body); padding-bottom: 0; +} +#summary__hero figure { + width: 100%; + position: relative; +} +#summary__hero figure img { + width: 100%; + aspect-ratio: 2/1; + -o-object-fit: cover; + object-fit: cover; +} +#summary__hero .swiper-slide { + position: relative; +} +#summary__hero .swiper-button-prev, #summary__hero .swiper-button-next { + --swiper-navigation-sides-offset: 32px; + --swiper-navigation-size: 32px; +} +@media screen and (max-width: 560px) { + #summary__hero .swiper-button-prev, #summary__hero .swiper-button-next { + --swiper-navigation-sides-offset: 15px; + --swiper-navigation-size: 15px; + } +} +#summary__hero .swiper-button-prev, #summary__hero .swiper-button-next { + opacity: 0.8; + top: calc(450vw - var(--swiper-navigation-size) * 0.5); + margin-top: 0; +} +#summary__hero .swiper-button-prev svg, #summary__hero .swiper-button-next svg { + color: white; +} +#summary__hero .swiper-pagination { + position: static; + margin-top: calc(var(--spacing) * 0.5); + padding: 0 var(--padding-body); text-align: center; - max-width: var(--max-w-content); - margin-inline: auto; } -#investigation__hero figure { - width: 100%; - position: relative; +#summary__hero .swiper-pagination .swiper-pagination-bullet { + width: 15px; + height: 4px; + border-radius: 2px; + background: var(--color-txt-light); } -#investigation__hero figure img { - width: 100%; - height: auto; - aspect-ratio: 2/1; - -o-object-fit: cover; - object-fit: cover; +#summary__hero .swiper-pagination .swiper-pagination-bullet-active { + background: var(--color-txt); + opacity: 0.8; } -#investigation__hero .player-container { +#summary__hero .player-container { width: 100%; position: relative; aspect-ratio: 2/1; } -#investigation__hero .player-container .extract, -#investigation__hero .player-container video { +#summary__hero .player-container .extract, #summary__hero .player-container video { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; position: relative; } -#investigation__hero .player-container .video-full { +#summary__hero .player-container .video-full { width: 100%; height: 100%; } -#investigation__hero .player-container .video-full iframe { +#summary__hero .player-container .video-full iframe { width: 100%; height: 100%; } -#investigation__hero .player-container .video-full { +#summary__hero .player-container .video-full { display: none; } -#investigation__hero .player-container #hero-play-video { +#summary__hero .player-container #hero-play-video { position: absolute; width: 100%; height: 100%; @@ -1020,7 +706,7 @@ figcaption, align-items: center; justify-content: center; } -#investigation__hero .player-container #hero-play-video .btn--bold { +#summary__hero .player-container #hero-play-video .btn--bold { display: flex; align-items: center; justify-content: center; @@ -1028,16 +714,15 @@ figcaption, padding: 0 1ch; opacity: 0.8; } -#investigation__hero .player-container #hero-play-video .btn--bold:hover { +#summary__hero .player-container #hero-play-video .btn--bold:hover { opacity: 1; } -#investigation__hero .player-container #hero-play-video .text { +#summary__hero .player-container #hero-play-video .text { color: black; - font-weight: 500; line-height: 1; padding-top: 4px; } -#investigation__hero .player-container #hero-play-video svg { +#summary__hero .player-container #hero-play-video svg { width: 18px; height: 18px; fill: black; @@ -1189,43 +874,66 @@ figcaption, display: flex; justify-content: space-between; align-items: center; - max-width: 350px; + max-width: 400px; } .list-socials a { display: flex; align-items: center; text-decoration: none; } -.list-socials li { - --size-icon: 20px; -} -.list-socials li[data-socials=youtube] { - --size-icon: 26px; -} .list-socials .icon { - width: var(--size-icon); - height: var(--size-icon); + width: 20px; + height: 20px; position: relative; top: -2px; } .list-socials svg { display: flex; align-items: center; - width: var(--size-icon); - height: var(--size-icon); - fill: var(--color-txt); + width: 20px; + height: 20px; } -.list-socials a:hover svg { - fill: var(--color-txt-light); +.list-socials .text { + display: none; } +@media screen and (min-width: 768px) { + .footer__socials .list-socials { + display: block; + } + .footer__socials .list-socials li { + margin-bottom: calc(var(--spacing) * 0.25); + -moz-column-break-inside: avoid; + break-inside: avoid; + font-size: var(--fs-small); + } + .footer__socials .list-socials a { + gap: 1ch; + height: calc(var(--spacing) * 1); + } + .footer__socials .list-socials a::after { + content: "↗"; + color: var(--grey-300); + } + .footer__socials .list-socials a:hover { + color: var(--color-accent); + } + .footer__socials .list-socials a:hover::after { + color: var(--color-accent); + opacity: 0.5; + } + .footer__socials .list-socials .text { + display: block; + line-height: 1; + } +} .modal--share { width: 240px; padding-bottom: var(--padding-inner); background-color: var(--color-bg); } .modal--share .title { - font-size: var(--fs-small); + font-size: var(--fs-xsmall); line-height: 1.2; padding: var(--padding-inner); padding-bottom: 0px; @@ -1246,7 +954,7 @@ figcaption, list-style: none; } .modal--share .socials li { - font-size: var(--fs-small); + font-size: var(--fs-xsmall); border-bottom: var(--border-light); } .modal--share .socials li:first-of-type { @@ -1257,7 +965,7 @@ figcaption, align-items: center; gap: 2ch; text-decoration: none; - font-size: var(--fs-small); + font-size: var(--fs-xsmall); } .modal--share .socials li .icon { width: 16px; @@ -1368,6 +1076,7 @@ figcaption, position: absolute; top: 100%; left: 0; + min-width: 180px; margin-top: var(--padding-inner); background-color: var(--color-bg); border: var(--border); @@ -1376,7 +1085,7 @@ figcaption, visibility: hidden; transform: translateY(-4px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s; - z-index: calc(var(--z-header) - 100); + z-index: 100; } .dropdown__content::before { content: "◀"; @@ -1390,10 +1099,8 @@ figcaption, list-style: none; margin: 0; padding: var(--padding-inner); - min-width: 180px; } -.dropdown__content a, -.dropdown__content button { +.dropdown__content a, .dropdown__content button { display: block; width: 100%; padding: 0.75em 1ch; @@ -1405,8 +1112,7 @@ figcaption, border: none; cursor: pointer; } -.dropdown__content a:hover, -.dropdown__content button:hover { +.dropdown__content a:hover, .dropdown__content button:hover { background-color: var(--grey-800); } .dropdown--align-right .dropdown__content { @@ -1423,7 +1129,26 @@ figcaption, transform: translateY(0); } .dropdown--position-mobile .dropdown__content { - background-color: red; + top: auto; + bottom: calc(var(--h-block) + var(--padding-inner) * 2); + left: auto; + right: 0; + margin-top: 0; + margin-left: 4px; +} +.dropdown--position-mobile .dropdown__content::before { + font-family: Arial; + content: "◀"; + transform: rotate(-90deg); + font-size: 14px; + position: absolute; + top: auto; + bottom: -13px; + left: auto; + right: 10%; +} +.dropdown--position-mobile.is-open .dropdown__content { + transform: translateX(0); } @media screen and (min-width: 768px) { .dropdown--position-panel .dropdown__content { @@ -1450,203 +1175,22 @@ figcaption, @media screen and (max-width: 560px) { .dropdown .dropdown__content { width: calc(100vw - var(--padding-body) * 2); - left: auto; - right: 0; } .dropdown .dropdown__content .modal--share { width: 100%; } } -#bottom-bar .dropdown .dropdown__content { - top: auto; - bottom: calc(var(--h-block) + var(--padding-inner) * 2); - left: auto; - right: 0; - margin-top: 0; - margin-left: 4px; -} -#bottom-bar .dropdown .dropdown__content::before { - font-family: Arial; - content: "◀"; - transform: rotate(-90deg); - font-size: 14px; - position: absolute; - top: auto; - bottom: -13px; - left: auto; - right: 10%; -} -@media screen and (max-width: 560px) { - #bottom-bar .dropdown .dropdown__content::before { - left: 20%; - right: auto; +@media screen and (max-width: 1280px) { + [data-template=investigations] .dropdown .dropdown__content { + left: auto; + right: 0; + } + [data-template=investigations] .dropdown .dropdown__content::before { + left: auto; + right: 16px; } } -#bottom-bar .dropdown.is-open .dropdown__content { - transform: translateX(0); -} - -[data-template=package] .page__content, -.main__single .page__content, -#investigation__content { - font-size: var(--fs-text); -} -[data-template=package] .page__content p, -[data-template=package] .page__content li, -[data-template=package] .page__content ul, -.main__single .page__content p, -.main__single .page__content li, -.main__single .page__content ul, -#investigation__content p, -#investigation__content li, -#investigation__content ul { - font-size: var(--fs-text); -} -[data-template=package] .page__content h3, -[data-template=package] .page__content h4, -[data-template=package] .page__content h5, -.main__single .page__content h3, -.main__single .page__content h4, -.main__single .page__content h5, -#investigation__content h3, -#investigation__content h4, -#investigation__content h5 { - font-weight: 500; - max-width: var(--max-w-content); - margin-inline: auto; -} -[data-template=package] .page__content h3, -.main__single .page__content h3, -#investigation__content h3 { - margin-top: calc(var(--spacing) * 4); - margin-bottom: calc(var(--spacing) * 2); - font-size: 1.45em; - text-transform: uppercase; -} -[data-template=package] .page__content h4, -.main__single .page__content h4, -#investigation__content h4 { - margin-top: calc(var(--spacing) * 3); - margin-bottom: calc(var(--spacing) * 1.5); - font-size: 1.2em; - text-transform: uppercase; -} -[data-template=package] .page__content h5, -.main__single .page__content h5, -#investigation__content h5 { - margin-top: calc(var(--spacing) * 1.5); - margin-bottom: calc(var(--spacing) * 1); - font-size: 1.2em; - -webkit-text-decoration: 1px underline var(--grey-600); - text-decoration: 1px underline var(--grey-600); - text-underline-offset: 5px; -} -[data-template=package] .page__content p, -.main__single .page__content p, -#investigation__content p { - margin: calc(var(--spacing) * 0.75) 0; -} -[data-template=package] .page__content ul, -.main__single .page__content ul, -#investigation__content ul { - padding-left: 3ch; -} -[data-template=package] .page__content ul li, -.main__single .page__content ul li, -#investigation__content ul li { - margin: calc(var(--spacing) * 0.5) 0; -} -[data-template=package] .page__content video, -[data-template=package] .page__content figure, -[data-template=package] .page__content img:not(.slider-before-after img), -[data-template=package] .page__content picture, -.main__single .page__content video, -.main__single .page__content figure, -.main__single .page__content img:not(.slider-before-after img), -.main__single .page__content picture, -#investigation__content video, -#investigation__content figure, -#investigation__content img:not(.slider-before-after img), -#investigation__content picture { - width: 100%; - height: auto; -} -[data-template=package] .page__content .insert, -.main__single .page__content .insert, -#investigation__content .insert { - max-width: var(--max-w-cards); - margin-inline: auto; - border: 1px solid var(--grey-600); - padding: calc(var(--padding-inner) * 3); -} -@media screen and (max-width: 768px) { - [data-template=package] .page__content .insert, - .main__single .page__content .insert, - #investigation__content .insert { - padding: calc(var(--padding-inner) * 1); - } -} -[data-template=package] .page__content .insert, -.main__single .page__content .insert, -#investigation__content .insert { - background-color: var(--grey-800); -} -[data-template=package] .page__content .insert .insert--inner, -.main__single .page__content .insert .insert--inner, -#investigation__content .insert .insert--inner { - max-width: var(--max-w-content); - margin-inline: auto; -} -[data-template=package] .page__content .insert h3, -[data-template=package] .page__content .insert h4, -[data-template=package] .page__content .insert h5, -.main__single .page__content .insert h3, -.main__single .page__content .insert h4, -.main__single .page__content .insert h5, -#investigation__content .insert h3, -#investigation__content .insert h4, -#investigation__content .insert h5 { - margin-top: 0; -} -@media screen and (max-width: 768px) { - [data-template=package] .page__content .insert h3, - [data-template=package] .page__content .insert h4, - [data-template=package] .page__content .insert h5, - .main__single .page__content .insert h3, - .main__single .page__content .insert h4, - .main__single .page__content .insert h5, - #investigation__content .insert h3, - #investigation__content .insert h4, - #investigation__content .insert h5 { - margin-top: calc(var(--spacing) * 0.5); - margin-bottom: calc(var(--spacing) * 0.75); - } -} -[data-template=package] .page__content > .insert, [data-template=package] .page__content > .swiper, [data-template=package] .page__content > .slider-before-after, [data-template=package] .page__content > figure, -.main__single .page__content > .insert, -.main__single .page__content > .swiper, -.main__single .page__content > .slider-before-after, -.main__single .page__content > figure, -#investigation__content > .insert, -#investigation__content > .swiper, -#investigation__content > .slider-before-after, -#investigation__content > figure { - margin-top: calc(var(--spacing) * 2); - margin-bottom: calc(var(--spacing) * 2); -} -[data-template=package] .page__content > .insert + .caption, [data-template=package] .page__content > .swiper + .caption, [data-template=package] .page__content > .slider-before-after + .caption, [data-template=package] .page__content > figure + .caption, -.main__single .page__content > .insert + .caption, -.main__single .page__content > .swiper + .caption, -.main__single .page__content > .slider-before-after + .caption, -.main__single .page__content > figure + .caption, -#investigation__content > .insert + .caption, -#investigation__content > .swiper + .caption, -#investigation__content > .slider-before-after + .caption, -#investigation__content > figure + .caption { - margin-top: calc(var(--spacing) * -1.5) !important; -} - .card--article { border: var(--border-light); position: relative; @@ -1654,13 +1198,12 @@ figcaption, flex-direction: column; padding: var(--padding-inner); } -.card--article > figure { +.card--article > picture, .card--article > figure { aspect-ratio: 16/9; display: flex; overflow: hidden; } -.card--article > figure img, -.card--article > figure picture { +.card--article > picture img, .card--article > figure img { width: 100%; height: 100%; -o-object-fit: cover; @@ -1679,21 +1222,12 @@ figcaption, height: 100%; fill: var(--color-txt); } -.card--article > figure, -.card--article .video-extract { +.card--article > figure { width: calc(100% + var(--padding-inner) * 2); position: relative; left: calc(var(--padding-inner) * -1); top: calc(var(--padding-inner) * -1); } -.card--article .video-extract video { - width: 100%; - width: 100%; - aspect-ratio: 16/9; - -o-object-fit: cover; - object-fit: cover; - position: relative; -} .card--article .content { display: flex; flex-direction: column; @@ -1714,12 +1248,13 @@ figcaption, line-height: var(--leading-title); font-weight: 500; text-transform: uppercase; + text-wrap: balance; } .card--article .title a { text-decoration: none; } .card--article .description { - margin-top: calc(var(--spacing) * 1.25); + margin-top: calc(var(--spacing) * 0.5); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; @@ -1727,9 +1262,9 @@ figcaption, font-size: var(--fs-small); } .card--article .dl { - margin-top: calc(var(--spacing) * 0.75); + margin-top: calc(var(--spacing) * 0.5); + border-bottom: var(--border-light); font-size: var(--fs-small); - flex-grow: 2; } .card--article .dl .dl__group { display: grid; @@ -1739,9 +1274,6 @@ figcaption, border-top: var(--border-light); padding: calc(var(--spacing) * 0.5) 0; } -.card--article .dl .dl__group:last-of-type { - border-bottom: var(--border-light); -} .card--article .dl dt { color: var(--color-txt-light); padding-right: 1ch; @@ -1756,56 +1288,8 @@ figcaption, border-color: var(--color-txt); background-color: var(--grey-950); } -.card--article .keywords-wrapper { - padding-top: calc(var(--spacing) * 0.75); - z-index: 100; -} -.card--article .keywords-wrapper .keywords li a { - font-size: var(--fs-xsmall); -} - -[data-template=home] .pinned-home { - grid-column: span 2; - display: grid; - grid-template-columns: 1fr 1fr; - padding: calc(var(--padding-inner) * 2); -} -[data-template=home] .pinned-home figure, -[data-template=home] .pinned-home picture, -[data-template=home] .pinned-home .video-extract { - grid-column: span 2; - display: flex; - width: calc(100% + var(--padding-inner) * 4); - position: relative; - left: calc(var(--padding-inner) * -2); - top: calc(var(--padding-inner) * -2); -} -[data-template=home] .pinned-home .title { - grid-column: span 2; - font-size: var(--fs-text); - padding-right: 3ch; - margin-bottom: calc(var(--spacing) * 1); - margin-top: calc(var(--spacing) * 0.5); -} -[data-template=home] .pinned-home .description { - grid-column: 1; - grid-row: 3; - padding-right: 3ch; - display: block; - -webkit-line-clamp: unset; - -webkit-box-orient: unset; - overflow: visible; - font-size: var(--fs-normal); - margin-top: 0px; -} -[data-template=home] .pinned-home dl { - margin-top: 0px; - grid-column: 2; - grid-row: 3; -} -[data-template=home] .pinned-home .keywords-wrapper { - grid-column: span 2; - grid-row: 4; +.card--article .link-block { + z-index: 2000; } .card--package, @@ -1821,24 +1305,41 @@ figcaption, .card--article-small:first-of-type { border-top: var(--border-light); } -.card--package > figure, +.card--package > picture, .card--package > figure, +.card--article-small > picture, .card--article-small > figure { aspect-ratio: 16/9; display: flex; overflow: hidden; } -.card--package > figure img, -.card--package > figure picture, -.card--article-small > figure img, -.card--article-small > figure picture { +.card--package > picture img, .card--package > figure img, +.card--article-small > picture img, +.card--article-small > figure img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; transition: cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.5s; } +@media screen and (max-width: 560px) { + .card--package figure, + .card--article-small figure { + margin-left: 0px; + } +} .card--package .type, .card--article-small .type { + display: inline-flex; + flex-grow: 0; + height: calc(var(--h-block) * 0.75); + border-radius: var(--radius-small); + border: var(--border-medium); + align-items: center; + padding: 5px 1ch 0 1ch; + font-size: var(--fs-xsmall); + text-transform: uppercase; + font-weight: 500; + color: var(--color-txt-light); margin-bottom: calc(var(--spacing) * 0.75); } .card--package .content, @@ -1895,6 +1396,8 @@ figcaption, -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; + margin-top: calc(var(--spacing) * 0.25); + display: none; } .card--package, .card--article-small { @@ -1915,8 +1418,8 @@ figcaption, @media screen and (max-width: 768px) { .card--package .btn--go-to svg, .card--article-small .btn--go-to svg { - width: 12px; - height: 12px; + width: 11px; + height: 11px; } } @media screen and (max-width: 560px) { @@ -1927,8 +1430,8 @@ figcaption, } .card--package .btn--go-to svg, .card--article-small .btn--go-to svg { - width: 12px; - height: 12px; + width: 11px; + height: 11px; } } .card--package:hover .btn--go-to, @@ -1956,15 +1459,19 @@ figcaption, top: -1px; left: 0; } -.card--package:not([data-impact-type=media]):hover, -.card--article-small:not([data-impact-type=media]):hover { +.card--package:hover, +.card--article-small:hover { background-color: var(--grey-950); border-color: var(--color-txt); } -.card--package:not([data-impact-type=media]):hover::before, -.card--article-small:not([data-impact-type=media]):hover::before { +.card--package:hover::before, +.card--article-small:hover::before { border-color: var(--color-txt); } +.card--package .keywords, +.card--article-small .keywords { + display: none; +} @media screen and (max-width: 1080px) { .card--package .title, .card--article-small .title { @@ -1972,38 +1479,27 @@ figcaption, margin-bottom: 0; } } -@media screen and (max-width: 768px) { - .card--package, - .card--article-small { - row-gap: 0; - display: block; - } +@media screen and (max-width: 560px) { .card--package .content, .card--article-small .content { - padding: calc(var(--spacing) * 0.5) var(--padding-inner); - } - .card--package .type, - .card--article-small .type { - margin-bottom: calc(var(--spacing) * 0.75); + display: contents; } .card--package .title, .card--article-small .title { - margin-bottom: calc(var(--spacing) * 0.25); + font-size: var(--fs-small); + padding-top: calc(var(--spacing) * 0.25); } - .card--package .details, - .card--package .date, - .card--article-small .details, - .card--article-small .date { - margin-top: calc(var(--spacing) * 0.5); + .card--package figure, + .card--article-small figure { + grid-row: 1/3; } - .card--package .btn--go-to, - .card--article-small .btn--go-to { - bottom: calc(var(--padding-inner) * 0.75); - right: calc(var(--padding-inner) * 0.75); + .card--package .description, + .card--article-small .description { + grid-column: span 2; } } -.card--block { +.card--impact { container-type: inline-size; container-name: impact; border: var(--border-light); @@ -2016,13 +1512,13 @@ figcaption, gap: calc(var(--spacing) * 0.25); border-bottom: var(--border-light); } -.card--block:first-of-type { +.card--impact:first-of-type { border-top: var(--border-light); } -.card--block { +.card--impact { position: relative; } -.card--block::before { +.card--impact::before { content: ""; width: 100%; border-top: 1px solid transparent; @@ -2030,130 +1526,110 @@ figcaption, top: -1px; left: 0; } -.card--block:not([data-impact-type=media]):hover { +.card--impact:hover { background-color: var(--grey-950); border-color: var(--color-txt); } -.card--block:not([data-impact-type=media]):hover::before { +.card--impact:hover::before { border-color: var(--color-txt); } -.card--block > figure { - aspect-ratio: 16/9; - display: flex; +.card--impact > picture, .card--impact > figure { + aspect-ratio: 3/1; overflow: hidden; } -.card--block > figure img, -.card--block > figure picture { +.card--impact > picture img, .card--impact > figure img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; - transition: cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.5s; } -.card--block .pin { +.card--impact .pin { z-index: 90; width: 18px; height: 18px; transform: rotate(45deg); transform-origin: center; } -.card--block .pin svg { +.card--impact .pin svg { width: 100%; height: 100%; fill: var(--color-txt); } -.card--block .group-top { - display: flex; - gap: calc(var(--padding-inner) * 0.5); -} -.card--block .title { +.card--impact .title { font-size: var(--fs-normal); font-weight: 500; text-transform: uppercase; line-height: var(--leading-title); - padding-top: calc(var(--spacing) * 0.75); - padding-bottom: calc(var(--spacing) * 1); + padding-top: calc(var(--spacing) * 0.5); margin-right: 2ch; } -.card--block .date { +.card--impact .date { font-size: var(--fs-small); + margin-top: calc(var(--spacing) * 1.5); } -.card--block .investigations { +.card--impact .investigations { text-decoration: none; list-style: none; - padding-top: calc(var(--spacing) * 0.5); - width: 100%; - z-index: 100; } -.card--block .investigations li { - width: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - color: var(--color-txt-light); +.card--impact .investigations li { font-size: var(--fs-small); -} -.card--block .investigations li a { - text-decoration: none; color: var(--color-txt-light); } -.card--block .investigations li a::before { +.card--impact .investigations li a { + text-decoration: none; +} +.card--impact .investigations li a::before { content: "↪ "; } -.card--block .investigations li:hover a { - -webkit-text-decoration: underline 1px; - text-decoration: underline 1px; - text-underline-offset: 2px; - color: var(--color-txt); -} -.card--block .card--open-graph { +.card--impact .card--open-graph { width: 100%; margin: calc(var(--spacing) * 0.5) 0; } -.card--block .pin { +.card--impact .pin { position: absolute; top: var(--padding-inner); right: var(--padding-inner); } -.card--block > figure { +.card--impact > figure { width: calc(100% + var(--padding-inner) * 2); position: relative; left: calc(var(--padding-inner) * -1); top: calc(var(--padding-inner) * -1); } -.card--block .tag { +.card--impact .tag { position: relative; top: 3px; } @media screen and (min-width: 768px) { - .card--block, + .card--impact, .grid-sizer { width: calc(50% - 13px); } } -.card--block-small { +.card--impact-small { border-bottom: var(--border-light); - padding: var(--padding-inner) 0; - padding-bottom: calc(var(--spacing) * 0.75); } -.card--block-small:first-of-type { +.card--impact-small:first-of-type { border-top: var(--border-light); } -.card--block-small { +.card--impact-small { display: grid; grid-gap: var(--padding-inner); grid-template-columns: 2fr 3fr; position: relative; + padding: var(--padding-inner) 0; +} +.card--impact-small.has-link { border-bottom: var(--border-light); } -.card--block-small:first-of-type { +.card--impact-small.has-link:first-of-type { border-top: var(--border-light); } -.card--block-small { +.card--impact-small.has-link { position: relative; } -.card--block-small::before { +.card--impact-small.has-link::before { content: ""; width: 100%; border-top: 1px solid transparent; @@ -2161,107 +1637,103 @@ figcaption, top: -1px; left: 0; } -.card--block-small:not([data-impact-type=media]):hover { +.card--impact-small.has-link:hover { background-color: var(--grey-950); border-color: var(--color-txt); } -.card--block-small:not([data-impact-type=media]):hover::before { +.card--impact-small.has-link:hover::before { border-color: var(--color-txt); } -.card--block-small .group-top { +.card--impact-small { position: relative; } -.card--block-small { - position: relative; -} -.card--block-small .btn--go-to { +.card--impact-small .btn--go-to { position: absolute; right: var(--padding-inner); bottom: calc(var(--padding-inner) - 3px); } -.card--block-small .btn--go-to svg { +.card--impact-small .btn--go-to svg { width: 15px; height: 15px; fill: var(--color-txt); } @media screen and (max-width: 768px) { - .card--block-small .btn--go-to svg { - width: 12px; - height: 12px; + .card--impact-small .btn--go-to svg { + width: 11px; + height: 11px; } } @media screen and (max-width: 560px) { - .card--block-small .btn--go-to { + .card--impact-small .btn--go-to { right: calc(var(--padding-inner) * 0.5); bottom: calc(var(--padding-inner) * 0.25); } - .card--block-small .btn--go-to svg { - width: 12px; - height: 12px; + .card--impact-small .btn--go-to svg { + width: 11px; + height: 11px; } } -.card--block-small:hover .btn--go-to { +.card--impact-small:hover .btn--go-to { animation: wiggle-left 0.8s ease-in-out; } -.card--block-small .btn--go-to { +.card--impact-small .btn--go-to { top: calc(var(--padding-inner) * 1); bottom: auto; } -.card--block-small .title { +.card--impact-small .title { grid-column: 2; - grid-row: 2; font-size: var(--fs-normal); - line-height: var(--leading-title); font-weight: 500; text-transform: uppercase; margin-right: 4ch; } -.card--block-small .date { +.card--impact-small .date { font-size: var(--fs-small); - grid-column: 2; - grid-row: 1; - margin-top: 4px; } -@media screen and (max-width: 768px) { - .card--block-small { - display: block; - padding-bottom: calc(var(--spacing) * 0.5); - } - .card--block-small .btn--go-to { - top: auto; - bottom: calc(var(--padding-inner) * 1); - } - .card--block-small .group-top { - top: 0px; - margin-bottom: calc(var(--spacing) * 0.5); - } - .card--block-small .title { - margin-bottom: calc(var(--spacing) * 0.75); - margin-right: 1ch; - } - .card--block-small .date { - margin-top: 0px; - } -} - -.card--block-small .card--open-graph { +.card--impact-small .card--open-graph { grid-column: 2; z-index: 10; } -.card--block-small .card--open-graph:not(:last-child) { - margin-bottom: 1rem; +.card--impact-small .keywords { + grid-column: 2; + z-index: 10; } -.card--block-small .open-graph__details { +@media screen and (max-width: 560px) { + .card--impact-small .keywords { + display: none; + } +} +@media screen and (max-width: 560px) { + .card--impact-small:not([data-impact-type=media]) .content, + .card--impact-small .keywords { + grid-column: span 2; + } +} +.card--impact-small .category { + width: auto; + justify-self: start; + position: relative; + top: -5px; +} +.card--impact-small:not([data-impact-type=media]) .content { + padding-right: calc(var(--padding-inner) * 2.5); +} +@media screen and (max-width: 560px) { + .card--impact-small:not([data-impact-type=media]) .content { + padding-right: 0; + } +} +.card--impact-small .open-graph__details { grid-column: 2; } -.card--block-small .open-graph__details summary, -.card--block-small .open-graph__details .summary-inner { +.card--impact-small .open-graph__details summary, +.card--impact-small .open-graph__details .summary-inner { display: flex; align-items: center; cursor: pointer; gap: 0.5ch; } -.card--block-small .open-graph__details .arrow-details { +.card--impact-small .open-graph__details .arrow-details { line-height: 0; --size: 11px; height: var(--size); @@ -2272,38 +1744,38 @@ figcaption, position: relative; top: -2px; } -.card--block-small .open-graph__details .arrow-details svg { +.card--impact-small .open-graph__details .arrow-details svg { transition: transform 0.2s ease-in; width: 100%; fill: var(--color-txt); } -.card--block-small .open-graph__details summary:hover { +.card--impact-small .open-graph__details summary:hover { color: var(--color-txt); } -.card--block-small .open-graph__details summary:hover .arrow-details svg { +.card--impact-small .open-graph__details summary:hover .arrow-details svg { fill: var(--color-txt); } -.card--block-small .open-graph__details[open] .arrow-details svg { +.card--impact-small .open-graph__details[open] .arrow-details svg { transform: rotate(90deg); } -.card--block-small .open-graph__details summary { +.card--impact-small .open-graph__details summary { color: var(--color-txt-light); } -.card--block-small .open-graph__details summary .arrow-details svg { +.card--impact-small .open-graph__details summary .arrow-details svg { fill: var(--color-txt-light); } @media screen and (max-width: 560px) { - .card--block-small .open-graph__details summary { + .card--impact-small .open-graph__details summary { display: grid; grid-gap: var(--padding-inner); grid-template-columns: 2fr 3fr; position: relative; grid-row-gap: 0; } - .card--block-small .open-graph__details summary .summary-inner { + .card--impact-small .open-graph__details summary .summary-inner { grid-column: 2; } - .card--block-small .open-graph__details { + .card--impact-small .open-graph__details { grid-column: 1/3; } } @@ -2311,7 +1783,6 @@ figcaption, .card--open-graph { container-type: inline-size; container-name: opengraph; - z-index: calc(var(--z-header) - 100); } .card--open-graph .open-graph__inner { display: grid; @@ -2382,16 +1853,43 @@ figcaption, @container opengraph (width < 500px) {} .swiper { - width: 100% !important; - min-width: 0; + --slide-padding: 30px; } .swiper .swiper-button-prev, .swiper .swiper-button-next { + --swiper-navigation-size: 32px; color: var(--color-txt); + background-color: var(--color-bg); + height: 100%; + width: var(--slide-padding); + top: 0px !important; + height: calc(100% - var(--spacing) * 1); } .swiper .swiper-button-prev svg, .swiper .swiper-button-next svg { - width: 20px; + width: 14px; +} +.swiper .swiper-button-prev.swiper-button-disabled, +.swiper .swiper-button-next.swiper-button-disabled { + opacity: 1; +} +.swiper .swiper-button-prev.swiper-button-disabled svg, +.swiper .swiper-button-next.swiper-button-disabled svg { + opacity: 0.05; +} +.swiper .swiper-button-prev { + left: 0px !important; + top: 0px; + justify-content: flex-start; +} +.swiper .swiper-button-next { + right: 0px !important; + top: 0px; + justify-content: flex-end; +} +.swiper .swiper-slide { + padding-left: var(--slide-padding); + padding-right: var(--slide-padding); } .swiper .swiper-pagination { position: relative; @@ -2407,92 +1905,16 @@ figcaption, .swiper .swiper-pagination .swiper-pagination-bullet-active { background: var(--color-txt); } -.swiper .swiper-wrapper { - height: -moz-max-content; - height: max-content; - align-items: center; -} -.swiper .swiper-slide { - height: auto; - display: flex; - align-items: center; - justify-content: center; -} - -#lightbox { - position: fixed; - inset: 0; - z-index: calc(var(--z-header) + 10); - background-color: rgba(0, 0, 0, 0.92); - display: flex; - align-items: center; - justify-content: center; - opacity: 0; - visibility: hidden; - pointer-events: none; - transition: opacity 0.3s ease, visibility 0.3s ease; -} -body.lightbox-open #lightbox { - opacity: 1; - visibility: visible; - pointer-events: auto; -} - -#lightbox-close { - position: absolute; - top: var(--padding-body); - right: var(--padding-body); - background: none; - border: none; - color: var(--color-txt); - cursor: pointer; - padding: 8px; - z-index: 1; - line-height: 0; -} -#lightbox-close svg { - width: 30px; - fill: var(--color-txt); - transition: fill 0.2s ease; -} -#lightbox-close:hover svg { - fill: var(--grey-400); -} - -#lightbox-swiper { - width: 90vw; -} -#lightbox-swiper .swiper-slide { - display: flex; - align-items: center; - justify-content: center; -} -#lightbox-swiper .swiper-slide figure { - display: flex; - flex-direction: column; - align-items: center; - cursor: default; -} -#lightbox-swiper .swiper-slide figure img { - max-width: 90vw; - max-height: calc(90dvh - 100px); - width: auto; - height: auto; - -o-object-fit: contain; - object-fit: contain; -} -#lightbox-swiper .swiper-slide figure figcaption { - margin-top: calc(var(--spacing) * 0.5); - color: var(--color-txt-light); - font-size: var(--fs-small); - text-align: center; -} - -@media (min-width: 1080px) { - figure[data-lightbox] { - cursor: zoom-in; +@media screen and (max-width: 560px) { + .swiper .swiper-button-prev, + .swiper .swiper-button-next { + display: none; + } + .swiper .swiper-slide { + padding: 0px; } } + .slider-before-after { width: 100%; max-width: 700px; @@ -2564,321 +1986,6 @@ body.lightbox-open #lightbox { box-shadow: 1px 1px 1px hsla(0, 50%, 2%, 0.5); } -.dl-table { - margin-top: calc(var(--spacing) * 1.5); - border-bottom: var(--border-light); - max-width: var(--max-w-content); - max-width: var(--max-w-cards); - margin-inline: auto; - font-size: var(--fs-normal); -} -@media screen and (max-width: 768px) { - .dl-table { - font-size: var(--fs-small); - } -} -.dl-table .dl__group { - display: grid; - grid-gap: var(--padding-inner); - grid-template-columns: 2fr 3fr; - position: relative; - -moz-column-gap: 1ch; - column-gap: 1ch; - border-top: var(--border-light); - padding: calc(var(--spacing) * 0.5) 0; -} -.dl-table dt { - color: var(--color-txt-light); - padding-right: 1ch; -} -.dl-table ul:not(.keywords) { - list-style: none; -} -.dl-table ul:not(.keywords) li { - padding-bottom: 0.2em; -} -.dl-table a:hover { - opacity: 0.8; -} - -#bottom-bar { - position: fixed; - left: 0; - bottom: calc(var(--header-h) * -0.75); -} -#bottom-bar.is-visible { - bottom: 0px; -} -#bottom-bar { - z-index: calc(var(--z-header) - 10); - height: calc(var(--header-h) * 0.75); - width: 100vw; - background-color: var(--color-bg); - padding-left: var(--padding-body); - padding-right: var(--padding-body); - transition: bottom var(--transition-scroll); -} -#bottom-bar .progress-container { - position: absolute; - top: 0; - left: 0; - height: 2px; - width: 100vw; - background-color: var(--grey-800); -} -#bottom-bar .progress-container .progress-bar { - height: 2px; - background-color: var(--color-txt); - width: 40%; -} -#bottom-bar .bottom-bar__inner { - height: calc(var(--header-h) * 0.75); - display: flex; - justify-content: flex-end; - align-items: center; - gap: var(--padding-inner); -} -#bottom-bar .btn--back-to-top .icon { - display: flex; - width: 20px; - height: 20px; -} -#bottom-bar .btn--back-to-top .icon svg { - width: 20px; - height: 20px; -} -#bottom-bar .btn--back-to-top { - position: relative; - top: -3px; - width: 100px; -} -#bottom-bar .btn--back-to-top a { - justify-content: flex-end; -} -#bottom-bar .btn--back-to-top .icon { - transform: rotate(-90deg); - transform-origin: center; -} -#bottom-bar .btn--back-to-top .icon svg { - fill: var(--color-txt); -} -#bottom-bar .title-group { - font-size: var(--fs-small); - display: flex; - color: var(--color-txt-light); - flex-grow: 1; - width: 100%; - padding-top: 5px; - min-width: 0; -} -#bottom-bar .title-group .title-type { - text-transform: uppercase; -} -#bottom-bar .title-group .title-type::after { - content: "/"; - padding-left: 1ch; - padding-right: 1ch; -} -#bottom-bar .title-group .title { - min-width: 0; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -@media screen and (max-width: 768px) { - #bottom-bar .bottom-bar__inner { - height: calc(var(--header-h) * 0.75); - justify-content: center; - align-items: center; - } - #bottom-bar .btn--download, - #bottom-bar .btn--back-to-top { - display: none; - } -} -@media screen and (max-width: 560px) { - #bottom-bar { - display: flex; - align-items: center; - justify-content: center; - } - #bottom-bar .title-group { - display: none; - } -} - -.form__newsletter { - margin-top: calc(var(--spacing) * 2); - --size: 24px; - position: relative; - display: flex; - align-items: center; - position: relative; - max-width: var(--max-w-content); - margin-inline: auto; -} - -.form__newsletter input[type=email] { - height: calc(var(--h-block) * 1.5); - width: 100%; - border-radius: calc(var(--h-block) * 0.75); - outline: none; - border: none; - padding: 0 2ch; - font-family: var(--font); - font-size: var(--fs-normal); - z-index: 40; - padding-top: 4px; - border: 1px solid var(--color-txt); - background-color: white; - font-family: var(--font); - font-size: var(--fs-normal); - font-weight: 500; - color: black; -} -.form__newsletter input[type=email]::-moz-placeholder { - font-family: var(--font); - font-size: var(--fs-normal); - font-weight: 500; - color: black !important; -} -.form__newsletter input[type=email]::-moz-placeholder, .form__newsletter input[type=email]::placeholder { - font-family: var(--font); - font-size: var(--fs-normal); - font-weight: 500; - color: black !important; -} - -.form__newsletter input[type=email]:focus { - outline: 3px solid var(--grey-400); -} - -.form__newsletter button[type=submit] { - position: absolute; - right: 2px; - z-index: 100; - --size: calc(var(--h-block)*1.5 - 4px); - font-family: var(--font); - font-size: var(--fs-button-bold); - height: var(--size); - display: flex; - align-items: center; - gap: 0.75ch; - color: var(--color-accent); - font-weight: var(--fw-medium); - text-decoration: none; - cursor: pointer; -} - -.form__newsletter button[type=submit] .icon, -.form__newsletter button[type=submit] .txt { - z-index: 10; -} - -.form__newsletter button[type=submit] .icon { - width: var(--size); - height: var(--size); - display: flex; - align-items: center; - justify-content: center; - color: var(--color-bg); - text-align: center; -} - -.form__newsletter button[type=submit] .icon svg { - fill: var(--color-bg); - width: 80%; -} - -.form__newsletter button[type=submit] .txt { - position: relative; - top: 2px; - font-size: var(--fs-normal); - display: none; - padding-left: 1ch; -} - -.form__newsletter button[type=submit]::after { - content: ""; - display: block; - background-color: var(--color-accent); - border-radius: calc(var(--size) / 2); - width: var(--size); - height: var(--size); - position: absolute; - right: 0; - z-index: 0; - transition: width 0.2s; -} - -.form__newsletter button[type=submit]:hover .txt { - color: var(--color-bg); - display: block; -} - -.form__newsletter button[type=submit]:hover::after { - width: 100%; -} - -[data-template=newsletter] .details p { - font-size: var(--fs-xsmall); - margin-top: calc(var(--spacing) * 1); -} - -#support-bar { - height: var(--header-h); - background-color: var(--color-accent); - color: var(--color-bg); - padding: 0 var(--padding-body); -} -#support-bar .support-bar__container { - max-width: var(--max-w-cards); - margin: 0 auto; - height: 100%; - display: flex; -} -@media screen and (min-width: 768px) { - #support-bar .support-bar__container { - align-items: center; - justify-content: space-between; - gap: 2ch; - } -} -@media screen and (max-width: 768px) { - #support-bar .support-bar__container { - flex-direction: column; - font-size: var(--fs-small); - line-height: 1.1; - align-items: flex-start; - justify-content: center; - } -} -#support-bar .baseline { - text-transform: uppercase; - font-weight: 500; -} -#support-bar .btn { - text-transform: uppercase; - color: var(--color-bg); - font-weight: 500; - text-decoration: underline; - text-underline-offset: 2px; - word-wrap: nowrap; - white-space: nowrap; -} -#support-bar .btn:hover { - opacity: 0.7; -} -@media screen and (max-width: 768px) { - #support-bar { - height: auto; - padding: calc(var(--spacing) * 0.75) var(--padding-body); - } - #support-bar .btn { - margin-top: calc(var(--spacing) * 0.75); - } -} - #site-header { z-index: var(--z-header); --gap: 3ch; @@ -2897,7 +2004,7 @@ body.lightbox-open #lightbox { display: flex; align-items: center; justify-content: space-between; - gap: calc(var(--gap) * 0.25); + gap: var(--gap); } #site-header a { text-decoration: none; @@ -2906,9 +2013,7 @@ body.lightbox-open #lightbox { color: var(--grey-200); } #site-header #site-title { - position: relative; - top: -3px; - width: 140px; + flex-grow: 2; } #site-header #site-title svg { width: 100px; @@ -2917,92 +2022,25 @@ body.lightbox-open #lightbox { #site-header #site-title svg { width: 80px; } - #site-header #site-title { - top: -4px; - } } -#site-header #nav-highlight, -#site-header #nav-investigation { +#site-header .header__title-page { + display: none; flex-grow: 2; -} -#site-header #nav-highlight ul, -#site-header #nav-investigation ul { - width: 100%; - display: flex; - align-items: center; - justify-content: center; - gap: var(--gap); - list-style-type: none; -} -#site-header #nav-highlight ul li, -#site-header #nav-investigation ul li { + text-align: left; white-space: nowrap; -} -#site-header #nav-highlight ul { - font-weight: 500; - text-transform: uppercase; -} -@media screen and (max-width: 1080px) { - #site-header #nav-highlight ul { - font-size: var(--fs-small); - } -} -@media screen and (max-width: 890px) { - #site-header #nav-highlight ul { - justify-content: flex-end; - padding-right: 2ch; - } - #site-header #nav-highlight ul li { - display: none; - } - #site-header #nav-highlight ul li.support { - display: block; - } -} -#site-header #nav-investigation { - position: absolute; - top: 10%; - left: 0; - display: flex; - opacity: 0; - transition: top 0.3s ease; - pointer-events: none; - min-width: 0; -} -#site-header #nav-investigation .title { - text-transform: uppercase; - font-size: var(--fs-small); - font-weight: 500; - max-width: 100%; - min-width: 0; overflow: hidden; text-overflow: ellipsis; - white-space: nowrap; - padding-left: 2ch; - padding-right: 2ch; - text-align: center; - color: var(--color-txt-light); + text-transform: uppercase; + font-size: var(--fs-small); + line-height: 2; } -@media screen and (max-width: 1080px) { - #site-header #nav-investigation ul { - font-size: var(--fs-small); - padding-left: 6ch; - padding-right: 6ch; - } -} -#site-header #nav-investigation li { - color: var(--color-txt-light); - transition: color 0.3s ease; -} -#site-header #nav-investigation li.is-selected { - color: var(--color-txt); -} -#site-header #nav-investigation li.is-selected:hover { - color: var(--color-txt); - pointer-events: none; -} -#site-header #nav-investigation li.is-selected:hover a:hover { - color: var(--color-txt); +#site-header ul { + list-style-type: none; + display: flex; + align-items: center; + gap: var(--gap); + text-transform: uppercase; + font-weight: 500; } #site-header #theme-toggle { width: var(--h-block); @@ -3018,11 +2056,9 @@ body.lightbox-open #lightbox { } #site-header #lang-toggle { display: flex; - gap: 0.75ch; - padding-right: 1.5ch; + gap: 1ch; } -#site-header #lang-toggle a { - font-size: var(--fs-small); +#site-header #lang-toggle button { font-weight: 500; } #site-header #lang-toggle button:disabled { @@ -3042,46 +2078,11 @@ body.lightbox-open #lightbox { fill: var(--grey-200) !important; } -#site-header.has-nav-investigation #nav-highlight { - display: none; -} -#site-header.has-nav-investigation #nav-investigation { - position: relative; - opacity: 1; - transform: translateY(0); - top: 0px; - pointer-events: auto; -} - -@media screen and (min-width: 768px) { - #site-header #nav-investigation .title { +@media screen and (max-width: 1080px) { + #nav-highlight { display: none; } } -@media screen and (max-width: 768px) { - #site-header #nav-highlight ul { - display: none; - } - #site-header #nav-investigation .title { - display: none; - } - #site-header.has-nav-investigation #nav-investigation ul { - display: none; - } - #site-header.has-nav-investigation #nav-investigation .title { - display: block; - } -} -body.menu-open #site-header { - cursor: pointer; -} -body.menu-open #site-header #nav-highlight, -body.menu-open #site-header #nav-investigation { - opacity: 0.15; - pointer-events: none; - transition: opacity 0.3s ease-in; -} - #site-menu { position: fixed; width: var(--menu-w); @@ -3108,58 +2109,40 @@ body.menu-open #site-header #nav-investigation { right: -100vw; } } -#site-menu .site-menu__inner { - height: 100%; - overflow: scroll; - scrollbar-width: none; - -ms-overflow-style: none; -} -#site-menu .site-menu__inner::-webkit-scrollbar { - display: none; +#site-menu { + display: flex; + flex-direction: column; } #site-menu .search-form { margin-top: calc(var(--spacing) * 1); margin-bottom: calc(var(--spacing) * 1); } #site-menu nav { - margin-top: calc(var(--spacing) * 1.5); + flex-grow: 1; } #site-menu nav ul { list-style-type: none; -} -#site-menu nav ul li { - margin-bottom: calc(var(--spacing) * 0.5); -} -#site-menu nav ul a { - text-decoration: none; + text-transform: uppercase; font-weight: 500; } -#site-menu #nav-pages li { - text-transform: uppercase; +#site-menu nav ul li { + font-size: var(--fs-normal); } -#site-menu .support { - text-transform: uppercase; +#site-menu nav ul li a { + display: block; + text-decoration: none; + padding: 0.5em 0; } -#site-menu #nav-aside { - margin-top: calc(var(--spacing) * 1); +#site-menu nav ul li a:hover { + text-decoration: underline; +} +#site-menu nav ul .highlight { + text-transform: uppercase; } #site-menu .socials { - margin-top: calc(var(--spacing) * 2); padding-bottom: calc(var(--spacing) * 0.75); } -#menu-overlay { - position: fixed; - inset: 0; - z-index: calc(var(--z-header) - 2); - cursor: pointer; - background-color: rgba(0, 0, 0, 0.4); - opacity: 0; - visibility: hidden; - pointer-events: none; - transition: opacity 0.3s ease-in, visibility 0.3s ease-in; -} - body.menu-open #site-menu { right: 0; } @@ -3169,98 +2152,94 @@ body.menu-open #menu-toggle .open { body.menu-open #menu-toggle .close { display: block !important; } -body.menu-open #menu-overlay { - opacity: 1; - visibility: visible; - pointer-events: auto; -} #site-footer { background-color: var(--dark); - padding: calc(var(--spacing) * 2) var(--padding-body) calc(var(--spacing) * 1) var(--padding-body); + padding: calc(var(--padding-body) * 2) var(--padding-body); z-index: 500; } #site-footer .site-footer__container { max-width: var(--max-w-cards); margin: 0 auto; - font-size: var(--fs-small); + padding: 0 var(--padding-body); } #site-footer .logo { - margin-bottom: calc(var(--spacing) * 0.5); + margin-top: calc(var(--spacing) * 0.25); + margin-bottom: calc(var(--spacing) * 1); } #site-footer .logo svg { width: 100px; } -#site-footer .baseline { - max-width: 40ch; +#site-footer p { + margin: calc(var(--spacing) * 0.5) 0; + font-size: var(--fs-small); } -#site-footer .list-links ul { - list-style: none; -} -#site-footer .list-links ul li { - margin-bottom: calc(var(--spacing) * 0.25); -} -#site-footer .list-links ul a { +#site-footer p a { text-decoration: none; } -#site-footer .list-links ul li:hover a { +#site-footer p a:hover { text-decoration: underline; + color: currentColor; } -#site-footer .list-links .hightlight { - text-transform: uppercase; +#site-footer .p__small { + font-size: var(--fs-xsmall); + color: var(--grey-600); +} +#site-footer .footer__mentions p { + font-size: var(--fs-xsmall); + color: var(--color-txt); +} +#site-footer .footer__socials > p { font-weight: 500; } +@media screen and (max-width: 768px) { + #site-footer .footer__socials { + margin-top: calc(var(--spacing) * 0.75); + padding-top: calc(var(--spacing) * 0.25); + border-top: var(--border-light); + } + #site-footer .footer__socials .list-socials { + margin-top: calc(var(--spacing) * 0.5); + margin-bottom: calc(var(--spacing) * 0.75); + } + #site-footer .footer__mentions { + border-top: var(--border-light); + padding-top: calc(var(--spacing) * 0.25); + } + #site-footer .footer__mentions p { + font-size: 12px; + text-align: center; + } + #site-footer .p__small { + font-size: 12px; + } +} @media screen and (min-width: 768px) { #site-footer .site-footer__container { display: grid; - grid-template-columns: 1fr 350px; - -moz-column-gap: calc(var(--padding-inner) * 2); - column-gap: calc(var(--padding-inner) * 2); + grid-template-columns: 3fr 2fr; + -moz-column-gap: calc(var(--spacing) * 2); + column-gap: calc(var(--spacing) * 2); } - #site-footer .site-footer__container .logo { - grid-column: span 2; - } - #site-footer .site-footer__container .baseline { + #site-footer .footer__newsletter { grid-column: 1; grid-row: 2; } - #site-footer .site-footer__container .list-links { + #site-footer .footer__socials { grid-column: 2; grid-row: 2; - max-width: 350px; - display: flex; - justify-content: space-between; - gap: var(--padding-inner); } - #site-footer .site-footer__container .socials { - grid-column: 1; - grid-row: 3; - } - #site-footer .site-footer__container .credits { - font-size: var(--fs-xsmall); - grid-column: 1; - grid-row: 4; - margin-top: calc(var(--spacing) * 2); - } -} -@media screen and (max-width: 768px) { - #site-footer .list-links { + #site-footer .footer__socials .socials { + -moz-columns: 2; + columns: 2; margin-top: calc(var(--spacing) * 1); } - #site-footer .list-links .hightlight { - margin-top: calc(var(--spacing) * 0.5); + #site-footer .footer__mentions { + grid-column: span 2; } - #site-footer .socials { + #site-footer .footer__mentions p { margin-top: calc(var(--spacing) * 1); } - #site-footer .credits { - margin-top: calc(var(--spacing) * 2); - } -} -@media screen and (max-width: 560px) { - #site-footer .credits { - text-align: center; - } } body { @@ -3275,15 +2254,32 @@ body main { flex-grow: 1; padding: 0 var(--padding-body); padding-top: var(--header-h); - padding-bottom: calc(var(--spacing) * 6); + padding-bottom: calc(var(--spacing) * 2); + min-height: 100dvh; + min-height: 100vh; } +body main .page__header, body main .page__content { max-width: var(--max-w-cards); margin-inline: auto; } -body main .page__header { - max-width: var(--max-w-cards); - margin-inline: auto; + +.page__type { + height: calc(var(--h-block) * 1); + border-radius: var(--radius-small); + border: var(--border-medium); + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0 1.5ch; + padding-top: 5px; + font-size: var(--fs-small); + background-color: var(--color-bg); + color: var(--color-txt-light); + font-weight: 500; + overflow: hidden; + white-space: nowrap; + text-transform: uppercase; } main .page__header { @@ -3292,12 +2288,9 @@ main .page__header { } @media screen and (max-width: 768px) { main .page__header { - margin-top: calc(var(--spacing) * 1); + margin-top: calc(var(--spacing) * 2); } } -main .page__header .page__type { - margin-bottom: calc(var(--spacing) * 1); -} main .page__header .page__title { max-width: var(--max-w-content); text-transform: uppercase; @@ -3305,114 +2298,14 @@ main .page__header .page__title { font-size: var(--fs-medium); font-weight: 500; line-height: var(--leading-title); - margin-bottom: calc(var(--spacing) * 2); + margin-top: calc(var(--spacing) * 1); + margin-bottom: calc(var(--spacing) * 1.5); + text-wrap: balance; } -@media screen and (min-width: 768px) { - main .page__header .page__title { - text-wrap: balance; - } -} -@media screen and (max-width: 768px) { - main .page__header .page__title { - margin-bottom: calc(var(--spacing) * 1); - } -} -main .page__header .page__cover { - margin-top: calc(var(--spacing) * 2); -} -main .page__header .date { - display: block; - margin-top: calc(var(--spacing) * -1.5); - margin-bottom: calc(var(--spacing) * 2); - color: var(--color-txt-light); -} -@media screen and (max-width: 768px) { - main .page__header .date { - margin-bottom: calc(var(--spacing) * 1); - margin-top: calc(var(--spacing) * -0.75); - } -} -main .page__header .page__description { +main .page__header .description { font-size: var(--fs-text); margin-bottom: calc(var(--spacing) * 3); } -@media screen and (max-width: 768px) { - main .page__header .page__description { - margin-bottom: calc(var(--spacing) * 1.5); - } -} -main .page__header .page__description { - max-width: var(--max-w-content); -} -main .page__header ul.list-nav { - display: flex; - flex-wrap: wrap; - list-style: none; - margin-top: calc(var(--spacing) * -1.5); -} -@media screen and (max-width: 768px) { - main .page__header ul.list-nav { - margin-top: calc(var(--spacing) * -0.5); - } -} -main .page__header ul.list-nav { - color: var(--color-txt-light); -} -main .page__header ul.list-nav li { - white-space: nowrap; - margin-right: 2ch; -} -main .page__header ul.list-nav li:last-of-type { - margin-right: 0; -} -@media screen and (max-width: 768px) { - main .page__header ul.list-nav li { - width: 12ch; - } -} -main .page__header ul.list-nav li { - margin-bottom: calc(var(--spacing) * 0.25); -} -main .page__header ul.list-nav a { - text-decoration: none; - text-transform: lowercase; -} -main .page__header ul.list-nav a::after { - content: " ↓"; -} -main .page__header ul.list-nav li:hover { - color: var(--color-txt); -} - -.package__section, -.page__aside { - max-width: var(--max-w-cards); - margin-inline: auto; - padding-top: calc(var(--spacing) * 4); -} -@media screen and (max-width: 768px) { - .package__section, - .page__aside { - padding-top: calc(var(--spacing) * 3); - } -} -.package__section .section__title, -.package__section .aside__title, -.page__aside .section__title, -.page__aside .aside__title { - font-weight: 500; - text-transform: uppercase; - margin-bottom: calc(var(--spacing) * 1); - font-size: 1.2em; -} -@media screen and (max-width: 768px) { - .package__section .section__title, - .package__section .aside__title, - .page__aside .section__title, - .page__aside .aside__title { - font-size: var(--fs-normal); - } -} .container-cards { max-width: var(--max-w-cards); @@ -3459,6 +2352,19 @@ main .page__header ul.list-nav li:hover { line-height: 1.1; margin-bottom: calc(var(--spacing) * 1); } +.section--home .btn--bold-inline { + text-transform: none; + font-weight: 500; + font-size: var(--fs-small); +} +.section--home .btn--bold-inline .icon { + position: relative; + top: 2px; +} +.section--home .btn--bold-inline svg { + width: 13px; + height: 13px; +} @media screen and (min-width: 1080px) { .section--home .section--inner { max-width: 1600px; @@ -3466,28 +2372,23 @@ main .page__header ul.list-nav li:hover { margin-bottom: calc(var(--spacing) * 4); padding-top: calc(var(--spacing) * 4); display: grid; - grid-template-columns: minmax(360px, 1fr) 2fr; - grid-gap: calc(var(--padding-body) * 3); + --gap: calc(var(--padding-body)*2); + grid-template-columns: 1fr 2fr; + grid-gap: var(--gap); } .section--home .col-left { align-self: start; position: sticky; - top: calc(var(--header-h) + var(--spacing) * 1.5); + top: calc(var(--header-h) + var(--spacing) * 4); } .section--home .col-right { width: 100%; height: 100%; } - .section--home#home__investigations .section--inner .section--inner { - padding-top: calc(var(--spacing) * 1); - } - .section--home#home__investigations .section--inner .col-left { - top: calc(var(--header-h) + var(--spacing) * 1.5); - } } @media screen and (max-width: 768px) { .section--home .card--article, - .section--home .card--block { + .section--home .card--impact { margin-bottom: calc(var(--spacing) * 1); } .section--home .baseline-section { @@ -3495,216 +2396,178 @@ main .page__header ul.list-nav li:hover { } } -#home__investigations .section--inner { - padding-top: calc(var(--spacing) * 1.5); -} @media screen and (min-width: 768px) { #home__investigations .col-right { display: grid; grid-template-columns: 1fr 1fr; gap: var(--padding-body); } + #home__investigations .col-right .card--article:first-of-type { + grid-column: span 2; + display: grid; + grid-template-columns: 1fr 1fr; + } + #home__investigations .col-right .card--article:first-of-type figure, + #home__investigations .col-right .card--article:first-of-type picture { + grid-column: span 2; + } + #home__investigations .col-right .card--article:first-of-type .title { + grid-column: span 2; + font-size: var(--fs-medium); + padding-right: 3ch; + margin-bottom: calc(var(--spacing) * 1); + } + #home__investigations .col-right .card--article:first-of-type .description { + grid-column: 1; + grid-row: 3; + padding-right: 3ch; + display: block; + -webkit-line-clamp: unset; + -webkit-box-orient: unset; + overflow: visible; + } + #home__investigations .col-right .card--article:first-of-type dl { + grid-column: 2; + grid-row: 3; + } + #home__investigations .col-right .card--article:first-of-type .keywords-wrapper { + grid-column: 2; + grid-row: 4; + } #home__investigations .col-right .see-more { grid-column: span 2; } } -.main__single .page__header { - max-width: var(--max-w-content); - border-bottom: var(--border-light); - padding-bottom: calc(var(--spacing) * 1); -} -.main__single .page__header .page__description { - margin-bottom: calc(var(--spacing) * 1); -} -.main__single .page__header > figure { - aspect-ratio: 16/9; - display: flex; - overflow: hidden; -} -.main__single .page__header > figure img, -.main__single .page__header > figure picture { - width: 100%; - height: 100%; - -o-object-fit: cover; - object-fit: cover; - transition: cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.5s; -} -.main__single .page__content { - max-width: var(--max-w-content); - margin-top: calc(var(--spacing) * 3); -} -@media screen and (max-width: 768px) { - .main__single .page__content { - margin-top: calc(var(--spacing) * 1.25); - } -} - -.page__header + #related-investigations { - padding-top: calc(var(--spacing) * 1); -} -@media screen and (max-width: 768px) { - .page__header + #related-investigations { - padding-top: 0; - } -} - -[data-template=newsletter] .page__header, -[data-template=about] .page__header, -[data-template=privacy-policy] .page__header, -[data-template=legal-notices] .page__header { - border-bottom: none; - padding-bottom: 0px; -} -[data-template=newsletter] .page__header .page__title, -[data-template=about] .page__header .page__title, -[data-template=privacy-policy] .page__header .page__title, -[data-template=legal-notices] .page__header .page__title { - text-align: center; - border-bottom: var(--border-medium); - padding-bottom: calc(var(--spacing) * 0.5); -} - [data-template=investigation] main { position: relative; } [data-template=investigation] main .page__header { margin-inline: auto; max-width: var(--max-w-content); - margin-bottom: 0px; -} -[data-template=investigation] main .page__header .page__description { - margin-bottom: 0px; } [data-template=investigation] main .page__content { max-width: 100%; } -@media screen and (min-width: 768px) { - [data-template=investigation] main #investigation__hero { - padding-top: calc(var(--spacing) * 2.5); - margin-bottom: calc(var(--spacing) * 3); - } +[data-template=investigation] main .investigation__content { + font-size: var(--fs-text); } -@media screen and (max-width: 768px) { - [data-template=investigation] main #investigation__hero { - padding-top: calc(var(--spacing) * 1.5); - margin-bottom: calc(var(--spacing) * 2); - } +[data-template=investigation] main #investigation__dl { + margin-top: calc(var(--spacing) * 1.5); + border-bottom: var(--border-light); + max-width: var(--max-w-content); + margin-inline: auto; + font-size: var(--fs-normal); +} +[data-template=investigation] main #investigation__dl .dl__group { + display: grid; + grid-gap: var(--padding-inner); + grid-template-columns: 2fr 3fr; + position: relative; + -moz-column-gap: 1ch; + column-gap: 1ch; + border-top: var(--border-light); + padding: calc(var(--spacing) * 0.5) 0; +} +[data-template=investigation] main #investigation__dl dt { + color: var(--color-txt-light); + padding-right: 1ch; +} +[data-template=investigation] main #investigation__dl ul:not(.keywords) { + list-style: none; +} +[data-template=investigation] main #investigation__dl ul:not(.keywords) li { + padding-bottom: 0.2em; +} +[data-template=investigation] main .investigation__aside { + max-width: var(--max-w-cards); + margin: calc(var(--spacing) * 4) auto; +} +[data-template=investigation] main .investigation__aside .aside__title { + font-weight: 500; + text-transform: uppercase; + margin-bottom: calc(var(--spacing) * 1); } -#investigation__content { - padding-top: calc(var(--spacing) * 4); +.investigation__content { + margin-top: calc(var(--spacing) * 4); } -#investigation__content .section-title-only { - margin-bottom: 0; +.investigation__content .section-content { + padding-left: calc(var(--padding-body) * 1.5); + padding-right: calc(var(--padding-body) * 1.5); + margin-bottom: calc(var(--spacing) * 6); } -#investigation__content .section-txt { +.investigation__content .section-content:target { + padding-top: calc(var(--header-h) + var(--spacing) * 2); +} +@media screen and (max-width: 768px) { + .investigation__content .section-content:target { + padding-top: calc(var(--header-h) + var(--spacing) * 0.5); + } +} +.investigation__content .section-title { + max-width: var(--max-w-content); + margin-inline: auto; + margin-bottom: calc(var(--spacing) * 2); + font-size: var(--fs-medium); + font-weight: 500; + text-wrap: balance; + max-width: var(--max-w-content); +} +.investigation__content .section-txt { max-width: var(--max-w-content); margin-inline: auto; } -#investigation__content .subsection-txt .insert { +.investigation__content .subsection-w-media { + display: grid; + grid-template-columns: 1fr 1fr; + gap: var(--padding-body); + margin-bottom: calc(var(--spacing) * 4); margin-top: calc(var(--spacing) * 2); - margin-bottom: calc(var(--spacing) * 2); - padding: calc(var(--padding-inner) * 2) calc(var(--padding-inner) * 1.5); + position: relative; } -#investigation__content .subsection-txt { +.investigation__content .subsection-w-media .media { + margin-inline: auto; max-width: var(--max-w-content); + padding-left: var(--padding-inner); + padding-right: var(--padding-inner); + position: sticky; + top: calc(var(--header-h) + var(--spacing)); + align-self: start; } -#investigation__content img { - max-height: 75vh; - -o-object-fit: cover; - object-fit: cover; +.investigation__content .subsection-txt { + min-height: calc(100vh - var(--header-h)); + max-width: var(--max-w-content); + padding-left: var(--padding-inner); + padding-right: var(--padding-inner); + padding-bottom: calc(var(--spacing) * 6); } -@media screen and (min-width: 768px) { - #investigation__content .section-content { - margin-bottom: calc(var(--spacing) * 4); - } - #investigation__content .subsection-w-media { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); - gap: var(--padding-body); - position: relative; - } - #investigation__content .subsection-w-media .media { - margin-inline: auto; - width: 100%; - position: sticky; - top: calc(var(--header-h) + var(--spacing)); - align-self: start; - } -} -@media screen and (min-width: 768px) and (min-width: 1080px) { - #investigation__content .subsection-w-media .media { - padding-left: var(--padding-inner); - padding-right: var(--padding-inner); - } -} -@media screen and (min-width: 768px) { - #investigation__content .subsection-txt { - min-height: calc(100vh - var(--header-h)); - padding-left: var(--padding-inner); - padding-right: var(--padding-inner); - padding-bottom: calc(var(--spacing) * 6); - } -} -@media screen and (max-width: 768px) { - #investigation__content .section-content:not(.section-title-only) { - padding-bottom: calc(var(--spacing) * 1); - margin-bottom: calc(var(--spacing) * 2); - border-bottom: var(--border-light); - } - #investigation__content .section-title-only { - margin-bottom: calc(var(--spacing) * 1.5); - } - #investigation__content .media { - margin-bottom: calc(var(--spacing) * 2); - } - #investigation__content h3 { - margin-top: calc(var(--spacing) * 3); - margin-bottom: calc(var(--spacing) * 1.5); - font-size: 1.35em; - } - #investigation__content h4 { - margin-top: calc(var(--spacing) * 3); - margin-bottom: calc(var(--spacing) * 1); - font-size: 1em; - } - #investigation__content h4, - #investigation__content h5 { - margin-top: calc(var(--spacing) * 3); - margin-bottom: calc(var(--spacing) * 1); - } - #investigation__content .subsection-txt .insert { - margin-top: calc(var(--spacing) * 1.5); - } -} -#investigation__content .subsection-w-hscroll { +.investigation__content .subsection-w-hscroll { position: relative; margin-bottom: calc(var(--spacing) * 4); } -#investigation__content .subsection-w-hscroll .horizontal-scroll { +.investigation__content .subsection-w-hscroll .horizontal-scroll { height: 100vh; width: 100vw; overflow: hidden; display: flex; align-items: center; } -#investigation__content .subsection-w-hscroll .horizontal-scroll-wrapper { +.investigation__content .subsection-w-hscroll .horizontal-scroll-wrapper { display: flex; flex-wrap: nowrap; will-change: transform; } -#investigation__content .subsection-w-hscroll .horizontal-scroll-slide { +.investigation__content .subsection-w-hscroll .horizontal-scroll-slide { flex-shrink: 0; width: 90vw; max-width: 700px; padding: 0 calc(var(--spacing) * 1); } -#investigation__content .subsection-w-hscroll .horizontal-scroll-slide figure, -#investigation__content .subsection-w-hscroll .horizontal-scroll-slide img { +.investigation__content .subsection-w-hscroll .horizontal-scroll-slide figure, .investigation__content .subsection-w-hscroll .horizontal-scroll-slide img { width: 100%; } -#investigation__content .subsection-w-hscroll .horizontal-scroll-pagination { +.investigation__content .subsection-w-hscroll .horizontal-scroll-pagination { position: fixed; bottom: calc(var(--spacing) * 2); left: 50%; @@ -3713,13 +2576,14 @@ main .page__header ul.list-nav li:hover { gap: 8px; z-index: 10; } -#investigation__content .insert--inner > :last-child { - margin-bottom: 0px; +.investigation__content p { + margin: calc(var(--spacing) * 0.75) 0; } -#investigation__content .insert--inner > :first-child, -#investigation__content .subsection-txt > :first-child, -#investigation__content .section-content > :first-child { - margin-top: 0px; +.investigation__content ul { + padding-left: 3ch; +} +.investigation__content ul li { + margin: calc(var(--spacing) * 0.5) 0; } .investigation__content:target { @@ -3731,4 +2595,97 @@ main .page__header ul.list-nav li:hover { } .media figure { height: auto; +} +.media .caption { + font-size: var(--fs-small); + color: var(--color-txt-light); + font-weight: 500; + line-height: 1.1; +} +.media .swiper { + width: calc(100% - 60px); + max-width: 600px; +} + +.content-package { + max-width: var(--max-w-cards); + margin: 0 auto; + display: grid; + grid-gap: calc(var(--padding-body) * 1.5); + position: relative; +} +.content-package .container-cards { + display: block; + align-self: start; +} +.content-package #section__investigations article { + margin-bottom: calc(var(--spacing) * 1); +} +.content-package .container__title { + font-weight: normal; + font-size: var(--fs-small); + font-weight: 500; + text-transform: uppercase; + margin-bottom: calc(var(--spacing) * 0.75); +} +@media screen and (max-width: 1080px) { + .content-package #section__investigations { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: calc(var(--padding-inner) * 1.5) !important; + margin-bottom: calc(var(--spacing) * 3); + } + .content-package #section__investigations article { + margin-bottom: 0px; + } + .content-package #section__investigations .container__title { + grid-column: span 2; + margin-bottom: 0px; + } + .content-package section:target { + padding-top: calc(var(--header-h) + var(--spacing)); + } +} +@media screen and (min-width: 1080px) { + .content-package #nav-package { + display: none; + } + .content-package { + grid-template-columns: 1fr 1fr; + } + .content-package #section__investigations { + display: block; + margin-bottom: 0px; + } + .content-package #section__investigations article { + margin-bottom: calc(var(--spacing) * 1); + } +} +@media screen and (max-width: 768px) { + .content-package { + display: block; + } + .content-package #section__investigations { + display: block; + } + .content-package .container__title { + margin-bottom: calc(var(--spacing) * 0.5) !important; + } +} + +#nav-package { + display: flex; + margin-top: calc(var(--spacing) * -1); + margin-bottom: calc(var(--spacing) * 2); +} +#nav-package svg { + width: 10px; + height: 10px; + transform: rotate(90deg); +} + +@media screen and (min-width: 1080px) { + #nav-package { + display: none; + } }/*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/assets/css/style.css.map b/assets/css/style.css.map index 1a8a561..a3042c9 100644 --- a/assets/css/style.css.map +++ b/assets/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["style.css","base/_var.scss","base/_body.scss","partials/_site-header.scss","components/_buttons.scss","components/_category.scss","components/_keywords.scss","components/_sort.scss","components/_btn-group-mobile.scss","components/_figures.scss","components/_investigation-hero.scss","components/_form-newsletter.scss","components/_search-form.scss","components/_list-socials.scss","components/_modal-share.scss","components/_dropdown.scss","components/_text.scss","components/_card-article.scss","components/_card-article-small.scss","components/_card-block.scss","components/_card-block-small.scss","components/_card-open-graph.scss","components/_swiper.scss","components/_lightbox.scss","components/_slider-before-after.scss","components/_dl-table.scss","components/_bottom-bar.scss","components/_newsletter-form.scss","components/_support-bar.scss","partials/_site-menu.scss","partials/_site-footer.scss","partials/_main-layout.scss","partials/_page-header.scss","partials/_page-aside.scss","partials/_container-cards.scss","template/_home.scss","template/_page-single.scss","template/_investigation.scss","template/_investigation_content.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file +{"version":3,"sources":["style.css","base/_var.scss","base/_body.scss","partials/_site-header.scss","components/_buttons.scss","components/_tags.scss","components/_keywords.scss","components/_sort.scss","components/_btn-group-mobile.scss","components/_summary-hero.scss","components/_form-newsletter.scss","components/_search-form.scss","components/_list-socials.scss","components/_modal-share.scss","components/_dropdown.scss","components/_card-article.scss","components/_figures.scss","components/_card-article-small.scss","components/_card-impact.scss","components/_card-impact-small.scss","components/_details-summary.scss","components/_card-open-graph.scss","components/_swiper.scss","components/_slider-before-after.scss","partials/_site-menu.scss","partials/_site-footer.scss","partials/_main-layout.scss","partials/_page-header.scss","partials/_container-cards.scss","template/_home.scss","template/_investigation.scss","template/_investigation_content.scss","template/_package.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file diff --git a/assets/css/style.scss b/assets/css/style.scss index 3a46dd1..cd38aee 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -8,13 +8,14 @@ // @import 'components/nav-tabs'; // @import 'components/btn--default'; @import "components/buttons"; -@import "components/category"; +@import "components/tags"; @import "components/keywords"; +@import "components/details-summary"; @import "components/sort"; @import "components/btn-group-mobile"; @import "components/figures"; -@import "components/investigation-hero"; +@import "components/summary-hero"; @import "components/form-newsletter"; @import "components/search-form"; @import "components/list-socials"; @@ -23,28 +24,22 @@ @import "components/text"; @import "components/card-article"; @import "components/card-article-small"; -@import "components/card-block"; -@import "components/card-block-small"; +@import "components/card-impact"; +@import "components/card-impact-small"; +// @import "components/card-package"; @import "components/card-open-graph"; @import "components/swiper"; -@import "components/lightbox"; @import "components/slider-before-after"; -@import "components/dl-table"; -@import "components/bottom-bar"; -@import "components/newsletter-form"; -@import "components/support-bar"; - @import "partials/site-header"; @import "partials/site-menu"; @import "partials/site-footer"; @import "partials/main-layout"; @import "partials/page-header"; -@import "partials/page-aside"; @import "partials/container-cards"; @import "template/home"; -@import "template/page-single"; @import "template/investigation"; @import "template/investigation_content"; +@import "template/package"; @import "template/impacts"; diff --git a/assets/css/template/_home.scss b/assets/css/template/_home.scss index 7b4101a..71dc2bc 100644 --- a/assets/css/template/_home.scss +++ b/assets/css/template/_home.scss @@ -7,14 +7,12 @@ @media #{$medium} { padding-bottom: calc(var(--spacing)*4); margin-bottom: calc(var(--spacing)*4); - - &:first-of-type{ + &:first-of-type{ padding-top: calc(var(--spacing)*2); } .col-left{ margin-bottom: calc(var(--spacing)*3); } - } .baseline-section { @@ -24,7 +22,19 @@ margin-bottom: calc(var(--spacing)*1); } - + .btn--bold-inline{ + text-transform: none; + font-weight: 500; + font-size: var(--fs-small); + .icon{ + position: relative; + top: 2px; + } + svg{ + width: 13px; + height: 13px; + } + } @media #{$medium-up} { @@ -35,16 +45,16 @@ margin-bottom: calc(var(--spacing)*4); padding-top: calc(var(--spacing)*4); display: grid; - // grid-template-columns: 1fr 2fr; - grid-template-columns: minmax(360px, 1fr) 2fr; - grid-gap: calc(var(--padding-body)*3); + --gap: calc(var(--padding-body)*2); + grid-template-columns: 1fr 2fr; + grid-gap: var(--gap); } - + .col-left { align-self: start; position: sticky; - top: calc(var(--header-h) + var(--spacing)*1.5); + top: calc(var(--header-h) + var(--spacing)*4); } @@ -53,13 +63,6 @@ height: 100%; } - &#home__investigations .section--inner{ - .section--inner{ padding-top: calc(var(--spacing)*1); } - .col-left{ top: calc(var(--header-h) + var(--spacing)*1.5); } - } - - - } @@ -67,7 +70,7 @@ @media #{$small} { .card--article, - .card--block{ + .card--impact{ margin-bottom: calc(var(--spacing)*1); } @@ -90,11 +93,8 @@ -#home__investigations { - .section--inner{ - padding-top: calc(var(--spacing)*1.5); - } +#home__investigations { @media #{$small-up} { .col-right{ @@ -102,7 +102,44 @@ grid-template-columns: 1fr 1fr; gap: var(--padding-body); - + .card--article:first-of-type{ + grid-column: span 2; + + display: grid; + grid-template-columns: 1fr 1fr; + + figure, + picture{ + grid-column: span 2; + } + + .title{ + grid-column: span 2; + font-size: var(--fs-medium); + padding-right: 3ch; + margin-bottom: calc(var(--spacing)*1); + } + + .description{ + grid-column: 1; + grid-row: 3; + padding-right: 3ch; + display: block; + -webkit-line-clamp: unset; + -webkit-box-orient: unset; + overflow: visible; + } + + dl{ + grid-column: 2; + grid-row: 3; + } + + .keywords-wrapper{ + grid-column: 2; + grid-row: 4; + } + } .see-more{ grid-column: span 2; @@ -114,8 +151,6 @@ - - } diff --git a/assets/css/template/_investigation.scss b/assets/css/template/_investigation.scss index 980afe9..b6ff266 100644 --- a/assets/css/template/_investigation.scss +++ b/assets/css/template/_investigation.scss @@ -2,15 +2,11 @@ position: relative; + + .page__header { margin-inline: auto; max-width: var(--max-w-content); - margin-bottom: 0px; - - - .page__description{ - margin-bottom: 0px; - } } .page__content{ @@ -18,32 +14,118 @@ } - #investigation__hero{ - @media #{$small-up} { - padding-top: calc(var(--spacing)*2.5); - margin-bottom: calc(var(--spacing)*3); - } - @media #{$small} { - padding-top: calc(var(--spacing)*1.5); - margin-bottom: calc(var(--spacing)*2); - } + .investigation__content{ + font-size: var(--fs-text); + } + + + + // @media screen and (max-width: 1340px) { + // margin-left: auto; + // margin-right: calc(var(--padding-body) * 3); + // .panel-left { + // width: calc(100vw - var(--max-w-cards) - var(--padding-body) * 6); + // } + // } + + // @media screen and (max-width: 1220px) { + // margin-left: auto; + // margin-right: 0px; + // width: calc(100% - var(--panel-w) * 0.5 - var(--padding-body)); + // .panel-left { + // width: calc(var(--panel-w) * 0.5); + // } + // } + + // .section__article { + // background-color: red; + // margin-top: calc(var(--spacing) * 3); + // margin-bottom: calc(var(--spacing) * 3); + // max-width: var(--max-w-content); + // margin-inline: auto; + + // &:target { + // padding-top: calc(var(--header-h) + var(--spacing) * 1); + // } + + // a:hover { + // color: var(--grey-200); + // } + + // .section__title { + // font-weight: 500; + // text-transform: uppercase; + // margin-bottom: calc(var(--spacing) * 1); + // padding-right: 2ch; + // text-wrap: balance; + // } + // } + + + + #investigation__dl { + margin-top: calc(var(--spacing) * 1.5); + border-bottom: var(--border-light); + max-width: var(--max-w-content); + margin-inline: auto; + font-size: var(--fs-normal); + + .dl__group { + @include grid-content(); + column-gap: 1ch; + border-top: var(--border-light); + padding: calc(var(--spacing) * 0.5) 0; + } + + dt { + color: var(--color-txt-light); + padding-right: 1ch; + } + + ul:not(.keywords) { + list-style: none; + + li { + padding-bottom: 0.2em; } + } + } + .investigation__aside{ + max-width: var(--max-w-cards); + margin: calc(var(--spacing)*4) auto; - - - - - - + .aside__title{ + font-weight: 500; + text-transform: uppercase; + margin-bottom: calc(var(--spacing)*1) + + } + } - +// SMALL ---------------------------------------------------------- +// ---------------------------------------------------------------- + +// @media #{$small} { +// [data-template="investigation"] main { +// width: 100%; + +// header { +// margin-bottom: calc(var(--spacing) * 1); +// } + +// .section__article { +// margin-top: calc(var(--spacing) * 2); +// margin-bottom: calc(var(--spacing) * 2); +// } + +// .panel-left { +// display: none; +// } +// } + } - - - - diff --git a/assets/css/template/_investigation_content.scss b/assets/css/template/_investigation_content.scss index 58de4bc..689cc76 100644 --- a/assets/css/template/_investigation_content.scss +++ b/assets/css/template/_investigation_content.scss @@ -1,162 +1,153 @@ -#investigation__content { - padding-top: calc(var(--spacing) * 4); - .section-title-only { - margin-bottom: 0; - } +.investigation__content { - .section-txt { - max-width: var(--max-w-content); - margin-inline: auto; - } + margin-top: calc(var(--spacing) * 4); - .subsection-txt .insert { - margin-top: calc(var(--spacing) * 2); - margin-bottom: calc(var(--spacing) * 2); - padding: calc(var(--padding-inner) * 2) calc(var(--padding-inner) * 1.5); - } - - .subsection-txt { - max-width: var(--max-w-content); - } - - img { - max-height: 75vh; - object-fit: cover; - } - - @media #{$small-up} { .section-content { - margin-bottom: calc(var(--spacing) * 4); - } - - .subsection-w-media { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); - gap: var(--padding-body); - position: relative; - - .media { - margin-inline: auto; - width: 100%; - - position: sticky; - top: calc(var(--header-h) + var(--spacing)); - align-self: start; - - @media #{$medium-up} { - padding-left: var(--padding-inner); - padding-right: var(--padding-inner); + // min-height: calc(100vh - var(--header-h)); + padding-left: calc(var(--padding-body)*1.5); + padding-right: calc(var(--padding-body)*1.5); + margin-bottom: calc(var(--spacing)*6); + &:target{ + padding-top: calc(var(--header-h) + var(--spacing)*2); + @media #{$small}{ padding-top: calc(var(--header-h) + var(--spacing)*0.5); } } - } + } + + + .section-title { + + max-width: var(--max-w-content); + margin-inline: auto; + margin-bottom: calc(var(--spacing)*2); + + font-size: var(--fs-medium); + + font-weight: 500; + // text-transform: uppercase; + text-wrap: balance; + max-width: var(--max-w-content); + } + + .section-txt{ + max-width: var(--max-w-content); + margin-inline: auto; + + + } + + .subsection-w-media{ + display: grid; + grid-template-columns: 1fr 1fr; + gap: var(--padding-body); + margin-bottom: calc(var(--spacing)*4); + margin-top: calc(var(--spacing)*2); + position: relative; + + + .media{ + margin-inline: auto; + max-width: var(--max-w-content); + padding-left: var(--padding-inner); + padding-right: var(--padding-inner); + position: sticky; + top: calc(var(--header-h) + var(--spacing)); + align-self: start; + } + + } + + .subsection-txt { - min-height: calc(100vh - var(--header-h)); - padding-left: var(--padding-inner); - padding-right: var(--padding-inner); - padding-bottom: calc(var(--spacing) * 6); - } - } - - @media #{$small} { - .section-content:not(.section-title-only) { - padding-bottom: calc(var(--spacing) * 1); - margin-bottom: calc(var(--spacing) * 2); - border-bottom: var(--border-light); + min-height: calc(100vh - var(--header-h)); + max-width: var(--max-w-content); + padding-left: var(--padding-inner); + padding-right: var(--padding-inner); + padding-bottom: calc(var(--spacing)*6); } - .section-title-only { - margin-bottom: calc(var(--spacing) * 1.5); - } - .media { - margin-bottom: calc(var(--spacing) * 2); + .subsection-w-hscroll{ + position: relative; + margin-bottom: calc(var(--spacing)*4); + + .horizontal-scroll{ + height: 100vh; + width: 100vw; + overflow: hidden; + display: flex; + align-items: center; + } + + .horizontal-scroll-wrapper{ + display: flex; + flex-wrap: nowrap; + will-change: transform; + } + + .horizontal-scroll-slide{ + flex-shrink: 0; + width: 90vw; + max-width: 700px; + padding: 0 calc(var(--spacing) * 1); + + figure, img{ + width: 100%; + } + } + + .horizontal-scroll-pagination{ + position: fixed; + bottom: calc(var(--spacing) * 2); + left: 50%; + transform: translateX(-50%); + display: flex; + gap: 8px; + z-index: 10; + } + } - h3 { - margin-top: calc(var(--spacing) * 3); - margin-bottom: calc(var(--spacing) * 1.5); - font-size: 1.35em; + + + p { + margin: calc(var(--spacing)*0.75) 0; } - h4 { - margin-top: calc(var(--spacing) * 3); - margin-bottom: calc(var(--spacing) * 1); - font-size: 1em; + ul { + padding-left: 3ch; + + li{ + margin: calc(var(--spacing)*0.5) 0; + } } - - h4, - h5 { - margin-top: calc(var(--spacing) * 3); - margin-bottom: calc(var(--spacing) * 1); - } - - .subsection-txt .insert { - margin-top: calc(var(--spacing) * 1.5); - } - } - - .subsection-w-hscroll { - position: relative; - margin-bottom: calc(var(--spacing) * 4); - - .horizontal-scroll { - height: 100vh; - width: 100vw; - overflow: hidden; - display: flex; - align-items: center; - } - - .horizontal-scroll-wrapper { - display: flex; - flex-wrap: nowrap; - will-change: transform; - } - - .horizontal-scroll-slide { - flex-shrink: 0; - width: 90vw; - max-width: 700px; - padding: 0 calc(var(--spacing) * 1); - - figure, - img { - width: 100%; - } - } - - .horizontal-scroll-pagination { - position: fixed; - bottom: calc(var(--spacing) * 2); - left: 50%; - transform: translateX(-50%); - display: flex; - gap: 8px; - z-index: 10; - } - } - - .insert--inner > :last-child { - margin-bottom: 0px; - } - .insert--inner > :first-child, - .subsection-txt > :first-child, - .section-content > :first-child { - margin-top: 0px; - } } .investigation__content:target { - padding-top: calc(var(--header-h) * 2 + var(--spacing)) !important; + padding-top: calc(var(--header-h)*2 + var(--spacing)) !important; } -.media { - video { - width: 100%; - } - figure { - height: auto; - } +.media{ + + video{ + width: 100%; + } + + figure{ + height: auto; + } + + .caption{ + font-size: var(--fs-small); + color: var(--color-txt-light); + font-weight: 500; + line-height: 1.1; + } + + .swiper{ + width: calc(100% - 60px); + max-width: 600px; + } } diff --git a/assets/css/template/_package.scss b/assets/css/template/_package.scss new file mode 100644 index 0000000..263e37f --- /dev/null +++ b/assets/css/template/_package.scss @@ -0,0 +1,88 @@ +.content-package { + // max-width: 1300px; + max-width: var(--max-w-cards); + margin: 0 auto; + display: grid; + grid-gap: calc(var(--padding-body) * 1.5); + // grid-template-columns: 60% cacl(40% - var(--padding-body)*1.5); + + position: relative; + + .container-cards { + display: block; + align-self: start; + } + + #section__investigations article { + margin-bottom: calc(var(--spacing) * 1); + } + + .container__title { + font-weight: normal; + font-size: var(--fs-small); + font-weight: 500; + + text-transform: uppercase; + margin-bottom: calc(var(--spacing) * 0.75); + } + + @media #{$medium} { + #section__investigations { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: calc(var(--padding-inner) * 1.5) !important; + margin-bottom: calc(var(--spacing) * 3); + article { + margin-bottom: 0px; + } + .container__title { + grid-column: span 2; + margin-bottom: 0px; + } + } + section:target { + padding-top: calc(var(--header-h) + var(--spacing)); + } + } + + @media #{$medium-up} { + #nav-package { + display: none; + } + grid-template-columns: 1fr 1fr; + #section__investigations { + display: block; + margin-bottom: 0px; + article { + margin-bottom: calc(var(--spacing) * 1); + } + } + } + + @media #{$small} { + display: block; + #section__investigations { + display: block; + } + .container__title { + margin-bottom: calc(var(--spacing) * 0.5) !important; + } + } +} + +#nav-package { + display: flex; + margin-top: calc(var(--spacing) * -1); + margin-bottom: calc(var(--spacing) * 2); + + svg { + width: 10px; + height: 10px; + transform: rotate(90deg); + } +} +@media #{$medium-up} { + #nav-package { + display: none; + } +} diff --git a/assets/css/template/_page-single.scss b/assets/css/template/_page-single.scss deleted file mode 100644 index 003ebab..0000000 --- a/assets/css/template/_page-single.scss +++ /dev/null @@ -1,51 +0,0 @@ -.main__single { - - .page__header{ - max-width: var(--max-w-content); - border-bottom: var(--border-light); - padding-bottom: calc(var(--spacing)*1); - - .page__description{ - margin-bottom: calc(var(--spacing)*1); - - } - @include figure-16-9(); - } - - - .page__content{ - max-width: var(--max-w-content); - margin-top: calc(var(--spacing)*3); - @media #{$small} { - margin-top: calc(var(--spacing)*1.25); - } - } - -} - - -.page__header + #related-investigations{ - padding-top: calc(var(--spacing) * 1); - @media #{$small} { - padding-top: 0; - } -} - - - -[data-template="newsletter"], -[data-template="about"], -[data-template="privacy-policy"], -[data-template="legal-notices"]{ - .page__header{ - border-bottom: none; - padding-bottom: 0px; - - .page__title{ - text-align: center; - border-bottom: var(--border-medium); - padding-bottom: calc(var(--spacing) * 0.5); - - } - } -} \ No newline at end of file diff --git a/assets/icons/download.svg b/assets/icons/download.svg deleted file mode 100644 index d486481..0000000 --- a/assets/icons/download.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/assets/icons/share.svg b/assets/icons/share.svg index 0937f29..f61e992 100644 --- a/assets/icons/share.svg +++ b/assets/icons/share.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/assets/js/back-to-top.js b/assets/js/back-to-top.js deleted file mode 100644 index 834ca56..0000000 --- a/assets/js/back-to-top.js +++ /dev/null @@ -1,24 +0,0 @@ -export function backToTop(){ - const btn = document.getElementById('btn--back-to-top'); - if (!btn) return; - - let lastY = window.scrollY; - let peakY = window.scrollY; - - window.addEventListener('scroll', () => { - const currentY = window.scrollY; - - if (currentY > lastY) { - peakY = currentY; - btn.classList.remove('is-visible'); - } else { - if (currentY <= 800) { - btn.classList.remove('is-visible'); - } else if (peakY - currentY >= 200 && peakY > 600) { - btn.classList.add('is-visible'); - } - } - - lastY = currentY; - }, { passive: true }); -} \ No newline at end of file diff --git a/assets/js/banner-sticky-desktop.js b/assets/js/banner-sticky-desktop.js new file mode 100644 index 0000000..3495b43 --- /dev/null +++ b/assets/js/banner-sticky-desktop.js @@ -0,0 +1,58 @@ +let isInitialized = false; + +export function bannerStickyDesktop(responsiveSmall) { + if (isInitialized) return; + + let body = document.body; + let panel = body.querySelector(".panel-left"); + + if (!panel) return; + + let footer = document.querySelector("#site-footer"); + + // Stocker la hauteur initiale du banner + const bannerInitialHeight = panel.offsetHeight; + + function checkScroll() { + const screenWidth = window.innerWidth; + + // Vérifier que l'écran est plus grand que responsiveSmall + if (screenWidth <= responsiveSmall) { + // Réinitialiser le transform si on est en dessous de responsiveSmall + panel.style.transform = ''; + return; + } + + // Calculer la position du bas de la fenêtre + const windowBottom = window.scrollY + window.innerHeight; + + // Calculer dynamiquement la position du footer à chaque scroll + // Utiliser getBoundingClientRect() + scrollY pour une valeur toujours à jour + const footerTop = footer.getBoundingClientRect().top + window.scrollY; + + // Calculer de combien on dépasse le haut du footer + const overlap = windowBottom - footerTop; + + if (overlap > 0) { + // Le bas de la fenêtre a atteint le haut du footer + // Déplacer le banner vers le haut du nombre de pixels de dépassement + const translateValue = Math.min(overlap, bannerInitialHeight); + panel.style.transform = `translateY(-${translateValue}px)`; + } else { + // Réinitialiser la position si on n'a pas encore atteint le footer + panel.style.transform = 'translateY(0)'; + } + } + + window.addEventListener('scroll', checkScroll); + window.addEventListener('resize', () => { + if (window.innerWidth > responsiveSmall) { + panel.style.transform = ''; + } + checkScroll(); + }); + + checkScroll(); + + isInitialized = true; +} \ No newline at end of file diff --git a/assets/js/bottom-bar.js b/assets/js/bottom-bar.js deleted file mode 100644 index 392a76d..0000000 --- a/assets/js/bottom-bar.js +++ /dev/null @@ -1,59 +0,0 @@ - - -export function progressBar(){ - const bar = document.getElementById('progressBar'); - if (!bar) return; - - window.addEventListener('scroll', () => { - const scrollTop = window.scrollY; - const docHeight = document.documentElement.scrollHeight - window.innerHeight; - const progress = docHeight > 0 ? (scrollTop / docHeight) * 100 : 0; - bar.style.width = `${progress}vw`; - }, { passive: true }); -} - - -export function scrollBack(){ - const bottomBar = document.getElementById('bottom-bar'); - const navInvestigation = document.getElementById('nav-investigation'); - const header = document.getElementById('site-header'); - const footerEl = document.getElementById('support-bar') || document.getElementById('site-footer'); - - let lastY = window.scrollY; - let peakY = window.scrollY; - let visible = false; - - window.addEventListener('scroll', () => { - const currentY = window.scrollY; - - // header : basé uniquement sur la position absolue - if (navInvestigation && header) { - header.classList.toggle('has-nav-investigation', currentY >= 160); - } - - // zone footer : bottom-bar masquée et verrouillée - const inFooterZone = footerEl && (currentY + window.innerHeight >= footerEl.offsetTop); - - if (inFooterZone) { - if (visible) { - visible = false; - if (bottomBar) bottomBar.classList.remove('is-visible'); - } - } else if (currentY > lastY) { - // scroll bas - peakY = currentY; - if (!visible && currentY > 280) { - visible = true; - if (bottomBar) bottomBar.classList.add('is-visible'); - } - } else { - // scroll haut : hide après 200px remontés - if (visible && peakY - currentY >= 200) { - visible = false; - if (bottomBar) bottomBar.classList.remove('is-visible'); - } - } - - lastY = currentY; - }, { passive: true }); -} \ No newline at end of file diff --git a/assets/js/btn-group-mobile.js b/assets/js/btn-group-mobile.js new file mode 100644 index 0000000..518b6aa --- /dev/null +++ b/assets/js/btn-group-mobile.js @@ -0,0 +1,35 @@ +let isInitialized = false; + +export function btnGroupMobile() { + if (isInitialized) return; + const btnGroup = document.querySelector(".btn--group__mobile"); + let footer = document.querySelector("#site-footer"); + + if (!btnGroup) return; + + function checkScroll() { + + const windowHeight = window.innerHeight; + const scrollY = window.scrollY; + const footerTop = footer.getBoundingClientRect().top; + + if (scrollY > windowHeight * 0.6) { + btnGroup.classList.add('is-visible'); + + if (footerTop < windowHeight) { + btnGroup.classList.remove('is-visible'); + } + } else { + btnGroup.classList.remove('is-visible'); + } + } + + window.addEventListener('scroll', checkScroll); + checkScroll(); + + isInitialized = true; + + +} + + diff --git a/assets/js/dropdown.js b/assets/js/dropdown.js index 7610727..d254a9d 100644 --- a/assets/js/dropdown.js +++ b/assets/js/dropdown.js @@ -1,4 +1,4 @@ -export function initDropdowns(responsiveSmall, responsiveSmallX) { +export function initDropdowns(responsiveSmall) { const dropdowns = document.querySelectorAll('.dropdown'); function updateBodyOverflow(isOpen, dropdownElement = null) { @@ -17,7 +17,7 @@ export function initDropdowns(responsiveSmall, responsiveSmallX) { if (!trigger) return; - + // Empêche la fermeture au clic dans le contenu des dropdowns contenant .modal--share if (dropdown.querySelector('.modal--share') && content) { content.addEventListener('click', (e) => { @@ -33,14 +33,12 @@ export function initDropdowns(responsiveSmall, responsiveSmallX) { if (other !== dropdown) { other.classList.remove('is-open', 'dropdown--align-right'); other.querySelector('.dropdown__trigger')?.classList.remove('is-selected'); - const otherContent = other.querySelector('.dropdown__content'); - if (otherContent) otherContent.style.transform = ''; } }); const isOpening = !dropdown.classList.contains('is-open'); - if (isOpening && !dropdown.closest('#bottom-bar')) { + if (isOpening) { // Vérifie s'il y a la place à droite const content = dropdown.querySelector('.dropdown__content'); const triggerRect = trigger.getBoundingClientRect(); @@ -58,19 +56,6 @@ export function initDropdowns(responsiveSmall, responsiveSmallX) { dropdown.classList.toggle('is-open'); trigger.classList.toggle('is-selected'); - // Décalage horizontal pour #bottom-bar sur petit écran - if (dropdown.closest('#bottom-bar') && window.innerWidth < responsiveSmallX) { - if (dropdown.classList.contains('is-open')) { - requestAnimationFrame(() => { - const rect = content.getBoundingClientRect(); - const paddingBody = parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--padding-body')) || 0; - content.style.transform = `translateX(${-rect.left + paddingBody}px)`; - }); - } else { - content.style.transform = ''; - } - } - // Gère l'overflow du body sur mobile updateBodyOverflow(dropdown.classList.contains('is-open'), dropdown); }); @@ -85,8 +70,6 @@ export function initDropdowns(responsiveSmall, responsiveSmallX) { } dropdown.classList.remove('is-open', 'dropdown--align-right'); dropdown.querySelector('.dropdown__trigger')?.classList.remove('is-selected'); - const c = dropdown.querySelector('.dropdown__content'); - if (c) c.style.transform = ''; }); updateBodyOverflow(false); }); @@ -97,8 +80,6 @@ export function initDropdowns(responsiveSmall, responsiveSmallX) { dropdowns.forEach(dropdown => { dropdown.classList.remove('is-open', 'dropdown--align-right'); dropdown.querySelector('.dropdown__trigger')?.classList.remove('is-selected'); - const c = dropdown.querySelector('.dropdown__content'); - if (c) c.style.transform = ''; }); updateBodyOverflow(false); } diff --git a/assets/js/header.js b/assets/js/header.js index daf8a40..0549ae3 100644 --- a/assets/js/header.js +++ b/assets/js/header.js @@ -1,38 +1,10 @@ export function headerToggle() { const header = document.getElementById("site-header"); const buttonToggle = document.querySelector("#menu-toggle"); - const siteMenu = document.getElementById("site-menu"); - const overlay = document.getElementById("menu-overlay"); if (!header || !buttonToggle) return; - - function openMenu() { - document.body.classList.add("menu-open"); - buttonToggle.setAttribute("aria-expanded", "true"); - buttonToggle.setAttribute("aria-label", "Fermer le menu"); - siteMenu?.removeAttribute("inert"); - } - - function closeMenu() { - document.body.classList.remove("menu-open"); - buttonToggle.setAttribute("aria-expanded", "false"); - buttonToggle.setAttribute("aria-label", "Ouvrir le menu"); - siteMenu?.setAttribute("inert", ""); - } - - buttonToggle.addEventListener("click", (e) => { - e.stopPropagation(); - document.body.classList.contains("menu-open") ? closeMenu() : openMenu(); - }); - - header.addEventListener("click", () => { - if (document.body.classList.contains("menu-open")) closeMenu(); - }); - - overlay?.addEventListener("click", closeMenu); - - document.addEventListener("keydown", (e) => { - if (e.key === "Escape" && document.body.classList.contains("menu-open")) closeMenu(); + buttonToggle.addEventListener("click", () => { + const isOpen = document.body.classList.toggle("menu-open"); }); } diff --git a/assets/js/hero-slider.js b/assets/js/hero-slider.js new file mode 100644 index 0000000..dd39df8 --- /dev/null +++ b/assets/js/hero-slider.js @@ -0,0 +1,50 @@ +import Swiper from 'https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.mjs'; + +export function initHeroSlider() { + const heroSlider = document.querySelector('.hero-slider'); + + if (!heroSlider) { + return; + } + + const swiper = new Swiper('.hero-slider', { + // Optional parameters + loop: true, + speed: 600, + effect: 'fade', + fadeEffect: { + crossFade: true + }, + + // Touch/Swipe settings (activé par défaut, mais configuré ici pour optimisation) + touchRatio: 1, + touchAngle: 45, + grabCursor: true, + simulateTouch: true, + allowTouchMove: true, + + // Navigation arrows + navigation: { + nextEl: '.swiper-button-next', + prevEl: '.swiper-button-prev', + }, + + // Pagination + pagination: { + el: '.swiper-pagination', + clickable: true, + }, + + // Keyboard control + keyboard: { + enabled: true, + }, + + // Accessibility + a11y: { + prevSlideMessage: 'Diapositive précédente', + nextSlideMessage: 'Diapositive suivante', + paginationBulletMessage: 'Aller à la diapositive {{index}}', + }, + }); +} diff --git a/assets/js/hero-video.js b/assets/js/hero-video.js index 2ab524c..707c316 100644 --- a/assets/js/hero-video.js +++ b/assets/js/hero-video.js @@ -1,49 +1,38 @@ export function playVideo() { const playButton = document.querySelector('#hero-play-video'); - if (!playButton) return; - const playerDiv = document.querySelector('#youtube-player'); - if (!playerDiv) return; + if (!playButton) { + return; + } - // Charger l'API YouTube IFrame Player - const tag = document.createElement('script'); - tag.src = 'https://www.youtube.com/iframe_api'; - document.head.appendChild(tag); - - let ytReady = false; - window.onYouTubeIframeAPIReady = () => { ytReady = true; }; - - playButton.addEventListener('click', function () { + playButton.addEventListener('click', function() { const extract = document.querySelector('.extract'); const videoFull = document.querySelector('.video-full'); const titleSmall = document.querySelector('.page-title-small'); - if (extract) extract.style.display = 'none'; - if (titleSmall) titleSmall.style.display = 'none'; + + if (extract) { + extract.style.display = 'none'; + } + + if(titleSmall){ + titleSmall.style.display = 'none'; + } if (videoFull) { videoFull.style.display = 'block'; - function createPlayer() { - new YT.Player('youtube-player', { - videoId: playerDiv.dataset.videoId, - width: '100%', - height: '100%', - playerVars: { - autoplay: 1, - rel: 0, - }, - events: { - onReady: (e) => e.target.playVideo(), - }, - }); - } + const iframe = videoFull.querySelector('iframe'); + if (iframe) { + const src = iframe.src; - if (ytReady) { - createPlayer(); - } else { - window.onYouTubeIframeAPIReady = createPlayer; + // Ajouter les paramètres autoplay et mute pour YouTube + if (src) { + const separator = src.includes('?') ? '&' : '?'; + iframe.src = src + separator + 'autoplay=1&mute=1'; + iframe.setAttribute('allow', 'autoplay; encrypted-media'); + } } } }); diff --git a/assets/js/investigation.js b/assets/js/investigation.js index 58a8c97..3068488 100644 --- a/assets/js/investigation.js +++ b/assets/js/investigation.js @@ -1,32 +1,11 @@ -export function navInvestigation(){ - const nav = document.getElementById('nav-investigation'); - if (!nav) return; - - const items = nav.querySelectorAll('li'); - const headerOffset = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--h-header')) || 0; - - const sections = Array.from(items).map(li => { - const href = li.querySelector('a')?.getAttribute('href'); - const target = href ? document.querySelector(href) : null; - return { li, target }; - }).filter(s => s.target); - - const update = () => { - const scrollY = window.scrollY + headerOffset; - let current = sections[0]; - - for (const section of sections) { - if (section.target.offsetTop <= scrollY) { - current = section; - } +export function initSliderBeforeAfter(container = document){ + const slidersBeforeAfter = container.querySelectorAll('.slider-before-after'); + slidersBeforeAfter.forEach(function (sliderContainer, index) { + const sliderInput = sliderContainer.querySelector('.slider'); + if (sliderInput) { + sliderInput.addEventListener('input', (e) => { + sliderContainer.style.setProperty('--position', `${e.target.value}%`); + }); } - - items.forEach(li => li.classList.remove('is-selected')); - if (current) current.li.classList.add('is-selected'); - }; - - window.addEventListener('scroll', update, { passive: true }); - update(); + }); } - - diff --git a/assets/js/lightbox.js b/assets/js/lightbox.js deleted file mode 100644 index eed3f3e..0000000 --- a/assets/js/lightbox.js +++ /dev/null @@ -1,162 +0,0 @@ -import Swiper from 'https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.mjs'; - -const DESKTOP = window.matchMedia('(min-width: 1080px)'); - -// Inline du close.svg (assets/icons/close.svg) -const CLOSE_SVG = ``; - -let lightboxEl = null; -let lightboxSwiper = null; - -function createLightboxDOM() { - const el = document.createElement('div'); - el.id = 'lightbox'; - el.setAttribute('aria-modal', 'true'); - el.setAttribute('role', 'dialog'); - el.setAttribute('aria-label', 'Image agrandie'); - el.setAttribute('inert', ''); - - el.innerHTML = ` - - - `; - - document.body.appendChild(el); - - el.querySelector('#lightbox-close').addEventListener('click', closeLightbox); - - // Fermeture au clic sur le fond (pas sur le swiper) - el.addEventListener('click', (e) => { - if (e.target === el) closeLightbox(); - }); - - return el; -} - -function ensureLightboxDOM() { - if (!lightboxEl) { - lightboxEl = createLightboxDOM(); - } -} - -function getImageData(figure) { - const img = figure.querySelector('img'); - - // 1. figcaption dans la figure - // 2. p.caption dans la figure (horizontal-gallery) - // 3. p.caption sibling de la figure (covers : resource, news-item, impact…) - const captionEl = - figure.querySelector('figcaption') || - figure.querySelector('p.caption') || - (figure.nextElementSibling?.matches('p.caption') ? figure.nextElementSibling : null); - - return { - src: img?.src || '', - alt: img?.alt || '', - caption: captionEl?.innerHTML || '', - }; -} - -function buildSlides(images) { - const wrapper = lightboxEl.querySelector('.swiper-wrapper'); - wrapper.innerHTML = ''; - - images.forEach(({ src, alt, caption }) => { - const slide = document.createElement('div'); - slide.className = 'swiper-slide'; - slide.innerHTML = ` -
- ${alt} - ${caption ? `
${caption}
` : ''} -
- `; - wrapper.appendChild(slide); - }); -} - -function openLightbox(images, startIndex = 0) { - ensureLightboxDOM(); - buildSlides(images); - - const swiperEl = lightboxEl.querySelector('#lightbox-swiper'); - - // Détruire l'instance précédente si elle existe - if (swiperEl.swiper) { - swiperEl.swiper.destroy(true, true); - } - - lightboxSwiper = new Swiper(swiperEl, { - slidesPerView: 1, - initialSlide: startIndex, - speed: 400, - watchOverflow: true, - keyboard: { enabled: true }, - navigation: { - nextEl: swiperEl.querySelector('.swiper-button-next'), - prevEl: swiperEl.querySelector('.swiper-button-prev'), - }, - pagination: { - el: swiperEl.querySelector('.swiper-pagination'), - clickable: true, - }, - a11y: { - prevSlideMessage: 'Image précédente', - nextSlideMessage: 'Image suivante', - }, - }); - - lightboxEl.removeAttribute('inert'); - document.body.classList.add('lightbox-open'); - lightboxEl.querySelector('#lightbox-close').focus(); -} - -function closeLightbox() { - document.body.classList.remove('lightbox-open'); - lightboxEl.setAttribute('inert', ''); -} - -function isEligible(figure) { - // Exclure les figures dans un - if (figure.closest('a')) return false; - // Exclure si le parent direct contient un .link-block (card navigable) - if (figure.parentElement.querySelector(':scope > .link-block')) return false; - return true; -} - -export function initLightbox() { - // Fermeture à la touche Echap - document.addEventListener('keydown', (e) => { - if (e.key === 'Escape' && document.body.classList.contains('lightbox-open')) { - closeLightbox(); - } - }); - - document.querySelectorAll('figure').forEach((figure) => { - if (!isEligible(figure)) return; - - // Marquer les figures éligibles (pour le cursor CSS) - figure.setAttribute('data-lightbox', ''); - - figure.addEventListener('click', () => { - if (!DESKTOP.matches) return; - - const slide = figure.closest('.swiper-slide'); - - if (slide) { - // Galerie : ouvrir toutes les images du swiper parent - const swiperEl = slide.closest('.swiper'); - const allFigures = [...swiperEl.querySelectorAll('.swiper-slide > figure')]; - const startIndex = allFigures.indexOf(figure); - openLightbox(allFigures.map(getImageData), startIndex); - } else { - // Image standalone - openLightbox([getImageData(figure)], 0); - } - }); - }); -} diff --git a/assets/js/newsletter-brevo.js b/assets/js/newsletter-brevo.js deleted file mode 100644 index 101681c..0000000 --- a/assets/js/newsletter-brevo.js +++ /dev/null @@ -1,89 +0,0 @@ -(function () { - 'use strict'; - - const PROXY_URL = '/newsletter/subscribe'; - - async function subscribeToNewsletter(email, attributes = {}) { - const response = await fetch(PROXY_URL, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ email, attributes }), - }); - - const data = await response.json(); - - if (!response.ok) { - const error = new Error( - data.user_message || data.message || 'Subscription error' - ); - error.code = data.error; - error.data = data; - throw error; - } - - return data; - } - - function showMessage(form, text, isError = false) { - const oldMessages = form.parentNode.querySelectorAll('.newsletter-message'); - oldMessages.forEach((msg) => msg.remove()); - - const message = document.createElement('p'); - message.className = 'newsletter-message'; - message.textContent = text; - message.style.marginTop = '0.5rem'; - message.style.fontSize = '0.9rem'; - message.style.color = isError - ? 'var(--color-error, #ef4444)' - : 'var(--color-success, #22c55e)'; - - form.parentNode.insertBefore(message, form.nextSibling); - - if (!isError) { - setTimeout(() => message.remove(), 5000); - } - } - - async function handleFormSubmit(event) { - event.preventDefault(); - - const form = event.target; - const emailInput = form.querySelector('input[type="email"]'); - const submitButton = form.querySelector('button[type="submit"]'); - - if (!emailInput || !emailInput.value) { - const message = document.documentElement.lang.startsWith('en') - ? 'Please enter a valid email address.' - : 'Veuillez entrer une adresse email valide.'; - showMessage(form, message, true); - return; - } - - const email = emailInput.value.trim(); - submitButton.disabled = true; - - try { - await subscribeToNewsletter(email); - const message = document.documentElement.lang.startsWith('en') - ? 'Thank you! Your subscription has been confirmed.' - : 'Merci, votre inscription est confirmée !'; - showMessage(form, message, false); - form.reset(); - } catch (error) { - const isAlreadySubscribed = error.code === 'email_already_exists'; - showMessage(form, error.message, !isAlreadySubscribed); - } finally { - submitButton.disabled = false; - } - } - - function initNewsletterForms() { - const forms = document.querySelectorAll('.form__newsletter'); - forms.forEach((form) => form.addEventListener('submit', handleFormSubmit)); - } - - document.addEventListener('DOMContentLoaded', initNewsletterForms); -})(); diff --git a/assets/js/panel.js b/assets/js/panel.js new file mode 100644 index 0000000..7575010 --- /dev/null +++ b/assets/js/panel.js @@ -0,0 +1,60 @@ +export function panelToggle(responsiveSmall) { + const toggleBtn = document.querySelector('#toggle-panel'); + const toggleBtnMobile = document.querySelector('#toggle-panel__mobile'); + const main = document.querySelector('main'); + const closeBtn = document.querySelector('.panel-left .panel__header'); + + function openPanel() { + main.classList.add('panel-open'); + const screenWidth = window.innerWidth; + if (screenWidth <= responsiveSmall) { + console.log("small screen"); + document.body.style.overflowY = 'hidden'; + } + + } + + function closePanel() { + main.classList.remove('panel-open'); + main.classList.add('panel-close'); + document.body.style.overflowY = ''; + } + + if (toggleBtn) { + toggleBtn.addEventListener('click', (e) => { + e.stopPropagation(); + openPanel(); + }); + } + + if (toggleBtnMobile) { + toggleBtnMobile.addEventListener('click', (e) => { + e.stopPropagation(); + openPanel(); + }); + } + + if (closeBtn) { + closeBtn.addEventListener('click', closePanel); + } +} + + +export function tocMobile(responsiveSmall) { + const toc = document.querySelector('#toc'); + const main = document.querySelector('main'); + + if (!toc) return; + + const tocLinks = toc.querySelectorAll('a'); + + tocLinks.forEach(link => { + link.addEventListener('click', () => { + if (window.innerWidth <= responsiveSmall) { + main.classList.remove('panel-open'); + main.classList.add('panel-close'); + document.body.style.overflowY = ''; + } + }); + }); +} \ No newline at end of file diff --git a/assets/js/script.js b/assets/js/script.js index 31198a9..6aa5dd2 100644 --- a/assets/js/script.js +++ b/assets/js/script.js @@ -1,79 +1,61 @@ import { headerToggle, headerScrollVisibility } from './header.js'; import { copyLink } from './share.js'; -import { backToTop } from './back-to-top.js'; +import { panelToggle, tocMobile } from './panel.js'; +import { btnGroupMobile } from './btn-group-mobile.js'; +import { bannerStickyDesktop } from './banner-sticky-desktop.js'; import { themeToggle } from './themeToggle.js'; +import { initHeroSlider } from './hero-slider.js'; import { playVideo } from './hero-video.js'; import { initDropdowns } from './dropdown.js'; import { initSwipers } from './swipers.js'; -import { initSliderBeforeAfter} from './sliderBeforeAfter.js'; -import { navInvestigation } from './investigation.js'; -import { progressBar, scrollBack} from './bottom-bar.js'; -import { initSort } from './sort.js'; -import { initLightbox } from './lightbox.js'; +import { initSliderBeforeAfter } from './investigation.js'; const responsiveMedium = 1080; const responsiveSmall = 768; -const responsiveSmallX = 560; window.onload = async function () { console.log("SCRIPT LOADED"); - headerToggle(); + panelToggle(responsiveSmall); themeToggle(); - backToTop(); - initSliderBeforeAfter(); + tocMobile(responsiveSmall); copyLink(); + btnGroupMobile(responsiveSmall) + bannerStickyDesktop(responsiveSmall); + initHeroSlider(); playVideo(); - initDropdowns(responsiveSmall, responsiveSmallX); + initDropdowns(responsiveSmall); initSwipers(); - initLightbox(); - progressBar(); + initSliderBeforeAfter(); - - scrollBack(); - navInvestigation(); - - var elems = document.querySelectorAll('.grid-masonry'); - var msnries = []; + var elem = document.querySelector('.grid-masonry'); + var msnry = null; function initMasonry() { - if (!elems.length) return; + if (!elem) return; if (window.innerWidth >= responsiveSmall) { - elems.forEach(function(elem, i) { - if (!msnries[i]) { - msnries[i] = new Masonry(elem, { - itemSelector: '.card--block:not(.is-sort-hidden)', - columnWidth: '.grid-sizer', - percentPosition: true, - gutter: 26 - }); - } - }); + if (!msnry) { + msnry = new Masonry(elem, { + itemSelector: '.card--impact', + columnWidth: '.grid-sizer', + percentPosition: true, + gutter: 26 + }); + } } else { - msnries.forEach(function(msnry, i) { - if (msnry) { - msnry.destroy(); - msnries[i] = null; - } - }); + if (msnry) { + msnry.destroy(); + msnry = null; + } } } initMasonry(); window.addEventListener('resize', initMasonry); - initSort(() => { - msnries.forEach(function(msnry) { - if (msnry) { - msnry.reloadItems(); - msnry.layout(); - } - }); - }); - } \ No newline at end of file diff --git a/assets/js/sliderBeforeAfter.js b/assets/js/sliderBeforeAfter.js deleted file mode 100644 index 3068488..0000000 --- a/assets/js/sliderBeforeAfter.js +++ /dev/null @@ -1,11 +0,0 @@ -export function initSliderBeforeAfter(container = document){ - const slidersBeforeAfter = container.querySelectorAll('.slider-before-after'); - slidersBeforeAfter.forEach(function (sliderContainer, index) { - const sliderInput = sliderContainer.querySelector('.slider'); - if (sliderInput) { - sliderInput.addEventListener('input', (e) => { - sliderContainer.style.setProperty('--position', `${e.target.value}%`); - }); - } - }); -} diff --git a/assets/js/sort.js b/assets/js/sort.js deleted file mode 100644 index e0c964f..0000000 --- a/assets/js/sort.js +++ /dev/null @@ -1,63 +0,0 @@ -const HIDDEN_CLASS = 'is-sort-hidden'; - -// Injecte la règle CSS pour masquer les cards filtrées -const style = document.createElement('style'); -style.textContent = `.${HIDDEN_CLASS} { display: none !important; }`; -document.head.appendChild(style); - -export function initSort(onLayoutChange) { - const pageSort = document.querySelector('.page__sort'); - if (!pageSort) return; - - const container = document.querySelector('[data-sort-container]'); - if (!container) return; - - const getCards = () => Array.from(container.querySelectorAll('[data-date]')); - - // — Sort by date — - const sortBtn = pageSort.querySelector('[data-sort-type]'); - if (sortBtn) { - sortBtn.addEventListener('click', () => { - const dir = sortBtn.getAttribute('data-sort-type') === 'down' ? 'up' : 'down'; - sortBtn.setAttribute('data-sort-type', dir); - - const cards = getCards(); - cards.sort((a, b) => { - const da = new Date(a.dataset.date || 0); - const db = new Date(b.dataset.date || 0); - return dir === 'up' ? da - db : db - da; - }); - cards.forEach(c => container.appendChild(c)); - - onLayoutChange?.(); - }); - } - - // — Filter by category / location — - const filterBtns = Array.from(pageSort.querySelectorAll('[data-filter]')); - filterBtns.forEach(btn => { - btn.addEventListener('click', () => { - const wasSelected = btn.classList.contains('is-selected'); - - // Ferme le dropdown parent - btn.closest('.dropdown')?.classList.remove('is-open'); - - // Bascule la sélection - filterBtns.forEach(b => b.classList.remove('is-selected')); - const value = wasSelected ? null : btn.getAttribute('data-filter'); - if (!wasSelected) btn.classList.add('is-selected'); - - // Affiche / cache les cards - getCards().forEach(card => { - if (!value) { - card.classList.remove(HIDDEN_CLASS); - } else { - const cardFilters = (card.dataset.filter || '').split(' ').filter(Boolean); - card.classList.toggle(HIDDEN_CLASS, !cardFilters.includes(value)); - } - }); - - onLayoutChange?.(); - }); - }); -} diff --git a/assets/js/swipers.js b/assets/js/swipers.js index ca08787..c69ed3d 100644 --- a/assets/js/swipers.js +++ b/assets/js/swipers.js @@ -18,7 +18,6 @@ export function initSwipers(container = document) { slidesPerView: 1, spaceBetween: 20, speed: 600, - loop: true, // Touch/Swipe settings touchRatio: 1, diff --git a/assets/vendor/swiper/swiper-bundle.min.css b/assets/vendor/swiper/swiper-bundle.min.css deleted file mode 100644 index 4a790c3..0000000 --- a/assets/vendor/swiper/swiper-bundle.min.css +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Swiper 12.1.2 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2026 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: February 18, 2026 - */ - -:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode{.swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}}.swiper-virtual.swiper-css-mode.swiper-horizontal{.swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}}.swiper-virtual.swiper-css-mode.swiper-vertical{.swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon{transform:rotate(180deg)}}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon{transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon{transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon{transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon{transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;&.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>&{display:none!important}&.swiper-scrollbar-horizontal,.swiper-horizontal>&{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}&.swiper-scrollbar-vertical,.swiper-vertical>&{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%;>canvas,>img,>svg{max-height:100%;max-width:100%;object-fit:contain}}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade{&.swiper-free-mode{.swiper-slide{transition-timing-function:ease-out}}.swiper-slide{pointer-events:none;transition-property:opacity;.swiper-slide{pointer-events:none}}.swiper-slide-active{pointer-events:auto;& .swiper-slide-active{pointer-events:auto}}}.swiper.swiper-cube{overflow:visible}.swiper-cube{.swiper-slide{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;.swiper-slide{pointer-events:none}}&.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;&:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}}}.swiper-cube{.swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}}.swiper-cube{.swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-slide-shadow-cube.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper.swiper-flip{overflow:visible}.swiper-flip{.swiper-slide{backface-visibility:hidden;pointer-events:none;z-index:1;.swiper-slide{pointer-events:none}}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}}.swiper-flip{.swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-slide-shadow-flip.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper-creative{.swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}}.swiper.swiper-cards{overflow:visible}.swiper-cards{.swiper-slide{backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}} \ No newline at end of file diff --git a/assets/vendor/swiper/swiper-bundle.min.mjs b/assets/vendor/swiper/swiper-bundle.min.mjs deleted file mode 100644 index 2e3724a..0000000 --- a/assets/vendor/swiper/swiper-bundle.min.mjs +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Swiper 12.1.2 - * Most modern mobile touch slider and framework with hardware accelerated transitions - * https://swiperjs.com - * - * Copyright 2014-2026 Vladimir Kharlampidi - * - * Released under the MIT License - * - * Released on: February 18, 2026 - */ - -import{S as Swiper}from"./shared/swiper-core.min.mjs";import Virtual from"./modules/virtual.min.mjs";import Keyboard from"./modules/keyboard.min.mjs";import Mousewheel from"./modules/mousewheel.min.mjs";import Navigation from"./modules/navigation.min.mjs";import Pagination from"./modules/pagination.min.mjs";import Scrollbar from"./modules/scrollbar.min.mjs";import Parallax from"./modules/parallax.min.mjs";import Zoom from"./modules/zoom.min.mjs";import Controller from"./modules/controller.min.mjs";import A11y from"./modules/a11y.min.mjs";import History from"./modules/history.min.mjs";import HashNavigation from"./modules/hash-navigation.min.mjs";import Autoplay from"./modules/autoplay.min.mjs";import Thumb from"./modules/thumbs.min.mjs";import freeMode from"./modules/free-mode.min.mjs";import Grid from"./modules/grid.min.mjs";import Manipulation from"./modules/manipulation.min.mjs";import EffectFade from"./modules/effect-fade.min.mjs";import EffectCube from"./modules/effect-cube.min.mjs";import EffectFlip from"./modules/effect-flip.min.mjs";import EffectCoverflow from"./modules/effect-coverflow.min.mjs";import EffectCreative from"./modules/effect-creative.min.mjs";import EffectCards from"./modules/effect-cards.min.mjs";const modules=[Virtual,Keyboard,Mousewheel,Navigation,Pagination,Scrollbar,Parallax,Zoom,Controller,A11y,History,HashNavigation,Autoplay,Thumb,freeMode,Grid,Manipulation,EffectFade,EffectCube,EffectFlip,EffectCoverflow,EffectCreative,EffectCards];Swiper.use(modules);export{Swiper,Swiper as default}; -//# sourceMappingURL=swiper-bundle.min.mjs.map \ No newline at end of file diff --git a/site/blueprints/blocks/heading-sub.yml b/site/blueprints/blocks/heading-sub.yml deleted file mode 100644 index 94c8063..0000000 --- a/site/blueprints/blocks/heading-sub.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Titre -icon: title -wysiwyg: true -preview: heading -fields: - level: - label: Niveau - type: toggles - empty: false - default: "h4" - labels: false - options: - - value: h4 - icon: h4 - text: H4 - - value: h5 - icon: h5 - text: H5 - text: - label: Texte - type: writer - inline: true - placeholder: Titre… diff --git a/site/blueprints/blocks/insert.yml b/site/blueprints/blocks/insert.yml deleted file mode 100644 index 372494b..0000000 --- a/site/blueprints/blocks/insert.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: Insert (conclusion, hightlight, notes) -icon: text -preview: fields -fields: - title: - label: Titre - type: text - width: 2/3 - level: - label: Niveau - type: select - default: h3 - width: 1/3 - options: - h3: H3 - h4: H4 - h5: H5 - text: - type: writer - size: huge - marks: - - bold - - italic - - underline - - link - - strike - nodes: - - bulletList - placeholder: Texte d'insert... diff --git a/site/blueprints/fields/investigations.yml b/site/blueprints/fields/investigations.yml index c713cc6..f6c3c0b 100644 --- a/site/blueprints/fields/investigations.yml +++ b/site/blueprints/fields/investigations.yml @@ -1,12 +1,9 @@ label: Enquêtes type: pages parent: page('enquetes') -template: investigation layout: cards -text: "{{ page.title }}" +text: "{{ page.title }}, {{ page.subtitle }}" info: "{{ page.incidentConsequences }} à {{ page.incidentLocation }}" -size: huge -search: true image: cover: true ratio: 16/9 diff --git a/site/blueprints/pages/about.yml b/site/blueprints/pages/about.yml index 4b0a0ea..f06fb49 100644 --- a/site/blueprints/pages/about.yml +++ b/site/blueprints/pages/about.yml @@ -4,20 +4,4 @@ tabs: contentTab: label: Contenu icon: page - fields: - title: - label: Titre - type: text - required: true - body: - label: Corps - type: blocks - fieldsets: - - heading-sub - - text - - image - - beforeafter - - video - - gallery - - insert seo: seo/page diff --git a/site/blueprints/pages/contact.yml b/site/blueprints/pages/contact.yml index 77c5075..7a501e1 100644 --- a/site/blueprints/pages/contact.yml +++ b/site/blueprints/pages/contact.yml @@ -3,17 +3,4 @@ title: Contact tabs: contentTab: label: Contenu - icon: page - fields: - title: - label: Titre - type: text - required: true - body: - label: Corps - type: blocks - fieldsets: - - heading - - text - - image seo: seo/page diff --git a/site/blueprints/pages/database.yml b/site/blueprints/pages/database.yml index 5d91b05..a406d88 100644 --- a/site/blueprints/pages/database.yml +++ b/site/blueprints/pages/database.yml @@ -24,18 +24,6 @@ columns: methodologies: label: Méthodologies type: tags - impactCategories: - label: Catégories des impacts - type: tags - newsCategories: - label: Catégories des brèves - type: tags - projectCategories: - label: Catégories des projets - type: tags - resourceCategories: - label: Catégories des ressources - type: tags robots: type: hidden default: noindex, nofollow diff --git a/site/blueprints/pages/home.yml b/site/blueprints/pages/home.yml index 4942571..80acfda 100644 --- a/site/blueprints/pages/home.yml +++ b/site/blueprints/pages/home.yml @@ -5,37 +5,14 @@ tabs: label: Contenu icon: page fields: - sections: - label: Sections - type: structure - fields: - baseline: - label: Baseline (colonne gauche) - type: text - width: 1/1 - buttonText: - label: Texte du bouton - type: text - width: 1/2 - buttonLink: - label: Lien du bouton - type: url - width: 1/2 - contentType: - label: Type de contenu - type: select - required: true - options: - investigations: "Enquêtes" - impacts: Impacts - packages: Dossiers - projects: "Projets (Lab)" - news: "Brèves" - width: 1/2 - count: - label: "Nombre d'éléments (min. 4)" - type: number - min: 4 - default: 6 - width: 1/2 + mainBaseline: + label: Baseline + type: text + help: À gauche des enquêtes. + width: 1/2 + impactsBaseline: + label: Phrase d'introduction des impacts + type: text + help: À gauche des impacts. + width: 1/2 seo: seo/page diff --git a/site/blueprints/pages/impact-media.yml b/site/blueprints/pages/impact-media.yml deleted file mode 100644 index f51cd51..0000000 --- a/site/blueprints/pages/impact-media.yml +++ /dev/null @@ -1,18 +0,0 @@ -title: Impact médiatique - -fields: - linkedInvestigation: - label: Enquête liée - type: pages - query: page('enquetes').children.listed - multiple: false - layout: list - text: "{{ page.title }}" - info: "{{ page.created }}" - width: 1/2 - entries: - label: Articles et reprises - type: entries - width: 1/2 - field: - type: url diff --git a/site/blueprints/pages/impact.yml b/site/blueprints/pages/impact.yml index ca8fe0d..9605ee7 100644 --- a/site/blueprints/pages/impact.yml +++ b/site/blueprints/pages/impact.yml @@ -2,63 +2,9 @@ title: Impact tabs: contentTab: - label: Contenu - icon: page - columns: - - width: 2/6 - sections: - createdSection: - type: fields - fields: - created: - label: Date de publication - type: date - display: DD / MM / YYYY - default: today - width: 1/2 - category: - label: Catégorie - type: tags - max: 1 - options: query - query: page('database').impactCategories.split - cover: - label: Image de couverture - type: files - multiple: false - layout: cards - image: - ratio: 12/7 - cover: true - help: Optionnelle — utilisée dans la liste des impacts. Format 16/9. - - - width: 4/6 - fields: - chapo: - label: Chapeau - type: writer - nodes: false - marks: - - bold - - italic - linkedInvestigations: - label: Enquêtes liées - type: pages - query: page('enquetes').children.listed - multiple: true - layout: list - text: "{{ page.title }}" - info: "{{ page.created }}" - body: - label: Corps - type: blocks - fieldsets: - - heading - - text - - image - - beforeafter - - video - - gallery - - insert - + linkedInvestigations: + type: pages + template: investigation + linkedMedias: + type: url seo: seo/page diff --git a/site/blueprints/pages/impacts.yml b/site/blueprints/pages/impacts.yml index f3db425..f7ffd62 100644 --- a/site/blueprints/pages/impacts.yml +++ b/site/blueprints/pages/impacts.yml @@ -3,26 +3,4 @@ title: Impacts tabs: contentTab: label: Contenu - icon: page - columns: - - width: 1/3 - fields: - chapo: - label: Introduction - type: writer - nodes: false - buttons: false - - width: 2/3 - sections: - impactsSection: - type: pages - label: Liste des impacts - templates: - - impact - - impact-media - layout: list - text: "{{ page.title }}" - info: "{{ page.category }} — {{ page.created.toDate('d/m/Y') }}" - sortBy: created desc - seo: seo/page diff --git a/site/blueprints/pages/investigation.yml b/site/blueprints/pages/investigation.yml index 2472705..e668678 100644 --- a/site/blueprints/pages/investigation.yml +++ b/site/blueprints/pages/investigation.yml @@ -1,11 +1,4 @@ title: Investigation -status: - draft: - label: Brouillon - text: La page est accessible uniquement pour les éditeurs connectés ou via un lien secret - listed: - label: Public - text: La page est accessible par tout le monde tabs: contentTab: @@ -31,7 +24,7 @@ tabs: image: ratio: 12/7 cover: true - help: Image utilisée dans les listes d'enquêtes. Format 16/9. + help: Image utilisée dans les listes d'enquêtes - width: 4/6 fields: chapo: @@ -39,24 +32,37 @@ tabs: type: writer nodes: false buttons: false + heroType: + label: Type de hero + type: select + default: image + options: + image: Image simple + video: Vidéo + default: image + width: 1/3 + heroImages: + label: Images hero + type: files + multiple: true + layout: cards + width: 1/3 + when: + heroType: image videoPreview: - label: Preview vidéo + label: Preview type: files multiple: false - help: "Extrait joué en autoplay muet. À remplir avec l'URL vidéo — les deux champs vont ensemble." - width: 1/2 + help: Extrait joué en autoplay muet. + width: 1/3 + when: + heroType: video videoUrl: label: URL vidéo complète (YouTube embed) type: url - width: 1/2 - help: "À remplir avec la preview — les deux champs vont ensemble." - heroCaption: - label: Légende du hero - type: writer - nodes: false - marks: - - italic - help: "Recommandé : 140 caractères max" + width: 1/3 + when: + heroType: video body: label: Corps type: layout @@ -71,7 +77,6 @@ tabs: - video # - horizontal-gallery - gallery - - insert metadataTab: label: Métadonnées icon: table @@ -122,7 +127,7 @@ tabs: team: label: Équipe Index type: structure - help: Le « rôle » s’affiche entre parenthèses + width: 2/4 columns: name: label: Nom diff --git a/site/blueprints/pages/investigations.yml b/site/blueprints/pages/investigations.yml index 7b15b5a..d2d73cc 100644 --- a/site/blueprints/pages/investigations.yml +++ b/site/blueprints/pages/investigations.yml @@ -3,41 +3,6 @@ title: Investigations tabs: contentTab: label: Contenu - icon: page - columns: - - width: 1/3 - fields: - chapo: - label: Introduction - type: writer - nodes: false - buttons: false - - width: 2/3 - sections: - investigations: fields/investigations - starredTab: - label: En avant - icon: star - fields: - featuredInvestigation: - label: À la une - type: pages - query: page('enquetes').children.listed - multiple: false - max: 1 - layout: list - text: "{{ page.title }}" - info: "{{ page.incidentDate }}" - width: 1/3 - help: Affichée en tête et en plus grand, avec son média de couverture (vidéo ou image). - pinnedInvestigations: - label: Enquêtes épinglées - type: pages - query: page('enquetes').children.listed - multiple: true - layout: list - text: "{{ page.title }}" - info: "{{ page.incidentDate }}" - width: 2/3 - help: Affichées après l'enquête "à la une", avant les autres mais dans le même format, simplement marquées par une 📌. + sections: + investigations: fields/investigations seo: seo/page diff --git a/site/blueprints/pages/lab.yml b/site/blueprints/pages/lab.yml deleted file mode 100644 index 5764d3f..0000000 --- a/site/blueprints/pages/lab.yml +++ /dev/null @@ -1,27 +0,0 @@ -title: Laboratoire - -tabs: - contentTab: - label: Contenu - icon: page - columns: - - width: 1/3 - fields: - chapo: - label: Introduction - type: writer - nodes: false - buttons: false - - width: 2/3 - sections: - projectsSection: - type: pages - label: Liste des projets - template: project - create: project - layout: list - text: "{{ page.title }}" - info: "{{ page.category }} — {{ page.created.toDate('d/m/Y') }}" - sortBy: created desc - - seo: seo/page diff --git a/site/blueprints/pages/laboratory.yml b/site/blueprints/pages/laboratory.yml new file mode 100644 index 0000000..72a6b68 --- /dev/null +++ b/site/blueprints/pages/laboratory.yml @@ -0,0 +1,6 @@ +title: Laboratoire + +tabs: + contentTab: + label: Contenu + seo: seo/page diff --git a/site/blueprints/pages/legal-notices.yml b/site/blueprints/pages/legal-notices.yml index d911925..5ba6fbe 100644 --- a/site/blueprints/pages/legal-notices.yml +++ b/site/blueprints/pages/legal-notices.yml @@ -3,37 +3,4 @@ title: Mentions légales tabs: contentTab: label: Contenu - icon: page - fields: - title: - label: Titre - type: text - required: true - definitions: - label: Tableau de définitions - help: Affiché sous forme de liste en deux colonnes (terme — définition) - type: structure - fields: - term: - label: Terme - type: text - width: 1/3 - definition: - label: Définition - type: writer - width: 2/3 - marks: - - bold - - italic - - highlight - - link - nodes: - - bulletList - - orderedList - body: - label: Corps - type: blocks - fieldsets: - - heading-sub - - text seo: seo/page diff --git a/site/blueprints/pages/news-item.yml b/site/blueprints/pages/news-item.yml deleted file mode 100644 index 8b8b063..0000000 --- a/site/blueprints/pages/news-item.yml +++ /dev/null @@ -1,64 +0,0 @@ -title: Brève - -tabs: - contentTab: - label: Contenu - icon: page - columns: - - width: 2/6 - sections: - createdSection: - type: fields - fields: - created: - label: Date de publication - type: date - display: DD / MM / YYYY - default: today - width: 1/2 - category: - label: Catégorie - type: tags - max: 1 - options: query - query: page('database').newsCategories.split - cover: - label: Image de couverture - type: files - multiple: false - layout: cards - image: - ratio: 12/7 - cover: true - help: Optionnelle — utilisée dans la liste des brèves. Format 16/9. - - - width: 4/6 - fields: - chapo: - label: Chapeau - type: writer - nodes: false - marks: - - bold - - italic - linkedInvestigations: - label: Enquêtes liées - type: pages - query: page('enquetes').children.listed - multiple: true - layout: list - text: "{{ page.title }}" - info: "{{ page.created }}" - body: - label: Corps - type: blocks - fieldsets: - - heading - - text - - image - - beforeafter - - video - - gallery - - insert - - seo: seo/page diff --git a/site/blueprints/pages/news.yml b/site/blueprints/pages/news.yml deleted file mode 100644 index c576d55..0000000 --- a/site/blueprints/pages/news.yml +++ /dev/null @@ -1,27 +0,0 @@ -title: Brèves - -tabs: - contentTab: - label: Contenu - icon: page - columns: - - width: 1/3 - fields: - chapo: - label: Introduction - type: writer - nodes: false - buttons: false - - width: 2/3 - sections: - newsSection: - type: pages - label: Liste des brèves - template: news-item - create: news-item - layout: list - text: "{{ page.title }}" - info: "{{ page.category }} — {{ page.created.toDate('d/m/Y') }}" - sortBy: created desc - - seo: seo/page diff --git a/site/blueprints/pages/newsletter.yml b/site/blueprints/pages/newsletter.yml deleted file mode 100644 index ec63d2a..0000000 --- a/site/blueprints/pages/newsletter.yml +++ /dev/null @@ -1,30 +0,0 @@ -title: Newsletter - -tabs: - contentTab: - label: Contenu - icon: email - fields: - title: - label: Titre - type: text - required: true - chapo: - label: Chapeau - type: writer - nodes: false - marks: - - bold - - italic - - underline - - link - details: - label: Détails - type: writer - nodes: false - marks: - - bold - - italic - - underline - - link - seo: seo/page diff --git a/site/blueprints/pages/package.yml b/site/blueprints/pages/package.yml index ba7917f..53adfe5 100644 --- a/site/blueprints/pages/package.yml +++ b/site/blueprints/pages/package.yml @@ -9,35 +9,18 @@ tabs: label: Visuel de couverture type: files multiple: false - required: true layout: cards width: 1/3 image: ratio: 12/7 cover: true - help: Image utilisée dans la liste des dossiers. Format 16/9. + help: Image utilisée dans la liste des dossiers description: label: Description type: writer width: 2/3 linkedContent: - label: Enquêtes + label: Contenu type: pages query: site.find('enquetes').children - linkedImpacts: - label: Impacts - type: pages - query: site.find('impacts').children - linkedResources: - label: Ressources - type: pages - query: site.find('ressources').children - linkedNews: - label: Brèves - type: pages - query: site.find('news').children - linkedProjects: - label: Projets (Lab) - type: pages - query: site.find('laboratoire').children seo: seo/page diff --git a/site/blueprints/pages/packages.yml b/site/blueprints/pages/packages.yml index 38481e0..668dc8e 100644 --- a/site/blueprints/pages/packages.yml +++ b/site/blueprints/pages/packages.yml @@ -3,27 +3,17 @@ title: Dossiers tabs: contentTab: label: Contenu - icon: page - columns: - - width: 1/3 - fields: - chapo: - label: Introduction - type: writer - nodes: false - buttons: false - - width: 2/3 - sections: - packages: - label: Dossiers - type: pages - text: "{{ page.title }}" - info: "{{ page.linkedContent.toPages.count }} contenus" - layout: cards - size: huge - search: true - image: - cover: true - ratio: 12/7 - template: package + sections: + packages: + label: Dossiers + type: pages + text: "{{ page.title }}" + info: "{{ page.linkedContent.toPages.count }} contenus" + layout: cards + size: huge + search: true + image: + cover: true + ratio: 12/7 + template: package seo: seo/page diff --git a/site/blueprints/pages/privacy-policy.yml b/site/blueprints/pages/privacy-policy.yml deleted file mode 100644 index bd1b5a5..0000000 --- a/site/blueprints/pages/privacy-policy.yml +++ /dev/null @@ -1,18 +0,0 @@ -title: Politique de confidentialité - -tabs: - contentTab: - label: Contenu - icon: page - fields: - title: - label: Titre - type: text - required: true - body: - label: Corps - type: blocks - fieldsets: - - heading-sub - - text - seo: seo/page diff --git a/site/blueprints/pages/project.yml b/site/blueprints/pages/project.yml deleted file mode 100644 index 00c00a7..0000000 --- a/site/blueprints/pages/project.yml +++ /dev/null @@ -1,64 +0,0 @@ -title: Projet - -tabs: - contentTab: - label: Contenu - icon: page - columns: - - width: 2/6 - sections: - createdSection: - type: fields - fields: - created: - label: Date de publication - type: date - display: DD / MM / YYYY - default: today - width: 1/2 - category: - label: Catégorie - type: tags - max: 1 - options: query - query: page('database').projectCategories.split - cover: - label: Image de couverture - type: files - multiple: false - layout: cards - image: - ratio: 12/7 - cover: true - help: Optionnelle — utilisée dans la liste des projets. Format 16/9. - - - width: 4/6 - fields: - chapo: - label: Chapeau - type: writer - nodes: false - marks: - - bold - - italic - linkedInvestigations: - label: Enquêtes liées - type: pages - query: page('enquetes').children.listed - multiple: true - layout: list - text: "{{ page.title }}" - info: "{{ page.created }}" - body: - label: Corps - type: blocks - fieldsets: - - heading - - text - - image - - beforeafter - - video - - gallery - - insert - - seo: seo/page diff --git a/site/blueprints/pages/resource.yml b/site/blueprints/pages/resource.yml deleted file mode 100644 index 4379869..0000000 --- a/site/blueprints/pages/resource.yml +++ /dev/null @@ -1,64 +0,0 @@ -title: Ressource - -tabs: - contentTab: - label: Contenu - icon: page - columns: - - width: 2/6 - sections: - createdSection: - type: fields - fields: - created: - label: Date de publication - type: date - display: DD / MM / YYYY - default: today - width: 1/2 - category: - label: Catégorie - type: tags - max: 1 - options: query - query: page('database').resourceCategories.split - cover: - label: Image de couverture - type: files - multiple: false - layout: cards - image: - ratio: 12/7 - cover: true - help: Optionnelle — utilisée dans la liste des ressources. Format 16/9. - - - width: 4/6 - fields: - chapo: - label: Chapeau - type: writer - nodes: false - marks: - - bold - - italic - linkedInvestigations: - label: Enquêtes liées - type: pages - query: page('enquetes').children.listed - multiple: true - layout: list - text: "{{ page.title }}" - info: "{{ page.created }}" - body: - label: Corps - type: blocks - fieldsets: - - heading - - text - - image - - beforeafter - - video - - gallery - - insert - - seo: seo/page diff --git a/site/blueprints/pages/resources.yml b/site/blueprints/pages/resources.yml index ae0f17f..c2bec4e 100644 --- a/site/blueprints/pages/resources.yml +++ b/site/blueprints/pages/resources.yml @@ -1,27 +1,7 @@ -title: Ressources +title: Resources tabs: contentTab: label: Contenu icon: page - columns: - - width: 1/3 - fields: - chapo: - label: Introduction - type: writer - nodes: false - buttons: false - - width: 2/3 - sections: - resourcesSection: - type: pages - label: Liste des ressources - template: resource - create: resource - layout: list - text: "{{ page.title }}" - info: "{{ page.category }} — {{ page.created.toDate('d/m/Y') }}" - sortBy: created desc - seo: seo/page diff --git a/site/blueprints/pages/support.yml b/site/blueprints/pages/support.yml new file mode 100644 index 0000000..9d69b63 --- /dev/null +++ b/site/blueprints/pages/support.yml @@ -0,0 +1,46 @@ +title: Nous soutenir + +tabs: + contentTab: + sections: + supportFields: + type: fields + fields: + heroHeadline: + type: headline + label: Hero + heroMedia: + label: Media de couverture + type: files + multiple: false + layout: cards + help: image ou vidéo affichée dans le héro, sous la phrase d'accroche + heroCatchPhrase: + label: Phrase d'accroche + type: text + heroBaseline: + label: Baseline + type: text + donorLine: + type: line + donorHeadline: + label: Dons + type: headline + donorCatchPhrase: + label: Phrase d'accroche + type: text + FAQLine: + type: line + FAQHeadline: + label: Questions fréquentes + type: headline + FAQQuestions: + label: Questions / réponses + type: structure + fields: + question: + type: text + answer: + label: Réponse + type: text + seo: seo/page diff --git a/site/config/config.php b/site/config/config.php index bb91ad5..2a6e19e 100644 --- a/site/config/config.php +++ b/site/config/config.php @@ -4,11 +4,6 @@ return [ 'debug' => true, 'languages' => true, 'date.handler' => 'intl', - // 'auth' => [ - // 'methods' => [ - // 'password' => ['2fa' => true] - // ] - // ], 'thumbs' => [ 'quality' => 80, 'presets' => [ @@ -16,58 +11,21 @@ return [ 'default' => [ 'width' => 1024, 'format' => 'webp' ], - 'full' => 2048, + 'full' => 2048, 'format' => 'webp' ], 'srcsets' => [ 'default' => [200, 400, 600, 800, 1024, 1440, 2048], 'webp' => [ - '300w' => ['width' => 300, 'format' => 'webp'], - '600w' => ['width' => 600, 'format' => 'webp'], - '900w' => ['width' => 900, 'format' => 'webp'], - '1200w' => ['width' => 1200, 'format' => 'webp'], - ], - // Cover cards investigations : 465px fixe ≥1000px, 50vw 728–1000px, 100vw <728px - // Widths couvrent 1x et 2x (retina) pour chaque breakpoint - 'cover-card' => [465, 728, 930, 1000, 1456], - 'cover-card-webp' => [ - '465w' => ['width' => 465, 'format' => 'webp'], - '728w' => ['width' => 728, 'format' => 'webp'], - '930w' => ['width' => 930, 'format' => 'webp'], - '1000w' => ['width' => 1000, 'format' => 'webp'], - '1456w' => ['width' => 1456, 'format' => 'webp'], - ], - // Hero cover investigation : 940px fixe ≥1000px, 90vw en dessous - 'cover-hero' => [680, 940, 1200, 1880], - 'cover-hero-webp' => [ - '680w' => ['width' => 680, 'format' => 'webp'], - '940w' => ['width' => 940, 'format' => 'webp'], - '1200w' => ['width' => 1200, 'format' => 'webp'], - '1880w' => ['width' => 1880, 'format' => 'webp'], - ], - // Body 1 colonne : 100vw - 'body-full' => [750, 1000, 1440, 1880], - 'body-full-webp' => [ - '750w' => ['width' => 750, 'format' => 'webp'], - '1000w' => ['width' => 1000, 'format' => 'webp'], - '1440w' => ['width' => 1440, 'format' => 'webp'], - '1880w' => ['width' => 1880, 'format' => 'webp'], - ], - // Body 2 colonnes : 50vw ≥768px, 90vw en dessous - 'body-half' => [680, 720, 1000, 1380, 1440], - 'body-half-webp' => [ - '680w' => ['width' => 680, 'format' => 'webp'], - '720w' => ['width' => 720, 'format' => 'webp'], - '1000w' => ['width' => 1000, 'format' => 'webp'], - '1380w' => ['width' => 1380, 'format' => 'webp'], - '1440w' => ['width' => 1440, 'format' => 'webp'], + '300w' => ['width' => 300 * 1.2, 'format' => 'webp'], + '600w' => ['width' => 600 * 1.2, 'format' => 'webp'], + '900w' => ['width' => 900 * 1.2, 'format' => 'webp'], + '1200w' => ['width' => 1200 * 1.2, 'format' => 'webp'], ], ], ], 'panel' => [ - 'menu' => require_once __DIR__ . '/menu.php', - 'css' => '/assets/css/panel.css', - 'home' => 'pages/home', + 'menu' => require_once __DIR__ . '/menu.php' ], 'donorbox' => [ 'api_key' => '', // À remplir avec la clé API Donorbox @@ -77,14 +35,6 @@ return [ ], 'tobimori.seo.canonicalBase' => 'https://www.index.ngo', - 'cache' => [ - 'og' => true, - ], - - 'routes' => [ - require(__DIR__ . '/routes/newsletter.php'), - ], - 'hooks' => [ 'page.update:after' => function ($newPage) { if ($newPage->intendedTemplate()->name() !== 'investigation') { @@ -121,4 +71,4 @@ return [ } } ] -]; +]; \ No newline at end of file diff --git a/site/config/menu.php b/site/config/menu.php index a844971..d557ec6 100644 --- a/site/config/menu.php +++ b/site/config/menu.php @@ -1,16 +1,25 @@ [ + 'label' => 'Dashboard', + 'icon' => 'bolt', + 'link' => '/', + 'current' => function (string $current): bool { + $path = Kirby\Cms\App::instance()->path(); + return Str::contains($path, '/site'); + } + ], + '-', 'home' => [ 'label' => 'Accueil', 'icon' => 'home', 'link' => 'pages/home', 'current' => function (string $current): bool { $path = Kirby\Cms\App::instance()->path(); - return $path === '' || Str::contains($path, 'pages/home'); + return Str::contains($path, 'pages/home'); } ], - '-', 'enquetes' => [ 'label' => 'Enquêtes', 'icon' => 'pen', @@ -29,15 +38,6 @@ return [ return Str::contains($path, 'pages/impacts'); } ], - 'news' => [ - 'label' => 'Brèves', - 'icon' => 'bell', - 'link' => 'pages/news', - 'current' => function (string $current): bool { - $path = Kirby\Cms\App::instance()->path(); - return Str::contains($path, 'pages/news'); - } - ], 'dossiers' => [ 'label' => 'Dossiers', 'icon' => 'folder', @@ -77,31 +77,13 @@ return [ ], 'legal-notices' => [ 'label' => 'Mentions légales', - 'icon' => 'edit-line', + 'icon' => 'email', 'link' => 'pages/mentions-legales', 'current' => function (string $current): bool { $path = Kirby\Cms\App::instance()->path(); return Str::contains($path, 'pages/mentions-legales'); } ], - 'newsletter' => [ - 'label' => 'Newsletter', - 'icon' => 'email', - 'link' => 'pages/newsletter', - 'current' => function (string $current): bool { - $path = Kirby\Cms\App::instance()->path(); - return Str::contains($path, 'pages/newsletter'); - } - ], - 'privacy-policy' => [ - 'label' => 'Politique de confidentialité', - 'icon' => 'lock', - 'link' => 'pages/politique-de-confidentialite', - 'current' => function (string $current): bool { - $path = Kirby\Cms\App::instance()->path(); - return Str::contains($path, 'pages/politique-de-confidentialite'); - } - ], '-', 'database' => [ 'label' => 'Bases de données', diff --git a/site/config/routes/newsletter.php b/site/config/routes/newsletter.php deleted file mode 100644 index bc3cc5e..0000000 --- a/site/config/routes/newsletter.php +++ /dev/null @@ -1,116 +0,0 @@ - 'newsletter/subscribe', - 'method' => 'POST|OPTIONS', - 'action' => function () { - header('Content-Type: application/json'); - - if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') { - http_response_code(200); - die(); - } - - $config = kirby()->option('brevo'); - $apiKey = $config['api_key'] ?? ''; - $listId = (int)($config['list_id'] ?? 2); - $apiUrl = $config['api_url'] ?? 'https://api.brevo.com/v3/contacts'; - - if (empty($apiKey)) { - http_response_code(500); - die(json_encode(['error' => 'Server configuration error', 'message' => 'Brevo API key not configured'])); - } - - $input = file_get_contents('php://input'); - $data = json_decode($input, true); - - if (!isset($data['email']) || empty($data['email'])) { - http_response_code(400); - die(json_encode(['error' => 'Email required'])); - } - - $email = filter_var($data['email'], FILTER_VALIDATE_EMAIL); - if ($email === false) { - http_response_code(400); - die(json_encode(['error' => 'Invalid email'])); - } - - $brevoData = [ - 'email' => $email, - 'listIds' => [$listId], - 'updateEnabled' => true, - ]; - - if (isset($data['attributes']) && is_array($data['attributes']) && !empty($data['attributes'])) { - $brevoData['attributes'] = $data['attributes']; - } - - $ch = curl_init(); - curl_setopt_array($ch, [ - CURLOPT_URL => $apiUrl, - CURLOPT_RETURNTRANSFER => true, - CURLOPT_POST => true, - CURLOPT_POSTFIELDS => json_encode($brevoData), - CURLOPT_HTTPHEADER => [ - 'Content-Type: application/json', - 'api-key: ' . $apiKey, - 'User-Agent: Index-NGO-Newsletter', - ], - CURLOPT_TIMEOUT => 10, - CURLOPT_SSL_VERIFYPEER => true, - ]); - - $response = curl_exec($ch); - $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); - $curlError = curl_error($ch); - curl_close($ch); - - if ($response === false) { - http_response_code(500); - die(json_encode(['error' => 'Connection error', 'details' => $curlError])); - } - - $responseData = json_decode($response, true); - - switch ($httpCode) { - case 201: - case 204: - http_response_code(200); - die(json_encode(['success' => true, 'message' => 'Successfully subscribed', 'email' => $email])); - - case 400: - $isDuplicate = isset($responseData['code']) && $responseData['code'] === 'duplicate_parameter'; - http_response_code(400); - die(json_encode([ - 'error' => $isDuplicate ? 'email_already_exists' : 'invalid_data', - 'message' => $isDuplicate ? 'You are already subscribed!' : 'Invalid email address.', - 'user_message' => $isDuplicate ? 'Vous êtes déjà inscrit·e !' : 'Veuillez vérifier votre adresse email.', - ])); - - case 401: - http_response_code(500); - die(json_encode([ - 'error' => 'invalid_api_key', - 'message' => 'Invalid API key', - 'user_message' => 'Une erreur technique est survenue. Veuillez réessayer plus tard.', - ])); - - case 404: - http_response_code(500); - die(json_encode([ - 'error' => 'list_not_found', - 'message' => 'Contact list not found', - 'user_message' => 'Une erreur technique est survenue. Veuillez réessayer plus tard.', - ])); - - default: - http_response_code($httpCode); - die(json_encode([ - 'error' => 'api_error', - 'message' => 'Error communicating with subscription service', - 'user_message' => 'Une erreur est survenue. Veuillez réessayer.', - 'http_code' => $httpCode, - ])); - } - }, -]; diff --git a/site/languages/en.php b/site/languages/en.php index 31a2559..8441bf0 100644 --- a/site/languages/en.php +++ b/site/languages/en.php @@ -6,29 +6,4 @@ return [ 'locale' => 'en_US.UTF-8', 'name' => 'English', 'url' => '/en', - 'translations' => [ - 'impact.type' => 'Impact', - 'impact.type.plural' => 'Impacts', - 'impacts.title' => 'Impacts', - 'news.type' => 'News', - 'news.type.plural' => 'News', - 'news.title' => 'News', - 'investigation.type' => 'Investigation', - 'investigation.type.plural' => 'Investigations', - 'investigations.title' => 'Investigations', - 'investigations.related' => 'Related investigations', - 'investigations.see_all' => 'See all investigations', - 'filter.all' => 'All', - 'filter.all.m' => 'All', - 'package.type' => 'Folder', - 'packages.title' => 'Folders', - 'project.type' => 'Project', - 'project.type.plural' => 'Projects', - 'projects.title' => 'Projects', - 'lab.title' => 'Laboratory', - 'resource.type' => 'Resource', - 'resource.type.plural' => 'Resources', - 'resources.title' => 'Resources', - 'resources.methodologies' => 'Methodologies', - ], ]; \ No newline at end of file diff --git a/site/languages/fr.php b/site/languages/fr.php index 28bc650..77fc6a6 100644 --- a/site/languages/fr.php +++ b/site/languages/fr.php @@ -7,29 +7,4 @@ return [ 'locale' => 'fr_FR.UTF-8', 'name' => 'Français', 'url' => '/', - 'translations' => [ - 'impact.type' => 'Impact', - 'impact.type.plural' => 'Impacts', - 'impacts.title' => 'Impacts', - 'news.type' => 'Brève', - 'news.type.plural' => 'Brèves', - 'news.title' => 'Brèves', - 'investigation.type' => 'Enquête', - 'investigation.type.plural' => 'Enquêtes', - 'investigations.title' => 'Enquêtes', - 'investigations.related' => 'Enquêtes liées', - 'investigations.see_all' => 'Voir toutes les enquêtes', - 'filter.all' => 'Toutes', - 'filter.all.m' => 'Tous', - 'package.type' => 'Dossier', - 'packages.title' => 'Dossiers', - 'project.type' => 'Projet', - 'project.type.plural' => 'Projets', - 'projects.title' => 'Projets', - 'lab.title' => 'Laboratoire', - 'resource.type' => 'Ressource', - 'resource.type.plural' => 'Ressources', - 'resources.title' => 'Ressources', - 'resources.methodologies' => 'Méthodologies', - ], ]; \ No newline at end of file diff --git a/site/plugins/beforeafter/snippets/blocks/beforeafter.php b/site/plugins/beforeafter/snippets/blocks/beforeafter.php index dfc31ac..8718c07 100644 --- a/site/plugins/beforeafter/snippets/blocks/beforeafter.php +++ b/site/plugins/beforeafter/snippets/blocks/beforeafter.php @@ -1,8 +1,8 @@ imageBefore()->toFile(); -$imageAfter = $block->imageAfter()->toFile(); -$caption = $block->caption()->value(); +$imageAfter = $block->imageAfter()->toFile(); +$caption = $block->caption()->value(); ?> diff --git a/site/snippets/back-to-top.php b/site/snippets/back-to-top.php index 530ba66..8868e95 100644 --- a/site/snippets/back-to-top.php +++ b/site/snippets/back-to-top.php @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/site/snippets/blocks/gallery.php b/site/snippets/blocks/gallery.php deleted file mode 100644 index 4e03f0c..0000000 --- a/site/snippets/blocks/gallery.php +++ /dev/null @@ -1,30 +0,0 @@ -images()->toFiles(); -$imgSizes = $imgSizes ?? '(min-width: 768px) 50vw, 90vw'; -$imgSrcset = $imgSrcset ?? 'body-half'; -?> - -
-
- -
-
- $image, - 'alt' => $image->alt()->value(), - 'sizes' => $imgSizes, - 'srcsetName' => $imgSrcset, - 'lazy' => true, - ]) ?> - caption()->isNotEmpty()): ?> -
caption()->html() ?>
- -
-
- -
-
-
-
-
diff --git a/site/snippets/blocks/insert.php b/site/snippets/blocks/insert.php deleted file mode 100644 index d12e2b3..0000000 --- a/site/snippets/blocks/insert.php +++ /dev/null @@ -1,11 +0,0 @@ - -
-
- title()->isNotEmpty()): ?> - <level()->or('h3') ?>>title()->esc() ?>level()->or('h3') ?>> - - text() ?> -
-
diff --git a/site/snippets/bottom-bar.php b/site/snippets/bottom-bar.php deleted file mode 100644 index 5cfb02c..0000000 --- a/site/snippets/bottom-bar.php +++ /dev/null @@ -1,43 +0,0 @@ -
- -
- -
-
-
- - intendedTemplate()->name() === 'investigation'): ?> -
-

Enquête

-

title()->esc() ?>

-
- - - - - - intendedTemplate()->name() === 'investigation'): ?> - - - - - - - -
-
diff --git a/site/snippets/card-open-graph.php b/site/snippets/card-open-graph.php index 73f54b8..9853bf8 100644 --- a/site/snippets/card-open-graph.php +++ b/site/snippets/card-open-graph.php @@ -1,109 +1,111 @@ - '', + 'description' => '', + 'image' => '', + 'site_name' => '', + 'url' => $url + ]; -$cache = kirby()->cache('og'); -$cacheKey = md5($url); -$ogData = $cache->get($cacheKey); + // Configuration du contexte pour éviter les erreurs SSL + $context = stream_context_create([ + 'http' => [ + 'method' => 'GET', + 'header' => 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', + 'timeout' => 10 + ], + 'ssl' => [ + 'verify_peer' => false, + 'verify_peer_name' => false + ] + ]); -if ($ogData === null) { - $ogData = [ - 'title' => '', - 'description' => '', - 'image' => '', - 'site_name' => '', - 'url' => $url, - ]; + // Récupérer le HTML + $html = @file_get_contents($url, false, $context); - $context = stream_context_create([ - 'http' => [ - 'method' => 'GET', - 'header' => 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', - 'timeout' => 10, - ], - 'ssl' => [ - 'verify_peer' => false, - 'verify_peer_name' => false, - ], - ]); + if ($html === false) { + return $ogData; + } - $html = @file_get_contents($url, false, $context); + // Parser les meta tags Open Graph + preg_match_all('/ $property) { + $content = $matches[2][$index]; + switch ($property) { + case 'title': + $ogData['title'] = htmlspecialchars($content); + break; + case 'description': + $ogData['description'] = htmlspecialchars($content); + break; + case 'image': + $ogData['image'] = $content; + break; + case 'site_name': + $ogData['site_name'] = htmlspecialchars($content); + break; + } + } + } - if (!empty($matches[1])) { - foreach ($matches[1] as $index => $property) { - $prop = $property ?: $matches[4][$index]; - $content = $matches[2][$index] ?: $matches[3][$index]; - $content = html_entity_decode(trim($content), ENT_QUOTES | ENT_HTML5, 'UTF-8'); - switch ($prop) { - case 'title': - $ogData['title'] = $content; - break; - case 'description': - $ogData['description'] = $content; - break; - case 'image': - $ogData['image'] = $content; - break; - case 'site_name': - $ogData['site_name'] = $content; - break; - } - } - } + // Fallback: si pas de og:title, utiliser + if (empty($ogData['title'])) { + preg_match('/<title>([^<]+)<\/title>/i', $html, $titleMatch); + if (!empty($titleMatch[1])) { + $ogData['title'] = htmlspecialchars($titleMatch[1]); + } + } - // Fallback: use <title> if no og:title - if (empty($ogData['title'])) { - preg_match('/<title>([^<]+)<\/title>/i', $html, $titleMatch); - if (!empty($titleMatch[1])) { - $ogData['title'] = html_entity_decode($titleMatch[1], ENT_QUOTES, 'UTF-8'); - } - } - } + // Fallback: si pas de site_name, utiliser le domaine + if (empty($ogData['site_name'])) { + $parsed = parse_url($url); + $ogData['site_name'] = $parsed['host'] ?? ''; + } - // Always use domain as site_name - $parsed = parse_url($url); - $ogData['site_name'] = $parsed['host'] ?? ''; + return $ogData; + } - $cache->set($cacheKey, $ogData, 360); // 6 hours -} -?> + $ogData = getOpenGraphData($url); -<div class="card--open-graph"> - <div class="open-graph__inner"> + // Toujours utiliser le domaine de l'URL pour site_name + $parsed = parse_url($url); + $ogData['site_name'] = $parsed['host'] ?? ''; + ?> - <?php if (!empty($ogData['image'])): ?> - <figure> - <img src="<?= htmlspecialchars($ogData['image']) ?>" alt=""> - </figure> - <?php endif ?> + <div class="card--open-graph"> + <div class="open-graph__inner"> - <div class="content"> - <?php if (!empty($ogData['site_name'])): ?> - <span class="site-name"><?= htmlspecialchars($ogData['site_name']) ?></span> - <?php endif ?> + <?php if (!empty($ogData['image'])): ?> + <figure> + <img src="<?= $ogData['image'] ?>" alt="<?= $ogData['title'] ?>"> + </figure> + <?php endif; ?> - <?php if (!empty($ogData['title'])): ?> - <h3 class="title"> - <a href="<?= htmlspecialchars($ogData['url']) ?>" target="_blank"> - <?= htmlspecialchars($ogData['title']) ?> - </a> - </h3> - <?php endif ?> + <div class="content"> + <?php if (!empty($ogData['site_name'])): ?> + <span class="site-name"><?= $ogData['site_name'] ?></span> + <?php endif; ?> - <?php if (!empty($ogData['description'])): ?> - <p class="description"><?= htmlspecialchars($ogData['description']) ?></p> - <?php endif ?> - </div> - <a class="link-block" href="<?= htmlspecialchars($ogData['url']) ?>" target="_blank"></a> -</div> -</div> + <?php if (!empty($ogData['title'])): ?> + + <h3 class="title"> + <a href="<?= $ogData['url'] ?>" target="_blank"> + <?= $ogData['title'] ?> + </a> + </h3> + <?php endif; ?> + + <?php if (!empty($ogData['description'])): ?> + <p class="description"><?= $ogData['description'] ?></p> + <?php endif; ?> + </div> + <a class="link-block" href="<?= $ogData['url'] ?>" target="_blank"></a> + </div> + </div> \ No newline at end of file diff --git a/site/snippets/footer.php b/site/snippets/footer.php index 804e669..0636217 100644 --- a/site/snippets/footer.php +++ b/site/snippets/footer.php @@ -1,41 +1,65 @@ <?php snippet('back-to-top') ?> - -<div id="support-bar"> - <div class="support-bar__container"> - <p class="baseline">Pour continuer à enquêter, nous avons besoin de vous</p> - <button class="btn"><a targer="_blank" href="https://soutenir.index.ngo/">Soutenez-nous</a></button> - </div> -</div> - - <footer id="site-footer"> - - <div class="site-footer__container"> - <div class="logo"><?= svg('assets/images/index-logo.svg') ?></div> - <p class="baseline">Index est une ONG d’investigation numérique, au service du public, de la vérité et de la justice.</p> - - <div class="list-links"> - <ul> - <li><a target="_blank" href="<?= page('mentions-legales')->url() ?>"><?= kirby()->language() && kirby()->language()->code() === 'en' ? 'Legal notices' : 'Mentions légales' ?></a></li> - <li><a target="_blank" href="<?= page('politique-de-confidentialite')->url() ?>"><?= kirby()->language() && kirby()->language()->code() === 'en' ? 'Privacy policy' : 'Politique de confidentialité' ?></a></li> - </ul> - <ul class="hightlight"> - <li><a target="_blank" href="#">Contact</a></li> - <li><a target="_blank" href="#">Newsletter</a></li> - </ul> - + <div class="logo"><?= svg('assets/images/index-logo.svg') ?></div> + + <div class="footer__newsletter"> + + <p> + Recevez les dernières enquêtes et actualités d’Index directement + dans votre boîte mail. + </p> + <p>Inscrivez-vous à la newsletter</p> + + <form class="form__newsletter"> + <input + type="email" + name="email" + placeholder="Votre adresse e-mail" + required + /> + <button class="btn--newletter" type="submit" aria-label="s’inscrire"> + <span class="txt">S’inscrire</span> + <span class="icon"> + <svg + clip-rule="evenodd" + fill-rule="evenodd" + stroke-linejoin="round" + stroke-miterlimit="2" + viewBox="0 0 24 24" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="m14.523 18.787s4.501-4.505 6.255-6.26c.146-.146.219-.338.219-.53s-.073-.383-.219-.53c-1.753-1.754-6.255-6.258-6.255-6.258-.144-.145-.334-.217-.524-.217-.193 0-.385.074-.532.221-.293.292-.295.766-.004 1.056l4.978 4.978h-14.692c-.414 0-.75.336-.75.75s.336.75.75.75h14.692l-4.979 4.979c-.289.289-.286.762.006 1.054.148.148.341.222.533.222.19 0 .378-.072.522-.215z" + fill-rule="nonzero" + /> + </svg> + </span> + </button> + </form> + + <p class="p__small"> + En vous inscrivant, vous acceptez les + <a target="_blank" href="https://www.index.ngo/mentions-legales/" + >conditions d’utilisation</a + > + d’Index qui vous informent notamment des droits dont vous disposez + sur vos données personnelles. + </p> </div> - + <div class="footer__socials"> + <p>Suivez Index sur les réseaux sociaux</p> <?php snippet('socials') ?> - - <p class="credits"> - © 2025 Index Investigation | Site développé par <a href="https://studio-variable.com/" target="_blank">Studio Variable</a> - </p> + </div> - + <div class="footer__mentions"> + <p> + © 2025 Index Investigation | + <a target="_blank" href="https://www.index.ngo/mentions-legales/">Mentions légales</a> + </p> + </div> </div> </footer> <?php snippet('seo/schemas'); ?> diff --git a/site/snippets/header.php b/site/snippets/header.php index 96f4d02..f932dc2 100644 --- a/site/snippets/header.php +++ b/site/snippets/header.php @@ -7,6 +7,12 @@ <link rel="stylesheet" type="text/css" href="<?= url('assets/fonts/stylesheet.css') ?>"> <script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"></script> <meta name="robots" content="noindex,nofollow"> + <title> + <?php if ($page->isHomePage() == false): ?> + <?= $page->title() ?> |  + <?php endif ?> + <?= $site->title() ?> + + +

L’exécution de Nidal et Khaled ‘Amirah à Naplouse

+ - - template() == 'investigation'): ?> - - - diff --git a/site/snippets/modal-share.php b/site/snippets/modal-share.php index b96cbfa..e0a4037 100644 --- a/site/snippets/modal-share.php +++ b/site/snippets/modal-share.php @@ -1,52 +1,52 @@ -url(); -$shareTitle = $page->title()->value(); -if ($page->subtitle()->isNotEmpty()) { - $shareTitle .= ' — ' . $page->subtitle()->value(); -} -$shareText = $shareTitle . ' — ' . $shareUrl; -?> \ No newline at end of file diff --git a/site/snippets/nav.php b/site/snippets/nav.php index ed368e0..a3e74f4 100644 --- a/site/snippets/nav.php +++ b/site/snippets/nav.php @@ -1,5 +1,4 @@ - \ No newline at end of file diff --git a/site/snippets/picture.php b/site/snippets/picture.php index fa9be7e..ab28a7b 100644 --- a/site/snippets/picture.php +++ b/site/snippets/picture.php @@ -1,46 +1,32 @@ alt() ?? ''; + $crop = $crop ?? false; - $alt = $alt ?? $file->alt() ?? ''; - $srcsetName = $srcsetName ?? 'default'; - $webpName = $srcsetName . '-webp'; - $lazy = $lazy ?? true; - $crop = $crop ?? false; - - // Vérifie si un srcset webp nommé existe en config, sinon fallback sur 'webp' - $kirbyThumbs = kirby()->option('thumbs.srcsets', []); - $webpSrcset = isset($kirbyThumbs[$webpName]) - ? $file->srcset($webpName) - : $file->srcset('webp'); - - $srcset = $file->srcset($srcsetName); - $src = $file->url(); - - $resized = $file->resize(1800); - $width = $resized ? $resized->width() : $file->width(); - $height = $resized ? $resized->height() : $file->height(); - - $classAttr = isset($class) ? ' class="' . htmlspecialchars($class) . '"' : ''; - $spanAttr = isset($span) ? ' style="--span: ' . htmlspecialchars($span) . ';"' : ''; + $webPSrcset = $file->srcset('webp'); + $srcset = $file->srcset(); + $src = $file->url(); + $width = $file->resize(1800)->width(); + $height = $file->resize(1800)->height(); + $class = isset($class) ? 'class="' . $class . '"': ''; + $lazy = $lazy ?? true; + $span = isset($span) ? 'style="--span: ' . $span . ';"': ''; ?> - data-id="uuid() ?>" orientation="orientation() ?>"> - - data-id="uuid() ?>" orientation="orientation() ?>"> + + + <?= htmlspecialchars($alt) ?>
diff --git a/site/snippets/socials.php b/site/snippets/socials.php index 9a9fe34..370f82b 100644 --- a/site/snippets/socials.php +++ b/site/snippets/socials.php @@ -1,38 +1,45 @@
diff --git a/site/templates/about.php b/site/templates/about.php index a4bb8b9..375317a 100644 --- a/site/templates/about.php +++ b/site/templates/about.php @@ -1,15 +1,4 @@ -
- - - -body()->isNotEmpty()): ?> -
- body()->toBlocks() ?> -
- - +
- + \ No newline at end of file diff --git a/site/templates/contact.php b/site/templates/contact.php index a4bb8b9..8e54641 100644 --- a/site/templates/contact.php +++ b/site/templates/contact.php @@ -1,15 +1,2 @@ -
- - - -body()->isNotEmpty()): ?> -
- body()->toBlocks() ?> -
- - -
- + \ No newline at end of file diff --git a/site/templates/home.php b/site/templates/home.php index 7c35ac7..ef492fa 100644 --- a/site/templates/home.php +++ b/site/templates/home.php @@ -1,316 +1,255 @@ -language(); -$locale = $lang ? $lang->locale(LC_ALL) : 'fr_FR.UTF-8'; -$dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); -?>
-sections()->toStructure() as $section): -$type = $section->contentType()->value(); -$count = max(4, (int)$section->count()->value()); -[$seeMoreLabel, $seeMoreUrl] = match($type) { - 'investigations' => ['Voir toutes les enquêtes', page('enquetes')->url()], - 'impacts' => ['Voir tous les impacts', page('impacts')->url()], - 'dossiers' => ['Voir tous les dossiers', page('dossiers')->url()], - 'projects' => ['Voir tous les projets', site()->find('laboratoire')->url()], - 'news' => ['Voir toutes les brèves', page('news')->url()], - default => ['Voir tout', '/'], -}; -?> - -
+
-
- baseline()->isNotEmpty()): ?> -

baseline() ?>

- - - buttonText()->isNotEmpty()): ?> - - -
+ +
- - featuredInvestigation()->toPage(); - $pinned = $enquetesPage->pinnedInvestigations()->toPages(); - if ($featured) $pinned = $pinned->not($featured); - $list = []; - $shownIds = []; - - if ($featured) { - $list[] = ['page' => $featured, 'type' => 'super']; - $shownIds[] = $featured->id(); - } - - foreach ($pinned as $p) { - if (count($list) >= $count) break; - $list[] = ['page' => $p, 'type' => 'pinned']; - $shownIds[] = $p->id(); - } - - if (count($list) < $count) { - $latest = $enquetesPage->children()->listed()->sortBy('created', 'desc') - ->filter(fn($p) => !in_array($p->id(), $shownIds)) - ->limit($count - count($list)); - foreach ($latest as $p) { - $list[] = ['page' => $p, 'type' => 'latest']; - } - } + find('enquetes')->children()->listed()->sortBy('created', 'desc')->limit(5); + foreach ($latestInvestigations as $investigation): ?> - cover()->toFile(); - ?> -
- - videoPreview()->toFile())): ?> -
- -
- -
- <?= $investigation->title()->esc() ?> -
- - - -
- - -

title()->esc() ?>

- - chapo()->isNotEmpty()): ?> -

chapo()->excerpt(200) ?>

- - -
- incidentDate()->isNotEmpty()): ?> -
-
Date de l'incident
-
-
- - - partners()->toStructure()) && $partners->isNotEmpty()): ?> -
-
Partenaire(s)
-
name()->value(); echo implode(', ', $names) ?>
-
- - - incidentLocation()->isNotEmpty()): ?> -
-
Lieu de l'incident
-
incidentLocation()->esc() ?>
-
- -
- - keywords()->split()): ?> -
-
    - -
  • - -
-
- - - -
- - - - -
-
- - children()->listed()->sortBy('created', 'desc')->limit($count) as $impact): - $categories = $impact->category()->split(); - $category = $categories[0] ?? ''; - $cover = $impact->cover()->toFile(); - $investigations = $impact->linkedInvestigations()->toPages(); - ?> - - -
- - - - children()->listed()->limit($count) as $package): - $cover = $package->cover()->toFile(); - $investigationsCount = $package->linkedContent()->toPages()->count(); - $impactsCount = $package->linkedImpacts()->toPages()->count(); - ?> -
- +
+ + cover()->toFile()): ?>
- <?= $package->title()->esc() ?> + <?= $investigation->title()->esc() ?>
-
-

-

- - - title()->esc() ?> - -

- 0 || $impactsCount > 0): ?> -
    - 0): ?> -
  • enquête 1 ? 's' : '' ?>
  • - - 0): ?> -
  • impact 1 ? 's' : '' ?>
  • - +

    title()->esc() ?>

    + + + chapo()->isNotEmpty()): ?> +

    chapo()->excerpt(200) ?>

    + + +
    + incidentDate()->isNotEmpty()): ?> +
    +
    Date de l'incident
    +
    +
    + + + partners()->toStructure()): ?> + isNotEmpty()): ?> +
    +
    Partenaire(s)
    +
    + + + name()->value() ?> + + +
    +
    + + + + incidentLocation()->isNotEmpty()): ?> +
    +
    Lieu de l'incident
    +
    incidentLocation()->esc() ?>
    +
    + + + +
    + + keywords()->split()): ?> +
    +
      + +
    • +
    -
    + - - + pinned()->toBool()): ?> +
    + + +
- + - + -
-
- - find('laboratoire')->children()->listed()->sortBy('created', 'desc')->limit($count) as $project): - $categories = $project->category()->split(); - $category = $categories[0] ?? ''; - $cover = $project->cover()->toFile(); - ?> - - -
- - - -
-
- - children()->listed()->sortBy('created', 'desc')->limit($count) as $newsItem): - $categories = $newsItem->category()->split(); - $category = $categories[0] ?? ''; - $cover = $newsItem->cover()->toFile(); - ?> - - -
- - -
-
+ + - + + + + + +
+
+ +
+ +

impactsBaseline() ?>

+ + + +
+ +
+ +
+ +
+ + + + + + + + + + + + + + +
+

Index dans le Monde

+

Médiatique

+

24 janvier 2026

+ +
+ + + + + + +
+ + + +
+ + +
+ + + + + + + - + \ No newline at end of file diff --git a/site/templates/impact-media.php b/site/templates/impact-media.php deleted file mode 100644 index 75e4751..0000000 --- a/site/templates/impact-media.php +++ /dev/null @@ -1,47 +0,0 @@ - - -
- - - -entries()->toEntries(); -$investigation = $page->linkedInvestigation()->toPages()->first(); -?> - -isNotEmpty()): ?> -
- - $entry->value()]) ?> - -
- - - - - - -
- - - diff --git a/site/templates/impact.php b/site/templates/impact.php deleted file mode 100644 index 00ead9b..0000000 --- a/site/templates/impact.php +++ /dev/null @@ -1,131 +0,0 @@ - - -
- - - - - - - - - body()->isNotEmpty()): ?> -
- body()->toBlocks() ?> -
- - - - - - - linkedInvestigations()->toPages() ?> - isNotEmpty()): ?> - - - - - language(); - $locale = $lang ? $lang->locale(LC_ALL) : 'fr_FR.UTF-8'; - $dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); - - $latestImpacts = site()->find('impacts') - ->children()->listed()->not($page) - ->sortBy('created', 'desc') - ->limit(5); - ?> - - isNotEmpty()): ?> - - - - - -
- - - diff --git a/site/templates/impacts.php b/site/templates/impacts.php index 59e0a8f..6322025 100644 --- a/site/templates/impacts.php +++ b/site/templates/impacts.php @@ -6,7 +6,7 @@

title() ?>

chapo()->isNotEmpty()): ?> -
+

chapo() ?>

@@ -14,69 +14,113 @@
- +
-
+
- children()->listed()->sortBy('created', 'desc') as $impact): ?> + - category()->split(); - $category = $categories[0] ?? ''; - $cover = $impact->cover()->toFile(); - $investigations = $impact->linkedInvestigations()->toPages(); - ?> + - + \ No newline at end of file diff --git a/site/templates/investigation.php b/site/templates/investigation.php index 5236bd5..2fe6ab4 100644 --- a/site/templates/investigation.php +++ b/site/templates/investigation.php @@ -1,81 +1,78 @@ +
+ +
+ +
+ + + -videoPreview()->toFile(); -$hasVideo = $videoPreview || $page->videoUrl()->isNotEmpty(); -$lang = kirby()->language(); -$locale = $lang ? $lang->locale(LC_ALL) : 'fr_FR.UTF-8'; -$dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); -?> +
- + +heroType()->value() == 'image'): ?> + heroImages()->toFile()): ?> + +
+
+ <?= $page->title()->esc() ?> +
+ caption()->isNotEmpty()): ?> +
caption() ?>
+ +
+ + +heroType()->value() == 'video'): ?> -
+
- + videoExtractUrl()->isNotEmpty()): ?>
- +
- videoUrl()->isNotEmpty()): - preg_match('/(?:embed\/|v=|youtu\.be\/)([a-zA-Z0-9_-]+)/', $page->videoUrl()->value(), $m); - $videoId = $m[1] ?? ''; - ?> + videoFullUrl()->isNotEmpty()): ?>
-
+
- heroCaption()->isNotEmpty()): ?> -
heroCaption()->inline() ?>
- -
- -cover()->toFile()): ?> - -
-
- $cover, - 'alt' => $page->title()->value(), - 'sizes' => '(min-width: 1000px) 940px, 90vw', - 'srcsetName' => 'cover-hero', - 'lazy' => false, - ]) ?> - heroCaption()->isNotEmpty()): ?> -
heroCaption()->inline() ?>
- caption()->isNotEmpty()): ?> -
caption() ?>
- -
-
- -
+
incidentDate()->isNotEmpty()): ?>
Date de l'incident
-
+
@@ -165,12 +162,12 @@ $dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); created()->isNotEmpty()): ?>
Date de publication
-
+
-
+
body()->toLayouts() as $layout): ?> columns(); @@ -194,10 +191,10 @@ $dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); } ?> -
+
type() === 'heading'): ?> - <level()->or('h3') ?>>text() ?>level()->or('h3') ?>> + <level()->or('h3') ?> class="section-title">text() ?>level()->or('h3') ?>> type() === 'text'): ?>
text() ?> @@ -208,17 +205,11 @@ $dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); image()->toFile(); ?>
- $image, - 'alt' => $image->alt()->value(), - 'sizes' => '100vw', - 'srcsetName' => 'body-full', - 'lazy' => true, - ]) ?> - caption()->isNotEmpty()): ?> -
caption()->html() ?>

- + <?= $image->alt()->esc() ?>
+ caption()->isNotEmpty()): ?> +

caption()->html() ?>

+
@@ -235,9 +226,6 @@ $dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); type() === 'horizontal-gallery'): ?> type(), ['block' => $block]) ?> - type() === 'insert'): ?> - $block]) ?> -
@@ -257,17 +245,11 @@ $dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); image()->toFile(); ?>
- $image, - 'alt' => $image->alt()->value(), - 'sizes' => '(min-width: 768px) 50vw, 90vw', - 'srcsetName' => 'body-half', - 'lazy' => true, - ]) ?> - caption()->isNotEmpty()): ?> -
caption()->html() ?>
- + <?= $image->alt()->esc() ?>
+ caption()->isNotEmpty()): ?> +

caption()->html() ?>

+
@@ -277,9 +259,6 @@ $dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); type() === 'video'): ?> type(), ['block' => $block]) ?> - type() === 'gallery'): ?> - $block]) ?> -
@@ -290,8 +269,6 @@ $dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); text() ?> type() === 'heading'): ?> <level()->or('h3') ?>>text() ?>level()->or('h3') ?>> - type() === 'insert'): ?> - $block]) ?>
@@ -302,110 +279,49 @@ $dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5);
+
+

Impacts

- -find('ressources'); -$resources = $resourcesParent ? $resourcesParent->children()->listed()->filter(function($resource) use ($page) { - return $resource->linkedInvestigations()->toPages()->has($page); -}) : null; -?> - -isNotEmpty()): ?> - - - -find('impacts'); -$impacts = $impactsParent ? $impactsParent->children()->listed()->filter(function($impact) use ($page) { - if ($impact->intendedTemplate()->name() === 'impact-media') { - return $impact->linkedInvestigation()->toPages()->has($page); - } - return $impact->linkedInvestigations()->toPages()->has($page); -}) : null; -?> - -isNotEmpty()): ?> - - + + + + + +
isEmpty()) { ?> + + + + + + find('dossiers'); -$package = $packagesParent - ? $packagesParent->children()->listed()->filter(fn($p) => $p->linkedContent()->toPages()->has($page))->first() - : null; +// KIRBY TO DO : récupérer s’il y a un dossier mr +?> + +package()->value(); +$package = null; +if (!empty($packageSlug) && site()->find('dossiers')) { + $package = site()->find('dossiers')->children()->filterBy('slug', $packageSlug)->first(); +} if ($package): - $investigationsCount = $package->linkedContent()->toPages()->count(); ?> -
- - - - diff --git a/site/templates/investigations.php b/site/templates/investigations.php index e797c79..0770195 100644 --- a/site/templates/investigations.php +++ b/site/templates/investigations.php @@ -4,11 +4,11 @@ @@ -18,37 +18,23 @@
-
+
-children()->listed()->sortBy('created', 'desc') as $investigation): - $cover = $investigation->cover()->toFile(); - $dateAttr = $investigation->incidentDate()->isNotEmpty() - ? $investigation->incidentDate()->toDate('yyyy-MM-dd') - : ($investigation->created()->isNotEmpty() ? $investigation->created()->toDate('yyyy-MM-dd') : ''); - $filterAttr = implode(' ', array_map(fn($c) => Str::slug($c), $investigation->incidentCountry()->split())); -?> -
- - +children()->listed() as $investigation): ?> +
+ + cover()->toFile()): ?>
- $cover, - 'alt' => $investigation->title()->value(), - 'sizes' => '(min-width: 1000px) 465px, (min-width: 728px) 50vw, 100vw', - 'srcsetName' => 'cover-card', - 'lazy' => true, - ]) ?> + <?= $investigation->title()->esc() ?>
@@ -90,19 +76,24 @@
+ keywords()->split()): ?> -
+
-
- +
+ + +pinned()->toBool()): ?> +
+ diff --git a/site/templates/lab.php b/site/templates/lab.php deleted file mode 100644 index ba7e489..0000000 --- a/site/templates/lab.php +++ /dev/null @@ -1,81 +0,0 @@ - -
- - - - -
- - -
- -
- -
- - children()->listed()->sortBy('created', 'desc') as $project): ?> - - category()->split(); - $category = $categories[0] ?? ''; - $cover = $project->cover()->toFile(); - $investigations = $project->linkedInvestigations()->toPages(); - ?> - - - - - -
- -
- diff --git a/site/templates/laboratory.php b/site/templates/laboratory.php new file mode 100644 index 0000000..8e54641 --- /dev/null +++ b/site/templates/laboratory.php @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/site/templates/legal-notices.php b/site/templates/legal-notices.php index c098d13..8e54641 100644 --- a/site/templates/legal-notices.php +++ b/site/templates/legal-notices.php @@ -1,27 +1,2 @@ -
- - - -definitions()->toStructure() ?> -isNotEmpty()): ?> - - - -body()->isNotEmpty()): ?> -
- body()->toBlocks() ?> -
- - -
- + \ No newline at end of file diff --git a/site/templates/news-item.php b/site/templates/news-item.php deleted file mode 100644 index 69e1860..0000000 --- a/site/templates/news-item.php +++ /dev/null @@ -1,123 +0,0 @@ - -language(); -$locale = $lang ? $lang->locale(LC_ALL) : 'fr_FR.UTF-8'; -$dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); -?> - -
- - - - - body()->isNotEmpty()): ?> -
- body()->toBlocks() ?> -
- - - - - linkedInvestigations()->toPages() ?> - isNotEmpty()): ?> - - - - find('news') - ->children()->listed()->not($page) - ->sortBy('created', 'desc') - ->limit(5); - ?> - - isNotEmpty()): ?> - - - - -
- - - diff --git a/site/templates/news.php b/site/templates/news.php deleted file mode 100644 index 4085a6c..0000000 --- a/site/templates/news.php +++ /dev/null @@ -1,87 +0,0 @@ - -language(); -$locale = $lang ? $lang->locale(LC_ALL) : 'fr_FR.UTF-8'; -$dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); -?> -
- - - - -
- - -
- -
- -
- - children()->listed()->sortBy('created', 'desc') as $newsItem): ?> - - category()->split(); - $category = $categories[0] ?? ''; - $cover = $newsItem->cover()->toFile(); - $investigations = $newsItem->linkedInvestigations()->toPages(); - ?> - - - - - -
- -
- - - diff --git a/site/templates/newsletter.php b/site/templates/newsletter.php deleted file mode 100644 index e9c1ec8..0000000 --- a/site/templates/newsletter.php +++ /dev/null @@ -1,40 +0,0 @@ - - -
- - - -
- - chapo()->isNotEmpty()): ?> -
-

chapo() ?>

-
- - - - -details()->isNotEmpty()): ?> - -
-

details() ?>

-
- - - -
- -
- diff --git a/site/templates/package.php b/site/templates/package.php index 5068b46..20560b3 100644 --- a/site/templates/package.php +++ b/site/templates/package.php @@ -1,221 +1,212 @@ -
- -language(); -$locale = $lang ? $lang->locale(LC_ALL) : 'fr_FR.UTF-8'; -$dateLocale = substr(is_array($locale) ? reset($locale) : $locale, 0, 5); - -$investigations = $page->linkedContent()->toPages(); -$impacts = $page->linkedImpacts()->toPages(); -$resources = $page->linkedResources()->toPages(); -$news = $page->linkedNews()->toPages(); -$projects = $page->linkedProjects()->toPages(); -?> +
+find('enquetes')->children()->listed()->filter(function($investigation) use ($page) { + return $investigation->package()->value() === $page->slug(); +}); +?> -description()->isNotEmpty()): ?> -
-

description() ?>

+ - +
isNotEmpty()): ?> -
-

(count() ?>)

+
+ +

2 enquêtes

-
+
+ cover()->toFile()): ?>
<?= $investigation->title()->esc() ?>
+
-

-

title()->esc() ?>

+ +

title()->esc() ?>

+ + chapo()->isNotEmpty()): ?> +

chapo()->excerpt(200) ?>

+ + +
incidentDate()->isNotEmpty()): ?> - +
+
Date de l'incident
+
+
- chapo()->isNotEmpty()): ?> -

chapo()->excerpt(200) ?>

+ + partners()->toStructure()): ?> + isNotEmpty()): ?> +
+
Partenaire(s)
+
+ + + name()->value() ?> + + +
+
+ + + incidentLocation()->isNotEmpty()): ?> +
+
Lieu de l'incident
+
incidentLocation()->esc() ?>
+
+ + + + + +
+
- - + + + keywords()->split()): ?> +
+
    + +
  • + +
+
+ + + + + + +
-
+ + +

Aucune enquête associée à ce dossier pour le moment.

-isNotEmpty()): ?> -
-

(count() ?>)

- -