*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    height: 100%;
}

body {
    font-family: "Hiragino Mincho ProN", "MS Mincho", "BIZ UDPMincho", serif;
    background-color: beige;
    margin: 0;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

#header {
    height: 20vh;
    width:100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 1px 0px 5px 1px gray;
    background-image: url("/photos/25508995_s.jpg");
    background-position:center;
    background-size: cover;
}

#header h1 {
    color: white;
    font-weight: bold;
    text-shadow: 0 0 10px red;
    
}

#header a {
    text-decoration: none;
    border-radius: 8px;
}

#header a:hover{
    background-color: rgba(255,255,255,0.15);
}
.stu-display{
    color: white;
    text-shadow:0 0 10px red;
    margin:10px;
}

.register{
    margin: 10px;
    font-weight:bold;
    color:white;
    text-shadow: 0 0 10px black;
}



.register:active{
    color:red;
}



#main-content {
    flex: 1;
    display: flex;
    justify-content: space-between;
    margin-top:20px;
    margin-bottom:20px;
    gap:10px;
}

@media (max-width:900px){
    #main-content{
        flex-direction: column;
        align-items: center;
        gap:10px;
    }
    #left-content{
        order:2;
        width:100%;
    }
    #center-content{
        order:1;
        width:100%;
    }
    #right-content{
        order:3;
        width:100%;
    }
}

#left-content {
    flex-basis:300px;
    flex-grow:0;
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 6px 0 2px -6px gray;
}

#right-content {
    flex-basis:300px;
    flex-grow:0;
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: -6px 0  2px -6px gray;
}

.explain{
    margin:10px;
}

.ad-list{
    width:100%;
    padding : 10px;
    display:flex;
    justify-content: center;
}

.ad-column img{
    max-width: 100%;
    height:auto;
}


#center-content {
    flex-grow:0;
    flex-shrink:0;
    flex-basis:500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap:20px;
}



.subscription{
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.subscription-btn{
    border-radius:10px;
    padding:15px;
    font-size:25px ;
    border:none;
    color:white;
    box-shadow:0 0 10px gold;
    background-color: goldenrod;

}

.subscription-btn:hover{
    background-color: rgb(159, 135, 1);
}

.subscription-btn:active{
    background-color: rgb(84, 72, 1);
}
#start{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap:20px;
}
#chat-start {
    box-shadow: 0 1px 2px gray;
    padding: 20px;
    margin: 0;
    max-width:600px;
}

#chat-start-input {
    height: 80%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin: 5%;
}

#chat-start-input .inputs {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 50%;
    gap: 3%;
    margin:auto;

}

#chat-start-input .inputs input {
    padding: 10px;
    border-radius: 10px;
    border: 1px solid black;
    font-size: 16px;
}

#chat-start-input button {
    margin:auto;
    border-radius: 16px;
    border: 1px solid black;
    background-color: rgb(206, 191, 172);
    width: 100%;
    aspect-ratio: 100/10;
    font-size: 24px;
    font-weight: bold;
    font-family: "Hiragino Mincho ProN", "MS Mincho", "BIZ UDPMincho", serif;
}

#chat-start-input button:hover {
    background-color: rgb(144, 136, 126);
}

#chat-start-input button:active {
    background-color: rgb(88, 83, 76);
}


#start.hidden {
    display: none;
}

#chat-container {
    height: 600px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 500px;
    margin: 0 auto;
    border-radius:10%;
    background-color: white;
    padding: 3%;
}

#chat-container.hidden {
    display: none;
}

#chat-log {
    flex: 1;
    width: 100%;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10vh;
    padding: 15px;
    border: 1px solid black;
    border-radius: 5%;

}

.message {
    border-radius: 15px;
    padding: 10px
}

.message.me {
    background-color: aquamarine;
    margin-left: auto;
}

.message.you {
    background-color: rgb(186, 186, 186);
    margin-right: auto;
}

.message.you.loading {
    animation: blink 1.5s infinite ease-in-out;
}

@keyframes blink {
    0% {
        opacity: 0.4;
    }

    50% {
        opacity: 1.0;
    }

    100% {
        opacity: 0.4;
    }
}

#chat-input-area {
    height: 10%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5%;
    padding: 10px;
}

#chat-input {
    border-radius: 16px;
    border: 1px solid black;
    font-size: 20px;
    height: 100%;
    padding: 5%;
}

#chatbtn {
    font-size: 20px;
    border-radius: 50%;
    border: 1px solid gray;
    background-color: aliceblue;
    height: 100%;
    aspect-ratio: 1/1;
}

#chatbtn:hover {
    background-color: rgb(156, 175, 192);
}

#chatbtn:active {
    background-color: rgb(105, 115, 125);
}

#footer {
    margin: 0;
    min-height: 10vh;
    box-shadow: 0 -1px 3px gray;
    width: 100%;
}

.yoko-li {
    display: flex;
    justify-content: center;
    align-items: center;
}

.no-dot{
    list-style-type: none;
}

.share-list{
    width:auto;
    display: flex;
    gap:20px;
    justify-content: space-between;
}
.share{
    display: flex;
    flex-direction: column;
    width:80%;
    height: auto;
    align-items:center;
    padding:10px;
    box-shadow :0.0.2px black;
}