/*===================================================================================================================
=================================================== DEFAULT STYLE ===================================================
===================================================================================================================*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

li {
    list-style: none;
    margin: 0;
    padding: 0;
}

li a {
    display: inline-block;
    margin: 0;
    padding: 0;
}

li a img {
    display: block;
    margin: 0;
    padding: 0;
}

input:focus, textarea:focus, select:focus{
    color: var(--text-default-dark);
}

input:focus-visible, textarea:focus-visible, select:focus-visible{
    color: var(--text-default-dark);
}

/* ================================ POPPINS ================================ */

@font-face {
  font-family: 'Poppins';
  src: url('fonts/Poppins-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('fonts/Poppins-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('fonts/Poppins-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('fonts/Poppins-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('fonts/Poppins-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Poppins';
  src: url('fonts/Poppins-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/*===================================================================================================================
====================================================== GLOBALS ======================================================
===================================================================================================================*/

body{  
  background: radial-gradient(#829cff, #4b82ff);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  overflow: hidden;
  font-family: "poppins";
}

#menu,
#gameplay,
#endgame {
  height: 100dvh;
  width: 100dvw;
}

#gameplay{  
  background-image: url('img/background-100.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.lottie-anim {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -999;
  width: 100%;
  height: auto;
}

button{
  transition: 0.3s ease-in-out;
}

button:selection{
  transform: scale(2.5);
}

/*============================================ MENU ============================================*/

#menu{
  text-align: center;
}

#menu h1{
  font-weight: bold;
  font-size: 4.7rem;
  color: white;
  padding-top: 3rem;
}

#menu button, #endgame button{ 
  margin-top: 47dvh;   
  font-size: 1.3rem;
  padding: 1rem 4rem;
  border-radius: 15rem;
  color: rgb(249, 246, 246);
  border: 1px solid rgb(237, 243, 241);
  background: radial-gradient(#ffaacd35, #ff6795ee);
  backdrop-filter: blur(12px);  
  transform-origin: center;
}

#menu button:active, #endgame button:active{
  filter: brightness(1.1);
  transform: scale(1.1);
}

#menu img{
  margin-top: 0.5rem;
  width: 29%;
  height: auto;  
  border-radius: 1rem;
}

/*============================================ ENDSCREEN ============================================*/

#endgame {
  color: white;
  text-align: center;
}

#endgame h1 {  
  font-weight: bold;
  font-size: 4.7rem;
  padding-top: 1rem;
}

#endgame p {
  font-weight: bold;
  font-size: 1.9rem;
  line-height: 2.5rem;
}

#score{
  width: 80%;
  margin: auto;
  margin-top: 1rem;
  backdrop-filter: blur(12px);
  padding: 1rem;
  border-radius: 10rem;
  border: 1px solid rgb(237, 243, 241);
  background: radial-gradient(#eaf6f20f, #f8fbfa88);
}

#score p{
  font-size: 1.3rem;
}

/*============================================ GAMEPLAY ============================================*/

.scoring{
  font-size: 1.2rem;
  color: rgb(244, 240, 255);
  padding-left: 1rem;
  font-weight: bold;
}

.scoring p{
  padding: 1rem 0 0 0;
}

.card, .justification{  
  z-index: 0;
  padding: 1rem;
  text-align: center;
  backdrop-filter: blur(6px);
  margin: 0 1rem;
  cursor: grab; 
  border-radius: 2rem;
  transition: transform 0.25s ease-out, opacity 0.25s ease-out;  
  user-select: none;  
  min-height: 40dvh;
  align-content: center;
  margin-top: 1rem;
}

.justification{
  transform: scale(0.8);
  opacity: 0;
}

.justification.show {
    transform: scale(1);
    opacity: 1;
}

.card-head, .justification-head{
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.card-head .logo img, .justification-head .logo img{
  width: 60px;
}

.card-image{
  margin: 1rem 0;
}

.card-head p, .justification-head p{
  font-weight: bold;
  line-height: 1.6rem;
  flex: auto;
  text-align: left;
  padding-left: 1rem;
}

.justification-head p{
  font-size: 2rem;
}

.justification-text p{
  font-weight: 500;
  color: rgb(239, 243, 242);
  padding: 1.8rem 0;
  line-height: 1.7rem;
  text-shadow: none;
  font-size: 1.2rem;
}

.card.dragging {
  transition: none;
}

.card h1{
  font-weight: bold;
  padding-bottom: 1rem;
  font-size: 2rem;
  text-transform: uppercase;  
}

.card p{
  font-weight: normal;
  font-size: 1.2rem;
}

.card img{
  width: 80%;
  height: auto;  
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.card-points p{
  color: white;
  font-weight: bolder;
  font-size: 1.5rem;
}

.card-button button{
  font-size: 1.3rem;
  font-weight: bold;
  text-transform: uppercase;
  padding: 1rem 5rem;
  border-radius: 10rem;
  color: rgb(249, 246, 246);
  border: 1px solid rgb(237, 243, 241);
  background: radial-gradient(#eaf6f20f, #f8fbfa88);
  transition: 0.3s ease-out;
}

.card-button button:active, .card-button button::selection{
  filter: brightness(1.1);
  transform: scale(1.1);  
}

#arrows{
  z-index: 999;
  width: 100%;
  display: flex;
  justify-content: space-around;
  color: aliceblue;
  text-align: center;
}

.left-arrow, .right-arrow{
  width: 50%;
  font-size: 1rem;
  margin-top: 1rem;
  transition: transform 0.25s ease-out, color 0.15s ease-out;
}

.left-arrow p, .right-arrow p{
  margin-bottom: 0.5rem;
}

#arrows img{
  width: 4rem;
  height: auto;
}

#timer{
  z-index: 999;
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 1.5rem;
  background-color: aliceblue;
}

/*====== CARD COLORS ======*/
.orange {
  color: rgb(255, 245, 240);
  text-shadow: 0 2px 0 #ff754f;
  box-shadow: 0 10px 20px #e4856b40;
  border: 1px solid rgb(211, 254, 255);
  background: radial-gradient(#f2a978, #ff512194);
}

.blue {
  color: rgb(247, 251, 255);
  text-shadow: 0 2px 0 #2e8abb;
  box-shadow: 0 10px 20px #6bbee440;
  border: 1px solid rgb(196, 213, 245);
  background: radial-gradient(#599ffa, #2172ff94);
}

.purple {
  color: rgb(243, 240, 255);
  text-shadow: 0 2px 0 #8a20e6;
  box-shadow: 0 10px 20px #7958fb40;
  border: 1px solid rgb(246, 211, 255);
  background: radial-gradient(#8569d1, #3f21ff94);
}

.green {
  color: rgb(251, 255, 254);
  text-shadow: 0 2px 0 #01a765;
  box-shadow: 0 10px 20px #6be4a740;
  border: 1px solid rgb(211, 255, 245);
  background: radial-gradient(#64b098, #04d37694);
}

/*===================================================================================================================
=================================================== MEDIA QUERIES ===================================================
===================================================================================================================*/

@media (max-height: 600px) {
  #menu button,
  #endgame button {
    margin-top: 40dvh;
  }
}

@media (min-width: 800px) {
  #menu,
  #gameplay,
  #endgame {
    height: 100dvh;
    width: 30dvw;
    border: 5px solid rgb(210, 226, 255);
    margin: auto;
  }

  #menu h1 {
    font-size: 6rem;
  }

  #menu button,
  #endgame button {
    font-size: 2rem;
  }

  #menu img {
    width: 25%;
  }

  .lottie-anim {
    width: 30%;
  }
}


