:root {
	--themeColor: #f7941d;
	--black: #000000;

	--beige: #efede6;
	--navy: #0e385e;
	--orange: #ea7e61;
	--green: #7f9470;
	--pink: #dd9a93;
	--yellow: #cbb46b;
	--turquoise: #70a8a4;
}

html.access_fontsize {
	font-size: 14px;
	font-size: 13px;
}

html.access_contraste {
	--orange: #be3c19;
}

/* Focus outline */
:focus-visible {
	outline: var(--navy) dotted 1px !important;
}
/* .extra-link :focus, */
.extra-menu :focus-visible {
	outline: var(--beige) dotted 1px !important;
}
#scrollTop:focus-visible {
	outline: var(--orange) dotted 1px !important;
}
:focus-visible {
	outline-offset: 1px;
}

header a:focus-visible {
	outline-color: #fff !important;
}

/* SKIP LINKS */
.skip-links {
	position: relative;
	top: 0;
}
.skip-links > a {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	position: absolute !important;
	width: 1px;
	background: #000000;
	color: #fff !important;
	font-size: 1.84rem;
	font-weight: 900;
	z-index: 32768;
	transition: none !important;
}

.skip-links > a:focus {
	clip: auto;
	position: fixed;
	top: 0;
	left: 0;
	padding: 1em;
	width: 100%;
	height: 3em;
	/* line-height: 3; */
	text-align: center;
}

/* ACCESS MODULE */
/* credits : sncf.com */
.access-bar {
	position: relative;
	padding: 4px 0;
	padding-right: 15px;
	text-align: right;
	background-color: var(--navy);
	color: #fff;
	font-size: 1.6rem;
	font-size: 0.9rem;
	font-size: 1.1rem;
	font-size: 1.4rem;
	font-size: 1.2rem;
	/* line-height: 1.4rem; */
	line-height: 2rem;
	z-index: 10000;
	font-weight: 400;
}

.acces-container {
	display: inline-block;
	margin-left: 10px;
	position: relative;
}

.acces-container .expand_module {
	background: transparent;
	border: 1.5px solid #fff;
	padding: 5px 15px;
	color: #fff;
	border-radius: 20px;
	font-weight: 500;

	border: 0;
	background: transparent !important;
	color: #ffffff !important;
	padding: 0;
	border-radius: 0 !important;
}
.acces-container .expand_module:focus {
	/* outline: 1px solid #fff; */
	outline-color: #fff !important;
	outline-width: 1px !important;
	outline-style: dotted !important;
	outline-offset: 1px !important;
}
.accessiblity_message,
.expand_module {
	opacity: 0.8;
}
.acces-container .expand_module > span {
	display: inline-block;
	user-select: none;
	pointer-events: none;
}
.acces-container .expand_module > span.mobile_only {
	display: none;
}
.acces-container .expand_module:after {
	content: ' ';
	width: 8px;
	height: 10px;
	background-image: url('../images/arrow-lang.svg');
	background-size: 100%;
	background-position: center;
	display: inline-block;
	background-repeat: no-repeat;
	/* margin-left: 5px; */
	margin-bottom: 0px;
}
/* .acces-container .expand_module:hover,
.acces-container .expand_module:focus {
  background-color: #fff;
  color: var(--black);
  box-shadow: 0px 2px 4px -1px rgb(0 0 0 / 20%), 0px 4px 5px 0px rgb(0 0 0 / 14%), 0px 1px 10px 0px rgb(0 0 0 / 12%);
}
.acces-container .expand_module:hover:after,
.acces-container .expand_module:focus:after {
  background-image: url('../images/arrow-lang-black.svg');
} */

.access_module {
	opacity: 0;
	visibility: hidden;
	text-align: left;
	position: fixed;
	position: absolute;
	right: 0;
	top: 100%;
	margin-top: 15px;
	padding: 25px 30px 25px 30px;
	padding: 25px;
	border-radius: 7px;
	background-color: #2e2e2e;
	background-color: #2e2e2e;
	color: #fff;
	z-index: 10000;
	white-space: nowrap;
	transition:
		all 0.5s ease-out,
		font-size 0s ease;
	transition: font-size 0s ease;

	font-size: 1.5rem;
}

.access_module.show {
	opacity: 1;
	visibility: visible;
}

.module_title {
	color: #fff;
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: 15px;
}

.block-popin-accessibility + .block-popin-accessibility {
	padding-top: 8px;
}

.my-toggle {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: initial;
	-webkit-justify-content: initial;
	-ms-flex-pack: initial;
	justify-content: initial;
	margin: 5px 0;
	font-weight: 500;
}

.my-toggle-checkbox {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.my-toggle-checkbox-toggle {
	position: relative;
	cursor: pointer;
	margin-right: 1rem;
	margin-right: 10px;
}

.my-toggle-checkbox-toggle::before,
.my-toggle-checkbox-toggle::after {
	display: block;
	margin: 0 3px;
	-webkit-transition: 100ms cubic-bezier(0.4, 0, 0.2, 1);
	-o-transition: 100ms cubic-bezier(0.4, 0, 0.2, 1);
	transition: 100ms cubic-bezier(0.4, 0, 0.2, 1);
	content: '';
}

.my-toggle-checkbox-toggle::before {
	width: 48px;
	height: 24px;
	border-radius: 20px;
	background: #4d4f53;
}

.my-toggle-checkbox-toggle::after {
	position: absolute;
	top: 50%;
	left: 10%;
	width: 14px;
	height: 14px;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	border-radius: 50%;
	background: #a0a0a0;
	-webkit-box-shadow:
		0 0 0.8rem rgb(0 0 0 / 20%),
		0 0 2px rgb(0 0 0 / 40%);
	box-shadow:
		0 0 0.8rem rgb(0 0 0 / 20%),
		0 0 2px rgb(0 0 0 / 40%);
}

/* = checked */
.my-toggle-checkbox:checked + .my-toggle-checkbox-toggle::before {
	background: #36a7e8;
	background: var(--themeColor);
}

.my-toggle-checkbox:checked + .my-toggle-checkbox-toggle::after {
	-webkit-transform: translate(170%, -50%);
	-ms-transform: translate(170%, -50%);
	transform: translate(170%, -50%);
	background: #fff;
}

/* = focused */
.my-toggle-checkbox:focus + .my-toggle-checkbox-toggle {
	border-radius: 7px;
	outline: #36a7e8 solid 0.1rem;
	-webkit-box-shadow: 0 0 0.8rem #36a7e8;
	box-shadow: 0 0 0.8rem #36a7e8;
}

/* Fix Menu accessiblity */
.main-menu__item--has-child:hover > .main-menu__sub-list,
.main-menu__item--has-child:focus-within > .main-menu__sub-list,
.main-menu__item--has-child:focus > .main-menu__sub-list,
.lang-select__item--active:hover .lang-select__sub-list,
.lang-select__item--active:focus-within .lang-select__sub-list,
.lang-select__item--active:focus .lang-select__sub-list {
	opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	visibility: visible;
}
/* Toggle Menu */
@media (min-width: 576px) {
	button.dropdown-trigger {
		display: flex !important;
	}
}

@media (max-width: 576px) {
	.desktop_only {
		display: none !important;
	}
	.acces-container .expand_module > span.mobile_only {
		display: inline-block;
	}
}

/* CONTRAST */
html.access_contraste .accessiblity_message,
html.access_contraste .expand_module {
	opacity: 1;
}
html.access_contraste .navbar-nav li.current_page_item:not(.extra-link) a
/* html.access_contraste .navbar-nav li a:hover,
html.access_contraste .navbar-nav li a:focus */ {
	color: #be3c19;
	color: var(--orange);
}
