@import url('https://fonts.googleapis.com/css2?family=Jersey+15&family=Pixelify+Sans:wght@400..700&family=Tourney:ital,wght@0,100..900;1,100..900&display=swap');

body {
    margin: 0;
    font-family: "Jersey 15",sans-serif;
    color: white;
    font-size: larger;
    background-image: url("images/map-background.png");
    background-repeat: no-repeat;
    background-size: cover; /* scale to fill screen */
    background-position: top center;
    background-color: #3e8948;
    image-rendering: pixelated;
}
/*Home page map background*/
#map-background {
    position: relative;
    z-index: 0;
    transform: translateY(0);
    will-change: transform;
}
.map-svg image {
    image-rendering: pixelated;
    image-rendering: crisp-edges; /* fallback for some browsers */
}
.map-svg {
    width: 100%;
    height: 100%;
    display: block;
}
.map-character {
    position: absolute;
    width: 8%;
    transform: translate(-50%, -50%);
    z-index: 1; 
    image-rendering: pixelated;
    image-rendering: crisp-edges;
}
.map-character image {
    image-rendering: pixelated;
    image-rendering: crisp-edges; /* fallback for some browsers */
}
/*Home page main content*/
#content{
    width: 100%;
    position: absolute;
    top:0;
    right:0;
    z-index: 2;
    image-rendering: auto;
}
#content h1{
    padding-left: 15%;
}
.start-button{
    display: block;
    left: 50%;
    position: absolute;
    top: 50vh;
    transform: translate(-50%, -50%);
    width: 15%;
    height: 100%;
    background-color: darkblue;
    border: 5px solid white;
    outline: 2px solid gray;
    border-radius: 3px;
    color:white;
    font-family: "Jersey 15",sans-serif;
    font-size: xx-large;
}
.start-button .pointer{
    visibility: hidden;
    top: 30%;
}
.start-button:hover{
    background-color: midnightblue;
}
.start-button:hover .pointer{
    visibility: visible;
}

.scroll-text{
    display: block;
    left: 50%;
    position: absolute;
    top: 3%;
    transform: translate(-50%, 0%);
}
.ff-box{
    position: relative;
    background-color: darkblue;
    border: 5px solid white;
    outline: 2px solid gray;
    border-radius: 3px;
    width: 50%;
    margin: 5% 10%;
    padding: 0 5%;
    color: white;
    box-sizing: border-box
}
.ff-box:nth-of-type(2){
    margin-top: 10%;
}
.ff-box::after{
    content: "";
    display: table;
    clear: both;
}
.ff-box p{
    padding-top:3%;
}
.ff-box .pointer{
    position: absolute;
    visibility: hidden;
}
.ff-box:hover .pointer{
    visibility: visible;
}
.ff-image{
    float:right;
    width: 30%;
    margin: 5% 0%;
    margin-left: 5%;
    border-radius:3px;
    border: 5px solid white;
    background-color: gray;
    box-shadow: -3px 3px black;
}
.ff-big-image{
    width: 80%;
    display: block;
    margin: auto;
    translate: 0 0;
    border-radius:3px;
    border: 5px solid white;
    background-color: gray;
    box-shadow: -3px 3px black;
    margin-bottom: 5%;
}
.ff-iframe{
    float:right;
    margin: 5% 0%;
    margin-left: 5%;
    width: 50%;
    border-radius:3px;
    border: 5px solid white;
    background-color: gray;
    box-shadow: -3px 3px black;
}
.ff-big-iframe{
    width: 80%;
    display: block;
    margin: auto;
    translate: 0 0;
    border-radius:3px;
    border: 5px solid white;
    background-color: gray;
    box-shadow: -3px 3px black;
    margin-bottom: 5%;
}
.ff-navbar{
    position: absolute;
    transform: translate(-100%, 0%);
    left: 85%;
    padding-right: 2%;
    width: fit-content;
    margin-top: 5%;
}
.ff-home-nav{
    position: relative;
    transform: translate(0, 0);
    margin: auto;
    margin-top: 5%;
    left: 0;
    width: 60%;
}
.ff-home-nav:hover .pointer{
    visibility: hidden;
}
.ff-home-nav ul{
    columns:2;
}
.ff-home-nav li .pointer{
    visibility: hidden;
    position: absolute;
    left: -20px;
    top:60%;
    transform: translate(-100%, -50%);
}
.ff-home-nav li:hover .pointer{
    visibility: visible;
}
.ff-box a{
    color: white;
}
.ff-box a:hover{
    color:lightgray;
}
.ff-navbar ul{
    padding:0%;
    list-style-type: none;
}
.ff-navbar li{
    position:relative;
    padding-top:10%;
    padding-bottom:10%;
}
.pointer{
    position: absolute;
    top: 20px;
    left: -25px;
    image-rendering: pixelated;
    image-rendering: crisp-edges;
    width:50px;
}
.ff-navbar .pointer{
    position: absolute; 
    top:80%;
    left: -45%;
    transform: translate(-100%, -50%);
    visibility: visible;
}
.js-game-engine{
    border: 5px solid white;
    outline: 2px solid gray;
    border-radius: 3px;
}

@media (max-width: 1100px) {
  .ff-box{
    position:relative;
    margin:auto;
    width:75%;
    align-content: center;
    display: block;
    margin-top: 5%;
    margin-bottom:5%;

  }
  .ff-box p{
    padding-left: 5%;
  }
  .ff-box h2{
    padding-left: 5%;
  }
  .ff-box h3{
    padding-left: 5%;
  }
  #content h1{
    padding:0;
    margin-left: 0;
    text-align: center;
  }
    .ff-navbar{
    position: relative;
    transform: translate(0%, 0%);
    padding: 0 5%;
    width: 75%;
    align-content: center;

    margin: auto;
    left:0;
    }
  
  .ff-navbar ul{
    list-style-type:none;
    padding:0 5%;
    columns: 2;
    position: relative;
    height: 130px;
}

.ff-navbar li{
    position:relative;
    padding-top:5%;
}
.ff-navbar .pointer{
    position: absolute;
    top: 25px;
    left: -10px;
    height: 50px;
    width: 50px;
    transform: translate(-100%, -50%);
}   
.ff-home-nav li{
    padding-top:10%;
}
.ff-home-nav li .pointer{
    visibility: hidden;
    position: absolute;
    left: -20px;
    top:60%;
    transform: translate(-100%, -50%);
}
.ff-image{
    float: none;
    width: 70%;
    display: block;
    margin:auto;
    margin-top: 5%;
}
.ff-iframe{
    float:none;
    width: 70%;
    display: block;
    margin:auto;
    margin-top: 5%;
}
.scroll-text{
    display: none;
}
.start-button{
    height: 50%;
    font-size: large;
}
.start-button .pointer{
    visibility: visible;
    left: -70px;
    top: 0px;
}
}
@media (min-width: 600px) and (max-width: 1100px){
    .ff-navbar ul{
    list-style-type:none;
    padding:0 5%;
    columns: 2;
    position: relative;
    height: 200px;
}
}
.hidden{
    display: none;
}
.invisible{
    opacity: 0;
}