/** Generic styles ************************************************************/
html {
	width:100%;
	height:100%!important;
	scroll-padding-block-start:80px;
	scroll-behavior: smooth;
}
body {
	width:100%;
	height:100%;
}
.schDisplay_on #content {
	padding-block-end: 10em;
}

sup,sub{
	font-size: smaller;
}

/* === TRANSITIONS ========================================================== */

/* Scrollbar settings */
::-webkit-scrollbar {
	width: 15px;
}

::-webkit-scrollbar-track {
	background: var(--scrollbar-bgcolor);
}

::-webkit-scrollbar-thumb {
	background-color: var(--scrollbar-thumb-color);
	border-radius: 5rem;
	border: 3px solid var(--scrollbar-bgcolor);
}
/* end scrollbar settings */

/** Home *************************************************************/
.tplHomeTitleFrame {
	padding-block-end: 1em;
	margin-block-end: 1em;
	border-block-end: 1px dashed var(--accentDarkColor);
	display: flex;
}
.tplHomeTitleFrame .tplHomeLogo{
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.tplHomeTitleFrame .tplHomeTitles{
	margin-inline-start: 0.5rem;
	flex: 1 1 auto;
}
.tplHomeTitleFrame .tplHomeTi > *,
.tplHomeTitleFrame .tplHomeLongTi > * {
	margin: 0;
}
.tplHomeTitleFrame .tplHomeTi > * {
	font-size: 1.8em;
}
.tplHomeTitleFrame .tplHomeLongTi > * {
	font-size: 1.5em;
}

/** Content *************************************************************/
#content{
	padding-block: 1em 3em;
	padding-inline: 1em;
	box-sizing: border-box;
	width: -moz-available;
	width: -webkit-fill-available;
	width: fill-available;
	max-width: var(--maxWidth);
	margin-block: 0;
	margin-inline: auto;
}
.abstract{
	padding-inline-start:10px;
	margin-inline-end:10px;
}

/**Menus : nested ********************************************************************/
div.nestedTopics {
	background-color: var(--accentLightColor);
	padding-block: 1rem;
	padding-inline: 1rem;
	border-radius: 8px;
}
.nestedTopics_ti {
	color: var(--contentFG);
	font-weight: bold;
	padding-block: 0;
	padding-inline: 0;
}
ul.nestedTopics {
	padding-block: 0;
	padding-inline: 1rem 0;
	list-style: none;
}
ul.nestedTopics a {
	color: var(--accentColor);
	text-decoration: none;
	display: block;
	padding-block: 0.5rem;
	padding-inline: 0.5rem;
}
ul.nestedTopics a:hover {
	background-color: color-mix(in oklab, var(--contentBG), transparent 85%);
	border-radius: 5px;
}
ul.nestedTopics li {
	margin-block: 0;
	margin-inline: 0;
}

/** Glossary ******************************************************************/
.glossary {
	margin-block-end:20px;
}
.keyOutline{
	margin-block-end: 1em;
	position: sticky;
	top: 0;
	background-color: var(--contentBG);
	z-index: 10;
	padding-block: 1em;
}
.keyOutline.noIndex {
	margin: 0;
	padding: 0;
}
.keyCateg{
	font-size: 2rem;
}
.keyOutlineEntry a{
	background-color:var(--accentColor);
	color: #fff;
	text-decoration: none;
	display:inline-block;
	padding-block: 0.5rem;
	padding-inline: 0.7rem;
	margin-block: 0.3rem;
	margin-inline: 0.3rem;
	border-radius: 0.3rem;
}
.keyOutlineEntry a:hover{
	background-color:var(--accentDarkColor);
}
.glossary dl{
	margin-block-end:30px;
}
.glossary dt{
	font-weight: bold;
	font-size:1.2rem;
}
.glossary dd{
	margin-block-end:20px;
}
.glossary span.syn{
	display:block;
	color:var(--contentFG);
	font-size:0.95rem;
	margin-inline-start:0;
}
.glossary span.syn:before {
	content: '= ';
}
.glossary a.idxCallers_closed,
.glossary a.idxCallers_open{
	color:var(--accentColor);
	text-decoration: none;
	padding-block: 0.5rem;
	padding-inline: 0;
}
.glossary a.idxCallers_closed:hover .idxCallers_ti,
.glossary a.idxCallers_open:hover .idxCallers_ti{
	text-decoration: none;
	color:var(--accentDarkColor);
}
.glossary a.idxCallers_closed::before, .glossary a.idxCallers_open::before {
	font-family: "fontello";
	width: 20px;
	height: 20px;
	display: inline-block;
	vertical-align: top;
	background-color: var(--accentColor);
	color: var(--accentDarkFG);
	text-decoration: none;
	font-weight: normal;
	text-align: center;
	font-size: 0.8em;
	line-height: 20px;
	margin-inline-end: 0.5rem;
}
.glossary a.idxCallers_closed::before{
	content:"\E800";
}
.glossary a.idxCallers_open::before{
	content:"\E801";
}
.glossary a.idxCallers_closed:hover::before, .glossary a.idxCallers_open:hover::before{
	background-color: var(--accentDarkColor);
}
.glossary .idxCallers_co {
	padding-block: 0.2rem;
	padding-inline: 0.5rem;
	margin-inline-start: 0.5rem;
	border-inline-start: 1px solid var(--accentColor);
}
.glossary .idxCallers_co ul{
	list-style: none;
	margin-block: 0;
	margin-inline: 0;
	padding-block: 0;
	padding-inline: 0;
}
.glossary .idxCallers_co a{
	color: var(--accentColor);
	text-decoration: none;
}
.glossary .idxCallers_co a:hover{
	opacity: 0.8;
}
.glossary .def{
	margin-inline-end:10px;
}

/** Index Proc ******************************************************/
dd.idxFra{
	margin-block-start: 0.5rem;
	margin-block-end: 2rem;
}
.idxEntryCaller{
	margin-block: 0.5rem;
	margin-inline: 0;
}
.idxProcs dt {
	font-weight: bold;
	margin-block-end: 0.3rem;
}
.idxProcs .idxEntryCaller a{
	color:#676767;
	text-decoration:none;
}
.idxProcs .idxEntryCaller a:hover{
	color:#676767;
	text-decoration:underline;
}
.idxProcs .idxEntryCo{
	margin-block-end:0.5rem;
}
.idxEntryCallers_open,
.idxEntryCallers_closed{
	background-repeat: no-repeat;
	background-position: top left;
	padding-inline-start:16px;
	min-height: 14px;
}
.idxEntryCallers_open{
	background-image: url(img/closeOptDetails.png);
}
.idxEntryCallers_closed{
	background-image: url(img/openOptDetails.png);
}
.idxEntryCallers_co {
	padding-inline-start:16px;
}
.idxProcs .idxEntryCaller a.idxEntryCallerLnk  {
	color: var(--accentColor);
}
span.stackSep{
	display:none;
}
a.stackLnk::after {
	content: " / ";
}

/** Content : Basket **********************************************************/
.basket {
	margin-inline-start: 10px;
	margin-inline-end: 10px;
	border-block-start: 1px dashed gray;
}
.basket_itti{
	font-size: 1.1em;
}

/** Content : condensed blocks ************************************************/
section.condensedChild{
	border-inline-start: 0;
	border-block-end:0;
	position: relative;
	margin-block: 1rem;
	margin-inline: 0;
	padding-block: 0.5em;
	padding-inline: 0.5em;
	border-radius: 0.5em;
	background-color: var(--accentColorAlpha);
}
section.condensedChild > .condensable_ti{
	position:relative;
	display: flex;
	margin-inline: 0;
	margin-block:0;
}
.faqItem_ti{
	font-size: 1.1em;
}
section.condensedChild > .condensable_ti > span{
	flex: 1 1 auto;
}
section.condensedChild > .condensable_ti > .blockAnchor{
	padding-block-start: 8px;
}

a.condensed_btn_open, a.condensed_btn_closed {
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
	gap: 5px;
	text-decoration: none;
	color: var(--contentFG);
}
a.condensed_btn_open {
	margin-block-end: 0.5em;
}
a.condensed_btn_open::before, a.condensed_btn_closed::before {
	background-color: var(--accentColor);
	color: var(--accentDarkFG);
	font-family: "fontello";
	display: inline-block;
	position: relative;
	width: 20px;
	height: 20px;
	line-height: 20px;
	padding-block: 3px;
	padding-inline: 3px;
	text-align: center;
	font-size: 0.9em;
	border-radius: 3em;
	flex: 0 0 auto;
}
a.condensed_btn_closed::before {
	content: "\E817";
}
a.condensed_btn_open::before {
	content: "\E816";
}
.faqItem a.condensed_btn_closed::before {
	content: "\E800";
}
.faqItem a.condensed_btn_open::before {
	content: "\E801";
}
a.condensed_btn_open:hover, a.condensed_btn_closed:hover {
	filter: brightness(0.8);
}
section.condensedChild > .condensable_co{
	background-color: var(--contentBG);
	padding: 0.4em;
	border-radius: 0.3em;
}

.content.condensedChildren > div:first-child {
	margin-block-start: 0;
}
.content.condensedChildren > div:last-child {
	margin-block-end: 0;
}

/** Content : Definitions *****************************************************/
div.syns{
	margin-block: 1em;
}
i.syn:before{
	content: "≃ ";
	color: gray;
}

/** Content : local menu ******************************************************/
.secOutFra {
	position:fixed;
	top:0;
	right:10px;
	z-index: 99;
	float:right;
	display: inline-block;
	font-size: 0.9em;
	margin-inline-start:1em;
}
.secOutTi a.secOut_cl {
	width: auto;
}
.secOutFra a{
	color: var(--accentColor);
	display: block;
	padding-block: 0.5rem;
	padding-inline: 0.8rem;
	text-decoration: none;
}
.secOutFra a:hover{
	opacity: 0.8;
}
.secOutFra a:active {
	color: var(--contentFG);
	cursor: default;
}

.secOutTi a{
	color: var(--contentFG);
	background-color: var(--contentLightBG);
	padding-block: 0.8rem;
	padding-inline: 0.8rem;
	max-width: 250px;
	transition-duration: 0.2s;
}
.secOutTi a.secOut_cl{
	background-color: color-mix(in srgb ,var(--contentLightBG) 70%, transparent);
	width:auto;
}
.secOutTi a.secOut_cl span{
	display:none;
}
.secOutTi a:hover{
	background-color: var(--contentLightBG);
}
.secOutTi a::before {
	font-family: "fontello";
	content: "\E82A";
	margin-inline-end: 8px;
}
.secOutTi a::after{
	font-family: "fontello";
	float:right;
	margin-inline-start: 8px;
}
.secOutTi a.secOut_cl::after {content: "\E816";}
.secOutTi a.secOut_op::after {content: "\E822";}

.secOutFra > .secOutUi {
	background-color: var(--contentLightBG);
	max-width: 250px;
}
.secOutUi ul {
	list-style: none;
	margin-block: 0;
	margin-inline: 15px 0;
	padding-block: 0;
	padding-inline: 0;
}
.secOutUi ol {
	list-style: none;
	margin-block: 0;
	margin-inline: 0;
	padding-block: 0;
	padding-inline: 0;
	padding-block-end:0.5rem;
	max-height: 75vh;
	overflow: auto;
}
li.caption_lo.screenSeq_lo {
	margin-block: 0;
	margin-inline: 0;
}
.part_lo {
	margin-block: 0;
	margin-inline: 0;
}

/** Content : See also & sub section outline **********************************/
.linkSection,
.subSecUi{
	margin-block: 1rem;
	margin-inline: 0;
	padding-block: 1rem;
	padding-inline: 1rem;
	background-color:var(--accentLightColor);
	border-radius:0.5rem;
}
.subSecUi_ti {
	color:var(--contentFG);
	font-weight: bold;
	font-size:1.2em;
	padding-block: 0;
	padding-inline: 0;
}
ul.links,
ul.sw_outSubSec_navList{
	list-style: none;
}
ul.links a,
ul.sw_outSubSec_navList a{
	color:var(--accentColor);
	text-decoration: none;
	display:block;
	padding-block-start:2px;
}
ul.links a:hover,
ul.sw_outSubSec_navList a:hover{
	color:var(--accentDarkColor);
}

/** Content : block layout ****************************************************/
.headBlock_co {
	position: relative;
}
.headCo_ti.titleOnly_ti{
	text-align: center;
	font-size: 250%;
}
.headCo_ti.intro_ti{
	font-size: 2.5em;
}
.start_ti{
	padding-block: 0;
	padding-inline: 10px;
}
.part {
	margin-block: 2em;
	padding-block: 0;
	padding-inline: 0;
	border-block-end: 1px dashed var(--accentColorAlpha);
	padding-block-end: 1em;
}
.part .part {
	margin-block: 0.5em;
	padding-inline-start:0.5rem;
}
.part .part .part .part {
	border-inline-start: none;
	padding-inline-start:0.5rem;
}
section.concept, section.stepList,
div.tree.block, div.screen.block {
	margin-block: 1em;
	padding-block: 0;
	padding-inline: 0;
	border-block-end: 1px dashed var(--accentColorAlpha);
	padding-block-end: 1em;
}
section:last-child,
.part .part_co > div:last-child,
section.concept:last-child,
.concept > div:last-child,
.part_co:last-child {
	border-block-end: none;
	margin-block-end: 0;
}
section:first-child,
.part .part_co > div:first-child,
section.concept:first-child,
.concept > div:first-child,
.part_co:first-child {
	margin-block-start: 0;
}
.basket{
	clear:both;
}

/** Content : block styles ****************************************************/
.block,
.infoblock {
	position: relative;
	margin-block: 1em;
}
.block_co:last-child,
.infoblock_co:last-child,
.part_co:last-child {
	margin-block-end: 0;
}
.block_co:first-child,
.infoblock_co:first-child,
.part_co:first-child {
	margin-block-start: 0;
}
.block_co p,
.infoblock_co p {
    margin-block: 0.7em;
}
.infoblock_co p:first-child {
	margin-block-start: 0;
}
.infoblock_co p:last-child {
	margin-block-end: 0;
}
.infoblock_ti + .infoblock_co {
	padding-inline-start: 0.8em;
}
.infoblock_ti {
    padding-block-end: 0.5em;
}
.block_co p:first-child,
.infoblock_co p:first-child {
	margin-block-start: 0;
}
.block_co p:last-child,
.infoblock_co p:last-child {
	margin-block-end: 0;
}
.scEditable > .block_co{
	margin: 0;
}
i.blockType{
	display:none;
}
.block_no_ti i.blockType{
	display:inline;
	float: none;
	font-style: normal;
}
.block_no_ti.cbk-closed > .block_ti i.blockType{
	display:inherit;
}
.block_no_ti.screen > .block_ti > span.block_ti_co,
.block_no_ti.stepList > .block_ti > span.block_ti_co,
.block_no_ti.cbk-closed > .block_ti > span.block_ti_co{
	position: inherit;
}

.warning.block,
.advice.block,
.tip.block,
.example.block,
.note.block,
.legal.block,
.complement.block,
.typed.important.block,
.typed.focus.block,
.typed.discrete.block {
	padding-inline-start: 10px;
	padding-block-start: 5px;
	min-height: 16px;
	border-inline-start: 3px solid var(--block-color);
}
.complement.block,
.typed.block.cbk-closeable,
.typed.block.cbk-closed {
	padding: 10px;
	border-inline-start: none;
	border-block-end: 3px solid var(--block-color);
	border-radius: 6px;
}
.block_co.collBlk_open {
	padding-block-start: 0.3em;
}

.warning.block > .block_ti,
.advice.block > .block_ti,
.tip.block > .block_ti,
.example.block > .block_ti,
.note.block > .block_ti,
.legal.block > .block_ti,
.complement.block > .block_ti,
.typed.block > .block_ti {
	color:var(--block-color);
	font-size:1.1em;
	margin: 0;
	display: flex;
	align-items: baseline;
	gap: 5px;
}
.infoblock_ti {
	font-size: 1.1em;
	margin: 0;
}
.complement_ti,
.complement_ti .block_ti_co {
	max-width: -moz-available;
	max-width: -webkit-fill-available;
	max-width: -fill-available;
	width: 100%;
}
.warning.block > .block_ti::before,
.advice.block > .block_ti::before,
.tip.block > .block_ti::before,
.example.block > .block_ti::before,
.note.block > .block_ti::before,
.legal.block > .block_ti::before,
.complement.block > .block_ti::before,
.complement.block a.block_btn_closed::before,
.complement.block a.block_btn_open::before {
	font-family: "fontello";
	font-size: 0.9em;
	color: var(--accentDarkFG);
	background-color:var(--block-color);
	text-align: center;
	width: 25px;
	height: 25px;
	line-height: 25px;
	padding: 3px;
	border-radius: 5em;
}
.complement.block a.block_btn_closed::before,
.complement.block a.block_btn_open::before {
	border-radius: 5px;
}

/* --- Warning --- */
.warning {
	--block-color: var(--blockWarning);
	background-color: var(--blockWarningLight);
}
.warning.block > .block_ti::before {
	content: "\E80D";
}

/* --- Advice --- */
.advice {
	--block-color: var(--blockAdvice);
}
.advice.block > .block_ti::before {
	content: "\E808";
}

/* --- Tip --- */
.tip {
	--block-color: var(--blockTip);
}
.tip.block > .block_ti::before {
	content: "\E810";
}

/* --- Example --- */
.example {
	--block-color: var(--blockExample);
}
.example.block > .block_ti::before {
	content: "\E823";
}

/* --- Note --- */
.note {
	--block-color: var(--blockNote);
}
.note.block > .block_ti::before {
	content: "\E80E";
}

/* --- Legal --- */
.legal {
	--block-color: var(--blockLegal);
}
.legal.block > .block_ti::before {
	content: "\E80F";
}

/* --- Typed block --- */
.typed .icon {
	vertical-align: middle;
	margin-inline-end: 0.3em;
}

.typed a.block_btn_closed,
.typed a.block_btn_open {
	text-decoration: none;
	color: var(--block-color);
}
[data-theme="light"] .typed a.block_btn_closed:hover,
[data-theme="light"] .typed a.block_btn_open:hover {
	color: color-mix(in oklab, var(--block-color), #000 70%)!important;
}
[data-theme="dark"] .typed a.block_btn_closed:hover,
[data-theme="dark"] .typed a.block_btn_open:hover {
	color: color-mix(in oklab, var(--block-color), #fff 70%)!important;
}

.typed a.block_btn_open::before,
.typed a.block_btn_closed::before {
	font-family: "fontello";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.3em;
	height: 1.3em;
	font-size: 0.9em;
	color: #fff;
	background-color: var(--block-color);
	border-radius: 5px;
	margin-inline-end: 0.4em;
}
.typed a.block_btn_open::before {content: "\E801";}
.typed a.block_btn_closed::before {content: "\E800";}

[data-theme="light"] .typed a.block_btn_open:hover::before,
[data-theme="light"] .typed a.block_btn_closed:hover::before {
	background-color: color-mix(in oklab, var(--block-color), #000 70%)!important;
	color: #fff!important;
}
[data-theme="dark"] .typed a.block_btn_open:hover::before,
[data-theme="dark"] .typed a.block_btn_closed:hover::before {
	background-color: color-mix(in oklab, var(--block-color), #fff 70%)!important;
	color: #fff!important;
}

/* --- Complement  --- */
.complement {
	--block-color: var(--blockComplement);
	background-color: var(--blockComplementLight);
}
.complement.block > .block_ti::before {
	content: none;
}
.complement span.block_ti_co {
	display: flex;
	align-items: baseline;
}

.complement.block a.block_btn_closed,
.complement.block a.block_btn_open{
	color:var(--blockComplement);
	text-decoration:none;
	justify-content: space-between;
	flex: 2 1 auto;
}
.complement.block > .block_ti a.block_btn_closed,
.complement.block > .block_ti a.block_btn_open{
	display:flex;
	align-items: baseline;
	justify-content: flex-start;
	gap: 5px;
}
.complement.block a.block_btn_closed::before{
	content: "\E800";
}
.complement.block a.block_btn_open::before{
	content: "\E801";
}
.complement.block a.block_btn_closed:hover,
.complement.block a.block_btn_open:hover{
	color:var(--contentFG);
}
.complement.block a.block_btn_closed:hover::before,
.complement.block a.block_btn_open:hover::before{
	background-color:var(--contentFG);
}

/* --- Concept --- */
.concept.block::before{
	background:none;
}
.def_bk {
	padding-block: 0.5rem;
	padding-inline: 1rem;
	background-color: var(--accentLightColor);
	border-inline-start: 3px solid var(--accentColor);
	margin-block-end: 0.5em;
}

.concept_ti dfn{
	font-style: inherit;
}
.concept_co span.syn{
	display:block;
	color:var(--contentFG);
	font-size:0.95rem;
	margin-inline-start:20px;
}
.concept_co span.syn:before {
	content: '= ';
}

.caption{
	text-align: center;
	margin-inline: 0;
}
.caption_ti{
	font-size:1em;
	margin-block-start: 0.5rem;
}
.descBlock_closed,
.descBlock_open{
	color:var(--accentColor);
	text-decoration:none;
	background-image:url("img/block/open.png");
	background-repeat: no-repeat;
	background-position: 4px 2px;
	padding-inline-start: 20px;
}
.descBlock_open{
	background-image:url("img/block/close.png");
}
.caption_ti .desc{
	font-style: normal;
	max-width:630px;
	margin-block: 0;
	margin-inline: auto;
	text-align: left;
}

/* --- Anchor --- */
.blockAnchor{
	visibility:hidden;
	text-decoration: none;
	color:var(--accentColor);
	font-size: 0.9em;
	margin-inline-start:10px;
	order: 3;
}
.blockAnchor::before{
	font-family:"fontello";
	content:"\E809";
}
.blockAnchor span{
	display:none;
}
*:hover>.blockAnchor,
.blockAnchor:focus {
	visibility:visible;
}
.isMobile_true .blockAnchor{
	visibility:hidden;
}

/** Content : procedures ******************************************************/
.stepListFra header .infoblock_co {
	margin-block: 0;
	margin-inline: 0;
}
.stepList.block::before{
	background:none;
}
.stepList_co {
	position:relative;
}
.prereq_ti,
.comment_ti,
.result_ti,
.proc_ti,
.linkSection_ti {
	font-family: var(--titleStyle);
	font-weight: 500;
	font-size: 1.2em;
}
.proc_ti {
    margin-block-end: 0.3em;
}
a.slpBtnStp, a.slpBtnLst {
	padding-block: 0.4em;
	padding-inline: 0.3em;
	background-color: var(--contentBG);
	text-align: center;
	color: var(--accentColor);
	text-decoration: none;
	display: flex;
	justify-content: center;
	gap: 0.2em;
	flex: 1;
	border: 1px solid var(--borderColor);
	border-block-end: 3px solid var(--accentDarkColor);
}
a.slpBtnLst {
	order: 1;
}
a.slpBtnStp {
	order: 2;
}
.slpTools a.disabled_false:hover{
	background-color: color-mix(in oklab, var(--elmtBG), #000 15%);
}
.slpTools a.disabled_true{
	color: #fff;
	background-color: var(--accentDarkColor);
	cursor: default;
}
.slpTools a.disabled_true:hover {
	cursor: default;
}
a.slpBtnStp::before {
	content: "\E900";
	font-family: "fontello";
}
a.slpBtnLst::before {
	content: "\E818";
	font-family: "fontello";
}
.slpSep, .slpCountLbl{
	display:none;
}
ol.steps {
	list-style: none;
	counter-reset:li;
	margin: 0;
	padding: 0.5em;
	background-color: var(--contentBG);
	border-radius: 5px;
}
li.step{
	position: relative;
}
.stepScreen {
	background-color: var(--elmtBG);
	padding: 1em;
	border-radius: 5px;
	margin-block: 0;
	margin-inline: 0;
}

.detail .block {
	border-radius: 5px;
}
.detail .block:first-child {
	margin-block-start: 0;
}
.detail .block:last-child {
	margin-block-end: 0;
}

.stepScreen li.step{
	padding: 1em;
	background-color: var(--contentBG);
}

.step > .detail, .step > .ssteps {
	padding-inline-start: 2.2em;
	margin-block-start: 0.3em;
}
ol.ssteps{
	list-style: none;
	padding: 0;
	margin: 0;
}
li.sstep{
	padding-inline-start: 20px;
}
li.sstep.result {
	position: relative;
	margin: 0;
	padding: 0.5em;
	border-radius: 0.5em;
	background-color: var(--elmtBG);
}
li.sstep.result .infoblock {
	margin: 0;
}
.screen > .infoblock,
.screen > .block,
.screen > div:not(:first-child),
.default > .infoblock,
.default > .block,
.default > div:not(:first-child),
.simple > .infoblock,
.simple > .block,
.simple > div:not(:first-child),
.result > .infoblock,
.result > .block,
.result > div:not(:first-child),
.prereq > .infoblock,
.prereq > .block,
.prereq > div:not(:first-child) {
	margin-inline-start: 0.8em;
}
li.result::before{
	display: none;
}
.stepTitle {
	align-items: baseline;
	gap: 0.3em;
	font-size:1em;
	margin-block: 0;
}

li.step .stepTitle::before {
	content: counter(li, decimal) "";
	counter-increment: li;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 25px;
	height: 30px;
	padding-inline: 0.2em;
	margin-inline-end: 0.3em;
	background-color: var(--accentColor);
	color: var(--accentDarkFG);
	border: 1px solid var(--borderColor);
}

li.stepList .infoblock{
	padding-inline-start: 0;
}
.screenStep_ti .blockAnchor{
	position: absolute;
	right: 16px;
	top: 19px;
}
div.extras {
    padding: 10px;
    border-inline-start: none;
    border-block-end: 3px solid var(--blockComplement);
    background-color: var(--blockComplementLight);
    border-radius: 6px;
    margin-block: 0.5em 1em;
}
a.extras_closed,
a.extras_open{
    color: var(--blockComplement);
    font-size: 1.1em;
    margin: 0;
    text-decoration: none;
}
a.extras_closed::before,
a.extras_open::before {
    display: inline-block;
    font-family: "fontello";
    font-size: 0.9em;
    color: var(--accentDarkFG);
    background-color: var(--blockComplement);
    text-align: center;
    width: 25px;
    height: 25px;
    line-height: 25px;
    padding: 3px;
    border-radius: 5px;
    margin-inline-end: 0.3em;
}
a.extras_closed::before {
    content: "\E800";
}
a.extras_open::before {
	content: "\E801";
}
a.extras_closed:hover,
a.extras_open:hover{
	color: color-mix(in oklab, var(--blockComplement), #fff 35%);
}
a.extras_closed:hover::before,
a.extras_open:hover::before{
	background-color: color-mix(in oklab, var(--blockComplement), #fff 35%);
}
.extras_co {
	padding-block-start: 0.3em;
}

nav.stepListAlt {
	background-color: var(--elmtBG);
	padding-block: 1rem;
	padding-inline: 1rem;
}
nav.stepListAlt ul{
	list-style: none;
	margin-block: 0;
	margin-inline: 0;
	padding-block: 0;
	padding-inline: 0;
}
nav.stepListAlt ul a{
	color: var(--accentColor);
	text-decoration: none;
	position:relative;
}
nav.stepListAlt ul a:hover{
	text-decoration: underline;
}

.overview{
	position:relative;
	border-inline-start: 2px solid var(--accentColor);
	margin-block: 0 1.5rem;
	margin-inline: 30px 0;
}

.overview::before {
	content: "\e823";
	font-family: "fontello";
	background-color: var(--accentLightColor);
	text-align: center;
	color: var(--accentColor);
	line-height: 30px;
	position: absolute;
	left:-32px;
	top:0;
	height: 30px;
	width: 30px;
	border-inline-end:2px solid var(--accentColor);
}

/** Content : procedure player ************************************************/
.slpOver{
	display:none;
}
.stepListPlayer{
	background-color: var(--accentLightColor);
	padding: 1em;
	margin-block-end: 1em;
}
.stepList .desc.simple{
	position: relative;
	padding: 0.5em;
}
.slpTools {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	flex-wrap: wrap;
}
.stepList .proc_ti::before{
	text-align: center;
	color: var(--accentColor);
	line-height: 30px;
	text-decoration: none;
	content: "\E818";
	font-family: "fontello";
	font-size: 1.1em;
	margin-inline-end: 0.4em;
}
ol.steps li.step {
	border-inline-start: 1px solid var(--borderColor);
	margin: 0;
	padding-block-end: 1em;
}
ol.steps li.step.result {
	padding-block: 0.5em 0;
	display: flex;
	flex-direction: column;
}
ol.steps li.step.result .result_ti {
	margin: 0;
	font-size: 1em;
	height: 30px;
	padding-inline: 0.2em;
	border: 1px solid var(--borderColor);
	background-color: var(--elmtBG);
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: baseline;
}

.slpOpAct ol.steps li.step,
.slpOpAct ol.steps li.step.result {
	border: 0;
	padding: 0;
}

.slpOpAct .stepListPlayer {
	background-color: var(--accentLightColor);
}

span.slpNavBtns{
	flex: 100%;
	order: 3;
	display:flex;
	align-items:center;
	justify-content: center;
	background-color: var(--accentLightColor);
	padding-block: 0.5em 0;
	padding-inline: 0.5em;
}
span.slpNavBtns.disabled_true{
	display:none;
}

a.slpBtnPrv,
a.slpBtnNxt{
	padding: 0.4em;
	margin-block: 0;
	margin-inline: 0.5em;
	background-color: var(--accentColor);
	color: var(--accentDarkFG);
	text-decoration: none;
	text-align: center;
	border-radius: 5px;
}
a.slpBtnPrv{
	order:1;
}
a.slpBtnPrv::before{
	font-family:"fontello";
	content:"\E81A";
}
a.slpBtnNxt{
	order:3;
}
a.slpBtnNxt::before{
	font-family:"fontello";
	content:"\e817";
}
a.slpBtnPrv:hover,
a.slpBtnNxt:hover {
	background-color: color-mix(in oklab, var(--accentColor), #000 35%);
}
a.slpBtnPrv span,
a.slpBtnNxt span{
	position:absolute;
	left:-9999px;
}
span.slpCountTxt{
	order:2;
	margin-block: 0;
	margin-inline: 0.5rem;
}
/** Content : procedure screen ************************************************/
.stepScreenBox {
	display:flex;
	justify-content: center;
	background-color: var(--contentBG);
	align-items: center;

	@media (max-width: 900px){
		flex-direction: column;
		align-items: stretch;
		flex-wrap: nowrap;
	}
}
.stepScreenTitles {
	position:relative;
	flex: 1;
	background-color: var(--accentLightColor);
	padding-block: 0.3rem;
	padding-inline: 0.3rem;
	display: flex;
	flex-direction: column;
	align-self: stretch;

	@media (max-width: 900px){
		flex-direction: row;
		padding: 0.4rem;
	}
}
.stepScreenList{
	order: 1;
	overflow-y: auto;
	flex: 1;
	@media (max-width: 900px){
		max-height: 15vh;
		& ol.screenSteps {
			max-height:unset;
		}
	}
}
.stepScreenFlex{
	flex: 2;
	padding: 0.5em;
	align-self: stretch;
}
.showSteps_true .stepScreenFlex {
	background-color: #0006;
}
.stepScreenImage {
	flex: 0 0 auto;
	counter-reset:steps;
	background-color: var(--contentBG);
}
.stepScreenImage,
.stepScreenTitles {
	@media (max-width: 900px){
		max-width: -webkit-fill-available;
	}
}
.stepScreenTitles,
.stepScreenBox { /* Must be set on all parent flex items of an overflowing item */
	min-height:0;
}

ol.screenSteps {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: steps;
	max-height: 0;

	& li.screenStep {
		margin-block: 0.2em;
		display: block;

		& a {
			text-decoration: none;
			color: var(--contentFG);
			padding-block: 0.2em;
			padding-inline: 0.3em;
			display: block;
			background-color: var(--contentBG);
			border: 1px solid var(--borderColor);
			border-radius: var(--borderRadius);

			&:hover {
				background-color: color-mix(in oklab, var(--contentBG), #000 5%);
			}
			&::before {
				content: counter(steps, decimal);
				counter-increment: steps;
				border-radius: 50em;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				min-width: 25px;
				height: 25px;
				padding-inline: 0.2em;
				color: var(--accentColor);
				border: 1px solid var(--borderColor);
				margin-inline-end: 0.3em;
			}
		}
		&.active_true a {
			border-color: var(--accentColor);
			border-inline-start: 5px solid var(--accentColor);

			&::before {
				background-color: var(--accentColor);
				color: #fff;
				border-color: var(--accentColor);
			}
			& > span > * {
				background-color: transparent;
			}
		}
	}
}
span.stepArea {
	outline: 2px dotted var(--accentColor);
	border-radius: 5px;
}
.stepScreenImage a.screenStepLnk::before {
	background-color: #ffffff;
	border-radius: 15px;
	color: var(--accentColor);
	content: counter(steps, decimal) " ";
	counter-increment: steps;
	font-size: 0.8em;
	height: 25px;
	left: -10px;
	top:-10px;
	line-height: 25px;
	font-weight: bold;
	position: absolute;
	text-align: center;
	width: 25px;
	z-index:9;
	box-shadow: 0 3px 6px rgb(0 0 0 / 20%);
}
a.screenStepLnk.active_true::before {
	background-color: var(--accentColor);
	color: #ffffff;
}

.stepScreenTools {
	display:flex;
	gap: 0.5em;
	align-items:center;
	justify-content:center;
	padding: 0.8rem;

	@media (max-width: 900px){
		flex-direction: column;
	}
}

.stepScreen.showSteps_false .stepScreenImage .screenStepLnk.active_true .stepArea{
	outline: 2px dotted var(--accentColor);
}
.stepScreen.showSteps_false a.screenStepLnk.active_true:before{
	color: var(--accentColor)!important;
	background-color: #ffffff!important;
}

a.sspBtnPrv,
a.sspBtnNxt {
	margin: 0;
	background-color: var(--accentColor);
	color: #ffffff;
	text-decoration: none;
	text-align:center;
	border-radius: var(--borderRadius);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.3em;
	width: 35px;
	height: 35px;

	& span {
		position: absolute;
		left: -9999px;
	}
	&.disabled_true {
		opacity: 0.4;
		pointer-events: none;
	}
	&.disabled_false:hover {
		background-color: color-mix(in oklab, var(--accentColor), #000 15%);
	}
}
a.sspBtnPrv::before{
	font-family: "fontello";
	content: "\E81A";
	@media (max-width: 900px){
		transform: rotate(90deg);
	}

}
a.sspBtnNxt::after {
	font-family: "fontello";
	content: "\E817";
	@media (max-width: 900px){
		transform: rotate(90deg);
	}
}

.stepScreen.showSteps_false {
	& a.sspBtnPrv {
		display: none;
	}
	& a.sspBtnNxt::after {
		font-family: "fontello";
		content: "\F00F";
		@media (max-width: 900px){
			transform: rotate(0deg);
		}
	}
	& ol.steps{
		display: none;
	}
}
.stepScreen.active_true ol.steps > li.step.active_false,
.stepScreen.showSteps_false ol.steps > li.step {
	visibility: hidden;
	position: fixed;
	left:-10000px;
	top:-10000px;
}
.stepScreen.active_true .stepScreenMask {
	background-color: #0006;
}
.stepScreenImage .screenStepLnk.active_false .stepArea{
	background: none !important;
}
.stepScreenImage .screenStepLnk.active_true .stepArea {
	outline: 2px solid var(--accentColor);
}

/** Content : screen **********************************************************/
.screen.block {
	position: relative;

	&::before {
		background:none;
	}
	& .screen_ti {
		margin-inline-end:65px;
	}
}
.screenFra .caption {
	margin-block: 0;
	margin-inline: auto;
	background-color: var(--contentBG);
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.screenFra.scrFraAct .caption {
	border-block-end: 5px solid var(--elmtBG);
}
.screenImg {
	counter-reset: zones;
	border-spacing: 0;
	background-color: var(--contentBG);
	margin-inline: auto;
	height: fit-content;
}
.screenImgFlex {
	flex: 1 auto;
	padding: 0.8em;
}
.screenImgFra {
	display: flex;

	@media (max-width: 900px){
		flex-direction: column;
		align-items: stretch;
		flex-wrap: nowrap;
	}
}
a.screenZoneLnk {
	text-decoration: none;

	&::before {
		position: absolute;
		top: -0.7em;
		left: -0.7em;
		width: 20px;
		height: 20px;
		font-size: 0.9em;
	}
	&.scrLnkAct::before {
		color: var(--accentDarkFG);
		background-color: var(--accentColor);
	}
	&:hover {
		&::before {
			background-color: color-mix(in oklab, var(--contentBG), transparent 50%);
		}
		&.scrLnkAct::before {
			background-color: color-mix(in oklab, var(--accentColor), transparent 50%);
		}
	}
}
.screenZone_pre {
	margin-inline: 1em;
	width: fit-content;

	@media (max-width: 900px){
		margin: 0;
	}
}
span.zoneArea {
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	right:0;
	border-radius: 3px;
	outline: 2px dotted var(--accentColor);

	.scrFraAct & {
		outline: 2px dotted var(--accentLightColor);
	}
	a.screenZoneLnk:hover & {
		background-color: var(--accentColor);
		opacity: 0.4;
		outline: 2px dotted var(--accentColor);
	}
}

.screenTitles {
	text-align: left;
	box-sizing: border-box;
	background-color: var(--accentLightColor);
	overflow-y: auto;
	border-spacing: 0;

	& a {
		text-decoration: none;
		color: var(--contentFG);
		width: -moz-available;
		width: -webkit-fill-available;
		padding-block: 0.4em;
		padding-inline: 0.3em;
		display: block;
		background-color: var(--contentBG);
		border: 1px solid var(--borderColor);
		border-radius: var(--borderRadius);

		&::before {
			min-width: 1.5em;
			height: 1.5em;
		}
		@media (max-width: 900px){
			padding-block: 0.3rem;
			padding-inline: 0.3rem;
		}
	}
	& :not(.scrTiAct) a:hover {
		background-color: color-mix(in oklab, var(--contentBG), #000 5%);
	}
	& .scrTiAct a {
		border-color: var(--accentColor);

		&::before {
			background-color: var(--accentColor);
			color: #fff;
			border-color: var(--accentColor);
		}
	}
	& ol {
		counter-reset:zones;
		list-style: none;
		margin: 0.5em;
		padding: 0;
		max-height: 0;
	}
	& li {
		margin-block: 0.2em;
		display: block;
	}
	@media (max-width: 900px){
		border-block-start: 5px solid var(--elmtBG);
		padding: 0.4rem;
		max-height: 15vh;
		& ol {
			max-height:unset;
		}
	}
}

ol.screenZones {
	list-style: none;
	margin: 0;
	padding-inline: 1rem;
	background-color: var(--contentBG);
	counter-reset:zones;

	.scrFraInt > & > li.screenZone.scrZneHide,
	.scrFraAct > & > li.screenZone.scrZneHide {
		visibility: hidden;
		position: absolute;
		left: -20000px;
		top: -20000px;
	}
	& li.screenZone {
		margin-block: 1em;

		&:first-child {
			margin-block-start: 0;
		}
		&:last-child {
			margin-block-end: 0;
		}
	}
}
.scrFraAct ol.screenZones {
	& li.screenZone {
		margin-block: 0;
		padding-block-start: 0.5em;
	}
}
.screenZone_ti {
	font-size: 1.2em;
	margin-block: 0 10px;
	margin-inline: 0;
	font-family: var(--titleStyle);

	.screenZone &::before {
		min-width: 30px;
		height: 35px;
		padding-inline: 0.2em;
		margin-inline-end: 5px;
		background-color: var(--accentColor);
		color: var(--accentDarkFG);
	}
	.scImgZmTi & {
		font-size: 1em;
		padding-inline-start: 0;
		margin-block: 5px 0;
		margin-inline: 0;
	}
}

a.screenZoneLnk::before,
.screenTitles a::before,
.screenZone .screenZone_ti::before {
	content: counter(zones, decimal) " ";
	counter-increment:zones;
	border-radius: 1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--accentColor);
	background-color: var(--contentBG);
	border: 1px solid var(--borderColor);
	z-index: 1;
	font-family: var(--fontStyle);
}
.screenTitles a::before,
.screenZone .screenZone_ti::before {
	border-radius: 50em;
}

.screenZone_tall {
	& .screenZone_co {
		display: flex;

		@media (max-width: 900px){
			flex-direction: column;
			align-items: flex-start;
		}
	}
	& .screenZone_desc {
		flex: 1;

		@media (max-width: 900px){
			padding: 0!important;
			margin-block: 0.5rem!important;
			margin-inline: 0!important;
		}
	}
}
.scrFraAct {
	& .screenZone_end {
		display:none;

		& a {
			color:silver;
			font-size: 0.8em;
			font-style: italic;
			text-decoration: none;
		}
	}
	& .screenImgFlex{
		background-color: #0006;
	}
	& .screenMask {
		background-color: #0006;
	}
	& .scrTiAct > * {
		background-color: transparent;
	}
}

.scrZneImg {
	outline: 2px solid var(--accentColor);
	border-radius: 3px;
}
.scrFra {
	position: relative;
	background-color: var(--elmtBG);
	padding-block: 1rem;
	padding-inline: 1rem;
	border-radius: 5px;

	@media (max-width: 900px){
		padding: 0.5em;
	}
}
.scrTools {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	flex-wrap: wrap;

	& a {
		padding-block: 0.4em;
		padding-inline: 0.3em;
		background-color: var(--contentBG);
		text-align: center;
		color: var(--accentColor);
		text-decoration: none;
		display: flex;
		justify-content: center;
		gap: 0.2em;
		flex: 1;
		border: 1px solid var(--borderColor);
		border-block-end: 3px solid var(--accentDarkColor);

		&[aria-selected="false"]:hover {
			background-color: color-mix(in oklab, var(--elmtBG), #000 15%);
		}
		&[aria-selected="true"] {
			color: #fff;
			background-color: var(--accentDarkColor);
			cursor: default;

			&:hover {
				cursor:default;
			}
		}
	}
}
a.scrBtnLst {
	order: 1;

	&::before {
		content: "\E818";
		font-family: "fontello";
	}
}
a.scrBtnAct {
	order: 2;

	&::before {
		content: "\E819";
		font-family: "fontello";
	}
}
.screenZone_end a{
	color: var(--accentDarkColor);
	font-style: italic;
	text-decoration: none;
}

/** About *********************************************************************/
.infoBk th{
	padding-block: 5px;
	padding-inline: 0 10px;
	text-align: left;
}

/* ============= Search ============= */
mark.schHit {
	background-color: #f7ff97;
	color: #000;
	padding-block: 0;
	padding-inline: 2px;
}
mark.schHit_current {
	background-color: #9cff81;
	color: #000;
	padding-block: 0;
	padding-inline: 2px;
}

/* === START - RESPONSIVE =================================================== */
@media (min-width: 2250px){
	.secOutFra{
		right:25vw;
	}
}
@media (max-width: 2249px) and (min-width: 1441px){
	.secOutFra{
		right:12vw;
	}
}
@media (max-width: 920px){
	.stepScreenImage,
	.stepScreenTitles {
		max-width: -webkit-fill-available;
	}
	.secOutFra {
		display: none;
	}
	.block {
		padding-block: 0.9rem 1rem;
		padding-inline: 1rem;
	}
	.screen.block{
		padding-block: 0 1rem;
		padding-inline: 0;
	}
	.block_co{
		margin-inline-start: 0;
	}
	div.tree.block .block_ti, div.screen.block .block_ti{
		margin-inline-start: 0;
	}
}
@media (max-width: 700px) {
	#content{
		max-width: -moz-available;
		max-width: -webkit-fill-available;
		max-width: fill-available;
	}
	.def_bk{
		padding-block: 0.5rem;
		padding-inline: 0.5rem;
	}
	.caption iframe {
		width: 100%!important;
	}
	.caption {
		margin-block: 0!important;
		margin-inline: 0!important;
	}
	.screenTitles {
		height: auto!important;
		padding-block: 0.4rem;
		padding-inline: 0.4rem;
	}
	.screenTitles a{
		padding-block: 0.3rem;
		padding-inline: 0.3rem;
	}
	.screenZone_co {
		display: flex;
		flex-direction: column;
	}
	.screenZone_pre {
		margin-block: 0;
		margin-inline: 0;
	}
	.screenZone_desc {
		padding-block: 0!important;
		padding-inline: 0!important;
		margin-block: 0.5rem!important;
		margin-inline: 0!important;
	}
	.stepListPlayer, .stepList .desc.simple{
		padding-block: 5px;
		padding-inline: 5px;
		border: 10px solid var(--accentLight);
	}
}
@media (max-width: 580px){
	.stepScreenTitles{
		padding-block: 0;
		padding-inline: 0;
	}
	.tplHomeTitleFrame {
		flex-direction: column;
	}
	.tplHomeTitleFrame .tplHomeLogo{
		align-items: center;
	}
}