html {
  box-sizing: border-box;
}

*,
::after,
::before {
  box-sizing: inherit;
  margin: 0;
  padding: 0;
}

@font-face {
  font-family: 'Lobster';
  src: url('Lobster/Lobster-Regular.ttf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

body {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  font-family: Arial, Helvetica, sans-serif;
  background-image: linear-gradient(to bottom, #615dad, #ffc8da);

}

.rainbow {
  background-image: linear-gradient(to bottom, #ff0000, #ff7b00, #ffd000, rgb(170, 255, 0), rgb(21, 138, 0), rgb(0, 255, 234), rgb(0, 135, 145), rgb(0, 44, 133), rgb(135, 5, 190), rgb(255, 17, 168));
}

.content {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 20px;
}

h1 {
  font-family: 'Lobster', sans-serif;
  font-size: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
}

.image {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  width: 350px;
}

.description {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  width: 350px;
  text-align: center;
  background-color: #283e50;
  color: white;
  padding: 0px 20px 25px 20px;
}

.buttnos {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 350px;
  justify-content: center;
  padding: 0;
  margin: 0;
}

button {
  width: 350px;
  height: 50px;
  padding: 0;
  margin: 0;
}

a {
  text-decoration: none;
  color: white;
  font-size: 17px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 350px;
  height: 50px;
}

.buttonrules {
  background-color: #1fcca4;
  border: 0;
  border-bottom: 0.5px solid #283e50;
}

.buttongame {
  background-color: #0197f6;
  border: 0;
  border-top: 0.5px solid #283e50;
}

.rainbow__button__toggle {
  background-image: linear-gradient(to bottom, #ff0000, #ff7b00, #ffd000, rgb(170, 255, 0), rgb(21, 138, 0), rgb(0, 255, 234), rgb(0, 135, 145), rgb(0, 44, 133), rgb(135, 5, 190), rgb(255, 17, 168));
  border: 0;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}

.rainbow__button__toggle:hover {
  background-image: linear-gradient(to bottom, #ce0000, #bc5b00, #cda700, rgb(132, 198, 0), rgb(17, 114, 0), rgb(0, 183, 167), rgb(0, 110, 118), rgb(0, 37, 112), rgb(117, 0, 168), rgb(196, 17, 130));
  cursor: pointer;
}

.purple__button__toggle {
  background-image: linear-gradient(to bottom, #615dad, #ffc8da);
  border: 0;
  width: 25px;
  height: 25px;
  border-radius: 50%;
}

.purple__button__toggle:hover {
  background-image: linear-gradient(to bottom, #504c8e, #cea2b0);
}

.buttonhome {
  background-color: #1fcca4;
  border: 0;
}

.buttonreload {
  background-color: #0197f6;
  border: 0;
  cursor: pointer;
}

.buttonhome:hover {
  background-color: #1cbb96;
}

.buttonreload:hover {
  background-color: #0090e9;
}

.buttonrules:hover {
  background-color: #1cbb96;
  cursor: pointer;
}

.buttongame:hover {
  background-color: #0090e9;
  cursor: pointer;
}

/*------------------------------------*/
.title {
  margin-bottom: -20px;
  background: -webkit-linear-gradient(white, rgb(106, 0, 65), #004337, rgb(106, 0, 65));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.container {
  display: flex;
  flex-direction: column;
  max-width: 80vmin;
  margin: 0 auto;
  gap: 20px;
}

.buttons__gamepage {
  display: flex;
  justify-content: right;
  align-items: center;
  gap: 20px;
}

.buttonfield__gamepage {
  width: 50px;
  height: 50px;
}

.buttonsgame__border {
  border-radius: 10px;
}

.game__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 20px;
  color: white;
}

.current__player__container {
  display: flex;
  gap: 15px;
  align-items: center;
}

.playfield__container {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.playfield__button {
  background-color: rgba(255, 255, 255, 0.596);
  max-width: calc(80vmin / 10);
  max-height: calc(80vmin / 10);
  border: 1.3px solid rgba(0, 0, 0, 0.669);
}

.playfield__button:hover,
.playfield__button:focus {
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.8)
}

/*--------------------------------------------------*/


.board__field--circle {
  position: relative;
  background-color: rgba(255, 208, 225, 0.333);
}

.board__field--circle::before {
  content: '';
  display: block;
  width: 70%;
  height: 70%;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 4px solid rgb(106, 0, 65);
  animation: growingcircle 0.15s ease-out forwards;
}

@keyframes growingcircle {
  from {
    height: 0;
    width: 0;
  }

  to {
    height: 70%;
    width: 70%;
  }
}

.board__field--cross {
  position: relative;
  background-color: rgba(232, 255, 211, 0.445);
}

.board__field--cross::before,
.board__field--cross::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 80%;
  width: 4px;
  background-color: #004337;
  animation: growingcross 0.15s ease-in-out forwards;
}

.board__field--cross::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.board__field--cross::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@keyframes growingcross {
  0% {
    height: 0%;
  }

  100% {
    height: 80%;
  }
}
