*, *:after, *:before {
  box-sizing: border-box;
}

body {
  font-family: Nunito, sans-serif;
  #min-height: 110vh;
  #margin-top: 0;
  padding-top: 4em;
  display: grid;
  #place-items: center;
  color: var(--dark);
  width: 100%;
}
:root {
  --dark: #53565a;
  --light: #a7a8aa;
  --highlight: #E07A5F;
  --background: #7BA7BC;
  --transition: transform .15s;
  --ratio: 4;
  --maxBoardWidth: 80vmin;
  --smallColumn: calc(240px + 2em);
  --backgroundImage: "";
  --radius: 8px;
}
.nav-link {
	font-family: Nunito, sans-serif;
}
.active, .navbar-dark .navbar-nav > li > a:hover{
  background-color: #DA5F3E;
  #color: #3ab380;
}
@media (min-width: 480px) {
  :root {
    --maxBoardWidth: 60vh;
  }
}
@media (min-width: 1020px) {
  :root {
    --maxBoardWidth: 70vh;
  }
}
h6 {
  /* margin: 20px; */
  font-family: "Paytone One", Helvetica, sans-serif;
  color: #202020;
  text-transform: uppercase;
}
h6 span {
  display: block;
  margin: 11px 0 6px 0;
  font-size: 30px;
  line-height: 0px;
  color: #b3614c; 
  text-shadow: 0 13.36px 8.896px #9c5542,0 -2px 1px #f8f5f2;
  letter-spacing: 2px;
}
a {
  #color: #E07A5F;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
form, button, input {
  font-family: Nunito, sans-serif;
  color: var(--dark);
  cursor: pointer;
}

.re-btn {
  background-color: #E07A5F;
  color: #E8E8E8;
}
.re-btn:hover {
  background-color: #e9a18f;
  color: #FFF;
}
#custom-image {
  width: 100%;
  max-width: 40em;
  align-items: center;
}
#custom-image input {
  width: 100%;
  padding: 0.25em;
  font-size: 0.8em;
  margin: 0.5em 0 0;
  border: none;
}
#custom-image + #solution {
  margin-top: 0.5em;
}

#board {
  text-align: center;
  display: grid;
  place-items: center;
  position: relative;
  width: 100%;
  min-height: 100%;
  grid-gap: 2em;
}
@media (min-width: 769px) {
  #board {
    align-items: start;
    grid-template-columns: 1fr var(--smallColumn);
  }
}
@media (min-width: 769px) {
  #board #game-group {
    justify-content: center;
  }
}
#board #counter {
  font-size: 1.5em;
  width: var(--maxBoardWidth);
  background: rgba(0, 0, 0, 0.1);
  position: relative;
  line-height: 1.6;
  border-radius: 5vmin;
  overflow: hidden;
}
#board #counter #progress-bar {
  width: 46%;
  height: 100%;
  content: "";
  background: var(--highlight);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  transition: width 0.4s ease-in-out;
}
#board #counter strong {
  position: relative;
  z-index: 2;
  color: #fff;
}
#board label {
  cursor: pointer;
}
#board form {
  width: var(--maxBoardWidth);
  height: var(--maxBoardWidth);
  border-radius: var(--radius); 
  border: 3vmin solid #F1EBE5;;
  background: rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: flex;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
#board form + p {
  margin: 1em 0;
}
#board form.dim .tile span:before {
  content: "";
  width: 100%;
  height: 100%;
  padding: 100%;
  background: rgba(0, 0, 0, 1);
  position: absolute;
  left: -50%;
  top: -50%;
  z-index: -1;
}
#board form.dim .tile.correct span:before {
  background: transparent;
}
#board form.invertNumbers .tile {
  color: #fff;
}
#board form.invertNumbers .tile.correct {
  color: var(--highlight);
}
#board form.showNumbers .square.possible-move:hover span {
  transform: scale(1.3);
}
#board > p {
  font-size: 1.4rem;
}
#board aside#options {
  width: var(--maxBoardWidth);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: left;
  position: relative;
  #background: var(--light);
  #background: var(--background);
  background: #F1EBE5;
  padding: 1.5em 2em;
  border-radius: var(--radius);
  flex-direction: column;
} 
@media (min-width: 769px) {
  #board aside#options {
    width: 100%;
  }
}
#board aside#options select {
  width: 100%;
  padding: 0.5em;
  font-size: 1em;
  font-family: "Nunito", sans-serif;
  color: #53565a;
  background: #fff;
  margin-top: 0.25em;
  cursor: pointer;
}
#board aside#options #solution {
  width: 100%;
  height: 0;
  padding: 50% 0;
  opacity: 0.8;
  background-size: 100% 100%;
  position: relative;
  transition: opacity 0.3s ease;
  display: grid;
  line-height: 0;
  place-items: center;
  text-align: center;
  font-size: 2em;
  color: rgba(255, 255, 255, 0.5);
  text-shadow: 0px 0px 0.5em rgba(0, 0, 0, 0.5);
}
#board aside#options #solution:hover {
  opacity: 1;
}
#board aside#options #solution:after {
  content: "";
  position: absolute;
  display: block;
  width: calc(100% / var(--ratio));
  height: calc(100% / var(--ratio));
  background: var(--dark);
  bottom: 0;
  right: 0;
}
#board aside#options .options-group {
  width: 100%;
  margin: 0.75em 0 0;
}
#board aside#options .options-group:first-of-type {
  margin-top: 2em;
}
#board aside#options .options-group input[type=checkbox] {
  transform: scale(1.5);
  margin-right: 0.5em;
}
#board aside#options .options-group label {
  vertical-align: middle;
}
#board aside#options button {
  margin: 1em 0;
  padding: 2vmin 3vmin;
  font-size: 1rem;
  border-radius: 1vmin;
  #border: 0.5vmin solid var(--light);
  text-transform: uppercase;
  outline-color: var(--highlight);
  font-family: Nunito, sans-serif;
  
}

#innerBoard {
  display: grid;
  height: 100%;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
#innerBoard .tile {
  cursor: initial;
  padding: 0;
  font-size: calc(4.2vmin - (var(--ratio) * .1vmin));
  display: grid;
  text-align: center;
  place-items: center;
  align-content: stretch;
  border: none;
  background: #fff;
  background: var(--backgroundImage);
  position: relative;
  z-index: 1;
  background-size: calc(100% * var(--ratio));
  background-position: 0% 0%;
  overflow: hidden;
}
@media (min-width: 480px) {
  #innerBoard .tile {
    font-size: calc(4vmin - (var(--ratio) * .2vmin));
  }
}
#innerBoard .tile span {
  transition: transform 0.1s;
  pointer-events: none !important;
}
#innerBoard .tile span:before {
  content: "";
  width: 100%;
  height: 100%;
  padding: 100%;
  background: transparent;
  position: absolute;
  left: -50%;
  top: -50%;
  z-index: -1;
}
#innerBoard .tile:focus {
  outline: none;
}
#innerBoard .tile:focus span {
  transform: scale(1.5);
}
#innerBoard .tile.possible-move {
  cursor: pointer;
}
#innerBoard .tile.correct {
  color: var(--highlight) !important;
}
#innerBoard .tile:empty {
  background: var(--dark) !important;
  border-color: var(--dark);
  border: none;
  z-index: 0;
}
#innerBoard .tile:empty:focus {
  outline: none;
  border-radius: 8px;
  outline-offset: -1vmin;
  -webkit-animation: swell 0.7s infinite alternate ease-in-out;
          animation: swell 0.7s infinite alternate ease-in-out;
}
#innerBoard .tile:empty:focus:before {
  width: 50%;
  height: 50%;
  content: "";
  background-color: #E07A5F;
  position: absolute;
  top: calc(50% - 25%);
  left: calc(50% - 25%);
  transform: rotate(45deg);
}
#innerBoard .tile:empty:focus:after {
  content: "";
  width: 45%;
  height: 45%;
  background-color: var(--dark);
  position: absolute;
  top: calc(50% - 22.5%);
  left: calc(50% - 22.5%);
  z-index: 3;
}

.loader {
  display: flex;
  align-items: center;
  position: absolute;
  text-align: left;
  top: -0.5em;
  left: -0.5em;
  width: calc(100% + 1em);
  height: calc(100% + 1em);
  color: #fff;
  background: var(--dark);
  opacity: 0.9;
  z-index: 10;
  text-transform: uppercase;
}
.loader p {
  font-size: calc(.6em + 4vmin);
  padding: 0 1.5em;
}

.fade-enter-active,
.fade-leave-active {
  transition: all 0.2s;
}

.fade-enter,
.fade-leave-to {
  opacity: 0;
  transform: translateY(0.5em);
}

.dot {
  animation: pulse 0.6s infinite reverse;
  -webkit-animation-delay: 0;
          animation-delay: 0;
}
.dot + .dot {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.dot:last-of-type {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.sr {
  position: absolute;
  left: -100vw;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.slide-move {
  transition: var(--transition);
  filter: blur(0.3vmin);
}
.slide-move span:before {
  transition: all 0.3s ease;
}
input[type='checkbox']:checked {
  accent-color: var(--dark);
  #color: #FFF;
}
.copyright-area{
  padding: 15px 0;
}
.copyright-text p {
  margin: 0;
  font-size: 14px;
  color: #F1EBE5;
}
.copyright-text p a{
  color: #E07A5F;
}
.footer-menu li {
  display: inline-block;
  margin-left: 20px;
}
.footer-menu li a {
  font-size: 14px;
  color: #878787;
}

.footer-menu ul {
  margin: 0px;
  padding: 0px;
}

.float{
	position:fixed;
	width:100%;
	height:74px;
	bottom:0px;
	right:0px;
	#background-color:#E07A5F;
	color:#FFF;
	#border-radius:50px;
	text-align:center;
	box-shadow: 2px 2px 3px #999;
  z-index: 1;
  #margin-top: 100px;
}
.my-float{
	margin-top:22px;
}
@media screen and (max-width: 768px) {
  /* For mobile phones: */
  .container-md {
    margin-top: 0;
    padding-top: 0;
  }
  body  {
    padding-bottom: 10em;  
  }
  :root {
    --maxBoardWidth: 90vmin;
  }  
}
@-webkit-keyframes swell {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

@keyframes swell {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
@-webkit-keyframes pulse {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes pulse {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}