:root {
    --mainFont:'Repro', Arial, sans-serif;
    --green: #d7fe66;
    --dark: #242424;
    --blue: #4443e8;
    --bubblegum : #ff6699;
    --sponsorBG: #4443e8;
    --sponsorColor: #FFFFFF;
    --techDark: #2f2f2f;
    --white: #FFFFFF;
    --black: #000000;
    --grey: #666666;
    --lightGrey: #999999;
    --lighterGrey: #AAAAAA;
    --swiper-theme-color: #FFFFFF !important;
    --techGrey: #f3f3f3;
    --regularColumnGap : 40px;
    --fontFadeIn: fadeIn ease-in-out 500ms;
    --socialClubHeight:900px;
    font-size: 16px;
}
*, *::before, *::after {
    box-sizing: border-box;
}
* {
    margin: 0;
    line-height: 1;
}

@font-face {
    font-family: 'Repro';
    src:
    url("../font/ABCRepro-Screen.woff2") format("woff2"),
    url('../font/ABCRepro-Screen.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Repro';
    src:
            url("../font/ABCRepro-ScreenItalicMin.woff2") format("woff2"),
            url('../font/ABCRepro-ScreenItalic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Repro';
    src:
            url("../font/ABCRepro-BoldMin.woff2") format("woff2"),
            url('../font/ABCRepro-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}



html, body {
    font-family: var(--mainFont);
    font-feature-settings: "ss01";
}
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
    --tagBorderWidthS:1.2px;
    --tagBorderWidth:1.4px;
    --tagBorderWidthM:1.9px;
    --tagBorderWidthL:2.2px;
    --tagBorderWidthL2:3px;
    --tagBorderWidthXL:4.4px;
}

img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}
img {
    font-style: italic;
    vertical-align: middle;
    height: auto;
    background-repeat:no-repeat;
    background-size:cover;
    shape-margin:0.75rem;
}

input, button, textarea, select {
    font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
}
#root, #__next {
    isolation: isolate;
}
article {
    position: relative;
}
a {
    text-decoration: none;
    color:inherit;
}
a:hover {
    /*text-decoration: underline;*/
    /*text-underline-offset: 3px;*/
    /*text-decoration-thickness: 1px;*/
}
.hidden {
    display: none;
}

/* TOP */
body {
    min-height: 200vh;
}
.megaban {
    width: 1200px;
    margin:auto;
    max-width: 100%;
    height: 250px;
    display: flex;
}
.megaban a {
    display: flex;
    width: fit-content;
    margin: auto;
}
.megaban iframe {
    width: 100%;
    max-width: 1200px;
}
.large .megaban {
    width: 1520px;
}
.large .megaban iframe {
    max-width: 100%;
    width:1520px;
}
.megaban img {
    width: 100%;
    height: auto;
    max-width: 1000px;
    margin: 0 auto;
}
.fluidContent.large .megaban img {
    max-width: 100%;
}
.adFullWidthFixed.large .megaban img {
    max-width: 100%;
    width:fit-content;
    margin:auto;
}
.megaban {
    max-width: 100%;
    margin:auto;
}
#home .adFullWidthFixed {
    margin-top:40px;
}


.top {
    position: relative;
    font-size:1.125rem;
    color:var(--white);
}

.headerLogo {
    position: absolute;
    z-index: 2;
    top:30px;
    left: calc(50% + 35px);
    transform: translateX(-50%);
    transition: all ease-in-out 100ms;
    display: none;
}
#home .headerLogo, #studio .headerLogo {
    display: block;
}
.headerLogo.adjustTop {
    top:40px;
}
.headerLogo img {
    width: 256px;
    height: 102px;
    object-fit: contain;
}
.topMenuButton {
    position: fixed;
    z-index: 20;
    font-size:1.875rem;
    right:50px;
    top:25px;
    cursor: pointer;
    transition: transform ease-in-out 100ms;
    user-select: none;
    animation: var(--fontFadeIn);
}
.topMenuButton .mobileLogo {
    display: none;
}
.topMenuButton:hover {
    filter: invert(1);
}


.topMenu {
    position: fixed;
    background: var(--white);
    z-index: 55;
    width: 100%;
    opacity: 0;
    top:-90px;
    left:0;
    height: 90px;
    transition: all ease-in-out 500ms;
}


.topMenu nav {
    display: flex;
    justify-content: center;
    height: 100%;
}
.topMenu ul li, ul li {
    list-style: none;
}
ul {
    padding-left:0;
}
.topMenu ul li a {
    color:var(--black);
}
.topMenu nav .topMenuLogo {
    position: absolute;
    top:20px;
    left:50%;
    transform:translateX(-50%);
}
.topMenu nav .topMenuLogo img {
    width: 90px;
    height: 48px;
    object-fit: contain;
    user-select: none;
}
.topMenu nav .headerMenu {
    display: flex;
    gap:21px;
    justify-content: center;
    font-size:18px;
    margin:auto 50px auto auto;
}
.headerSearch input {
    padding: 4px 12px;
    width: 60%;
    outline: none;
    background: transparent;
    border: unset;
    font-size: 1rem;
    border-bottom: 2px solid var(--black);
}
.black .headerSearch input {
    border-bottom: 2px solid var(--white);
    color:#FFF;
}
.headerSearch button {
    margin-left:10px;
}
.openAdPopup {
    cursor: pointer;
}
.info .openAdPopup:hover {
    text-decoration: underline;
}
.topMenu nav .headerSearch {
    font-size: 1.875rem;
    letter-spacing: -0.04em;
    margin:auto auto auto 50px;
    color:var(--black);
    animation: var(--fontFadeIn);
    cursor: pointer;
}
.topMenu nav .headerAccount {
    margin-left:5px;
    position: relative;
    bottom:3px;
    cursor: pointer;
    width: 18px;
    height: 19px;
    background:url("../gfx/accountIconTop.svg") center no-repeat;
    background-size: 100%;
}
.topMenu nav .headerAccount.logged {
    background:url("../gfx/accountIconTopLogged.svg") center no-repeat;
    background-size: 100%;
}
.topMenu nav .headerAccount img {
    width: 18px;
    height: 18px;
}
.black .topMenu nav .headerAccount img, .black .topMenu nav .headerAccount.logged, .black .topMenu nav .headerAccount.create {
    filter:invert(1);
}

.accountPopup {
    user-select: none;
    position: absolute;
    top: 90px;
    right: 0;
    background-color: rgb(255, 255, 255);
    box-shadow: rgba(0, 0, 0, 0.1) 0 4px 6px;
    z-index: 1000;
    width: 250px;
    max-width: 100%;
}
.accountPopup .link {
    color:var(--black);
}
.accountPopup .pointsStatus {
    background: var(--dark);
    color:#FFF;
    border-bottom:1px solid var(--black);
    padding: 15px;
}
.accountPopup .pointsStatus .userLine {
    display: flex;
}
.accountPopup .pointsStatus .userLine + .userLine {
    margin-top:10px;
}
.accountPopup .pointsStatus .userLine .title {
    margin:auto auto auto 0;
}
.accountPopup .pointsStatus .userLine .value {
    margin:auto 0 auto auto;
}
.accountPopup .link {
    padding: 15px 15px;
    cursor: pointer;
}
.accountPopup .link + .link {
    padding-top:5px;
}
.accountPopup .link:last-of-type {
    padding-bottom:15px;
}

.accountPopup .link:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.topMenu.top {
    background: transparent;
    border-bottom: 1px solid transparent;
    display: block;
    position: fixed;
    opacity: 1;
    top:0;
}
.top .topMenuLogo, .top nav .headerSearch {
    display: none;
}
.top .topMenuLogo img, .top nav .headerAccount img {
    filter: invert(100%);
}
.top ul li a, .top nav .headerSearch {
    color:var(--white);
}

.topMenu.visible {
    display: block;
    position: fixed;
    opacity: 1;
    top:0;
    border-bottom: 1px solid var(--black);
}
.topMenu.black {
    background:var(--black);
}
.topMenu.black .topMenuLogo {
    filter:invert(1);
}
.topMenu.black ul li a, .topMenu.black nav .headerSearch {
    color: var(--white);
}
.mobileMenu {
    width: 100%;
    height: 100%;
    background: var(--white);
    color:var(--black);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.mobileMenu .closeMobileMenu {
    font-size:3.5rem;
    position: absolute;
    top:5px;
    right:10px;
    padding:5px 5px;
    cursor: pointer;
    transition: all ease-in-out 150ms;
}
.mobileMenu .closeMobileMenu:hover {
    transform: scale(1.15);
}
.mobileMenu .menuContent {
    display: flex;
    height: 100%;
    flex-direction: column;
    position: relative;
    padding:20px;
}
.mobileMenu .menuContent .header {
    margin:0 0 auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.mobileMenu .menuContent .items {
    margin:20px auto auto 0;
    display: flex;
    flex-direction: column;
}
.mobileMenu .menuContent .items a + a {
    margin-top:20px;
}
.mobileMenu .menuContent .items a {
    font-size:3.5rem;
    letter-spacing: -0.06em;
    font-weight: bold;
}
.mobileMenu .menuContent .account {
    font-size:1.4rem;
    display: flex;
    flex-direction: column;
    gap:14px;
    margin:auto 0 0 0;
}
.mobileMenu .menuContent .items a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.mobileMenu .menuContent .account .points {
    font-weight: bold;
}
.mobileMenu .menuContent .footer {
    border-top:1px solid var(--black);
    padding:20px 0 0 0;
    display: flex;
    font-size:2rem;
    gap:20px;
    flex-direction: column;
    margin:20px 0 0 0;
}
.mobileMenu .menuContent .footer > a {
    height: fit-content;
    font-size:2rem;
}
.mobileMenu .menuContent .footer .x span {
    display: none;
}
.mobileMenu .menuContent .footer .x svg {
    width: 13px;
    height: 20px;
    object-fit: contain;
}





/* HOME HEADLINE */
.homeContent {
    min-height: 200vh;
    background: var(--white);
}

/*noinspection ALL*/
.homeContent .headline {
    width: 100vw;
    height: 100vh;
    height: 100svh;
    display: block;
    position: relative;
    z-index: 1;
    cursor: pointer;
}
.homeContent .headline::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.10);
    z-index: 2;
}
.layerDark {
    position: relative;
    z-index: 1;
}
.layerDark:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.30);
    z-index: 2;
}
.layerDarkGradient {
    position: relative;
    z-index: 1;
}
.layerDarkGradient:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 2;
    pointer-events: none;
}
.homeContent .headline {
    background-attachment: fixed;
    transition: all ease-in-out 10ms;
}
.homeContent .headline .caption {
    display: flex;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 3;
}
.homeContent .headline .box {
    width: 66%;
    margin: auto auto 10vh auto;
    text-align: center;
}
.homeContent .headline a:hover {
    text-underline-offset: 7px;
}
.bold {
    font-weight: bold;
}

.theme30, .theme32, .theme36, .buy, .buttonMore, .position, .sponsor, .rounded, .stdButton {
    font-size: 1.0625rem;
    display: inline-block;
    padding: 4px 9px 4px 8px;
    border:unset;
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--white) inset;
    color:var(--white);
    border-radius: 24px;
    background: transparent;
    letter-spacing: -0.04em;
    transition: all ease-in-out 250ms;
    cursor: pointer;
    position: relative;
    z-index: 1;
    text-decoration: none !important;
    user-select: none;
}
a.theme30:hover, a.theme32:hover, a.theme36:hover, a.buy:hover, a.buttonMore:hover, a.position:hover, a.sponsor:hover, a.rounded:hover, a.stdButton:hover, a.theme38:hover, .buy a {
    text-decoration: none !important;
}

.themes a, .themeContainer a, .cultureFilters a {
    text-transform: lowercase;
    padding: 4px 12px 4px 11px;
}

.position {
    cursor: default;
    padding: 4px 5px 3px 4px;
    width: 25px;
    text-align: center;
}
.buy {
    font-size:1.04rem;
    /*top:3px;*/
}
.mobileNL {
    display: none;
}
.stdButton.large {
    padding: 7px 17px 7px 17px;
    font-size: 2.10rem;
    letter-spacing: -0.04em;
    box-shadow: 0 0 0 var(--tagBorderWidthL2) var(--black) inset;
}

.theme32 {
    font-size:1.1rem;
    padding: 5px 11px 4px 10px;
    top:3px;
}
.theme36 {
    font-size: 1.30rem;
    padding: 5px 13px 5px 10px;
    letter-spacing: -0.06em;
    top:0;
}
.theme30:hover, .theme32:hover, .theme36:hover, .theme38:hover, .buy:hover, .buttonMore:hover {
    background: var(--white);
    color:var(--black);
}

.theme30.black, .theme32.black, .theme36.black, .buy.black, .position.black, .buttonMore.black, .rounded, .stdButton {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    color:var(--black);
}
.theme30.bubblegum, .theme32.bubblegum, .theme36.bubblegum, .buy.bubblegum, .position.bubblegum, .buttonMore.bubblegum, .rounded.bubblegum, .stdButton.bubblegum {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--bubblegum) inset;
    background: var(--bubblegum);
    color:var(--black);
}
.theme36.gold {
    box-shadow: 0 0 0 var(--tagBorderWidth) goldenrod inset;
    color: goldenrod;
    font-weight: normal;
    cursor: default;
}
.tPub_details .theme36 {
    margin-left:10px;
}
.tPub_details .theme36.gold {
    margin-left:30px;
}
.theme30.black:hover, .theme32.black:hover, .theme36.black:hover {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    background: var(--black);
    color:var(--white);
}
.theme30.bubblegum:hover, .theme32.bubblegum:hover, .theme36.bubblegum:hover {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--bubblegum) inset;
    background: var(--bubblegum);
    color:var(--black);
}
.theme30.searched {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    background:var(--black);
    color:var(--white);
}
.cultureListingBlockInner .theme30.searched {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--white) inset;
    background:var(--white);
    color:var(--black);
}
.stdButton.white {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--white) inset;
    color:var(--white);
}
.sponsorBlock {
    position: relative;
    margin-top:7px;
}
.sponsor {
    position: absolute;
    top: O;
    white-space: nowrap;
    width: fit-content;
    left: 0;
    font-size: 1.0625rem;
    transition:  opacity 1000ms, transform ease-in-out 1000ms;
}
.sponsor.reversed {
    right:0;
    left:unset;
}
.sponsor.grey {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--lighterGrey) inset;
    color:var(--lighterGrey);
}
.sponsor.grey:hover, .sponsor.grey.sponsored {
    background: var(--sponsorBG);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--sponsorBG) inset;
    color:var(--white);
}
.sponsoredArticle {
    pointer-events: none;
    width: calc(100% + 80px);
    top:0;
    left:-40px;
    position: absolute;
    z-index: 1;
    height: 100%;
    min-height: calc(70% - 54px);
    border-right:10px solid var(--sponsorBG);
    border-left:10px solid var(--sponsorBG);
    opacity: 0;
    transition: opacity 0.5s ease;
}
#testMateriel .sponsoredArticle {
    width: calc(100%);
    left: 0;
}

.sponsor.selected {
    position: absolute;
    color: var(--sponsorColor);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--sponsorBG) inset;
    background: var(--sponsorBG);
    font-size: 8rem;
    opacity: 0;
}
.sponsor.selected:hover {
    transform:scale(1.15);
}
.sponsor.sponsorDefaultFont {
    font-size: 1.0625rem !important;
}
.sponsor.transition {
    transition: font-size 1000ms, letter-spacing ease-in-out 1000ms, padding ease-in-out 600ms, top ease-in-out 1000ms, border-radius ease-in-out 1000ms, left ease-in-out 1000ms, transform ease-in-out 1000ms;
}
.sponsor.activated {
    opacity: 1;
    padding: 0.45em 0.45em;
    left: 2%;
    top: 12%;
    border-radius: 1em;
}
.wideImage .sponsor.activated {
    top: 40%;
    /*transform: translateY(-50%);*/
}
.sponsor.activated:hover {
    transform:scale(1.15);
}
.wideImage .sponsor.activated:hover {
    transform: scale(1.15);
}
.sponsor.activated.reversed {
    right: 2%;
    left:unset;
}

.userPopup {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 100;
    transform: translate(-50%, -50%);
    width: 740px;
    max-width: 95%;
    background: var(--white);
    color: var(--black);
    padding: 60px 70px 60px 70px;
    box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 3px;
    line-height: 1;
    --sponsorBG: blue;
    --sponsorColor: white;
}
.userPopup.sponsorMode .donationInputLine {
    display: none;
}
.userPopup.donationMode .sponsorInputLine {
    display: none;
}
.userPopupTitle {
    font-size: 2.25rem;
    letter-spacing: -0.05em;
    font-weight: bold;
}
.userPopupSubTitle {
    font-size: 2.10rem;
    letter-spacing: -0.04em;
    font-weight: bold;
    margin-top:5px;
}
.userPopupSubTitleAlt {
    font-size: 2.10rem;
    letter-spacing: -0.04em;
    font-weight: bold;
}
.userPopup.bleu {
    --sponsorBG: blue;
    --sponsorColor: white;
}
.userPopup.jaune {
    --sponsorBG: yellow;
    --sponsorColor: black;
}
.userPopup.rouge {
    --sponsorBG: red;
    --sponsorColor: white;
}
.userPopup.vert {
    --sponsorBG: green;
    --sponsorColor: white;
}
.userPopup.nude {
    --sponsorBG: nude;
    --sponsorColor: white;
}
.userPopupSubTitle span.shake {
    animation: shake 2s cubic-bezier(.36,.07,.19,.97) both;
}

.userPopupSubTitle span, .userPopupTitle span, .userPopupSubTitleAlt span {
    padding: 5px 17px 5px 16px;
    font-size: 2.10rem;
    letter-spacing: -0.04em;
    background: var(--sponsorBG);
    color: var(--sponsorColor);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--sponsorBG) inset;
    border-radius: 25px;
    width: fit-content;
    display: inline-block;
}


.userPopupDetails {
    font-size: 12px;
    position: absolute;
    color: #666;
    top: 10px;
    left: 10px;
    width: 100%;
    gap: 30px;
}

#sponsor_articleDetails {
    display: none;
}
.popupForm {
    display: flex;
    gap:20px;
}
.popupFormCenter {
    margin-top:40px;
    display: flex;
    justify-content: center;
}
.popupForm .userPopupURL input {
    width: 100%;
}
.userPopupFormInputs, .userPopupLoginInputs, .userPopupFinal {
    margin-top:20px;
}
.userPopupFinal .popupForm:last-of-type {
    margin-top:40px;
}
.popupForm + .popupForm {
    margin-top:20px;
}
.popupForm + .popupFormTextarea {
    margin-top:40px;
}
.popupForm label, .popupForm .label {
    width: 20%;
    text-align: right;
    margin:auto;
}
.popupForm label.toppos, .popupForm .label.toppos {
    margin:0 auto auto auto;
}
.popupForm .value {
    flex:1;
    text-align: left;
}
.popupForm .value.bold {
    font-weight: bold;
}
.userPopup-close {
    position: absolute;
    top:10px;
    right: 16px;
    padding: 1px 6px 4px 6px;
    display: flex;
    border-radius: 50%;
    font-size: 24px;
    cursor: pointer;
    justify-content: center;
    user-select: none;
}
.userPopup-close span {
    margin:auto;
}
.userPopup-close:hover {
    background: var(--black);
    color: var(--white);
}
.sponsorInput, .popupInput {
    display: block;
    width: 100%;
    padding: 5px 8px;
    position: relative;
    bottom:1px;
    font-size:0.8rem;
    outline: none;
    border:unset;
    border-bottom:1px solid var(--black);
}
.sponsorTextarea {
    display: block;
    width: 100%;
    padding: 5px 8px;
    position: relative;
    bottom:1px;
    height:80px;
    font-size:0.8rem;
    outline: none;
    border:unset;
    resize: none;
    border:1px solid var(--black);
}
.userPopupReturn, .loginPopupReturn {
    background: transparent;
    border: unset;
    font-size: 0.8rem;
    text-align: left;
    margin: auto 0 auto auto;
    cursor: pointer;
}
.userPopupReturn:hover, .loginPopupReturn:hover {
    text-decoration: underline;
}
.userPopupValidate, .buttonPopupValidate {
    position: relative;
    font-size: 1.0625rem;
    letter-spacing: -0.04em;
    background: var(--white);
    color: var(--black);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    border:unset;
    border-radius: 16px;
    padding: 5px 9px 4px 8px;
    width: fit-content;
    margin: 10px auto;
    transition: all ease-in-out 150ms;
}
.sponsorColorSelection .value,
.sponsorDurationSelection .value,
.sponsorDonationAmount .value,
.userPopupDetails .value {
    display: flex;
    gap:10px;
    cursor: pointer;
}
.sponsorColorSelection .value div,
.sponsorDurationSelection .value div,
.sponsorDonationAmount .value div {
    line-height: 1rem;
    font-size: 1rem;
    background: var(--white);
    color: var(--black);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    border-radius: 16px;
    padding: 5px 9px 4px 8px;
    width: fit-content;
}
.userPopupValidate:hover,
.buttonPopupValidate:hover,
.sponsorColorSelection .value div:hover,
.sponsorDurationSelection .value div:hover,
.sponsorDonationAmount .value div:hover,
.sponsorColorSelection .value div.selected,
.sponsorDurationSelection .value div.selected,
.sponsorDonationAmount .value div.selected {
    background: var(--black);
    color: var(--white);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    cursor: pointer;
}
.articleContent {
    --discount-content: '';
}
.userPopupValidate.missing:after {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    content: 'accroche manquante';
    font-size: 1rem;
    padding: 4px 9px 4px 8px;
    /*font-weight: bold;*/
    display: block;
    text-align: center;
    position: absolute;
    border-radius: 14px;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    width: calc(300% + 2px);
    color: var(--white);
    height: calc(100%);
    background: #DA2233;
    z-index: 10;
}
.sponsor.available.animation:after {
    /*border: var(--tagBorderWidth) solid var(--grey);*/
    content: var(--discount-content);
    font-size:1rem;
    padding: 4px 9px 3px 8px;
    display: block;
    text-align: center;
    position: absolute;
    border-radius: 14px;
    top:0;
    left:-1px;
    width: calc( 100% + 2px);
    color: var(--white);
    height:100%;
    z-index: 10;
    background-size: 300% 300%;
    background: repeating-linear-gradient(
            45deg,
            var(--blue),
            var(--blue) 5%,
            var(--blue) 5%,
            var(--blue) 10%
    );;
    -webkit-animation-name: blinkSponsor;
    animation-name: blinkSponsor;
    -webkit-animation-duration: 5.3s;
    animation-duration: 5.3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    animation-direction: alternate-reverse;
    -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    animation-delay: 2s;
    transform: scale3d(0, 0, 0);
    opacity: 0;
}





.stdButton.white:hover, .stdButton.white.selected {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--white) inset;
    background: var(--white);
    color:var(--black);
}
.theme30.black:hover, .buy.black:hover, .buttonMore.black:hover, .theme30.black.selected, .rounded:hover, .stdButton:hover {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    background: var(--black);
    color:var(--white);
}
.theme30.special {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    color:var(--black);
    background:var(--green);
}
.theme30.special:hover, .theme30.special.selected {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    background: var(--black);
    color:var(--green);
}
.theme38 {
    font-size: 1.3125rem;
    display: inline-block;
    line-height: 1.4375rem;
    padding: 4px 12px 4px 12px;
    box-shadow: 0 0 0 var(--tagBorderWidthL) var(--white) inset;
    color: var(--white);
    border-radius: 24px;
    letter-spacing: -0.5px;
    transition: all ease-in-out 250ms;
    cursor: pointer;
    position: relative;
    z-index: 1;
}
.theme38.black {
    box-shadow: 0 0 0 var(--tagBorderWidthL) var(--black) inset;
    color:var(--black);
}
.theme30.green, .theme36.green, .theme38.green {
    box-shadow: 0 0 0 var(--tagBorderWidthM) var(--green) inset;
    color:var(--green);
}
.theme30.green:hover, .theme36.green:hover, .theme38.green:hover {
    box-shadow: 0 0 0 var(--tagBorderWidthM) var(--green) inset;
    background: var(--green);
    color:var(--dark);
}
.stdButton.xlarge {
    padding: 10px 25px 10px 25px;
    border-radius: 36px;
    font-size: 2.85rem;
    letter-spacing: -0.04em;
    height: fit-content;
    box-shadow: 0 0 0 var(--tagBorderWidthXL) var(--white) inset;
    color:var(--white);
    opacity: 0.2;
}
.stdButton.xlarge:hover, .stdButton.xlarge.selected {
    background: unset;
    opacity: 1;
    color:var(--white);
    box-shadow: 0 0 0 var(--tagBorderWidthXL) var(--white) inset;
}

.sfrBrd, .sfrBrd.black, .sfrBrd.special {
    box-shadow: none !important;
    border: 1px solid var(--black);
}
.theme36.green.sfrBrd, .black .green.sfrBrd {
    border: 1px solid var(--green);
}
.black .sfrBrd {
    border: 1px solid var(--white);
}


.sup {
    vertical-align: super;
}
.mid {
    vertical-align: middle;
}
.base {
    vertical-align: baseline;
}
.theme38 + a {
    margin-left:12px;
}
.newsletterBlock .theme38 + a {
    margin-left:3px;
}

.homeContent .headline .box .theme {
    font-size:2.375rem;
    font-weight: normal;
    font-style: normal;
    font-variation-settings: normal;
    font-feature-settings: "ss01" 1, "ss16" 1;
    color:var(--white);
    display: inline-block;
}
.homeContent .headline .box a {

}
.homeContent .headline .box .headlineLink {
    color:var(--white);
    font-size: 5.375rem;
    letter-spacing: -5px;
}




/* ALERT BANNER */
.alertBanner {
    background: var(--green);
    width: 100%;
    height: 56px;
    display: flex;
    gap: 70px;
    z-index: 2;
    overflow: hidden; /* Ensure no overflow outside the banner */
}

.scroller__inner {
    display: flex;
    gap: 4rem;
    flex-wrap: nowrap; /* Prevent wrapping of items */
    white-space: nowrap; /* Ensure items remain inline */
    --animation-duration: 120s;
    --animation-direction: left;
    animation: marquee var(--animation-duration, 70s) linear infinite; /* Smooth animation */
    will-change: transform;
}

@keyframes marquee {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(calc(-50%));
    }
}

.scroller {
    overflow: hidden;
    padding-block: 1rem;
}




.black .alertBanner a {
    color:var(--black)
}
#live .alertBanner, #saison .alertBanner {
    border-bottom: 1px solid var(--black);
}
#home .alertBanner {
    position: absolute;
    bottom:0;
    left:0;
    margin-top:0;
    z-index: 10;
}
.alertBanner .content {
    font-size:1.875rem;
    align-items: center;
    letter-spacing: -0.05em;
    margin:auto;
}
.alertBanner .content .theme {
    font-feature-settings: "ss01" 1, "ss16" 1;
}

.alertBanner {
    overflow: hidden;
    transition: transform 0.05s ease-in-out;
}
.alertBanner .content {
    white-space: nowrap;
    display: flex;
    gap:8px;
}
.alertBanner .content .theme30 {
    display: inline-table;
    height: fit-content;
}
.alertBanner .content span {
    vertical-align: middle;
}




.primeArticles {
    position: relative;
    background: var(--white);
    z-index: 1;
    width: 100%;
    max-width: 1520px;
    margin: 0 auto;
    display: grid;
    gap: 2.63%;
}

.flexArticles + .primeArticles, .coreArticles + .primeArticles, .coreArticles + .promoBlock, .primeArticles  + .promoBlock, #home .primeArticles {
    margin-top:100px;
}
.primeArticles.marginTop {
    margin-top:80px;
}
.primeArticles.largeLeft {
    grid-template-columns: 48.685% 48.685%;
}
.primeArticles.largeMid  {
    /*grid-template-columns:23.027% 48.685% 23.027%;*/
    grid-template-columns: [full-width-start column-1-start] 1fr [column-1-end content-start] 740px [content-end column-2-start] 1fr [column-2-end full-width-end];
    gap:40px;
}
.primeArticles.largeMid .largeColumn {
    display: none;
}
.primeArticles.largeMid .column {
    width: auto;
}
.primeArticles.largeMid .skinLeft {
    grid-column: column-1;
    grid-row:span 5;
    cursor: pointer;
}
.primeArticles.largeMid .skinLeft .inner, .primeArticles.largeMid .skinRight .inner {
    width: 100%;
    background-size: 100%;
    height: 1000px;
    position: sticky;
    top: 0;
}
.primeArticles.largeMid .skinRight {
    grid-column: column-2;
    grid-row:span 5;
    cursor: pointer;
}
.primeArticles.largeMid .outerColumn {
    display: flex;
    grid-column: content;
    gap: 40px;
}
.primeArticles.largeRight {
    grid-template-columns: 48.685% 48.685%;
}
.primeArticles.largeRight > :nth-child(1) {
    grid-area: 1 / 2;
}
.primeArticles.largeRight > :nth-child(2) {
    grid-area: 1 / 1;
}
.primeArticles.largeRight > :nth-child(3) {
    grid-area: 1 / 1;
}
.primeArticles .outerColumn {
    display: flex;
    gap: 5.407%;
}
.primeArticles .column {
    width: 45%;
    flex: 1;
}
.primeArticles .columnRight {
    display: block;
}


.primeArticles .largeColumn {
    /*width: 740px;*/
}
.primeArticles .largeColumn .article {
    position: sticky;
    /*top: -30vh;*/
    top: 0;
}
.primeArticles .largeColumn .article .title {
    position: absolute;
    bottom: 8.8%;
    left:0;
    padding:0 14% 0 5.3%;
    z-index: 3;
}
.primeArticles .largeColumn .article .title a {
    color:#FFF;
    font-size: 3rem;
    letter-spacing: -0.05em;
}
.primeArticles .largeColumn .article .title a.theme30 {
    font-size: 1.0625rem;
    letter-spacing: -0.04em;
}
.primeArticles .largeColumn .article .title a.theme30:hover {
    color:var(--black);
}
.primeArticles .largeColumn .article img {
    width: 100%;
    height: auto;
    aspect-ratio: 74/105;
    object-fit: cover;
}
.primeArticles .column {
    /*min-height: 300vh;*/
}
.primeArticles .column .articleBox + .articleBox, .primeArticles .column .articleBox + .ad, .primeArticles .column .ad + .articleBox {
    margin-top:80px;
}
.primeArticles .column .ad {
    margin: auto;
    justify-content: center;
    width: 100%;
}
.lazy {
    transition: all ease-in-out 200ms;
    animation: pulsate 4.5s infinite ease-in-out;
}
.fadeOut {
    animation: fadeOut 0.5s forwards;
}

.fadeIn {
    animation: fadeIn 0.5s forwards;
}




.coreArticles {
    margin:100px auto 0 auto;
    border-top:1px solid var(--black);
    width: 100%;
    max-width: 1520px;
    padding-top:18px;
}
.coreArticles.borderLess {
    border:unset;
    padding-top:0;
    margin-top:80px;
}
.coreArticles.borderLess .articleContainer {
    margin-top:0;
}
.coreArticles > .title {
    font-size:7.5rem;
    letter-spacing: -0.077em;
    margin-left: -7px;
    display: flex;
    gap:50px;
}
.coreArticles .coreArticleTag {
    padding: 7px 22px 6px 20px;
    margin: auto 0 18px 0;
    border-radius: 36px;
    font-size: 2.85rem;
    letter-spacing: -0.04em;
    height: fit-content;
    border: 5px solid var(--black);
    color:var(--black);
}
#critique .coreArticles .coreArticleTag, #interview .coreArticles .coreArticleTag, #cinecult .coreArticles .coreArticleTag {
    border: 5px solid var(--white);
    color:var(--white);
}
#critique .swiper-button-prev, #critique .swiper-button-next {
    display: none;
}
.themeContainer {
    margin-top:60px;
    display: flex;
    flex-flow: row wrap;
    gap:6px;
}
.coreArticles + .newsletterBlock {
    margin-top:100px;
}
.promoBlock + .newsletterBlock {
    margin-top:100px;
}

.coreArticles .articleContainer {
    margin-top:17px;
}
#b2b .coreArticles .articleContainer {
    margin-top:14px;
}
.coreArticles .title + .articleContainer {
    margin-top:42px;
}
.coreArticles .articleContainer .selection {
    display: flex;
    gap: 2.63%;
}
.coreArticles .articleContainer .selection + .selection {
    margin-top:80px;
}
.title {
    text-wrap: pretty;
}
.articleBox .picture {
    position: relative;
    overflow: hidden;
}
.articleBox {
    flex-basis: 100%;
    max-width: 350px;
}


.articleBox:hover .picture:after, .coverBox:hover .picture:after {
    bottom: 0;
}
.articleBox:hover a:not(.theme30, .theme32, .theme36, .buy, .buttonMore, .position, .sponsor, .rounded, .stdButton, .stdButton a, .previewContainer a), .tdu:hover, .topMenu ul li a:hover, .mostReadBlock .article:hover a {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.tdu10:hover {
    text-decoration: underline;
    text-underline-offset: 10px;
    text-decoration-thickness: 1px;
}
.articleBox .picture img, .selection .articleBox .picture a img {
    width: 100%;
    height: auto;
    aspect-ratio: 350 / 435;
    object-fit: cover;
    object-position: center;
    transition: all .2s linear;
}
.articleBox .text {
    margin-top:17px;
    font-size:1.875rem;
    letter-spacing: -0.05em;
}
.articleBox .text a:not(.theme30) {
    line-height: 0.9;
}

.cultureBlock {
    margin:100px auto 0 auto;
    padding:100px 0 0 0;
    border-top:1px solid var(--black);
    width: 100%;
    background: var(--dark);
    color: var(--white);
    position: relative;
}
.cultureBlockInner {
    max-width: 1520px;
    margin:auto;
}
.cultureBlock .picker {
    /*overflow: hidden;*/
    position: absolute;
    margin: auto;
    font-size: 1.5rem;
    user-select: none;
    z-index: 1;
}
.cultureBlock .pickerContainer {
    width: 100%;
    max-width: 350px;
    display: flex;
    flex-direction: column;
    margin: 0;
    position: relative;
    top:0;
    left:0;
    overflow: hidden;
    z-index: 1;
    background: var(--dark);
    align-items: center;
    justify-content: center;
    height: 100%;
    user-select: none;
}
.reviewBlock .pickerContainer {
    height: 350px;
}
.releaseBlock .pickerContainer {
    height: 400px;
}
.reviewBlock .picker {
    top:35%;
}
.mustSeeBlock .picker {
    top:30%;
}
.metaData {
    display: none;
}
.releaseBlock .picker {
    top:32%;
}
.cultureBlock .pickerContainer .title {
    color: var(--green);
    padding: 0 0 15px 0;
    font-size: 1.125rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: -0.04em;
    /*background: linear-gradient(to bottom, var(--black) 75%, transparent 100%);*/
    background: var(--dark);
    position: relative;
    width: 100%;
    z-index: 2;
}
.reviewBlock .pickerContainer .title {
    margin:0 auto auto auto;
    padding:20px 0 0 0;
}

.cultureBlock .pickerContainer .more {
    position: relative;
    background: var(--dark);
    display: block;
    margin: auto auto 0 auto;
    z-index: 1;
}

.cultureBlock .releaseBlock .pickerContainer .more {
    margin: 0 auto 0 auto;
}
.cultureBlock .pickerContainer .more:hover {
    background: var(--white);
}
.cultureBlock .picker .option {
    line-height: 0.85;
    font-size:2.25rem;
    text-align: center;
    transition: all 0.7s cubic-bezier(.45,.05,.55,.95);
    letter-spacing: -0.07em;
    cursor: pointer;
    opacity: 0.2;
}

.cultureBlock .picker .selected {
    font-size: 7.5rem;
    letter-spacing: -0.07em;
    line-height: 0.95;
    opacity: 1;
}
.cultureBlock .picker .long.selected {
    font-size: 5.25rem;
    line-height: 0.95;
    letter-spacing: -0.09em;
}

.reviewBlock {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: var(--regularColumnGap);
}
.reviewBlock .selection {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin: auto;
    gap: var(--regularColumnGap);
    height: 100%;
    width: 100%;
    position: relative;
    z-index: 0;
}
.reviewBlock .coverBox .picture img {
    transition: transform ease-in-out 700ms;
}
.reviewBlock .coverBox:hover img {
    transform: scale(1.1);
}


.coverBox {
    position: relative;
    overflow: hidden;
}
.coverBox .picture {
    position: relative;
}
.coverBox .picture img {
    width: 100%;
    height: auto;
    aspect-ratio: 270 / 375;
    object-fit: cover;
    object-position: top;
    transition: all .2s linear;
}
.coverBox .covertitle {
    position: absolute;
    width: 100%;
    height: auto;
    font-size: 1em;
    top: 0;
    color: #FFF;
    background: #000;
    opacity: 1;
    line-height: 2;
    text-align: center;
    transition: opacity ease-in-out 150ms;
    z-index: 5;
}
.coverBox .test {
    margin-top:10px;
}
.coverBox:hover .covertitle {
    opacity: 1;
}
.coverBox:hover .picture img {
}
.mustSeeBlock {
    margin-top:50px;
    border-top:1px solid var(--black);
    padding-top:50px;
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: var(--regularColumnGap);
}
.mustSeeBlock .selection {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin: auto;
    gap: var(--regularColumnGap);
    /*height: 100%;*/
    width: 100%;
    /*transform: translateX(-200px);*/
    position: relative;
    z-index: 2;
}
.cultureListingBlock .mustSeeBlock .selection {
    margin: auto auto auto auto;
    width: 100%;
    height: auto;
}
.mustSeeBlock .pickerContainer {
    height: 344px;
}
.mustSeeBlock .pickerContainer .title {
    margin:0 auto 0 auto;
    padding:20px 0 0 0;
}

.mustSeeMonths, .releaseMonths {
    display: flex;
    justify-content: center;
    gap:15px;
    padding:14px 0;
    background: var(--dark);
    margin:auto auto 20px auto;
    position: relative;
    z-index: 2;
    width: 100%;
}

.releaseMonths {
    margin:auto auto 0 auto;
    padding:1px 0 30px 0;
}

.cultureBlockInner .month {
    font-size:0.75rem;
    text-transform: uppercase;
    opacity: 0.5;
    transition: opacity ease-in-out 200ms;
    cursor: pointer;
}
.cultureBlockInner .month:hover, .cultureBlockInner .month.selected {
    text-decoration: underline;
    text-underline-offset: 3px;
    opacity: 1;
}

.pickerContainer .center {
    position: absolute;
    display: block;
    top:50%;
    left:0;
    transform:translateY(-50%);
    height: 1px;
    width: 1px;
}



.mustSeeBlock .coverBox .details, #coupsdecoeur .coverBox .details {
    position: absolute;
    bottom:0;
    left:0;
    width: 100%;
    padding:20px;
    transition: all ease-in-out 450ms;
    opacity: 0;
    /*transform:translateY(100%);*/
    color:var(--white);
    display: flex;
    flex-direction: column;
    background: var(--black);
}
#coupsdecoeur .coverBox .details {
    text-align: left;
    /*background: linear-gradient(0deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 100%);*/
}
.mustSeeBlock .coverBox > .title, #coupsdecoeur .coverBox > .title {
    font-size:1.875rem;
    letter-spacing: -0.05em;
    position: absolute;
    bottom:0;
    left:0;
    height: 50%;
    width: 100%;
    background-image: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);
    padding:1.875rem;
    text-align: center;
    color:var(--white);
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-end;
}
.mustSeeBlock .coverBox .details .title, #coupsdecoeur .coverBox .details .title {
    font-size:1.5rem;
    letter-spacing: -0.06em;
}
.mustSeeBlock .coverBox .details .desc, #coupsdecoeur .coverBox .details .desc  {
    font-size:0.9375rem;
    line-height: 1.2;
    margin-top:16px;
}
.mustSeeBlock .coverBox .details .support, #coupsdecoeur .coverBox .details .support  {
    margin:22px auto 0 auto;
    width: 100%;
    text-align: right;
    padding-bottom:10px;
    border-bottom:1px solid var(--white);
    font-size:0.9375rem;
    text-transform: uppercase;
}
.mustSeeBlock .coverBox:hover .details,  #coupsdecoeur .coverBox:hover .details {
    opacity: 1;
    transform:translateY(0);
}
.mustSeeBlock .coverBox .picture img, #coupsdecoeur .coverBox .picture img {
    aspect-ratio: 270 / 375;
}
.mustSeeBlock .logo {
    margin-top:10px;
}
.mustSeeBlock .logo img {
    height: 40px;
    width: 100%;
    object-fit: contain;
}


.releaseBlock {
    margin-top:50px;
    border-top:1px solid var(--black);
    padding:50px 0 50px 0;
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: var(--regularColumnGap);
    /*height: 370px;*/
}
.releaseBlock .selection {
    /*display: grid;*/
    /*grid-template-columns: 1fr 1fr 1fr;*/
    /*margin: auto auto auto auto;*/
    /*gap: var(--regularColumnGap);*/
    height: 100%;
    width: 100%;
    padding-left: 46px;
    padding-right: 64px;
    position: relative;
    z-index: 0;
}
.releaseBlock .swiper {
    width: 1020px;
    max-width: 100%;
    height: 100%;
}



.releaseList {
    display: flex;
    overflow: hidden;
    width: calc(340px * 3); /* Pour 3 colonnes */
}

.releaseCol {
    flex: 0 0 auto;
    width: 340px;
}

.releaseBlock .swiper-wrapper {
    max-height: 100%;
    /*height: 100%;*/
    /*display: block;*/
}

.releaseBlock .swiper-slide, .releaseBox {
    /*max-width: 340px !important;*/
    /*width: 340px !important;*/
    /*flex-shrink: unset !important;*/
    /*display: block;*/
    /*height: 100%;*/
    /*max-height: 100%;*/
    left:2px;
}

.releaseBox + .releaseBox {
    margin-top:35px;
}
.releaseBox .date {
    font-size:0.75rem;
    text-transform: uppercase;
    color:var(--green);
}
.releaseBox .title {
    margin-top: 6px;
    font-size:	1.5rem;
    letter-spacing: -0.06em;
}
.releaseBox .subtitle {
    font-size:0.9375rem;
    margin-top:2px;
    letter-spacing: -0.03em;
}
.releaseBox .buy {
    margin-top:10px;
}


.trailerBlock {
    border-top:1px solid var(--black);
    padding:50px 0 100px 0;
    display: grid;
    grid-template-columns: 3fr 350px;
    gap: var(--regularColumnGap);
    width: 100%;
}
.trailerBox {
    display: flex;
    width: 100%;
    height: 440px;
}
.trailerBox #videoContainer {
    width: 100%;
    /*padding-right:30px;*/
    flex:1
}
.trailerBox .plyr__video-wrapper {
    transform: scale(1.2);
}
.trailerBox .trailerDesc {
    display: flex;
    flex-direction: column;
    background: var(--black);
    padding:40px 30px;
    width: 350px;
}
.trailerBox .trailerDesc .title {
    margin:0 auto auto 0;
    font-size:1.125rem;
    letter-spacing: -0.04em;
    color:var(--green);
    text-align: left;
    font-weight: bold;
}
.trailerBox .trailerDesc .desc {
    font-size:1.875rem;
    letter-spacing: -0.05em;
}
.trailerBox .trailerVideoHome {
    flex:1;
    overflow: hidden;
    position: relative;
    background:#CCC;
}
.trailerBox .trailerVideoHome iframe {
    width: 106%;
    height: 106%;
    position: relative;
    object-fit: cover;
    top: -3%;
    left: -3%;
}
.trailerBlock .trailCol {
    display: flex;
}
.trailerBlock .trailCol .ad {
    margin:auto;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
}
.trailerBlock .mutedButton, .articleContent .mutedButton, .critiqueContainer .mutedButton {
    cursor: pointer;
    transition: transform ease-in 150ms;
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    z-index: 50;
    background:url('../gfx/player/muted.png');
    width: 60px;
    height: 60px;
    background-size:100%;
}
.trailerBlock .mutedButton:hover, .articleContent .mutedButton:hover {
    transform: translate(-50%,-50%) scale(1.1);
}
.plyr__video-embed iframe, .plyr__video-wrapper--fixed-ratio video {
    /*height: 108%;*/
    /*left: -3%;*/
    /*top: -3%;*/
    /*width: 106%;*/
}
#critique .plyr__video-embed {
    /*height: 560px !important;*/
}
#critique .plyr__video-embed iframe, #critique .plyr__video-wrapper--fixed-ratio video {
    transform:scale(1.35);
    /*height: 560px;*/
}
.promoBlock {
    width: 100%;
    background: var(--green);
    color:var(--black);
    padding:80px 0 80px 0;
}
.promoBlockInner {
    max-width: 1520px;
    margin: auto;
    display: grid;
    grid-template-columns: 23.02% 23.02% 23.02% 23.02%;
    gap: var(--regularColumnGap);
    overflow: hidden;
}
.promoBlockInner .col:nth-child(1) {
    padding:0 0 0 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Styles Généraux */
 

.promoBlockInner {
    max-width: 1520px;
    margin: auto;
    display: grid;
    grid-template-columns: 23.02% 50% 23.02%;
    gap: var(--regularColumnGap);
    align-items: start;
}

.promoBlock .descriptive {
    padding: 0 0 0 20px;
    display: flex;
    flex-direction: column;
}
.promoBlock .descriptive > .buttonMore {
    margin: 10px auto 0 0;
}
.promoBlock .descriptive .title {
    font-size: 7.5rem;
    line-height: 5.9375rem;
    letter-spacing: -0.08em;
    position: relative;
    left: -10px;
}

.promoBlock .descriptive .desc {
    margin-top: 25px;
    font-size: 1.5rem;
    letter-spacing: -0.05em;
}

.promoBlock .submitNewDeal {
    width: fit-content;
    margin: auto auto 0 0;
}

.promoBlock .buttonMore {
    margin: 10px auto 0 0;
}

.promoBlock .columns {
    display: flex;
    flex:1;
    gap: var(--regularColumnGap);
}

.promoBlock .col {
    flex: 1;
    /*overflow: hidden;*/
}


.swiper-container.promo-swiper {
    width: 100%;
    height: 385px;
    overflow: hidden;
    margin:auto;
    position: relative;
}
.promoBlock .swiper-navigation {
    position: absolute;
    bottom:1px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 20px;
    z-index: 10;
}
/* Bouton de Navigation Précédent */
.swiperPrev {
    cursor: pointer;
    color: var(--black);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    padding: 5px 6px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s;
}

.swiperPrev:hover {
}

/* Bouton de Navigation Suivant */
.swiperNext {
    cursor: pointer;
    color: var(--black);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    padding: 5px 6px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s;
}

.swiperNext:hover {
}

/* Style des Flèches */
.swiperPrev span,
.swiperNext span {
    font-size: 20px; /* Taille des flèches */
    line-height: 1;
}

.promoBlock .swiper-wrapper {
    display: flex;
    flex-direction: column;
}

.promoBlock .swiper-slide {
    overflow: hidden;
    display: flex;
    flex-direction: row;
    gap: var(--regularColumnGap);
}

.promoBlock .swiper-button-next,
.promoBlock .swiper-button-prev {
    color: var(--black);
    width: 27px;
    height: 44px;
}

.promoBlock .swiper-button-next::after,
.promoBlock .swiper-button-prev::after {
    font-size: 27px;
}

.promoBlockInner .col:nth-child(3) {
    padding-top: 26px;
}
.promoBlock .col > .title {
    font-size:7.5rem;
    line-height:5.9375rem;
    letter-spacing: -0.08em;
    position: relative;
    left:-10px;
}
.promoBlock .col > .desc {
    margin-top:25px;
    font-size:1.5rem;
    letter-spacing: -0.05em;
}
.promoBlock .submitNewDeal {
    width: fit-content;
    margin:auto auto 0 0;
}
.promoBlock .col > .buttonMore {
    margin:10px auto 0 0;
}
.promoBlock .col .line {
    font-size:0.9375rem;
    /*letter-spacing: -0.01em;*/
    padding:11px 0 11px 0;
    border-top:1px solid var(--black);
    display: flex;
    position: relative;
}
.promoBlock .col .line:last-of-type {
    /*border-bottom:1px solid var(--black);*/
}
.promoBlock .col .line .title {
    margin:auto auto auto 0;
    text-overflow: ellipsis;
    /*width:60%;*/
    overflow: hidden;
    white-space: nowrap;
}
.promoBlock .col .line .price {
    margin:auto 0 auto 0;
    font-weight: bold;
    transition: all 2500ms ease-in-out;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.promoBlock .col .line .price.highlight  {
    transform: scale(1.7) translate(-25%, -25%);
}
.promoBlock .col .line .buy {
    background: var(--green);
    margin:auto 0 auto auto;
    opacity: 0;
    transition: opacity ease-in-out 50ms;
    position: absolute;
    right:10%;
    top:50%;
    transform: translateY(-50%);
}
.promoBlock .col .line:hover .buy {
    opacity: 1;
}
.promoBlock .col .line .buy:hover {
    background: var(--black);

}

/* ads */
.doubleSquare {
    width: 100%;
    max-width: 740px;
    display: flex;
    justify-content: space-between;
    gap: 8%;
    margin:100px auto 10px auto;
}
.doubleSquare .ad {
    margin:auto 0;
}
.doubleSquare ins {
    height: 300px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.adBox .ad {
    min-height: 250px;
    display: flex;
}
.bigAd iframe {
    height: 600px !important;
}

@property --rotate {
    syntax: "<angle>";
    initial-value: 132deg;
    inherits: false;
}


.ad {
    display: flex;
    position: relative;
}
.ad.column {
    justify-content: space-between;
    flex-direction: column;
}
.doubleSquare .ad.column {
    margin:0;
}
.ad.column iframe {
    margin:unset;
}
.ad.adAnim_1 {
   animation: wiggle 2s linear 2;
}



.ad.visible.adAnim_2:before {
    content: "";
    width: 108%;
    height: 108%;
    border-radius: 8px;
    background-image: linear-gradient(
            var(--rotate)
            , var(--green), #788c3d 43%, var(--dark));
    position: absolute;
    z-index: -1;
    top: -4%;
    left: -4%;
    animation: adSpin 2.5s linear infinite;
}

.ad.visible.adAnim_2:after {
    position: absolute;
    content: "";
    top: calc(292px / 6);
    left: 0;
    right: 0;
    z-index: -1;
    height: 100%;
    width: 100%;
    margin: 0 auto;
    transform: scale(0.8);
    filter: blur(calc(292px / 6));
    background-image: linear-gradient(
            var(--rotate)
            , var(--green), #788c3d 43%, var(--dark));
    opacity: 1;
    transition: opacity .5s;
    animation: adSpin 2.5s linear infinite;
}
.ad.adAnim_3 {
    filter: blur(5px);
    opacity: 1;
    transition: filter 0.5s, opacity 0.5s;
}
.ad.adAnim_3.active  {
    filter: blur(0px);
    opacity: 1;
}

@keyframes adSpin {
    0% {
        --rotate: 0deg;
    }
    100% {
        --rotate: 360deg;
    }
}
@keyframes adSpin {
    0% {
        --rotate: 0deg;
    }
    100% {
        --rotate: 360deg;
    }
}


.ad.visible.adAnim_4:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top:0;
    left:0;
    overflow: hidden;
    z-index: 10;
    touch-action: none;
    background-image: repeating-radial-gradient(circle at 50% 50%, white, black 0.00085px);
    animation: tv-static 5s linear infinite;
}

@keyframes tv-static {
    from {
        background-size: 100% 100%;
    }

    to {
        background-size: 200% 200%;
    }
}



.donationPopup {
    position: fixed;
    max-width: 750px;
    width: 90%;
    height: 340px;
    max-height: 90%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    z-index: 1000;
    display: none;
    overflow: hidden;
    transition: all 0.1s ease-in-out; /* Increased duration for smoother transition */
    font-size: 1.75rem;
    line-height: 1;
    padding:30px 15px;
    letter-spacing: -0.05em;
    color: var(--black);
}
#message5 .flex {
    margin-top:27px;
}
.flex {
    display: flex;
}
.flex.column {
    flex-direction: column;
}
.donationPopup .stdButton {
    width: fit-content;
    margin: auto;
}
.donationPopup .stdButton + .end {
    margin-top:75px;
}
.donationPopup .donationButton {
    font-size: 1.3rem;
    padding: 10px 15px 10px 15px;
}
.donationPopup .donationButton span {
    font-size: 1.5rem;
}
#message2 .text, #message3 .text, #message4 .text {
    margin-top:32px;
}
#message4 .text div + div {
    margin-top:14px;
    font-size:2rem;
}
.end.grey {
    color:var(--grey);
    font-size:0.8rem;
    letter-spacing: 0;
    line-height: 1;
    cursor: pointer;
}
.end.grey:hover {
    text-decoration: underline;
}
.logoClone {
    position: fixed;
    transition: transform 2s ease, opacity 2s ease; /* Smooth transition for scaling and fading */
    z-index: 2000; /* Ensure it's above everything */
    opacity: 1; /* Start fully visible */
}
.donationPopupContent {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.donationPopupContent > div, .logoAVCesar {
    display: none;
    text-align: center;
}
.donationPopupContent > div.active .text {
    /*animation: scaleUp ease-in-out 5s forwards;*/
}
@keyframes scaleUp {
    0% { transform: translateY(50px) scale(0.8); }
    100% { transform: translateY(40px) scale(1.7); }
}

.donationPopupContent > div {
    margin-top:32px;
}
.logoAVCesar {
    display: block;
    width: 50%;
    max-width: 130px;
    margin: 10px auto;
}

.donationClose {
    position: absolute;
    right: 10px;
    top: 0;
    cursor: pointer;
    font-size: 20px;
}

.adNext {
    position: fixed;
    width: 70px;
    height: 70px;
    background-size: cover;
    z-index: 200;
    transition: all 5s ease-in-out;
    border-radius: 10px;
}

.logoClone {
    position: fixed;
    transition: transform 5s ease, opacity 2s ease;
    z-index: 2000;
    max-width:100%;
    height: auto !important;
}
.genericContainer {
    min-height: 150vh;
}



.ad ins, .ad iframe {
    display: flex;
    width: auto;
}

.promoBlock .col.outer {
    display: flex;
}
.promoBlock .col .ad {
    margin:auto;
    width: 100%;
    height:  auto;
    display: flex;
}
.promoDealLine {
    display: flex;
}
.promoDeal {
    padding-bottom: 20px;
}
.promoDeal + .promoDeal {
    border-top:1px solid var(--black);
}
#promosdeals .articleLiveContent .date {
    font-weight: unset;
    margin-top: 20px;
}
.articleInnerContentGrid .promoDealLine a {
    text-decoration: unset;
}
.articleInnerContentGrid .promoDealLine a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}
.articleInnerContentGrid figure {
    width:100% !important;
    grid-column-start: wide-start;
    grid-column-end: wide-end;
    max-width: 100%;
}
.articleInnerContentGrid figure img {
    width:100%;
}
.promoDealLine .description {
    margin:auto 0 auto auto;
    font-weight: bold;
    white-space: nowrap;
}
.morePromoDeals {
    margin: 30px auto 0 auto;
    width: fit-content;
    display: flex;
}

.mostReadBlock {
    width: 100%;
    color: var(--black);
    padding: 100px 0;
    max-width: 1400px;
    text-align: center;
    margin:0 auto;
}
.mostReadBlock > .title {
    font-size: 1.875rem;
    font-weight: bold;
    letter-spacing: -0.07em;
    padding-bottom:40px;
}
.mostReadBlock .grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}
.mostReadBlock .article {
    display: flex;
    gap:20px;
}
.mostReadBlock .article .picture {
    width: 120px;
    height: 120px;
}
.mostReadBlock .article img {
    aspect-ratio: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mostReadBlock .article .title {
    text-align: left;
    font-size: 1.5rem;
    letter-spacing: -0.06em;
    flex:1;
}


.featureBlock {
    margin:100px auto 0 auto;
    background: var(--green);
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    max-width: 1520px;
    position: relative;
    /*z-index: 10;*/
}
.featureBlock.dark {
    background: var(--dark);
    color:var(--white);
}
.featureBlock.bubblegum {
    background: var(--bubblegum);
    color:var(--black);
}
.featureBlock.right .col {
    grid-area: 1 / 1;
}
.featureBlock.right .picture {
    grid-area: 1 / 2;
}
.featureBlock .picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 4/5;
}
.featureBlock .col {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size:4.5rem;
    letter-spacing: -0.07em;
    flex-direction: column;
}
.featureBlock .col .description {
    position: relative;
}
.featureBlock .col .title {
    width: 78%;
    margin:auto;
    line-height: 0.8;
    position: relative;
    text-align: center;
}

/* popup NL */
.popupLayer {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(5px);
    background-color: rgba(222,222,222,0.4);
    z-index: 99;
    opacity: 1;
    transition: opacity 0.5s ease;
}
.popupNL {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 100;
    transform: translate(-50%, -50%);
    width: 740px;
    max-width: 95%;
    min-height: 275px;
    max-height: 90vh;
    box-shadow: rgba(149, 157, 165, 0.2) 0 8px 24px;
    background: #FFF;
    transition: all ease-in 350ms;
    opacity: 1;
    display: none;
}
.popupNL .smallLogo {
    background:url('../gfx/LogoAVCesar.svg') no-repeat center;
    width: 50px;
    height:27px;
    background-size:contain;
    margin: auto -10px auto 0;
    position: relative;

}
.popupNL .valid_nl_sub {
    line-height: 1rem;
    font-size: 1rem;
    background: var(--white);
    color: var(--black);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    border-radius: 16px;
    padding: 5px 9px 4px 8px;
    margin: auto 0;
    position: relative;
    top: 4px;
    cursor: pointer;
    transition: all ease-in-out 150ms;
}
.popupNL .valid_nl_sub:hover {
    background: var(--black);
    color:var(--white);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
}
.newsletterPromo {
    padding: 60px 70px 91px 70px;
    text-align: left;
    box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 3px;
}
.newsletterPromoDescLower {
    margin:0;
    font-size: 2.25rem;
    line-height: 1;
    letter-spacing: -0.05em;
    color: var(--black);
    display: flex;
    flex-flow: row wrap;
    gap: 8px;
}
.newsletterPromoDescLower .theme36 {
    background: var(--white);
    color:var(--black);
    box-shadow: 0 0 0 var(--tagBorderWidthM) var(--black) inset;
    height: fit-content;
    margin: auto 0;
    cursor: default;
    top:0;
}
.nl_boxInput {
    border-bottom:1px solid #000;
}
.nl_boxInput input {
    border:unset;
    font-size:1rem;
    width: 100%;
    outline:none;
}
.newsletterPromoForm {
    display: flex;
    gap: 20px;
    height: 24px;
    margin-top: 30px;
    justify-content: left;
}
.newsletterPromoForm form {
    flex:1;
}
.popupNL .newsletterCancel {
    margin: 20px 0;
    font-size: 0.75rem;
    color: #000;
    position: absolute;
    padding: 5px;
    bottom: 0;
    left: 50%;
    transform: translate(-50%);

}
.popupNL .newsletterCancel:hover {
    text-decoration: underline;
}

.newsletterBlock {
    position: relative;
    font-size:2.25rem;
    letter-spacing: -0.05em;
    max-width: 1520px;
    margin:0 auto;
    width: 100%;
}
#infoList .newsletterBlock, #b2b .newsletterBlock, #deals .newsletterBlock {
    margin:100px 0;
}
.newsletterBlock .title {
    position: absolute;
    top:50%;
    left:11.8%;
    transform:translateY(-50%);
    opacity: 1;
}
.newsletterBlock .subscribe {
    position: absolute;
    top: 50%;
    right: 8.5%;
    transform: translateY(-50%);
    opacity: 1;
    cursor: pointer;
}
.newsletterBlock .subscribe:hover {
    text-decoration: underline;
}
.newsletterBlock svg {
    margin:0 60px;
}
.newsletterBlock .st0 {
    fill: var(--green);
    transition: all ease-in-out 600ms;
}
.newsletterBlock .svgLogoAnim {
    fill: var(--black);
    transition: all ease-in-out 600ms;
}
.black .newsletterBlock .svgLogoAnim {
    fill: var(--green);
}
.newsletterBlock .from-left, .newsletterBlock .from-right {
    opacity: 1;
    transform: translateX(-100vw);
}
.newsletterBlock .from-left {
    animation-delay: calc(var(--animation-order) * 50ms);
}
.newsletterBlock .from-right {
    animation-delay: calc(var(--animation-order) * 50ms);
}




.newsletterBlock .svgLogoAnim.displayed {
    fill: var(--black);
}
.black .newsletterBlock .st0, .white .newsletterBlock .svgLogoAnim {
    fill: var(--black);
}
.black .newsletterBlock .svgLogoAnim.displayed {
    fill: var(--green);
}
.black .newsletterBlock .title, .white .newsletterBlock .subscribe {
    color:var(--green);
}
.black .newsletterBlock .title .theme38 {
    color:var(--green);
    border:1px solid var(--green);
}
.newsletterBlock .title .theme38:hover {
    color:var(--green);
    background:var(--black);
}
.black .newsletterBlock .subscribe {
    color:var(--green);
}

.hotBuzzBlock {
    margin: 100px auto 0 auto;
    background: var(--white);
    width: 100%;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
.hotBuzzBlockInner {
    width: 77%;
    max-width: 1180px;
    margin:0 auto;
}
.hotBuzzBlockInner > .title {
    font-size:7.5rem;
    letter-spacing: -0.07em;
    margin-bottom: 20px;
}
.hotBuzzBlock .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid #000;
    font-size:2.25rem;
    letter-spacing: -0.07em;
}
.hotBuzzBlock .row:last-child {
    border-bottom: none;
}
.hotBuzzBlock  .row .title {
    flex-grow: 1;
}
.hotBuzzBlock .row .votes {
    margin:auto 0 auto auto;
    font-weight: bold;
    font-size:1.875rem;
    letter-spacing: -0.07em;
}
.hotBuzzBlock .total {
    display: flex;
    position: relative;
    z-index: 1;
    width: 20%;
    gap:5px;
    flex:1;
    margin: auto 0 auto auto;
    justify-content: end;
}
.hotBuzzBlock .total img {
    width: 32px;
    height: 30px;
    object-fit: contain;
}
.hotBuzzBlock .total .emotion {
    margin: auto 0 auto 18px;
    vertical-align: middle;
    width: 30px;
}
.hotBuzzBlock .total .newEmotion {
    position: absolute;
    opacity: 0;
    bottom:0;
    z-index: 2;
}
.hotBuzzBlock .total .newEmotion img {
    margin-left:4px;
    display: inline-block;
    vertical-align: middle;
}
.hotBuzzBlock .total .newEmotion span {
    display: inline-block;
}
.hotBuzzBlock .total .newEmotion.animate {
    animation: fromDowntown 2s forwards;
}


.fluidContent {
    width: 100%;
    min-height: 100px;
    height: 300px;
    /*height: 50px;*/
    position: relative;
    display: flex;
    justify-content: center;
}
.adFullWidthFixed {
    margin:100px 0 0 0;
}
.fluidContent .megaban {
   position: absolute;
   bottom: 0;
    width: 100%;
    height: auto;
    opacity: 1;
    transition: opacity 1.3s;
    transform: translateY(100px);
    padding:0;
}
.fluidContent .megaban ins {
    display: flex;
    margin: auto;
}
.fluidContent .megaban iframe {
    margin:auto;
    height:250px;
}
.socialClubBlock {
    margin: 100px auto 0 auto;
    width: 100%;
    background:var(--dark);
    color:var(--green);
    position: relative;
    z-index: 1;
    height: var(--socialClubHeight);
    /*max-height: 90vh;*/
    overflow: hidden;
}
.socialClubBlockInner {
    width: 100%;
    height: 100%;
    max-width: 1520px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
    margin:0 auto;
    gap: var(--regularColumnGap);
}
.socialClubBlockInner .col.first {
    display: flex;
    flex-direction: column;
    width: 350px;
}
.socialClubBlockInner .col.second {
    width: 740px;
    position: relative;
    left:-10px;
}
.socialClubBlockInner .col.third {
    width: 350px;
}
.socialClubBlockInner .col > .title {
    font-size:7.5rem;
    line-height: 0.8;
    letter-spacing: -0.07em;
    margin:50px auto 0 auto;
}
.socialClubBlockInner .logo {
    display: flex;
    width: 100%;
}
.socialClubBlockInner .logo img {
    width: 50px;
    height: 30px;
    object-fit: contain;
    margin:0 auto 40px 0;
}
.socialClubBlockInner .col > .newContent, .socialBlock .newContent {
    font-size:2.25rem;
    letter-spacing: -0.07em;
    margin:auto 0 0 0;
    padding-top:13px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.socialBlock .sponsoredSC {
    width: 50%;
}
.socialBlock .submitNewSocial {
    margin: auto auto 0 0;
}
.socialBlock .newContent {
    margin-bottom:50px;
    width: 50%;
}
.socialClubBlockInner .sponsoredSC, .socialBlock .sponsoredSC {
    height: 50px;
    display: flex;
    justify-content: start;
    align-content: center;
    margin-top:30px;
}
.socialClubBlockInner .sponsoredSC img, .socialBlock .sponsoredSC img {
    width:auto;
    height: 100%;
    object-fit: contain;
    flex:1;
}
.socialClubBlockInner .sponsoredSC span, .socialBlock .sponsoredSC span {
    margin:auto auto auto 0;
}
.socialClubBlockInner .col .newContent .submitNewSocial {
    margin:auto auto 0 0;
}
.socialClubBlockInner .col > .follow {
    border-top:1px solid var(--green);
    font-size:2.25rem;
    letter-spacing: -0.07em;
    margin:20px 0 0 0;
    padding-top:13px;
}
.socialClubBlockInner .col > .follow span {
    vertical-align: middle;
    display: inline-block;
}
.follow .theme36.green:hover .SCxLogo {
    fill: var(--dark);
}
.socialClubBlockInner .follow .inst {
    margin-left:2px;
}
.socialClubBlockInner .follow .x {
    margin-left:5px;
    padding: 5px 9px 4px 9px;
}
.socialClubBlockInner .follow .x span {
    display: none;
}
.socialClubBlockInner .follow svg {
    width: 13px;
    height: 20px;
    object-fit: contain;
}

.socialClubBlockInner .col > .logo {
    font-size:1.5rem;
    margin:20px auto 0 auto;
}
.userContentSubmission .stdButton {
    display: block;
    margin:30px auto 0 auto;
}
.userContentSubmission {
    margin-top:20px;
}
.userContentSubmission p {
    line-height: 1.3;
}
.userContentSubmission .stdButton.error {
    background: darkred;
    color: var(--white);
}
.userContentSubmission .stdButton.success {
    background: var(--green);
    color: var(--black);
}
.swiper-slide.handle {
    height:40px !important;
    background:#4443e8;
    display: block;
    width: 100%;
}
.releaseBlock .swiper-button-next {
    right:10px;
}
.releaseBlock .swiper-button-prev {
  left:-10px;
}
.swiper-button-prev, .swiper-button-next {
    transition: all ease-in-out 150ms;
}
.swiper-button-prev:hover, .swiper-button-next:hover {
    transform: scale(1.15);
}
.swiper-slide .contentEmbed {
    display: flex;
    width: 100%;
    height: fit-content;
    min-height: 180px;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    transform: scale(1.04);
}
.Toverlay {
    content:'';
    width: 100%;
    height: 100%;
    display: block;
    background: transparent;
    z-index: 10;
    position: absolute;
    top: 0;
    left:0;
}
.swiper-slide .contentEmbed div, .swiper-slide .contentEmbed iframe {
   margin:0 !important;
}
.swiper-slide .contentEmbed .instagram-media {
   min-height: 400px;
}
.contentEmbed iframe {
    border-radius: 8px;
    height: auto;
    /*min-height: 230px;*/
    width: 100%;
}

.rankingBlock {
    background-color: var(--green);
    color:var(--black);
    border-radius: 20px;
    padding: 50px 20px 40px 20px;
    width: 100%;
    margin: 45px auto;
    overflow: hidden;
}
.rankingBlock .info {
    display: flex;
    justify-content: space-between;
}
.rankingBlock .tools {
    margin-top:20px auto;
}
.rankingBlock .title, .articleInnerContentGrid .rankingBlock .title {
    font-size: 2.25rem;
    letter-spacing: -0.07em;
    font-weight: bold;
    margin-bottom: 20px;
}
.rankingBlock .rankingRewards {
    margin-top:15px;
}
.rankingBlock .header, .articleContent .rankingBlock .header {
    display: flex;
    gap:20px;
    padding-top:10px;
    position: relative;
    z-index: 0;
    min-height: unset;
}
.rankingBlock .header .selector {
    position: relative;
    flex:1;
}
.rankingBlock .type-switch-buttons {

}
.rankingBlock .type-switch-buttons button {

}
.rankingBlock .type-switch-buttons button:hover {

}
.rankingBlock .type-switch-buttons button.selected {

}
.rankingBlock .switch-buttons, .rankingBlock .type-switch-buttons {
    background: var(--green);
    padding-top:6px;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: start;
    gap:12px;
    padding-bottom: 7px;
}
.rankingBlock .description {
    position: relative;
    z-index: 1;
    font-size: 1.0625rem;
    padding-bottom: 10px;
    background: var(--green);
}
.rankingBlock .description p {
    line-height: 1.3;
}
.rankingBlock .switch-buttons button, .rankingBlock .type-switch-buttons button {
    background-color: transparent;
    border: none;
    text-transform: uppercase;
    font-size:0.75rem;
    cursor: pointer;
    padding:0;
    color:var(--black);
    opacity: 0.3;
}
.rankingBlock .switch-buttons button:hover, .rankingBlock .switch-buttons button.selected, .rankingBlock .type-switch-buttons button:hover, .rankingBlock .type-switch-buttons button.selected {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.rankingBlock .rankings {
    background: var(--green);
    list-style: none;
    padding: 0;
    margin-bottom:20px;
}

.rankingBlock .ranking-item {
    border-top:1px solid var(--black);
    display: flex;
    justify-content: space-between;
    font-size: 0.9375rem;
    letter-spacing: -0.05em;
    padding:11px 0 12px 0;
}
.rankingBlock .ranking-item:last-of-type {
    border-bottom:1px solid var(--black);
}
.rankingBlock .ranking-item .total {
    font-weight: bold;
}
.rankingBlock .button {
    background-color: #ffffff;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
}
h2.infoSmy_title {
    background: var(--green);
    padding: 20px !important;
    letter-spacing: -0.077em !important;
    line-height: 5.1875rem !important;
    font-size: 6.5rem !important;
    font-weight: 400 !important;
}
.infoSmy_table {
    width: 100%;
    border-collapse: collapse;
    background: var(--green);
}
.infoSmy_table td {
    padding: 8px 20px !important;
    line-height: 1.2;
}
.infoSmy_table .infoSmy_ll {
    height:10px;
    line-height: 1;
}
.feedNewsBlock {
    width: 100%;
    display: flex;
}
.feedNewsBlock .newsList {
    margin:0 0 0 auto;
    display: flex;
    gap: var(--regularColumnGap);
    color:#CCC;
}
.feedNewsBlock .newsList .columnA, .feedNewsBlock .newsList .columnB {
    display: flex;
    flex-direction: column;
    gap:10px;
}
.feedNewsBlock .newsList .columnA {
    flex-direction: column-reverse;
}
.feedNewsBlock .newsList {
    /*height: 500px;*/
    width: 100%;
    margin: auto;
    /*padding: 55px 0;*/
}
.feedNewsBlock .title {
    font-size:13px;
    line-height: 13px;
    text-transform: uppercase;
    margin: auto auto auto 5px;
    color:#CCC;
}
.feedNewsBlock .newsList .news {
    gap:10px;
    transition:all ease-in-out 100ms;
    /*border:1px solid transparent;*/
    /*border-radius: 5px;*/
    /*padding: 2px 5px;*/
    cursor: pointer;
    width: 50%;
    height: 100%;
    max-height: var(--socialClubHeight);
    overflow: hidden;
}
.feedNewsBlock .newsList .swiper-container {
    width: 100%;
    height: var(--socialClubHeight);
}
.feedNewsBlock .newsList .swiper-wrapper {
    /*display: flex;*/
    /*flex-direction: column;*/
}

.feedNewsBlock .newsList .swiper-slide {
    /*width: auto;*/
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}


.feedNewsBlock .newsList .news::-webkit-scrollbar {
    width: 0;
    background: transparent;
}

.feedNewsBlock .newsList .news .header .from img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    margin:auto;
}
.feedNewsBlock .newsList .news:hover {
    /*background:rgba(99,99,99,0.3);*/
}
.feedNewsBlock .newsList .news .header {
    display: flex;
}
.feedNewsBlock .newsList .news .header .from {
    margin: auto 5px auto 0;
}
.feedNewsBlock .newsList .news .header .date {
    font-size: 14px;
    line-height: 14px;
    margin: auto 0 auto auto;
    color: #BBB;
}
.feedNewsBlock .newsList .news .content {
    /*display: none;*/
    /*margin-top:15px;*/
    border-radius: 12px;
}
.feedNewsBlock .newsList .news .youtube {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.feedNewsBlock .newsList .news .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* generic content */
.genericContainer {
    width: 100%;
    max-width: 1520px;
    margin:90px auto 0 auto;
}
.genericContainer > .title {
    font-size:7.5rem;
    letter-spacing: -0.07em;
    text-align: center;
    margin-bottom:50px;
}
.genericContainer .genericContent.narrow {
    width: 100%;
    max-width: 740px;
    margin:auto;
}
.genericContainer .genericContent > table {
    display: block;
    padding-bottom: 40px;
}
/* template publicite */

.tPubContainer {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap:20px;
}
.tPubInnerContainer {
    padding:40px 0 0 0;
    width: 100%;
}
.tPubInnerContainer + .tPubInnerContainer {
    border-top:1px solid var(--black);
}
.tPubContainer .details {
    width: 100%;
    max-width: 1520px;
    margin: 40px auto;
}
.tPubContainer .details .title {
    font-size: 1.875rem;
    letter-spacing: -0.05em;
    font-weight: bold;
    display: inline-block;
    cursor: pointer;
}
.tPubContainer .details .title:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.tPubContainer .details .desc {
    font-size: 1rem;
    margin-top:8px;
}
.tPubContainer .details .desc p {
    line-height: 1.3;
}
.tPub_adFormat {
    display: flex;
    flex-direction: row;
    width: 100%;
    min-height: 300px;
    max-width: 1520px;
    margin:auto;
}
.tPub_details, .tPub_example {
    width: 50%;
    display: flex;
    flex-direction: column;
}
.tPub_inner {
    position: sticky;
    top:50px;
    display: flex;
    flex-direction: column;
    min-height: 300px;
}
.tPub_inner .buttons {
    display: flex;
    margin:30px 0 0 0;
    gap:40px;
}
.tPub_inner .buttons .preview {
    margin:auto 0 0 0;

}
#templatevideoPopup, #templatevideoPopup .plyr--video {
    background: transparent;
    border-radius: 20px;
}
.tPub_inner .tPub_addToCart {
    margin:auto auto 0 0;
}
.tPub_inner .buttons .preview + .tPub_addToCart {
    margin:auto auto 0 0;
}
.tPub_details h2 {
    font-size: 1.875rem;
    letter-spacing: -0.05em;
}
.tPub_details h2 span {

}
.tPub_details .desc {
    margin-top:40px;
}
.tPub_details .desc p {
    line-height: 1.3;
}
.tPub_details .price {
    margin-top:20px;
}
.tPub_details .price span {
    font-weight: bold;
}
.tPub_cart {
    position: fixed;
    top: 150px;
    right: 0;
    background: var(--green);
    padding: 30px 20px;
    z-index: 11;
    cursor: pointer;
    transition: all ease-in 150ms;
}
.tPub_cart .desc {
    font-size:12px;
    line-height: 1.2;
    margin-top:20px;
}
.tPub_cart .desc.animation {
    animation: scintillement 1s linear infinite;
    animation-iteration-count: 2;
    animation-delay: 2s;
}
.tPub_cart:hover {
    transform: scale(1.15);
}
.tPub_cart .title {
    font-weight: bold;
    font-size:1.875rem;
    letter-spacing: -0.04em;
}
.tPub_cart .total {
    margin-top:20px;
    font-size:1.25rem;
    letter-spacing: -0.04em;
    font-weight: bold;
}

.tPub_cart .total span {
    font-weight: normal;
}
.tPubPopup {
    position: absolute;
    top: 60%;
    left: 50%;
    width: 600px;
    max-width: 95%;
    transform: translate(-50%, 0);
    background: white;
    padding: 30px;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    z-index: 100;
}
.tPubPopup .desc {
    font-weight: bold;
    line-height: 1.2;
}
#hp {
    display: none;
}
.tPubPopup .selection {
    margin:10px 0;
}
.tPubPopup .selection .adSelected {
    margin:10px 0;
    font-size:1.5rem;
    line-height: 1.2;
    letter-spacing: -0.05em;
}
.tPubPopup .selection .adSelected span.arrow {
    background:url('../gfx/agenda/arrow.png') no-repeat;
    width: 20px;
    height: 20px;
    display: inline-block;
    position: relative;
    top:3px;
    left:1px;
    margin-right:1px;
}
.tPubPopup .selection .total {
    margin:10px 0;
}
.tPubPopup .selection ul li + li {
    margin-top:5px;
}
#tPub_form .popupForm label, #tPub_form .popupForm .label {
    width: 35%;
}
#validateAdContact {
    margin:20px auto 0 auto;
}
.tPub_example {
    align-content: center;
    justify-content: center;
}
.tPub_details {

}
.tPub_example .picture {
    margin:auto;
}
.tPub_example .code {
    margin:auto;
}
.tPub_example img {
    width: 100%;
    height: auto;
    max-height: 540px;
    margin: auto;
    object-fit: cover;
}
.tPub_example.tall img {
    aspect-ratio: 74 / 105;
}
.tPub_example.skin img {
    max-height: unset;
}
.tPubPopup_content {
    position: relative;
}

.tPubPopup_close {
    position: absolute;
    right: 0;
    top: -10px;
    cursor: pointer;
    font-size: 24px;
}
.headerFull {
    /*height: 320px;*/
    display: flex;
    align-content: center;
    justify-content: center;
    flex-direction: column;
    margin-bottom: 50px;
}
.headerFull .sponsoredSC {
    margin:auto;
    color:var(--white);
    text-align: center;
}
.genericContainer .scTools {
    margin: 40px auto auto auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.genericContainer .more {
    margin:auto;
}

.genericContainer .scEmbed {
    width: fit-content;
    max-width: 100%;
    min-width: 400px;
    margin:20px auto auto auto;
}


.genericContainer .submitNewSocial {
    margin:10px auto auto auto;
}
#socialclub .contentEmbed iframe {
    width: unset;
    height: revert-layer;
    margin:auto;
}
.headerFull .sponsoredSC img {
    margin-top: 20px;
    filter: invert(1);
    border-radius: 20px;
}
.headerFull.green {
    background: var(--green);
    height: 320px;
}
.headerFull.dark {
    background: var(--dark);
    color:var(--white);
}
.headerFull.black {
    background: var(--black);
    color:var(--white);
}
.headerFull > .title {
    font-size: 7.5rem;
    letter-spacing: -0.07em;
    text-align: center;
    position: relative;
    margin: auto;
    left: -7px;
}
.black .headerFull > .title {
    color:var(--green);
}
.tPub_adFormat {
    display: flex;
    flex-direction: row;
    gap:40px;
}
.tPub_adFormat + .tPub_adFormat {
    margin-top:80px;
}

.tPubInnerContainer:nth-child(odd) .tPub_adFormat {
    flex-direction: row-reverse;
}

.tPub_details, .tPub_example {
    flex: 1;
}
.tPub_addToCart {
    margin:20px auto 0 auto;
}
.tPub_addToCart.selected {
    background: var(--green);
    color: var(--black);

}
.tPub_adFormat .preview {
    width: fit-content;
    margin: auto auto 0 auto;
}

#templateClosePopup {
    background: #fff;
    margin: 0;
    align-items: center;
    justify-content: center;
    display: flex;
    height: 30px;
    padding: 0 7px 2px 7px;
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.35) 0 5px 15px;
    transition: all ease-in 200ms;
}
#templateClosePopup span {
    color: #000;
    line-height: 24px;
    font-size: 24px;
}
#templateClosePopup:hover {
    cursor: pointer;
    background: #000;
}
#templateClosePopup:hover span {
    color: #fff;
}
#templatevideoPopup {
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    display: none;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 5%;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    z-index: 400;
}


/* infoList */
.listingContainer {
    width: 100%;
    max-width: 1520px;
    margin:90px auto 0 auto;
}
.listingContainer .themeContainer {
    margin-bottom:40px;
}
.listingContainer > .title {
    font-size:7.5rem;
    letter-spacing: -0.07em;
    text-align: center;
    margin-bottom:50px;
    font-weight: inherit;
}

/* abc */
.definitionPopup {
    position: absolute;
    z-index: 15;
    padding: 1.5rem;
    background-color: #f2f2f2;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    font-size: 0.75rem;
    line-height: 1.4;
    max-width: 400px;
    width: 90%;
    /*transition: opacity ease-in-out 150ms;*/
}
span[data-abc] {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    cursor: help;
}

/* info */
.articleContent {
    max-width: 1520px;
    margin:100px auto 0 auto;
    position: relative;
}
.articleContent .header {
    display: flex;
    gap: var(--regularColumnGap);
    position: relative;
    min-height:30vh;
}
.articleContent .header .column {
    width: 50%;
    margin:0;
    display: flex;
}

.articleContent .header .column.flex {
    display: flex;
    flex-direction: column;
    position: relative;
}
.articleContent .header .themes {
    gap: 7px;
    display: flex;
    flex-flow: row wrap;
    max-width: 80%;
}
.articleContent .header .top {
    position: absolute;
    top:20px;
    left:0;
    width: 100%;
}
.articleContent .header .publisher {
    position: absolute;
    top:20px;
    right:20px;
    font-size: 0.75em;
    text-transform: uppercase;
}
.articleContent .header .publisher a {
    text-decoration: none;
}
.articleContent .header .publisher a:hover {
    text-decoration: underline;
}
.articleContent .header .publisher .author {

}
.articleContent .header .publisher .date {
    margin-top:1px;
}
.articleContent .header .middle {
    margin:auto;
    font-weight: normal;
    width: 100%;
    position: relative;
}
.articleContent .header .column.borders {
    border-top: 1px solid var(--black);
    border-bottom: 1px solid var(--black);
}
.articleContent .header .tableOfContents {
    position: absolute;
    bottom:18px;
    left:0;
}
#info .todayContainer h2 {
    padding-left:10px;
    background: var(--green);
    margin-bottom:10px;
}
.todayContainer .today {
    padding-left:12px;
    padding-right:10px;
}
.todayContainer {
    border: 2px solid var(--green);
    margin:10px 0;
    padding-bottom:10px;
}
.articleInnerContentGrid .verdictTop {
    margin-top:92px;
}
.articleInnerContentGrid .twitter-tweet {
    margin:auto;
}
.articleContent .articleInnerContentGrid p a.shopLink {
    text-decoration: none;
}
.articleContent .articleInnerContentGrid .template_text_legendecenter {
    margin-top:8px;
    margin-left:-2px;
    font-size: 0.75rem;
    letter-spacing: -0.01em;
}


.tableOfContents .row a {
    font-size:0.9375rem;
    letter-spacing: -0.05em;
    font-weight: bold;
    text-decoration: none;
}
.tableOfContents .row a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.tableOfContents .row + .row {
    margin-top:4px;
}
.articleInnerContentGrid .tableOfContents {
    position: sticky;
    grid-column: unset;
    grid-row: span 3;
    height: fit-content;
    top: 20px;
    z-index: 10;
    left: 0;
}

.articleContent.wideImage .showMore,
.articleContent.headerVideo .showMore {
    display: block;
}
.black .header .column.borders {
    border-top: 1px solid var(--white);
    border-bottom: 1px solid var(--white);
}
.articleContent .middle h1.title {
    font-size:4.5rem;
    letter-spacing: -0.05em;
    font-weight: normal;
    width: 95%;
}
.articleContent .middle .details {
    margin-top:20px;
    display: flex;
    gap:20px;
}
.articleContent .header .middle .details {
    margin: auto;
    font-weight: normal;
    display: grid;
    grid-template-columns:
                    [full-width-start column-left-start] 50%
                    [column-left-end column-right-start] 50%
                    [full-width-end column-right-end];
    column-gap: var(--regularColumnGap);
    /*row-gap: 85px;*/
    row-gap:25px;
}
.articleContent .middle .details .tools {
    grid-row: 2 / 2;
    grid-column: 1 / 1;
    max-width: 120px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin:4px auto auto 0;
}
.articleContent .middle .details .desc {
    /*width: 65%;*/
    margin:0 auto auto 0;
    grid-row: 2 / 2;
    grid-column: 1 / 3;
    padding-left:17%;
    padding-right:10%;
}

.articleContent.wideImage .header .middle .details, .articleContent.headerVideo .header .middle .details {
    display: grid;
    grid-template-columns:
                    [full-width-start column-left-start] 23.02%
                    [content-start column-left-end breakout-right-start] 48.685%
                    [content-end column-right-start] 23.02%
                    [full-width-end column-right-end breakout-right-end];
    row-gap: 25px;
}

.articleContent .header .middle .details > .title {
    grid-column: full-width;
    font-weight: normal;
    font-size: 4.5rem;
    letter-spacing: -0.07em;
    margin-left:-3px;
}
.articleContent.wideImage .header .middle .title, .articleContent.headerVideo .header .middle .title  {
    grid-column: content;
}

.articleContent .header .middle .details .specs {
    grid-column: breakout-right;
    display: grid;
    grid-template-columns: [column-left-start] 90px [content-start column-left-end] 1fr [content-end];
    column-gap: 30px;
    row-gap: 10px;
}

.articleContent.wideImage .middle .details .tools, .articleContent.headerVideo .middle .details .tool {
    /*grid-area: 1 / 1 / 3 / 2;*/
    /*margin: auto auto 0 0;*/
}
.articleContent.wideImage .middle .details .desc, .articleContent.headerVideo .middle .details .desc {
    grid-row: 2 / 2;
    grid-column: 2 / 3;
    padding:0;
}
.articleContent.wideImage .middle .details a, .articleInnerContentGrid a {
    text-decoration: underline;
}
.tools div {
    min-width: 26px;
    display: flex;
    width: fit-content;
    justify-content: center;
    align-items: center;
    height: 26px;
    line-height: 22px;
    text-align: center;
    padding: 0;
    cursor: pointer;
    white-space: nowrap;
    transition: all ease-in-out 150ms;
}
.tools div.stdButton {
    padding: 4px 9px 4px 8px;
}
.tools div.stdButton:hover {
    padding: 4px 9px 4px 8px;
}
.tools div.sharePopup {
    height: 100%;
}
.tools div.toolboxPopup {
    height: 100%;
}
.tools > div:not(.supportDiv):hover {
    padding:0 6px;
}
.tools div.selected {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    background: var(--black);
    color: var(--white);
}
.black .tools div.selected {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--white) inset;
    background: var(--white);
    color: var(--black);
}
.articleContent .middle .details .desc, .articleContent .middle .details .desc p {
    font-weight: bold;
    font-size:1.5rem;
    line-height: 1.2;
    letter-spacing: -0.05em;
}
.articleContent .middle .details .desc a, .articleContent .middle .details .desc p a {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.articleContent .picture {
    position: relative;
}
.articleContent .picture img {
    width: 100%;
    height: auto;
    aspect-ratio: 74/105;
    object-fit: cover;
}
.articleContent.wideImage .picture img {
    aspect-ratio: unset;
}
.articleContent .picture .caption, .bottomPicture .caption {
    position: absolute;
    bottom:-23px;
    left:0;
    font-size:0.75rem;
    letter-spacing: -0.01em;
}
.articleContent .header .themes .hidden {
    opacity: 0;
    display: none;
    transition: all ease-in-out 100ms;
}
.articleContent .header .showMore {
    letter-spacing: 1px;
    padding: 4px 4px 2px 4px;
}
.articleContent .header .themes + .sponsor {
    margin-top:7px;
}

.articleContent .articleInnerContentGrid, .articleContent .articleLiveContent {
    width: 100%;
    max-width: 1520px;
    display: grid;
    margin:92px auto 0 auto;
    font-size:1.5rem;
    line-height: 2.1875rem;
    grid-template-columns:
        [full-width-start] 1fr
        [wide-start] 8.556%
        [content-start] 48.686%
        [content-end] 8.556%
        [wide-end] 1fr
        [full-width-end];
}
.articleLiveContent .date {
    font-size: 0.85rem;
    letter-spacing: -0.01em;
    margin-top:40px;
    font-weight: bold;
}
.articleLiveContent .description {
}
.articleLiveContent .image {
   margin:20px auto;
}
.articleLiveContent .embed {
    margin:20px auto;
    width: 100%;
 }
.articleLiveContent .embed > div {
    margin:0 auto !important;
}
.articleLiveContent .embed iframe {
    margin:0 auto;
}

.articleInnerContentGrid + .moreBlock {
    margin-top:100px;
    border-top:1px solid var(--black);
}
.articleInnerContentGrid > *, .articleLiveContent > * {
    grid-column: content;
    max-width: 740px;
}
.articleInnerContentGrid p :not(.wide, .full-width), .articleInnerContentGrid h2, .articleInnerContentGrid div {
    grid-column: content;
}
.articleContent .articleInnerContentGrid div.wide , .critiqueContainer .text div.wide {
    grid-column: wide;
    max-width: 1000px;
}
.articleContent .articleInnerContentGrid div.wide.full, .critiqueContainer .text .wide.full {
    grid-column: full-width;
    max-width: 100%;
}
.critiqueContainer .text p.caption {
    font-size: 0.75rem;
    letter-spacing: -0.01em;
}
.articleContent .articleInnerContentGrid p a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.articleContent .articleInnerContentGrid p a:hover {
    text-decoration: underline;
}
.articleContent .articleInnerContentGrid p {
    font-size:1.5rem;
    line-height: 2.1875rem;
    position: relative;
}
.articleContent .articleInnerContentGrid h2 {
    position: relative;
}

article h2 {
    font-weight: bold;
}
.articleContent .articleInnerContentGrid span.person {
    position: absolute;
    left: -55px;
    top: 6px;
    display: block;
}

.articleContent .articleInnerContentGrid p.av:before, .articleContent .articleInnerContentGrid h2.av:before {
    content: '';
    position: absolute;
    left: -55px;
    top: 10px;
    display: block;
    background: url('../gfx/LogoAVCesar.svg') no-repeat;
    width: 31px;
    height: 16px;
    filter:invert(1);
    background-size: contain;
}
#info .av:before {
    filter:unset;
}
.articleContent .articleInnerContentGrid h2 {
    margin:0;
    font-size:1.5rem;
    line-height: 2.1875rem;
}
.articleContent .articleInnerContentGrid div.wide {
    position: relative;
    display: flex;
    gap: var(--regularColumnGap);
}
.articleContent .articleInnerContent div.wide.full {
    width: 90vw;
}
.articleContent .articleInnerContentGrid div.wide .splitImage {
    width: 100%;
}
.articleContent .articleInnerContentGrid div.wide.full .splitImage {
    width: 50%;
}
.articleContent .articleInnerContentGrid .splitImage iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9;
}
.articleContent iframe {
    border:unset;
    margin:0 !important;
    padding:0 !important;
}
.articleContent .articleInnerContentGrid div.wide.full img {
    height: 100%;
    object-fit: cover;
    /*object-fit: contain;*/
}

.articleContent .articleInnerContentGrid div.wide .caption {
    font-size:0.75rem;
    letter-spacing: -0.01em;
}
.articleContent .articleInnerContentGrid div.wide img {
    width: 100%;
    height: auto;
}

.articleContent .bottomPicture {
    width: 1000px;
    max-width: 100%;
    margin: 30px auto 0 auto;
    position: relative;
}

.articleContent .bottomPicture img {
    width: 100%;
    height: auto;
}

.articleContent.headerVideo .videoContent {
    position: relative;
    width: 100%; /* Adjust the width as per your layout */
    height: 0;
    padding-bottom: 56.25%; /* for 16:9 aspect ratio, use 75% for 4:3 */
    overflow: hidden;
}
article .videoContent span {
   display: block;
}
.articleContent.headerVideo .videoContent iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.articleContent.headerVideo .videoContent + .header {
    margin-top:50px;
}
.articleContent.headerVideo .header .descCol, .articleContent.wideImage .header .column {
    width: 100%;
}
.articleContent.wideImage .header {
    flex-direction: column;
}
.articleContent.headerVideo .pictureCol {
    display: none;
}
.articleContent.headerVideo .middle h1.title, .articleContent.wideImage .middle h1.title  {
    max-width: 740px;
}
.articleContent.headerVideo .middle .details .desc, .articleContent.wideImage .middle .details .desc   {

    max-width: 740px;
    margin:0;
}
.articleContent.headerVideo .middle .details .tools, .articleContent.wideImage .middle .details .tools {
    /*margin-bottom:-13%;*/
}
.articleContent.headerVideo .header .middle, .articleContent.wideImage .header .middle {
    margin: 100px auto;
    width: 100%;
}
.articleSource {
    font-size: 0.75rem;
    margin:20px 0;
    max-width: 740px;
    min-height: 0;
    display: block;
    text-transform: uppercase;
}
.articleSource a {
    font-size:0.75rem;
}
.articleSource a:hover {
    text-decoration: underline;
}

article .triptyque {
    display: flex;
    width: 100%;
    max-width: 1520px;
    height: 860px;
    margin: auto auto 40px auto;
    overflow: hidden;
}

article .triptyque .image {
    width: 21.5%;
    transition: width 0.5s ease;
    background-size: cover;
    background-position: center;
}

article .triptyque .visible {
    width: 57%;
}

.articleBuyLink {
    grid-column: content;
    margin:30px auto auto auto;
    display: flex;
    gap:10px;
    justify-content: start;
    align-content: center;
    width: 100%;
    font-size: 1.5rem;
    line-height: 2.1875rem;
}
.articleBuyLink .productTitle {
    font-size: 1.5rem;
    line-height: 2.1875rem;
    margin: auto auto auto 0;
}
.articleBuyLink .stdButton {
    margin: 5px 0 auto 0;
}


.statusBar {
    width: 50%;
    max-width: 740px;
    margin:50px auto auto auto;
    padding:10px 0;
    border-top:1px solid var(--black);
    border-bottom:1px solid var(--black);
    display: flex;
    position: relative;
}
.statusBar.white {
    color:var(--white);
    border-top: 1px solid var(--white);
    border-bottom: 1px solid var(--white);
}
.statusBar.white .emoticon, .statusBar.white .support .logo {
    filter:invert(1);
}
.emotions {
    margin:auto auto auto 0;
    display: flex;
    gap:13px;
}
.emoticon {
    display: block;
    width: 27px;
    height: 27px;
    cursor: pointer;
    transition: transform ease-in-out 150ms;
    user-select: none;
}
.black .emoticon {
    filter:invert(1);
}
.emoticon:hover {
    transform: scale(1.15);
}
.smile {
    background:url("../gfx/emoticons/smile.svg") center no-repeat;
}
.sad {
    background:url("../gfx/emoticons/sad.svg") center no-repeat;
}
.heart {
    background:url("../gfx/emoticons/heart.svg") center no-repeat;
}
.support {
    margin:auto 4px auto auto;
    display: flex;
    gap:3px;
}
.support .logo {
    width: 37px;
    height: 19px;
    background:url("../gfx/LogoAVCesar.svg") center no-repeat;
    background-size: contain;
    display: block;
    margin:auto;
}

.videoContent.lower {
    margin:30px auto;
}
.videoContent.lower div, .videoContent.lower blockquote, .videoContent.lower iframe {
    margin-left:auto !important;
    margin-right:auto !important;
}
#info .videoContent-sticky {
    width: 25vw;
    height: auto;
    min-height: 15vw;
    aspect-ratio: 16/9;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 1000;
    margin:0;
    padding-bottom: 0;
    overflow: unset;
}
.videoContentStickyClose {
    position: absolute;
    top: 6px;
    right: 10px;
    z-index: 20;
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    padding: 6px 9px 5px 9px;
    border-radius: 16px;
    background: var(--white);
    cursor: pointer;
    transition: transform ease-in-out 150ms;
}
.videoContentStickyClose:hover {
    transform: scale(1.15);
}
.videoContent-sticky iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* social club */
#socialclub {
    background: var(--dark);
}

/* planning */
#planning {
    background: var(--dark);
}
#planning .headerFull {
    margin-bottom:6px;
}
.planningFiltersContainer {
    position: sticky;
    background: var(--dark);
    top: 0;
    padding: 100px 0 30px 0;
    margin:auto;
    width: 100%;
    max-width: 740px;
    min-height: 25px;
    z-index: 10;
    border-bottom: 1px solid var(--black);
}
.planningFilters {
    display: flex;
    justify-content: start;
    gap:10px;
    z-index: 3;
    width: 100%;
    max-width: 740px;
    margin:auto;
}
.planningFilters > div {
    margin:auto 0;
    position: relative;
}

.planningFilters .filter .title {
    margin:auto auto auto 0;
    font-size: 1.0625rem;
    display: inline-block;
    padding: 4px 10px 4px 9px;
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--white) inset;
    color:var(--white);
    border-radius: 24px;
    background: transparent;
    letter-spacing: -0.04em;
    transition: all ease-in-out 250ms;
    cursor: pointer;
    position: relative;
    z-index: 1;
}
.planningFilters .filter .title.selected, .planningFilters .filter:hover .title {
    background:var(--black);
}
.planningFilters .subfilters {
    font-size: 1.0625rem;
    letter-spacing: -0.04em;
}
.planningFilters .filter.opened .subfilters {
    display: block;
    animation: fadeIn ease-in-out 200ms forwards;
}
.planningFilters .subfilters .hidden {
    display: none;
}
.planningFilters .subfilters  a {
    color:#666666;
    font-weight: normal;
}
.planningFilters .subfilters .selected a, .planningFilters .subfilters li:hover a {
    color:var(--white);
}
.planningFilters .filter .subfilters {
    position: absolute;
    top: -20px;
    left: -20px;
    width: fit-content;
    background-color: var(--black);
    transition: opacity ease-in-out 300ms;
    color: white;
    display: none;
    padding: 56px 30px 20px 30px;
    opacity: 0;
}
.planningFilters .filter .subfilters.year {
    width: fit-content;
}
.planningFilters .title span {
    position: relative;
    top:0;
}
.planningFilters .subfilters li {
    font-size: 1.0625rem;
    letter-spacing: -0.05em;
    font-weight: bold;
    margin-top:7px;
}

.planningFilters .subfilters li ul {
    padding-left:15px;
}
.planningFilters .subfilters li ul li {
    font-weight: normal;
}
.planningFilters .subfilters li a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.planningContainer {
    width: 100%;
    max-width: 740px;
    margin:0 auto;
    color:var(--white);
    /*display: flex;*/
}
.planningContainer .date {
    font-size:1.5rem;
    letter-spacing: -0.05em;
    color:var(--green);
    font-weight: bold;
}
.planningContainer .releaseBox {
    display: flex;
    padding-top:15px;
    padding-bottom: 15px;
    position: relative;
    left:0;
}
.planningContainer .releaseBox + .releaseBox {
    border-top: 1px solid #000;
}
.planningContainer .releaseBox .buy {
    margin:auto 0 auto auto;
    position: absolute;
    left:-90px;
    opacity: 0;
    transition: all ease-in-out 200ms;
}
.planningContainer .releaseBox:hover .buy {
    opacity: 1;
}
.planningContainer .releaseBox + .releaseBox {
    margin-top:0;
}
.planningContainer .releaseBox + .releaseBox {
}
.planningContainer .monthBox {
    padding-top:20px;
}
.planningContainer .monthBox + .planningContainer .monthBox {
    border-top:1px solid var(--black);
}
.planningContainer .monthBox + .monthBox {
    margin-top:30px;
}
.planningContainer .releaseBox > div {
   margin:0 auto auto 0;
    overflow: hidden;
}
.planningContainer .releaseBox .details {
    margin: auto 0 2px auto;
    display: flex;
    align-content: center;
    font-size:0.75rem;
    text-transform: uppercase;
    gap:5px;
    width: fit-content;
    white-space: nowrap;
}
.planningContainer .releaseBox .details .fulldate {
    color:var(--green);
}
.planningContainer .releaseBox .details span {
    margin:auto;
}
.planningContainer .releaseBox .title {
    margin-top:0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* coups de coeur */
#coupsdecoeur .selection  {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 40px;
}



/* culture */
#listingCulture, #coupsdecoeur {
    background: var(--dark);
}
.cultureListingBlock {
    width: 100%;
}
.cultureListingBlockInner {
    width: 100%;
    max-width: 1520px;
    margin: 90px auto 0 auto;
    color:var(--white);
    text-align: center;
}
.cultureListingBlock .cultureBlock {
    border-top: unset;
    padding-top:0;
}
.cultureListingBlock .mustSeeBlock {

}
.cultureListingBlockInner > .title {
    font-size:7.5rem;
    letter-spacing: -0.07em;
    text-align: center;
    font-weight: inherit;
}
.cultureListingBlockInner .cultureFilters {
    margin-top:53px;
    display: flex;
    gap:10px;
}

.cultureListingBlockInner .selection {
    margin-top:40px;
    position: relative;
    z-index: 0;
}
.cultureListingBlockInner .selection .row a {
    display: block;
    width:100%;
    height:100%;
}
.cultureListingBlockInner .selection .row {
    display: grid;
    grid-template-columns: 65.78% 31.57%;
    column-gap: var(--regularColumnGap);
    row-gap: 20px;
    aspect-ratio: 1520 / 566;
}
.cultureListingBlockInner .selection .row + .row {
    margin-top:40px;
}
.cultureListingBlockInner .selection .row .largeBlock {

    width: 100%;
    height: 100%;
    display: block;
    grid-column-start: 1;
    grid-column-end: 1;
    grid-row-start: 1;
    grid-row-end: 3;
}
.cultureListingBlockInner .selection .row .block {

    width: 100%;
    height: 100%;
    display: block;
    grid-column-start: 2;
    grid-row-start: 1;
}
.cultureListingBlockInner .selection .row .block + .block {
    grid-row-start: 2;
}
.cultureListingBlockInner .selection .row.reverse {
    grid-template-columns: 31.57% 65.78%;
}
.cultureListingBlockInner .selection .row.reverse > :nth-child(1) {
    grid-area: 1/ 2 / 3 / 2;
}
.cultureListingBlockInner .selection .row.reverse > :nth-child(2) {
    grid-area: 1 / 1;
}
.cultureListingBlockInner .selection .row.reverse > :nth-child(3) {
    grid-area: 2 / 1;
}



.cultureListingBlockInner .selection .row {

}

.cultureListingBlockInner .selection .largeBlock, .block {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.cultureListingBlockInner .selection .largeBlock img, .block img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: all ease-in-out 700ms;
}
.cultureListingBlockInner .selection .largeBlock:hover img, .block:hover img  {
    transform:scale(1.1);
}

.cultureListingBlockInner .selection .largeBlock .title, .cultureListingBlockInner .selection .block .title {
    position: absolute;
    color: white;
    bottom: 20px;
    left: 20px;
    text-decoration: none;
    z-index: 3;
}

.cultureListingBlockInner .selection .block .title {
    font-size:  1.875rem;
    letter-spacing: -0.04em;
    bottom: 30px;
    left: 30px;
    text-align: left;
}
.cultureListingBlockInner .selection .largeBlock .title {
    font-size: 3rem;
    letter-spacing: -0.05em;
    text-align: left;
}

.cultureFavoritesBlock .selection .block .title {
    font-size: 1.875rem;
    letter-spacing: -0.04em;
}
.cultureListingBlockInner .more {
    margin:50px auto 0 auto;
    display: inline-block;
}
.cultureFavoritesBlock {
    width:100%;
    background: var(--green);
    margin-top:100px;
    padding-top:34px;
    padding-bottom:50px;
}
.cultureFavorites {
    max-width: 1520px;
    width:95%;
    margin:auto;
}
.cultureFavorites > .title {
    font-size:7.5rem;
    letter-spacing: -0.07em;
    color:var(--black);
    position: relative;
    left:-10px;
}
.cultureFavorites .selection {
    margin-top:32px;
}
.cultureFavorites .selection .row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: var(--regularColumnGap);
}
.cultureFavorites .selection .block {
    width: 100%;
    height: 100%;
    aspect-ratio: 350 / 200;
    display: block;
    background:var(--black);
}
.cultureFavorites .selection .block img {
    width: 100%;
    height: 100%;
    object-position: center;
    object-fit: cover;
}
.cultureFavoritesBlock .selection .block .title {
    font-size: 1.875rem;
    letter-spacing: -0.07em;
}

.sectionLoad + .newsletterBlock, .cultureBlock + .newsletterBlock, .techTestsBlock + .newsletterBlock, .featureBlock + .newsletterBlock, .cultureListingBlockInner + .newsletterBlock {
    margin-top:100px;
}
.cultureMustSeeBlock {
    width:100%;
    margin-top:36px;
}
.cultureMustSee {
    max-width: 1520px;
    width:95%;
    margin:auto;
}
.cultureMustSee > .title {
    font-size:7.5rem;
    letter-spacing: -0.07em;
    color:var(--white);
    position: relative;
    left:-10px;
}
.cultureMustSee .selection {
    margin-top:28px;
}
.cultureMustSee .selection .row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    column-gap: var(--regularColumnGap);
}
.cultureMustSee .selection .block {
    width: 100%;
    height: 100%;
    aspect-ratio: 270 / 340;
    display: block;
    background:var(--black);
}
.cultureMustSee .selection .block img {
    width: 100%;
    height: 100%;
    object-position: center;
    object-fit: cover;
}
.cultureAdditionalBlock {
    width:100%;
    margin-top:100px;
}
.cultureAdditionalBlock + .cultureAdditionalBlock {
    margin-top:50px;
}
.cultureAdditional {
    max-width: 1520px;
    border-top:1px solid #000;
    padding-top:35px;
    width:95%;
    margin:auto;
}
.cultureAdditional > .title {
    font-size:7.5rem;
    letter-spacing: -0.07em;
    color:var(--white);
    position: relative;
    left:-10px;
}
.cultureAdditional .selection {
    margin-top:33px;
}
.cultureAdditionalBlock .selection .row {
    /*display: grid;*/
    /*grid-template-columns: 1fr 1fr 1fr 1fr;*/
    /*column-gap: var(--regularColumnGap);*/
}
.cultureAdditionalBlock .selection .block {
    width: 100%;
    height: 100%;
    max-width: 350px;
    aspect-ratio: 350 / 200;
    display: block;
    user-select: none;
}
.cultureAdditionalBlock.portrait .selection .block {
    aspect-ratio: 74/105;
}
.cultureAdditionalBlock .selection .block img {
    width: 100%;
    max-width: 350px;
    height: 100%;
    object-position: center;
    object-fit: cover;
}
.cultureAdditionalBlock .selection .block .title, .cultureFavoritesBlock .selection .block .title, .cultureMustSee .selection .block .title  {
    font-size: 1.875rem;
    letter-spacing: -0.04em;
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 3;
    color: var(--white);
}
.cultureMustSee .selection .block .title {
    left:50%;
    transform:translateX(-50%);
    text-align: center;
}

/* feature block */
.featureBlock > .metric, .largeBlock .metric, .block .metric  {
    position: absolute;
    z-index: 1;
    top:20px;
    left:20px;
}
.featureBlock.right > .metric, .largeBlock .metric, .block .metric {
    right:20px;
    left:auto;
}
.largeBlock .metric, .block .metric {
    transform:scale(0.75);
    right:10px;
    top:10px;
}
.featureBlock .metric .rating {
    /*width: 54px;*/
    /*height: 54px;*/
    font-size: 0.9375rem;
    font-weight: bold;
    gap:2px;
}
.featureBlock .col .metric .rating {
    width: 54px;
    height: 54px;
}
.featureBlock .col .metric {
    letter-spacing: 0;
}
.featureBlock .col .metric {
    position: absolute;
    bottom: -65px;
    left: 50%;
    transform:translateX(-50%);
}

.featureBlock .col .metric .rating {
    background: var(--white);
}
.featureBlock .metric .rating .line {
    background: var(--black);
    width: 17px;
}
.featureBlock .col .metric .rating .number, .featureBlock .metric .rating .total {
    color:var(--black);
}

article .footer {
    display: block;
    height: 0;
    width: 100%;
}

/* footer */

footer {
    margin-top:100px;
    background:var(--dark);
    padding:100px 0 25px 0;
    color:var(--white);
    border-top:1px solid var(--black);
}
footer.light {
    background:var(--white);
    border-top:1px solid var(--black);
    color:var(--black);
}
footer .inner {
    max-width: 1520px;
    width: 90%;
    margin:0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}
footer .title {
    font-size:1.875rem;
    letter-spacing: -0.05em;
    position: relative;
    top: 3px;
}
footer .info {
    margin-top:5px;
    color:var(--grey);
    font-size:0.75rem;
    letter-spacing: -0.0em;
    display: flex;
    gap:12px;
}

footer.light .info {
    color: var(--black);
}
footer .info a:hover {
    text-decoration: underline;
}
footer .col.logo {
    display: flex;
}
footer .col.logo img {
    margin: auto;
    width: 250px;
    height: 100px;
    filter: invert(100%) brightness(200%) contrast(100%);
}
footer.light .col.logo img {
    filter:unset;
}
footer .follow svg {
    width: 14px;
    height: 14px;
    object-fit: contain;
}
footer .follow .x {
    padding: 5px 6px 5px 6px;
}
footer .follow .x:hover svg, footer.light .follow .x svg {
    filter:invert(1);
}
footer.light .follow .x:hover svg {
    filter:unset;
}
footer .theme38:hover .SCxLogoFooter {
    fill: var(--dark);
}
footer .col.infos {
    display: flex;
    flex-direction: column;
    text-align: left;
    font-size: 2.25rem;
    letter-spacing: -0.05em;
    margin: auto auto 0 0;
}
footer .col.credits {
    text-align: right;
    color: var(--grey);
    display: flex;
    flex-direction: column;
    gap:8px;
}
footer.light .col.credits {
    color:var(--black);
}
footer .info {
    margin:auto auto 0 0;
}
footer .col.credits {
    margin: auto 0 0 auto;
    font-size:0.75rem;
}
footer .col.credits a:hover {
    text-decoration: underline;
}


/* tech listing */
.techFilters {
    display: flex;
    justify-content: space-evenly;
    gap:40px;
    margin: 50px auto 0 auto;
    width: 100%;
    max-width: 1520px;
    position: relative;
    z-index: 3;
}
.techFilters + .featureBlock {
    margin-top:40px;
}
.techFilters > div  {
    margin:auto;
    flex:1;
    position: relative;
}
.cultureFilters > li  {
    position: relative;
}
.cultureFilters > li.dropdown {
    z-index: 2;
}
.techFilters > div:last-of-type {
    margin-right:0;
}
.techFilters .search, .cultureFilters .search {
    font-size: 1.0625rem;
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    border-radius: 24px;
    color:var(--black);
    margin-left:0;
    padding: 2px 0 3px 5px;
    display: flex;
    width: 119px;
}
.cultureFilters .search {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--white) inset;
    color:var(--white);
}
.techFilters .search input, .cultureFilters .search input {
    color:var(--black);
    background: transparent;
    position: relative;
    top:0;
    border: unset;
    font-size: 1.0625rem;
    height: 20px;
    letter-spacing: -0.05em;
    width: 92px;
    outline: none;
}
.cultureFilters .search input {
    color:var(--white);
}
.techFilters .search span, .cultureFilters .search span {
    position: relative;
    top: 3px;
    left: -1px;
}
.techFilters .search input::placeholder, .cultureFilters .search input::placeholder {
    color: var(--black);
    font-size: 1.0625rem;
    letter-spacing: -0.05em;
}
.cultureFilters .search input::placeholder {
      color: var(--white);
}
.techFilters .filter .title, .cultureFilters .filter .title {
    margin:auto auto auto 0;
    font-size: 1.0625rem;
    display: inline-block;
    padding: 4px 10px 4px 10px;
    /*padding: 4px 9px 3px 8px;*/
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    color:var(--black);
    border-radius: 24px;
    background: transparent;
    letter-spacing: -0.04em;
    transition: all ease-in-out 250ms;
    cursor: pointer;
    position: relative;
    z-index: 1;
}
.cultureFilters .filter .title {
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--white) inset;
    color:var(--white);
    z-index: 2;
}
.techFilters .filter .title.selected {
    background:var(--green);
}
.cultureFilters .filter .title.selected {
    background:var(--white);
    color: var(--dark);
}
.techFilters .filter.opened .subfilters, .cultureFilters .filter.opened .subfilters {
    display: block;
    animation: fadeIn ease-in-out 200ms forwards;
}
.techFilters .subfilters .hidden, .cultureFilters  .subfilters .hidden  {
    display: none;
}
.techFilters .filter .subfilters, .cultureFilters .filter .subfilters {
    position: absolute;
    top: -20px;
    left: -20px;
    width: 100%;
    background-color: var(--green);
    transition: opacity ease-in-out 300ms;
    display: none;
    padding:56px 30px 20px 30px;
    opacity: 0;
    border:1px solid var(--white);
    text-align: left;
}
.cultureFilters .subfilters li a {
    text-transform: unset;
}
.techFilters .subfilters #voirPlusLink, .cultureFilters .subfilters #voirPlusLink {
    color:var(--green);
}
.cultureFilters .filter .subfilters {
    background-color: var(--dark);
    width: 160%;
    transform: translateX(-10%);
    left:-15px;
}
.cultureFilters .filter .subfilters {
    z-index: 1;
}
.subfilters .more-platforms {
    display: none;
}

.subfilters .voir-plus a {
    cursor: pointer;
    color: #007BFF;
    text-decoration: none;
}

.subfilters .voir-plus a:hover {
    text-decoration: underline;
}
.techFilters .title span {
    position: relative;
    top:0;
}
.techFilters .subfilters li, .cultureFilters .subfilters li {
    font-size: 1.0625rem;
    letter-spacing: -0.05em;
    font-weight: bold;
    margin-top:7px;
    white-space: nowrap;
    user-select: none;
}
.techFilters .subfilters li a.selected, .userFavoritesList a:hover, .cultureFilters .subfilters li a.selected {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.techFilters .subfilters li ul, .cultureFilters .subfilters li ul {
    padding-left:15px;
}
.techFilters .subfilters li ul li, .cultureFilters .subfilters li ul li {
    font-weight: normal;
}
.techFilters .subfilters li a:hover, .cultureFilters .subfilters li a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}

.featureBlock + .techTestsBlock {
    margin-top:100px;
}
.featureBlock.collapsed + .techTestsBlock {
    margin-top:0;
}
.techTestsBlock {
    margin: 0 auto 0 auto;
    width: 100%;
    max-width: 1520px;
    display: grid;
    grid-template-columns:
                [full-width-start column-left-start column-1-start] 23.02%
                [column-1-end column-2-start] 23.02%
                [column-left-end column-2-end column-3-start column-right-start] 23.02%
                [column-3-end column-4-start] 23.02%
                [full-width-end column-right-end column-4-end];
    column-gap: 2.64%;
    row-gap: 100px;
}
.techTestsBlock .testBlock {
    width: 100%;
    position: relative;
}
.techTestsBlock .picture {
    background : var(--techGrey);;
    padding: 20px 20px;
    aspect-ratio: 350 / 435;
    overflow: visible;
}
.techTestsBlock .picture img {
    width: 100%;
    height: auto;
    aspect-ratio: 350 / 435;
    object-fit: contain;
    object-position: center;
    transition: all .2s linear;
}
.techTestsBlock .testBlock.full .picture img {
    aspect-ratio: auto;
    object-fit: cover;
    height: 100%;
}
.techTestsBlock .testBlock.full .picture {
    padding:0;
}
.testBlock:hover .picture img {
    /*filter: unset;*/
}
.techTestsBlock .testBlock .text .title, .techTestsBlock .testBlock .previewContainer .title {
    width: calc(100% - 62px);
}
.techTestsBlock .testBlock .previewContainer .col > .title {
    min-height: 60px;
}
.listingLoadBlock .content-animate {
    margin-top:40px;
    overflow: hidden;
    max-height: 0;
    transition: max-height 2.5s ease-out;
}
.listingLoadBlock .moreListing {
    grid-column-start: 1;
    grid-column-end: 5;
    margin:0 auto 0 auto;
    width: fit-content;
    display: block;
}
#infoList .listingLoadBlock .moreListing {
    margin:100px auto 0 auto;
}
.cultureListingBlockInner .listingLoadBlock .moreListing, .flexArticles + .moreListing, .coreArticles + .moreListing {
    margin:100px auto 100px auto;
}
.testBlock .picture > a {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}
.testBlock .previewButton {
    position: absolute;
    bottom:20px;
    right:20px;
    background: url(../gfx/tech/previewWhite.svg) center no-repeat;
    display: block;
    width: 36px;
    height: 25px;
    margin: auto;
    opacity: 0;
    transition: opacity ease-in-out 150ms;
    z-index: 16;
    cursor: pointer;
}
.previewChildOpened .testBlock .previewButton {
    z-index: 10;
}
.testBlock .picture:after {
    content: "";
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 15;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity ease-in-out 150ms;
    pointer-events: none;
}
.testBlock .block {
    cursor: unset;
}
.testBlock:hover .previewButton, .testBlock:hover .picture:after {
    opacity: 1;
}
.testBlock .previewContainer {
    display: none;
}
.testBlock.previewOpened {
    z-index: 15;
}
.testBlock.previewOpened .text {
    z-index: -1;
    filter:blur(5px);
}
.testBlock.previewOpened .previewContainer {
    display: flex;
    position: absolute;
    top:-50px;
    left:-30px;
    /*opacity: 0;*/
    transition: opacity ease-in-out 150ms;
    width: calc( 200% + 78px);
    height: calc( 100% + 100px);
    background:#FFF;
    padding:50px 30px;
    gap:30px;
    box-shadow: rgba(0, 0, 0, 0.35) 0 5px 5px;
}
.testBlock.left .previewContainer {
    top:-50px;
    right:-30px;
    left:auto;
}
.testBlock.left .previewContainer {
    flex-flow:row-reverse;
}


.testBlock.previewOpened .previewButton {
    display: none;
}
.testBlock.previewOpened .picture a {
    z-index: 20;
}
.testBlock.previewOpened .picture:after {
    background: var(--techGrey);
    z-index: 15;
    opacity: 1;
}
.testBlock .previewContainer .col {
    width: 50%;
    flex-basis: 50%;
    display: block;
    position: relative;
}
.testBlock .previewContainer .close {
    font-size:1.125rem;
    cursor: pointer;
    transition: transform ease-in-out 100ms;
    position: absolute;
    top:8px;
    right:12px;
}
.testBlock .previewContainer .col .close:hover {
    transform: scale(1.15);
}
.testBlock .previewContainer .col:last-of-type {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.testBlock .text {
    position: relative;
}
#listingTech .testBlock .metric .rating {
    width: 54px;
    height: 54px;
    font-size: 0.9375rem;
    font-weight: bold;
    gap:2px;
}

.testBlock .metric, .articleContent .metric {
    letter-spacing: 0;
}

#listingTech .testBlock .text .metric, .testBlock .previewContainer .metric {
    position: absolute;
    top: 0;
    right: 0;
}
.techSpecsBlock .techSpecs .metric {
    position: absolute;
    top: 48px;
    right: 11px;
}
#listingTech .testBlock .metric .rating, .articleContent .metric .rating {
    background: var(--green);
}
#listingTech .testBlock .metric .rating .line, .articleContent .metric .rating .line {
    background: var(--black);
    width: 17px;
}
#listingTech .testBlock .metric .rating .number, #listingTech .testBlock .metric .rating .total, .articleContent .metric .rating .number, .articleContent .metric .rating .total {
    color:var(--black);
}
.testBlock .adBox img {
    width: 100%;
    height: auto;
}
.techTestsBlock .adBox .picture {
    background: transparent;
}
.techTestsBlock .adBox {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fullScreenOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background: rgba(0, 0, 0, 0.5);*/
    z-index: 12;
    display: none;
    backdrop-filter: blur(5px);
    background-color: rgba(222,222,222,0.4);
    opacity: 0;
    animation: fadeIn ease-in-out 200ms forwards;
    transition: opacity 0.5s ease;
}
.previewContainer .col > .title {
    margin-top:-5px;
    font-size: 1.875rem;
    letter-spacing: -0.05em;
}
.previewContainer .col .cons, .col .pros {
    margin-top:18px;
    padding-top:10px;
    border-top:1px solid var(--black);
}
.previewContainer .col .cons .desc,.previewContainer .col .pros .desc,.previewContainer .col .cons .title,.previewContainer .col .pros .title {
    font-size:0.9375rem;
    letter-spacing: 0;
}
.previewContainer .col .cons .title, .col .pros .title {
    font-weight: bold;
}
.previewContainer .col ul {
    padding-left:0;
    margin-top:20px;
}
.previewContainer .col ul li + li {
    margin-top:3px;
}
.previewContainer .col .price {
    margin-top:12px;
    text-align: right;
    font-weight: bold;
    font-size:0.9375rem;
}
.previewContainer .col .techtools {
    margin:auto auto 0 auto;
    display: flex;
    width: 100%;
}
.previewContainer .col .techtools div:last-of-type {
    margin:auto 0 auto auto;
}


/* live event - saison - deals page */
#live, #saison, #promosdeals {
    background: var(--green);
    color: var(--black);
}

.rankingsContent .info {
    display: none;
}


/* critique */
#critique, #interview, #cinecult {
    background: var(--dark);
    color: var(--white);
}
.critiqueContainer {
    width: 100%;
    max-width: 1520px;
    margin:100px auto 0 auto;
    background:var(--dark);
    min-height:150vh;
}
.critiqueContainer .header {
    padding:100px 0 100px 0;
    border-top:1px solid var(--white);
    border-bottom:1px solid var(--white);
    display: flex;
    flex-direction: column;
    position: relative;
    color:var(--white);
}
.critiqueContainer .header .top {
    position: absolute;
    top: 20px;
    left: 0;
    width: 70%;
    font-size: 1.125rem;
    color: var(--white);
}
.critiqueContainer .header .themes {
    gap: 7px;
    display: flex;
    flex-flow: row wrap;
}
.critiqueContainer .header .themes + .sponsor {
    margin-top: 7px;
}
.critiqueContainer .header .publisher {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 0.75em;
    text-transform: uppercase;
}
.critiqueContainer .header .publisher a {
    text-decoration: none;
}
.critiqueContainer .header .publisher a:hover {
    text-decoration: underline;
}
.critiqueContainer .header .middle .details {
    margin: auto;
    font-weight: normal;
    display: grid;
    grid-template-columns:
        [full-width-start column-left-start] 23.02%
        [content-start column-left-end breakout-right-start] 48.685%
        [content-end column-right-start] 23.02%
        [full-width-end column-right-end breakout-right-end];
    column-gap: var(--regularColumnGap);
    row-gap: 50px;
}
.critiqueContainer .header .middle .title {
    grid-column: content;
    font-weight: normal;
    font-size:4.5rem;
    letter-spacing: -0.07em;
}
.critiqueContainer .middle .details .tools {
    grid-column: column-left;
    grid-area: 2 / 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top:12px;
}
.black .tools div:not(.logo) {
    color:var(--white);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--white) inset;
}
.black .tools div.supportDiv {
    box-shadow:revert;    margin:0;
}
.black .middle .details .tools div.supportDiv:hover {
    background: unset !important;
    color:#000 !important;
}
.black .middle .details .tools div.logo:hover {
    background: url(../gfx/LogoAVCesar.svg) center no-repeat;
}
.black .tools div.stdButton {
    margin:0;
}
.black .tools .logo {
    filter:invert(1);
}
.black .tools div {

}
.black .middle .details .tools div:hover, .black  .middle .details .tools div:hover, .black .middle .details .tools div:hover {
    color:var(--black);
    background:var(--white);
}

/* TOOLS */
.tools .share {
    position: relative;
}
.sharePopup, .toolboxPopup {
    white-space: nowrap;
    border-radius: 5px;
    padding: 5px 10px;
    gap:10px;
    display: flex;
}

.sharePopup .shareBtn, .toolboxPopup .toolBtn {
    margin:auto;
    display: inline-block;
    width: 17px;
    height: 17px;
    line-height: 17px;
    color: #000;
    text-align: center;
    text-decoration: none;
    transition: transform ease-in-out 150ms;
}
.sharePopup .shareBtn:hover {
    transform:scale(1.15);
}
.sharePopup .shareBtn.in {
    background:url("../gfx/social/in.svg") no-repeat center;
    background-size:contain;
}
.sharePopup .shareBtn.fb {
    background:url("../gfx/social/fb.svg") no-repeat center;
    background-size:contain;
}
.sharePopup .shareBtn.x {
    background:url("../gfx/social/x.svg") no-repeat center;
    background-size:contain;
}
.sharePopup .shareBtn.whatsapp {
    background:url("../gfx/social/whatsapp.svg") no-repeat center;
    background-size:contain;
}
.sharePopup .shareBtn.mail {
    background:url("../gfx/social/mail.svg") no-repeat center;
    background-size:contain;
}
.sharePopup .shareBtn.copy {
    background:url("../gfx/social/link.svg") no-repeat center;
    background-size:contain;
}
.toolboxPopup .toolBtn.fastReading {
    background:url("../gfx/social/lightning.svg") no-repeat center;
    background-size:contain;
}
.toolboxPopup .toolBtn.aiAudio {
    background:url("../gfx/social/headphone.svg") no-repeat center;
    background-size:contain;
}

.tools.black .sharePopup {
    filter:invert(1);
}

.toolboxPopup a {
    margin:auto;
    display: inline-block;
    width: 17px;
    height: 17px;
    line-height: 17px;
    color: #000;
    text-align: center;
    text-decoration: none !important;
    transition: transform ease-in-out 150ms;
}
.toolboxPopup .shareBtn:hover {
    transform:scale(1.15);
}
.toolboxPopup .shareBtn.in {
    background:url("../gfx/social/in.svg") no-repeat center;
    background-size:contain;
}
.toolboxPopup .shareBtn.fb {
    background:url("../gfx/social/fb.svg") no-repeat center;
    background-size:contain;
}
.tools.black .toolboxPopup {
    filter:invert(1);
}

/* Favorites */

.userFavoritesList {
    position:fixed;
    top:263px;
    right:249px;
    z-index:100;
    width: 450px;
    max-width: 100%;
    background:white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    padding:20px 25px 20px 20px;

}
.userFavoritesList h4 {
    font-size: 1.875rem;
    font-weight: bold;
    letter-spacing: -0.07em;
}

.userFavoritesList ul {
    list-style: none;
    padding: 0;
    margin: 0;
    max-height: 75vh;
    overflow-y: scroll;
}

.userFavoritesList li {
    padding:8px 0 6px 0;
    position: relative;
    margin-bottom: 5px;
    line-height: 24px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color:var(--black);
}
.userFavoritesList li + li {
    border-top:1px solid var(--black);
}

.removeFavorite {
    cursor: pointer;
    background-color: grey;
    color: white;
    font-size: 1.5rem;
    border: none;
    border-radius: 50%;
    padding: 1px 6px 3px 6px;
    position: absolute;
    display: flex;
    top: 5px;
    right: 0;
    align-items: center;
    line-height: 1.5rem;
}
.broadcastAlert {
    position: fixed;
    bottom: -100px;
    right: 50px;
    width: auto;
    line-height: 1.3;
    max-width: 250px;
    padding: 10px;
    background-color: var(--green);
    border-radius: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    z-index: 10;
    color:var(--black);
    animation: floatUp 22s ease-in-out forwards, sideWays 5s ease-in-out infinite;
}
.broadcastAlert a {
    color:var(--black);
}





.critiqueContainer .header .middle .details .specs {
    grid-column: breakout-right;
    display: grid;
    grid-template-columns:
        [column-left-start] 90px
        [content-start column-left-end] 1fr
        [content-end];
    column-gap: 30px;
    row-gap: 10px;
}

.critiqueContainer .middle .details .specs .title {
    grid-column: column-left;
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 0;
    margin: 0.6rem 0 auto 0;
}
.critiqueContainer .middle .details .specs .title.centered {
    margin: auto 0 auto 0;
    position: relative;
    top:-4px;
}
.critiqueContainer .middle .details .specs .desc {
    grid-column: content;
    font-size:	1.5rem;
    letter-spacing: -0.06em;
    font-weight: bold;
    margin:auto 0 0 0;
}
.critiqueContainer .middle .details .specs .ratings {
    display: flex;
    gap:20px;
}
.critiqueContainer .middle .details .specs .ratings .metric {
    display: flex;
    gap:10px;
}
.critiqueContainer .middle .details .specs .ratings .metric.hidden {
    display: none;
}
.metric .rating {
    width: 80px;
    height: 80px;
    background: var(--black);
    display: flex;
    flex-direction: column;
    border-radius: 50%;
    text-align: center;
    gap: 3px;
    font-size: 1.375rem;
    font-weight: bold;
}
.metric .rating .number {
    color:var(--green);
    margin:auto auto 0 auto;
}
#critique .metric .title {
    margin: auto 0 auto 0;
    position: relative;
    top:-4px;
}
.metric .rating .total {
    margin:0 auto auto auto;
}
.metric .rating .line {
    margin: 0 auto;
    width: 27px;
    height: 1px;
    background: #808080;
}

.metric .rating .award {
    margin:auto;
    display: flex;
    flex-direction: column;
    gap:3px;
    position: relative;
    top: 2px;
    left:0;
}
.metric .rating .award .logo {
    width: 30px;
    height: 19px;
    background: url('../gfx/LogoAVCesar.svg') center no-repeat;
    background-size: contain;
    display: block;
    margin: auto;
    filter: invert(1);
}
.metric .rating .award .level {
    background: url('../gfx/emoticons/heartGreen.svg') center no-repeat;
    display: block;
    width: 22px;
    height: 22px;
    margin: auto;
}
.metric .rating .award .level.green {
    background: url('../gfx/emoticons/heartGreen.svg') center no-repeat;
    filter: unset;
}

.pictureContainer {
    width: 100%;
    max-width: 1520px;
    padding-top:40px;
    overflow: hidden;
}
.pictureContainer .swiper-slide {
    position: relative;
}
.pictureContainer .swiper-slide {
    width: 100%;
    height: 100%;
}
.pictureContainer .swiper-slide img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
}
.pictureContainer .swiper-slide .caption {
    position: absolute;
    bottom:-20px;
    left:0;
    font-size:0.75rem;
    letter-spacing: -0.01em;
    color:var(--white);
}
.thumbnailSwiper {
    margin-top:36px;
    border-top:1px solid var(--black);
    border-bottom:1px solid var(--black);
}
.pictureContainer .thumbnails {
    /*margin-top:30px;*/
    padding:10px 0;
    display: flex;
    gap:10px;
    /*flex-flow: row wrap;*/
    /*height: 140px;*/
    /*overflow-x: auto;*/
}
.pictureContainer .swiper-lazy-preloader {
    animation: rotate 2s linear infinite;
}
.pictureContainer .thumbnail {
    cursor: pointer;
    overflow: hidden;
    border:1px solid transparent;
}
.pictureContainer .swiper-slide-thumb-active {
    border:1px solid var(--white);
}
.pictureContainer .thumbnail:hover {
    border:1px solid var(--white);
}

.pictureContainer .thumbnail img {
    width: auto;
    height: 100%;
    aspect-ratio: 16/9;
    max-width: 215px;
    max-height: 120px;
    object-fit: cover;
    transition: transform ease-in-out 320ms;
}

.critiqueContainer .text {
    width: 100%;
    max-width: 1520px;
    display: grid;
    margin: 92px auto 0 auto;
    font-size: 1.5rem;
    line-height: 2.1875rem;
    grid-template-columns:
                    [full-width-start] 1fr
                    [wide-start] 8.556%
                    [content-start] 48.686%
                    [content-end] 8.556%
                    [wide-end] 1fr
                    [full-width-end];
}
.critiqueContainer .text p {
    font-size: 1.5rem;
    line-height: 2.1875rem;
}
.critiqueContainer .text a {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.critiqueContainer .text > * {
    grid-column: content;
    max-width: 740px;
    color:var(--white);
}

.critiqueContainer .trailerVideo {
    position: relative;
}
.critiqueContainer .plyr--video {
    margin-top:100px;
    max-width: 1000px;
    grid-column: wide;
}

.critiqueContainer .plyr--video .banner {
    display:none !important;
    position: absolute;
    font-size:1.5rem;
    letter-spacing: -0.07em;
    z-index: 2;
    bottom:30px;
    left:40px;
}

.critiqueContainer .swiper-container {
    width: 100%;
    height: 100%;
    position: relative;
}

.critiqueContainer .swiper-slide {
    text-align: center;
    font-size: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.critiqueContainer .thumbs-swiper .swiper-slide {
    width: auto;
    height: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    transition: transform ease-in-out 320ms;
}

#critique {
    color:var(--white);
}
#critique .socialBlock {
    width: 100%;
    max-width: 1520px;
    margin: 100px auto 0 auto;
    height: 640px;
    border-top:1px solid var(--green);
    border-bottom:1px solid var(--green);
    display: grid;
    grid-template-columns:
        [full-width-start column-left-start column-1-start] 23.02%
        [column-1-end column-2-start] 23.02%
        [column-left-end column-2-end column-3-start column-right-start] 23.02%
        [column-3-end column-4-start] 23.02%
        [full-width-end column-right-end column-4-end];
    column-gap: var(--regularColumnGap);
    overflow: hidden;
}
#critique .feedNewsBlock .newsList .news {
    max-height: 640px;
}
#critique .socialBlock .colTitle {
    grid-column: column-left;
    width: 100%;
    height: 100%;
    padding-top:50px;
    display: flex;
    flex-direction: column;
}
#critique .socialBlock .title {
    font-size:7.5rem;
    line-height: 0.8;
    letter-spacing: -0.07em;
    color:var(--green);
    margin-left: -7px;
}
#critique .socialBlock > .sponsoredSC {

}
#critique .socialBlock > .newContent {

}
#critique .socialBlock > .feedNewsBlock {
    grid-column: column-right;
    width: 100%;
    height: 100%;
}
#critique .socialBlock .newsList {
    position: relative;
    left:1px;
}

#critique .testContainerBlock {
    color:var(--white);
    width: 100%;
    max-width: 1520px;
    margin: 100px auto 0 auto;
    padding: 21px 0 100px 0;
    border-top:1px solid var(--black);
    border-bottom:1px solid var(--black);
}
#critique .testContainerBlock .filters {
    display: flex;
    gap:15px;
    font-size:0.9375rem;
}
#critique .testContainerBlock .filters .title {
    font-size:7.5rem;
    letter-spacing: -0.07em;
    margin-left: -10px;
}
#critique .testContainerBlock .filters .title + .filter {
    margin-left:17px;
}
#critique .testContainerBlock .filters .filter {
    margin: auto 0 14px 0;
}


#critique .testBlock {
    color:var(--white);
    width: 100%;
    display: grid;
    grid-template-columns:
        [full-width-start column-left-start column-1-start] 23.02%
        [column-1-end column-2-start column-main-start] 23.02%
        [column-left-end column-2-end column-3-start column-right-start] 23.02%
        [column-3-end column-4-start column-main-end] 23.02%
        [full-width-end column-right-end column-4-end];
    column-gap: var(--regularColumnGap);
    /*row-gap: 87px;*/
    margin-top:87px;
}
#critique .testBlock.hidden {
    display: none;
}
#critique .testBlock .specs {
    grid-column: column-1;
    font-size:	0.9375rem;
}
#critique .testBlock .specs .picture {
    width: 100%;
}
#critique .testBlock .specs .picture img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
#critique .testBlock .specs .picture + .block {
    margin-top:30px;
}
#critique .testBlock .specs .block.grid {
    margin-top:10px;
    padding-bottom:24px;
}
#critique .testBlock .specs .block .title + .spec {
    margin-top:20px;
}
#critique .testBlock .specs .block .spec + .spec {
    margin-top:4px;
}
#critique .testBlock .column {
    grid-column: column-main;
    margin-top:-3px;
}
#critique .testBlock .column .title {
    font-weight: bold;
    font-size: 1.375rem;
}
#critique .testBlock .column .title + .desc {
    margin-top:40px;
}
#critique .testBlock .column .specTestBlock + .specTestBlock {
    margin-top:50px;
}
#critique .testBlock .column .desc, #critique .testBlock .column .desc p {
    font-size: 1.5rem;
    line-height: 2.1875rem;
}
#critique .specs .block {
    padding-top:10px;
}
#critique .specs .block .title {
    font-weight: bold;
}
#critique .specs .block + .block {
    margin-top:10px;
    border-top:1px solid var(--white);
}
#critique .specs .block .block {
    padding-top:0;
}
#critique .specs .block.grid {
    display: grid;
    grid-template-columns:
            [full-width-start column-left-start] 50%
            [column-left-end column-right-start] 50%
            [full-width-end column-right-end];
    column-gap: 0;
}
#critique .specs .block.grid .block {
    grid-column: column-left;
    border-top:unset;
}

#critique .specs .block > .buy {
    grid-column: column-right;
    height: 26px;
    width: fit-content;
    margin:-2px 0 auto auto;
    letter-spacing: -0.06em;
}
#critique .specTestBlock {
    position: relative;
}
#critique .specTestBlock .desc + .desc {
    margin-top:30px;
}
#critique .specTestBlock .desc .line + .line {
    margin-top:10px;
}
#critique .specTestBlock .metric {
    position: absolute;
    top:-26px;
    right:0;
}
#critique .adFullWidthFixed {
    margin: 100px 0 0 0;
}
.hatchedLine {
    width: 100%;
    max-width: 1520px;
    margin:100px auto 100px auto;
    display: flex;
}
.hatchedLine svg {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.no-scroll {
    overflow: hidden;
    position: fixed;
    width: 100%;
}


/* generic */
.gen-container {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}
.gen-userBroadcast {
    text-align: center;
    font-size:2rem;
    font-weight: bold;
    color:forestgreen;
    margin:40px auto;
}
.gen-container .row + .row {
    margin-top:30px;
}

.gen-container .row {
    display: flex;
    gap:20px;
}
.gen-container.reset .row {
     display:none;
 }

.gen-container.reset .row.pwd {
    display:flex;
}
.gen-container label {
    text-align: right;
    margin:auto;
    width: 25%;
}
.gen-container input, .gen-container select {
    width: 72%;
    flex: 1;
    padding: 8px;
    border:unset;
}
.gen-container input {
    border-bottom:1px solid #000;
}
.gen-container .status {
    margin:20px auto;
    height: 20px;
    font-size:1.125rem;
    color:#000000;
    font-weight: bold;
    display: block;
}
.gen-container .stdButton.valid {
    animation: scaleEffect 4s cubic-bezier(.36, .07, .19, .97) 3;
}
.gen-container .stdButton {
    margin:20px auto;
    display: block;
}
.gen-container .stdButton.saved {
    background: forestgreen;
}


.moreBlock {
    margin: auto;
    width: 100%;
    max-width: 1520px;
    padding-top: 35px;
    display: grid;
    grid-template-columns:
        [full-width-start column-left-start column-1-start] 23.02%
        [column-1-end column-2-start column-main-start] 23.02%
        [column-left-end column-2-end column-3-start column-right-start] 23.02%
        [column-3-end column-4-start column-main-end] 23.02%
        [full-width-end column-right-end column-4-end];
    column-gap: var(--regularColumnGap);
    row-gap: 55px;
}
.moreBlock > .title {
    font-size:7.5rem;
    line-height: 0.8;
    letter-spacing: -0.07em;
    margin-left: -7px;
    grid-column: column-main;
}
.moreBlock + .statusBar {
    margin-top:70px;
}
.moreBlock .selection {
    grid-column: column-main;
    display: flex;
    gap: var(--regularColumnGap);
}

/* test tech */
#testMateriel .articleContent .picture img {
    object-fit: contain;
}
#testMateriel .articleContent .picture  {
    background: var(--techGrey);
    padding: 20px 20px;
    aspect-ratio: 350 / 435;
    overflow: visible;
}
#testMateriel .articleContent .picture.full {
    object-fit: cover;
    padding:0;
    display: flex;
}
#testMateriel .articleContent .picture.full img {
    object-fit: cover;
}
#testMateriel .articleContent {
    max-width: 100%;
}
#testMateriel .articleContent .header .column.flex {
    min-height: 75vh;
}
#testMateriel .articleContent .middle .details .desc .ratings {
    display: flex;
    gap: 30px;
    font-weight: normal;
}
#testMateriel .articleContent .middle .details .desc {
    margin: -20px 0 auto auto;
}
#testMateriel .articleContent .header .middle .details {
    row-gap: 29px
}
#testMateriel .articleContent .middle .details .tools {
    margin-top:0;
}
#testMateriel .articleContent .middle .details .metric .title {
    grid-column: column-left;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0;
    margin: auto 0 auto 0;
    position: relative;
    top:-4px;
}
#testMateriel .articleContent .metric {
    display: flex;
    gap: 15px;
}
.articleContent .price {
    margin: auto 0 auto 0;
    font-weight: bold;
    font-size:1.875rem;
    letter-spacing: -0.04em;
    position: relative;
    top:-8px;
}
.articleContent .metric.aw .rating {
    background: var(--black);
}
.articleContent .metric.aw + .metric {
    margin-left:5px;
}
.proscons {
    margin: 100px auto 0 auto;
    padding: 41px 0 100px 0;
    width: 100%;
    background: #f2f2f2;
    color: var(--black);
    position: relative;
}
.inner {
    max-width: 1520px;
    margin: auto;
}
.inner.flex {
    display: flex;
    gap:40px;
}
.proscons .col {
    flex-basis: 50%;
}
.proscons .col > .title {
    font-size: 4.5rem;
    letter-spacing: -0.07em;
    margin-left:-5px;
}
.proscons .col .desc {
    margin-top:27px;
}
.proscons .col .desc li {
    font-size:1.5rem;
}
.proscons .col .desc li + li {
    margin-top:3px;
}
.articleInnerContentGrid .title {
    font-size: 4.5rem;
    letter-spacing: -0.07em;
    margin-bottom: 40px;
}
ul li i {
    animation: var(--fontFadeIn);
}
.articleContent .techSpecsBlock {
    width: 100%;
    max-width: 1520px;
    display: grid;
    margin:100px auto 0 auto;
    grid-template-columns:
                [full-width-start column-left-start column-1-start] 23.02%
                [column-1-end column-2-start] 23.02%
                [column-left-end column-2-end column-3-start column-right-start] 23.02%
                [column-3-end column-4-start] 23.02%
                [full-width-end column-right-end column-4-end];
    column-gap: var(--regularColumnGap);
}
.techSpecsBlock .col {
    padding:41px 20px 80px 20px;
    background: var(--techGrey);
    min-height: 600px;
    position: relative;
}
.techSpecsBlock .col > .title, .competitionSpecs > .title{
    font-size: 4.5rem;
    letter-spacing: -0.07em;
}
.techSpecsBlock .col .desc {
    margin-top:44px;
}
.techSpecsBlock .techSpecs {
    grid-column: column-left;
}
.techSpecsBlock .techSpecs.solo {
    grid-column: unset;
    grid-column-start: 2;
    grid-column-end: 4;
}
.techSpecsBlock .competition {
    grid-column: column-right;
}
.techSpecsBlock .competition a {
    text-decoration: underline;
    font-weight: bold;
}
.techSpecsBlock .competition a:hover {

}
.techSpecsBlock ul {
    position: relative;
}
.techSpecsBlock ul li {
    font-size:0.9375rem;
    line-height: 1.2;
    display: flex;
    text-align:left;
    padding-top:9px;
    padding-bottom:10px;
    border-top:1px solid var(--black);
}
.techSpecsBlock ul li:last-of-type {
    border-bottom:1px solid var(--black);
}
.techSpecsBlock ul li span:first-child {
    font-weight: bold;
    width: 22.30%;
    padding-right:2%;
    margin:0 auto auto auto;
}
.techSpecsBlock ul li span:last-of-type {
    flex:1;
    margin:0 auto 0 0;
}
.competition {
    overflow: hidden;
}
.competition .desc {
    font-size: 0.9375rem;
    line-height: 1.2;
}
.competition .desc .specsCompare {
    font-weight: bold;
    text-decoration: underline;
    cursor: pointer;
}
.techSpecsBlock .col .desc *, .competition .desc * {
    line-height: 1.2;
}
.competition .desc .p1 {
    /*border-top:1px solid var(--black);*/
    /*padding-top:8px;*/
}
.competitionSpecs .close {
    font-size:1.125rem;
    cursor: pointer;
    transition:transform ease-in-out 100ms;
    position: absolute;
    top:10px;
    right:10px;
    user-select: none;
}
.competitionSpecs .close:hover {
    transform:scale(1.15);
}
.competitionSpecs {
    position: absolute;
    display: none;
    width: 100%;
    height:  100%;
    overflow: hidden;
    top:0;
    left:0;
    z-index: 3;
    padding: 41px 20px 80px 20px;
    background: repeating-linear-gradient(63deg, #f2f2f2, #f2f2f2 54px, #ffffff 54px, #ffffff 108px);
    opacity: 0;
}
.competitionSpecs.opened {
    display: block;
    animation: fadeIn ease-in-out 120ms forwards;
}
.benchmarkBlock {
    width: 100%;
    background: var(--techDark);
    color: var(--white);
}
.benchmarkBlock .inner {
    width: 100%;
    max-width: 1520px;
    display: grid;
    margin: 100px auto 0 auto;
    padding:50px 0 100px 0;
    grid-template-columns:
                        [full-width-start column-left-start column-1-start] 23.02%
                        [column-1-end column-2-start] 23.02%
                        [column-left-end column-2-end column-3-start column-right-start] 23.02%
                        [column-3-end column-4-start] 23.02%
                        [full-width-end column-right-end column-4-end];
    column-gap: var(--regularColumnGap);
}
.benchmarkBlock .inner .col:first-child {
    grid-column: column-1;
}

.benchmarkBlock .inner .col:first-child > .title {
    font-size: 4.5rem;
    letter-spacing: -0.07em;
    margin-left:-5px;
}
.benchmarkBlock .inner .col:first-child > .partner {
    font-size: 0.75rem;
}
.benchmarkBlock .inner .col:first-child > .partner a {
    text-decoration: underline;
}
.benchMenu {
    margin-top:30px;
    display: flex;
    flex-direction: column;
    gap:10px;
}
.benchMenu li {
    width: fit-content;
    text-transform: lowercase;
}
.benchMenu ul li.selected {
    cursor: default;
}
.benchmarkBlock .inner .col:last-child {
    grid-column-start: 2;
    grid-column-end: 4;
    position: relative;
    padding-top: 43px;
}
.benchmarkBlock .inner .details > .title {
    font-weight: bold;
    font-size: 1.5rem;
    text-transform: lowercase;
}
.benchmarkBlock .details {
    display: none;
}
.benchmarkBlock .details.visible {
    display: block;
    animation: fadeIn ease-in-out 150ms;
}
.benchmarkBlock .details .metric {
    position: absolute;
    top:14px;
    right:0;
}
.benchmarkBlock .details .picture {
    margin-top:50px;
}
#testMateriel .articleContent .benchmarkBlock .details .picture {
    aspect-ratio: unset;
    background: unset;
    padding:0;
}
.benchmarkBlock .details .picture img {
    width: 100%;
    height: auto;
    aspect-ratio: unset;
    object-fit: cover;
    cursor: zoom-in;
}
.benchmarkBlock .details .desc {
    margin-top:28px;
    font-size:0.9375rem;
    line-height: 1.2;
}
.benchmarkBlock .details .desc p, .benchmarkBlock .details .desc span, .benchmarkBlock .details .desc {
    line-height: 1.2;
}
.benchmarkBlock .details .desc .specs {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 3px;
    margin-bottom: 13px;
}
.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
    cursor: zoom-out;
}
.modal img {
    max-width: 80%;
    max-height: 80%;
}
.modal .close {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 30px;
    font-weight: bold;
    cursor: pointer;
}

/* contest */
.contestContent .articleInnerContentGrid {
    width: 100%;
    max-width: 1520px;
    display: grid;
    margin: 92px auto 0 auto;
    font-size: 1.5rem;
    line-height: 2.1875rem;
    grid-template-columns: [full-width-start] 1fr [wide-start] 8.556% [content-start] 48.686% [content-end] 8.556% [wide-end] 1fr [full-width-end];
}



.error { background-color: #ffcccc; }

.contest_personal-info {
    margin: 100px auto 0 auto;
}

.contest_input-group {
    margin-top: 25px;
}
.contest_input-group.flex {
    gap:90px;
}
.contest_input-group--half {
    display: inline-block;
    width: 48%;
}
.contest_input-group--half + .contest_input-group--half {
    margin-left:3%;
}
.contest_input-group label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

.contest_input-group input[type="text"],
.contest_input-group input[type="email"],
.contest_input-group input[type="date"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.contest_radio-buttons label {
    margin-right: 20px;
}

.contest_checkbox label {
    display: block;
    margin-top: 10px;
}
.contest_social {
}
.contest_social a {
    text-decoration: none;
}
.contest_social svg {
    width: 16px;
    height: 16px;
    object-fit: contain;
    display: inline-block;
}
.contest_social .SCxLogoFooter {
    fill:#000;
}
#submit_button {
    transition: all ease-in-out 150ms;
    width: fit-content;
    margin:80px auto auto auto;
    padding:10px 20px;
    display: block;
    font-size:32px;
}

#submit_button:disabled {
    opacity: 0.4;
}

.contest_questions {
    font-size:24px;
}
.contest_questions h2, .contest_personal-info h2 {
    text-transform: uppercase;
    font-weight: bold;
}
.contest_questions .content_question {
    margin-top:45px;
    font-weight: bold;
}
.contest_questions label + label {
    margin-top:12px;
}
.contest_questions label input {
    margin-right:15px;
}
.contest_questions label:hover, .contest_checkbox label:hover {
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.contest_questions .content_answers {
    margin-top:45px;
    display: flex;
    flex-direction: column;
}
.contest_question-subsidiary .content_answer {
    margin-top:45px;
}
.contest_checkbox {
    margin-top:60px;
}
.contest_checkbox label input {
    margin-right:15px;
}
.contest_input-group.birthdate {
    margin-left:0;
}
.contestRules {
    margin-top:50px;
    text-align: center;
}
.contestRules a {
    color:var(--grey);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--grey) inset;
}
.form-status {
    margin-top: 20px;
    padding: 15px;
    border-radius: 5px;
    font-size: 1.2rem;
    text-align: center;
    display: none;
}

.form-status.success {
    background-color: #d4edda;
    color: #155724;
    display: block;
}

.form-status.error {
    background-color: #f8d7da;
    color: #721c24;
    display: block;
}

/* b2b / deals */
.flexArticles {
    /*margin:100px auto 0 auto;*/
    /*border-top:1px solid var(--black);*/
    width: 100%;
    max-width: 1520px;
    /*padding-top:18px;*/
    display: grid;
    grid-template-columns:
    [full-width-start column-left-start column-1-start] 23.02%
    [column-1-end column-2-start] 23.02%
    [column-left-end column-2-end column-3-start column-right-start] 23.02%
    [column-3-end column-4-start] 23.02%
    [full-width-end column-right-end column-4-end];
    column-gap: 2.64%;
    row-gap: 100px;
}
.flexBlock {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    transition: all ease-in-out 300ms;
    z-index: 10;
}
.adjustHeight {
    height: 400px;
    opacity: 0;
}
.flexBlock.infoChrono {
    padding:30px 0 20px 0;
    border-top:1px solid var(--black);
    border-bottom:1px solid var(--black);
}
.flexBlock.whatsNew, .flexBlock.keyNumbers {
    padding:30px 0 20px 0;
    border-top:1px solid var(--black);
}
.flexBlock.keyNumbers .selection, .flexBlock.whatsNew .selection {
    margin-top:32px;
}
.flexBlock > .title {
    font-size:7.5rem;
    letter-spacing: -0.077em;
    margin-left: -7px;
}
.flexBlock.bestDeals .header {
    padding:0 20px;
}
.flexBlock.bestDeals .details .info {
    display: flex;
    gap:10px;
    width: 95px;
    margin:auto 0 auto auto;
}
.flexBlock.bestDeals .header .title {
    font-size: 7.5rem;
    letter-spacing: -0.077em;
    margin-left: -7px;
}
.flexBlock.bestDeals .details .sponsored {
    font-size: 1.17rem;
}
.flexBlock.moreDeals > .title {
    line-height: 0.8;
}
.flexBlock.liveEvents .list, .flexBlock.liveEvents .selection  {
    padding:20px;
}
.flexBlock.liveEvents .selection {
    padding-left:40px;
}
.flexBlock.liveEvents .list {
    padding-top:6px;
    position: relative;
}
.flexBlock.liveEvents .list span.arrow {
    background:url('../gfx/agenda/arrow.png') no-repeat;
    width: 20px;
    height: 20px;
    display: inline-block;
    position: relative;
    top:3px;
    left:1px;
    margin-right:1px;
}
.flexBlock.liveEvents .list .flexSwiper  {
    height:calc(100% - 155px);
    overflow: hidden;
    position: relative;
}
.flexBlock.liveEvents .contentScrolling {
    bottom: 10px;
}
.flexBlock.liveEvents .eventWrapper {
    /*overflow: hidden;*/
    display: flex;
}
.eventWrapper {
    height: 100%;
}
.eventWrapper .selection {
    position: relative;
    padding-left:40px;
    border-left:1px solid var(--black);
    display: none;
    opacity: 0;
    transition: opacity ease-in-out 50ms;
}
.eventWrapper.opened .selection {
    display: block;
    width: 100%;
    opacity: 1;
}
.flexBlock .eventWrapper .list > .title {
    font-size:6.25rem;
    letter-spacing: -0.077em;
    margin-left: -1px;
    margin-bottom:33px;
}
.flexBlock.liveEvents .list {
}
.flexBlock.liveEvents .list .row .date {
    font-size:1.5rem;
    letter-spacing: -0.06em;
    font-weight: bold;
}
.flexBlock.liveEvents .list .row .title {
    font-size:1.5rem;
    letter-spacing: -0.06em;
}
.flexBlock.liveEvents .list .row + .row {
    margin-top:30px;
}

.flexBlock.liveEvents, .flexBlock.bestDeals {
    background: var(--green);
}
.bestDeals .header {
    display: flex;
}
.bestDeals .header .submitNewDeal {
    margin:auto 0 15px auto;
}
.flexBlock.bestDeals {
    text-align: center;
    padding:27px 0 20px 0;
}
.flexBlock .row {
    position: relative;
    width: 100%;
}
.flexBlock .row .date {
    font-size: 0.625rem;
}
.flexBlock.liveEvents .row .date {
    font-weight: bold;
}
.flexBlock .row .title {
    margin-top:-1px;
    line-height: 1.1;
    font-size: 1.5rem;
    text-align: left;
    letter-spacing: -0.06em;
}
.flexBlock .row .title {
    /*white-space: nowrap;*/
    /*text-overflow: ellipsis;*/
    /*overflow: hidden;*/
    max-width: 95%;
}
.flexBlock.keyNumbers .row .title {
    font-size: 1.875rem;
    letter-spacing: -0.05em;
    white-space: normal;
}
.flexBlock.whatsNew .row .title {
    font-size: 1.875rem;
    letter-spacing: -0.05em;
    white-space: normal;
    overflow: unset;
}
.flexBlock.liveEvents > .row .title {
    font-size: 0.9375rem;
    letter-spacing: 0;
}
.flexBlock.liveEvents .selection .title {
    margin-top:4px;
    font-size: 0.9375rem;
    font-weight: bold;
    letter-spacing: 0;
}
.flexBlock.liveEvents .row .description {
    margin-top:4px;
    font-size: 0.9375rem;
    letter-spacing: 0;
}
.flexBlock .row .live {
    position: relative;
    left: 5px;
    top:-3px;
    font-weight: normal;
    border:2px solid var(--black);
    border-radius: 20px;
    font-size:0.8rem;
    letter-spacing: 0;
    padding:0 6px 0 6px;
    animation: liveFade 7s ease-in-out infinite;
}




.flexBlock.moreDeals .selection {
    margin-top:25px;
}
.flexBlock.moreDeals .row {
    display: flex;
    padding:4px 0;
    border-top: 1px solid var(--black);
    cursor: pointer;
}
.flexBlock.moreDeals .row:nth-last-of-type {
    border-bottom: 1px solid var(--black);
}
.flexBlock.moreDeals .row .title {
    font-size:0.9375rem;
    letter-spacing: 0;
    margin:auto auto auto 0;
}

.flexBlock.moreDeals .row + .row {
    margin:0;
}
.flexBlock.moreDeals .row .arrow {
    margin:auto 0 auto auto;
    padding: 0;
    display: flex;
    height: 27px;
    width: 27px;
    opacity: 0;
    transition: opacity ease-in-out 100ms;
}
.flexBlock.moreDeals {
    margin-top:-5px;
}
.flexBlock.moreDeals .row:hover .arrow {
    opacity: 1;
}
.flexBlock.moreDeals .stdButton span {
    margin: auto;
    position: relative;
    top: 0;
    left: -1px;
    width: 14px;
    height: 17px;
}
.flexBlock.infoChrono .row {
    padding-bottom:18px;
}
.flexBlock .row + .row {
    margin-top:20px;
}
.flexBlock.bestDeals .row {
    display: flex;
    font-size:	1.5rem;
    padding:19px 0 13px 0;
    border-top:1px solid var(--black);
}
.flexBlock.bestDeals .row + .row {
    margin:0;
}
.flexBlock.bestDeals .row .title:hover, .flexBlock.moreDeals .row .title:hover {
    text-decoration: none;
}

.flexBlock.bestDeals .selection {
    padding:0 20px;
}
.flexBlock.bestDeals .row .details {
    display: flex;
    gap:10px;
    margin: auto 0 auto auto;
    position: relative;
    top:-3px;
    flex-shrink: 0;
}
.flexBlock.bestDeals .row .details .div {
    margin:auto;
}
.flexBlock.bestDeals .row:hover .dealTools {
   opacity: 1;
}
.flexBlock.bestDeals .row .dealTools {
    position: absolute;
    z-index: 3;
    right:34%;
    transition: all ease-in-out 100ms;
    opacity: 0;
    top:50%;
    transform: translateY(-50%);
}
.dealTools .buy {
    background: var(--green);
}
.dealTools .report {
    background: var(--green);
    color:var(--lightGrey);
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--lightGrey) inset;
}
.dealTools .buy:hover {
    background: var(--black);
}
.dealTools .report:hover {
    background: var(--grey);
    color:var(--white);
}
.flexBlock.bestDeals .row .details .price {
    margin:auto 21px auto auto;
    font-weight: bold;
}
.flexBlock.bestDeals .row .details .emoticon {
    width: 31px;
    height: 28px;
}
.flexBlock.bestDeals .row .details .total {
    font-size: 1.125rem;
    width: 55px;
    text-align: right;
    margin:auto;
}
.flexBlock.keyNumbers .row + .row {
    margin-top:29px;
}
.flexBlock.liveEvents .swiper-slide + .swiper-slide {
    margin-top:20px;
}

.flexBlock .row .title a:hover {
    text-decoration: none;
}
.flexBlock.keyNumbers .row .title a:hover, .flexBlock.whatsNew .row .title a:hover, .flexBlock.infoChrono .row .title a:hover, .eventWrapper .list .viewEvent.contentAvailable:hover .title, .broadcastAlert a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.contentScrolling {
    display: flex;
    justify-content: center;
    gap: 8px;
    position: absolute;
    bottom: 20px;
    user-select: none;
    left: 50%;
    transform: translateX(-50%);
    z-index: 16;
}
.flexBlock .more {
    position: absolute;
    right:0;
    bottom:0;
}
.flexBlock.whatsNew .more {
    bottom:-10px;
}
.row .title .theme30 {
    position: relative;
    top:6px;
    line-height: 1;
}
.hotBuzzBlockInner .row .title .theme30 {
    top:0;
    line-height: 1;
}
.flexBlock .contentScrolling .stdButton {
    padding: 0;
    display: flex;
    height: 27px;
    width: 27px;
    font-size:1rem;

}
.flexBlock .contentScrolling .stdButton span {
    margin:auto;
    position: relative;
    top:1px;
    left:0;
    height: fit-content;
    width: 14px;
}
.flexBlock .contentScrolling .stdButton:nth-of-type(2n) span {
    top:0;
    left:-1px;
}
.genericContent .date {
    font-size: 2.5rem;
    letter-spacing: -0.05em;
    color: var(--black);
    font-weight: bold;
}
.genericContent .row .title {
    font-size: 1.875rem;
    letter-spacing: -0.05em;
    white-space: normal;
}
.genericContent .row  {
    padding-top:15px;
}
.genericContent .row + .row  {
    padding-top:25px;
}
.genericContent .monthBox  {
    padding-top:40px;
}
.genericContent .monthBox + .monthBox {
    margin-top: 40px;
    padding-top:40px;
    border-top:1px solid var(--black);
}

.eventWrapper .list .row.viewEvent {
    transition: all ease-in-out 250ms;
}
.eventWrapper .list .contentAvailable {
    cursor: pointer;
}

.eventWrapper .list .row .description {
    display: none;
}
.swiper-button-disabled {
    cursor: unset !important;
    opacity: 0.1 !important;
    pointer-events: none;
}
.infoChrono .selection, .keyNumbers .selection {
    margin-top:15px;
    overflow: hidden;
    position: relative;
}
.keyNumbers .selection {
    height: calc(100% - 185px) !important;
}
.infoChrono .selection {
    height: calc(100% - 190px) !important;
}
.whatsNew .selection {
    margin-top:15px;
    height: calc(100% - 185px) !important;
    position: relative;
    overflow: hidden;
}
.whatsNew .swiper-wrapper {
    flex-direction: column;
}
.infoChrono .selection {
    margin-top:28px;
}
.whatsNew .selection {
    height: calc(100% - 165px) !important;
}
.keyNumbers .contentScrolling {
    bottom:0;
}
.whatsNew .contentScrolling {
    bottom:-10px;
}
.flexBlock .swiper-wrapper {
    align-items: flex-start; /* Aligner les slides en haut */
}
.flexBlock .swiper-slide.swiper-slide-blank {
    height: 0 !important;
    opacity: 0;
    margin-bottom: 0 !important;
}
.flexBlock .swiper-slide {
    height: fit-content;
    display: flex;
    align-items: center;
}
.swiper-button-prev, .swiper-button-next {
    position: absolute;
    bottom: 10px;
    z-index: 10;
}
.fadeBottomLayer {
    position: relative;
}
.fadeBottomLayer:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 15;
    height: 5%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
    pointer-events: none;
}

.eventWrapper .selection > .description {
    font-size: 1.875rem;
    letter-spacing: -0.05em;
    margin-top:50px;
}
.eventWrapper .selection .details {
    display: block;
    margin: 10px auto 0 auto;
    z-index: 20;
    width: fit-content;
}
.eventWrapper .selection .details a:hover {
    text-decoration: none;
}
.liveEvents .eventBlock + .eventBlock {
    margin-top:20px;
}
.eventBlocks .row {
    padding-right:10px;
}
.eventBlock .description p + p {
    margin-top:5px;
}
.liveEvents .eventSwiper {
    margin-top:15px;
    height: calc(100% - 210px);
    overflow-y: scroll;
    position: relative;
}
.liveEvents .eventSwiper::-webkit-scrollbar {
    width: 3px;
}

.liveEvents .eventSwiper::-webkit-scrollbar-track {
    background: #EEE;
}

.liveEvents .eventSwiper::-webkit-scrollbar-thumb {
    background: var(--dark);
    border-radius: 3px;
    position: relative;
}



.bestDeals .selection {
    margin-top:25px;
    height: calc(100% - 200px);
    overflow: hidden;
    position: relative;
}

.liveEvents .fadeBottomLayer:after, .bestDeals .fadeBottomLayer:after {
    background: linear-gradient(to bottom, rgba(215, 254, 102, 0), rgba(215, 254, 102, 1));
}
.eventSwiper iframe {
    width: 100%;
    height: auto;
}


.liveBar {
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    top:20px;
    left:0;
    display: flex;
    gap: 10px;
    width: 100%;
    user-select: none;
}
.liveBar span {
    position: relative;
    font-weight: normal;
    box-shadow: 0 0 0 var(--tagBorderWidth) var(--black) inset;
    border-radius: 24px;
    font-size: 1.0625rem;
    display: inline-block;
    padding: 4px 9px 3px 8px;
    letter-spacing: 0;
    animation: infiniteScroll 70s linear infinite;
}


/* AI News */
.AINewsBlock {
    margin-top:-6px;
}
.AINewsBlock > .title {
    font-size: 7.5rem;
    letter-spacing: -0.07em;
    line-height: 0.79;
    margin-left: -11px;
}
.AINewsBlock > .desc {
    margin-top:24px;
    font-size:	1.5rem;
    letter-spacing: -0.06em;
    margin-left:-2px;
}





/* tools */
/* margin */
.mTop150 {
    margin-top:150px;
}
.mTop100 {
    margin-top:100px;
}
/* padding */
.pTop150 {
    padding-top:150px;
}
.pTop90 {
    padding-top:90px;
}



/* Pour les appareils mobiles */
@media (max-width: 768px) {
    .videoContent-sticky {
        top: 0;
        bottom: auto;
        width: 100%;
        height: 30vh;
        margin:0;
    }
}

.collapse {
    transition: height 0.5s ease-out;
    height: auto;
    overflow: hidden;
}
.collapse.collapsed {
    height: 0;
}

/* Animations */

@keyframes wiggle {
    0%, 7% {
        transform: rotateZ(0);
    }
    15% {
        transform: rotateZ(-15deg);
    }
    20% {
        transform: rotateZ(10deg);
    }
    25% {
        transform: rotateZ(-10deg);
    }
    30% {
        transform: rotateZ(6deg);
    }
    35% {
        transform: rotateZ(-4deg);
    }
    40%, 100% {
        transform: rotateZ(0);
    }
}


@keyframes scrollInf {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-50%));
    }
}
@keyframes floatUp {
    0% {
        bottom: -100px;
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        bottom: 120%;
        opacity: 0;
    }
}

@keyframes sideWays {
    0%, 100% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(50px);
    }
}
@keyframes shake {

    50% {
        transform: translate3d(-4px, 0, 0) scale(1.65);
    }

}
@keyframes blinkLogin {
    0% {
        opacity: 1;
    }
    5% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes scintillement {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 1;
        transform: scale(1.10);
    }
    100% {
        opacity: 1;
    }
}
@keyframes blinkSponsor {
    0% {
        transform: scale3d(0, 0, 0);
        opacity: 1;
    }
    5% {
        transform: scale3d(0, 0, 0);
        opacity: 1;
    }
    50% {
        transform: scale3d(1, 1, 1);
    }
    99% {
        transform: scale3d(1, 1, 1);
    }
    100% {
        transform: scale3d(0, 0,0);
        opacity: 1;
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
@keyframes liveFade {
    0%, 28% {
        background-color: transparent;
        color: black;
    }
    14% {
        background-color: black;
        color: white;
    }
    28%, 100% {
        background-color: transparent;
        color: black;
    }
}
@keyframes fromDowntown {
    from {
        opacity: 1;
        transform: translateX(100vw) scale(14.5) rotate(90deg);
    }
    to {
        opacity: 1;
        transform: translateX(0) scale(1) rotate(0deg);
    }
}
@keyframes fadeIn {
    from {
        opacity: 0;
        visibility: visible;
    }
    to {
        opacity: 1;
    }
}
@keyframes fadeOut {
    to {
        opacity: 0;
        visibility: hidden;
    }
}

@keyframes pulsate {
    0% {
        opacity: 0.5;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0.5;
    }
}
@keyframes scaleEffect {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}
@keyframes infiniteScroll {
    0% { transform: translateX(0); }
    50% { transform: translateX(-633%); }
    100% { transform: translateX(0); }
}




.mobileHidden {

}
.mobileVisible {
 display: none;
}




@media only screen and (min-width: 1820px) {
    .primeArticles .largeColumn .article {
        top: 0;
    }
}

@media only screen and (min-width:2120px) {
    .primeArticles .largeColumn .article {
        top: 0;
    }
}

@media only screen and (max-width: 1520px) {
    :root {
        font-size: 14px;
    }
    .listingContainer {
        width: 95%;
    }
    .primeArticles .largeColumn {
        width: auto;
    }
    .feedNewsBlock .newsList .swiper-container {
        height: 100% !important;
    }

    .socialClubBlockInner {
        grid-template-columns: 340px minmax(0, 3fr);
    }
    .socialClubBlockInner .col.third {

    }


    .critiqueContainer .header, #home .adFullWidthFixed, .fluidContent, .hatchedLine svg, #critique .testContainerBlock, #critique .socialBlock, .cultureListingBlockInner, .primeArticles , .coreArticles, .mostReadBlock, .socialClubBlockInner, .articleContent, .articleContent .articleInnerContent, .statusBar {
        width: 95%;
        margin-left:auto;
        margin-right:auto;
    }
    .listingContainer .primeArticles, #testMateriel .articleContent  {
        width: 100%;
    }
    #testMateriel .articleContent .inner {
        padding:0 20px;
    }
    #testMateriel .articleContent .benchmarkBlock .inner {
        padding: 50px 20px 100px 20px;
    }
    .benchmarkBlock .inner {
        width: 95%;
    }
    .cultureBlockInner {
        width: 90%;
    }
    .reviewBlock .picker {
        top:55%;
    }
        .trailerBox {
        flex-direction: column-reverse;
        height: auto;
    }
    .trailerBox .trailerDesc {
        max-width: unset;
        width: 100%;
    }
    .socialClubBlockInner .col.second {
        width: 100%;
        left:0;
    }
    .reviewBlock .selection, .mustSeeBlock .selection  {
        width: 100%;
        margin:auto;
    }
    .cultureBlock .pickerContainer {
        width: 100%;
    }
    .mustSeeBlock .pickerContainer, .reviewBlock .pickerContainer, .releaseBlock .pickerContainer {
        height: auto;
    }
    .cultureBlock .picker .option {
        font-size: 1.55rem;
    }
    .cultureBlock .picker .selected {
        font-size:5rem;
    }
    .releaseBlock {
        grid-template-columns: 20% 75%;
    }
    .releaseBlock .selection {
        padding:0;
    }
    .articleInnerContentGrid .tableOfContents {
        left:10px;
    }
    .socialClubBlock, .feedNewsBlock .newsList .news {
        /*height: 75vh;*/
        /*max-height: 75vh;*/
    }
    .articleContent.headerVideo .middle h1.title {
        width: 75%;
        max-width: unset;
    }
    .articleContent.headerVideo .middle .details .tools {
        width: 12.5%;
    }
    .homeContent .headline .box .headlineLink {
        font-size:4rem;
        letter-spacing: -0.06em;
    }
    .benchmarkBlock .inner {
        /*width: 96%;*/
    }
    .articleContent .techSpecsBlock {
        width: 90%;
    }
    .techSpecsBlock .col .desc *, .competition .desc * {
        line-height: 1.4;
    }
    .releaseBlock .swiper-button-prev {
        left:-40px;
    }
}


@media only screen and (max-width: 1220px) {

    .articleContent .articleInnerContentGrid, .articleContent .articleLiveContent {
        grid-template-columns: [ full-width-start ] 1fr [ wide-start ] 5% [ content-start ] 85% [ content-end ] 5% [ wide-end ] 1fr [ full-width-end ];
    }
    .articleContent .articleInnerContentGrid div.wide {
        max-width: 100%;
    }
    .articleInnerContentGrid > *, .articleLiveContent > *, .statusBar {
        max-width: unset;
    }
    .flexBlock .eventWrapper .list > .title, .flexBlock > .title {
        font-size: 4.25rem;
        letter-spacing: -0.057em;
    }
    .scroller .scroller__inner {
        top:0;
    }
    .primeArticles .column .ad {
        width: 100%;
    }
    .primeArticles .column .ad iframe {
        overflow: hidden;
        /*width: 100%;*/
    }
    .cultureBlock .picker .selected {
        font-size: 3.85rem;
    }
    .mustSeeBlock .picker {
        top:40%;
    }
    .releaseBlock .picker {
        top:42%;
    }
    .cultureBlock .picker .option {
        line-height: 1.15;
    }
    .cultureBlock .picker .option.selected {
        font-size: 3.75rem;
    }
    .homeContent .headline .box .headlineLink {
        font-size: 3.875rem;
        letter-spacing: -3px;
    }
    .newsletterBlock .title, .newsletterBlock .subscribe {
        font-size:2.3vw;
    }
    .socialClubBlockInner {
        grid-template-columns: 30% 30% 30%;
    }
    .feedNewsBlock .columnA {
        display: none !important;
    }
    .promoBlockInner {
        grid-template-columns: 30% 30% 30%;
    }
    .promoBlock .col .ad {
        width:auto;
    }
    .promoBlock .col.outer {
        grid-area: 2 / span 3;
    }
}

@media only screen and (max-width: 1020px) {
    :root {
        --regularColumnGap : 20px;
        --blockGap: 4vh;
    }
    .socialClubBlockInner {
        display: flex;
        flex-direction: column;
    }
    .primeArticles .outerColumn {
        grid-area: 2 / 1 / 2 / 3;
    }
    .feedNewsBlock .newsList .swiper-wrapper {
        display: flex;
        flex-direction: column;
    }
    #testMateriel .articleContent .middle .details .tools {
        display: none;
    }
    .socialClubBlockInner .col > .follow {
        margin:var(--blockGap) 0 0 0;
    }
    .socialClubBlockInner .col.first {
        width: 100%;
    }
    .socialClubBlockInner .col.third {

    }
    .articleContent .header .tableOfContents {
        position: absolute;
        z-index: 5;
        left: 20px;
    }
    .tableOfContents .row a {
        color: #FFF;
        font-size: 1.5rem;
    }
    .columnA + .columnB, .feedNewsBlock .newsList .swiper-slide + .swiper-slide {
        margin-top:var(--blockGap);
    }
    .swiper-slide .contentEmbed {
        position: relative;
        width: 100%;
        padding-bottom: 56.25%;
        height: 0;
    }
    .swiper-slide .contentEmbed > iframe,  .swiper-slide .contentEmbed .twitter-tweet {
        position: absolute !important;
        top: 0 !important;
        left: 50% !important;
        transform: translateX(-50%);
        width: 100% !important;
        height: 100% !important;
    }
    .swiper-slide .contentEmbed div, .swiper-slide .contentEmbed iframe {
        margin: auto !important;
    }

    .adFullWidthFixed {
        display: none;
        margin: 12vh 0 0 0;
    }
    .articleContent {
        margin: 5vh auto 0 auto;
    }
    .articleContent .header .top {
        top:0;
    }
    .articleContent .header {
        display: grid;
        grid-template-rows: 1fr;
        position: relative;
    }
    .articleContent .descCol {
        z-index: 3;
        padding:5vw;
        height: 100%;
    }
    .coreArticles .articleContainer .selection {
        justify-content: center;
        flex-flow: row wrap;
    }
    .articleContent .articleInnerContentGrid, .articleContent .articleLiveContent {
        grid-template-columns: [ full-width-start ] 1fr [ wide-start ] 5% [ content-start ] 90% [ content-end ] 5% [ wide-end ] 1fr [ full-width-end ];
    }
    .sponsor {

    }
    .articleBox + .articleBox, .coreArticles .articleContainer .selection + .selection {
        margin-top:var(--blockGap);
    }
    .doubleSquare {
        margin: 5vh auto 10px auto;
        flex-direction: column;
        justify-content: center;
        gap:4vh;
    }
    .doubleSquare .ad {
        margin:auto;
    }
    .articleContent .header .column {
        margin:unset;
        display: block;
        width: 100%;
        grid-area: 1/1;
    }
    .articleContent .picture img, .articleContent .picture {
        height: 100%;
    } 
    .articleContent .header:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.55);
        z-index: 2;
    }
    .primeArticles.largeMid {
        gap:0;
        margin-top:40px;
    }

    .articleContent .header .middle {
        padding:3vh 0;
        color:var(--white);
    }
    .articleContent .header .middle .details {
        row-gap:4vh;
    }
    .articleContent .middle .details .desc, .articleContent .middle .details .desc p {
        width: 100%;
        line-height: 1.4;
        padding-left:0;
        font-weight: normal;
    }
    .articleContent .header .publisher {
        color: var(--white);
    }
    .header .sponsor.grey, .header .rounded, .header .theme30.black {
        box-shadow: 0 0 0 var(--tagBorderWidth) var(--white) inset;
        color: var(--white);
    }
    .articleContent .header .publisher {
        bottom:20px;
        top:unset;
    }
    .articleContent .header .top {
        position: relative;
        left:0;

    }
    .articleInnerContentGrid .tableOfContents {
        display: none;
    }
    .articleContent .middle .details {
        flex-direction: column-reverse;
    }
    .articleContent .middle .details .tools {
        /*flex-direction: row;*/
        max-width: unset;
        grid-row: 3 / 3;
        position: absolute;
        top: 10px;
    }
    #info .articleContent .middle .details .tools {
        bottom:0; top:unset;
    }
    .benchmarkBlock .details .metric {
        top:32px;
    }
    .techSpecsBlock .col > .title, .competitionSpecs > .title {
        font-size:3.5rem;
    }
    .techSpecsBlock .techSpecs .metric {
        top:46px;
    }
        .articleContent .articleInnerContent div.wide {
        width: 100vw;
    }
    .articleContent .articleInnerContent div.wide .caption {
        text-align: center;
    }
    .feedNewsBlock .newsList {
        flex-direction: column;
    }
    .feedNewsBlock .columnB {
        display: none;
    }

    .socialClubBlock, .feedNewsBlock .newsList .news {
        height: unset;
        max-height: unset;
    }
    .articleContent .header .showMore {
        display: none;
    }

    .primeArticles {
        gap: var(--regularColumnGap);
        row-gap: var(--regularColumnGap);
    }
    .primeArticles.largeLeft {
        grid-template-columns: calc(50% - (var(--regularColumnGap) / 2)) calc(50% - (var(--regularColumnGap) / 2));
    }

    .articleBox {
        max-width: 100%;
    }
    .primeArticles .column .articleBox + .articleBox, .primeArticles .column .articleBox + .ad, .primeArticles .column .ad + .articleBox {
        margin-top: var(--regularColumnGap);
    }
    .primeArticles .largeColumn .article {
        position: relative;
        top: 0;
    }
    .primeArticles .largeColumn {
        grid-column: 1 / -1;
    }
    .skinLeft, .skinRight {
        display: none;
    }
    .primeArticles.largeMid {
        grid-template-columns: [full-width-start column-1-start] 1fr [column-1-end content-start] 100% [content-end column-2-start] 1fr [column-2-end full-width-end];
    }
    .primeArticles .column + .column {
    }
    .releaseBlock .selection {
        z-index: 2;
    }
}

@media only screen and (max-width: 820px) {
    .mostReadBlock .grid {
        grid-template-columns: 1fr 1fr;
    }
    .promoBlockInner {
        grid-template-columns: 1fr;
        max-width: 90%;
    }
    .genericContainer {
        width: 90%;
    }

}

@media only screen and (max-width: 900px) {
    :root {
        font-size: 12px;
    }
    .releaseBlock .swiper-button-prev {
        left:-10px;
    }
    #coupsdecoeur .selection {
        display: flex;
        flex-direction: column;
    }
    #coupsdecoeur .coverBox .details {
        opacity: 1;
        transform: translateY(0);
    }
    .primeArticles .outerColumn {
        flex-direction: column;
    }
    .primeArticles .column, .coreArticles, .mostReadBlock, .socialClubBlockInner, .articleContent, .articleContent .articleInnerContent, .articleSource {
        width: 90%;
    }
    .primeArticles .columnRight {

    }
    .primeArticles .columnRight .ad, .primeArticles .columnRight .articleBox {

    }
    .headerFull.green {
        background: var(--green);
        height: auto;
        padding: 100px 0 20px 0;
    }
    .tPub_cart {
        position: sticky;
        top:100px;
        width: 100%;
    }
    .pTop90 {
        padding-top:0;
    }
    .headerLogo {
        left: calc(50% + 6vw);
        transform: translateX(-50%);
    }
    #template_publicite .headerFull {
        margin-bottom:0;
    }
    #home .headerLogo {
        width: 55vw;
    }
    .sponsoredArticle {
        width: 100%;
        top: 8vh;
        left: 0;
        height: 92%;
    }
    .headerLogo img {
        width: 100%;
    }
    .listingContainer > .title {
        margin-top:40px;
    }
    .topMenu.visible {
        position: relative;
    }
    .topMenu, .topMenu ul, .topMenu.visible ul, .headerSearch {
        display: none;
    }
    .planningFilters {
        flex-flow: row wrap;
    }
    .planningFilters div:nth-child(5) {
        margin-right:50px;
    }
    .planningFiltersContainer {
        padding-top:120px;
    }
    .homeContent .headline .box {
        width: 85%;
        margin: auto auto 8.5vh auto;
    }
    .techFilters .filter .subfilters, .cultureFilters .filter .subfilters {
        width: auto;
    }
    .techFilters .title span {
        display: none;
    }
    .coreArticles {
        margin-top:40px;
    }
    .mostReadBlock .grid {
        grid-template-columns: 1fr;
    }
    .trailerBlock {
        grid-template-columns: 1fr;
        padding-bottom:50px;
        overflow: hidden;
    }
    .scroller .scroller__inner {
        top:0;
    }
    .primeArticles, .primeArticles.largeLeft, .primeArticles.largeRight  {
        grid-template-columns: 1fr;
        column-gap: 0;
    }
    .primeArticles.largeRight > :nth-child(1) {
        grid-area: 1 / 1;
    }
    .primeArticles.largeRight > :nth-child(2) {
        grid-area: 2 / 1;
    }
    .primeArticles.largeRight > :nth-child(3) {
        grid-area: 3 / 1;
    }
    .articleContent .bottomPicture {
        display: none;
    }
    .socialClubBlockInner .col.third {
        width: 100%;
    }
    .cultureListingBlockInner .listingLoadBlock .moreListing, .flexArticles + .moreListing, .coreArticles + .moreListing, .coreArticles + .promoBlock, .primeArticles + .promoBlock {
        margin:40px auto;
    }
    .cultureListingBlockInner .selection .row, .cultureListingBlockInner .selection .row.reverse {
        display: flex;
        flex-direction: column;
        aspect-ratio: auto;
    }
    .cultureListingBlockInner .cultureFilters {
        display: flex;
        flex-flow: wrap;
        gap: 12px;
        margin: 40px auto;
        width: 90%;
        align-items: center;
        justify-content: start;
    }
    .primeArticles .largeColumn .article .title {
        padding-right:0;
    }
    .AINewsBlock {
        margin-bottom:30px;
    }
    .donationPopup .stdButton {
        font-size:2rem;
    }
    .flexBlock.whatsNew {
        margin-top:30px;
    }
    .featureBlock + .techTestsBlock {
        margin-top:40px;
    }
    .wide.full {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .wide.full .splitImage, .articleContent .articleInnerContentGrid div.wide.full .splitImage {
        width: 100%;
        position: relative;
        min-height: 250px;
    }
    #testMateriel .articleContent .header .middle .details {
        position: relative;
        top:-30px;
    }
    .techTestsBlock {
        display: flex;
        flex-direction: column;
        row-gap:10px;
    }
    .hotBuzzBlock .row .votes {
        display: none;
    }
    .techFilters .search input, .cultureFilters .search input {
        height: 16px;
    }
    .techFilters {
        flex-flow: row wrap;
        justify-content: space-between;
        gap: 8px;
    }
    .featureBlock {
        grid-template-columns: 1fr;
    }
    .reviewBlock .selection, .mustSeeBlock .selection {
        grid-template-columns: 1fr 1fr;
    }
    .articleContent {
        padding-top:80px;
    }
    .mobileHidden {
        display: none !important;
    }
    .mobileVisible {
        display: block;
    }
    .articleContent .header .themes {
        /*height: 32px;*/
        /*overflow: hidden;*/
        gap: 8px;
        flex-flow: column;
    }
    .header .sponsor.grey, .header .rounded, .header .theme30.black {
        width: fit-content;
    }
    .articleContent.wideImage .header .middle .details, .articleContent.headerVideo .header .middle .details {
        display: flex;
        flex-direction: column;
        margin:0;
    }
    .articleContent .articleInnerContentGrid, .articleContent .articleLiveContent {
        margin-top:40px;
    }
    .articleContent.headerVideo .header .middle, .articleContent.wideImage .header .middle {
        margin: 40px 0;
        width: 90%;
    }
    .articleContent .descCol {
        padding:15px;
    }
    .articleContent .header .middle .details > .title {
        grid-column: full-width;
        font-weight: normal;
        font-size: 2.8rem;
        letter-spacing: -0.07em;
        margin-left: -3px;
    }
    .articleContent .middle .details .tools {
        flex-direction: row;
    }
    .reviewBlock, .releaseBlock {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 30px;
        align-items: center;
    }
    .mustSeeBlock {
        display: flex;
        flex-direction: column-reverse;
        justify-content: center;
        gap: 30px;
        align-items: center;
    }
    footer {
        margin-top: 50px;
        padding: 50px 0 25px 0;
    }
    footer .inner {
        grid-template-columns: 1fr;
        row-gap: 40px;
    }
    footer .col.infos {
        display: flex;
        gap:10px;
        flex-direction: column;
        text-align: center;
        font-size: 2.25rem;
        letter-spacing: -0.05em;
        margin: auto auto 0 auto;
    }
    footer .info {
        margin: auto 0 0 0;
    }
    footer .col.credits {
        margin: auto 0 0 0;
        align-items: center;
        flex-direction: column-reverse;
        gap:25px;
    }
    footer .info {
        font-size: 1.25rem;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        gap:15px;
    }
    .featureBlock .description {
        display: flex;
        flex-direction: column;
        padding: 40px 0;
    }
    .featureBlock .col .title {
        line-height: 1.4;
    }
    .featureBlock .title a {
        width: fit-content;
        margin:auto;
    }
    .articleContent.headerVideo .pictureCol {
        display: block;
    }
    .featureBlock .title a + a {
        margin-top:15px;
    }
    .featureBlock .col .metric {
        position: relative;
        bottom:unset;
        left: unset;
        transform: unset;
        margin:30px auto 0 auto;
    }
    .featureBlock.right .picture {
        grid-area: 1;
    }
    .featureBlock.right .col {
        grid-area: 2;
    }
    .cultureBlock .pickerContainer .title {
        font-size:3rem;
    }
    .cultureBlock .pickerContainer .more {
        margin-top:30px;
    }
    .theme30, .theme32, .theme36, .buy, .buttonMore, .position, .sponsor, .rounded, .stdButton {
        padding: 4px 9px 4px 8px;
        height: fit-content;
    }
    .flexBlock {
        overflow: hidden;
    }
    .contentScrolling {
        display: none;
    }
    .flexArticles {
        display: flex;
        flex-direction: column-reverse;
        row-gap: 10px;
    }
    .popupNL {
        min-height: unset;    padding-bottom: 50px;
    }
    .newsletterPromo {
        padding: 12px;
    }
    .newsletterPromoDescLower {
        font-size:1.75rem;
    }
    #deals .flexArticles, .bestDeals .header {
        flex-direction: column;
    }
    .flexBlock.bestDeals {
        margin-bottom:30px;
    }
    .moreDeals {
        display: none;
    }
    .bestDeals .header .submitNewDeal {
        margin: 10px auto 0 auto;
        color: var(--black);
    }
    .primeArticles .column {
        margin: auto;
    }
    #critique .testBlock {
        display: flex;
        flex-direction: column;
        padding: 0 20px;
        margin-top:40px;
    }
    #critique .socialBlock {
        display: flex;
        flex-direction: column;
        width: 90%;
        margin: auto;
    }
    #critique .testContainerBlock .filters {
        flex-direction: column;
        gap: 15px;
        font-size: 0.9375rem;
        justify-content: center;
        align-items: center;
    }
    #critique .testContainerBlock .filters .title + .filter {
        margin-left:0;
    }
    .hotBuzzBlockInner > .title, .coreArticles > .title, .cultureAdditional > .title, #critique .socialBlock .title, .moreBlock > .title, .flexBlock > .title {
        font-size: 4.4rem;
        text-align: center;
    }
    .flexBlock .swiper-wrapper {
        flex-direction: column;
    }
    .flexBlock.bestDeals .row .details .total {
        display: none;
    }
    .flexBlock.bestDeals .details .info {
        width: auto;
    }
    .mostReadBlock {
        padding:40px 0;
    }
    article .triptyque {
        height: auto;
        min-height: 300px;
        aspect-ratio: 4 / 3;
    }
    .moreBlock {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding:40px 20px 0 20px;
    }
    .moreBlock .articleBox + .articleBox {
        margin-top:0;
    }
    .fluidContent {
        min-height: 50px;
    }
    .mustSeeMonths, .releaseMonths {
        gap:25px;
    }
    .cultureBlockInner .month {
        font-size:1.5rem;
    }
    .cultureBlock {
        padding-top:50px;
        margin-top:50px;
    }
    .pickerContainer {
        transform:unset !important;
    }
    .mustSeeBlock .picker, .pickerContainer .picker { display:none; }

    .promoBlockInner {
        gap:0;
        display: flex;
        flex-direction: column;
    }
    .promoBlockInner .col:nth-child(1) {
        gap: 4px;
        padding: 0;
    }
    .promoBlock .swiper-wrapper {
        flex-direction: row;
    }
    .swiper-container.promo-swiper {
        margin-top:40px;
    }
    .promoBlock .swiper-slide .col + .col {
        display: none;
    }
    .promoBlock .col.outer {
        width: 100%;
    }
    .promoBlock .submitNewDeal {
        margin: 15px auto 0 0;
    }
    .promoBlockInner .col:nth-child(3) {
        padding-top:40px;
    }
    .promoBlockInner .col:nth-child(3) {
        margin-bottom:40px;
    }
    .promoBlockInner .col:nth-child(3) div:first-child {
        border-top:unset;
    }
    .socialBlock .submitNewSocial, .socialBlock .more {
        margin:0 auto;
    }
    .coverBox .details .title {
        font-size:1.2rem;
    }
    .critiqueContainer .plyr--video {
        margin:50px 0;
        max-width: 100%;
    }
    .socialBlock .newContent {
        width: 100%;
        margin-bottom:10px;
    }
    #critique .metric .title {
        width: 50px;
        text-align: left;
    }
    .coverBox .details {
        padding:12px;
    }
    .coverBox .details .desc {
        margin-top:8px;
    }
    .coverBox .test {
        margin-top:8px;
    }
    .coverBox .details .support {
        margin-top:8px;
    }
    #testMateriel .articleContent .inner {
        padding: 0;
    }
    .proscons .col .desc {
        padding:0 5px;
    }
    .proscons .col > .title {
        text-align: center;
    }
    .userPopup {
        padding: 20px 10px 20px 10px;
        max-width: 85%;
        width: 85%;
        top: 10%;
        left: 50%;
        z-index: 100;
        transform: translate(-50%, 0);
    }

    .userPopupTitle {
        font-size: 1.65rem;
        letter-spacing: -0.05em;
        text-align: center;
    }
    .userPopupSubTitle, .userPopupSubTitleAlt {
        font-size: 1.50rem;
        line-height: 2rem;
        text-align: center;
    }

    .userPopup-close {
        top: 0;
        right: 0;
    }
    .userPopupSubTitle span, .userPopupTitle span, .userPopupSubTitleAlt span {
        padding: 5px 9px 5px 9px;
        font-size: 1.50rem;
    }
    .sponsorColorSelection .value, .sponsorDurationSelection .value, .sponsorDonationAmount .value, .userPopupDetails .value {
        flex-flow: wrap;
    }
    .homeContent .headline .box .headlineLink {
        font-size: 2.3rem;
        line-height: 1.3;
        letter-spacing: -1px;
    }
    .homeContent .headline a:hover, .tdu10:hover {
        text-underline-offset: 3px;
    }
    #testMateriel .articleContent .header .middle .details > .title {
        font-size: 3.6rem;
    }
    .critiqueContainer .header .middle .details, .articleContent .techSpecsBlock {
        display: flex;
        flex-direction: column;
    }
    #testMateriel .articleContent .header .column.flex {
        min-height: 55vh;
    }
    .benchmarkBlock .inner {
        display: flex;
        flex-direction: column;
        padding: 40px 20px;
    }
    .tableOfContents .row + .row {
        margin-top:9px;
    }
    .benchMenu {
        flex-flow: row wrap;
    }
    .techSpecsBlock ul li span:first-child {
        width: 27%;
    }
    .techSpecsBlock .col {
        min-height: unset;
    }
    .techSpecsBlock .col {
        padding-top:40px;
        padding-bottom:40px;
    }
    .critiqueContainer .header .middle .details .specs {
        margin: auto;
    }
    .pictureContainer .thumbnails {
    }
    .critiqueContainer .text {
        grid-template-columns: 1fr;
        width: 90%;
    }
    .critiqueContainer .header {
        padding:20px 20px;
    }
    .critiqueContainer .header .top {
        width: 60%;
    }
    .critiqueContainer .middle {
        margin-top:40px;
    }
    .critiqueContainer .text {
        margin-top:40px;
    }
    .critiqueContainer .header .top {
        top:0;
        position: relative;
        margin-top:0;
    }
    .critiqueContainer .sponsor {
        top:0;
        position: relative;
        left:0;
    }
    .critiqueContainer .middle .details .specs .title.centered {
        /*margin: auto 0 auto 0;*/
        height: 40px;
        line-height: 40px;
        margin-top: 0;
    }
    #home .adFullWidthFixed {
        width: 100%;
    }
    .primeArticles .outerColumn {
        gap:40px;
    }
    .primeArticles.largeMid .outerColumn {
    width: 90%;
    margin: 0 auto;
    }
    .articleContent .articleInnerContentGrid div.wide .caption {
        width: 90%;
        margin: auto;
        text-align: left;
    }
    .primeArticles .column .articleBox + .articleBox, .primeArticles .column .articleBox + .ad, .primeArticles .column .ad + .articleBox {
        margin-top:40px;
    }
    .critiqueContainer .header .middle .title {
        font-size:3.5rem;
    }
    .critiqueContainer .middle .details .specs .ratings {
        flex-flow: row wrap;
        justify-content: space-between;
    }
    .metric .rating {
        width: 40px;
        height: 40px;
        gap: 2px;
        font-size: 1.075rem;
    }
    .metric:not(.aw) .rating {
        padding-top:3px;
    }
    .articleContent .header .middle {
        margin: 5vh auto auto auto;
        padding: 3vh 0;
    }
    #listingTech .testBlock .metric .rating {
        width: 60px;
        height: 60px;
        gap: 3px;
        font-size: 1.375rem;
    }
    .critiqueContainer .middle .details .tools {
        flex-direction: row;
        /*width: 90%;*/
        margin: auto auto auto 0;
    }
    .metric .rating .award .logo {
        width: 20px;
        height: 12px;
    }
    .metric .rating .award .level {
        width: 15px;
        height: 15px;
    }

    .featureBlock .col {
        font-size:2.5rem;
    }
    .critiqueContainer .header, .cultureListingBlockInner, .primeArticles, #critique .socialBlock, #critique .testContainerBlock {
        width: 100%;
    }
    .theme38 + a {
        margin-left: 0;
    }
    .tPubInnerContainer, .promoBlock {
        padding:40px 0;
    }
    .tPub_adFormat, .tPubInnerContainer:nth-child(odd) .tPub_adFormat {
        flex-direction: column;
        width: 90%;
        margin:auto;
    }
    .tPub_details, .tPub_example {
        width: 100%;
    }
    .coreArticles .articleContainer .selection {
        flex-direction: column;
        justify-content: center;
    }
    .articleBox + .articleBox, .coreArticles .articleContainer .selection + .selection {
        margin-top:var(--blockGap);
    }
    .featureBlock {
        margin: var(--blockGap) auto 0 auto;
    }
    .articleBox {
        max-width: 100%;
    }
    .featureBlock .col .title {
        width: 80%;
    }
    .mobileLogo {
        background:url('../gfx/logo24/logoRawNLBlack.svg') no-repeat;
        width: 90px;
        height: 50px;
        margin:auto;
        background-size: contain;
    }
    .visible .topMenuButton .mobileLogo {
        display: block;
    }
    .visible .topMenuButton.scroll {
       padding-top:30px;
       border-bottom: 1px solid var(--black);
    }
    .visible.black .topMenuButton {
        filter: invert(1);
    }
    .visible.black .topMenuButton.scroll {
        filter: unset;
    }
    .visible .topMenuButton span {
        color:var(--black);
    }
    .visible .alertBanner {
        top:85px;
        position: relative;
    }
    .definitionPopup {
        max-width: 80%;
        left: 0 !important;
        font-size: 1.1rem;
        padding: 1rem;
    }
    .topMenuButton:hover {
        filter: unset;
    }
    #critique .specs .block > .buy {
        height: fit-content;
    }
    #critique .specTestBlock .metric {
        top:-10px;
    }
    .topMenu.visible {
        position: fixed;
    }
    #critique .testBlock .column {
        margin-top:40px;
    }
    .genericContainer .scEmbed.youtube {
        padding-top: 56.25%;
        width: 100%;
        position: relative;
    }
    .genericContainer .scEmbed.youtube iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .infoChrono {
        display: none;
    }
    .topMenuButton {
        font-size: 4rem;
        color: var(--white);
        background: transparent;
        width: 100%;
        display: flex;
        justify-content: end;
        text-align: right;
        right: 0;
        top: 0;
        padding: 20px 0 20px 0;
        transition: all ease-in-out 150ms;
    }
    .articleContent .header .top {
        width: 100%;
    }
    #testMateriel .articleContent .picture {
        aspect-ratio: unset;
    }
    .articleContent .header .tableOfContents {
        position: absolute;
        z-index: 5;
        left: 20px;
    }
    article .sfrBrd.black, article .sfrBrd.special {
        border: 1px solid #000;
    }

    .sfrBrd.grey, .cultureBlockInner .sfrBrd, .largeColumn .sfrBrd, .featureBlock.dark .sfrBrd {
        border: 1px solid var(--white);
    }
    .socialClubBlockInner .sfrBrd {
        border: 1px solid var(--green);
    }
    .hotBuzzBlockInner {
        width: 90%;
    }
    .newsletterBlock {
        margin:40px auto;
    }
    .newsletterBlock svg, .newsletterBlock > .subscribe, .newsletterBlock .title {
        display: none;
    }
    .newsletterBlock .subscribe {
        position: relative;
        top: 0;
        right:0;
        transform: unset;
    }
    .newsletterBlock .mobileNL {
        margin:auto;
        display: block;
    }
    .newsletterBlock .mobileNL img {
        width: 100%;
        height:auto;
    }
    .testBlock .text {
        position: unset;
    }
    #listingTech .testBlock .text .metric, .testBlock .previewContainer .metric {
        top:20px;
        right:20px;
    }
    .tableOfContents .row a {
        color:#FFF;
    }
    .inner.flex {
        flex-direction: column;
        padding: 0 20px;
    }
    .proscons {
        margin-top:40px;
        padding-bottom:40px;
    }
    .trailerBox .trailerDesc .desc {
        margin-top:10px;
    }
    #testMateriel .articleContent .middle .details .desc .ratings {
        flex-flow:row wrap;
    }
    .articleContent .metric.aw + .metric {
        margin-left:0;
    }
    .sponsor {
    }
    .topMenuButton span {
        position: absolute;
        right: 20px;
        top: 16px;
        font-size: 2.5rem;
    }
    .headerLogo {
        top: 12px;
    }
    .visible .topMenuButton span {
        top: 16px;
    }
    .topMenuButton.scroll {
        display: flex;
        background: var(--white);
        color: var(--black);
    }
    .topMenuButton.scroll .mobileLogo {
        display: block;
        opacity: 1;
    }
    .primeArticles .column .ad {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .articleContent {
        width: 100%;
    }
    .articleBox {
        display: flex;
        flex-direction: column;
    }
    .cultureBlockInner {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .articleContent .articleInnerContent {
        margin: 5vh auto 0 auto;
    }
    .articleContent .header {
        overflow: hidden;
    }
    .articleContent .header .middle {
        padding:7vh 0;
    }
    .articleContent .picture .caption {
        left:20px;
    }
    .reviewBlock .selection, .mustSeeBlock .selection {
        height: unset;
    }
    .scroller .scroller__inner {
        animation: scrollInf 50s linear infinite;
    }
    .swiper-backface-hidden .swiper-slide {
        width: 100% !important;
    }
    .releaseBlock .swiper-slide, .releaseBox {
        text-align: center;
    }
    .theme30.mobileVisible {
        position: relative;
        left:2px;
    }
    .testBlock .previewButton {
        pointer-events: none;
        display: none !important;
    }
    .testBlock:hover .previewButton, .testBlock:hover .picture::after {
        pointer-events: none;
        opacity: 0;
        display: none !important;
    }
    .cultureListingBlockInner .selection .largeBlock .title, .cultureListingBlockInner .selection .block .title {
        font-size: 2.2rem;
        letter-spacing: -0.04em;
        bottom: 20px;
        left: 20px;
        text-align: left;
    }
    .flexBlock.whatsNew, .flexBlock.keyNumbers, .whatsNew .selection, .keyNumbers .selection {
        height:auto !important;
    }
    .cultureAdditionalBlock .selection .block {
        max-width:100%;
        width:100%;
    }
    article .articleInnerContentGrid{
        /*word-break: break-all;*/
    }
    .thumbnailSwiper, .sponsorBlock {
        display: none;
    }
    #critique .swiper-button-prev, #critique .swiper-button-next {
        display: block;
    }
    .articleContent .middle .details .tools {
        gap:20px;
    }
    .doubleSquare .ad.column {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .doubleSquare .ad iframe {
        margin: auto;
        width: fit-content;
    }
    .articleContent .themes a:nth-child(n+3) {
        display: none;
    }
    .articleBox .text, .theme30 {
        /*font-size: 1.3rem;*/
    }
    .articleBox .text a:not(.theme30) {
        line-height: 1.2;
    }
}

@media only screen and (max-width: 600px) {
    .articleContent .picture picture {
        height: 100%;
    }
}