/**
 * Accessibility option
 */

@font-face { 
    font-family: 'OpenDyslexic';
    src: url('../fonts/opendyslexic-regular-webfont.woff2') format('woff2');
}

:root {
	--color-text: #000;
	--color-hover: #333;
	--color-outline: #00f;
	--bkgrd-color: #fff;
	--bkgrd-popup: rgba(0, 0, 0, .5);
	--bkgrd-hover: #eee;
	--shadow-inset: #ccc;
}

.opt-access--contrast {
	--color: #fff;
	--color-access: #343643;
	--color-text: var(--color);
	--color-grey: var(--color-text);
	--color-hover: var(--color-text);
	--color-outline: var(--color-text);
	--bkgrd: var(--color-access);
	--bkgrd-grey: var(--color-access);
	--bkgrd-color: var(--color-access);
	--bkgrd-popup: var(--color-access);
	--bkgrd-hover: var(--color-access);
	--shadow-inset: var(--color-text);
	--border-width: 2px;

	--color-dark-sky: var(--color-access);
	--color-light-sky: var(--color-text);
	--color-dark-wine: var(--color-access);
	--color-light-wine: var(--color-text);
}

.opt-access--contrast-2 {
	--color: #eee;
	--color-access: #222;
	--color-text: var(--color);
	--color-grey: #aaa;
	--color-hover: #ccc;
	--color-outline: #ff8c00;
	--bkgrd: #333;
	--bkgrd-grey: #444;
	--bkgrd-color: var(--bkgrd);
	--bkgrd-hover: #222;
	--shadow-inset: #444;
	--border-width: 1px;

	--color-dark-sky: var(--bkgrd);
	--color-light-sky: var(--color-text);
	--color-dark-wine: var(--bkgrd);
	--color-light-wine: var(--color-text);
}

.opt-access--contrast .reveal-5,
.opt-access--contrast-2 .reveal-5,
.opt-access--contrast .reveal-20,
.opt-access--contrast-2 .reveal-20 {
    opacity: 1!important;
    transform: none!important;
    transition: none!important;
}

.opt-access--lineheight {
	--line-height: 1.6;
	line-height: var(--line-height);
}

.opt-access--dyslexic {
	--font-reg: 'OpenDyslexic';
	--font-light: 'OpenDyslexic';
}

/*
 * Menu access
 */

.skiplinks {
	position: absolute;
	border-bottom: calc(var(--border-width)/2) solid var(--color-text);
	transform: translateY(-100%);
}

.skiplinks[aria-expanded=true] {
	position: relative;
	transform: translate(0);
	background: var(--bkgrd-hover);
}

.skiplinks__list {
	display: flex;
	padding: 1.5em 1em;
}

.skiplinks__list li {
	font-size: 1.5em;
	list-style-type: none;
	margin: 0 1rem;
}

.skiplinks__list li a {
	color: var(--color);
	border-bottom: 1.25px solid var(--color-text);
}

*:focus {
	outline: none;
}

*:focus-visible {
	outline-offset: 2px;
	outline-style: solid;
	outline-color: var(--color-outline);
	outline-width: 2px;
}

.enlarge-link {
	position: relative;
}

.enlarge-link a {
	outline-width: 0;
}

.enlarge-link a:before {
	content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
	outline-offset: 2px;
	outline-style: inherit;
	outline-color: inherit;
	outline-width: 2px;
    z-index: 1;
}

@supports not selector(:focus-visible) {
	*:focus {
		outline-offset: 2px;
		outline-style: solid;
		outline-color: var(--color-outline);
		outline-width: 2px;
	}
}

.skip {
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}


/**
 * Cookie Opt
 * Contrast
 */

#ck-modal-opt,
#ct-modal-opt {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 2em;
	display: none;
	justify-content: center;
	align-items: center;
	border: none;
	background: var(--bkgrd-popup);
	z-index: 9999;
}

#ck-modal-opt.ck-modal--opened,
#ct-modal-opt.ct-modal--opened {
	display: flex;
}

.ck-modal__body,
.ct-modal__body {
	width: 78em;
	max-width: 100%;
	height: auto;
	max-height: 80%;
	color: var(--color-text);
	background: var(--bkgrd-color);
	border: var(--border-width) solid #fff;
}

.scroll-divider {
	overflow-y: auto;
}

.ck-modal__header,
.ct-modal__header {
	display: flex;
	justify-content: flex-end;
	padding: 1em;
}

.ck-modal__header .ck-btn--close,
.ct-modal__header .ct-btn--close {
	font-size: 1.4em;
	padding: 0.5em 1em;
	border: none;
	color: var(--color-text);
	background: transparent;
	transition: background .25s;
}

.ck-modal__header .ck-btn--close:hover,
.ct-modal__header .ct-btn--close:hover {
	background: var(--bkgrd-hover);
	cursor: pointer;
}

.ck-modal__header .ck-btn--close:after,
.ct-modal__header .ct-btn--close:after {
	font-family: 'dashicons';
	content: "\f335";
	display: inline-block;
	margin-left: 0.5em;
	vertical-align: -0.2em;
}

.ck-btns-group .ck-btn {
	font-size: 1.4em;
	color: var(--color-text);
	border: 1px solid var(--color-text);
	margin-left: 1em;
	padding: 0.5em;
	background: transparent;
	transition: background .25s;
	cursor: pointer;
}

.ck-btns-group .ck-btn:hover {
	background: var(--bkgrd-hover);
}

.ck-btns-group .ck-btn--highlight {
	color: var(--bkgrd-color);
	background: var(--color-text);
	transition: background .25s;
}

.ck-btns-group .ck-btn--highlight:hover {
	background: var(--color-hover);
}

.ck-modal__content,
.ct-modal__content {
	padding: 0 3em;
}

.ck-consent-manager {
	color: var(--color);
}

.ck-consent-manager h2,
.ct-consent-manager h2 {
	font-size: 3em;
	line-height: 1;
	font-weight: bold;
}

#ck-modal-min-opt .ck-consent-manager h2 {
	font-size: 2em;
}

.ck-consent-manager p {
	font-size: 1.6em;
}

.ck-consent-manager p.text-desc strong {
	font-weight: bold;
}

.ck-consent-manager ul {
	font-size: 1.6em;
	margin: 1em;
}

.ck-consent-manager a {
	border-bottom: 1px solid var(--color-text);
}

.ck-consent-service,
.ct-consent-service {
	position: relative;
	box-shadow: inset 0 -1px 0 0 var(--shadow-inset);
	margin: 3em 0;
}

.ck-consent-flex .ck-fieldset,
.ct-consent-flex .ct-fieldset {
	display: flex;
	justify-content: flex-end;
}

.ck-fieldset,
.ct-fieldset {
	position: initial;
	border: none;
	margin: 0;
	padding: 0 0 1.5em;
}

.ck-fieldset legend,
.ct-fieldset legend {
	font-size: 1.6em;
	padding: 0;
	z-index: 1;
}

.ck-fieldset legend a {
	border-bottom: 1px solid var(--color-text);
}

.ck-btns-group,
.ct-btns-group {
	position: absolute;
	top: 0;
}

.options-categories h2 {
	font-size: 3em;
	font-weight: bold;
	margin: 1em 0;
}

.options-categories .ck-fieldset,
.options-categories .ct-fieldset {
	padding-bottom: 3em;
}

.ck-fieldset .ck-consent-service__title,
.ct-fieldset .ct-consent-service__title {
	font-size: 2em;
	font-weight: bold;
}

.ct-fieldset .ct-consent-service__title {
	text-transform: capitalize;
}

.ck-fieldset .ck-consent-service__radios,
.ct-fieldset .ct-consent-service__radios {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	position: absolute;
	top: 0;
	right: 0;
}

.ck-radio-group input[type=radio],
.ct-radio-group input[type=radio] {
	position: absolute;
	width: 2.5em;
	height: 2.5em;
	margin: 0 0 0 2.75em;
	border-radius: 50%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.ck-radio-group input[type=radio] + label,
.ct-radio-group input[type=radio] + label {
	position: relative;
	display: table;
	font-size: 1.4em;
	margin-left: 2em;
	cursor: pointer;
}

.ct-radio-group:last-child input[type=radio] + label {
	width: 8.5em;
}

.ck-radio-group input[type=radio] + label:before,
.ct-radio-group input[type=radio] + label:before {
	content: "";
	display: inline-block;
	left: -2rem;
	width: 1.75em;
	height: 1.75em;
	margin-right: 0.5em;
	border-radius: 50%;
	vertical-align: -0.5em;
	box-shadow: inset 0 0 0 1px var(--color-text), inset 0 0 0 0.5em var(--bkgrd-color), inset 0 0 0 1em var(--bkgrd-color);
}

.ck-radio-group input[type=radio]:checked + label:before,
.ct-radio-group input[type=radio]:checked + label:before {
	box-shadow: inset 0 0 0 1px var(--color-text), inset 0 0 0 0.5em var(--bkgrd-color), inset 0 0 0 1em var(--color-text);
}

.ck-consent-service__desc {
	font-size: 1.4em;
	width: 60%;
}

.ck-consent-service__link {
	font-size: 1.4em;
	width: 80%;
	margin-bottom: 2em;
	border-bottom: 1px solid var(--color-text);
}

.ck-consent-service__link:after {
	font-family: 'dashicons';
	content: "\f504";
	display: inline-block;
	vertical-align: -0.15em;
}

.ck-consent-manager__buttons {
	position: relative;
	display: flex;
	justify-content: flex-end;
	margin: -1em 0 2em 0;
}

/*
 * #Show cookie
 */

#ck-modal-min-opt {
	position: fixed;
	left: 2em;
	bottom: 2em;
	width: 45em;
	max-width: 100%;
	height: auto;
	padding: 2em;
	display: none;
	background: var(--bkgrd-color);
	border: var(--border-width) solid #fff;
	border-radius: 2px;
	z-index: 999;
}

#ck-modal-min-opt.ck-modal--opened {
	display: block;
}

.ck-cookie-img {
	position: relative;
	width: 4em;
	height: 4em;
	margin: -0.5em 0 1.5em 0;
}

.ck-cookie-img svg {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: contain;
	fill: var(--color-text);
}

.ck-btns-group-min {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	row-gap: 1em;
	column-gap: 1em;
}

.ck-btns-group-min .ck-btn {
	margin: 0;
}

.ck-btns-group-min .ck-btn-full {
	grid-column: 1 / 3;
}


/**
 * Mask
 */

/* aria-hidden=true : pas lisible */

/*#mask-tools-open {
	position: fixed;
	top: 4em;
	right: 2em;
	width: 2em;
	height: 2em;
	border: var(--border-width) solid #fff;
	background: red;
	z-index: 9;
	cursor: pointer;
}

#mask-tools {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 1em;
	width: 100%;
	height: 100%;
}

#mask-tools-close {
	width: 30px;
	height: 30px;
	margin: 0 1em;
	border-radius: 50%;
	background: #111;
	cursor: pointer;
}

#mask-tools-smaller,
#mask-tools-larger {
	position: relative;
	margin: 0 0.25em;
	cursor: pointer;
}

#mask-tools-smaller:before,
#mask-tools-larger:before,
#mask-tools-close:before {
	font-family: dashicons;
	font-size: 26px;
	color: #111;
	cursor: pointer;
}

#mask-tools-smaller:before {
	content: "\f460";
}

#mask-tools-larger:before {
	content: "\f543";
}

#mask-tools-close:before {
	display: flex;
	justify-content: center;
	color: #eee;
	content: "\f335";
}

#mask-middle {
	position: relative;
    width: 100%;
    height: 100px;
    top: 0;
    left: 0;
}

#mask-top,
#mask-bottom {
	position: relative;
    width: 100%;
    height: calc(100vh + 100px);
    background: #111;
    opacity: .5;
}

#masking-container {
    position: absolute;
    width: 100%;
	height: auto;
	transform: translateY(-1000vh);
	z-index: 1000;
}

#masking-container[aria-expanded=true] {
    transform: translateY(-50%);
}*/



@media screen and (max-width: 600px) {
	#ck-modal-min-opt {
		width: auto;
		right: 2em;
	}
	.ck-btns-group-min .ck-btn {
		grid-column: 1 / 3;
	}
	.admin-bar #ck-modal-opt,
	.admin-bar #ct-modal-opt {
		top: 24px;
	}
	.ck-modal__body {
		max-height: 100%;
	}
	.admin-bar .ck-modal__body,
	.admin-bar .ct-modal__body {
		max-height: calc(100% - 46px);
	}
	.ck-modal__content,
	.ct-modal__content {
		padding: 0 2em;
	}
	.ck-btns-group,
	.ct-btns-group {
		position: relative;
		margin: 2em 0;
	}
	.wp-block-embed-video .ck-btns-group {
		margin: 0;
	}
	.ck-fieldset .ck-consent-service__title,
	.ct-fieldset .ct-consent-service__title {
		width: 100%;
	}
	.ck-fieldset .ck-consent-service__radios,
	.ct-fieldset .ct-consent-service__radios {
		position: relative;
		width: 100%;
		margin-top: 1em;
		display: grid;
		row-gap: 1em;
		justify-content: flex-start;
	}
	.ck-radio-group input[type=radio] + label, 
	.ct-radio-group input[type=radio] + label {
		margin-left: 0;
	}

}