harmonisation des styles
All checks were successful
Deploy / Deploy to Production (push) Successful in 12s

This commit is contained in:
Julie Blanc 2026-01-29 20:57:17 +01:00
parent 9ead1c51f4
commit b3f985a41b
30 changed files with 1601 additions and 465 deletions

View file

@ -4,17 +4,40 @@
@include grid-content();
margin-bottom: calc(var(--spacing)*0.5);
padding-top: calc(var(--spacing)*0.5);
padding-bottom: calc(var(--spacing)*0.5);
border-bottom: var(--border-light);
border-bottom: var(--border-light);
&:first-of-type{
padding-top: calc(var(--spacing)*0.5);
border-top: var(--border-light);
}
&.has-link {
@include hover-card-line();
}
// &:first-of-type{
// padding-top: calc(var(--spacing)*0.5);
// border-top: var(--border-light);
// }
@include figure-16-9();
figure{
margin-left: 45px;
@media #{$x-small}{ margin-left: 0px; }
}
.icon-article{
position: absolute;
left: 10px;
padding-top: calc(var(--spacing)*0.5);
svg{
width: 20px;
fill: var(--color-txt);
}
}
.content{
display: flex;
@ -38,12 +61,11 @@
flex-grow: 1;
color: var(--color-txt-light);
}
.keywords--small{
margin-top: 1.5em;
padding-bottom: calc(var(--spacing)*0.25);
color: var(--color-txt-light);
z-index: 1000;
max-width: 32ch;
.description{
@include clamp(2);
margin-bottom: calc(var(--spacing)*0.75);
}
@ -60,6 +82,17 @@
}
@media #{$x-small}{
// figure{
// aspect-ratio: inherit;
// width: 100%;
// height: 100%;
// }
.icon-article{ display: none; }
.description{
display: none;
}
.content{
padding: 0;
}
@ -70,11 +103,21 @@
font-size: var(--fs-small);
margin-top: 0.25em;
}
.keywords--small{
font-size: var(--fs-small);
margin-top: 0.5em;
padding-bottom: 0;
.keywords {
display: block;
line-height: 1.1;
margin-top: calc(var(--spacing)*0.5);
padding-right: calc(var(--padding-inner)*1);
li, a{
display: inline;
border: none;
padding: 0px;
color: var(--color-txt-light);
}
}
}

View file

@ -50,7 +50,6 @@
.description{
margin-top: calc(var(--spacing)*0.5);
// font-size: var(--fs-small);
display: -webkit-box;
-webkit-line-clamp: 3;

View file

@ -78,27 +78,53 @@
}
// @media #{$x-small}{
// display: flex;
// flex-direction: column;
// padding: calc(var(--padding-inner)*0.5);
// .content{ display: contents;}
// .title{ order: 1; }
// figure{ order: 2; }
// .short{ order: 3; }
// ul{ order: 4; }
// }
}
[data-template="investigation-summary"] .card--folder{
border: none;
padding-left: 0;
padding-right: 0;
border-bottom: var(--border-light);
&:first-of-type{
border-top: var(--border-light);
}
&.has-link {
@include hover-card-line();
}
figure{
margin-left: 45px;
@media #{$x-small}{ margin-left: 0px; }
}
.title .icon{
display: none;
}
.icon-folder{
position: absolute;
left: 10px;
padding-top: calc(var(--spacing)*0.5);
@media #{$x-small}{ display: none; }
svg{
width: 20px;
fill: var(--color-txt);
}
}
}

View file

@ -0,0 +1,111 @@
.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;
}
.content {
grid-column: 2;
}
.card--open-graph {
grid-column: 2;
z-index: 10;
}
.keywords {
grid-column: 2;
z-index: 10;
@media #{$x-small} {
display: block;
line-height: 1.1;
li, a{
display: inline;
border: none;
padding: 0px;
color: var(--color-txt-light);
}
}
}
&:not([data-impact-type="media"]) .content,
.keywords {
@media #{$x-small} {
grid-column: span 2;
}
}
.tag {
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;
}
}
.open-graph__inner {
margin-top: calc(var(--spacing)*0.5);
.card--open-graph {
margin-bottom: calc(var(--spacing)*0.5);
}
}
}

View file

@ -1,129 +1,264 @@
.card--impact {
.card--impact{
@include grid-content();
border-bottom: var(--border-light);
&:first-of-type{
border-top: var(--border-light);
}
&.has-link{
@include hover-card-line();
}
padding: calc(var(--spacing)*0.5) 0;
container-type: inline-size;
container-name: impact;
border: var(--border-light);
margin-bottom: calc(var(--spacing)*1);
@include btn--go-to();
.btn--go-to{
top: calc(var(--padding-inner)*1);
bottom: auto;
&.has-link {
@include hover-card-line();
}
.card--impact__inner {
@include grid-content();
padding: calc(var(--padding-inner)*1.5) var(--padding-inner);
// border-bottom: var(--border-light);
// padding: calc(var(--spacing)*0.5) 0;
// &:first-of-type{
// border-top: var(--border-light);
// }
@include btn--go-to();
.btn--go-to {
top: calc(var(--padding-inner)*1);
bottom: auto;
}
.content {
grid-column: 2;
}
.card--open-graph {
grid-row: 1/3;
grid-column: 2;
z-index: 10;
}
.keywords-wrapper {
grid-column: 1;
grid-row: 2/4;
align-self: end;
z-index: 10;
}
&:not([data-impact-type="media"]) .content {
@media #{$x-small} {
grid-column: span 2;
}
}
.tag {
width: auto;
justify-self: start;
position: relative;
top: -5px;
}
&:not([data-impact-type="media"]) {
.content {
padding-right: calc(var(--padding-inner)*2.5);
}
}
.investigations {
z-index: 10;
grid-column: 2;
list-style: none;
font-size: var(--fs-small);
a {
text-decoration: none;
color: var(--color-txt-light);
}
.icon {
position: relative;
top: 2px;
svg {
width: 14px;
height: 14px;
fill: var(--color-txt-light);
}
}
li:hover {
a {
color: var(--color-txt);
}
.icon svg {
fill: var(--color-txt);
}
}
}
.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;
}
}
.open-graph__inner {
margin-top: calc(var(--spacing)*0.5);
// margin-bottom: calc(var(--spacing)*1);
.card--open-graph {
margin-bottom: calc(var(--spacing)*0.5);
}
}
}
}
@container impact (width < 460px) {
.card--impact__inner{
display: block!important;
padding-top: var(--padding-inner)!important;
padding-bottom: calc(var(--padding-inner)*0.75)!important;
.tag, .date{
display: inline-flex;
margin-right: 2ch;
top: 0px!important;
}
.content{
grid-column: 2;
}
&:not([data-impact-type="media"]) .content{
@media #{$x-small}{ grid-column: span 2; }
margin-top: calc(var(--spacing)*0.75);
margin-bottom: calc(var(--spacing)*0.25);
padding-right: 0!important;
}
.tag{
width: auto;
justify-self: start;
position: relative;
top: -5px;
.card--open-graph{
margin-top: calc(var(--spacing)*0.75);
margin-bottom: calc(var(--spacing)*0.25);
}
&:not([data-impact-type="media"]){
.content{
padding-right: calc(var(--padding-inner)*2.5);
}
}
.investigations{
z-index: 10;
grid-column: 2;
list-style: none;
font-size: var(--fs-small);
margin-top: calc(var(--spacing)*0.25);
margin-bottom: calc(var(--spacing)*0.25);
}
.keywords-wrapper {
margin-top: calc(var(--spacing)*1);
}
.date,
.content,
details {
font-size: 14px !important;
}
.btn--go-to {
top: calc(var(--padding-inner)*1.25)!important;
bottom: auto;
right: calc(var(--padding-inner)*1.25)!important;
}
}
}
@media #{$x-small}{
.card--impact__inner{
display: block!important;
padding-top: var(--padding-inner)!important;
padding-bottom: calc(var(--padding-inner)*0.75)!important;
a{
text-decoration: none;
color: var(--color-txt-light);
}
.icon{
position: relative;
top: 2px;
svg{
width: 14px;
height: 14px;
fill: var(--color-txt-light);
}
}
li:hover{
a{
color: var(--color-txt);
}
.icon svg{ fill: var(--color-txt); }
}
.tag, .date{
display: inline-flex;
margin-right: 2ch;
top: 0px!important;
}
.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;
}
.content{
margin-top: calc(var(--spacing)*0.75);
margin-bottom: calc(var(--spacing)*0.25);
padding-right: 0!important;
}
.card--open-graph{
margin-top: calc(var(--spacing)*0.75);
margin-bottom: calc(var(--spacing)*0.25);
}
.investigations{
margin-top: calc(var(--spacing)*0.25);
margin-bottom: calc(var(--spacing)*0.25);
}
.open-graph__inner{
margin-top: calc(var(--spacing)*0.5);
// margin-bottom: calc(var(--spacing)*1);
.card--open-graph{
margin-bottom: calc(var(--spacing)*0.5);
}
}
.keywords-wrapper {
margin-top: calc(var(--spacing)*1);
}
.date,
.content,
details {
font-size: 14px !important;
}
.btn--go-to {
top: calc(var(--padding-inner)*1.25)!important;
bottom: auto;
right: calc(var(--padding-inner)*1.25)!important;
}
}
}
@container impact (width < 420px) {
.date, .content, details{
font-size: 14px!important;
}
}

View file

@ -2,7 +2,8 @@
@include grid-content();
border: var(--border-light);
// border: var(--border-light);
border: 1px solid var(--grey-600);
border-radius: var(--radius-small);
position: relative;

View file

@ -0,0 +1,86 @@
.slider-before-after{
width: 100%;
max-width: 700px;
z-index: 300;
display: grid;
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);
}
}

View file

@ -1,4 +1,6 @@
#home__investigations {
.swiper {
--slide-padding: 30px;
@ -7,6 +9,7 @@
--swiper-navigation-size: 32px;
color: var(--color-txt);
background-color: var(--color-bg);
background-color: red;
height: 100%;
width: var(--slide-padding);
// background-color: red;
@ -34,6 +37,7 @@
right: 0px;
top: 0px;
justify-content: flex-end;
}
.swiper-slide {

View file

@ -17,8 +17,8 @@
.site-header__inner{
width: 100%;
height: 100%;
border-bottom: 1px solid var(--color-bg);
transition: border-color ease-in .5s;
// border-bottom: 1px solid var(--color-bg);
// transition: border-color ease-in .5s;
display: flex;
align-items: center;
@ -37,6 +37,7 @@
#site-title {
flex-grow: 2;
opacity: 0;
svg{
width: 100px;
@media #{$small}{

View file

@ -165,8 +165,6 @@ body.is-hidden .btn--back-to-top {
#site-header .site-header__inner {
width: 100%;
height: 100%;
border-bottom: 1px solid var(--color-bg);
transition: border-color ease-in 0.5s;
display: flex;
align-items: center;
justify-content: space-between;
@ -180,6 +178,7 @@ body.is-hidden .btn--back-to-top {
}
#site-header #site-title {
flex-grow: 2;
opacity: 0;
}
#site-header #site-title svg {
width: 100px;
@ -1247,7 +1246,7 @@ button.sort[data-sort-type=up] .arrow {
grid-gap: var(--padding-inner);
grid-template-columns: 2fr 3fr;
position: relative;
margin-bottom: calc(var(--spacing) * 0.5);
padding-top: calc(var(--spacing) * 0.5);
padding-bottom: calc(var(--spacing) * 0.5);
border-bottom: var(--border-light);
position: relative;
@ -1255,9 +1254,30 @@ button.sort[data-sort-type=up] .arrow {
position: relative;
}
.card--article-small:first-of-type {
padding-top: calc(var(--spacing) * 0.5);
border-top: var(--border-light);
}
.card--article-small.has-link {
border-bottom: var(--border-light);
position: relative;
}
.card--article-small.has-link:first-of-type {
border-top: var(--border-light);
}
.card--article-small.has-link::before {
content: "";
width: 100%;
border-top: 1px solid transparent;
position: absolute;
top: -1px;
left: 0;
}
.card--article-small.has-link:hover {
background-color: var(--grey-950);
border-color: var(--color-txt);
}
.card--article-small.has-link:hover::before {
border-color: var(--color-txt);
}
.card--article-small figure {
aspect-ratio: 16/9;
display: flex;
@ -1270,6 +1290,23 @@ button.sort[data-sort-type=up] .arrow {
object-fit: cover;
transition: cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.5s;
}
.card--article-small figure {
margin-left: 45px;
}
@media screen and (max-width: 560px) {
.card--article-small figure {
margin-left: 0px;
}
}
.card--article-small .icon-article {
position: absolute;
left: 10px;
padding-top: calc(var(--spacing) * 0.5);
}
.card--article-small .icon-article svg {
width: 20px;
fill: var(--color-txt);
}
.card--article-small .content {
display: flex;
flex-direction: column;
@ -1291,12 +1328,12 @@ button.sort[data-sort-type=up] .arrow {
flex-grow: 1;
color: var(--color-txt-light);
}
.card--article-small .keywords--small {
margin-top: 1.5em;
padding-bottom: calc(var(--spacing) * 0.25);
color: var(--color-txt-light);
z-index: 1000;
max-width: 32ch;
.card--article-small .description {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
margin-bottom: calc(var(--spacing) * 0.75);
}
.card--article-small .btn--go-to {
position: absolute;
@ -1352,6 +1389,12 @@ button.sort[data-sort-type=up] .arrow {
}
}
@media screen and (max-width: 560px) {
.card--article-small .icon-article {
display: none;
}
.card--article-small .description {
display: none;
}
.card--article-small .content {
padding: 0;
}
@ -1362,26 +1405,25 @@ button.sort[data-sort-type=up] .arrow {
font-size: var(--fs-small);
margin-top: 0.25em;
}
.card--article-small .keywords--small {
font-size: var(--fs-small);
margin-top: 0.5em;
padding-bottom: 0;
.card--article-small .keywords {
display: block;
line-height: 1.1;
margin-top: calc(var(--spacing) * 0.5);
padding-right: calc(var(--padding-inner) * 1);
}
.card--article-small .keywords li, .card--article-small .keywords a {
display: inline;
border: none;
padding: 0px;
color: var(--color-txt-light);
}
}
.card--impact {
display: grid;
grid-gap: var(--padding-inner);
grid-template-columns: 2fr 3fr;
position: relative;
border-bottom: var(--border-light);
padding: calc(var(--spacing) * 0.5) 0;
container-type: inline-size;
container-name: impact;
position: relative;
}
.card--impact:first-of-type {
border-top: var(--border-light);
border: var(--border-light);
margin-bottom: calc(var(--spacing) * 1);
}
.card--impact.has-link {
border-bottom: var(--border-light);
@ -1405,92 +1447,111 @@ button.sort[data-sort-type=up] .arrow {
.card--impact.has-link:hover::before {
border-color: var(--color-txt);
}
.card--impact .btn--go-to {
.card--impact .card--impact__inner {
display: grid;
grid-gap: var(--padding-inner);
grid-template-columns: 2fr 3fr;
position: relative;
padding: calc(var(--padding-inner) * 1.5) var(--padding-inner);
position: relative;
}
.card--impact .card--impact__inner .btn--go-to {
position: absolute;
right: var(--padding-inner);
bottom: calc(var(--padding-inner) - 3px);
}
.card--impact .btn--go-to svg {
.card--impact .card--impact__inner .btn--go-to svg {
width: 15px;
height: 15px;
fill: var(--color-txt);
}
@media screen and (max-width: 768px) {
.card--impact .btn--go-to svg {
.card--impact .card--impact__inner .btn--go-to svg {
width: 11px;
height: 11px;
}
}
@media screen and (max-width: 560px) {
.card--impact .btn--go-to {
.card--impact .card--impact__inner .btn--go-to {
right: calc(var(--padding-inner) * 0.5);
bottom: calc(var(--padding-inner) * 0.25);
}
.card--impact .btn--go-to svg {
.card--impact .card--impact__inner .btn--go-to svg {
width: 11px;
height: 11px;
}
}
.card--impact:hover .btn--go-to {
.card--impact .card--impact__inner:hover .btn--go-to {
animation: wiggle-left 0.8s ease-in-out;
}
.card--impact .btn--go-to {
.card--impact .card--impact__inner .btn--go-to {
top: calc(var(--padding-inner) * 1);
bottom: auto;
}
.card--impact .content {
.card--impact .card--impact__inner .content {
grid-column: 2;
}
.card--impact .card--impact__inner .card--open-graph {
grid-row: 1/3;
grid-column: 2;
z-index: 10;
}
.card--impact .card--impact__inner .keywords-wrapper {
grid-column: 1;
grid-row: 2/4;
align-self: end;
z-index: 10;
}
@media screen and (max-width: 560px) {
.card--impact:not([data-impact-type=media]) .content {
.card--impact .card--impact__inner:not([data-impact-type=media]) .content {
grid-column: span 2;
}
}
.card--impact .tag {
.card--impact .card--impact__inner .tag {
width: auto;
justify-self: start;
position: relative;
top: -5px;
}
.card--impact:not([data-impact-type=media]) .content {
.card--impact .card--impact__inner:not([data-impact-type=media]) .content {
padding-right: calc(var(--padding-inner) * 2.5);
}
.card--impact .investigations {
.card--impact .card--impact__inner .investigations {
z-index: 10;
grid-column: 2;
list-style: none;
font-size: var(--fs-small);
}
.card--impact .investigations a {
.card--impact .card--impact__inner .investigations a {
text-decoration: none;
color: var(--color-txt-light);
}
.card--impact .investigations .icon {
.card--impact .card--impact__inner .investigations .icon {
position: relative;
top: 2px;
}
.card--impact .investigations .icon svg {
.card--impact .card--impact__inner .investigations .icon svg {
width: 14px;
height: 14px;
fill: var(--color-txt-light);
}
.card--impact .investigations li:hover a {
.card--impact .card--impact__inner .investigations li:hover a {
color: var(--color-txt);
}
.card--impact .investigations li:hover .icon svg {
.card--impact .card--impact__inner .investigations li:hover .icon svg {
fill: var(--color-txt);
}
.card--impact .open-graph__details {
.card--impact .card--impact__inner .open-graph__details {
grid-column: 2;
}
.card--impact .open-graph__details summary,
.card--impact .open-graph__details .summary-inner {
.card--impact .card--impact__inner .open-graph__details summary,
.card--impact .card--impact__inner .open-graph__details .summary-inner {
display: flex;
align-items: center;
cursor: pointer;
gap: 0.5ch;
}
.card--impact .open-graph__details .arrow-details {
.card--impact .card--impact__inner .open-graph__details .arrow-details {
line-height: 0;
--size: 11px;
height: var(--size);
@ -1501,53 +1562,297 @@ button.sort[data-sort-type=up] .arrow {
position: relative;
top: -2px;
}
.card--impact .open-graph__details .arrow-details svg {
.card--impact .card--impact__inner .open-graph__details .arrow-details svg {
transition: transform 0.2s ease-in;
width: 100%;
fill: var(--color-txt);
}
.card--impact .open-graph__details summary:hover {
.card--impact .card--impact__inner .open-graph__details summary:hover {
color: var(--color-txt);
}
.card--impact .open-graph__details summary:hover .arrow-details svg {
.card--impact .card--impact__inner .open-graph__details summary:hover .arrow-details svg {
fill: var(--color-txt);
}
.card--impact .open-graph__details[open] .arrow-details svg {
.card--impact .card--impact__inner .open-graph__details[open] .arrow-details svg {
transform: rotate(90deg);
}
.card--impact .open-graph__details summary {
.card--impact .card--impact__inner .open-graph__details summary {
color: var(--color-txt-light);
}
.card--impact .open-graph__details summary .arrow-details svg {
.card--impact .card--impact__inner .open-graph__details summary .arrow-details svg {
fill: var(--color-txt-light);
}
@media screen and (max-width: 560px) {
.card--impact .open-graph__details {
.card--impact .card--impact__inner .open-graph__details {
grid-column: 1/3;
}
.card--impact .open-graph__details summary {
.card--impact .card--impact__inner .open-graph__details summary {
display: grid;
grid-gap: var(--padding-inner);
grid-template-columns: 2fr 3fr;
position: relative;
grid-row-gap: 0;
}
.card--impact .open-graph__details summary .summary-inner {
.card--impact .card--impact__inner .open-graph__details summary .summary-inner {
grid-column: 2;
}
}
.card--impact .open-graph__inner {
.card--impact .card--impact__inner .open-graph__inner {
margin-top: calc(var(--spacing) * 0.5);
}
.card--impact .open-graph__inner .card--open-graph {
.card--impact .card--impact__inner .open-graph__inner .card--open-graph {
margin-bottom: calc(var(--spacing) * 0.5);
}
@container impact (width < 420px) {
.date, .content, details {
@container impact (width < 460px) {
.card--impact__inner {
display: block !important;
padding-top: var(--padding-inner) !important;
padding-bottom: calc(var(--padding-inner) * 0.75) !important;
}
.card--impact__inner .tag, .card--impact__inner .date {
display: inline-flex;
margin-right: 2ch;
top: 0px !important;
}
.card--impact__inner .content {
margin-top: calc(var(--spacing) * 0.75);
margin-bottom: calc(var(--spacing) * 0.25);
padding-right: 0 !important;
}
.card--impact__inner .card--open-graph {
margin-top: calc(var(--spacing) * 0.75);
margin-bottom: calc(var(--spacing) * 0.25);
}
.card--impact__inner .investigations {
margin-top: calc(var(--spacing) * 0.25);
margin-bottom: calc(var(--spacing) * 0.25);
}
.card--impact__inner .keywords-wrapper {
margin-top: calc(var(--spacing) * 1);
}
.card--impact__inner .date,
.card--impact__inner .content,
.card--impact__inner details {
font-size: 14px !important;
}
.card--impact__inner .btn--go-to {
top: calc(var(--padding-inner) * 1.25) !important;
bottom: auto;
right: calc(var(--padding-inner) * 1.25) !important;
}
}
@media screen and (max-width: 560px) {
.card--impact__inner {
display: block !important;
padding-top: var(--padding-inner) !important;
padding-bottom: calc(var(--padding-inner) * 0.75) !important;
}
.card--impact__inner .tag, .card--impact__inner .date {
display: inline-flex;
margin-right: 2ch;
top: 0px !important;
}
.card--impact__inner .content {
margin-top: calc(var(--spacing) * 0.75);
margin-bottom: calc(var(--spacing) * 0.25);
padding-right: 0 !important;
}
.card--impact__inner .card--open-graph {
margin-top: calc(var(--spacing) * 0.75);
margin-bottom: calc(var(--spacing) * 0.25);
}
.card--impact__inner .investigations {
margin-top: calc(var(--spacing) * 0.25);
margin-bottom: calc(var(--spacing) * 0.25);
}
.card--impact__inner .keywords-wrapper {
margin-top: calc(var(--spacing) * 1);
}
.card--impact__inner .date,
.card--impact__inner .content,
.card--impact__inner details {
font-size: 14px !important;
}
.card--impact__inner .btn--go-to {
top: calc(var(--padding-inner) * 1.25) !important;
bottom: auto;
right: calc(var(--padding-inner) * 1.25) !important;
}
}
.card--impact-small {
border-bottom: var(--border-light);
display: grid;
grid-gap: var(--padding-inner);
grid-template-columns: 2fr 3fr;
position: relative;
padding: var(--padding-inner) 0;
position: relative;
}
.card--impact-small:first-of-type {
border-top: var(--border-light);
}
.card--impact-small.has-link {
border-bottom: var(--border-light);
position: relative;
}
.card--impact-small.has-link:first-of-type {
border-top: var(--border-light);
}
.card--impact-small.has-link::before {
content: "";
width: 100%;
border-top: 1px solid transparent;
position: absolute;
top: -1px;
left: 0;
}
.card--impact-small.has-link:hover {
background-color: var(--grey-950);
border-color: var(--color-txt);
}
.card--impact-small.has-link:hover::before {
border-color: var(--color-txt);
}
.card--impact-small .btn--go-to {
position: absolute;
right: var(--padding-inner);
bottom: calc(var(--padding-inner) - 3px);
}
.card--impact-small .btn--go-to svg {
width: 15px;
height: 15px;
fill: var(--color-txt);
}
@media screen and (max-width: 768px) {
.card--impact-small .btn--go-to svg {
width: 11px;
height: 11px;
}
}
@media screen and (max-width: 560px) {
.card--impact-small .btn--go-to {
right: calc(var(--padding-inner) * 0.5);
bottom: calc(var(--padding-inner) * 0.25);
}
.card--impact-small .btn--go-to svg {
width: 11px;
height: 11px;
}
}
.card--impact-small:hover .btn--go-to {
animation: wiggle-left 0.8s ease-in-out;
}
.card--impact-small .btn--go-to {
top: calc(var(--padding-inner) * 1);
bottom: auto;
}
.card--impact-small .content {
grid-column: 2;
}
.card--impact-small .card--open-graph {
grid-column: 2;
z-index: 10;
}
.card--impact-small .keywords {
grid-column: 2;
z-index: 10;
}
@media screen and (max-width: 560px) {
.card--impact-small .keywords {
display: block;
line-height: 1.1;
}
.card--impact-small .keywords li, .card--impact-small .keywords a {
display: inline;
border: none;
padding: 0px;
color: var(--color-txt-light);
}
}
@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 .tag {
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--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--impact-small .open-graph__details .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;
}
.card--impact-small .open-graph__details .arrow-details svg {
transition: transform 0.2s ease-in;
width: 100%;
fill: var(--color-txt);
}
.card--impact-small .open-graph__details summary:hover {
color: var(--color-txt);
}
.card--impact-small .open-graph__details summary:hover .arrow-details svg {
fill: var(--color-txt);
}
.card--impact-small .open-graph__details[open] .arrow-details svg {
transform: rotate(90deg);
}
.card--impact-small .open-graph__details summary {
color: var(--color-txt-light);
}
.card--impact-small .open-graph__details summary .arrow-details svg {
fill: var(--color-txt-light);
}
@media screen and (max-width: 560px) {
.card--impact-small .open-graph__details {
grid-column: 1/3;
}
.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--impact-small .open-graph__details summary .summary-inner {
grid-column: 2;
}
}
.card--impact-small .open-graph__inner {
margin-top: calc(var(--spacing) * 0.5);
}
.card--impact-small .open-graph__inner .card--open-graph {
margin-bottom: calc(var(--spacing) * 0.5);
}
.card--folder {
position: relative;
max-width: var(--max-w-cards);
@ -1664,6 +1969,63 @@ button.sort[data-sort-type=up] .arrow {
border-color: var(--color-txt);
}
[data-template=investigation-summary] .card--folder {
border: none;
padding-left: 0;
padding-right: 0;
border-bottom: var(--border-light);
}
[data-template=investigation-summary] .card--folder:first-of-type {
border-top: var(--border-light);
}
[data-template=investigation-summary] .card--folder.has-link {
border-bottom: var(--border-light);
position: relative;
}
[data-template=investigation-summary] .card--folder.has-link:first-of-type {
border-top: var(--border-light);
}
[data-template=investigation-summary] .card--folder.has-link::before {
content: "";
width: 100%;
border-top: 1px solid transparent;
position: absolute;
top: -1px;
left: 0;
}
[data-template=investigation-summary] .card--folder.has-link:hover {
background-color: var(--grey-950);
border-color: var(--color-txt);
}
[data-template=investigation-summary] .card--folder.has-link:hover::before {
border-color: var(--color-txt);
}
[data-template=investigation-summary] .card--folder figure {
margin-left: 45px;
}
@media screen and (max-width: 560px) {
[data-template=investigation-summary] .card--folder figure {
margin-left: 0px;
}
}
[data-template=investigation-summary] .card--folder .title .icon {
display: none;
}
[data-template=investigation-summary] .card--folder .icon-folder {
position: absolute;
left: 10px;
padding-top: calc(var(--spacing) * 0.5);
}
@media screen and (max-width: 560px) {
[data-template=investigation-summary] .card--folder .icon-folder {
display: none;
}
}
[data-template=investigation-summary] .card--folder .icon-folder svg {
width: 20px;
fill: var(--color-txt);
}
@container cardfolder (width < 680px) {
figure {
aspect-ratio: inherit;
@ -1689,7 +2051,7 @@ button.sort[data-sort-type=up] .arrow {
grid-gap: var(--padding-inner);
grid-template-columns: 2fr 3fr;
position: relative;
border: var(--border-light);
border: 1px solid var(--grey-600);
border-radius: var(--radius-small);
position: relative;
}
@ -1761,66 +2123,138 @@ button.sort[data-sort-type=up] .arrow {
aspect-ratio: inherit;
}
}
#home__investigations {
.swiper {
--slide-padding: 30px;
}
#home__investigations .swiper-button-prev,
#home__investigations .swiper-button-next {
.swiper .swiper-button-prev,
.swiper .swiper-button-next {
--swiper-navigation-size: 32px;
color: var(--color-txt);
background-color: var(--color-bg);
background-color: red;
height: 100%;
width: var(--slide-padding);
}
#home__investigations .swiper-button-prev svg,
#home__investigations .swiper-button-next svg {
.swiper .swiper-button-prev svg,
.swiper .swiper-button-next svg {
width: 14px;
}
#home__investigations .swiper-button-prev.swiper-button-disabled,
#home__investigations .swiper-button-next.swiper-button-disabled {
.swiper .swiper-button-prev.swiper-button-disabled,
.swiper .swiper-button-next.swiper-button-disabled {
opacity: 1;
}
#home__investigations .swiper-button-prev.swiper-button-disabled svg,
#home__investigations .swiper-button-next.swiper-button-disabled svg {
.swiper .swiper-button-prev.swiper-button-disabled svg,
.swiper .swiper-button-next.swiper-button-disabled svg {
opacity: 0.05;
}
#home__investigations .swiper-button-prev {
.swiper .swiper-button-prev {
left: 0px;
top: 0px;
justify-content: flex-start;
}
#home__investigations .swiper-button-next {
.swiper .swiper-button-next {
right: 0px;
top: 0px;
justify-content: flex-end;
}
#home__investigations .swiper-slide {
.swiper .swiper-slide {
padding-left: var(--slide-padding);
padding-right: var(--slide-padding);
}
#home__investigations .swiper-pagination {
.swiper .swiper-pagination {
position: relative;
margin-top: calc(var(--spacing) * 1);
}
#home__investigations .swiper-pagination .swiper-pagination-bullet {
.swiper .swiper-pagination .swiper-pagination-bullet {
width: 15px;
height: 4px;
border-radius: 2px;
background: var(--color-txt-light);
}
#home__investigations .swiper-pagination .swiper-pagination-bullet-active {
.swiper .swiper-pagination .swiper-pagination-bullet-active {
background: var(--color-txt);
}
@media screen and (max-width: 560px) {
#home__investigations .swiper-button-prev,
#home__investigations .swiper-button-next {
.swiper .swiper-button-prev,
.swiper .swiper-button-next {
display: none;
}
#home__investigations .swiper-slide {
.swiper .swiper-slide {
padding: 0px;
}
}
.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%;
}
.slider-before-after .image-container {
position: relative;
width: 100%;
}
.slider-before-after .slider-image {
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
-o-object-position: left;
object-position: left;
}
.slider-before-after .image-before {
position: absolute;
inset: 0;
width: var(--position);
}
.slider-before-after .slider {
position: absolute;
inset: 0;
cursor: pointer;
opacity: 0;
/* for Firefox */
width: 100%;
height: 100%;
}
.slider-before-after .slider:focus-visible ~ .slider-button {
outline: 5px solid black;
outline-offset: 3px;
}
.slider-before-after .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-before-after .slider-button {
position: absolute;
background-color: #fff;
color: black;
padding: 0.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 hsla(0, 50%, 2%, 0.5);
}
#site-header {
z-index: var(--z-header);
--gap: 3ch;
@ -1836,8 +2270,6 @@ button.sort[data-sort-type=up] .arrow {
#site-header .site-header__inner {
width: 100%;
height: 100%;
border-bottom: 1px solid var(--color-bg);
transition: border-color ease-in 0.5s;
display: flex;
align-items: center;
justify-content: space-between;
@ -1851,6 +2283,7 @@ button.sort[data-sort-type=up] .arrow {
}
#site-header #site-title {
flex-grow: 2;
opacity: 0;
}
#site-header #site-title svg {
width: 100px;
@ -2471,6 +2904,7 @@ main .page__header .description-medium {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: var(--padding-body);
z-index: calc(var(--z-header) - 100);
}
[data-template=report] .report__content .report__txt {
grid-row: 1;
@ -2478,13 +2912,12 @@ main .page__header .description-medium {
max-width: var(--max-w-content);
}
[data-template=report] .report__content #report__medias {
z-index: calc(var(--z-header) - 100);
position: sticky;
top: calc(var(--header-h) + var(--padding-body));
align-self: start;
background-color: red;
grid-row: 1;
grid-column: 2;
border: var(--border-light);
min-height: 100px;
}
[data-template=report] #toggle-panel {
@ -2601,8 +3034,7 @@ main .page__header .description-medium {
}
.report__content .section-content {
margin-bottom: calc(var(--spacing) * 3);
border-bottom: 1px solid red;
padding-bottom: calc(var(--spacing) * 3);
}
.report__content .section-content:target {
padding-top: calc(var(--header-h) + var(--spacing) * 2);
@ -2629,6 +3061,17 @@ main .page__header .description-medium {
padding-top: calc(var(--header-h) * 2 + var(--spacing)) !important;
}
.media video {
width: 100%;
}
.media figure {
height: auto;
}
.media .caption {
font-size: var(--fs-small);
line-height: 1.1;
}
#toggle-panel {
width: calc(var(--h-block) * 1);
padding: 0;
@ -2719,24 +3162,6 @@ main .page__header .description-medium {
flex-grow: 1;
}
#report {
--fig-outside: calc(var(--spacing)*2);
}
#report .fig-simple {
height: calc(100vh - var(--header-h) - var(--spacing) * 2);
}
#report .fig-simple figure {
height: 100%;
width: 100%;
overflow: hidden;
}
#report .fig-simple figure img {
width: 100%;
height: 100%;
-o-object-fit: contain;
object-fit: contain;
}
.content-folder {
max-width: var(--max-w-cards);
margin: 0 auto;

File diff suppressed because one or more lines are too long

View file

@ -28,9 +28,12 @@
@import "components/card-article";
@import "components/card-article-small";
@import "components/card-impact";
@import "components/card-impact-small";
@import "components/card-folder";
@import "components/card-open-graph";
@import "components/swipper";
@import "components/swiper";
@import "components/slider-before-after";
@import "partials/site-header";
@import "partials/site-menu";

View file

@ -65,7 +65,7 @@
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: var(--padding-body);
z-index: calc(var(--z-header) - 100);
.report__txt {
grid-row: 1;
@ -74,14 +74,14 @@
}
#report__medias {
z-index: calc(var(--z-header) - 100);
position: sticky;
top: calc(var(--header-h) + var(--padding-body));
align-self: start;
background-color: red;
grid-row: 1;
grid-column: 2;
border: var(--border-light);
// border: var(--border-light);
min-height: 100px;
}
@ -240,8 +240,7 @@
.section-content {
margin-bottom: calc(var(--spacing)*3);
border-bottom: 1px solid red;
padding-bottom: calc(var(--spacing)*3);
&:target{
padding-top: calc(var(--header-h) + var(--spacing)*2);
@media #{$small}{ padding-top: calc(var(--header-h) + var(--spacing)*0.5); }
@ -249,6 +248,8 @@
}
.section-title {
font-size: var(--fs-medium);
margin-bottom: var(--spacing);
@ -270,6 +271,24 @@
}
.media{
video{
width: 100%;
}
figure{
height: auto;
}
.caption{
font-size: var(--fs-small);
line-height: 1.1;
}
}
/// PANEL-LEFT --------------------------------------------
@ -403,27 +422,6 @@
#report {
--fig-outside: calc(var(--spacing)*2);
// .container-figure {
// width: 100%;
// display: none;
// }
.fig-simple {
height: calc(100vh - var(--header-h) - var(--spacing)*2);
figure {
height: 100%;
width: 100%;
overflow: hidden;
img {
width: 100%;
height: 100%;
object-fit: contain;
}
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 763 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 910 KiB

After

Width:  |  Height:  |  Size: 400 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 KiB

After

Width:  |  Height:  |  Size: 388 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

View file

@ -1,47 +0,0 @@
import Swiper from 'https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.mjs';
export function initHomeInvestigationsSlider() {
const slider = document.querySelector('.home-investigations-slider');
if (!slider) {
return;
}
const swiper = new Swiper('.home-investigations-slider', {
// Optional parameters
slidesPerView: 1,
spaceBetween: 20,
speed: 600,
// Touch/Swipe settings
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: 'Investigation précédente',
nextSlideMessage: 'Investigation suivante',
paginationBulletMessage: 'Aller à l\'investigation {{index}}',
},
});
}

View file

@ -1,16 +1,35 @@
import { initSwipers } from './swipers.js';
export function report(responsiveSmall) {
if (document.body.dataset.template === 'report') {
console.log('report');
// Initialiser tous les sliders et swipers de la page
initSliderBeforeAfter();
initSwipers();
// Ne fonctionne que pour les écrans plus grands que responsiveSmall
if (window.matchMedia(responsiveSmall).matches) {
return;
}
initMediaDisplay();
}
}
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) => {
console.log('slider value:', e.target.value);
sliderContainer.style.setProperty('--position', `${e.target.value}%`);
});
}
});
}
function initMediaDisplay() {
const reportMedias = document.querySelector('#report__medias');
if (!reportMedias) return;
@ -115,6 +134,10 @@ function initMediaDisplay() {
// Ajouter le nouveau media
reportMedias.appendChild(mediaData.media.cloneNode(true));
currentMediaId = mediaId;
// Réinitialiser les sliders et swipers dans le media nouvellement inséré
initSliderBeforeAfter(reportMedias);
initSwipers(reportMedias);
}
} else {
// Aucune ancre n'a encore franchi la ligne, vider le conteneur

View file

@ -7,7 +7,7 @@ import { themeToggle } from './themeToggle.js';
import { initHeroSlider } from './hero-slider.js';
import { playVideo } from './hero-video.js';
import { initDropdowns } from './dropdown.js';
import { initHomeInvestigationsSlider } from './home-investigations-slider.js';
import { initSwipers } from './swipers.js';
import { report } from './report.js';
@ -30,5 +30,5 @@ window.onload = async function () {
initHeroSlider();
playVideo();
initDropdowns(responsiveSmall);
initHomeInvestigationsSlider();
// initSwipers();
}

54
assets/js/swipers.js Normal file
View file

@ -0,0 +1,54 @@
import Swiper from 'https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.mjs';
export function initSwipers(container = document) {
const sliders = container.querySelectorAll('.swiper');
if (sliders.length === 0) {
return;
}
sliders.forEach((sliderElement) => {
// Éviter de réinitialiser un swiper déjà initialisé
if (sliderElement.swiper) {
return;
}
const swiper = new Swiper(sliderElement, {
// Optional parameters
slidesPerView: 1,
spaceBetween: 20,
speed: 600,
// Touch/Swipe settings
touchRatio: 1,
touchAngle: 45,
grabCursor: true,
simulateTouch: true,
allowTouchMove: true,
// Navigation arrows
navigation: {
nextEl: sliderElement.querySelector('.swiper-button-next'),
prevEl: sliderElement.querySelector('.swiper-button-prev'),
},
// Pagination
pagination: {
el: sliderElement.querySelector('.swiper-pagination'),
clickable: true,
},
// Keyboard control
keyboard: {
enabled: true,
},
// Accessibility
a11y: {
prevSlideMessage: 'Investigation précédente',
nextSlideMessage: 'Investigation suivante',
paginationBulletMessage: 'Aller à l\'investigation {{index}}',
},
});
});
}