html,
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

* {
	box-sizing: inherit;
}

html {
	scroll-behavior: smooth;
	font-family: var(--font-base);
}

[class^='ratio-'],
[class*=' ratio-'] {
	display: block;
	position: relative;
	background-image: url('/slideshow/images/pm.svg');
	background-size: 80px;
	background-position: 50%;
	background-repeat: no-repeat;
}

.ratio-16-8 {
	aspect-ratio: 16 / 8;
}

.onlyDesktop {
	display: none;
}

.onlyMobile {
	display: block;
}

.placeholder {
	position: absolute;
	inset: 0;
	margin: 0 auto;
	width: 80px;
	height: 100%;
}

@media (min-width: 768px) {
	.onlyDesktop {
		display: block;
	}

	.onlyMobile {
		display: none;
	}
}

body {
	padding: 0 var(--space-xsm);
}

footer {
	margin: var(--space-xlg) 0;
}

.ad-placeholder.isMobile {
	min-height: 250px;
	margin-bottom: 15px;
}

.ad-placeholder {
	position: relative;
	background-color: var(--color-lightest);
	text-align: center;
}

.ad-placeholder > svg {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
	}

.ad-placeholder.isMobile > svg + div {
		position: relative;
	}

.ad-placeholder:not(.ad-placeholder.isMobile) > svg {
		display: none;
	}

.site_content .container {
	background-color: #fff;
}

.aside {
	display: flex;
	justify-content: center;
	margin-bottom: var(--space-md);
}

.aside .ad-placeholder {
		min-height: 300px;
	}

.aside > .title {
	margin-bottom: var(--space-md);
}

@media screen and (min-width: 540px) {
		.ad-placeholder.isMobile {
			display: none;
		}

		.ad-placeholder:not(.ad-placeholder.isMobile) > svg {
			display: block;
		}

	.site_content {
		max-width: var(--site-max-width);
		margin: 0 auto;
	}

	main > section {
		/* max-width: 730px; */
	}
}

@media screen and (min-width: 769px) {
	[data-ads-core*='Banniere-Haute'] {
		padding-top: 30px;
	}

	.site_skinrtb,
	.site_skindirect {
		max-width: var(--site-habillage-size);
	}

		.site_skinrtb .coreads_banniere-haute, .site_skindirect .coreads_banniere-haute {
			display: none;
		}

	.site_skinvideo {
		max-width: var(--site-habillage-size);
	}

		.site_skinvideo .coreads_banniere-haute.ad-placeholder {
			margin-top: 0;
		}

	.aside {
		display: block;
	}
		.aside .ad-placeholder.isLoaded,
		.ad-placeholder.isLoaded {
			background: none;
			min-height: 0;
		}

		.ad-placeholder:not(.isMobile).isLoaded > svg {
			display: none;
		}

	.coreads_banniere-haute.ad-placeholder {
		margin-top: var(--space-lg);
		min-height: 200px;
	}

	.ad-placeholder.pave-haut2-desktop {
		display: flex;
		min-height: 375px;
		margin-bottom: var(--space-xlg);
	}

		.ad-placeholder.pave-haut2-desktop > div {
			margin: auto;
			z-index: 1;
		}

		.ad-placeholder.pave-haut2-desktop.isLoaded svg {
			display: flex;
		}

		.ad-placeholder.pave-haut2-desktop.isLoaded {
			background: var(--color-lightest);
			min-height: 375px;
		}

	.aside .ad-placeholder {
		position: sticky;
		top: var(--space-xlg);
		min-height: 500px;
	}

	.container {
		display: grid;
		grid-template-columns: 1fr 300px;
		grid-gap: var(--space-xlg);
	}

	.header {
		grid-column: 1 / 3;
	}

	.aside > h2 {
		display: none;
	}

	.sponsored-title {
		margin-top: var(--space-xlg);
	}
}

:root {
  /* globals */
  --site-max-width: 1140px;
  --site-habillage-size: 1000px;

  /* logo size */
  --logo-size-sticky: 40px;
  --logo-size-mobile: 15px;
  --logo-size-sticky-mobile: 15px;
  --logo-size-desktop: 40px;

  /* fonts */
  --font-base: 'Montserrat', Arial, sans-serif;
  --font-heading: inherit;
  --font-heading-weight: bold;

  /* colors */
  --color-primary: #ff004b;
  --color-black: #000;
  --color-light: #999;
  --color-lightest: #eee;

  --color-text-darkest: var(--color-black);
  --color-text-lightest: var(--color-light);

  /* radius */
  --radius: 0;

  /* spaces */
  --neg-space-xsm: -0.3125rem;
  --space-xsm: 0.3125rem;
  --space-sm: 0.625rem;
  --space-md: 0.9375rem;
  --space-lg: 1.25rem;
  --space-xlg: 1.875rem;

  /* font size */
  --text-sm: 0.875rem;
  --text-md: 0.9375rem;
  --text-lg: 1.125rem;
  --text-xlg: 1.5rem;
  --text-xxlg: 2.1875rem;

  /* button design tokens */
  --button-border: inherit;
  --button-border-radius: 20px;
  --button-padding: 0 var(--space-md);
  --button-width: auto;
  --button-height: 52px;
  --button-background: linear-gradient(135deg, #ff0053 0%, #ee5b35 100%);
  --button-font-family: inherit;
  --button-font-size: var(--text-md);
  --button-font-weight: bold;
  --button-color: #fff;
  --button-text-transform: inherit;

  --button-desktop-border-radius: 25px;
}

@font-face {
      font-family: 'Montserrat';
      src: url('/slideshow/fonts/Montserrat-Regular.eot?1749027702091');
      src:
        url('/slideshow/fonts/Montserrat-Regular.woff2?1749027702091') format('woff2'),
        url('/slideshow/fonts/Montserrat-Regular.woff?1749027702091') format('woff'),
        url('/slideshow/fonts/Montserrat-Regular.eot#iefix') format('embedded-opentype'),
        url('/slideshow/fonts/Montserrat-Regular.svg#Montserrat-Regular') format('svg');
      font-weight: normal;
      font-style: normal;
      font-display: swap;
    }

@font-face {
      font-family: 'Montserrat';
      src: url('/slideshow/fonts/Montserrat-SemiBold.eot?1749027702091');
      src:
        url('/slideshow/fonts/Montserrat-SemiBold.woff2?1749027702091') format('woff2'),
        url('/slideshow/fonts/Montserrat-SemiBold.woff?1749027702091') format('woff'),
        url('/slideshow/fonts/Montserrat-SemiBold.eot#iefix') format('embedded-opentype'),
        url('/slideshow/fonts/Montserrat-SemiBold.svg#Montserrat-SemiBold') format('svg');
      font-weight: 600;
      font-style: normal;
      font-display: swap;
    }

@font-face {
      font-family: 'Montserrat';
      src: url('/slideshow/fonts/Montserrat-Light.eot?1749027702091');
      src:
        url('/slideshow/fonts/Montserrat-Light.woff2?1749027702091') format('woff2'),
        url('/slideshow/fonts/Montserrat-Light.woff?1749027702091') format('woff'),
        url('/slideshow/fonts/Montserrat-Light.eot#iefix') format('embedded-opentype'),
        url('/slideshow/fonts/Montserrat-Light.svg#Montserrat-Light') format('svg');
      font-weight: 300;
      font-style: normal;
      font-display: swap;
    }

.header-logoWrapper {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: var(--space-lg) 0;
		border-bottom: 1px solid var(--color-lightest);
	}

.header-logo {
		display: block;
		width: auto;
		height: var(--logo-size-mobile);
		margin-right: 15px;
	}

.header-title {
		margin: var(--space-md) 0;
		font-family: var(--font-heading);
		font-weight: var(--font-heading-weight);
		font-size: var(--text-xlg);
		color: var(--color-text-darkest);
	}

.header.tls .header-logoWrapper {
			padding-top: 0;
			padding-bottom: 0;
		}

.header.tls .header-logo {
			height: 100px;
		}

.header.tel .header-logo {
			height: 30px;
		}

@media screen and (min-width: 769px) {
	.header {
		padding: 0 0 0 var(--space-md);
	}

		.header-logo {
			height: var(--logo-size-desktop);
		}

		.header-logoWrapper {
			padding: var(--space-xlg) 0;
		}

		.header-title {
			grid-column: 1 / 2;
			font-size: var(--text-xxlg);
		}
}

.footer ul {
		list-style: none;
		padding: 0;
	}

.footer li,
	.footer ul + div {
		margin-top: var(--space-md);
	}

.footer a {
		text-decoration: none;
		color: var(--color-darkest, var(--color-black));
	}

.footer a:hover,
		.footer a:focus-visible {
			text-decoration: underline;
		}

.footer ul + div {
		color: var(--color-text-lightest);
	}

@media screen and (min-width: 769px) {
		.footer ul {
			display: flex;
			margin: var(--space-xlg) auto var(--space-xlg) auto;
			justify-content: center;
		}

		.footer li {
			display: block;
		}

		.footer li,
		.footer ul + div {
			margin: 0;
		}

		.footer li + li {
			margin-left: var(--space-md);
		}

		.footer ul + div {
			text-align: center;
		}
}

.card {
	position: relative;
	border: 1px solid var(--color-lightest);
	border-radius: var(--radius);
}

.card,
	.card header {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

.card picture {
		position: relative;
		background-color: var(--color-black);
		text-align: center;
		border-radius: var(--radius);
	}

.card-shareOverlay {
		opacity: 0;
		transition: opacity 0.3s ease-in-out;
		position: absolute;
		inset: 0;
		background-color: rgb(0 0 0 / 60%);
		display: flex;
	}

.card-shareOverlay > * {
			margin: auto;
		}

.card:hover .card-shareOverlay {
		opacity: 0;
	}

.card img {
		display: block;
		margin: auto;
		max-width: 100%;
		width: auto;
		height: 100%;
		border-radius: var(--radius);
		max-height: fill-available; /* Safari */
	}

.card-content {
		display: flex;
		flex-direction: column;
		padding: var(--space-md);
		flex-grow: 1;
		height: fit-content; /* Safari */
	}

.card-title {
		font-family: var(--font-heading);
		line-height: 27px;
	}

.card-title > a {
		font-size: var(--text-lg);
		font-weight: bold;
	}

.card-title > a,
		.card-title > a:visited,
		.card-title > a:hover {
			color: var(--color-darkest);
			text-decoration: none;
		}

.card.hasWideLink .card-title > a::after {
		content: '';
		display: block;
		position: absolute;
		inset: 0;
	}

.card-description,
	.card-action {
		margin: var(--space-md) 0;
	}

.card-description ul {
			margin-top: var(--space-md);
			padding-left: var(--space-xlg);
		}

.card-description li + li {
			margin-top: var(--space-xsm);
		}

.card-description p {
			line-height: 1.5;
		}

.card-description p + p {
			margin-top: var(--space-md);
		}

.card-description a,
		.card-description a:visited,
		.card-description a:active {
			color: var(--color-primary);
			text-decoration: none;
		}

.card-action {
		order: 1;
		text-align: center;
	}

.card footer {
		margin: var(--space-sm) 0 0 0;
		font-size: var(--text-md);
		color: var(--color-light);
		order: 1;
	}

.card footer p {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			align-items: flex-end;
			height: 100%;
		}

.card footer p.hasOne span {
			margin-left: auto;
		}

@media screen and (min-width: 769px) {
		.card:hover .card-shareOverlay {
			opacity: 1;
		}
			.card-shareOverlay .sharebar-item {
				margin: 10px;
			}

		.card-content {
			display: grid;
			grid-template-columns: 1fr auto;
			grid-column-gap: var(--space-md);
		}

		.card header {
			margin: 0;
			grid-column: 1 / 2;
		}

		.card-description {
			margin: 0 0 var(--space-md) 0;
			grid-column: 1 / 3;
		}

		.card-action {
			margin: 0 0 var(--space-md);
			grid-row: 1 / 2;
			grid-column: 2 / 3;
			margin-left: auto;
		}

		.card footer {
			margin-top: var(--space-lg);
			grid-column: 1 / 3;
		}

		.card-title {
			margin-bottom: var(--space-md);
		}

		.card-title > a {
			font-size: var(--text-xlg);
		}
}

.button {
	display: inline-flex;
	align-items: center;
	appearance: none;
	border: var(--button-border);
	border-radius: var(--button-border-radius);
	padding: 0 var(--space-sm);
	width: var(--button-width);
	height: 40px;
	background: var(--button-background);
	font-family: var(--button-font-family);
	font-size: var(--text-sm);
	font-weight: var(--button-font-weight);
	color: var(--button-color);
	text-transform: var(--button-text-transform);
	text-decoration: none;
	text-align: center;
}

.button > span {
		margin-left: var(--space-sm);
	}

@media screen and (min-width: 769px) {
	.button {
		padding: var(--space-md);
		border-radius: var(--button-desktop-border-radius);
		height: 50px;
		font-size: var(--text-md);
	}
}

.seeAlso-title {
		margin-bottom: var(--space-md);
		padding: var(--space-md) 0;
		border-bottom: 1px solid var(--color-lightest);
		font-size: var(--text-lg);
		font-weight: bold;
	}

.seeAlso ul {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: var(--space-md);
	}

.seeAlso li {
		list-style: none;
	}

@media screen and (min-width: 769px) {
	.seeAlso {
		display: grid;
		grid-template-columns: 1fr 300px;
		grid-gap: var(--space-xlg);
	}

		.seeAlso-title {
			margin-bottom: 0;
			padding: var(--space-lg) 0;
			border-bottom: 1px solid var(--color-lightest);
			font-size: var(--text-xlg);
			font-weight: bold;
		}

		.seeAlso-title,
		.seeAlso ul,
		.seeAlso .outbrain-lazy-block {
			grid-column: 1 / 2;
		}

		.seeAlso ul {
			grid-template-columns: 1fr 1fr;
			grid-template-rows: max-content;
			grid-gap: var(--space-xlg);
		}

		.seeAlso .card {
			margin-bottom: 0;
			height: 100%;
		}

		.seeAlso-ad {
			grid-row: 2 / 4;
		}

		.seeAlso .aside.seeAlso-ad > .ad-placeholder {
			top: var(--space-lg);
		}
}

.sharebar-toggle {
		appearance: none;
		border-radius: 0;
		border: 1px solid var(--color-lightest);
		width: 60px;
		height: 40px;
		background: none;
		box-shadow: 0 2px 4px 0 var(--color-lightest);
		cursor: pointer;
	}

.sharebar-title {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: var(--space-xlg);
		width: 100%;
		font-size: var(--text-md);
		text-align: center;
		font-weight: bold;
	}

.sharebar-title > svg {
			margin-right: var(--space-md);
		}

.sharebar.isOpen .sharebar-overlay {
		display: flex;
	}

.sharebar-overlay {
		display: none;
		position: fixed;
		inset: 0;
		background-color: rgb(18 17 17 / 75%);
	}

.sharebar-listContainer {
		position: relative;
		margin: auto;
		padding: var(--space-lg);
		width: calc(100% - var(--space-lg));
		border-radius: 5px;
		background-color: #fff;
	}

.sharebar-close {
		position: absolute;
		appearance: none;
		border: 0;
		top: var(--space-md);
		right: var(--space-md);
		width: 17px;
		height: 17px;
		background: transparent;
	}

.sharebar-item {
		display: block;
		margin-bottom: var(--space-xlg);
		width: 100%;
	}

.sharebar-button {
		display: flex;
		justify-content: center;
		align-items: center;
		appearance: none;
		border: 0;
		border-radius: 4px;
		width: 100%;
		height: 50px;
		text-decoration: none;
		box-shadow: 0 10px 30px 0 rgb(0 0 0 / 15%);
		background: transparent;
		cursor: pointer;
	}

.sharebar-button.facebook {
			color: #3c5a96;
		}

.sharebar-button.pinterest {
			color: #bb0f23;
		}

.sharebar-button > svg {
			pointer-events: none;
		}

.sharebar-button > span {
			font-family: var(--button-font-family);
			margin-left: var(--space-lg);
			color: var(--color-black);
		}

@media screen and (min-width: 540px) {
		.sharebar-toggle,
		.sharebar-close,
		.sharebar-title {
			display: none;
		}

		.sharebar-overlay {
			display: block;
			position: static;
			background: none;
		}

		.sharebar-listContainer {
			display: block;
			width: auto;
			padding: 0;
		}

		.sharebar-list {
			display: flex;
			box-shadow: 0 2px 4px 0 var(--color-lightest);
		}

		.sharebar-item {
			width: auto;
			margin: 0;
		}

		.sharebar-button {
			border-radius: 0;
			border: 1px solid var(--color-lightest);
			border-right: 0;
			width: 60px;
			height: 40px;
			box-shadow: none;
			font-weight: normal;
		}

			.sharebar-button:last-child {
				border-right: 1px solid var(--color-lightest);
			}

			.sharebar-button > span {
				display: none;
			}
}

.sharebar-overlay.isCard .sharebar-listContainer {
			background: transparent;
		}

.sharebar-overlay.isCard .sharebar-list {
			box-shadow: none;
		}

.sharebar-overlay.isCard .sharebar-button {
			color: #fff;
			width: 50px;
			height: 50px;
			border: 1px solid #fff;
			border-radius: 4px;
			fill: #fff;
		}

.sharebar-overlay.isCard .sharebar-item + .sharebar-overlay.isCard .sharebar-item {
			margin-left: var(--space-lg);
		}

.stickyHeader {
	display: flex;
	flex-flow: column wrap;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	margin: 0 var(--neg-space-xsm);
	height: 80px;
	background-color: #fff;
	transition: transform 0.3s ease-in-out;
	border-bottom: 2px solid var(--color-lightest);
	box-shadow: 0 5px 12px 0 rgb(150 150 150 / 10%);
}

.stickyHeader.isHidden {
		transform: translate3d(0, -100%, 0);
	}

.stickyHeader progress {
		display: block;
		border: 0;
		width: 100%;
	}

.stickyHeader progress[value] {
		appearance: none;
		height: 10px;
	}

.stickyHeader progress[value]::-webkit-progress-bar {
		background-color: var(--color-lightest);
	}

.stickyHeader progress[value]::-moz-progress-bar {
		background-color: var(--color-primary);
	}

.stickyHeader progress[value]::-webkit-progress-value {
		background-color: var(--color-primary);
	}

.stickyHeader-logoWrapper {
		align-items: center;
		flex-grow: 1;
		margin: 0 auto;
		padding: 0 var(--space-md);
		border: 0;
		width: 100%;
		max-width: var(--site-max-width);
	}

.stickyHeader-logoWrapper > div {
			display: flex;
			flex-shrink: 0;
			align-items: center;
		}

.stickyHeader-logo {
		height: var(--logo-size-sticky-mobile);
		width: 100%;
	}

.stickyHeader-title {
		display: none;
		font-size: var(--text-lg);
		font-weight: normal;
		overflow: hidden;
		text-overflow: ellipsis;
		max-height: 30px;
		white-space: nowrap;
	}

.stickyHeader-diapoNumWrapper {
		display: none;
	}

.stickyHeader-scrollTop,
	.stickyHeader-shareBar {
		margin-left: var(--space-xlg);
	}

.stickyHeader-scrollTop {
		padding: var(--space-md);
		width: auto;
		color: #fff;
		background: var(--color-black);
		cursor: pointer;
	}

.stickyHeader-allButton {
		margin-left: var(--space-lg);
		flex-shrink: 0;
	}

.stickyHeader-allButton > span {
			display: none;
		}

@media screen and (min-width: 540px) {
		.stickyHeader-diapoNumWrapper {
			display: block;
			flex-shrink: 0;
			font-size: var(--text-lg);
			color: var(--color-light);
			margin-left: var(--space-lg);
		}

		.stickyHeader-diapoNum {
			font-weight: bold;
			color: var(--color-primary);
		}
}

@media screen and (min-width: 769px) {
		.stickyHeader-logoWrapper {
			padding: 0;
		}

		.stickyHeader-logo {
			margin-right: var(--space-xlg);
			height: var(--logo-size-sticky);
			padding: 0 15px;
		}

		.stickyHeader-title {
			display: block;
			margin-right: auto;
		}
}

@media screen and (min-width: 1024px) {
		.stickyHeader-allButton > span {
			display: inline-block;
		}
}

.container {
	display: block;
}

main + .aside {
	display: none;
}

.card {
	margin-bottom: var(--space-md);
}

.banniereHauteMobile {
	height: 100px;
	margin-bottom: var(--space-md);
}

[data-brand='HBZ'] .lazyload-photo:nth-child(n + 3) .aside {
		display: none;
	}

@media screen and (min-width: 769px) {
	.main .wrapper section {
		display: grid;
		grid-template-columns: 1fr 300px;
		grid-gap: var(--space-xlg);
	}

	.diaporama {
		grid-column: 1 / 2;
	}

	.diaporama-header {
		display: grid;
		grid-template-columns: 1fr 300px;
		grid-gap: var(--space-xlg);
	}
		.lazyload-photo .aside {
			grid-column: 2 / 3;
			width: 100%;
		}

			.lazyload-photo .aside > *:first-child {
				position: sticky;
				top: 110px;
			}

		.lazyload-photo .aside.isSticky {
			position: fixed;
		}

	.lazyload-photo .aside,
	.card {
		margin-bottom: var(--space-xlg);
	}
		[data-brand='HBZ'] .lazyload-photo:nth-child(3) .aside {
			display: block;
		}
}
