@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&display=swap");
:root {
  --clr-main-white: #fff;
  --clr-main-green: #27946C;
  --clr-main-secondary: #010202;
  --clr-main-brown: #7B5437;
  --clr-light-palegreen: #57BCA8;
  --clr-light-green: #A5D4B4;
  --clr-light-yellow: #FFEA9E;
  --clr-light-paleyellow: #F1F3DD;
  --clr-light-yellorange: #EDE25D;
  --clr-light-white: #ffffff;
  --clr-dark-black: #000000;
  --clr-dark-blue: #2E404E;
  --clr-dark-green: #085F3F;
  --font-ff-montserrat: 'Montserrat', sans;
  --font-w-light: 300;
  --font-w-regular: 400;
  --font-w-bold: 700;
  --fs-400: 0.75rem;
  --fs-500: 0.75rem;
  --fs-600: 0.9375rem;
  --fs-700: 1.25rem;
  --fs-800: 1.5625rem;
  --fs-900: 3rem;
  font-family: var(--font-ff-montserrat);
  color: var(--clr-main-primary);
  scroll-behavior: smooth;
}

@media (min-width: 64em) {
  :root {
    --fs-400: 1.125rem;
    --fs-500: 1.25rem;
    --fs-600: 1.5rem;
    --fs-700: 1.75rem;
    --fs-800: 2.25rem;
    --fs-900: 4.3125rem;
  }
}
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;
  vertical-align: baseline;
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0em;
          margin-block-end: 0em;
  -webkit-margin-start: 0px;
          margin-inline-start: 0px;
  -webkit-margin-end: 0px;
          margin-inline-end: 0px;
  -webkit-padding-start: 0px;
          padding-inline-start: 0px;
}

/* 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;
}

path {
  pointer-events: none;
}

a {
  text-decoration: none;
}

a:visited {
  color: inherit;
}

html,
body {
  position: relative;
  overflow: hidden;
  height: -webkit-fill-available;
}

body {
  transition: background-color 500ms;
  background-color: #00000000;
}

::-webkit-scrollbar {
  width: 8px;
  height: 4px;
}

::-webkit-scrollbar-track {
  width: 8px;
  background: #1f1f1f;
}

::-webkit-scrollbar-thumb {
  width: 100%;
  background: var(--clr-main-green);
}

.fade {
  background-color: var(--clr-main-secondary);
}

.fadeout {
  opacity: 0 !important;
  pointer-events: none;
}

.show-interface {
  transform: translateY(0rem) !important;
}

.sign {
  transform: translateX(-100%) !important;
}

.hidden {
  display: none !important;
}

.closed {
  transform: translateY(-10rem);
}

body {
  background-color: var(--clr-main-secondary);
  font-size: var(--fs-500);
}

h1 {
  font-size: var(--fs-900);
  text-align: center;
  margin-top: 3rem;
}

h2 {
  font-size: var(--fs-700);
}

input {
  font-size: var(--fs-300);
}

.form {
  font-size: var(--fs-600);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
  text-align: center;
  font-weight: var(--font-w-bold);
  font-size: 1.3rem;
}

.form > input {
  height: 2rem;
  padding: 0.75rem;
  border: none;
  outline: none;
  border-radius: 4rem;
}

.button {
  width: 18rem;
  border-radius: 3rem;
  padding: 0.6rem;
  font-size: var(--fs-600);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  cursor: pointer;
  outline: none;
  border: none;
  background-color: var(--clr-light-green);
  color: var(--clr-light-yellow);
  transition: background-color 500ms, color 500ms;
}

.button:hover {
  color: var(--clr-light-green);
  background-color: var(--clr-light-yellow);
}

.playerHouse {
  background-color: var(--clr-light-green);
  color: var(--clr-light-white);
  text-align: center;
  padding: 1rem;
  border-radius: 2rem;
  cursor: pointer;
}

.playerHouse__img {
  background-color: var(--clr-main-green);
  padding: 0.5rem;
  border-radius: 6rem;
}

.playerHouse__name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 11rem;
}

.playerHouse > * {
  pointer-events: none;
}

.inventory__item {
  position: relative;
  width: 4rem;
  height: 4rem;
  color: var(--clr-light-white);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.inventory__item-img {
  background-color: var(--clr-light-green);
  width: 3rem;
  padding: 0.75rem;
  border-radius: 1rem;
}

.inventory__item-title {
  padding: 0.5rem;
  background-color: var(--clr-main-green);
  width: 7rem;
  border-radius: 3rem;
}

.inventory__item-quantity {
  position: absolute;
  top: 0;
  right: 0;
  text-align: center;
  background-color: var(--clr-main-green);
  border-radius: 3rem;
  margin: -0.25rem;
  padding: 0.5rem;
}

.editMode__item {
  position: relative;
  text-align: center;
  color: var(--clr-light-white);
  cursor: pointer;
}

.editMode__item > * {
  pointer-events: none;
}

.menubutton {
  position: relative;
  width: 6.5rem;
  height: 6.5rem;
  border-radius: 1rem;
  padding: 0.25rem;
  background-color: currentColor;
  text-align: center;
  font-size: var(--fs-400);
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  transition: background-color 500ms;
}

.menubutton:hover {
  background-color: var(--clr-main-dark);
}

.menubutton__subtitle {
  background-color: var(--clr-main-white);
  padding: 0.3rem;
  border-radius: 1rem;
}

.menubutton::before {
  content: " ";
  position: absolute;
  top: 0.2rem;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  filter: brightness(0.75);
  z-index: -1;
  border-radius: 1rem;
}

.menubutton > * {
  pointer-events: none;
}

@media (min-width: 48em) {
  .menubutton {
    width: 10rem;
    height: 10rem;
    border-radius: 2rem;
  }

  .menubutton::before {
    border-radius: 2rem;
  }

  .menubutton__img {
    width: 6rem;
  }
}
.login {
  z-index: 10;
  position: relative;
  width: 100vw;
  height: -webkit-fill-available;
  margin: auto;
  text-align: center;
  background-color: var(--clr-light-paleyellow);
  background-image: url("../src/img/logbg.png");
  background-size: 90% 100%;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1;
  transition: opacity 500ms;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}

.login__img {
  width: 17rem;
  margin: 1.5rem;
}

.login__submit {
  margin-top: 2rem;
}

.login__title {
  text-transform: uppercase;
  color: var(--clr-dark-green);
  font-size: var(--fs-800);
  width: 19rem;
  padding: 1rem 0 1rem 0;
  border-top: solid var(--clr-dark-green);
}

.login__credits {
  position: fixed;
  bottom: 1rem;
  color: var(--clr-light-green);
  margin: auto;
  width: 80%;
  left: 0;
  right: 0;
}

.login__sub {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 1rem;
}

.login__subtext {
  color: var(--clr-dark-green);
  font-size: var(--fs-600);
}

.login__a {
  color: var(--clr-light-green);
  cursor: pointer;
}

.login__subtext, .login__a {
  font-size: var(--fs-400);
  font-weight: var(--font-w-normal);
}

.login__log, .login__sign {
  flex: 0 0 100%;
  transform: translateX(0);
  transition: transform 750ms;
}

@media (min-width: 64em) {
  .login {
    background-image: url("../src/img/logbgL.png");
  }

  .login__title {
    width: 23rem;
  }

  .login__img {
    width: 26rem;
  }
}
header {
  position: absolute;
  background-color: var(--clr-light-green);
  width: 100%;
  z-index: 15;
  transform: translateY(0);
  transition: transform 1000ms;
}

button {
  background: transparent;
  border: none;
}

nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
}

.menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
}

.menu__perso {
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  cursor: pointer;
}

.menu__perso > * {
  pointer-events: none;
}

.menu__name {
  background-color: var(--clr-main-green);
  padding: 0.6rem;
  border-radius: 3rem;
  color: var(--clr-light-white);
  font-weight: var(--font-w-bold);
  font-size: var(--fs-600);
}

.menu__svg {
  width: 3rem;
  height: 3rem;
  margin: 0.5rem;
}

.menu__inventory {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 1rem;
  margin: 1rem;
  color: var(--clr-light-white);
  font-weight: var(--font-w-bold);
}

.menu__inventory > * {
  pointer-events: none;
}

.menu__pctext {
  display: none;
}

@media (min-width: 64em) {
  .menu__pctext {
    display: block;
  }
}
.item {
  height: 8rem;
  width: 8rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-top: 1rem;
  cursor: pointer;
  font-size: var(--fs-500);
}

.item > * {
  pointer-events: none;
}

.item__img {
  background-color: var(--clr-light-pale--green);
  padding: 1rem;
  height: 5rem;
  border-radius: 1.5rem;
  width: 5rem;
}

.item__subtitle {
  background-color: var(--clr-main-green--dark);
  color: var(--clr-main-white);
  padding: 1rem;
  border-radius: 3rem;
  margin-top: -0.5rem;
}

.main__renderer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: -1;
  height: -webkit-fill-available;
}

.scenetransition {
  width: 100%;
  height: -webkit-fill-available;
  pointer-events: none;
  position: absolute;
  transition: background-color 500ms;
}

.inventory {
  background-color: var(--clr-light-paleyellow);
  color: var(--clr-light-white);
  z-index: 20;
  border-radius: 0 0 2rem 2rem;
  position: absolute;
  left: 0;
  right: 0;
  padding: 0 0 2rem 0;
  top: 0;
  margin: auto;
  transform: translateY(-25rem);
  transition: transform 1000ms;
}

.inventory__title {
  text-align: center;
  padding: 1rem;
  margin: 0 0 2rem 0;
  font-size: var(--fs-800);
  font-weight: var(--font-w-bold);
  background-color: var(--clr-light-green);
}

.inventory__content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 2rem;
  flex-wrap: wrap;
  transition: opacity 500ms;
}

.inventory__item {
  margin: 1rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.inventory__img {
  width: 3rem;
}

.inventory__money {
  font-size: var(--fs-700);
  text-align: center;
  margin: auto;
  border-radius: 0 2rem 2rem 0;
  position: absolute;
  top: 5rem;
  left: 0;
  padding: 0.5rem;
  background-color: var(--clr-light-green);
  font-weight: var(--font-w-bold);
  color: var(--clr-light-white);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 1rem;
}

.inventory__icon {
  width: 2rem;
}

.inventory__close {
  cursor: pointer;
  background-color: var(--clr-light-yellorange);
  padding: 0.5rem;
  border-radius: 3rem;
  position: absolute;
  margin: 1rem;
  bottom: 0;
  right: 0;
}

.show-inventory {
  transform: translateY(0) !important;
}

.npc__dialogBox {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  max-width: 40rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: 3rem 3rem 0 0;
  height: 15rem;
  font-weight: var(--font-w-bold);
  background-color: var(--clr-light-yellow);
  transition: opacity 500ms, transform 400ms 500ms;
  transform: translateY(25rem);
}

.npc__dialogBox-open {
  transform: translateY(0);
}

.npc__name {
  position: absolute;
  top: -2rem;
  left: 1rem;
  border: solid var(--clr-light-white);
  border-radius: 2rem;
  color: var(--clr-main-white);
  background-color: var(--clr-main-brown);
  margin: 0.5rem;
  padding: 1rem;
}

.npc__dialog {
  color: var(--clr-dark-blue);
}

.shop {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 20rem;
  margin: auto;
  transform: translateY(25rem);
  transition: transform 500ms 500ms, opacity 500ms;
  background-color: var(--clr-light-paleyellow);
  border: solid 1rem var(--clr-main-brown);
  text-align: center;
  padding: 1rem 0 3rem 0;
  border-radius: 15rem 15rem 0 0;
}

.shop__open {
  transform: translateY(1.5rem);
}

.shopitem__img {
  width: 8rem;
}

.shopitem__name {
  color: var(--clr-light-yellow);
  position: relative;
  font-size: var(--fs-700);
  padding: 0.5rem;
}

.shopitem__name::before {
  content: " ";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 3rem;
  background: url("../src/img/rubanitem.png") no-repeat;
  background-size: contain;
  background-position: center;
  z-index: -1;
}

.shopitem__price {
  position: absolute;
  top: 0;
  left: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: var(--clr-main-brown);
  background-color: var(--clr-light-paleyellow);
  border: solid 0.3rem var(--clr-main-brown);
  padding: 0.5rem;
  border-radius: 7rem;
  font-weight: var(--font-w-bold);
}

.shopitem__coin {
  width: 2.5rem;
}

.shopitem__close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 1rem;
  cursor: pointer;
  border-radius: 7rem;
  background-color: var(--clr-light-paleyellow);
  border: solid 0.3rem var(--clr-main-brown);
}

.shopitem__buy {
  text-transform: uppercase;
  color: var(--clr-light-white);
  background-color: var(--clr-main-brown);
  padding: 0.25rem;
  margin-top: 2rem;
  font-size: var(--fs-600);
  border-radius: 0.4rem;
}

.worldmap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  border-radius: 1rem 1rem 0 0;
  background-color: var(--clr-light-paleyellow);
  width: 22rem;
  transform: translateY(30rem);
  transition: transform 500ms;
  padding: 0 0 1rem 0;
}

.worldmap__title {
  background-color: var(--clr-main-green);
  color: var(--clr-light-white);
  padding: 0.5rem;
  width: 15rem;
  margin: 1rem auto 1rem auto;
  border-radius: 2rem;
}

.worldmap__wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  margin: auto;
}

.worldmap__button {
  transition: filter 500ms;
  filter: brightness(1);
  cursor: pointer;
}

.worldmap__button:hover {
  filter: brightness(0.6);
}

.worldmap__img {
  pointer-events: none;
}

.worldmap__open {
  transform: translateY(0);
}

.worldmap__close {
  background-color: var(--clr-light-yellow);
  padding: 0.5rem;
  margin: -1rem;
  border-radius: 3.5rem;
  width: 3rem;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}

@media (min-width: 64em) {
  .worldmap {
    width: 32rem;
  }
}
.visit {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 20rem;
  height: 3rem;
  transform: translateY(20rem);
  border-radius: 2rem 2rem 0 0;
  text-align: center;
  transition: opacity 500ms, transform 500ms;
  background-color: var(--clr-main-green);
  color: var(--clr-light-white);
  font-weight: var(--font-w-bold);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.visit__content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.visit__open {
  transform: translateY(0);
}

.visit__close {
  position: absolute;
  cursor: pointer;
  margin: -1rem;
  padding: 0.75rem;
  top: 0;
  right: 0;
  background-color: var(--clr-light-yellow);
  border-radius: 4rem;
}

.interface {
  position: absolute;
  z-index: 10;
  left: 0;
  right: 0;
  margin: auto;
  padding: 1rem 1rem 5rem 1rem;
  width: 80%;
  max-width: 45rem;
  height: 23rem;
  background-color: var(--clr-light-paleyellow);
  border: solid 0.5rem var(--clr-main-green--light);
  border-radius: 0 0 3rem 3rem;
  font-family: var(--font-ff-montserrat);
  box-shadow: #3d3d1e 0px 0px 9px 1px;
  transform: translateY(-40rem);
  transition: transform 600ms, height 600ms;
}

.interface__header {
  background: url("/src/img/Ruban.png") center no-repeat;
  background-size: 100% 100%;
  height: 3rem;
  margin-top: 1rem;
}

.interface__title {
  font-size: 1.75rem;
  color: var(--clr-light-yellow--light);
  text-align: center;
  text-shadow: 0px 2px 6px #1f1f1f;
}

.interface__content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
  overflow-y: scroll;
  height: 100%;
  padding: 0.2rem;
  transition: opacity 300ms;
}

.interface__elements {
  width: 100%;
  margin: auto;
  height: 100%;
}

.interface__close {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 1rem;
  border-radius: 3rem;
  margin: -1.5rem;
  background-color: var(--clr-light-yellorange);
  cursor: pointer;
}

.interface__player {
  position: absolute;
  margin: auto;
  bottom: -7rem;
  width: 17rem;
  left: 0;
  right: 0;
  text-align: center;
}

.interface__playerimg {
  width: 7rem;
  padding: 1rem;
  border-radius: 0 0 3rem 3rem;
  background-color: var(--clr-light-paleyellow);
}

.interface__playername {
  color: var(--clr-main-brown);
  margin: -1rem auto;
  position: relative;
  padding: 0.5rem;
  z-index: 15;
  height: 2rem;
  background-image: url("../src/img/rubanyello.svg");
  background-position: center;
  background-size: 100% 100%;
}

.canvas__map {
  margin: auto;
  border-radius: 3rem;
}

@media (min-width: 64em) {
  .interface__playername {
    height: 3rem;
  }
}
.edit {
  position: absolute;
  bottom: 2rem;
  right: 3rem;
  transform: translateX(12rem);
  transition: transform 500ms;
  background-color: var(--clr-light-paleyellow);
  border-radius: 2rem;
  padding: 0.5rem;
  width: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
}

.edit__tool {
  background-color: var(--clr-light-yellorange);
  border-radius: 2rem;
  cursor: pointer;
  transition: background-color 500ms;
}

.edit__tool:hover {
  background-color: var(--clr-main-yellow);
}

.edit__open {
  transform: translateX(0rem);
}/*# sourceMappingURL=styles.css.map */