* {
    box-sizing: border-box;
    font-family:Arial, Helvetica, sans-serif;
    color: #002C46;
  }
  
  header{
    border-bottom: 1px solid #acacac;
    padding-bottom: 45px;
    text-align:center;
    font-size: 30px;
    font-weight: bold;
  }
  footer{
    width: 100%;
    font-size: 10pt;
    position: fixed; 
    bottom: 0;
    padding-bottom: 10px;
    border-top: 1px solid rgb(172, 172, 172);
    background-color: #FFF;
  }
  main{
    margin: 5px;
    font-size: 20px;
  }
  a{
    text-decoration: none;
    color: #002C46;
  }
  .subtitle{
    font-weight: bold;
    display: flex;
    flex-direction:row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
  }
    .subtitle2 {
      font-weight: bold;
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      font-size: 16px;
    }
  .game-players{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 240px;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
  }
  player{
    height: 50px;
    width: 50px;
    border-radius: 50%;
    border: 1px solid #002C46;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 24px;
  }
  .player-selected{
    background-color: #00EBB9;
  }
  .flex-col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
  }
  .flex-col-hidden {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
  }
  .flex-row{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
  }
  .number-pad-number{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    width: 50px;
    border: 1px solid #002C46;
    font-size: 24px;
  }
  .scores{
    border: 1px solid #acacac;
    display: flex;
    flex-direction: column;
    justify-content:space-between;
    align-items: center;
    gap: 10px;
    padding: 10px;
  }
  .tab_menu{
    border: 1px solid #acacac;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 10px;
    
    margin-top: 5px;
    width: 250px;
    min-height: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .small {
    font-size: 10pt;
  }

  table{
    /*border-bottom: 1px solid #002C46;*/
    border-collapse: collapse;
    table-layout: fixed;
    width: 95%;
    text-align: center; 
    font-size: 16px;
  }
  td:first-child, th:first-child {
    font-weight: bold;
    white-space: nowrap; /* prevent text wrapping */
    text-overflow:ellipsis; /* use ... to show more text is hidden*/
    overflow: hidden; /* hide text that doesn't fit */
    width: 45px;
  }
  td:nth-child(1n+2), th:nth-child(1n+2){  /* select all but the first column */
    width: 30px;
  }
  td:last-child, th:last-child {
    width: 40px;
    font-weight: bold;
  }
  th {
    font-weight: bold;
    background-color: #D9D9D9;
    height: 20px;
  }
  tr{
    border-bottom: 1px solid #002C46;
    padding-bottom: 25px;
  }

  .timer {
    font-size: 40pt;
  }
  button {
    background-color: #FF9000; /* Green */
    border: none;
    color: white;
    padding: 2px 4px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 20px;
    margin-top: 2px;
  }
  button2 {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FF9000;
    border: none;
    width: 75px;
    height: 30px;
    text-align: center;
    font-size: 16px;
    border-top-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-top-left-radius: 15px;
    border-bottom-right-radius: 15px;
  }
  buttonLink{
    color: #FF9000;
    font-size: small;
    padding-left: 10px;
    padding-right: 10px;
  }
  .b2{
    background-color: #D9D9D9;
  }

  .logo {
    float: left;
    width: 100%;
    text-align: left;
    text-decoration: none;
    font-weight: normal;
  }
  .hamb {
    float: right;
    text-align: center;
    cursor: pointer;
    color: #FF9000;
  }
  
  .cards{
    padding-top: 10px;
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    gap: 25px 60px;
    flex-wrap: wrap;
  }
  
  .large-card{
    width: 370px;
    height: 550px;
    flex-shrink: 0;
    border-radius: 10px;
    border: 1px solid #000;
    background-color: transparent;
    text-align: center;
  }
  .mini-card {
    margin: 10px;
    width: 150px;
    min-height: 50px;
    border-radius: 10px;
    border: 1px solid #000;
    background-color: transparent;
    text-align: center;
    display: inline-block
  }
    .horz-mini-card {
      margin: 10px;
      width: 320px;
      min-height: 50px;
      border-radius: 10px;
      border: 1px solid #000;
      background-color: transparent;
      text-align: center;
      display: inline-block
    }
  .flip-card {
    width: 220px;
    height: 320px;
    flex-shrink: 0;
    border-radius: 10px;
    border: 1px solid #000;
    background-color: transparent;
    text-align: center;
    perspective: 1000px; /* Remove this if you don't want the 3D effect */
  }
  
  /* This container is needed to position the front and back side */
  .flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
  }
  
  /* Do an horizontal flip when you move the mouse over the flip box container */
  .flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
  }
  
  /* Position the front and back side */
  .flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden; /* Safari */
    backface-visibility: hidden;
  }
  
  /* Style the front side (fallback if image is missing) */
  .flip-card-front {
    background: var(--card_color, #FFDEAC);
    border-radius: 10px;
    color: black;
  }
  
  /* Style the back side */
  .flip-card-back {
    border-radius: 10px;
    background-color: black;
    color: white;
    transform: rotateY(180deg);
  }
  @media only screen and (max-width: 620px)
   {
    /* For mobile phones: old (max-width: 620px)*/
    .menu, .main, .right {
      width: 100%;
    }
    .cards{
      padding-top: 5px;
      gap: 20px 20px;
    }
    .button2{
      display: none;
    }
  }
  @media (max-width: 401px){
    body{
      .large-card { height: auto;
    }
  }
}
        .overlay {
          height: 100%;
          width: 0;
          position: fixed;
          z-index: 1;
          top: 0;
          left: 0;
          background-color: rgb(0, 0, 0);
          background-color: rgba(0, 0, 0, 0.9);
          overflow-x: hidden;
          transition: 0.5s;
        }
    
        .overlay-content {
          position: relative;
          top: 25%;
          width: 100%;
          text-align: center;
          margin-top: 30px;
        }
    
        .overlay a {
          padding: 8px;
          text-decoration: none;
          font-size: 36px;
          color: #818181;
          display: block;
          transition: 0.3s;
        }
    
        .overlay a:hover,
        .overlay a:focus {
          color: #f1f1f1;
        }
    
        .overlay .closebtn {
          position: absolute;
          top: 20px;
          right: 45px;
          font-size: 60px;
        }
    
        @media screen and (max-height: 450px) {
          .overlay a {
            font-size: 20px
          }
    
          .overlay .closebtn {
            font-size: 40px;
            top: 15px;
            right: 35px;
          }
        }