/* ---------- Général ---------- */

*, ::before, ::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	outline: none;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: 'Montserrat', sans-serif;
	font-size: 24px;
	font-weight: 300;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	position: relative;
}

ul {
	list-style-type: none;
	padding: 0;
}

hr {
	height: 3px;
	width: 100%;
	border: none;
	margin: 0;
	background-color: #c7c7c7;
	border-radius: 3px;
}

strong {
	font-weight: bold;
}

h1 {
	color: #f5a081;
	text-align: center;
}

h2 {
	width: 100%;
	font-size: 33px;
}

.align-center {
	text-align: center;
}

.align-image-center {
	width: 540px;
	display: block;
	margin: 30px auto 0;
}

.space-between > *:not(:first-child) {
	margin-top: 20px;
}

.space-between > *:not(:last-child) {
	margin-bottom: 20px;
}

iframe {
	border: none;
}

/* ---------- Header ---------- */

.ie-error {
	text-align: center;
	padding: 15px 20px;
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	z-index: 25000;
	background-color: white;
	border: solid 2px black;
	border-radius: 20px;
}

header {
	font-size: 15px;
	background-color: white;
	box-shadow: 0 6px 15px 0 rgba(0, 0, 0, .2);
	top: 0;
	left: 0;
	right: 0;
	z-index: 15000;
}

#div-header {
	display: flex;
	align-items: flex-start;
	padding: 0 15px;
	position: relative;
}

#hamburger-container {
	display: none;
}

#hamburger-btn {
	display: none;
}

label[for=hamburger-btn] {
	width: 30px;
	height: 21px;
	background: none;
	border: none;
	cursor: pointer;
}

label[for=hamburger-btn] > span {
	display: inline-block;
}

label[for=hamburger-btn] > span > span {
	display: inline-block;
	width: 30px;
	height: 3px;
	background-color: black;
	position: relative;
	bottom: 3px;
	transition: background-color 300ms;
}

label[for=hamburger-btn] > span > span::before, label[for=hamburger-btn] > span > span::after {
	content: "";
	width: 30px;
	height: 3px;
	background-color: black;
	transition: transform 300ms, top 300ms;
	position: absolute;
	left: 0;
}

label[for=hamburger-btn] > span > span::before {
	top: -9px;
}

label[for=hamburger-btn] > span > span::after {
	top: 9px;
}

#hamburger-btn:checked ~ #div-header label[for=hamburger-btn] > span > span {
	background-color: rgba(0, 0, 0, 0);
}

#hamburger-btn:checked ~ #div-header label[for=hamburger-btn] > span > span::before {
	transform: rotate(45deg);
	top: 0;
}

#hamburger-btn:checked ~ #div-header label[for=hamburger-btn] > span > span::after {
	transform: rotate(135deg);
	top: 0;
}

#div-header > a {
	display: block;
	margin: 0 auto;
}

#logo {
	width: 220px;
}

header .social {
	margin: 16px 0;
	position: absolute;
	top: 0;
	right: 15px;
}

.social > li, .social div {
	display: inline-block;
}

header .social li {
	padding: 0 10px;
}

.social-img {
	width: 41px;
	height: 41px;
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	border: #E2E2E2 3px solid;
	border-radius: 41px;
}

.social-img::after {
	content: "";
	position: absolute;
	top: -3px;
	right: -3px;
	bottom: -3px;
	left: -3px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	border: black 3px solid;
	border-radius: 40px;
	opacity: 0;
	transition: opacity 300ms;
}

.social-img:hover::after {
	opacity: 1;
}

.icon-instagram {
	background-image: url(ressources/instagram_light.svg);
}
.icon-linkedin {
	background-image: url(ressources/linkedin_light.svg);
}
.icon-facebook {
	background-image: url(ressources/facebook_light.svg);
}
.icon-youtube {
	background-image: url(ressources/youtube_light.svg);
}
.icon-mail {
	background-image: url(ressources/mail_light.svg);
}
.icon-instagram::after {
	background-image: url(ressources/instagram_dark.svg);
}
.icon-linkedin::after {
	background-image: url(ressources/linkedin_dark.svg);
}
.icon-facebook::after {
	background-image: url(ressources/facebook_dark.svg);
}
.icon-youtube::after {
	background-image: url(ressources/youtube_dark.svg);
}
.icon-mail::after {
	background-image: url(ressources/mail_dark.svg);
}

#navbar {
	font-weight: 500;
}

#navbar > ul {
	display: flex;
	justify-content: space-around;
}

#navbar > ul > li {
	flex-grow: 1;
	text-align: center;
	opacity: .7;
	transition: opacity 500ms;
}

#navbar > ul > li:hover {
	opacity: 1;
}

#navbar a {
	text-decoration: none;
	color: black;
	display: block;
	height: 100%;
	width: 100%;
	padding: 16px 10px;
}

#navbar:hover .underline {
	opacity: 1;
}

#active-page {
	opacity: 1 !important;
	font-weight: bold;
}

.underline {
	height: 3px;
	width: 0px;
	background-color: #3e3e3e;
	opacity: 0;
	position: relative;
	transition: left .5s, width .5s, opacity .5s;
}

.nav-btn {
	height: 51px;
	flex-grow: 0 !important;
	display: flex;
	justify-content: center;
	align-items: center;
}

.nav-btn a {
	padding: 0 !important;
	margin: 0 10px;
	display: inline !important;
	height: auto !important;
}

.nav-btn span {
	display: block;
	color: white;
	background-color: blue;
	padding: 8px 18px;
	height: 100%;
	width: 100%;
	border-radius: 8px;
}

@media screen and (max-width: 1150px) {
	#logo {
		width: 65px;
	}
	header {
		position: fixed;
		transition: transform 300ms;
	}
	.big-container {
		margin-top: 70px;
	}
	header .social {
		display: none;
	}
	#navbar {
		height: 0px;
		overflow: hidden;
		transition: height 300ms;
	}
	#hamburger-btn:checked ~ #navbar {
		height: 470px;
		max-height: calc(100vh - 70px);
		overflow-y: scroll;
	}
	#navbar > ul {
		flex-direction: column;
	}
	#hamburger-container {
		display: block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	#div-header {
		align-items: center;
		padding: 5px 30px;
	}
	.nav-btn a {
		width: 190px !important;
	}
	.underline {
		display: none;
	}
	.thematic-container {
		padding-top: 15px !important;
		margin-top: -15px !important;
	}
	.ancres .float-container {
		padding-top: 15px !important;
		margin-top: -15px !important;
	}
	.img-summary a > span {
		display: none;
	}
}

/* ---------- Body ---------- */

/* Internet Explorer <= 9 */

.float-container, section, div, p, ul {
	max-width: 100%;
}

a img {
	border: none;
}

.big-container {
	overflow: hidden;
	flex-grow: 1;
	padding: 20px 11vw;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.big-container > * {
	margin: 20px 0;
}

.bigger-img {
	width: 30%;
}

.float-container {
	overflow: hidden;
	text-align: center;
	width: 100%;
}

.float-container h2 {
	margin: 20px 0;
	text-align: left;
}

.float-container .top-title {
	display: none;
}

.float-container p {
	text-align: justify;
}

.float-container img {
	width: 20%;
	float: right;
	margin: 0 0 15px 30px;
}

.float-container.align-left img {
	float: left;
	margin: 0 30px 15px 0;
}

.alternate .float-container p {
	text-align: right;
}

.alternate .float-container.align-left p {
	text-align: left;
}

.width-50 {
	width: 50% !important;
}

.iframe-container {
	position: relative;
	width: 90%;
	padding-bottom: 45%;
	margin: 0 auto;
}

.iframe-container iframe, .iframe-container img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.iframe-container-double {
	position: relative;
	width: 100%;
	padding-bottom: 0;
	margin: 0 auto;
}
.iframe-container-double .iframe-container{
	margin-bottom: 20px;
}
@media only screen and (min-width: 601px) {
	.iframe-container-double {
		position: relative;
		width: 90%;
		padding-bottom: 0;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	.iframe-container-double .iframe-container{
		width: 48%;
		display: flex;
		justify-content: center;
		align-items: center;
		padding-bottom: 40%;

	}
}

.smaller-video {
	width: 65% !important;
	padding-bottom: 36.6% !important;
}

.italic {
	font-style: italic;
}

.intro {
	text-align: center;
	font-style: italic;
	margin: 25px 0;
}

.date {
	text-decoration: underline;
	margin-bottom: 10px;
}

.ul {
	list-style-type: disc;
	text-align: left;
	padding-left: 25px;
	margin: 30px 0;
}

.smaller-ul {
	font-size: 20.4px;
	margin: 12px 0;
}

.flex-container {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.flex-container > div {
	width: 25%;
	height: 110px;
	margin: 10px 4.1%;
	text-align: center;
	display: flex;
	align-items: center;
}

.flex-container > div > a {
	display: block;
	width: 100%;
	height: 100%;
}

.flex-container > div > a > img {
	height: 100%;
	width: 100%;
	object-fit: contain;
}

.section-h2 {
	margin-top: 50px;
	font-size: 32px;
	color: #37a8db;
}

.rounded {
	border-radius: 100%;
}

.thematic-container h2 {
	text-align: center;
	color: #f5a081;
	font-size: 2em;
}

.videos-big-container {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.video-container {
	width: 45%;
	margin: 20px 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}

.width100 .video-container {
	width: 100%;
}

.width100 .video-container .iframe-container {
	width: 80%;
	padding-bottom: 45%;
}

.video-container > * {
	margin: 20px 0;
}

.video-container p {
	text-align: justify;
	font-size: 20px;
}

.video-container .iframe-container {
	width: 100%;
	padding-bottom: 56.25%;
}

.thematic-container {
	padding-top: 75px;
	margin-top: -50px;
}

.summary {
	width: 100%;
	z-index: 1;
}

.summary h2 {
	margin-bottom: 15px;
}

.summary ul {
	list-style-type: square;
	margin-left: 28px;
}

.summary li {
	margin: 8px 0;
}

.summary ul a {
	color: black;
	text-decoration: none;
	border-bottom: 1px solid black;
	transition: padding-left 300ms;
}

.summary ul a:hover {
	padding-left: 5px;
}

.img-summary {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 20px 0;
	margin: 15px 0 40px 0;
	z-index: 2;
}

.img-summary a {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	color: black;
	font-size: 13px;
	text-align: center;
	font-weight: 700;
}

.img-summary img {
	border-radius: 50%;
	width: 85%;
	flex-shrink: 0;
}

.img-summary a > span {
	margin-top: 6px;
}

.thematic-container h3 {
	margin-bottom: 20px;
}

.btn {
	color: white;
	font-weight: 500;
	padding: 9px 21px;
	background-color: blue;
	border-radius: 10px;
	text-decoration: none;
	border: none;
	font-size: 24px;
	cursor: pointer;
}

.ancres .float-container {
	padding-top: 70px;
	margin-top: -70px;
}

.image-grid {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 0 15px 0;
}

.image-grid img {
	width: 30%;
	max-width: 250px;
	margin: 10px 0;
}

.image-container {
  position: relative;
  display: inline-block;
}
.image-container img{
	max-width: 100%;
}
.image-container .overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50px;
	height: 50px;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23FFFFFF%22%3E%3Cpath%20d%3D%22M4.021%2010.688c1.208.172%202.51%201.312%202.979%201.781v-10.514c0-1.08.92-1.955%202-1.955s2%20.875%202%201.955v6.058c0%20.784.814.885.919.103.216-1.604%202.519-1.817%202.693.399.043.546.726.655.866.027.326-1.444%202.501-1.458%202.758.758.066.579.796.696.848.034.051-.67.281-.934.607-.934%201.098%200%202.309%202.019%202.309%204.41%200%204.295-3%204.306-3%2011.19h-10c-.332-3.942-3.462-7.431-6.271-10.241-.488-.488-.729-1.052-.729-1.564%200-.93.759-1.688%202.021-1.507z%22%2F%3E%3C%2Fsvg%3E");
	background-repeat: no-repeat;
	background-size: contain;
}
@media screen and (max-width: 1000px) {
	.flex-container {
		justify-content: center;
	}
	.flex-container > div {
		width: 37.5%;
		height: 80px;
		margin: 10px 6.25%;
	}
}

@media screen and (max-width: 800px) {
	.float-container h2 {
		text-align: center;
	}
	.float-container .top-title {
		display: block;
	}
	.float-container .bottom-title {
		display: none;
	}
	.alternate .float-container p {
		text-align: left;
	}
	p {
		font-size: 18px;
	}
	.ul {
		font-size: 18px;
	}
	.smaller-ul {
		font-size: 15.3px;
	}
	.btn {
		font-size: 20px;
	}
	.float-container img {
		width: 50%;
		float: none !important;
		margin: 10px 0 30px 0;
	}
	#index-image {
		width: 75%;
	}
	.width-50 {
		width: 100% !important;
	}
	.big-container .iframe-container {
		width: 100% !important;
		padding-bottom: 56.25% !important;
	}
	.align-image-center {
		width: 100%;
	}
	.video-container {
		width: 100%;
		margin: 0;
	}
	.summary {
		width: auto;
	}
	.summary h2 {
		text-align: center;
	}
	.date {
		text-align: center !important;
		font-size: 22px;
	}
	.img-summary {
		grid-template-columns: repeat(5, 1fr);
	}
}

@media screen and (max-width: 750px) {
	.flex-container {
		flex-direction: column;
		align-items: center;
	}
	.flex-container > div {
		width: 200px;
	}
}

@media screen and (max-width: 700px) {
	h1 {
		font-size: 38px;
	}
	h2 {
		font-size: 23px;
	}
	.date {
		font-size: 20px;
	}
	.img-summary {
		grid-template-columns: repeat(4, 1fr);
	}
	.summary ul {
		font-size: 20px;
	}
}

@media screen and (max-width: 600px) {
	.thematic-container h3 {
		text-align: center;
	}
	.image-grid img {
		width: 45%;
		max-width: 200px;
	}
}

/* ---------- Footer ---------- */

footer {
	flex-shrink: 0;
	padding: 10px 0;
	background-color: #e7e7e7;
	display: flex;
	justify-content: center;
}

footer .social li {
	padding: 0 20px;
}

@media screen and (max-width: 500px) {
	footer .social li {
		padding: 0 15px;
	}
}

@media screen and (max-width: 400px) {
	footer .social {
		width: 100%;
		display: flex;
		justify-content: space-around;
	}
	footer .social li {
		padding: 0 4px;
	}
}

@media screen and (max-width: 350px) {
	.image-grid {
		justify-content: center;
	}
	.image-grid img {
		width: 85%;
		max-width: none;
	}
}

.float-container.bubble-container {
	display: flex;
	justify-content: space-between;
	margin: 0 -10px;
}
.float-container.bubble-container.float-3-4 {
	width: 75%;
}
.float-container .bubble-box {
	position: relative;
	padding: 50px 10px;
	background-color: #f0f0f0;
	border-radius: 75px;
	width: 30%;
	text-align: center;
	margin: 20px 10px 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.float-container.bubble-container.float-3-4 .bubble-box{
	padding: 30px 10px;
}

.float-container .bubble-box.yellow {
	background: #F7DE37;
}
.float-container .bubble-box.blue {
	background: #33A0C9;
}
.float-container .bubble-box.green {
	background: #247A46;
}
.float-container .bubble-box.red {
	background: #d50920;
}
.float-container .bubble-box p{
	text-align: center;
}
a.bubble-box{
	text-decoration: none;
	color: #0A0A0A;
}
@media only screen and (max-width: 1280px) {
	.float-container.bubble-container.float-3-4 {
		width: 100%;
	}
}

@media only screen and (max-width: 600px) {
	.float-container.bubble-container {
		flex-direction: column;
		align-items: center;
	}

	.float-container .bubble-box {
		width: 80%; /* Adjust width as needed */
		margin: 5px 0; /* Adjust margin as needed */
	}
}

.float-container.grid {
	display: flex;
	justify-content: space-between;
}
.float-container.grid img.width-25{
	width: 24%;
	margin:0;
}
.bleu,
strong.paris-2024 {
	color: #33A0C9
}
.pressevig {
	margin-top: 20px;
	margin-bottom: 20px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 80%;
}
.pressevig img{
	max-width: 150px;
	max-height: 50px;
	width: auto;
	height: auto;
}
.two-img-col {
	margin-top: 20px;
	margin-bottom: 20px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 70%;
}
.two-img-col img{
	max-width: 48%;
	width: auto;
	height: auto;
	max-height: 700px;
}

@media only screen and (max-width: 600px) {
	.pressevig{
		flex-wrap: wrap;
		align-items: center;
	}
	.pressevig img{
		margin-bottom: 15px;
	}
	.two-img-col {
		width: 100%;
	}
}
