body{
    background-color: #312e2b;
    font-family: garamond;
    margin-top: 0px;
}

textarea {
    width: 85%;
    height: 200px;
    margin: 10px;
    padding: 10px;
}

.title{
    color: #ccc;
    margin: 20px auto 0px auto;
    font-weight: bold;
    font-size: 30px;
    line-height: 100%;
    text-align: left;
    -webkit-user-select: none; /* Safari */        
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+/Edge */
    user-select: none; /* Standard */
}

a{
    text-decoration: none;
}

h2{
    margin:auto;
    text-align: center;
    margin-top: 20px;
}
h1{
    margin:auto;
    text-align: center;
    font-size: 36px;
    margin-top: 20px;
}
h3, p, li{
    font-size: 20px;
    color: #312e2b;
}
li {
    margin-bottom:5px;
}

.welcomer {
    color:white;
    text-align: left;
    display: inline;
    margin: auto;
}

article{
    width: 90%;
    margin: auto;
}

.row {
    display: flex;
    min-height: 150vh;
    margin-top: 30px;
}
.column {
    float: left;
    padding: 10px;
}
.left{
    width:70%;
}
.right{
    width:30%;
    padding-right: 0px;
}

label{
    font-size:20px;
}


.pointer{
    cursor: pointer; 
}

.closeButton{
    padding:10px 10px 0px 0px; 
    margin: 0px;
    cursor:pointer;
    float: right;
    font-size: 22px;
    font-weight: bold;
}

button{
    font-family : inherit;
    margin: 15px;
    margin-bottom: 10px;
    background-color: #191919;
    color: #ccc;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    display: block;
    font-size: 18px;
    cursor: pointer;
    border: 1px solid #ccc;
    border-radius: 5px;
    width: 90%;
}
button.playAgain {
    background-color: #04AA6D;
    color: white;
    padding: 14px 20px;
    margin: 8px 0;
    border: none;
    cursor: pointer;
    width: 40%;
    margin-bottom: 20px;
    display: inline-block;
    font-weight: bold;
    opacity: 0.8;
}
button.playAgain:hover {
    opacity: 1;
}

button.resignButton{
    background-color: #b33430;
    color: white;
    border: 1px solid black;
    margin:auto;
    margin-bottom:20px;
    display:inline-block;
    font-weight: bold;
    width: 100%;
    line-height: 120%;
}
button.resignButton:hover{
    background-color:#c93631;
}
button.resignButton:disabled{
    opacity: 0.5;
    cursor: default;
}


.rotateButton{
    width:80%; margin:15px auto 0px auto;
}
.rotateButton:disabled{
    opacity:0.5;
    cursor: default;
}

.piecePointsTable{
    margin:auto;
    width:80%;
    font-size:18px;
    margin-bottom:10px;
}

/* navigation menu */
.topnav {
    background-color: transparent;
    overflow: hidden;
    top: 0;
}
.topnav a {
    float: left;
    display: block;
    color: #f2f2f2;
    text-align: center;
    padding: 5px;
    text-decoration: none;
    font-size: 17px;
}
.topnav a img {
    cursor: pointer;
    height: 45px;
    padding: 10px;
    padding-bottom: 0px;
}

/* board asthetics */
#board {
    width: 100vh;
    height: 100vh;
    margin: 0.5em;
    text-align: center;
    margin: auto;
    background-color: #312e2b;
    user-select: none;
}

.sticky{
    position: sticky;
    top: 0px;
}

#board div {
    float: left;
    width: 4.16vh;
    height: 4.16vh;
    border-radius: 0%;
}

.notTile{
    pointer-events: none;
}
#a1{
    visibility: hidden;
}

.coordinateHover{
    pointer-events: none;
    font-weight: bold;
    line-height: 4.16vh;
    fill: #312e2b;
    font-size: 18px;
    opacity: 0.5;
}

/* these are the promotion lines */
/* for standard */
.horizontalLine  {
    box-sizing:border-box;
    border-top: 1px solid #5a5755;
}
.verticalLine {
    box-sizing:border-box;
    border-left: 1px solid #5a5755;
}

/* for mini */
.bottomRightRadius {
    border-bottom-right-radius:15%;
}
.topRightRadius {
    border-top-right-radius:15%;
}
.topLeftRadius {
    border-top-left-radius:15%;
}
.bottomLeftRadius {
    border-bottom-left-radius:15%;
}
/*  */

.settingsBox {
    margin-bottom: 20px;
    transform: scale(1.25);
    margin-left: 15px;
}

/* menu style */
.menuContainer{
    width: 100%;
}

.menu{
    width: 100%;
    background-color: whitesmoke;
    border-bottom: 1px #312e2b solid;
    margin-bottom: 0px;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    -webkit-user-select: none;  /* Chrome all / Safari all */
    -moz-user-select: none;     /* Firefox all */
    -ms-user-select: none;      /* IE 10+ */
    user-select: none;
}

.menuHeaderContainer{
    background-color: #ccc;
}

.menuHeaderContainer:hover{
    background-color: whitesmoke;
    cursor: pointer;
}

.menuHeader{
    font-size: 22px;
    width: 90%;
    padding: 5px;
}

.menuTable{
    width: 100%;
    display: none;
}

.showMenuButton {
    display:none; background-color:#ccc; color:black; width: 25%; margin: auto;
}

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

/* dragging and moving style */
.ui-draggable{
    cursor: move;
}

#board div.ui-draggable-dragging {
    border: none;
    background-color: transparent;
}

.hide {
    transition: 0.01s;
    visibility: hidden;
}

/* css for "Pieces Captured By Each Player" section */
.captured_div{
    float: left;
    width: 4.16vh;
    height: 4.16vh;
    border: none;
}

.capturedContainer {
    margin: auto;
    width: 75vw;
    margin-top: 75px;
    margin-bottom: 100px;
}
.capturedTable{
    background-color: none;
    padding: 20px;
    border-collapse: separate;
    border-spacing: 1em 0em;
    padding: 0 2em 1em 0;
    width: 100%;
    min-height: 100px;
}
.capturedTable tbody {
    vertical-align: top;
}
.capturedTable th {
    background: white;
    width: 20%;
    padding-top: 10px;
}
.capturedTable td {
    background: white;
    padding: 10px;
    width: 20%;
}

/* for player data section */
.playerTable {
    width:100%; margin:auto; text-align:left;
}
.playerTable img { height:100%; }
.playerTable td {
    line-height: 100%; font-size: 18px; width:14%; height:30px; padding:2.5px;
    max-width: 100px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* for move container */
.moveNotesContainer {
    max-height: 300px;
    overflow-y: scroll;
    -ms-overflow-style: none;  /* Internet Explorer 10+ */
    scrollbar-width: none;  /* Firefox */
}
.moveNotesContainer::-webkit-scrollbar { 
    display: none;  /* Safari and Chrome */
}

#moveNotesTable {
    border-collapse: collapse;
}
.moveNotesRow {
    line-height: 200%;
}
.moveNotesRow:hover {
    background: #ccc;
}
.roundNumber {
    padding-left: 5px;
    padding-right: 5px;
    text-align: left;
    display: inline-block;
    font-weight: bold;
    font-size: 16px;
}
.moveNoteCell {
    text-align: left;
    font-size: 16px;
    font-weight: bold;
    padding: 0px 5px 0px 5px;
}

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

/* Center the image and position the close button */
.imgcontainer {
    text-align: center;
    margin: 24px 0 12px 0;
    position: relative;
}

.pawnContainer {
      display: block;
      width: 80%;
      margin: 16px auto 16px auto;
      text-align:center;
}
.kingContainer {
    display: block;
    width: 80%;
    margin: 16px auto 16px auto;
    text-align:center;
}

.rotate {
    animation: rotation 15s infinite linear;
}
.rotate2 {
    animation: rotation 10s infinite linear;
}
.rotate3 {
    animation: rotation_rewind 15s infinite ease;
}
.rotate4 {
    animation: rotation_rewind 7.5s infinite ease-in-out;
}
.rotate5 {
    animation: rotation 7.5s infinite linear;
}
.rotate6 {
    animation: rotation 12s infinite linear;
}
.rotate7 {
    animation: rotation 9s infinite ease-out;
}

@keyframes rotation {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(359deg);
    }
}
@keyframes rotation_rewind {
    from {
      transform: rotate(360deg);
    }
    to {
      transform: rotate(1deg);
    }
}

img.pawn {
      width: 10%;
}
  
.container {
    padding: 16px;
    text-align: center;
}


span {
      margin:20px;
}
  
.wrapper{
    -webkit-filter: blur(8px);
    -moz-filter: blur(8px);
    -o-filter: blur(8px);
    -ms-filter: blur(8px);
    filter: blur(8px);
}

.loseModal {
    display: none; 
    position: fixed; /* Stay in place */
    z-index: 2; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
}
.logInModal {
    display: none; 
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
}
.modal-content {
    background-color: #fefefe;
    margin: 5% auto 15% auto; /* 5% from the top, 15% from the bottom and centered */
    border: 1px solid black;
    width: 60%;
}
ul {
    columns: 3;
    -webkit-columns: 3;
    -moz-columns: 3;
}
  
/* Add Zoom Animation */
.animate {
    -webkit-animation: animatezoom 0.6s;
    animation: animatezoom 0.6s
}

  
@-webkit-keyframes animatezoom {
    from {-webkit-transform: scale(0)} 
    to {-webkit-transform: scale(1)}
}
    
@keyframes animatezoom {
    from {transform: scale(0)} 
    to {transform: scale(1)}
}

/* leaderboard  */
.leaderboardContainer{
    background-color:transparent;
    border:none;
    height: 100%;
}

.leaderboardDiv{
    max-height: 75%;
    overflow-y: scroll;
    overflow-y: auto
}
/* scrollbar custom */
.leaderboardDiv::-webkit-scrollbar {
    width: 12.5px;
} 
.leaderboardDiv::-webkit-scrollbar-track {
    background: #181c26;
    border-radius: 10px;
}
.leaderboardDiv::-webkit-scrollbar-thumb {
    border-radius: 10px;
    border: 2px solid rgb(137, 228, 1);
    background-color: transparent;
}
.leaderboardDiv::-webkit-scrollbar-thumb:hover {
    background: #8bb15b;
}

table.leaderboard{
    color: white;
    border-spacing: 0;
    margin: auto;
    border: 1px white solid;
    font-weight: bold;
    font-size: 20px;
}

.leaderboard th{
  background-color: rgb(53, 53, 53);
}

.leaderboard tr:nth-child(2) > td{
  border-top-width: 0;
}

.leaderboard tr{
  background-color:rgb(92, 92, 92);
}

.leaderboard th, .leaderboard td{
  margin: 0;
  padding: .5em 1.5em;
  text-align: center;
  border-width: 1px 0;
  border-color: gray;
  border-style: solid;
}

.leaderboard th{
  border-bottom-width: 2px;
}

.leaderboardCloser{
    text-align:center;
    font-size: 20px;
    font-weight: bold;
    margin-top: 10px;
    color: rgb(53, 53, 53);
    cursor: pointer;
}

.leaderboardRowHighlight{
    outline: rgb(137, 228, 1) thin solid;
    background-color: gray !important;
}


.whitePromotion {
    box-sizing:border-box;
    box-shadow: inset 0 0 25px white;
}
.blackPromotion {
    box-sizing:border-box;
    box-shadow: inset 0 0 25px black;
}
.redPromotion {
    box-sizing:border-box;
    box-shadow: inset 0 0 25px rgb(255, 121, 121);
}
.bluePromotion {
    box-sizing:border-box;
    box-shadow: inset 0 0 25px rgba(0, 0, 255, 0.555);
}
.yellowPromotion {
    box-sizing:border-box;
    box-shadow: inset 0 0 25px rgb(250, 250, 156);
}
.purplePromotion {
    box-sizing:border-box;
    box-shadow: inset 0 0 25px rgb(219, 119, 255);
}
.orangePromotion {
    box-sizing:border-box;
    box-shadow: inset 0 0 25px rgba(255, 132, 0, 0.767);
}
.greenPromotion {
    box-sizing:border-box;
    box-shadow: inset 0 0 25px rgb(129, 255, 129);
}

/* mobile optimize */
@media screen and (max-width: 600px) {

    body{
        margin: 4px;
    }

    p{
        width: 90%;
        margin: auto;
    }

    .row {
        display: inline-block;
    }
    .column {
        float: '';
        padding: 0px;
    }
    .left{
        width:100%;
        margin-top: 33%;
        margin-bottom: 15%;
    }
    .right{
        width:100%;
    }

    .capturedContainer{
        margin-top: 0px;
    }

    #board {
        width: 100vw;
        height: 100vw;
        padding: 0;
    }

    #board div {
        width: 4.1vw;
        height: 4.1vw;
    }
    
    .coordinateHover{
        line-height: 4.1vw;
        font-size: 3.1vw;
    }
    
    .scoreboard{
        line-height: 4.1vw;
        font-size: 4.1vw;
    }

    .menu_item_div{
        width: 4.1vw;
        height: 4.1vw;
    }
    
    .capturedContainer{
        width: 95vw;
        margin: auto;
    }

    .captured_div{
        width: 4.1vw;
        height: 4.1vw;
    }

    .modal-content {
        margin: 2.5% auto 15% auto;
        width: 90%;
    }

    .container {
        padding: 8px;
    }

    .loginHeader {
        font-size: 25px;
    }
    .logInText {
        display: none;
    }
}