:root {
  --bg: #feffe0;
  --text: #333333;
  --btntxt: #dadae3;
  --link: #065BA7;
  --link-hover: #dadae3;
  --warning-bg: #f29896;
  --notif-bg: #7ce698;
  --setting-bg: #ecedbe;
  --latin: left;
  --farsi: right;
}

body {
  font-family: Baskerville, Times New Roman, serif;
  background-color: var(--bg);
  color: var(--text);
  text-align: var(--latin);
  margin:40px auto;
  max-width:700px;
  line-height:1.4;
  font-size:16px;
  padding-top: 20px;
  transition: none;
}

body.farsi {
  text-align: var(--farsi);
}

body.transition-enabled {
  transition: background-color 1s ease, color 1s ease;
}

body.darkmode {
  --bg: #333333;
  --text: #feffe0;
  --btntxt: #333333;
  --link: #6db4e3;
  --link-hover: #dadae3;
  --warning-bg: #9c6160;
  --notif-bg: #366944;
  --setting-bg: #4e4f3f;
  background-color: var(--bg);
  color: var(--text);
}

header {
  text-align: center;
  margin-bottom: 28px;
  line-height:1.2
}

#logo-container {
  font-size: max(0.2rem, 1vmin);
  text-align: center;
  display: flex;                /* Use flexbox */
  justify-content: center;       /* Center items horizontally */
  align-items: flex-start;       /* Align items to the top */
  height: 8vh;                 /* Make the container full height */
  width: 100%;                   /* Full width of the page */
  padding: 5px;                 /* Optional padding around the content */
  box-sizing: border-box;        /* Make sure padding doesn't mess up layout */
}

.icon-group {
  position: relative;
  top: 2px;
  padding: 0 3px;
  right: 0px;
  display: flex;
  gap: 2px;
  float: right;
}

.icon {
  font-size: 1.2rem;
  cursor: pointer;
  padding: 1px 1px;
  position: relative; 
  display: inline-block;
}

.icon .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: #555;
  font-size: 0.8rem;
  font-family: Arial;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  margin-left: -60px;
  opacity: 0;
  transition: opacity 0.3s;
}

.icon .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

.icon:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

#asciilogo {
  color: var(--link);
  width: 100%;
  max-width: 100px;
  height: auto;
  display: inline-block; 
  vertical-align: top;
  padding-right: 250px;
}

#asciilogo-halloween {
  color: #ba0003;
  width: 100%;
  max-width: 100px;
  height: auto;
  display: none; 
  vertical-align: top;
  padding-right: 200px;
}

#asciilogo-xmas {
  color: #1a8c00;
  width: 100%;
  max-width: 100px;
  height: auto;
  display: none; 
  vertical-align: top;
  padding-right: 230px;
}

#pnglogo {
  width: 70%;
  max-width: 100px;
  height: auto;
  filter: none;
  transition: filter 0.8s ease;
}

.darkmode #pnglogo {
  filter: invert(1) hue-rotate(180deg);
}

#flag, #en-flag, #it-flag, #de-flag, #fa-flag {
  width: 50%;
  max-width: 40px;
  height: auto;
  display:flex;
}

#toggle-theme {
  font-size: 2rem;
  height: auto;
  display: relative;
  position: fixed;
  top: 10px;   /* Distance from top margin */
  left: 20px; /* Distance from right margin */
  width: auto;
  cursor: pointer;
}

#idflag {
  width: 50%;
  max-width: 40px;
  height: auto;
  display: flex;
  position: fixed;
  top: 50px;   /* Distance from top margin */
  left: 20px; /* Distance from right margin */
  width: auto;
  cursor: pointer;
}

#subtitle {
  display: flex;
}

main {
  max-width: 800px;
  margin: 0 auto;
}

a:link, a:visited {
  color: var(--link);
  background-color: transparent;
  text-decoration: none;
}

a:hover {
  color: var(--link-hover);
  background-color: transparent;
  text-decoration: none;
}

#menubutton {
  color: var(--link);
  position: fixed;
  top: 100px;   /* Distance from top margin */
  left: 20px; /* Distance from right margin */
  width: auto;
  height: 30px;
  font-size: 14px;
  cursor: pointer;
}

.farsi #menubutton {
  right: 20px; /* Distance from right margin */
}

pre {
   max-width:100%;
   height:auto;
   font-size: max(0.2rem, 1vmin);
}

span {
    color: var(--link);
    font-size: 150%;
    float: var(--latin);
}

.farsi span {
    float: var(--farsi);
}

p .fafix {
  color: var(--text);
  text-align: var(--farsi);
  line-height:1.4;
  font-size:16px;
  display: inline-block; 
}

#settings, #result {
  text-align: var(--latin);
  auto;max-width:750px;
  line-height:1.8;
  border-radius: 8px;
  border: 1px solid #ddd;
  padding:1em;
  margin: 0;
}

.farsi #settings, #result {
  text-align: var(--farsi);
}

.ad-q-SettingContainer {
  border: 1px solid #ddd;
  padding: 0.6em;
  margin: 0.6em 0;
  border-radius: 8px;
  background-color: var(--setting-bg);
  line-height:1.2;
}

.ad-q-SettingSubContainer {
  border: 1px solid #ddd;
  padding: 0.4em;
  margin: 0.4em 0;
  border-radius: 8px;
  line-height:1.2;
  column-count: 2;
  background-color: var(--setting-bg);
}

#result {
  line-height:1.4;
}

.warning {
  border: 1px solid #ddd;
  padding: 1em;
  margin: 1em 0;
  border-radius: 8px;
  background-color: var(--warning-bg);
  line-height:1.4;
}

.darkmode .warning {
  background-color: var(--warning-bg);
}

.notif-card {
  border: 1px solid #ddd;
  padding: 1em;
  margin: 1em 0;
  border-radius: 8px;
  background-color: var(--notif-bg);
  text-align: var(--latin);
  line-height:1.4;
}

.farsi .notif-card {
  text-align: var(--farsi);
}

.darkmode .notif-card {
  background-color: var(--notif-bg);
}

h3 {
  margin: 0.1em 0em;
}

ul, ol {
  margin: 0 0 1em;
  padding-left: 1.5em;
}

p {
  margin: 0.3em 0em;
}

.question-card {
  border: 1px solid #ddd;
  padding: 0.6em 0.8em;
  text-align: var(--latin);
  margin: 1em 0;
  border-radius: 8px;
  background-color: var(--bg);
  line-height:1.4;
}

.farsi .question-card {
  text-align: var(--farsi);
}

.darkmode .question-card {
  background-color: var(--bg);
}

/* Styling for browse table */
table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

 th, td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

  th {
  background-color: var(--setting-bg);
}
  #filters {
  margin-bottom: 20px;
}

  label {
  margin-right: 10px;
}

 /* sidenav settings */
.sidenav {
  text-align: left;
  height: 100%; /* 100% Full-height */
  width: 0; /* 0 width - change this with JavaScript */
  max-width:100%;
  position: fixed; /* Stay in place */
  z-index: 1; /* Stay on top */
  top: 0; /* Stay at the top */
  left: 0;
  right: auto;
  background-color: var(--link);
  color:var(--link-hover);
  box-sizing: border-box;
  overflow-x: hidden; /* Disable horizontal scroll */
  overflow-y: auto;
  padding-top: 60px; /* Place content 60px from the top */
  transition: 0.2s; /* 0.2 second transition effect to slide in the sidenav */
}

.farsi .sidenav {
  right: 0;
  left: auto;
}

.sidenav a {
  text-align: left;
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 20px;
  color: #ffffff;
  display: block;
  transition: 0.3s;
}

.sidenav a:hover {
  color: #000000;
}

.sidenav .closebtn {
  position: absolute;
  top: 0;
  right: 10px;
  font-size: 36px;
  margin-left: 50px;
}

button {
  background-color: var(--link);
  color: var(--btntxt);
  padding: 7px 12px 7px 12px;
  margin:11px 7px 2px 7px;
  border-radius: 7px;
  border: none;
  cursor: pointer;
  transition: background-color 1s;
}

button:hover {
  background-color: #00529F;
}

/* mobile compatibility styling*/
@media screen and (max-width: 900px) {
  #menubutton {
  position: static;
  }
}

@media screen and (max-width: 730px) {
  #asciilogo {
  display: none;
  }
  
  #asciilogo-halloween {
  display: none;
  }
  
  #asciilogo-xmas {
  display: none;
  }
  
  body {
  margin:40px 15px;
  }
  
  #idflag {
  position: static;
  top: 10px;
  left: 150px;
  float: right;
  }
}
  
}


