
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&display=swap');

/***************************** SYL + TOP LINK ***************************************************/


:root {
    --body-color: rgb(211, 235, 219);;
    --body-background-color: rgb(24, 89, 133);
    --link-color: #04c2f1;
    --link-hover-color: #ffff00;
    --font-header: Arial, Helvetica, sans-serif;
    --font-body: Arial, Helvetica, sans-serif;

}

body {
   width: 100%;
   padding: 0;
   margin: 0;
   color: var(--body-color);
   background-color: var(--body-background-color);
   font-size: 7.5 vmin;
   font-family:  var(--font-body);
}

a, a:visited {
 color: var(--link-color);
}
a:hover {
 color: var(--link-hover-color);
}
a:focus {
  outline: none;
  text-decoration: none;
}
.container {
 display: grid;
 grid-template-rows: 50px auto;
}
.container-homelink {
 grid-row: 1 / 2;
 text-align: left;
}

.homelink {
 width: 50px;
 height: 20px;
 margin: 10px 10px 10px 10px;
 padding-bottom: 10px;
 padding-right: 10px;
 border-right: 1px solid var(--link-color);
 border-bottom: 1px solid var(--link-color);
 border-radius: 0px 0px 10px 0px;
}
.homelink a{
 text-decoration: none;
}
.homelink a:hover {
 text-decoration: underline;
}
.homelink a:focus {
    outline: none;
}

.game-container {
    grid-row: 2 / 3;
    height: 90vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.title-container {
  padding: 10px 10px 10px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.title-container h1 {
  align-self: center;
  display: block;
  width: 100%;
  padding-top: 10px;
  color: var(--link-color);
    font-size: 48px !important;
}
.user-message {
  grid-row: 2 / 3;
}
.winlose {
  color: #ffff00;
}

/********************************************************************* GAME ************************************/

*, *::before, *::after {
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}

#game-board {
    --cell-gap: 2vmin;
    --cell-size: 20vmin;
    --grid-size: 4;
    display: grid;
    grid-template-columns: repeat(var(--grid-size), var(--cell-size));
    grid-template-rows: repeat(var(--grid-size), var(--cell-size));
    background-color: rgb(211, 235, 219);
    gap: var(--cell-gap);
    border-radius: 1vmin;
    padding: var(--cell-gap);
    position: relative;
    font-size: 7.5vmin;
  }
  
.cell {
    background-color: rgb(143, 217, 219);
    border-radius: 1vmin;
  }

.tile {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 1vmin;
    width: var(--cell-size);
    height: var(--cell-size);
    font-weight: bold;
    background-color: hsl(200, 50%, var(--background-lightness));
    color: hsl(200, 25%, var(--text-lightness));
    top: calc(var(--y) * (var(--cell-size) + var(--cell-gap)) + var(--cell-gap));
    left: calc(var(--x) * (var(--cell-size) + var(--cell-gap)) + var(--cell-gap));
    animation: show 200ms ease-in-out;
    transition: 100ms ease-in-out;
}

@keyframes show {
    0% {
      opacity: .5;
      transform: scale(0);
    }
  }

