body
{
  background-image: url(../shared/img/backgrounds/wood-table.jpg);
  background-size: cover;
}

#puzzle {
	border-collapse: collapse;
}

#puzzle td.entry {
	background-color: #fff;
	border: 0.15em solid #000;
	color: #000;
	text-align: center;
	font-weight: bold;
}

#constructed_word {
	font-weight: bold;
}

#constructed_word.error {
	background-color: #f00;
	color: #ff0;
}

#puzzle td {
	background-color: rgba(0, 0, 0, 0.3);
	width: 2em;
	height: 2em;
}

#puzzle td input {
	width: 100%;
	height: 100%;
}

.css-grid-container
{
  display: grid;
  gap: 1.5rem;
  grid-template-areas: "header" "main";
  grid-template-rows: 88px 1fr;
  height: 100%;
  width: 100%;
}

.css-grid-header
{
  grid-area: header;
}

.css-grid-main
{
  display: flex;
  grid-area: main;
  overflow: hidden;
  padding-bottom: var(--footer-height);
  position: relative;
  width: 100%;
	font-size: 2vmin;
}

.css-grid-main > .container-fluid > .row
{
  height: 100%;
}

.board
{
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.pool-button,
.pool-letter,
.pool-row
{
  user-select: none;
}

.pool
{
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 29em;
  width: 29em;
  background-color: var(--color-neutral-gray-700);
  border-radius: 50%;
}

.pool-letter
{
  align-items: center;
  display: flex;
  justify-content: center;
  height: 1.75em;
  width: 1.75em;
  background-color: var(--color-neutral-gray-700);
  border-radius: 50%;
  cursor: pointer;
  font-size: 4em;
  transition: all .2s ease-in;
}

.pool-letter:only-child
{
  margin-top: -32px;
  margin-bottom: -32px;
}

.pool-row
{
  justify-content: space-around;
  display: flex;
  flex-direction: row;
}

#pool_row_2 {
	justify-content: space-between;
}

#pool_row_3 {
	justify-content: space-evenly;
}

.square
{
  align-items: center;
  display: inline-flex;
  justify-content: center;
  height: 2em;
  width: 2em;
  margin: 2px;
  background-color: var(--color-neutral-gray-700);
  line-height: 1em;
  transition: all .2s ease-in;
  user-select: none;
	font-weight: bold;
}

.letter
{
  border-radius: 4px;
  background-color: var(--color-neutral-gray-200);
  color: var(--color-neutral-gray-700);
}

.square-reveal
{
  background-color: white;
}

.square-correct
{
  background-color: var(--color-primary-blue-200);
}

.grid-row
{
  display: flex;
  justify-content: flex-start;
  flex-direction: row;
}

.tile
{
  background-color: #f5cf90;
  background-image: url("../img/veneer-birch-texture-fs8.png");
  box-sizing: border-box;
  box-shadow: 0 8px 4px -2px rgba(0, 0, 0, 0.4);
  border-style: solid;
  border-top-width: 3px;
  border-left-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 3px;
  border-top-color: rgba(255, 255, 255, 0.45);
  border-left-color: rgba(255, 255, 255, 0.25);
  border-right-color: rgba(0, 0, 0, 0.15);
  border-bottom-color: rgba(0, 0, 0, 0.3);
  border-radius: 4px;
  height: 80px;
  margin: 4px;
  position: relative;
  width: 80px;
}

.tile[data-letter]::before
{
  color: rgba(0, 0, 0, 0.6);
  content: attr(data-letter);
  font-family: 'Nanum Gothic', sans-serif;
  font-size: 56px;
  font-weight: 800;
  left: 50%;
  position: absolute;
  text-shadow: 4px 4px 6px #f5cf90, 0 0 0 rgba(0, 0, 0, 0.7), 1px 2px 1px rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  top: 50%;
  transform: translate(-50%, -50%);
}

.words
{
  align-items: flex-start;
  justify-content: start;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0;
  height: 25rem;
  font-size: 1rem;
  justify-content: space-around;
}

.words > div
{
  flex: 0 0 28px;
  font-family: var(--font-family-monospace);
  /* font-size: 20px; */
  letter-spacing: .07rem;
  line-height: 28px;
}

.words div {
    font-weight: 700;
}

.new-word
{
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  margin: 1rem auto;
  min-width: 300px;
  width: 50%;
}

:focus
{
  outline: none;
}

.location2
{
  visibility: hidden;
}

.current-word,
.points,
.time,
.backspace
{
  transition: all .2s ease-in;
}

.current-word
{
  width: 12em;
}

.correct
{
  background-color: rgba(0, 139, 172, 0.5);
  color: inherit;
}

.correct .correct
{
  background-color: transparent;
}

.incorrect,
.warning
{
  background-color: rgba(231, 79, 61, 0.5);
  color: white;
}

.selected
{
  background: var(--color-primary-blue-400);
  color: white;
  cursor: default;
}

.clicked
{
  background-color: rgba(0, 139, 172, 0.5);
  cursor: default;
  transition: all .2s ease-in;
}

.used
{
  animation: shake 0.5s;
  animation-iteration-count: infinite;
}

.no-select
{
  user-select: none;
}

@keyframes shake
{
  0%
  {
    transform: translate(1px, 0px);
  }

  10%
  {
    transform: translate(-1px, 0px);
  }

  20%
  {
    transform: translate(-3px, 0px);
  }

  30%
  {
    transform: translate(3px, 0px);
  }

  40%
  {
    transform: translate(1px, 0px);
  }

  50%
  {
    transform: translate(-1px, 0px);
  }

  60%
  {
    transform: translate(-3px, 0px);
  }

  70%
  {
    transform: translate(3px, 0px);
  }

  80%
  {
    transform: translate(-1px, 0px);
  }

  90%
  {
    transform: translate(1px, 0px);
  }

  100%
  {
    transform: translate(1px, 0px);
  }
}


.modal-end{
    position: fixed;
    width: 45%;
    padding: 2rem;
    display: none;
    background: rgba(220, 220, 220, 0.95);
    border: solid 1px #333;
    border-radius: 0.5rem;
    color: #111;
    font-size: 1.2rem;
    right: 2%;
    top: 50%;
    transform: translateY(-50%);
}

.title {
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    /* color: #000; */
    margin: 1rem;
}


.modal-end ul {
    list-style: none;
    text-align: center;
}


.modal-end ul li {
    margin: 1rem;
}


.push-to-right {
    margin-right: 5rem;
}


#fw_col1 {
    /* margin-right: 1.1rem; */
    text-align: left;
}

#fw_col2 {
    text-align: left;
}


#displayHelp {
    position: fixed;
    left: 1rem;
    top: 1rem;
}


.d-grid .btn-secondary, .d-grid .btn-danger{
    line-height: 1.3;
    padding: 7px 18px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX2xheW91dC5zY3NzIiwiX3Bvb2wuc2NzcyIsIl9zcXVhcmUuc2NzcyIsIl90aWxlLnNjc3MiLCJfd29yZHMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwibGF5b3V0XCI7XG5AaW1wb3J0IFwicG9vbFwiO1xuQGltcG9ydCBcInNxdWFyZVwiO1xuQGltcG9ydCBcInRpbGVcIjtcbkBpbXBvcnQgXCJ3b3Jkc1wiO1xuXG4ubmV3LXdvcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbjogMXJlbSBhdXRvO1xuICBtaW4td2lkdGg6IDMwMHB4O1xuICB3aWR0aDogNTAlO1xufVxuXG46Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubG9jYXRpb24yIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uY3VycmVudC13b3JkLFxuLnBvaW50cyxcbi50aW1lLFxuLmJhY2tzcGFjZSB7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbjtcbn1cblxuLmN1cnJlbnQtd29yZCB7XG4gIHdpZHRoOiAxMmVtO1xufVxuXG4uY29ycmVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwxMzksMTcyLC41KTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgLmNvcnJlY3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5pbmNvcnJlY3QsXG4ud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMxLDc5LDYxLC41KTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNDAwKTtcbiAgY29sb3I6IHdoaXRlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5jbGlja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDEzOSwxNzIsLjUpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbjtcbn1cblxuLnVzZWQge1xuICBhbmltYXRpb246IHNoYWtlIDAuNXM7IFxuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgXG59XG5cbi5uby1zZWxlY3Qge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAwcHgpIDsgfVxuICAxMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAwcHgpOyB9XG4gIDIwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIDBweCk7IH1cbiAgMzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAwcHgpOyB9XG4gIDQwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMHB4KTsgfVxuICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAwcHgpOyB9XG4gIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIDBweCk7IH1cbiAgNzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAwcHgpfVxuICA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAwcHgpOyB9XG4gIDkwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMHB4KTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAwcHgpOyB9XG59IiwiYm9keSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL3NoYXJlZC9pbWcvYmFja2dyb3VuZHMvd29vZC10YWJsZS5qcGcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4gIFxuLmNzcy1ncmlkLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICBcImhlYWRlclwiXG4gICAgICAgIFwibWFpblwiO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogODhweCAxZnI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY3NzLWdyaWQtaGVhZGVyIHtcbiAgICBncmlkLWFyZWE6IGhlYWRlcjtcbn1cblxuLmNzcy1ncmlkLW1haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ3JpZC1hcmVhOiBtYWluO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWZvb3Rlci1oZWlnaHQpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gLmNvbnRhaW5lci1mbHVpZCA+IC5yb3cge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuXG4uYm9hcmQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufSIsIi5wb29sLWJ1dHRvbixcbi5wb29sLWxldHRlcixcbi5wb29sLXJvdyB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucG9vbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDMwZW07XG4gIHdpZHRoOiAzMGVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS03MDApO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5wb29sLWxldHRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogMS43NWVtO1xuICB3aWR0aDogMS43NWVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS03MDApO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiA0ZW07XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbjtcbn1cblxuLnBvb2wtbGV0dGVyOm9ubHktY2hpbGQge1xuICBtYXJnaW4tdG9wOiAtMzJweDtcbiAgbWFyZ2luLWJvdHRvbTogLTMycHg7XG59XG5cbi5wb29sLXJvdyB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuIiwiLnNxdWFyZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBoZWlnaHQ6IDJlbTtcbiAgd2lkdGg6IDJlbTtcblxuICBtYXJnaW46IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMCk7XG4gIGZvbnQtc2l6ZTogMS42ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW47XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubGV0dGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktMjAwKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS03MDApO1xufVxuXG4uc3F1YXJlLXJldmVhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uc3F1YXJlLWNvcnJlY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtMjAwKTtcbn1cblxuLmdyaWQtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufSIsIi50aWxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVjZjkwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwczovL3MzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL3MuY2Rwbi5pby80OTkxNC92ZW5lZXItYmlyY2gtdGV4dHVyZS1mczgucG5nKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDRweCAtMnB4IHJnYmEoMCwgMCwgMCwgLjQpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogM3B4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogM3B4O1xuICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NSk7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIG1hcmdpbjogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogODBweDtcbn1cblxuLnRpbGVbZGF0YS1sZXR0ZXJdOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgY29udGVudDogYXR0cihkYXRhLWxldHRlcik7XG4gICAgZm9udC1mYW1pbHk6ICdOYW51bSBHb3RoaWMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1zaGFkb3c6IDRweCA0cHggNnB4ICNmNWNmOTAsIDAgMCAwIHJnYmEoMCwgMCwgMCwgLjcpLCAxcHggMnB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufSIsIi53b3JkcyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogLjVyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgPiBkaXYge1xuICAgICAgICBmbGV4OiAwIDAgMjhweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNBQSxBQUFBLElBQUksQ0FBQztFQUNELGdCQUFnQixFQUFFLDZDQUE2QztFQUMvRCxlQUFlLEVBQUUsS0FBSyxHQUN6Qjs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLE1BQU07RUFDWCxtQkFBbUIsRUFDZixlQUNNO0VBQ1Ysa0JBQWtCLEVBQUUsUUFBUTtFQUM1QixNQUFNLEVB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 */
