/* Body Style */
body {
  background: #de6262; /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #de6262, #ffb88c); /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #de6262, #ffb88c); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

/* Selection Style */
::-moz-selection { /* Code for Firefox */
    background: #FFA5A7;
}
::selection {
    background: #FFA5A7;
}

/* Custom Scrollbar */
/* Width */
::-webkit-scrollbar {
    width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
    background-color: #de6262;
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.3);
    border-radius: 2px;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.6);
} 

/*Header Style */
.container-fluid {
  margin-top: 20px;
}
.brand-logo {
  color: rgba(0,0,0,0.8);
  font-family: 'Rubik Mono One', sans-serif;
}

/* Buttons Style */
button {
  border: 0;
  border-radius: 10px;
  background: linear-gradient( #de6262, #ffb88c);
  color: #FFF5D9;
  margin-top: 10px;
  box-shadow: -4px 5px 5px rgba(0, 0, 0, 0.3); 
  font-weight: bold;
}
button:hover {
  border: 2px solid #de6262;
}
button:focus {
    outline: 0 !important;
}
button a {
  color: #FFF5D9;
}
button a:hover {
  color: #FFF5D9;
  text-decoration: none;
}
button#sound-btn {
  width: 50px;
  height: 50px;
  border-radius: 100%;
}

/* Players Containers Style */
.container {
  margin-top: 20px;
  padding: 9px 29px;
  border-radius: 5px;
  box-shadow: -15px 20px 15px rgba(0, 0, 0, 0.3); 
  background-color: rgba(235, 235, 235, 0.9);
}
h5 {
  color: rgba(0,0,0,0.8);
  font-weight: bold;
}
h5 #power {
  color: #FFDC66;
}
h5 #health {
  color: #FF0000;
}
.cowboy {
  background-color: rgba(255, 184, 140, 0.8);
}
.bandit {
  background-color: rgba(222, 98, 98, 0.8);
}
.container img {
  float: left;
}
span {
  animation: blink 1s linear infinite;
  font-family: 'Concert One', cursive;
}

@keyframes blink{
  0% {
    opacity: 0;
    color: rgba(0, 0, 0, 0.5);
  }
  50% {
    opacity: .7;
    color: rgba(0, 0, 0, 0.7);
  }
  100% {
    opacity: 1;
    color: rgba(0, 0, 0, 0.8);
  }
}

/* Game Container Style */
#gameContainer {
  margin: auto;
}

/* Map Style */
#stage {
  position: relative;
  margin: auto;
  background: rgba(0,0,0,0.8) !important;
  border: 1px solid transparent;
  border-radius: 5px;
  box-shadow: -15px 20px 15px rgba(0, 0, 0, 0.3); 
  background-color: rgba(235, 235, 235, 0.9);
}
.cell {
  display: block;
  position: absolute;
}

/* Modals Style */
.modal {
  width: 90%;
  margin: 5%;
  color: rgba(0,0,0,0.7);
}
.modal-content {
  background: #ffb88c; /* fallback for old browsers */
  background: -webkit-linear-gradient(to right, #ffb88c, #de6262); /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(to right, #ffb88c, #de6262); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  border: 1px solid transparent;
  border-radius: 7px;
  max-height: calc(100vh - 210px);
  overflow-y: auto;
  padding: 15px;
}
.modal-content h1,
.modal-content h2,
.modal-content h4,
.modal-content h6 {
  font-family: 'Concert One', cursive;
}
.modal-footer {
  padding-top: 5px;
  border-top: 1px solid transparent;
}
ul {
  list-style: none;
}
.objects {
  display: inline;
}

/* Footer Style*/
footer {
  color: rgba(0,0,0,0.6);
  font-family: 'Parisienne', cursive;
}
footer i {
  color: #FFE38C;
}
footer i:hover {
  color: #FFDC66;
}

/* Animation of Movement */
.movement {
  background: rgb(255,200,140);
  padding: 1px 1px;
  color: #fff;
  border: none;
  border-radius: 5px;
  animation-name: movement;
  animation-duration: 1.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  /* Firefox 1+ */
  -webkit-animation-name: movement;
  -webkit-animation-duration: 1.5s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  /* Safari 3-4 */
  -moz-animation-name: movement;
  -moz-animation-duration: 1.5s;
  -moz-animation-timing-function: linear;
  -moz-animation-iteration-count: infinite;
}
@keyframes movement {
  0% {
    opacity: 0.99;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.33;
  }
}
/* Firefox 1+ */
@-webkit-keyframes movement {
  0% {
    opacity: 0.99;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.33;
  }
}
/* Safari 3-4 */
@-moz-keyframes movement {
  0% {
    opacity: 0.99;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.33;
  }
}
.movement2 {
  background: rgb(255,184,140);
  padding: 1px 1px;
  color: #fff;
  border: none;
  border-radius: 5px;
  animation-name: movement2;
  animation-duration: 1.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  /* Firefox 1+ */
  -webkit-animation-name: movement2;
  -webkit-animation-duration: 1.5s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  /* Safari 3-4 */
  -moz-animation-name: movement2;
  -moz-animation-duration: 1.5s;
  -moz-animation-timing-function: linear;
  -moz-animation-iteration-count: infinite;
}
@keyframes movement2 {
  0% {
    opacity: 0.66;
  }
  50% {
    opacity: 0.99;
  }
  100% {
    opacity: 0.33;
  }
}
/* Firefox 1+ */
@-webkit-keyframes movement2 {
  0% {
    opacity: 0.66;
  }
  50% {
    opacity: 0.99;
  }
  100% {
    opacity: 0.33;
  }
}
/* Safari 3-4 */
@-moz-keyframes movement2 {
  0% {
    opacity: 0.66;
  }
  50% {
    opacity: 0.99;
  }
  100% {
    opacity: 0.33;
  }
}
.movement3 {
  background: rgb(255,165,140);
  padding: 1px 1px;
  color: #fff;
  border: none;
  border-radius: 5px;
  animation-name: movement3;
  animation-duration: 1.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  /* Firefox 1+ */
  -webkit-animation-name: movement3;
  -webkit-animation-duration: 1.5s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  /* Safari 3-4 */
  -moz-animation-name: movement3;
  -moz-animation-duration: 1.5s;
  -moz-animation-timing-function: linear;
  -moz-animation-iteration-count: infinite;
}
@keyframes movement3 {
  0% {
    opacity: 0.33;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.99;
  }
}
/* Firefox 1+ */
@-webkit-keyframes movement3 {
  0% {
    opacity: 0.33;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.99;
  }
}
/* Safari 3-4 */
@-moz-keyframes movement3 {
  0% {
    opacity: 0.33;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.99;
  }
}
.movement4 {
  background: rgb(222,78,98);
  padding: 1px 1px;
  color: #fff;
  border: none;
  border-radius: 5px;
  animation-name: movement4;
  animation-duration: 1.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  /* Firefox 1+ */
  -webkit-animation-name: movement4;
  -webkit-animation-duration: 1.5s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  /* Safari 3-4 */
  -moz-animation-name: movement4;
  -moz-animation-duration: 1.5s;
  -moz-animation-timing-function: linear;
  -moz-animation-iteration-count: infinite;
}
@keyframes movement4 {
  0% {
    opacity: 0.99;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.33;
  }
}
/* Firefox 1+ */
@-webkit-keyframes movement4 {
  0% {
    opacity: 0.99;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.33;
  }
}
/* Safari 3-4 */
@-moz-keyframes movement4 {
  0% {
    opacity: 0.99;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.33;
  }
}
.movement5 {
  background: rgb(222,88,98);
  padding: 1px 1px;
  color: #fff;
  border: none;
  border-radius: 5px;
  animation-name: movement5;
  animation-duration: 1.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  /* Firefox 1+ */
  -webkit-animation-name: movement5;
  -webkit-animation-duration: 1.5s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  /* Safari 3-4 */
  -moz-animation-name: movement5;
  -moz-animation-duration: 1.5s;
  -moz-animation-timing-function: linear;
  -moz-animation-iteration-count: infinite;
}
@keyframes movement5 {
  0% {
    opacity: 0.66;
  }
  50% {
    opacity: 0.99;
  }
  100% {
    opacity: 0.33;
  }
}
/* Firefox 1+ */
@-webkit-keyframes movement5 {
  0% {
    opacity: 0.66;
  }
  50% {
    opacity: 0.99;
  }
  100% {
    opacity: 0.33;
  }
}
/* Safari 3-4 */
@-moz-keyframes movement5 {
  0% {
    opacity: 0.66;
  }
  50% {
    opacity: 0.99;
  }
  100% {
    opacity: 0.33;
  }
}
.movement6 {
  background: rgb(222,98,98);
  padding: 1px 1px;
  color: #fff;
  border: none;
  border-radius: 5px;
  animation-name: movement6;
  animation-duration: 1.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  /* Firefox 1+ */
  -webkit-animation-name: movement6;
  -webkit-animation-duration: 1.5s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  /* Safari 3-4 */
  -moz-animation-name: movement6;
  -moz-animation-duration: 1.5s;
  -moz-animation-timing-function: linear;
  -moz-animation-iteration-count: infinite;
}
@keyframes movement6 {
  0% {
    opacity: 0.33;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.99;
  }
}
/* Firefox 1+ */
@-webkit-keyframes movement6 {
  0% {
    opacity: 0.33;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.99;
  }
}
/* Safari 3-4 */
@-moz-keyframes movement6 {
  0% {
    opacity: 0.33;
  }
  50% {
    opacity: 0.66;
  }
  100% {
    opacity: 0.99;
  }
}

/* Media Query for diferents Screens */
/* Small Phones */
@media only screen and (max-width: 359px) {
  .container-fluid img {
    width: 50px;
  }
  .brand-logo {
    font-size: 30px;
  }
  button {
    font-size: 18px;
    width: 100px;
    height: 40px;
  }
  .container {
    width: 180px !important;
  }
  h5 {
    font-size: 20px;
  }
  #gameContainer {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  #stage {
    width: 300px;
    height: 300px;
  }
  .cell {
    width: 30px;
    height: 30px;
  }
  .modal-content p {
    font-size: 16px;
  }
  footer {
    font-size: 16px;
  }
}
/* Phones */
@media only screen and (min-width: 360px) {
  .container-fluid img {
    width: 54px;
  }
  .brand-logo {
    font-size: 36px;
  }
  button {
    font-size: 19px;
    width: 110px;
    height: 38px;
  }
  .container {
    width: 200px !important;
  }
  h5 {
    font-size: 20px;
  }
  #gameContainer {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  #stage {
    width: 320px;
    height: 320px;
  }
  .cell {
    width: 32px;
    height: 32px;
  }
  .modal-content p {
    font-size: 16px;
  }
  footer h4 {
    font-size: 18px;
  }
}
/* Tablets */
@media only screen and (min-width: 768px) {
  .container-fluid img {
    width: 58px;
  }
  .brand-logo {
    font-size: 40px;
  }
  button {
    font-size: 20px;
    width: 115px;
    height: 39px;
  }
  .container {
    width: 270px !important;
  }
  .container img {
    width: 95px;
  }
  h5 {
    font-size: 35px;
  }
  #gameContainer {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  #stage {
    width: 480px;
    height: 480px;
  }
  .cell {
    width: 48px;
    height: 48px;
  }
  footer h4 {
    font-size: 22px;
  }
}
/* Desktops */
@media only screen and (min-width: 992px) {
  .container-fluid img {
    width: 64px;
  }
  .brand-logo {
    font-size: 50px;
  }
  button {
    font-size: 22px;
    width: 120px;
    height: 45px;
  }
  .container {
    width: 370px !important;
  }
  h5 {
    font-size: 43px;
  }
  .container img {
    width: 120px;
  }
  #gameContainer {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  #stage {
    width: 640px;
    height: 640px;
  }
  .cell {
    width: 64px;
    height: 64px;
  }
  footer h4 {
    font-size: 24px;
  }
}