*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit; }

html {
  font-size: 62.5%;
  box-sizing: border-box; }
  @media only screen and (max-width: 37.5em) {
    html {
      font-size: 56.25%; } }
  @media only screen and (max-width: 18.75em) {
    html {
      font-size: 35%; } }

body {
  font-family: 'Outfit', sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8rem;
  color: #a8bfc9;
  background-color: #1a2a33;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-x: hidden;
  position: relative; }

.container {
  max-width: 90%; }

.heading-lg {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 4rem;
  line-height: 5rem; }
  .heading-lg--blue {
    color: #31c3bd; }
  .heading-lg--yellow {
    color: #f2b137; }
  @media only screen and (max-width: 37.5em) {
    .heading-lg {
      font-size: 2.4rem; } }

.heading-xs {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.6rem;
  line-height: 2rem; }

.d-none {
  display: none !important; }

.d-grid {
  display: grid !important; }

.d-block {
  display: block !important; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.logo__icon {
  width: 7.2rem;
  height: 3.2rem; }

.game-start {
  text-align: center;
  max-width: 90%;
  animation: fadeIn 1s ease-in-out; }
  .game-start__choices {
    margin: 4rem 0;
    background-color: #1f3641;
    padding: 2.4rem;
    border-radius: 1.5rem;
    box-shadow: inset 0 -0.8rem 0 #111c22; }
  .game-start__marks {
    margin: 2.4rem 0 1.7rem 0;
    padding: 0.9rem 0.8rem;
    background-color: #1a2a33;
    border-radius: 1rem;
    display: flex;
    height: 7rem;
    align-items: center;
    justify-content: space-between; }
  .game-start__x-mark, .game-start__o-mark {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    transition: all 0.4s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-basis: 50%; }
    .game-start__x-mark:hover, .game-start__o-mark:hover {
      background-color: #1d303a;
      cursor: pointer; }
    .game-start__x-mark.selected, .game-start__o-mark.selected {
      background-color: #a8bfc9; }
      .game-start__x-mark.selected > svg, .game-start__o-mark.selected > svg {
        fill: #1a2a33; }
  .game-start__x-icon, .game-start__o-icon {
    width: 3.2rem;
    height: 3.2rem;
    fill: #a8bfc9; }
  .game-start__footer {
    text-transform: uppercase;
    opacity: 0.5; }

.btn {
  display: block;
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  color: #1a2a33;
  text-transform: uppercase;
  line-height: 2.5rem;
  text-align: center;
  padding: 2.5rem 12rem;
  border: none;
  border-radius: 1.5rem;
  transition: all 0.4s ease; }
  .btn:hover {
    cursor: pointer; }
  .btn--small {
    width: auto;
    display: inline-block;
    padding: 1.5rem 1.8rem; }
    .btn--small:last-child {
      margin-left: 1rem; }
  .btn:not(:last-child) {
    margin-bottom: 1.5rem; }
  .btn--yellow {
    background-color: #f2b137;
    box-shadow: inset 0 -0.8rem 0 #b77c0c; }
    .btn--yellow-small {
      background-color: #f2b137;
      box-shadow: inset 0 -0.4rem 0 #b77c0c; }
      .btn--yellow-small:hover {
        background-color: #ffc860; }
    .btn--yellow:hover {
      background-color: #ffc860; }
  .btn--blue {
    background-color: #31c3bd;
    box-shadow: inset 0 -0.8rem 0 #1d716e; }
    .btn--blue:hover {
      background-color: #65e9e4; }
  .btn--silver {
    background-color: #a8bfc9;
    box-shadow: inset 0 -0.8rem 0 #6991a2; }
    .btn--silver-small {
      background-color: #a8bfc9;
      box-shadow: inset 0 -0.4rem 0 #6991a2; }
      .btn--silver-small:hover {
        background-color: #dbe8ed; }
    .btn--silver:hover {
      background-color: #dbe8ed; }

.gameplay {
  display: grid;
  margin: 5rem 0;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2rem;
  align-items: center;
  text-align: center;
  animation: fadeIn 0.4s ease-in-out;
  display: none; }
  .gameplay__turn {
    width: 100%;
    background-color: #1f3641;
    padding: 2rem 3rem;
    border-radius: 1rem;
    box-shadow: inset 0 -0.4rem 0 #0f191e;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 37.5em) {
      .gameplay__turn {
        font-size: 1.4rem;
        padding: 2rem 1.5rem; } }
    .gameplay__turn-icon {
      width: 2rem;
      height: 2rem;
      fill: #a8bfc9; }
  .gameplay__restart {
    width: 50%;
    background-color: #a8bfc9;
    padding: 1.6rem;
    border-radius: 1rem;
    box-shadow: inset 0 -0.4rem 0 #6991a2;
    transition: all 0.4s ease;
    justify-self: flex-end; }
    .gameplay__restart:hover {
      cursor: pointer;
      background-color: #dbe8ed; }
    .gameplay__restart-icon {
      width: 2rem;
      height: 2rem; }
  .gameplay__board {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, 14rem);
    grid-template-rows: repeat(3, 14rem);
    grid-gap: 2rem; }
    @media only screen and (max-width: 37.5em) {
      .gameplay__board {
        grid-template-columns: repeat(3, minmax(9.6rem, 1fr));
        grid-template-rows: repeat(3, minmax(9.6rem, 1fr)); } }
  .gameplay__card {
    padding: 3.8rem;
    background-color: #1f3641;
    box-shadow: inset 0 -0.8rem 0 #0f191e;
    border-radius: 1.5rem; }
    @media only screen and (max-width: 37.5em) {
      .gameplay__card {
        padding: 2.8rem; } }
    .gameplay__card:hover {
      cursor: pointer; }
    .gameplay__card.x, .gameplay__card.o {
      cursor: not-allowed;
      box-shadow: inset 0 -0.5rem 0 #0f191e; }
    .gameplay__card.x::before {
      content: url("../images/SVG/icon-x.svg"); }
    .gameplay__card.x.win {
      background-color: #31c3bd; }
      .gameplay__card.x.win::before {
        content: url("../images/SVG/icon-x-win.svg"); }
    .gameplay__card.o.win {
      background-color: #f2b137; }
      .gameplay__card.o.win::before {
        content: url("../images/SVG/icon-o-win.svg"); }
    .gameplay__card.o::before {
      content: url("../images/SVG/icon-o.svg"); }
  .gameplay__board.x .gameplay__card:not(.x):not(.o):hover::before {
    content: url("../images/SVG/icon-x-outline.svg"); }
  .gameplay__board.o .gameplay__card:not(.x):not(.o):hover::before {
    content: url("../images/SVG/icon-o-outline.svg"); }
  .gameplay__win, .gameplay__tie, .gameplay__loss {
    color: #1a2a33;
    text-transform: uppercase;
    padding: 1.3rem 4rem;
    border-radius: 1.5rem; }
    @media only screen and (max-width: 37.5em) {
      .gameplay__win, .gameplay__tie, .gameplay__loss {
        padding: 1rem 2.3rem; } }
  .gameplay__win {
    background-color: #31c3bd; }
  .gameplay__tie {
    background-color: #a8bfc9; }
  .gameplay__loss {
    background-color: #f2b137; }
  .gameplay__highlight {
    display: block;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 3rem; }
    @media only screen and (max-width: 37.5em) {
      .gameplay__highlight {
        font-size: 2rem;
        line-height: 2.5rem; } }
  .gameplay__opponent-message {
    grid-column: span 3; }
    .gameplay__opponent-message > p {
      display: inline; }

.backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: none; }

.modal {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  padding: 6.7rem 0;
  background-color: #1f3641;
  text-align: center;
  transform: translateY(-50%);
  animation: fadeIn 0.4s ease-in-out;
  display: none; }
  .modal__result {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 3rem; }
    @media only screen and (max-width: 37.5em) {
      .modal__result {
        margin-top: 1.5rem; } }
    .modal__result > *:last-child {
      margin-left: 2.5rem; }
      @media only screen and (max-width: 37.5em) {
        .modal__result > *:last-child {
          margin-left: 1.5rem; } }
  .modal__icon {
    width: 6.4rem;
    height: 6.4rem; }
    @media only screen and (max-width: 37.5em) {
      .modal__icon {
        width: 2.8rem;
        height: 2.8rem; } }
  .modal__buttons {
    margin-top: 3rem;
   }
.rishu{
  padding-top: 50%;
  font-size: 15px;
}
a{
  color: #a5d2e5;
}