/* -------------------------------------------------------------------------- */
/*                             Style for all pages                            */
/* -------------------------------------------------------------------------- */

:root {
    --light: #d4ccb2;
    --medium: #cac0a4;
    --dark: #9c947c;
    --textcolor: #3a372d;
    --error: #cc0000;
    --green: #6aa84f;
}

@font-face {
  font-family: CustomFont;
  src: url(Fonts/OpenSans-Light.ttf) format('ttf');
  src: url(Fonts/OpenSans-Light.otf) format('otf');
  src: url(Fonts/OpenSans-Light.woff) format('woff');
}

body::-webkit-scrollbar {
  display: none;
}

@-moz-document url-prefix() {

  html,
  body {
    scrollbar-width: none;
  }
}

body {
  background-color: var(--light);
  font-family: CustomFont;
  overflow-x: hidden;
  color: var(--textcolor);
  margin: 0;
}

a:visited {
  color: black;
}

a:link {
  color: black;
}

.header {
  grid-area: header;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  color: black;
}

/* --------------------------------- Footer --------------------------------- */

footer {
  position: absolute;
  margin-top: 1%;
  left: 0;
  right: 0;
  text-align: center;
  color: black;
}

.footer {
  background-color: #cac0a4;
  padding: 1%;
}

.footer>div {
  margin: 2%;
}

footer a:link,
footer a:visited {
  text-decoration: none;
}

footer a:hover {
  color: #414833;
}

#copyright {
  right: 0;
  left: 0;
  font-size: 14px;
  font-style: italic;
  background-color: #9c947c;
  padding: 0.5%;
}

/* --------------------------------- Errors --------------------------------- */

.error-message {
    color: var(--error);
    font-size: 14px;
}

/* --------------------------------- Cookies -------------------------------- */
#seeMoreLabel{
    cursor: pointer;
    text-decoration: underline;
}
._CookieScriptReportPageSaveSettingButton {
    background-color: var(--medium);
    width: 15%;
    height: 15%;
    border: none;
    font-size: 14px;
    padding: .5%;
    cursor: pointer;
    box-sizing: border-box;
    transition: box-shadow .8s;
    border: 1px solid var(--textcolor);
}

._CookieScriptReportPageSaveSettingButton:hover {
    box-sizing: border-box;
    box-shadow: 0 0 3px var(--textcolor);
}

.cookie-update-message {
    color: var(--green);
    margin-top: -1%;
    margin-bottom: 1%;
    font-size: 14px; 
    font-style: italic;
}

/* -------------------------------------------------------------------------- */
/*                              Homescreen style                       */
/* -------------------------------------------------------------------------- */
.grid > div {
    text-align: center;
    padding: 20px 0;
}

.text {
  grid-area: text;
  width: 90%;
  height: 50%;
  margin: 1% 5% 0% 5%;
  font-size: 20px;
  color: var(--textcolor);
  line-height: 40px;
}

.textbox {
  height: 100vh;
  margin-top: 5%;
  border-radius: 5%;
  margin-bottom: -80%;
}

#homelink {
  float: right;
  margin-top: 13%;
  text-decoration: none;
  margin-bottom: 5%;
  font-weight: bold;
  color: black;
}

#homelink:hover {
  letter-spacing: 1px;
}

.map {
  grid-area: map;
  display: flex;
  justify-content: center;
}

#mapimg {
  display: none;
}

#credits {
  position: fixed;
  bottom: 0;
  right: 0.5%;
  font-size: 14px;
  font-style: italic;
}

#logoHome {
  width: 18%;
  height: auto;
  margin-bottom: -2%;
  margin-top: -3%;
}

.description {
  width: 100vw;
}

h1 {
  margin-top: -1%;
  font-size: 35px;

}

.description-content {
  width: 90%;
  padding: 5%;
  font-size: 20px;
  color: var(--textcolor);
  line-height: 40px;
}

#description1 {
  background-color: var(--medium);
}

/* -------------------------------------------------------------------------- */
/*                              Categories style                              */
/* -------------------------------------------------------------------------- */

#categorieslink {
  text-decoration: none;
  color: black;
  cursor: pointer;
}

#categorieslink:hover {
  text-decoration: none;
  color: var(--textcolor);
}

.flex-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}

.flex-container>div {
  background-color: var(--medium);
  margin: 3%;
  text-align: center;
  font-size: 20px;
  padding: 0.5%;
  border-radius: 10%;
  box-shadow: 0 4px 8px 0 var(--dark), 0 6px 20px 0 var(--dark);

}

.flex-container>div:hover {
  box-shadow: 0 4px 8px 0 #8f8567, 0 6px 20px 0 #8f8567;
}

#flex-box {
  flex-grow: 0.1;
}

#gobacklink {
  text-align: center;
  font-size: 23px;
  padding: 2%;
  font-size: 20px;
}

#gobacklink>a:hover {
  letter-spacing: 1px;
}

#gobacklink>a:link,
a:hover {
  text-decoration: none;
}

#imgcategories {
  width: 250px;
  height: 150px;
}

#gemeindenPopup {
    position: fixed;
    visibility: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    color: var(--light);
    justify-content: center;
    align-items: center;
    z-index: 1000;
    /* Adjust the z-index as needed */
}

#gemeindenPopup>h3 {
  margin-top: 6%;
  text-align: center;
  font-size: 30px;
}

.popupContent {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 46%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.popupContent>div {
  background-color: var(--medium);
  margin: 4% 0;
  text-align: center;
  font-size: 20px;
  padding: 0.5%;
  border-radius: 10%;
  box-shadow: 0 4px 8px 0 #8f8567, 0 6px 20px 0 #8f8567;

}

.popupContent>div:hover {
  box-shadow: 0 4px 8px 0 var(--dark), 0 6px 20px 0 var(--dark);

}

.exitPopupGemeinden {
  margin: 0 !important;
}

#exitPopup {
  text-align: center;
  bottom: 10%;
  margin-top: 10%;
  cursor: pointer;
  position: absolute;
  left: 0;
  right: 0;
  font-size: 20px;
}

#exitPopup:hover {
  letter-spacing: 1.5px;
}

#customImg > div {
    align-content: center;
    justify-content: center;
}

#customImg > div > svg {
    top: 0;
    left: 0;
}

#customImg {
    margin-top: 2%;
    margin-right: -4%;
    margin-left: 4%;
}


/* -------------------------------------------------------------------------- */
/*                                 Game style                          */
/* -------------------------------------------------------------------------- */
.grid-game {
    display: grid;
    grid-template-areas:
        'header-game'
        'bar1'
        'gamefield'
        'bar2'
        'links';
    grid-template-columns: 100%;
    font-size: 15px;
}

.header-game {
  grid-area: header-game;
  font-size: 35px;
  font-weight: bold;
  text-align: center;
  margin: 0% 15%;
  text-align: center;
  overflow-wrap: break-word;
  color: black;
}

.gamefield {
  grid-area: gamefield;
  height: 70vh;
}

.border-game {
    border: 2px solid var(--textcolor);
}

#randomClick {
  font-size: 18px;
}

#questionmark {
  position: absolute;
  right: 5%;
  cursor: pointer;
  fill: var(--dark);
  height: 6%;
}

.bar1 {
  grid-area: bar1;
  margin: 2% 0% 2% 0%;
  padding: 1%;
}

#pressOn {
  display: none;
}

#btnShowAll {
  display: none;
  background-color: var(--medium);
  font-size: 15px;
}

#gameframe {
  width: 100%;
  height: 100%;
}

.links {
  grid-area: links;
  text-align: center;
  font-size: 20px;
  margin-top: 3%;
}

#logo {
  display: block;
  height: 6%;
  position: absolute;
  cursor: pointer;
}

#logoGame {
  height: 100%;
}

.bar2 {
  grid-area: bar2;
  border: 2px solid var(--textcolor);
  padding: 1%;
  margin: 2% 0% 0% 0%;
}

#switchGamemode {
  display: none;
}

.left {
  float: left;
}

.right {
  float: right;
}

#timerDisplay {
  text-align: left;
  display: none;
}

#centerDisplay {
  text-align: center;
  display: none;
}

#percentageDisplay {
  text-align: center;
}

.dropdown select {
  height: 25px;
  background-color: var(--medium);
  border: 1px solid black;
  font-size: 15px;
}

#selection {
  background-color: var(--medium);
}

#gameFinished {
  height: 45%;
  width: 70%;
  top: 20%;
  left: 15%;
  position: absolute;
  background-color: rgb(156, 148, 124, 0.9);
  border-radius: 15px;
  text-align: center;
  visibility: hidden;
  font-size: 20px;
  z-index: 6;
}

#btnLeave {
  width: 80%;
  height: 18%;
  background-color: var(--light);
  border: none;
  border-radius: 15px;
  font-size: 18px;
  float: left;
  margin-left: 10%;
  margin-top: 10%;
  cursor: pointer;
  transition: box-shadow 1s;
}

#btnLeave:hover {
  box-shadow: 0 0 11px var(--textcolor);
  border: 1px solid var(--textcolor);
}

#btnRestart {
  width: 80%;
  height: 18%;
  background-color: var(--light);
  border: none;
  border-radius: 15px;
  font-size: 18px;
  float: right;
  margin-right: 10%;
  margin-top: 5%;
  cursor: pointer;
  transition: box-shadow 1s;
}

#btnRestart:hover {
  box-shadow: 0 0 11px var(--textcolor);
  border: 1px solid var(--textcolor);
}

g {
  cursor: pointer;
}

#skip {
  cursor: pointer;
  user-select: none;
  float: right;
  white-space: nowrap;
  margin-left: 5px;
  width: 23px;
  transform: scaleX(-1);
  fill: var(--dark);
}

#close {
  position: absolute;
  top: 0;
  right: 4%;
  font-size: 40px;
  cursor: pointer;
}

#restart {
  float: right;
  text-decoration: underline;
  cursor: pointer;
}


/*
.facts {
  grid-area: sidebar;
  background-color: var(--dark);
  text-align: center;
  position: relative;
  border-radius: 15px;
  padding: 4%;
  margin-top: 50%;
  width: 100%;
  height: 35%;
}

.facts:after,
.facts:before {
  top: 100%;
  left: 20%;
  border: solid transparent;
  content: " ";
  position: absolute;
}

.facts:after {
  border-top-color: var(--dark);
  border-width: 20px;
  margin-left: -20px;
}



#hFact {
  font-weight: bold;
  font-size: 24px;
  margin-top: 20%;
}

#fact {
  margin-top: 12%;
  padding: 5%;
  font-size: 20px;
}
*/
.sidebar {
  grid-area: sidebar;
  height: 95%;
  margin-top: 10%;
}

.spacer {
    grid-area: spacer;
}

/* ----------------------------- Tutorial style ----------------------------- */

#popupTutorial {
  width: 90%;
  position: absolute;
  left: 5%;
  top: 2%;
  background-color: rgb(156, 148, 124, 1);
  border-radius: 15px;
  text-align: center;
  font-size: 20px;
  z-index: 8;
  display: none;
  height: min-content;
}

#exitPopup {
  margin: -10%;
}

.tutorial {
  padding: 1%;
}

.tutorial>h2 {
  margin-top: 5%;
  font-size: 30px;
  text-align: center;
}

.tutorial>h3 {
  font-size: 24px;
}

.tutorialText {
  display: none;
}

.tutorialTextMobile {
  display: block;
}

/* -------------------------------------------------------------------------- */
/*                         Customization styles                         */
/* -------------------------------------------------------------------------- */


#margin-vertical {
    margin-top: 12%;
    margin-bottom: 5%;
}

#select-layer {
    font-size: 20px;
    height: 35px;
}

.checkbox {
    cursor: pointer;
}

.disabled-checkbox {
    text-decoration: line-through;
}

.custom-elements {
    position: relative;
}

.custom-elements > div > * {
    position: absolute;
}

#ce-back{
    opacity: 70%;
}

.checkbox {
    display: flex;
    align-items: center;
    margin-bottom: 10px; /* Adjust the value as needed */
}

.checkbox input {
    margin-right: 5px; /* Adjust the value as needed */
}

.checkbox span.checkmark {
    flex: 1;
}

/* Optional: Add some space after the checkbox text */
.checkbox span.checkmark::after {
    content: "\00a0\00a0\00a0"; /* Add some non-breaking spaces */
}

.ce-explanation {
    padding-right: 15%;
}

.align-center {
    text-align: center;
}

.textfield {
    background-color: var(--medium);
    border: 1px solid black;
    font-size: 20px;
    height: 35px;
    width: 95%;
}

/* -------------------------------------------------------------------------- */
/*                       Impressum & Datenschutz styles                  */
/* -------------------------------------------------------------------------- */
.header-imprint {
    font-size: 30px;
    color: black;
    font-weight: bolder;
}

.imprint {
  color: var(--textcolor);
  margin-top: 5%;
}

.imprint a:link,
a:visited {
  text-decoration: none;
  color: var(--textcolor)
}

.imprint a:hover {
  color: black;
}

.bold {
  font-weight: bold;
  color: black;

}

.imprint-text {
  width: 100%;
  margin-bottom: 5%;
}

.header a:link {
  text-decoration: none;
}

#linkWunderline {
  text-decoration: underline;
}

/* -------------------------------------------------------------------------- */
/*                            Mobile Version styles                           */
/* -------------------------------------------------------------------------- */

/* .mobile {
  display: none;
}

.headerMobile {
  font-size: 50px;
  font-weight: bold;
  text-align: center;
}

#logoMobile {
  width: 30%;
  height: auto;
  margin-bottom: -2%;
}

h1 {
  margin-top: 15%;
}

h2 {
  margin-top: -5%;
}

.mobileTxt {
  margin: 10% 15%;
  font-size: 20px;
}

.downloadButtons {
  margin-top: 15%;
}

.buttonsForDownload {
  margin: 3%;
  background-color: var(--medium);
  width: 50%;
  text-align: center;
  padding: 3%;
  border-radius: 40px;
}

.downloadBtnTxt {
  margin-top: 2%;
}

.downloadBtnTxtBig {
  font-size: 19px;
}
 */

/* -------------------------------------------------------------------------- */
/*                              Responsive styles                             */
/* -------------------------------------------------------------------------- */

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) {

  body {
    margin: 2% 5%;
  }

  #cookiesContent {
    margin: 0 15%;
  }

  .imprint-text {
    width: 70%;
    margin-bottom: 5%;
  }

  /* ------------------------------- Homescreen ------------------------------- */

  .header {
    font-size: 40px;
  }

  #homelink {
    margin-bottom: 10%;
    font-size: 30px;
  }

  .textbox {
    margin-bottom: -25%;
  }

  .text {
    font-size: 30px;
  }

  .description-content {
    width: 80%;
    font-size: 30px;
  }

  .description {
    margin-left: -5.25%;
  }

  /* ------------------------------- Categories ------------------------------- */

  #gobacklink {
    font-size: 25px;
  }

  .flex-container>div {
    font-size: 30px;
  }

  .popupContent {
    display: flex;
    flex-direction: row;
    top: 50%;
    left: 46%;
    transform: translate(-50%, -50%);
  }

  .popupContent>div {
    margin: 0 4%;
  }

  /* ---------------------------------- Game ---------------------------------- */

  .tutorialText {
    display: block;
  }

  .tutorialTextMobile {
    display: none;
  }

  .grid-game {
    display: grid;
    grid-template-areas:
      'header-game'
      'bar1'
      'gamefield'
      'bar2'
      'sidebar'
      'links';
    grid-template-columns: 100%;
    font-size: 15px;
  }

  .header-game {
    font-size: 40px;
  }

  .gamefield {
    padding: 0;
    height: 70vh;
  }

  #skip:hover,
  #questionmark:hover {
    fill: var(--textcolor);
  }

  /*
  .facts {
    display: none;
  }
*/

  #switchGamemode,
  #pressOn,
  #centerDisplay,
  #timerDisplay {
    display: inline;
  }

  #skip {
    margin-left: 50px;
  }

  #popupTutorial {
    width: 80%;
    left: 10%;
  }

}

/* ------------------------------- 768 and up ------------------------------- */

@media (min-width: 768px) {
  .header {
    font-size: 45px;
  }

  #homelink {
    font-size: 25px;
  }

  h1 {
    font-size: 40px;
  }

  .grid-game {
    display: grid;
    grid-template-areas:
      'header-game header-game'
      'bar1 spacer'
      'gamefield sidebar'
      'bar2 sidebar'
      'links sidebar';
    grid-template-columns: 90% 10%;
    font-size: 20px;
  }

  .header-game {
    font-size: 45px;
  }

  #randomClick {
    font-size: 20px;
  }

  #popupTutorial {
    height: 110%;
  }

  #gobacklink {
    font-size: 20px;
  }

  .links {
    margin-left: 20%;
  }

  #gameFinished {
    width: 50%;
    top: 30%;
    left: 20%;
    font-size: 25px;
    height: 40%;
  }

  #btnLeave {
    width: 40%;
    height: 15%;
    margin-left: 5%;
    margin-top: 15%;
    font-family: CustomFont;
    font-weight: bold;
  }

  #btnRestart {
    width: 40%;
    height: 15%;
    margin-right: 5%;
    margin-top: 15%;
    font-family: CustomFont;
    font-weight: bold;
  }
}

/* ------------------------- for devices 825 and up ------------------------- */

@media (min-width: 825px) {
  .grid {
    display: grid;
    grid-template-areas:
      'header header'
      'text map';
    grid-template-columns: 70% 40%;
    margin-bottom: 5%;
  }

  .text {
    font-size: 20px;
    line-height: 30px;
    color: var(--textcolor);
    padding-top: 5%;
  }

  .textbox {
    background-color: var(--medium);
    height: 85%;
    margin-top: 5%;
    border-radius: 5%;
    transition: ease-out 1s;
  }

  .textbox:hover {
    box-shadow: 0 4px 8px 0 #8f8567, 0 6px 20px 0 #8f8567;
    transition: ease-in 0.5s;
  }

  #homelink {
    font-size: 23px;
    margin-top: 15%;
  }

  #gobacklink {
    font-size: 23px;
  }

  #homelink:hover {
    letter-spacing: 1px;
  }

  #mapimg {
    display: none;
    width: 100%;
    height: auto;
    margin-right: -15%;
  }

  #categorieslink {
    font-size: 20px;
  }

  .grid-game {
    display: grid;
    grid-template-areas:
      'header-game header-game'
      'bar1 spacer'
      'gamefield sidebar'
      'bar2 sidebar'
      'links sidebar';
    grid-template-columns: 90% 10%;
    font-size: 20px;
  }

  .sidebar {
    display: none;
  }

  .bar1,
  .bar2 {
    font-size: 16px;
    margin: 2% 5% 0% 0%;
  }

  .gamefield {
    margin: 2% 5% 0% 0%;
  }

  #btnShowAll {
    font-size: 20px;
  }
}

/* ----------------- Large devices (desktops, 992px and up) ----------------- */
@media (min-width: 992px) {
  .grid {
    display: grid;
    grid-template-areas:
      'header header'
      'text map';
    grid-template-columns: 40% 60%;
  }

  .text {
    font-size: 20px;
    line-height: 30px;
    color: var(--textcolor);
    padding-top: 5%;
  }

  .textbox {
    background-color: var(--medium);
    height: 85%;
    margin-top: 5%;
    border-radius: 5%;
    margin-bottom: 0;
    transition: ease-out 1s;
  }

  .textbox:hover {
    box-shadow: 0 4px 8px 0 #8f8567, 0 6px 20px 0 #8f8567;
    transition: ease-in 0.5s;
  }

  #homelink {
    font-size: 23px;
    margin-top: 15%;
  }

  h1 {
    font-size: 35px;
  }

  .description-content {
    font-size: 20px;
  }

  #gobacklink {
    font-size: 23px;
  }

  #homelink:hover {
    letter-spacing: 1px;
  }

  #mapimg {
    display: block;
    width: 100%;
    height: auto;
    margin-right: -15%;
  }

  #categorieslink {
    font-size: 20px;
  }

  .grid-game {
    display: grid;
    grid-template-areas:
      'header-game header-game'
      'bar1 spacer'
      'gamefield sidebar'
      'bar2 sidebar'
      'links sidebar';
    grid-template-columns: 85% 15%;
    font-size: 20px;
  }

  /*
  .facts{
    display: block;
  }
*/
  .sidebar {
    display: block;
  }

  .links {
    grid-area: links;
    text-align: center;
    font-size: 16px;
    height: 10%;
    width: 80%;
  }

  .bar1,
  .bar2 {
    font-size: 20px;
    margin: 2% 5% 0% 0%;
  }

  .gamefield {
    height: 80vh;
    margin: 2% 5% 0% 0%;
  }

  #btnShowAll {
    font-size: 20px;
  }

  #gameFinished {
    height: 55%;
    font-size: 25px;
    width: 40%;
    top: 40%;
  }

  #btnLeave,
  #btnRestart {
    margin-top: 15%;
  }

  #popupTutorial {
    width: 50%;
    position: absolute;
    top: 5%;
    height: 112%;
    left: 25%;
  }

  #cookiesContent {
    margin: 0 25%;
  }

  .mobile {
    display: none;
  }

  #popupTutorial {
    width: 50%;
    top: 5%;
    left: 25%;
  }

  #select {
    font-size: 20px;
  }
}

/* ----------- Extra large devices (large desktops, 1200px and up) ---------- */
@media (min-width: 1200px) {
  .header {
    font-size: 50px;
  }

  .text {
    margin: 5% 5% 0% 5%;
    font-size: 22px;
    line-height: 40px;
  }

  #logoHome {
    height: auto;
    width: 9%;
  }

  #homelink {
    font-size: 25px;
  }

  .description-content {
    font-size: 22px;
  }

  #categorieslink {
    font-size: 25px;
  }

  #imgcategories {
    width: 350px;
    height: 200px;
  }

  .header-game {
    font-size: 50px;
  }

  #logo,
  #questionmark {
    height: 8%;
  }

  .bar1,
  .bar2,
  #select,
  #btnShowAll {
    font-size: 20px;
  }

  .links {
    font-size: 25px;
  }

  #skip {
    width: 30px;
  }

  #gameFinished {
    font-size: 35px;
  }

  .gamefield {
    height: 85vh;
  }

  #cookiesContent {
    margin: 0 35%;
  }

  .mobile {
    display: none;
  }
}