/* 
= = = = = = = = = = = =
ELEMENT TYPE SELECTORS
= = = = = = = = = = = =
*/
* {
    box-sizing: border-box;
    font-family: 'Times New Roman', Times, serif;
    text-align: center;
    font-size: 1.1rem;
}
h1 {
    font-size: 5rem;
    letter-spacing: 0.05em;
    margin-bottom: 70px;
    line-height: 1.30em;
}
h2 {
    font-size: 2rem;
    color: #999999;
    font-weight: 100;
    font-style: italic;
    letter-spacing: 0.25em;
    margin-bottom: 4em;
}
p {
    margin: 0em 20% 1em 20%;
    text-align: left;
    line-height: 1.30em;
    letter-spacing: 0.05em;
}
em {
    text-align: left;
}
nav{
    background-color: rgb(255, 255, 255);
    border-bottom: 4px solid white;
}
nav ul{
    list-style: none;
    margin: 0em;
    padding:0em;
    display: flex;
}
nav .home-li{
    margin-right: auto;
}
nav li{
    display: flex;
}
nav a{
    display: flex;
    text-decoration: none;
    color: black;
    padding: 1em 2em;
    transition: background-color 200ms ease;
    transition: color 100ms ease;
}
nav a:hover{
    background-color: rgba(99, 99, 99, 0.271);
    color: white;
}
nav a.active-link{
    background-color: black;
    color: white;

}
nav a.accent-link{
    border-bottom: 4px solid black;
}



/* 
= = = = = = = = = = =
CLASS TYPE SELECTORS
= = = = = = = = = = =
*/

/* HOME PAGE */
.logo-combined-black {
    background-color: black;
    padding: 3rem 15% 1rem 15%;
}
.flavorImg-icon {
    width: 25%;
    height: 100%;
    margin: auto;
    padding: 8% 0em 8% 0em;
    vertical-align: middle;
}
.flavorImg-title {
    width: 70%;
    height: 100%;
    margin: auto;
    padding: 8% 0em 8% 0em;
    vertical-align: middle;
}
.start-btn{
    background-color: white;
    border: 2px black solid;
    color: black;
    padding: 1em;
    margin: 1em;
    font-size: 1.5rem;
    text-decoration: none;
}
.info-card-body{
    margin: 0em 30% 0em 30%;
    padding: 0em 0em 3em 0em;
}

/* GAME PAGE */
.text-btn {
    padding: 5px 10px;
    color: white;
    background-color: black;
    font-size: 1rem;
    font: bold;
    margin: 1rem;
}
.flavorImg {
    width: 500px;
    margin: 5% 1rem 0.5rem 1rem;
    flex-shrink: 0;
}
.info-card{
    height: 800px;
    width: 100%;
    color: black;
    margin: 0px;
    padding: 3em;
}
.oldChoice {
    color: black;
    background-color: lightgrey;
}

/* ALIGNMENT */
.row {
  display: flex;
}
.column {
  flex: 50%;
}

.fadeIn {
    animation: fadeIn;
    animation-duration: 3s;
}
#titlecard{
    font-size: 6rem;
    margin: 0em 0em 1em 0em;
}



/* 
= = = = = = = = =
ID TYPE SELECTORS
= = = = = = = = =
*/

/* HOME PAGE */
#home-begin-btn{
    padding: 1% 1%;
    color: black;
    background-color: white;
    font-size: 2rem;
    font: bold;
    margin: 1rem;
}

/* GAME PAGE - GENERAL */
#text {
    margin: 0rem 20% 1rem 20%;
    text-align: left;
    line-height: 1.30em;
    letter-spacing: 0.05em;
    color: black;
}

/* GAME PAGE - MAP */
#openMapButton{
    background: none;
    border: none;
    padding: 0em;
    display: flex;
    position: fixed;
    left: 20px;
    bottom: 20px;
}
#map{
    background-color: blue;
    color: white;
    position: fixed;
    bottom: 70px;
    left: 0px;
    flex-direction: column;
    visibility: hidden;
}
#openMapButton.hide{
    color: white;
}
#map-border{
    background-color: white;
    border: 1px solid rgb(115, 112, 112);
    width: 20%;
    aspect-ratio: 1/1; 
}
#map.show{
    visibility: visible;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    bottom: 0px;
    background-color: rgba(255, 255, 255, 0.559);
    color: black;
    text-align: center;
    z-index: 5;
    width: 100%;
    height: 100%;
}

/* GAME PAGE - SETTINGS */
#openSettingsButton{
    background: none;
    border: none;
    padding: 0em;
    display: flex;
    position: fixed;
    right: 20px;
    bottom: 20px;
}
#settings{
    background-color: purple;
    color: white;
    position: fixed;
    bottom: 100px;
    right: -500px;
    width: 60px;
    height: 150px;
}
#settings.show{
    right: 10px;
}

/* SIDEBAR FUNCTIONALITY */
#open-sidebar-button{
    display: none;
    background: none;
    border: none;
    padding: 0em;
    margin-left: auto;
    cursor: pointer;
}
#close-sidebar-button{
    display: none;
    background: none;
    border: none;
    padding: 1em;
    cursor: pointer;
}
#overlay{
    background: rgba(0, 0, 0, 0.193);
    position: fixed;
    inset: 0;
    z-index: 9;
    margin: 0;
    display: none;
}



/* 
= = = = = = = = = = = = =
ANIMATIONS & TRANSITIONS
= = = = = = = = = = = = =
*/

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}



/* 
= = = = = = 
MOBILE VIEW
= = = = = = 
*/

@media screen and (max-width: 830px){
    /* 
    = = = = = = = = = = = =
    ELEMENT TYPE SELECTORS
    = = = = = = = = = = = =
    */
    h1 {
    font-size: 3rem;
    letter-spacing: 0.05em;
    margin-bottom: 70px;
    line-height: 1.30em;
    }
    h2{
        font-size: 1.5em;
    }
    p{
        margin: 0;
        margin-bottom: 1em;
        text-align: left; 
    }





    
    .flavorImg{
        width: 300px;
    }
    .flavorImg-icon{
        height: 100%;
        display: block;
        margin: auto;
        padding: 0em 0em 1em 0em;
        width: 40%;
    }
    .flavorImg-title{
        height: 100%;
        display: block;
        margin: auto;
        padding: 0em 0em 1em 0em;
        width: 80%;
    }

    .info-card-body{
        margin: 0em 10% 0em 10%;
    }
    #open-sidebar-button, #close-sidebar-button{
        display: block;
    }
    #text {
    margin: 2% 17% 2% 17%;
    }
    nav{
        position: fixed;
        top: 0;
        right: -100%;
        height: 100vh;
        width: min(15em, 100%);
        z-index: 10;
        border-left: 1px solid rgb(115, 112, 112);
        transition: right 300ms ease-out;
    }
    nav.show{
        right: 0;
    }
    nav.show ~ #overlay{
        display: block;
    }
    nav ul{
        width: 100%;
        flex-direction: column;
    }
    nav a{
        width: 100%;
        padding-left: 2.5em;
        border-bottom: 2px solid rgb(240, 240, 240);
    }
    nav a.active-link{
        border-bottom: none;
    }
    nav a.accent-link{
    border-bottom: 2px solid rgb(128, 128, 128);
    }
    nav .home-li{
        margin-right: unset;
    }

    #openMapButton{
        background: none;
        border: none;
        padding: 0em;
        display: flex;
        position: fixed;
        left: 20px;
        bottom: 18px;
    }
    #openSettingsButton{
        background: none;
        border: none;
        padding: 0em;
        display: flex;
        position: fixed;
        right: 20px;
        bottom: 18px
    }
    #mobile-action-bar{
        background-color: white;
        height: 90px;
        position: fixed;
        justify-content: center;
        bottom: -20px;
        border-top: 1px solid rgb(115, 112, 112);
        left: -20px;
        right: -20px;
    }
    body{
        margin-bottom: 100px;
    }
    /*.btn {
        padding: 30px 100px;
        color: black;
        background-color: white;
        font-size: 1rem;
        font: bold;
        position: fixed;
        display: flex;
        bottom: -10px
    }*/
    #option-buttons {
        background-color: white;
    }
    .text-btn{
        background-color: black;
        color: white;
    }

    #map-border{
        background-color: white;
        border: 1px solid rgb(115, 112, 112);
        width: 90%;
        aspect-ratio: 1/1;
    }

    #map.show{
        width: 100%;
        height: 100%;
        left: 0px;
        display: flex;
        justify-content: center;
        align-items: center;
        bottom: 0px;
        background-color: rgba(255, 255, 255, 0.835);
        color: black;
        text-align: center;
        z-index: 5;
        transition: right 300ms ease-out;
    }

    
}