:root {
  --primary: #caab72;
  --accent: #ffe100;
  --white: #ffffff;
  --black: #111111;
  --shimmer-anim: 2s;
}

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

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* CUSTOM CSS  */

html,
body {
  background-color: #1a202c;
  ;
}



body a {
  color: var(--white);
}

body a:hover {
  color: var(--accent);
}

.uk-h1,
.uk-h2,
.uk-h3,
.uk-h4,
.uk-h5,
.uk-h6,
.uk-heading-2xlarge,
.uk-heading-large,
.uk-heading-medium,
.uk-heading-small,
.uk-heading-xlarge,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
}

.uk-button {
  transition: all .2s ease-in-out;
}

.uk-button.button-cta-1 {
  padding: .5em 5em;
}

.uk-button.button-cta-1 {
  background-color: var(--primary);
  font-weight: 600;
  font-size: 1.25em;
  color: var(--black);
  border-radius: 8px;
  max-width: 320px;
}

.uk-button.button-cta-1:hover {
  background-color: var(--accent);
  color: var(--black);
}

.dropdown-dark.language-button-selection {
  min-width: 300px;
}

button.language-button {
  min-width: 100px;
  padding: 0;
  background-color: rgba(0, 0, 0, 0.3);
  border: 1px solid var(--accent);
  color: var(--accent);
  padding: 0 1.2em;
  ;
}

button.language-button:hover {
  background-color: var(--white);
  border: 1px solid var(--white);
}

button.language-button span.icon-flag {
  margin-bottom: 2px;
}

.lang-area {
  min-width: 120px;
  padding: 0;
}

option2.icon-flag,
span.icon-flag {
  background-image: url('');
  background-repeat: no-repeat;
  background-position: center center;
  height: 26px;
  width: 26px;
  display: inline-block;
  margin-right: .75em;
  vertical-align: middle;
}

span.icon-flag.fl-vn {
  background-image: url('../img/flag-vn.svg');
}

span.icon-flag.fl-id {
  background-image: url('../img/flag-id.svg');
}

option.icon-flag:before,
span.icon-flag.fl-en {
  background-image: url('../img/flag-en.svg');
}

span.icon-flag.fl-th {
  background-image: url('../img/flag-th.svg');
}

span.icon-flag.fl-cn {
  background-image: url('../img/flag-cn.svg');
}

span.icon-flag.fl-my-cn {
  background-image: url('../img/flag-my-cn.svg');
}

span.icon-flag.fl-my {
  background-image: url('../img/flag-my.svg');
}

option.icon-flag {
  background-image: url('../img/flag-th.svg');
}

span.icon-flag.fl-kr {
  background-image: url('../img/flag-kr.svg');
}

span.icon-flag.fl-jp {
  background-image: url('../img/flag-jp.svg');
}

span.icon-flag.fl-in {
  background-image: url('../img/flag-in.svg');
}


button.language-button {
  min-width: 120px;
  padding: 0;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, .4);
  color: var(--white);
  padding: 0 1.2em;
  ;
  border-radius: 8px;
}

button.language-button:hover {
  background-color: var(--white);
  border: 1px solid var(--white);
}

button.language-button span.icon-flag {
  margin-bottom: 2px;
}

.language-container {
  margin-right: 2px
}

.lang-area {
  background: var(--white);
  color: var(--black);
}

.lang-area ul li a {
  padding: 0.7em 20px;
  transition: all .3s ease;
  color: var(--black);
}

.lang-area ul li.uk-active a,
.lang-area ul li a:hover {
  background: #b00005;
  color: var(--white);
}

.uk-dropdown.dropdown-dark {
  background: #10161d;
  color: #eee;
  padding: 0
}

.uk-dropdown.dropdown-dark ul li a {
  color: #ccc;
  padding: 1em 1.5em
}

.uk-dropdown.dropdown-dark ul li:last-child {
  margin-bottom: 1em
}

.uk-dropdown.dropdown-dark ul li.uk-active {
  background: #1f2731
}

.uk-dropdown.dropdown-dark ul li {
  transition: all .3s ease
}

.uk-dropdown.dropdown-dark ul li:hover {
  color: #fff;
  background: #1c2029
}

.uk-dropdown.dropdown-dark ul li.uk-active a {
  color: var(--accent);
  cursor: default
}

/*  -- GAME --  */


.game {
  position: relative;
  padding: 1rem;
  /* border: 2px solid #996767; */
  /* border: 2px solid #e1ca83; */
  
  border-radius: 10px;
  /* background: #110a0ab5; */
  background: linear-gradient(120deg, #3dcfffb0, #ffff0085);;
  min-width: 360px;
}

.controls {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}

.game-fade {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* background-color: rgba(45, 0, 0, 0.6); */
  background-color: rgba(0, 45, 34, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
}

.game .game-play-btn {
  height: 50px;
  text-transform: uppercase;
  font-size: 1.2em;
  font-weight: 700;
  border: 2px solid #ffcf67;
  border-radius: 10px;
  padding: 0 4em;
  background: #f9a70059;
  color: #fff;
  z-index: 1;
  cursor: pointer;
  box-shadow: inset 0px 0px 4px 3px #f19021;
}


.game .game-play-btn:hover {
  filter: contrast(150%);
}


.disabled {
  color: #757575;
}

.stats {
  width: 100%;
  color: #FFF;
  font-size: 1.2em;
  display: flex;
  justify-content: space-between;

}

.board-container {
  position: relative;
  overflow: hidden;
}

.board,
.win {
  border-radius: 5px;
  box-shadow: 0 25px 50px rgb(33 33 33 / 25%);
  /* background: rgba(50, 50, 50, .5); */
  background: rgba(0, 0, 0, .5);
  transition: transform .6s cubic-bezier(0.4, 0.0, 0.2, 1);
  backface-visibility: hidden;
}

.board {
  padding: 1rem;
  display: grid;
  grid-template-columns: repeat(4, auto);
  grid-gap: 1rem;
}

.board-container.flipped .board {
  transform: rotateY(180deg) rotateZ(50deg);
}

.board-container.flipped .win {
  transform: rotateY(0) rotateZ(0);
}

.card {
  position: relative;


  /* min-width: 60px;
    min-height: 60px;

    width: 10vw;
    height: 10vw; */

  width: clamp(60px, min(8vw, 8vh), 160px);
  height: clamp(60px, min(8vw, 8vh), 160px);

  cursor: pointer;
}

.card-front,
.card-back {
  position: absolute;
  border-radius: 5px;
  width: 100%;
  height: 100%;
  background: #777;
  transition: transform .6s cubic-bezier(0.4, 0.0, 0.2, 1);
  backface-visibility: hidden;
}

.card-front {
  background-image: url(../memory-game-img/silhouette.svg);
}

.card-back {
  transform: rotateY(180deg) rotateZ(50deg);
  font-size: 0pt;
  user-select: none;
  text-align: center;
  line-height: 100px;
  background: #FDF8E6;
}

.card-back>img {
  vertical-align: initial;
  height: 100%;
  /* max-height: 100px;
    max-width: 100px; */
  border-radius: 5px;
}

.card.flipped .card-front {
  transform: rotateY(180deg) rotateZ(50deg);
}

.card.flipped .card-back {
  transform: rotateY(0) rotateZ(0);
}

.card.flipped.matched {
  box-shadow: 0px 0px 12px 0px #f97171;
  outline: 2px solid #b4e66a;
  border-radius: 5px;
}

.card.flipped.matched:after {
  content: '✔';
  position: absolute;
  padding: 2px;
  height: 23px;
  display: block;
  z-index: 99;
  background: #b4e66a;
  border-radius: 100px;
  text-align: center;
  right: -9px;
  top: -9px;
  width: 23px;
}

.win {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  /* background: #DDB62F; */
  /* background: #6CE3FF; */
  background: #FFFFFF4F;
  transform: rotateY(180deg) rotateZ(50deg);

  display: flex;
  flex-direction: column;
  justify-content: center;
}

.win-text {
  /* position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); */
  font-size: 1.4em;
  color: #282A3A;
}

.highlight {
  color: #c40202;
}

/*  -- //END GAME --  */





.cta-container {
  padding: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  width: 100%;
  flex-wrap: wrap;
}

.cta-container a {
  text-decoration: none;
}

.ctaButton {
  display: flex;
  justify-content: center;
  align-items: center;

  /* background-color: #caab72; */
  height: 3.5rem;
  width: 8rem;
  /* margin: 0.5rem; */

  /* border: 1px solid; */
  border-radius: .5rem;

  /* color: white; */
  line-height: 24px;
  text-align: center;
  font-size: 16px;
  /* padding: 1rem 2rem; */

  transition: all .4s ease;
  box-sizing: border-box;


  /* background-color: #d4af37; */
  /* background-color: #c1a032; */
  color: black;

  background: linear-gradient(-45deg, #daac40 40%, #ecc33d 50%, #daac40 60%);
  background-size: 300%;
  background-position-x: 100%;
  animation: shimmer var(--shimmer-anim) infinite linear;
}

@keyframes shimmer {
  to {
    background-position-x: 0%
  }
}

.btn-style-anim {
  position: relative;
  overflow: hidden;

  span {
    position: relative;
    /* left: -0.5em; */
    transition: all 0.25s;
  }

  &::before,
  &::after {
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background-color: #ecc33d;
    transition: all 0.25s;
    color: black;
  }

  /* &::before {
    width: 25px;

    content: "";
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "FontAwesome";
    font-size: 10px;
    font-weight: bold;
    text-indent: 5px;
    border-radius: 50% 0 0 50%;
    z-index: 1;
  } */
  &::after {
    width: 100%;
    transform: translate(100%, 0);
    content: attr(data-hover);
    /* text-align: left;
    text-indent: 8px; */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 6px;
    font-size: 14px;
  }

  &:hover,
  &:focus,
  &:active {
    border-color: rgb(223 183 148 / 73%);

    span {
      left: -100%;
    }

    &::before {
      right: 70%;
    }

    &::after {
      /* right: 100%; */
      transform: translate(0, 0);
    }
  }
}

/* MEDIA QUERIES  */

@media (max-height: 420px) {
  .game {
    display: flex;
  }

  .controls {
    width: 140px;
  }

  .stats {
    flex-direction: column;
    justify-content: flex-start;
    gap: 2rem;
  }
}


@media screen and (max-width:1280px) {
  .uk-container {
    padding-left: 0;
    padding-right: 0
  }
}