@font-face {
    font-family: 'segoeui';
    src: url(font/segoe-ui-light.ttf);
    font-style: normal;
    font-display: swap;
}  


@font-face {
    font-family: 'segoeuibold';
    src: url(font/segoeuithibd.ttf);
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'bloodcrow';
    src: url(font/bloodcrow.ttf);
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
} 

html {
    --red: #FF0009;
    --black: #000000;
    --white: #ffffff;
    --sky: #E8F8FF;
    --segoe: 'segoeui', Arial, sans-serif;
    --bold: 'segoeuibold', arial, sans-serif;
    --bloodcrow: 'bloodcrow';
}

* {
    box-sizing: border-box;
}

body {
    max-width: 100vw;
    max-height: 100vh;
    background-image: url(media/background22.webp);
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    margin: 0;
    margin-inline: auto;
}


/* what hashira are you? */
#title {
    margin: 0;
    font-size: 22px;
}

#question {
    justify-self: center;
    font-family: var(--bloodcrow);
    color: var(--white);
    letter-spacing: 3px;
    text-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;
    margin: 15px;
}

.container {
    display: grid;
    grid-template-columns: repeat(5, 20%);
    grid-template-rows: repeat(5, 20%);
    justify-items: center;
    grid-template-areas:
    ". tengen muichiro tanjiro ."
    "rengoku . . . inosuke"
    "giyu . input . gyomei"
    "mitsuri . . . shinobu"
    ". obanai sanemi zenitsu .";
    width: 800px;
    height: 725px;
    gap: 0px;
    margin: 0;
    margin-inline: auto;
    place-items: center;
    font-family: var(--segoe);
}

/*hashira button */
.hbutton {
    display: block;
    position: relative;
    background-color: transparent;
    border: none;
    color: var(--white);
    transition: all 0.3s ease-in-out;

    p {
        margin: 0;
    }
}


/* button hover */
.hbutton:hover {
    transform: scale(1.3);
}

picture img {
     border: none;
 }

    

/* grid area assign */

#muichiro { grid-area: muichiro;}

#tanjiro {
    grid-area: tanjiro;
    top: 30px;
}

#inosuke {
    grid-area: inosuke;
    right: 40px;
}

#gyomei {
    grid-area: gyomei;
    left: 5px;
}

#shinobu {
    grid-area: shinobu;
    right: 40px;
}
#zenitsu{
     grid-area: zenitsu;
    bottom: 20px;
}

#sanemi {
     grid-area: sanemi;
     top: 10px;
}

#obanai {
     grid-area: obanai;
     bottom: 20px;
}

#mitsuri {
     grid-area: mitsuri;
     left: 40px;
 }
#giyu {
    grid-area: giyu;
    right: 5px;
}

#rengoku {
     grid-area: rengoku;
     left: 40px;
 }

#tengen {
     grid-area: tengen; 
     top: 30px;
}


/* all buttons */
button {
    background-color: transparent;
    border: none;
    cursor: pointer;
}

button:active {
    transform: translateY(3px);
}

/* image thumbnails */
.thumb {
    height: 90px;
    width: auto;
    border-style: solid;
    border-radius: 30px;
    color: var(--white);
}

#centerinput {
    grid-area: input;
    background-color: var(--white);
    border-radius: 30px;
    padding: 15px;
    padding-bottom: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}

#logo {
    img {
        height: 200px;
        width: auto;
    }
}

input[type="date"] {
    width: 100%;
    height: 25px;
    border-radius: 8px;
    padding: 15px;
    border: none;
    background-color: var(--sky);
    box-shadow: rgba(6, 24, 44, 0.4) 0px 0px 0px 2px, 
    rgba(6, 24, 44, 0.65) 0px 4px 6px -1px, 
    rgba(255, 255, 255, 0.08) 0px 1px 0px inset;
    font-size: 18px;
    font-family: var(--bloodcrow);
    letter-spacing: 2px;
}

#info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

input[type="submit"] {
    width: 100px;
    border-radius: 8px;
    border: none;
    padding: 10px;
    background-color: var(--red);
    color: var(--white);
    font-family: var(--bloodcrow);
    font-size: 22px;
    letter-spacing: 2px;
}

input[type="submit"]:active {
    transform: translateY(3px);
}


/* help */
#howto {
    position: fixed;
    top: 70px;
    right: 60px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;   
}

#help {
    padding: 30px;
    line-height: 0;
    border-style: solid;
    border-width: 3px;
    border-radius: 10px;
    color: var(--white);
    font-family: var(--bloodcrow);
    font-size: 30px;
    letter-spacing: 2px;
    margin: 10px;
} 

#helpinfo {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 30px;
    padding: 20px;
    box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 4px, 
    rgba(0, 0, 0, 0.3) 0px 7px 13px -3px, 
    rgba(0, 0, 0, 0.2) 0px -3px 0px inset;
    justify-items: center;
}

#clse {
    width: 100px;
    border-radius: 10px;
    background-color: var(--red);
    color: var(--white);
    font-family: var(--bloodcrow);
    font-size: 16px;
    letter-spacing: 2px;
    padding: 10px;
    margin-top: 10px;
    align-self: center;
    display: flex;
    justify-content: center;
}


#instructions {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--white);
    border-radius: 20px;
    font-family: var(--segoe);
    padding: 15px;

    #ubu {
        width: 150px;
        height: auto;
    }

    h2 {
        font-family: var(--bloodcrow);
        letter-spacing: 2px;
        margin: 0;
    }

    h4, p {
        margin: 5px;
    }
}



/* display area */
section {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 30px;
    padding: 30px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, 
    rgba(0, 0, 0, 0.3) 0px 30px 60px -30px, 
    rgba(10, 37, 64, 0.35) 0px -2px 6px 0px inset;
    display: flex;
    flex-direction: column;
    justify-items: center;
    align-items: center;
}

.hashira {
    width: 800px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--white);
    border-radius: 20px;
    padding: 25px;
    margin: 0;
    text-align: center;

    box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, 
    rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;

    #hashiraimage {
        border-radius: 10px;
        box-shadow: rgba(0, 0, 0, 0.18) 0px 2px 4px;
    }

    h3, p {
        font-family: var(--bold);
    }


    h2 {
        font-family: var(--bloodcrow);
        letter-spacing: 2px;
        font-size: 35px;
        background-color: var(--sky);
        padding: 15px;
        border-radius: 10px;
        box-shadow: rgba(0, 0, 0, 0.18) 0px 2px 4px;
        margin: 10px;
    } 

}

#close {
    width: 200px;
    border-radius: 10px;
    background-color: var(--red);
    color: var(--white);
    font-family: var(--bloodcrow);
    font-size: 22px;
    letter-spacing: 2px;
    margin-top: 25px;
    padding: 20px;       
}

.hideme{
    display: none;
}



footer {
    color: var(--white);
    text-align: center;
    font-family: var(--segoe);
    margin-top: 10px;
    padding: 5px;
    margin: 8px;
    display: flex;
    justify-content: center;
    justify-self: center;
    align-items: center;
    position: fixed;
    bottom: 0;
    left: 0;
    right:0;
    width: 100%;
    gap: 15px;
    background-color: rgba(0, 0, 0, 0.5);

    p {margin: 0;}
}





/* ipad screen size */
@media only screen and (max-width: 820px) {

    .container {
        width: 100%; 
        height: 700px;
        margin-top: 50px;
    }

    #centerinput {
        padding: 15px;
        margin-bottom: 20px;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;
    }

    #logo {
        img {
            height: 120px;
            width: auto;
        }
    }

    .thumb {
        height: 70px; 
        border-radius: 20px;
    }

    #question {
        font-size: 24px;
        text-align: center;
        margin: 25px;
    }


    input[type="date"] {
        font-size: 16px;
    }

    input[type="submit"] {
        font-size: 18px;
    }

    section {

        .hashira {
            width: 100%;
            padding: 15px;
    
            #hashiraimage {
                width: 450px;
                margin: 7px;
            }
    
            h2 {
                letter-spacing: 1px;
                font-size: 22px;
                padding: 12px;
                border-radius: 10px;
                margin: 5px;
            } 
    
            h3 {
                font-size: 17px;
            }
        }

        #close {
            width: 150px;
            font-size: 18px;
            padding: 15px;
        }
    }

   

    #howto {
        top: 50px;
        right: 30px;

        #help {
            font-size: 24px;
            padding: 25px;
            line-height: 0;
        }

        #helpinfo {
            padding: 10px;

            #instructions {
                width: 90%;
                padding: 10px; 
            }

            #clse {
                width: 80px;
                font-size: 14px; 
                padding: 8px;
            }
        }
    }
    
  

    

    footer {
        font-size: 14px;
        padding: 5px;
    }

   

    #ubu {
        width: 100px; 
    }

    h2 {
        font-size: 18px; 
    }

    h4, p {
        font-size: 14px; 
    }
}

/* mobile screens*/
@media only screen and (max-width: 480px) {

    #question {
        font-size: 16px;
        margin: 20px;
    }

    .container {
        width: 100vw; 
        height: 500px;
        margin-top: 35px;
        padding: 5px;


        #tanjiro {
            grid-area: tanjiro;
            top: 30px;
            left: 10px;
        }
        
        #zenitsu{
             grid-area: zenitsu;
            bottom: 20px;
            left: 10px;
        }
        
        #sanemi {
             grid-area: sanemi;
             top: 10px;
        }
        
        #obanai {
             grid-area: obanai;
             bottom: 20px;
             right: 10px;
        }
        
        
        #tengen {
             grid-area: tengen; 
             top: 30px;
             right: 10px;
        }
    
        #inosuke {
            grid-area: inosuke;
            right: 20px;
        }
    
        #shinobu {
            grid-area: shinobu;
            right: 20px;
        }
    
    
        #mitsuri {
            grid-area: mitsuri;
            left: 20px;
        }
    
        #rengoku {
            grid-area: rengoku;
            left: 20px;
        }
    
        .thumb {
            height: 50px;
            border-radius: 15px;
        }
    
        #centerinput {
            padding: 15px;
            margin-bottom: 20px;
            display: flex;
            flex-direction: column;
            justify-content: space-around;
            align-items: center;

            #logo {
                img {
                    height: 80px;
                    width: auto;
                }
            }


            input[type="date"] {
                font-size: 12px; 
                width: 100%;
                padding: 8px;
                box-shadow: rgba(6, 24, 44, 0.4) 0px 0px 0px 2px, 
                rgba(6, 24, 44, 0.65) 0px 4px 6px -1px, 
                rgba(255, 255, 255, 0.08) 0px 1px 0px inset;
            }
        
            input[type="submit"] {
                font-size: 14px; 
            }
        }
    }

   
   

    /* hashira display area */
    section {
        width: 100vw; 
        padding: 20px;

        .hashira {
            width: 100%; 
            padding: 10px; 
            border-radius: 10px;
    
            
            #hashiraimage {
                width: 100%;
                margin: 7px;
            }
    
            h2 {
                letter-spacing: 1px;
                font-size: 18px;
                padding: 10px;
                border-radius: 10px;
                margin: 5px;
            } 
    
            h3 {
                font-size: 15px;
            }
        }

        #close {
            width: 120px; 
            font-size: 16px; 
            padding: 10px; 
            justify-self: center;
        }
    }



    /* how to play */
    #howto {
        position: fixed;
        top: 35px;
        right: 2px;
        margin: 10px;

        #help {
            font-size: 20px; 
            padding: 15px; 
            line-height: 0;
            margin: 0;
            margin-bottom: 10px;
        }

        #helpinfo {
            border-radius: 10px;
    
            #instructions {
                width: 95%; 
                padding: 10px; 
                justify-items: center;

                #ubu {
                    width: 80px; 
                }
            
                h2 {
                    font-size: 20px;
                }
            
                h4, p {
                    font-size: 12px; 
                }
            }

            #clse {
                width: 70px; 
                font-size: 12px; 
                padding: 5px;
                justify-self: center;
            }
           
        }
    }

   


    /* footer */
    footer {
        padding: 4px;

        p {
            font-size: 10px;
        }
    }

}
