html { position: relative; margin: 0; padding: 0; height: 100%; }
body { margin: 0; padding: 0; text-align: left; height: 100%; }
#imPageExtContainer {min-height: 100%; }
#imPageIntContainer { position: relative;}
#imPage { position: relative; width: 100%; }
#imHeaderBg { position: absolute; left: 0; top: 0; width: 100%; }
#imContent { position: relative; }
#imFooterBg { position: absolute; left: 0; bottom: 0; width: 100%; }
#imStickyBarContainer { visibility: hidden; position: fixed; overflow: hidden; }
#imPageToTop { position: fixed; bottom: 30px; right: 30px; z-index: 5000; display: none; opacity: 0.75 }
#imPageToTop:hover {opacity: 1; cursor: pointer; }
html { min-width: 1000px; }
#imPageExtContainer { background-image: none; background-color: rgba(255, 255, 255, 1); }
#imPage { padding-top: 2px; padding-bottom: 2px; min-width: 1000px; }
#imHeaderBg { height: 45px; background-image: none; background-color: transparent; }
#imHeader { background-image: none; background-color: transparent; }
#imHeaderObjects { margin-left: auto; margin-right: auto; position: relative; height: 500px; width:1000px; }
#imContent { align-self: start; padding: 20px 0 5px 0; }
#imContentGraphics { min-height: 380px; background-image: none; background-color: rgba(255, 255, 255, 1); }
#imFooterBg { height: 90px; background-image: none; background-color: transparent; }
#imFooter { background-image: none; background-color: transparent; }
#imFooterObjects { margin-left: auto; margin-right: auto; position: relative; height: 75px; width:1000px; }
#imSideBar { background-image: none; background-color: transparent; overflow: visible; zoom: 1; z-index: 200; }
#imSideBarObjects { position: relative; height: 380px; }
#imStickyBarContainer { top: 0; left: 0; right: 0; margin: auto; width: 100%; height: 68px; box-sizing: border-box; z-index: 10301; }
#imStickyBarGraphics { top: 0; left: 0; right: 0; margin: auto; width: 100%; height: 68px; box-sizing: border-box; background-image: none; background-color: rgba(0, 49, 13, 1); position: absolute; opacity: 1}
#imStickyBar { position: relative; top: 0; left: 0; margin: auto; width: 1000px }
#imStickyBarObjects { position: relative; height: 68px; }

/* Force a single fixed navigation: keep sticky menu, hide header duplicates */
#imHeader_imMenuObject_01_wrapper,
#imHeader_imMenuObject_02_wrapper {
	display: none !important;
}

/* Global desktop menu fix (all pages/languages): keep all entries visible and prioritize CONTACT before DECOUVERTE. */
@media screen and (min-width: 1025px) {
	#imHeader_imMenuObject_01_wrapper,
	#imStickyBar_imMenuObject_01_wrapper {
		left: 50% !important;
		width: 900px !important;
		margin-left: -450px !important;
	}

	#imHeader_imMenuObject_01_container,
	#imStickyBar_imMenuObject_01_container {
		width: 100% !important;
		display: block !important;
	}

	#imHeader_imMenuObject_01_container > ul,
	#imStickyBar_imMenuObject_01_container > ul {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: space-between !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#imHeader_imMenuObject_01_container > ul > li,
	#imStickyBar_imMenuObject_01_container > ul > li {
		float: none !important;
		clear: none !important;
		flex: 1 1 0 !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}

	#imHeader_imMenuObject_01_container > ul > li:nth-child(6n+1),
	#imHeader_imMenuObject_01_container > ul > li:nth-child(n+7),
	#imStickyBar_imMenuObject_01_container > ul > li:nth-child(6n+1),
	#imStickyBar_imMenuObject_01_container > ul > li:nth-child(n+7) {
		clear: none !important;
		margin-top: 0 !important;
	}

	#imHeader_imMenuObject_01_container > ul > li > .label-wrapper,
	#imHeader_imMenuObject_01_container > ul > li > div > .label-wrapper,
	#imStickyBar_imMenuObject_01_container > ul > li > .label-wrapper,
	#imStickyBar_imMenuObject_01_container > ul > li > div > .label-wrapper {
		width: auto !important;
		min-width: 0 !important;
		height: 28px !important;
		padding: 0 2px !important;
		overflow: hidden !important;
	}

	#imHeader_imMenuObject_01_container > ul > li .label,
	#imStickyBar_imMenuObject_01_container > ul > li .label {
		white-space: nowrap !important;
	}

	#imHeader_imMenuObject_01_container > ul > li[data-link-paths*="/contact"],
	#imStickyBar_imMenuObject_01_container > ul > li[data-link-paths*="/contact"] {
		order: 5 !important;
	}

	#imHeader_imMenuObject_01_container > ul > li[data-link-paths*="/decouverte"],
	#imStickyBar_imMenuObject_01_container > ul > li[data-link-paths*="/decouverte"] {
		order: 6 !important;
	}
}

#imStickyBarContainer {
	visibility: visible !important;
	display: block !important;
	position: fixed !important;
	top: 0 !important;
}

/* Put language switcher inside the fixed top band on every page */
.lang-switcher {
	position: fixed !important;
	top: 18px !important;
	left: 12px !important;
	right: auto !important;
	z-index: 10410 !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	font: 700 14px/1.1 Arial, sans-serif !important;
}

.lang-switcher a {
	color: #ffffff !important;
	text-decoration: none !important;
	margin: 0 4px !important;
}

.lang-switcher a.active {
	color: #ffffff !important;
	text-decoration: underline !important;
}

/* Avoid content being hidden behind the fixed top menu */
#imContent {
	padding-top: 90px;
}

/* Bigger desktop sticky menu items */
#imStickyBar_imMenuObject_01_wrapper {
	top: 10px !important;
	height: 48px !important;
}

#imStickyBar_imMenuObject_01_container > ul > li > .label-wrapper,
#imStickyBar_imMenuObject_01_container > ul > li > div > .label-wrapper {
	height: 46px !important;
	min-width: 132px !important;
	width: auto !important;
	padding: 0 8px !important;
}

#imStickyBar_imMenuObject_01_container > ul > li .label {
	font-size: 11pt !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
}

#imStickyBar_imMenuObject_01_container > ul > li > ul {
	top: 46px !important;
}

#imStickyBar_imMenuObject_01 ul ul .label-wrapper {
	height: 42px !important;
}

#imStickyBar_imMenuObject_01 ul ul .label {
	font-size: 11pt !important;
}

/* Keep all generated image blocks centered on every page */
div[id^="imObjectImage_"] {
	text-align: center !important;
}

div[id^="imObjectImage_"] > div {
	margin-left: auto !important;
	margin-right: auto !important;
}

div[id^="imObjectImage_"] img {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Readability: force dark text inside content text boxes */
#imContent .text-container,
#imContent .text-container div,
#imContent .text-container p,
#imContent .text-container span,
#imContent .text-container li,
#imContent .text-container td,
#imContent .text-container th,
#imContent .text-container label {
	color: #000000 !important;
}

#imContent div[id^="imTextObject_"] .text-inner,
#imContent div[id^="imTextObject_"] .text-inner * {
	color: #000000 !important;
}

#imContent .text-container a {
	color: #003366 !important;
}

#imContent div[id^="imTextObject_"] .text-inner a,
#imContent div[id^="imTextObject_"] .text-inner a * {
	color: #003366 !important;
}

/* Desktop only: push page below the fixed bar so top images are not clipped */
@media screen and (min-width: 1025px) {
	body {
		padding-top: 0 !important;
	}

	#imPageExtContainer {
		padding-top: 72px !important;
		background-position-y: 72px !important;
		box-sizing: border-box !important;
	}

	#imPage {
		padding-top: 2px !important;
	}

	#imContent {
		padding-top: 20px !important;
	}
}

/* Mobile: use hamburger menu instead of fixed top bar */
@media screen and (max-width: 1024px) {
	html,
	#imPage {
		min-width: 0 !important;
	}

	#imHeaderObjects,
	#imFooterObjects,
	#imStickyBar {
		width: 100% !important;
	}

	#imStickyBarContainer {
		display: none !important;
		visibility: hidden !important;
	}

	#imHeader_imMenuObject_01_wrapper {
		display: none !important;
	}

	#imHeader_imMenuObject_02_wrapper {
		display: block !important;
		position: fixed !important;
		top: 8px !important;
		right: auto !important;
		left: 10px !important;
		width: 120px !important;
		height: 120px !important;
		z-index: 10420 !important;
	}

	#imHeader_imMenuObject_02 {
		width: 120px !important;
	}

	#imHeader_imMenuObject_02 .hamburger-component {
		display: block !important;
	}

	#imHeader_imMenuObject_02 .hamburger-button,
	#imStickyBar_imMenuObject_01 .hamburger-button {
		display: inline-block !important;
		width: 120px !important;
		height: 120px !important;
	}

	#imHeader_imMenuObject_02 .hamburger-bar,
	#imStickyBar_imMenuObject_01 .hamburger-bar {
		height: 12px !important;
		width: 72% !important;
		margin: 13px auto !important;
	}

	#imHeader_imMenuObject_02-menu-opened,
	#imHeader_imMenuObject_02-menu-opened .hamburger-menu-background {
		width: min(480px, 96vw) !important;
	}

	#imHeader_imMenuObject_02-menu-opened #imHeader_imMenuObject_02_container-menu-opened > ul {
		top: 136px !important;
		height: calc(100% - 136px) !important;
	}

	#imHeader_imMenuObject_02-menu-opened .hamburger-menu-close-button {
		font-size: 76px !important;
		padding: 13px 23px !important;
	}

	#imHeader_imMenuObject_02-menu-opened .label-wrapper {
		width: min(436px, 88vw) !important;
		height: 88px !important;
		padding: 0 23px !important;
	}

	#imHeader_imMenuObject_02-menu-opened .label {
		font-size: 25pt !important;
		font-weight: 600 !important;
		line-height: 1.1 !important;
	}

	.lang-switcher {
		top: 18px !important;
		left: auto !important;
		right: 12px !important;
		background: rgba(255, 255, 255, 0.92) !important;
		border: 1px solid #d9d9d9 !important;
		border-radius: 999px !important;
		padding: 8px 13px !important;
		font-size: 17px !important;
	}

	.lang-switcher a {
		color: #333 !important;
	}

	.lang-switcher a.active {
		color: #000 !important;
	}

	#imContent {
		padding-top: 146px !important;
	}

	/* Mobile readability: make text clearly larger across all pages */
	html {
		-webkit-text-size-adjust: 130%;
		text-size-adjust: 130%;
	}

	#imPgTitle {
		font-size: 34px !important;
		line-height: 1.2 !important;
	}

	#imContent,
	#imContent p,
	#imContent span,
	#imContent li,
	#imContent a,
	#imContent td,
	#imContent th,
	#imContent label,
	#imContent input,
	#imContent textarea,
	#imContent select,
	#imFooter,
	#imFooter p,
	#imFooter span,
	#imFooter a {
		font-size: 1.2em !important;
		line-height: 1.45 !important;
	}

	#imContent [class*="fs"],
	#imFooter [class*="fs"] {
		font-size: 1.2em !important;
		line-height: 1.45 !important;
	}
}
