@charset "UTF-8";
@font-face {
  font-family: "Patrick Hand SC";
  src: local("Patrick Hand SC"), url("../../font/PatrickHandSC-Regular.ttf");
}

::-webkit-scrollbar {
  /* chrome based */
  width: 0px;
  /* ширина scrollbar'a */
  background: transparent;
  /* опционально */
}

html,
body {
  font-family: "Patrick Hand SC", cursive;
  height: 100%;
  margin: 0;
  text-align: center;
  font-size: 1.2em;
  -webkit-transition: all 1s;
  transition: all 1s;
  -ms-overflow-style: none;
  /* IE 10+ */
  scrollbar-width: none;
  /* Firefox */
}

.box {
  padding-bottom: 10px;
  overflow: hidden;
  min-height: 100%;
  background-image: radial-gradient(circle closest-corner at 40% 10%, #ff6f8e, #f5f0b3, #85cfcc);
}

h1,
h3,
#result,
.icon, .pulse {
  text-shadow: 3px 3px 3px rgba(88, 87, 87, 0.637);
}

h1 {
  margin: 10px 0;
}

.pulse {
  display: inline-block;
}

.pulse:hover {
  -webkit-animation: pulse 1s infinite;
          animation: pulse 1s infinite;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

section {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.description,
.options {
  width: 25%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px;
}

.container {
  width: 45%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.grid {
  height: 400px;
  max-width: 400px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #dcd6bc6e;
  margin: 1vw auto;
  padding: 5px;
  -webkit-box-shadow: 2px 2px 15px 2px #585757;
          box-shadow: 2px 2px 15px 2px #585757;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.valid,
.checked,
.bomb {
  height: 10%;
  width: 10%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.valid {
  border: 5px solid;
  border-color: #f5f3eb #bab7a9 #bab7a9 #fff9db;
}

.valid.checked:hover {
  background-color: #cecab70e;
  border-color: #ffffff8a;
}

.valid.flag:hover, .bomb.flag:hover {
  background-color: #cecab70e;
  border-color: #f5f3eb #bab7a9 #bab7a9 #fff9db;
}

.checked {
  border: 2px solid;
  background-color: #cecab70e;
  border-color: #ffffff8a;
}

.valid,
.bomb {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.valid:hover,
.bomb:hover {
  background-color: #a5e9e77c;
  border-color: #bab7a9 #f5f3eb #fff9db #bab7a9;
}

.bomb {
  border: 5px solid;
  border-color: #f5f3eb #bab7a9 #bab7a9 #fff9db;
}

.one {
  color: #ff6f8e;
}

.two {
  color: #4199d3;
}

.three {
  color: #5eac5e;
}

.four {
  color: #bb41d3;
}

.five {
  color: darkblue;
}

.restart {
  visibility: hidden;
  margin: 10px auto;
  font-size: 1em;
  font-family: "Patrick Hand SC", cursive;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f0b3), to(#85cfcc));
  background-image: linear-gradient(#f5f0b3, #85cfcc);
  width: 160px;
  height: 45px;
  border: 1px solid rgba(214, 214, 214, 0.774);
  border-radius: 10px;
  text-shadow: 3px 3px 3px rgba(88, 87, 87, 0.637);
  -webkit-box-shadow: 2px 2px 15px 2px #585757;
          box-shadow: 2px 2px 15px 2px #585757;
}

.restart:hover {
  cursor: pointer;
  -webkit-box-shadow: 1px 1px 3px 1px #585757;
          box-shadow: 1px 1px 3px 1px #585757;
}

.restart:focus {
  outline: none;
}

#result {
  display: inline-block;
  margin: 5px auto;
  color: #ff6f8e;
  font-size: 1.7em;
}

@-webkit-keyframes result {
  0% {
    -webkit-transform: translateY(-400px) scale(1);
            transform: translateY(-400px) scale(1);
  }
  50% {
    -webkit-transform: translateY(-400px) scale(3.9);
            transform: translateY(-400px) scale(3.9);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes result {
  0% {
    -webkit-transform: translateY(-400px) scale(1);
            transform: translateY(-400px) scale(1);
  }
  50% {
    -webkit-transform: translateY(-400px) scale(3.9);
            transform: translateY(-400px) scale(3.9);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

footer {
  margin: 0;
  height: 7vw;
  background-image: linear-gradient(#85cfcc 1px, #f5f0b3);
  -webkit-box-shadow: 2px 2px 15px 2px #585757;
          box-shadow: 2px 2px 15px 2px #585757;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  font-size: 1em;
}

.rights,
.author,
.contacts {
  width: 33.33%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto 15px;
  vertical-align: middle;
}

.rights p,
.author p,
.contacts p {
  margin: 0;
}

.icon {
  font-size: 1.1em;
  display: inline-block;
  margin: 0 10px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.icon:hover {
  -webkit-transform: scale(1.6);
          transform: scale(1.6);
}

.icon a {
  text-decoration: none;
  color: black;
}

@media (max-width: 1200px) {
  .container {
    width: 100%;
  }
  .description,
  .options {
    width: 100%;
  }
  footer {
    height: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .rights,
  .author,
  .contacts {
    width: 100%;
    margin: 10px;
  }
  @-webkit-keyframes result {
    50% {
      -webkit-transform: translateY(-400px) scale(1.5);
              transform: translateY(-400px) scale(1.5);
    }
  }
  @keyframes result {
    50% {
      -webkit-transform: translateY(-400px) scale(1.5);
              transform: translateY(-400px) scale(1.5);
    }
  }
}
