* {
    font-family: "Fira Code Retina", monospace;
}
footer{
    position: absolute;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    left: 2em;
    bottom: 1em;
}

.global-component{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    user-select: none;
}

.is-pointable{
    cursor: pointer;
}

.map-component{
    display:none;
}

.info-component{
    display: none;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    width: calc(30% - 2em);
    margin: auto 0;
    transition: all 400ms;
}

#shop-component{
    position: absolute;
    display: none;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    width: calc(30% - 2em);
    min-width: 300px;
    flex-wrap: wrap;
    top: 0;
    right: 0;
    margin: 4em 6em 0 0;
    background-color: white;
    border-radius: 25px;
    padding: 1em;
    border: #6f6d72 3px solid;
    box-shadow: #999999 0 0 10px;
}

.shop-container{
    width: 100%;

}

.shop-name{
    font-size: 2em;
    font-weight: bolder;
    margin: 0;
}

.shop-button{
    background-color: #6f6d72;
    box-shadow: #999999;
    border-radius: 25px;
    border: none;
    padding: 0.2em 0.5em;
    margin-left: 2em;
    cursor: pointer;
    font-size: 0.7em;
    transition: all 200ms ease-out;
}
.shop-button:hover{
    color: white;
    border: black 3px solid;
}
.shop-button:active{
    background-color: #999999;
}

.shop-item-container{
    width: calc(100% - 2em);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.shop-item{
   font-weight: bold;
    font-size: 1.5em;
    margin: 0;
}
.center{
    justify-self: center;
}

.left{
    justify-self: start;
}
.right{
    justify-self: end;
}

.button-container{
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
    margin-top: 1em;
}

.ji-buttons{
    font-size: 1.2em;
    width: 7em;
    height: 5em;
    background-color: black;
    color: white;
    letter-spacing: 0.1em;
    border-radius: 5%;
    cursor: pointer;
    transition: all 100ms;
}

.ji-buttons:active{
    background-color: white;
    color: black;
}

.journal-inventory-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    overflow-y: auto;
    height: 100%;
    max-height: 30vh;
    margin: 2em 5em 1em 5em;
}

.inventory-container{
    width: calc(100% - 2em);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    background: #D9D9D9;
    border: 2px solid #000000;
    border-radius: 10px;
}
.inventory-item{
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    width: calc(100% - 2em);
    min-height: 3em;
    margin: 0.5em 1em 0.5em 1em;
    padding: 0.5em;
    background-color: white;
    border-radius: 7px;
    font-size: 1.4em;
}
.journal-entry-title{
    font-size: 1.5em;
    font-weight: bolder;
    margin: 1em;
    padding: 0.3em;
    display: flex;
    flex-direction: row;
    place-self: start center;
    font-style: italic;
}


.landscape-container{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    border: 10px solid #b4b1b8;
    padding: 5px;
    box-shadow: 3px 7px 3px 2px #999;
    border-radius: 5px;
    margin: 0 auto;
    inline-size: fit-content;
    background-color: #6f6d72;
    user-select: none;
    transition: all 400ms ease-in-out;
    place-self: center center;
}


.console-container{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}

.create-char-container{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-around;
    align-items: center;
}

.character-container{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    border: black solid 3px;
    margin: auto 0;
    border-radius: 15px;
}

#credits-container{
    display: flex;
    flex-direction: row;
    margin: 0.5em 3em 0 0.5em;
    justify-content: start;
    align-items: center;
    text-align: start;
}

#credit{
    line-height: 1;
    font-size: 1em;
    font-style: italic;
    letter-spacing: 0.1em;
    font-weight: 400;
    font-family: cursive;
}


.character-name{
    display: flex;
    flex-direction: row;
    min-width: 30%;
    margin: 1em 2em 1em 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

#character-name{
    font-weight: bold;
    color: rgba(32,32,32,0.8);
    font-size: 2em;
    letter-spacing: 1px;
    line-height: 1;
    margin-left: 1em;
}
.stats-n-params-container{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;

}

.character-stats-n-params{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    font-size: 1.3em;
}
.character-stat{
    margin: 1em;
}

#landscape-description{
    font-size: 1.25em;
}

input[type="color"] {
    -webkit-appearance: none;
    border: none;
    width: 32px;
    height: 32px;
}
input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0;
}
input[type="color"]::-webkit-color-swatch {
    border: none;
}

.color-palette-container{
    position: absolute;
    margin: 1em;
    top: 1em;
    left: 1em;
    display: flex;
    flex-direction: column;

}

.settings {
    position: absolute;
    margin: 1em;
    top: 1em;
    right: 1em;
    transition: all 200ms ease-in-out;
    cursor: no-drop;
}

.settings:hover {
    filter: opacity(0);
}

body {
    overflow-y: hidden;
}

label,
textarea {
    font-size: .8rem;
    letter-spacing: 1px;
    line-height: 2;
}
textarea {
    padding: 10px;
    border-radius: 5px;
    line-height: 1.8;
    border: 1px solid #ccc;
    box-shadow: 1px 1px 1px #999;
    resize: none;
    transition: all .3s ease;
    margin-bottom: 1em;
}
textarea:focus {
    transform: scale(2) translateY(6em);
    z-index: 10;

}


.beautiful-text{
    font-size: 1em;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.5;
    margin-top: 0.5em;
}

.start-game-btn{
    font-size: 2.5rem;
    margin-top: 3rem;
    cursor: pointer;
    padding: 1rem;
    border-radius: 10px;
    border: none;
    background-color: #eeeeee;
    border-bottom: 10px solid #cccccc;
    transition: all 400ms;

}

.char-creation-text{
    font-size:1.8rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.char-creation-containers{
    margin: 1em;
}

.char-creation-labels{
    font-size: 1em;
}

.start-game-btn:hover{
    cursor: pointer;
    filter: contrast(50%);
}
.start-game-btn:active {
    transform: translate(0,0.5rem);
    border-bottom: 5px solid #cccccc;
}

.big-beautiful-button{
    background-color: rgba(57,51,72,0.6);
    border: none;
    color: white;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    cursor: pointer;
    transition: all 400ms ease;
    border-radius: 5px;
    box-shadow: dimgrey 1px 1px 1px;
    margin-bottom: 1em;
}
.big-beautiful-button:hover{
    background-color: rgba(57,51,72,0.8);
}
.big-beautiful-button:active{
    background-color: rgba(57,51,72,0.4);
}


.tiles{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    min-height:2%;
    min-width: 2%;
    transition:all 200ms ease;

}

.tile {
    border: #cccccc 1px solid;
    display: flex;
    height:2.5rem ;
    width: 2.5rem;
    justify-content: center;
    align-items: center;
    transition:all 100ms ease-in;
    user-select: none;
}

.tile:hover{
    transform: scale(2);
    transition: all 500ms ease;
    box-shadow: 1px 2px 3px  #000000;
    filter: opacity(1);
    z-index: 5;
    cursor: pointer;
}

.tile:active{
    transform: scale(0.8);
    transition: all 100ms ease-in-out;
    box-shadow: 1px 1px 1px #999;
    z-index: 2;
}

img{
    margin-left: auto;
    margin-right: auto;
    transition: all 200ms ease;

}

#console{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    border: black solid 3px;
    margin: auto 0;
}
#console-content{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

#world-description{
    position: absolute;
    background-color: white;
    border: black solid 3px;
    border-radius: 5%;
    left: 50%;
    right: 30%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    z-index: 10000000000;
}
.modal-overlay{
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
    background-color: rgba(0,0,0,0.5);
}

.modal-content{
    border: 3px solid #6f6d72;
    background-color: #b4b1b8;
    border-radius: 15px;
    margin: 20% auto;
    max-width: 15%;
    box-shadow: 0 5px 8px 0 rgba(0,0,0,0.2),0 7px 20px 0 rgba(0,0,0,0.17);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-sizing: content-box;
    z-index: auto;
    animation: ease-in 0.5s modalsAnimation;
}

.modal-content-text{
    width: calc(80% - 2em);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    animation: ease-in 0.5s modalsAnimation;
}

.big-text{
    width: calc(70% - 2em);
    max-height: 50vh;
    font-size: 2em;
    font-weight: bold;
    border: 3px solid #6f6d72;
    box-shadow: 0 5px 8px 0 rgba(0,0,0,0.2),0 7px 20px 0 rgba(0,0,0,0.17);
    background-color: #ffffff;
    padding: 0.5em;
    margin:0.5em;
    color: #000000;
    text-shadow: 1px 1px 1px #000000;
    animation: ease-in 0.5s pixalate;
    overflow: auto;
}

.text-options-container{
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
}

.option-buttons{
    margin: 0.5em;
    border: 1px solid #ffffff;
    background-color: #ffffff;
    font-size: 1.5em;
    display: flex;
    flex-direction: row;
    padding: 1em 2em 1em 2em;
    border-radius: 5px;
    transition: all 150ms ;
}
.option-buttons:hover{
    background-color: #cccccc;
    border: 1px solid #000000;
    cursor: pointer;
}
.option-buttons:active{
    transform: scale(0.85);
    border: 1px solid #801100;

}


.modal-header h2, .modal-footer h3{
    margin: 0;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    text-align: center;
}

.modal-footer{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    padding: 10px;
    box-sizing: content-box;
}


.modal-btn:hover{
    cursor: pointer;
    transform: scale(1.2);
    transition: all 200ms ease-in-out;
}

#closeBtn {
    color: #aaaaaa;
    cursor: pointer;
}
.modal-header{
    text-decoration: underline #b4b1b8;
    padding: 15px;
    color: #fff;
    border-bottom: 1px solid #6f6d72;
}

.modal-body{
    padding: 10px 20px;
}

.cords-container{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    border-bottom: 2px solid #6f6d72;

}

.cords{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    padding: 10px;

}

.under-map-button{
    margin-top: 2em;
}

#find-region-btn{
    border: #d4d1d1 2px solid;
    border-radius: 5px;
}

.over-landscape-n-next-area-container{
    display: flex;
    flex-direction: row;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    place-self: center center;
}

.next-area{
    margin: 1em;
    cursor: pointer;
}

#next-area-left{
    place-self: center start;

}
#next-area-right{
    place-self: center end;
}

.battle-screen{
    width: 50vw;
    height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    align-content: center;
}

#timer{
    position: fixed;
    visibility: hidden;
    font-size: 3em;
    font-weight: lighter;
    color: white;
}

.battle-screen-header{
    display:flex;
    flex-direction: row;
    justify-content: space-around;
    width: 100%;
}

.battle-screen-turn{
    font-size: calc(2em + 1vw);
    font-weight: bold;
    color: #D9D9D9;
    text-shadow: 1px 1px 1px #000000;
    place-self: center center;
    justify-content: center;
    align-items: center;
}

.battle-screen-side{
    width: calc(20% + 2em);
    min-height: 8em;
    background-color: #D9D9D9;
    border: 3px solid #000000;
    border-radius: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    align-content: center;
}

.battle-screen-center{
    width: 100%;
    display: flex;
    place-self: center center;
    text-align: center;
    justify-content: center;
    align-items: center;
    align-content: center;
}
.battle-screen-note{
    display: flex;
    font-size: 3em;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 1px 1px 1px #000000;
    opacity: 0;
    animation: battleNote 3s ease-in-out;
}

.battle-screen-footer{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    width: 100%;
}
.battle-screen-button{
    height: calc(10% + 2em);
    width: calc(20% + 1em);
    background-color: #D9D9D9;
    border: 3px solid rgba(217, 217, 217, 0);
    border-radius: 5px;
    padding: 0.1em 0.2em 0.1em 0.2em;
    font-size: calc(0.8em + 0.5vw);
    font-weight: bold;
    justify-content: center;
    align-items: center;
}
.battle-screen-button:hover{
    filter: brightness(1.2);
}
.battle-screen-button:active{
    border: 3px solid #ffffff;
    filter: brightness(1.3);
}
.battle-screen-name{
    display: flex;
    font-size: 1.5em;
    font-weight: bold;
    color: #000000;
    text-shadow: 1px 1px 1px #ffffff;
    flex-direction: row;
}
.battle-screen-health{
    width: 80%;
    height: 20%;
    border: 1px solid #000000;
    background-color: #801100;
}
.current-health{
    width: 0;
    height: 100%;
    background-color: green;
    text-align: end;
    font-size: 1.5em;
    font-weight: bold;
}
#player-health #enemy-health{
    transition: width 0.5s ease-in-out;
}


@keyframes battleNote{
    0%{
        transform: scale(0.5);
        opacity: 0;
    }
    20%{
        transform: scale(1.2);
        opacity: 1;
    }
    30%{
        transform: scale(1);
        opacity: 1;
    }
    100%{
        transform: scale(1);
        opacity: 0;
    }
}

@keyframes pixalate {
    from {
        filter: pixelate(1);
        transform: translateX(1000px);
    }
    to {
        filter: pixelate(0);
        transform: translateX(0);
    }
}

.starting-button{
    background-color: rgba(57,51,72,0.6);
    border: none;
    color: white;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    cursor: pointer;
    transition: all 400ms ease;
    border-radius: 5px;
    box-shadow: dimgrey 1px 1px 1px;
    margin-bottom: 1em;
}

#error{
    color: red;
    font-size: 1.5em;
    font-weight: bold;
    text-shadow: 1px 1px 1px #000000;
}
@media screen and (max-width: 1780px){
    .battle-screen-turn{
        font-size: calc(1.2em + 0.5vw);
    }

}
@media screen and (max-width: 1150px) {
    body{
        overflow-y: auto;
    }
    .battle-screen-turn{
        font-size: calc(0.9em + 0.5vw);
    }
    .global-component {
        flex-direction: column;
    }
    .map-component {
        margin: 1em;
    }
}

@keyframes modalsAnimation{
    from{
        transform: scale(0) translateY(-1000px);
        filter: opacity(0);
    }
    to{
        transform: scale(1);
    }
}

@keyframes landingAnimation{
    0%{
        transform: translate(0, 1000px) scale(2.5);
        background: linear-gradient(
                rgba(128, 17, 0, 1),
                rgba(182, 34, 3, 1),
                rgba(215, 53, 2, 1),
                rgba(252, 100, 0, 1),
                rgba(255, 117, 0, 1),
                rgba(250, 192, 0, 1),
                rgba(128, 17, 0, 1));
        opacity: 0.3;
        z-index: auto;
        box-shadow:
                0 20px 5px #801100,
                0 30px 6px #B62203,
                0 40px 7px #D73502,
                0 50px 8px #FC6400,
                0 60px 9px  #FF7500,
                0 70px 10px  #FAC000;
    }
    20%{
        transform: translate(0, 80px)  scale(1.3);
        box-shadow:
                0 15px 5px #801100,
                0 10px 6px #B62203,
                0 20px 7px #D73502,
                0 25px 8px #FC6400,
                0 30px 9px  #FF7500,
                0 40px 10px  #FAC000;
    }
    40%{
        box-shadow:
                0 5px 5px #801100,
                0 10px 6px #B62203,
                0 15px 7px #D73502,
                0 20px 8px #FC6400,
                0 25px 9px  #FF7500,
                0 30px 10px  #FAC000;
    }
    60%{
        box-shadow:
                0 10px 10px #801100,
                0 5px 5px #B62203,
                0 12px 6px #D73502,
                0 6px 7px #FC6400,
                0 15px 8px  #FF7500,
                0 8px 9px  #FAC000;
    }
    80%{
        box-shadow:
                0 3px 9px #801100,
                0 6px 10px #B62203,
                0 9px 5px #D73502,
                0 12px 6px #FC6400,
                0 15px 7px  #FF7500,
                0 18px 8px  #FAC000;
    }
    100%{
        background: linear-gradient(
                rgba(128, 17, 0, 0),
                rgba(182, 34, 3, 0),
                rgba(215, 53, 2, 0),
                rgba(252, 100, 0, 0),
                rgba(255, 117, 0, 0),
                rgba(250, 192, 0, 0),
                rgba(128, 17, 0, 0));
        transform:translate(0, 0) scale(1);
        opacity: 1;
        z-index: auto;
        box-shadow:
                0 1px 8px #801100,
                0 2px 9px #B62203,
                0 3px 10px #D73502,
                0 4px 5px #FC6400,
                0 5px 6px  #FF7500,
                0 6px 7px  #FAC000;
    }
}


@keyframes takeOffAnimation {
    0%{
        opacity: 1;
        background: linear-gradient(
                rgba(128, 17, 0, 0),
                rgba(182, 34, 3, 0),
                rgba(215, 53, 2, 0),
                rgba(252, 100, 0, 0),
                rgba(255, 117, 0, 0),
                rgba(250, 192, 0, 0),
                rgba(128, 17, 0, 0));
        transform: translate(0, 0) scale(1) ;
        z-index: auto;
        box-shadow:
                0 3px 5px #801100,
                0 4px 6px #B62203,
                0 5px 7px #D73502,
                0 6px 8px #FC6400,
                0 7px 9px  #FF7500,
                0 8px 10px  #FAC000;
    }
    20%{
        box-shadow:
                0 5px 5px #801100,
                0 10px 6px #B62203,
                0 12px 7px #D73502,
                0 15px 8px #FC6400,
                0 18px 9px  #FF7500,
                0 22px 10px  #FAC000;
    }
    40%{
        box-shadow:
                0 7px 5px #801100,
                0 10px 6px #B62203,
                0 15px 7px #D73502,
                0 18px 8px #FC6400,
                0 20px 9px  #FF7500,
                0 35px 10px  #FAC000;
    }
    60%{
        box-shadow:
                0 5px 10px #801100,
                0 7px 5px #B62203,
                0 12px 6px #D73502,
                0 15px 7px #FC6400,
                0 18px 8px  #FF7500,
                0 22px 9px  #FAC000;
    }
    80%{
        transform: translate(0, -70px)  scale(1.6);
        box-shadow:
                0 15px 5px #801100,
                0 20px 6px #B62203,
                0 25px 7px #D73502,
                0 35px 8px #FC6400,
                0 55px 9px  #FF7500,
                0 75px 10px  #FAC000;
    }
    100%{
        transform: translate(0, -1000px)  scale(2);
        background: linear-gradient(
                rgba(128, 17, 0, 1),
                rgba(182, 34, 3, 1),
                rgba(215, 53, 2, 1),
                rgba(252, 100, 0, 1),
                rgba(255, 117, 0, 1),
                rgba(250, 192, 0, 1),
                rgba(128, 17, 0, 1));
        z-index: auto;
        opacity: 0.3;
        box-shadow:
                0 15px 5px #801100,
                0 25px 6px #B62203,
                0 35px 7px #D73502,
                0 45px 8px #FC6400,
                0 55px 9px  #FF7500,
                0 70px 10px  #FAC000;
    }
}

@keyframes playerPassing {
    0%{
        box-shadow:
                0 5px 10px 5px #fad9c1,
                0 5px 20px 10px #f9caa7
    }
    50%{
        transform: scale(1.2);
        box-shadow:
                0 10px 20px 10px #fad9c1,
                0 10px 20px 10px #f9caa7
    }
    100%{
        box-shadow:
                0 0 20px 10px #fad9c1,
                0 0 10px 5px #f9caa7

    }

}