body {
  background-color: var(--background);
  text-align: right;
}
A {
  color: var(--text-800);
  text-decoration: none;
}
A:hover {
  color: var(--text-900);
  text-decoration: underline;
  cursor: pointer;
}
.copyright {
  position: relative;
  text-align: center;
  background-color: var(--background-300);
  color: var(--text-800);
  font-size: var(--size-70);
  font-style: italic;
  width: 90%;
  margin-top: 60px;
  margin-left: auto;
  margin-bottom: 60px;
  padding: 3px;
  z-index: 9;
}
.copyright a {
  color: var(--text-700);
}
.copyright a:hover {
  color: var(--text-800);
  font-weight: bold;
}
.translater {
  width: 240px;
  height: 40px;
  float: right;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 5px 8px;
  padding: auto;
  line-height: 120%;
  font-style: italic;
  text-align: center;

  font-size: var(--size-80);
  color: var(--text-900);
  background-color: var(--primary-100);
  border: inset 2px var(--primary-400);
}
.tag_keyword {
  display: block;
  font-size: var(--size-65);
  font-style: italic;
  background-color: var(--background-50);
  border: dotted 1px var(--background-200);
  color: var(--text-800);
  padding: 2px 5px;
  margin: 12px 2px 2px 12px;
  border-radius: 3px;
}
.tag_keyword a {
  color: var(--text-800);
  margin: 0 2px;
  padding: 2px 5px;
}
.tag_keyword a:hover {
  color: var(--text-900);
  font-weight: 600;
}
.tag_ref {
  font-size: var(--size-90);
  background-color: var(--background-200);
  border: dotted 1px var(--background-400);
  color: var(--text-800);
  padding: 2px 5px;
  margin: 12px 2px 2px 12px;
  border-radius: 3px;
}
.tag_ref h6 {
  margin: 0;
  padding: 3px;
  font-style: italic;
}
.one_ref {
  font-size: var(--size-90);
  background-color: var(--background-300);
  border: outset 1px var(--background-400);
  color: var(--text-800);
  padding: 2px 5px;
  margin-bottom: 1px;
  border-radius: 3px;
}
.one_ref:hover {
  background-color: var(--background-200);
  cursor: pointer;
}
#goto_pdf {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 16px;
  font-style: normal;
}
#goto_pdf img {
  vertical-align: middle;
}
.btnTocOff {
  width: 240px;
  height: 40px;
  float: right;
  margin: 5px 20px;
}
.btnTocOn {
  width: 240px;
  height: 40px;
  float: left;
  margin: 5px 5px;
}
.btnTocOff input:hover {
  cursor: pointer;
}
.btnTocOn input:hover {
  cursor: pointer;
}
.switch {
  margin: 8px 0 5px 2px;
  border: none;
  background-color: var(--accent-600);
  color: var(--text-50);
  padding: 10px 30px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  transition: transform 0.3s ease;
}
.switch:hover {
  cursor: pointer;
  background-color: var(--accent-500);
  transform: translate(-1px, -1px);
}
.menuDiv {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 350px;
  margin: 2px 2px 0 10px;
  text-align: center;
  z-index: 10;
}
.indexMenu {
  position: relative;
  top: 0;
  width: 70%;
  margin-right: 15px;
  background-color: var(--secondary);
  color: var(--text);
  padding: 20px 20px 20px 50px;
  margin-left: auto;
  z-index: 5;
}
.upperIndexMenu {
  position: fixed;
  top: 5px;
  left: 5px;
  height: 415px;
  width: 240;
  text-align: center;
  background-color: var(--primary);
  padding: 5px;
  border: outset 3px #a0a0a0;
  font-style: normal;
  z-index: 10;
}
.uMenu {
  display: block;
  border-bottom: var(--primary-600) 1px dotted;
  padding: 4px 0px;
}
.uMenu:hover {
  cursor: pointer;
  background-color: var(--primary-400);
}
.keywordsMenu {
  display: flex;
  flex-direction: row;
  align-items: stretch; /* Aligner les enfants en hauteur */
  width: 100%;
  background-color: var(--secondary);
  color: var(--text);
  margin: 5px 0px;
  padding: 5px;
  border: outset 3px var(--secondary-700);
  border-radius: 8px;
  /* shadow */
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.5);
}
.keywordsMenu .kw_label {
  font-size: 15px;
  width: 95%;
  margin-top: 15px;
  margin-bottom: 5px;
  text-align: center;
  background-color: var(--secondary-400);
  padding: 7px 3px 7px 1px;
}
.verticalText {
  font-size: 16px;
  font-weight: 500;
  background-color: var(--secondary-500);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  width: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (any-hover: hover) {
  .verticalText {
    display: none;
  }
}
.keywordsContent {
  flex-grow: 1;
  text-align: center;
  margin-left: 5px;
}

.keywordsMenu #kw-favorit {
  margin-bottom: 10px;
}
.keywordsMenu H4 {
  background-color: var(--secondary-500);
  margin: 0;
  padding: 5px 2px;
}
.keywordsMenu A {
  width: 95%;
  padding: 7px 3px 7px 1px;
  margin-bottom: 1px;
  background-color: var(--secondary-200);
  border: 1px var(--secondary-300) outset;
  border-radius: 3px;
  display: block;
}
.keywordsMenu A:hover {
  background-color: var(--secondary-400);
  font-weight: bold;
}
.kw-select {
  background-color: var(--secondary-100);
  color: var(--text-900);
  font-weight: 500;
  font-size: var(--size-110);
  margin: 2px;
  height: 30px;
  border-radius: 2px;
}
.upperMenu {
  height: 100px;
  width: 100%;
  display: table;
  text-align: left;
  background-color: var(--background-50);
  color: var(--text);
  padding: 0;
  margin: 0 0 0 7px;
  border: outset 3px var(--background-300);
  font-weight: bold;
  border-radius: 8px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.5);
}
.upperMenu2 {
  vertical-align: middle;
  display: table-cell;
  text-align: center;
}
.upperMenu2 .mflag {
  vertical-align: middle;
  margin-left: 5px;
}
.chlang {
  margin: 10px 6px 6px 6px;
  border-radius: 12%;
  box-shadow: 0px 4px 8px rgba(109, 3, 3, 0.5);
  transition: transform 0.3s ease;
}

.chlang:hover {
  cursor: pointer;
  transform: translate(-2px, -2px);
}
#msgBox {
  margin-top: 30px;
  height: 50px;
  font-size: var(--size-60);
  background-color: var(--secondary-200);
  border: solid 1px var(--secondary-600);
  border-radius: 4px;
  padding: 2px 5px;
  text-align: left;
}
#correction {
  width: 400px;
  height: 130px;
  position: fixed;
  display: none;
  bottom: 65px;
  left: 20px;
  background-color: var(--background-50);
  z-index: 90;
}
#correction input {
  font-size: 20px;
}
#tcorrection {
  width: 400px;
  height: 40px;
  position: fixed;
  bottom: 60px;
  left: 5px;

  z-index: 80;
}
.span-correction {
  float: right;
  margin-top: 10px;
  margin-right: 10px;
  background-color: var(--background-50);
  padding: 5px 10px;
  border: 1px var(--background-800) dotted;
  border-radius: 5px;
}
.span-correction:hover {
  cursor: pointer;
  background-color: #c5e0f0;
}
.spanBtnBack {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 20;
}
.logov2i {
  border-radius: 50%;
  box-shadow: 5px 5px 10px rgba(42, 164, 119, 0.4);
  border: 2px dashed #f25337;
  margin: 0 auto;
  padding: 0px;
  margin-bottom: 20px;
}
.logov2 {
  display: table-cell;
  border-radius: 50%;
  box-shadow: 5px 5px 10px rgba(42, 164, 119, 0.2);
  border: 1px outset #f25337;
  margin: 3px 5px;
  padding: 1px;
}
.logo1 {
  border-radius: 5px;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
}
.logo {
  border-radius: 3px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2);
  margin: 3px 5px;
  vertical-align: middle;
  display: table-cell;
}
.round-5 {
  border-radius: 5px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
}
.round-10 {
  border-radius: 10px;
  box-shadow: 0px 4px 8px rgba(1, 42, 13, 0.5);
}
.round-25 {
  border-radius: 25px;
  box-shadow: 0px 4px 8px rgba(48, 69, 55, 0.5);
}
.btnStop {
  padding: 8px 10px;
  font-size: var(--size-110);
  font-weight: bold;
  transition: transform 0.3s ease;
}
.btnPdf {
  transition: transform 0.3s ease;
  height: 55px;
}
.btnBack {
  background-color: var(--accent-700);
  color: var(--text-50);
  opacity: 0.4;
  font-size: 2.5em;
  padding: 5px 5px;
  border-radius: 50%;
  box-shadow: 0px 4px 8px rgba(111, 3, 1, 0.5);
  transition: transform 0.9s ease;
}
.btnBack:hover {
  opacity: 1;
}
.btnStop:hover,
.btnPdf:hover {
  cursor: pointer;
  transform: translate(-1px, -2px);
}
.main-frames {
  border-radius: 15px;
  box-shadow: 0px 8px 12px rgba(33, 45, 2, 0.5);
  margin-left: auto;
  margin-right: 5px;
  background-color: var(--background-100);
  border: outset 3px var(--background-300);
  color: var(--text);
  z-index: 5;
}
.calcul-frame {
  border-radius: 15px;
  box-shadow: 0px 8px 12px rgba(33, 45, 2, 0.5);
  border: outset 3px var(--background-400);
  margin-left: auto;
  margin-right: 5px;
  background-color: var(--background-100);
  color: var(--text);
  z-index: 5;
}
.tableContents {
  position: relative;
  top: 0;
  width: 55%;
  padding: 50px 20px 20px 50px;
  text-align: left;
  line-height: 160%;
}

.tableContents A {
  padding: 5px 10px;
}

.tableContents A:hover {
  cursor: pointer;
  text-decoration: underline;
  background-color: var(--background-200);
}

.tableContentsBtn {
  position: relative;
  text-align: center;
  margin: 3px;
}
.tableRules {
  position: relative;
  top: 10px;
  width: 84%;
  padding: 5px 5px 100px 20px;
}
.divRule,
.rule2 {
  display: block;
  text-align: left;
  line-height: 1.25;
}
.divRule {
  padding-top: 20px;
  color: var(--text);
}
.illustration {
  background-color: var(--background-200);
  color: var(--text);
  border: dashed 2px var(---primary-600);
  padding: 12px;
  padding-top: px;
}
.illustration span.trButtons {
  margin-top: 18px;
  margin-left: 30px;
}
.rule2 {
  background-color: #daebd4;
}
.chapter {
  width: 70%;
  text-align: justify;
  overflow: auto;
  max-height: fit-content;
  border: outset 3px var(--background-200);
  background-color: var(--background-50);
  color: var(--text-900);
  padding: 8px 15px;
  margin-left: auto;
  margin-right: 20px;
  font-size: var(--size-80);
}
.chapter img {
  float: left;
  margin: 0 20px 0 0;
}
.tableRules H2 {
  margin: 10px 4px 0px 4px;
  padding: 4px 4px 4px 4px;
  text-align: center;
  background-color: var(--background-100);
  border: solid 1px var(--primary-300);
  color: var(--text);
}
.tableRules H3 {
  margin: 10px 4px 0px 0px;
  padding: 10px 4px 4px 4px;
  background-color: var(--primary-50);
  color: var(--text);
  border: outset 2px var(--primary-400);
  text-align: center;
}
.tableRules H4 {
  padding: 10px 4px 4px 4px;
  margin: 10px 4px 10px 10px;

  background-color: var(--primary-300);
  color: var(--text);
}
.rule2 H4 {
  padding: 10px 4px 4px 4px;
  background-color: var(--primary-700);
  color: var(--text);
}
.bodyArchives {
  background-color: var(--secondary-700);
}
.archives {
  background-color: var(--secondary-600);
}
.archives h4 {
  background-color: var(--secondary-500);
}
.archives .tag_keyword {
  background-color: var(--secondary-600);
}
.tableRules img.flag_ori {
  float: right;
  margin: 20px 10px 0 0;
  opacity: 0.5;
  /* align verticaly */
  vertical-align: middle;
}
.tableRules img:hover {
  cursor: pointer;
  opacity: 1;
}
.closePrevious {
  float: right;
  margin: 10px 5px 0 0;
}
.closePrevious:hover {
  cursor: pointer;
}
.tableRules table {
  width: 100%;
}
.show_diff {
  --bs-btn-padding-y: 0.15rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.9rem;
}
.jump {
  font-weight: bold;
}
.jump:hover {
  cursor: help;
  position: relative;
  color: var(--accent-700);
  text-decoration: underline;
}
.jump alt_span {
  display: none;
}
.jump:hover alt_span {
  border: var(--accent-600) 2px dotted;
  border-radius: 10px;
  box-shadow: 0px 4px 8px rgba(6, 0, 79, 0.5);
  padding: 5px 20px 5px 5px;
  display: block;
  z-index: 100;
  background-color: var(--accent);
  color: var(--text-50);
  left: -100px;
  margin: 10px;
  width: 220px;
  position: absolute;
  top: 10px;
  text-decoration: none;
}

@counter-style prth3 {
  suffix: ") ";
  system: extends numeric;
}
@counter-style parenthesis-alpha {
  suffix: ") ";
  system: extends upper-alpha;
}

.tableRules ul,
.divTranslation ul {
  margin: 3px 3px 1px 0px;
}

ul.ruleL1 {
  list-style-type: " - ";
  line-height: 1.5;
}
ol.ruleL2 {
  margin: 8px 3px 4px 0px;
  padding-left: 25px;
  list-style: parenthesis-alpha;
}
ol.ruleL2 li {
  padding: 3px 0 8px 2px;
}

ol.ruleL3 {
  margin: 3px 3px 1px 0px;
  padding-left: 25px;
  list-style: prth3;
}
ol.ruleL3 li {
  padding: 1px 0 4px 2px;
}

ol.ruleL4 {
  list-style-type: lower-alpha;
}
li.floor {
  list-style-type: " ➜ ";
}
li.player {
  list-style-type: " ⚠  "; /* ' ⇨ ';*/
}
span.exple {
  text-decoration: underline;
}
span.exple2 {
  text-decoration: underline;
  font-weight: bold;
}

.divTranslation {
  position: absolute;
  display: none;

  width: 80%;
  text-align: justify;
  background-color: var(--accent-300);
  color: var(--text-950);
  margin: 5px;
  padding: 4px 8px 4px 8px;
  border: outset 3px var(--accent-700);
  border-radius: 10px;
  z-index: 15;
}

.trImg {
  float: left;
  margin: 8px 3px 0 3px;
  padding: 2px 7px;
  display: inline;
}
.kwButtons,
.trButtons {
  float: right;
  margin: 6px 3px;
}
.kwClose,
.trClose {
  padding: 2px 7px;
  margin-right: 5px;
  border: outset 1px var(--accent-700);
}
.kwClose:hover,
.trClose:hover {
  cursor: pointer;
}
.divTranslation H4 {
  background-color: var(--accent-400);
  color: var(--text-950);
  margin: 2px 0 5px 0;
  padding: 5px 2px;
}
.warning {
  color: rgb(245, 18, 75);
  font-style: italic;
}
.clicable:hover {
  cursor: pointer;
}
.showPrevious {
  display: none;
  padding: 5px;
  margin: 5px 0;
  background-color: #e0e0e0;
  color: black;
  border-radius: 5px;
}
.added {
  color: #1f6109;
  font-weight: bold;
  background-color: #d7facc;
  padding: 2px 2px;
  line-height: 120%;
}
.deleted {
  color: #dc3545;
  font-weight: semi-bold;
  text-decoration: line-through;
  background-color: #f6dede;
  padding: 3px 1px;
}

@media only screen and (max-width: 576px) {
  .tableContents {
    width: 80%;
    padding: 2px 5px;
  }
  .chapter {
    width: 90%;
    padding: 5px 5px;
  }
  .tableRules {
    width: 90%;
  }
  #kwB1 {
    visibility: hidden;
  }
}
.kwName {
  position: fixed;
  top: 20px;
  left: 50px;
  min-width: 250px;
  text-align: left;
  color: var(--text-900);
  font-size: var(--size-120);
  background-color: var(--accent-300);
  border: 1px solid var(--text-700);

  border-radius: 5px;
  box-shadow: 0px 3px 6px rgba(6, 0, 79, 0.5);
  padding: 6px 12px;
  z-index: 90;
  opacity: 0.8;
  transition: opacity 0.5s ease;
}
.kwName:hover {
  background-color: var(--accent-200);
  opacity: 1;
}
.kwName .btnStopKW {
  float: right;
  font-size: 2rem;
  margin: 10px 0;
}
.kwName .btnStopKW:hover {
  cursor: pointer;
  transform: translate(-1px, -2px);
}

#theme-toggle-container {
  position: fixed;
  top: 10px;
  right: 50px;
  color: var(--text-900);
  border: 1px solid var(--text-700);
  border-radius: 5px;
  padding: 5px;
  z-index: 90;
  opacity: 0.8;
  transition: opacity 0.5s ease;
}
#theme-toggle-container.low-opacity {
  opacity: 0.1;
}
#theme-toggle-container:hover {
  background-color: var(--background-300);
  opacity: 1;
}
/* Style optionnel pour le bouton */
#theme-toggle-icon {
  cursor: pointer;
}
.chatGpt {
  border: 2px solid var(--accent-500);
  border-radius: 10px;
  margin: 10px 0;
  padding: 15px 10px 10px 30px;
  position: relative;
  margin: 15px 5px 5px 5px;
}
.chatGpt legend {
  position: absolute;
  padding: 0 10px;
  top: -10px;
  left: 10px;
  color: var(--text-700);
  width: fit-content;
  background-color: var(--background-100);
  border: 1px solid var(--accent-700);
  border-radius: 10px;
  font-size: var(--size-90);
  font-style: italic;
  box-shadow: 0px 3px 6px rgba(6, 0, 79, 0.5);
}
.chatGpt legend.de::before {
  content: "Übersetzt von chatGPT";
}
.chatGpt legend.de2::before {
  content: "Übersetzt mit www.DeepL.com/Translator";
}

.select2-container--default .select2-selection--single {
  background-color: var(--secondary-200);
  border: 1px solid #ccc;
  border-radius: 5px;
  height: 38px;
  padding: 5px;
  max-width: 300px;
}

.select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: 36px;
}

.select2-dropdown {
  background-color: var(--background-color);
  border: 1px solid var(--accent-400);
  max-width: 300px;
  z-index: 11 !important;
}

.select2-container--default
  .select2-results__option--highlighted[aria-selected] {
  background-color: var(--accent-500);
}

.select2-search__field {
  background-color: var(--background-color);
  color: var(--text-color);
  padding: 8px;
}

.select2-results__option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 12px;
}

.select2-results__option img {
  margin-left: 8px;
}
