:root {
  --animate-duration: 2s;
  --animate-delay: 1s;
  --animate-repeat: 1;
}

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

html {
  /* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */
  font-family:
    system-ui,
    'Segoe UI',
    Roboto,
    Helvetica,
    Arial,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji';
  line-height: 1.15;
  /* 1. Correct the line height in all browsers. */
  -webkit-text-size-adjust: 100%;
  /* 2. Prevent adjustments of font size after orientation changes in iOS. */
  tab-size: 4;
  /* 3. Use a more readable tab size (opinionated). */
}

/*
Sections
========
*/

body {
  margin: 0;
  font-size: 16px;
  /* Remove the margin in all browsers. */
}

/*
Text-level semantics
====================
*/

/**
Add the correct font weight in Chrome and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family:
    ui-monospace,
    SFMono-Regular,
    Consolas,
    'Liberation Mono',
    Menlo,
    monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/

/**
Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/

table {
  border-color: currentcolor;
}

/*
Forms
=====
*/

/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/

legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Interactive
===========
*/

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

.hidden {
  opacity: 0;
}

.container {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  overflow: hidden;
}

.pattern {
  background-image: radial-gradient(#FFFFFF 4px, transparent 4px), radial-gradient(#FFFFFF 4px, transparent 4px);
  background-size: 32px 32px;
  background-position: 0 0, 16px 16px;
  background-color: #B9D0FF;
  animation: backgroundLoop 30s linear infinite;
}

.prize--wrapper {
  position: absolute;
  z-index: 9;
  width: 0;
  height: 0;
  left: -100%;
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  background-color: rgba(0, 0, 0, 0.4);
  transition: opacity 0.25s linear;
}

.prize--wrapper.active {
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  opacity: 0.25s linear;
}

.prize__content::before {
  content: '';
  position: absolute;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/shine.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.6;
  -webkit-animation: rotating 7s linear infinite;
  -moz-animation: rotating 7s linear infinite;
  -ms-animation: rotating 7s linear infinite;
  -o-animation: rotating 7s linear infinite;
  animation: rotating 7s linear infinite;
}

.prize {
  width: 300px;
  z-index: 11;
  position: relative;
  height: auto;
}

.prize__content {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column nowrap;
  overflow: hidden;
}

.rarity {
  display: inline-block;
  position: relative;
  z-index: 11;
  margin-top: 1rem;
  padding: 1rem 1.3rem;
  font-size: 1.3rem;
  font-weight: bold;
  text-transform: uppercase;
  color: #ffffff;
  border-radius: 8px;
}

.common {
  background-color: #808080;
}

.uncommon {
  background-color: #4CAF50;
}

.rare {
  background-color: #2196F3;
}

.epic {
  background-color: #9C27B0;
}

.legendary {
  background-color: #FF9800;
}

.mythic {
  background-color: #F44336;
}

.data--wrapper {
  padding: 1rem;
}

.data {
  list-style-type: none;
  width: 100%;
  padding: 0;
  margin: 0;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}

.data__item {}

.data__label {
  margin: 0;
  font-weight: bold;
  font-size: 2rem;
}

.menu--wrapper {}

.capsule--wrapper {
  width: 50%;
  margin: 0 auto;
  text-align: center;
}

.capsule {
  width: 100%;
  height: auto;
  margin-bottom: 2rem;
}

.button {
  cursor: pointer;
  touch-action: manipulation;
  position: relative;
  background: transparent;
  border: none;
  outline: none;
  display: block;
  height: 60px;
  width: 175px;
  padding: 20px;
  font-size: 20px;
  line-height: 20px;
  font-weight: 100;
  text-transform: uppercase;
  margin: 0 auto;
  border-radius: 10px;
  top: 0;
  -webkit-transition: 0.15s ease-in-out;
  -moz-transition: 0.15s ease-in-out;
  -ms-transition: 0.15s ease-in-out;
  -o-transition: 0.15s ease-in-out;
  transition: 0.15s ease-in-out;
}

.button {
  touch-action: manipulation;
  -webkit-transform: perspective(500px) rotateX(35deg);
}

.button[disabled] {
  pointer-events: none;
  opacity: 0.6;
}

.button:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  background: #f50538;
  /* Old browsers */
  background: -moz-linear-gradient(top, #f50538 0%, #d62635 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f50538), color-stop(100%, #d62635));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #f50538 0%, #d62635 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #f50538 0%, #d62635 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #f50538 0%, #d62635 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #f50538 0%, #d62635 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f50538", endColorstr="#d62635", GradientType=0);
  /* IE6-9 */
  top: 0;
  left: 0;
  border-radius: 5px;
  width: 100%;
  height: 100%;
  padding: 20px;
  box-shadow: inset 0 -2px 5px rgba(255, 255, 255, 0.3);
}

.button:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -10px;
  left: 1px;
  height: 15px;
  width: 173px;
  background: #ff0000;
  /* Old browsers */
  background: -moz-linear-gradient(top, #ff0000 0%, #5e2a2a 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ff0000), color-stop(100%, #5e2a2a));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #ff0000 0%, #5e2a2a 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #ff0000 0%, #5e2a2a 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #ff0000 0%, #5e2a2a 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #ff0000 0%, #5e2a2a 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff0000", endColorstr="#5e2a2a", GradientType=0);
  /* IE6-9 */
  border-radius: 0 0 5px 5px;
  -webkit-transform: perspective(500px) rotateX(-40deg);
  box-shadow: inset 0 -2px 3px rgba(0, 0, 0, 0.5), 0 3px 2px -1px black;
  -webkit-transition: 0.15s ease-in-out;
  -moz-transition: 0.15s ease-in-out;
  -ms-transition: 0.15s ease-in-out;
  -o-transition: 0.15s ease-in-out;
  transition: 0.15s ease-in-out;
}

.button:hover {
  top: -3px;
}

.button:hover:after {
  height: 18.5px;
  bottom: -13px;
}

.button:active {
  top: 0px;
}

.button:active:after {
  height: 15px;
  bottom: -10px;
}

.button .text {
  position: relative;
  z-index: 2;
  font-weight: bold;
  color: white;
  text-shadow: 0 2px 2px rgba(0, 0, 0, 0.4);
}

.menu {
  width: 100%;
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-flow: row nowrap;
}

.menu__item {
  flex: 1 1 auto;
}

.menu__link {
  display: block;
  padding: 1rem 1.5rem;
  text-decoration: none;
  color: #ffffff;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: black;
  background-color: #b9d0ff;
  border: 2px solid #000000;
  border-radius: 12px 12px 0 0;
  box-shadow: 0px -5px 13px 9px rgba(108, 156, 255, 0.75) inset;
  -webkit-box-shadow: 0px -5px 13px 9px rgba(108, 156, 255, 0.75) inset;
  -moz-box-shadow: 0px -5px 13px 9px rgba(108, 156, 255, 0.75) inset;
}

.menu__link svg {
  max-width: 50px;
}

.menu__label {
  text-align: center;
  margin: 0;
}

.menu__label span {
  display: none;
}

.collection--wrapper {
  padding: 1rem;
  padding-bottom: 0;
  overflow: hidden;
  height: 90%;
  overflow-y: scroll;
}

.collection {
  padding: 0;
  margin: 0;
  list-style-type: none;
  margin-left: -1rem;
  margin-right: -1rem;
  display: flex;
  flex-flow: row wrap;
}

.collection__item {
  flex: 0 0 33.3334%;
  margin-bottom: 1rem;
}

.collection__item[data-dropped="0"] .collection__image {
  filter: grayscale(100%);
}

.collection__image--wrapper {
  text-align: center;
}

.collection__image {
  width: 100%;
  height: auto;
}

.collection__rarity {
  text-transform: uppercase;
  color: #ffffff;
  font-weight: bold;
  padding: 0.5rem;
  border-radius: 10px;
  font-size: 10px;
  position: relative;
  top: -25px;
}

.shake {
  -webkit-animation-name: shakeX;
  animation-name: shakeX;
}

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

@-webkit-keyframes shakeX {

  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shakeX {

  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}


@media screen and (min-width: 768px) {
  .container {
    width: 600px;
    height: 800px;
    margin: 0 auto;
    margin-top: 50px;
    border-radius: 10px;
    border: 4px solid #000000;
  }
}

@media screen and (max-width: 998px) {

  html,
  body,
  main,
  .container {
    height: 100%;
  }
}


@media screen and (max-width: 998px) and (orientation: landscape) {
  main {
    display: none;
  }

  body::before {
    content: "This game is meant to be played in portrait mode.";
    width: 100%;
    height: 100%;
    display: block;
    font-size: 5rem;
    font-weight: bold;
    padding: 2rem;
    display: flex;
    align-items: center;
  }
}

@keyframes backgroundLoop {
  from {
    background-position: top right;
  }

  to {
    background-position: bottom left;
  }
}

@-webkit-keyframes rotating

/* Safari and Chrome */
  {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}