:root {
  --primary-color: #68a5ff;
  --secondary-color: #FF9900;
  --tertiary-color: #A4C8FD;
  --navbar-color: #2060c0;
  --background-color: #EBF3FE;
  --tab-border-radius: 20px;
  --card-border-radius: 15px;
  --card-margin: 1em;
  --card-margin-mobile: 0.5em;
  --card-body-padding: 1rem;
  --fontsize-h3-tab: 1.2rem;
}

::-webkit-scrollbar {
  width: 13px;
}

::-webkit-scrollbar-track {
  width: 13px;
  background: white;
  border-left: 0 solid white;
  border-right: 0 solid white;
}

::-webkit-scrollbar-thumb {
  background-color: var(--tertiary-color);
  width: 0;
  height: 35%;
  transform: .5s ease;
  cursor: pointer;
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Poppins', sans-serif;
  background-color: var(--background-color);
  overflow-x: hidden;
  transition: .5s;
}

body h2 {
  font-weight: 600;
  text-align: center;
  margin-bottom: 1rem;
}

body h3 {
  font-weight: 500;
  font-size: 1.4rem;
}

section.level {
  margin: 0;
  padding: 0;
}

section.level .tab {
  background-color: white;
  border-radius: var(--tab-border-radius);
  padding: 2rem 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

section.level .tab .cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

section.level .tab .cards .card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: var(--card-margin);
  width: 22em;
  height: 13em;
  cursor: pointer;
  border-radius: var(--card-border-radius);
  color: white;
  overflow: hidden;
}

section.level .tab .cards .card .background-color {
  height: 100%;
  width: 100%;
  position: absolute;
  z-index: 2;
  opacity: .6;
}

section.level .tab .cards .card .body {
  position: absolute;
  padding: 2em;
  z-index: 3;
}

section.level .tab .cards .card:hover .body .button {
  background-color: var(--secondary-color);
}

section.level .tab .cards .card  img {
  width: 100%;
  height: auto;

}

section.level .tab .cards .card .arrow {
  position: absolute;
  top: .5rem;
  right: .5rem;
  height: 1.5rem;
  width: 1.5rem;
}

section.level .tab .cards .card .arrow img {
  height: 100%;
}

section.level .tab .cards .card h3,
section.level .tab .cards .card .button {
  text-align: center;
  color: white;
}

section.level .tab .cards .card .body {
  display: grid;
  place-items: center;
}

section.level .tab .cards .card .body .button {
  border: white 1px solid;
  padding: 5px 1.5rem;
  margin-top: .3rem;
  border-radius: 1rem;
}

/* ========== MODALS ========== */
.modal-content {
  border-radius: 1rem;
  padding: 1rem 0;
}

.modal .modal-body {
  display: flex;
}

.modal .modal-body .modal-image {
  width: 40%;
  overflow: hidden;
  margin-right: 5%;
  display: flex;
  align-items: center;
}
.modal .modal-body .modal-image .image {
  border-radius: 1rem;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.modal .modal-body .modal-image .image img {
  width: 120%;
  height: auto;
}

.modal .modal-body .modal-description {
  width: 55%;
  display: grid;
}
.modal .modal-body .modal-description button {
  justify-self: end;
}
.modal .modal-body .modal-description .title {
  background-color: #3C85F3;
  display: flex;
  align-items: center;
  justify-content: start;
  padding: 10px;
  color: white;
  min-height: 3rem;
  width: 80%;
  border-radius: 0 3rem 3rem 0;
  margin: 1rem 0;
}

@media screen and (max-width: 576px) {
  .modal .modal-body .modal-image {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .modal .modal-body .modal-description {
    width: 100%;
  }
}