/* ----------------------------------------------------------------------------
Author: RickApps
Website: https://github.com/rickapps/
-----------------------------------------------------------------------------*/

body {
  background-color: var(--panel-color);
}

#wrapper {
  background-color: var(--wrapper-color);
  max-width: 1600px;
  margin: 0 auto;
}

#flex-container {
  background-color: var(--wrapper-color);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}

header {
  background-color: var(--header-color);
  position: relative;
  height: 2rem;
}

main {
  margin: 15px;
  width: 92vmin;
  aspect-ratio: 1/1;
  background-color: var(--main-color);
}

#panel {
  background-color: var(--panel-color);
  flex-grow: 0.90;
  min-width: 25vmin;
}

footer {
  background-color: var(--footer-color);
  height: 2rem;
}

fieldset input {
  box-sizing:border-box;
}

dialog h2, h3, h5 {
  margin: 0;
}

dialog article {
  padding: 10px 20px;
  margin: 10px 0;
  width: 60vw;
  height: 50vw;
  max-width: 600px;
  max-height: 300px;
  overflow-y: auto;
  border-style: groove;
}

form {
  margin: 8px;
  font-size: 1.125rem; 
  line-height: 1.5; 
}

form *:focus {
  outline: 2px solid slateblue;
  outline-offset: 2px;
}

#settingDlg form {
  width: 60vw;
  height: 70vw;
  max-width: 600px;
  max-height: 290px;
  border-style: solid;
  border-width: 1px;
  padding: 15px;
  margin: 5px 2px;
}
#setDlgNames {
  margin: 10px;
  max-height: 200px;
  height: 40vw;
  overflow-y: auto;
}

#winnerDlg article {
  padding: 5px 20px;
  margin: 10px 0;
  width: 40vw;
  height: 35vw;
  max-width: 200px;
  max-height: 150px;
  overflow-y: auto;
  border-style: groove;
}

.credit {
  float: left;
  text-align: left;
}

.source {
  float: right;
  text-align: right;
} 

span.bold {
  font-size: 40px;
  font-weight: 700;
}

img.invisible {
  visibility: hidden;
}

img.indicator {
  width: 30px;
}

.anchor-btn {
  background-color: blue;
  color: white;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  padding: 2px;
}

/***************************************/
/* Setup the hamburger button and logo */
/***************************************/

.mnu-button {
  cursor: pointer;
  float: left;
  /* Cannot select for copy/paste */
  user-select: none;
}

.mnu-logo {
  padding: 0;
  margin: 0 0.5rem;
  float: right;
  display: block;
  color: var(--menu-logo-color);
  font-size: 1.46rem;
  text-decoration: none;
}

.mnu-long {
  display: none;
}

.mnu-short {
  display: inline;
}

.mnu-icon {
  float: left;
  /* Left of the logo */
  position: relative;
  top: 1rem;
  /* Move it down to the center */
  display: block;
  background: var(--menu-logo-color);
  height: 2px;
  width: 18px;
  /* Make the meat disappear */
  transition: background .2s ease-out;
}

.mnu-icon::before,
.mnu-icon::after {
  background: var(--menu-logo-color);
  /* Make an opaque background  */
  content: '';
  /* but keep the content empty */
  display: block;
  height: 100%;
  position: absolute;
  transition: all .2s ease-out;
  width: 100%;
}

/* Bottom */
.mnu-icon::before {
  top: 5px;
}

/* Top */
.mnu-icon::after {
  top: -5px;
}

/*********************************************************/
/*            menu list                                  */
/*********************************************************/
.mnu-list {
  display: inline-block;
  clear: both;
}

.mnu-list, .mnu-list ul {
  margin: 0;
  padding: 0;
  text-align: left;
  list-style: none;
  display: none;
}

.mnu-list li {
  position: relative;
  display: block;
  z-index: 10;
  width: 8rem;
  float: none;
  padding: 0.5rem 0 .5rem 0.5rem;
  background-color: var(--header-color);
  color: var(--menu-text-color);
}

.mnu-list li:hover {
  background-color: var(--menu-back-hover);
  color: var(--menu-text-hover);
  cursor: grab;
}

.mnu-list ul {
  margin: 0;
  padding: 0;
  /* Position the submenu */
  position: absolute;
  top: 0;
  left: 8.5rem;
}

.mnu-list li:hover ul {
  /* Display our submenu */
  display: block;
}

/********** Hamburger Button has Focus. *****************/

.mnu-button:focus~.mnu-list {
  /* Display the menu */
  display: block;
}

.mnu-button:focus .mnu-icon {
  background: transparent;
}

.mnu-button:focus .mnu-icon::before {
  transform: rotate(-45deg);
}

.mnu-button:focus .mnu-icon::after {
  transform: rotate(45deg);
}

.mnu-button:focus .mnu-icon::before,
.mnu-button:focus .mnu-icon::after {
  top: 0;
}

.mnu-button:focus {
  pointer-events: none;
}

/***********************************************************/

@media only screen and (min-width: 60rem) {

  /* Hide the hamburger button */
  .mnu-icon {
      display: none;
  }

  /* Expand our logo */
  .mnu-short {
      display: none;
  }

  .mnu-long {
      display: inline;
  }

  .mnu-button:focus~.mnu-list {
    /* Display the menu */
    display: inline-block;
  }
  
  /* Display the menu and move it to the left */
  .mnu-list {
      clear: none;
      display: inline-block;
      text-align: center;
      margin: 0;
      padding: 0 0.5rem;
  }

  .mnu-list ul {
      top: 2rem;
      left: 0;
      text-align: center;
  }

  .mnu-list li {
      float: left;
      padding: 0.45rem;
  }
}