html, body {
    font-family: "Shin Maru Go DemiBold", sans-serif;
    color:#787f82;
    font-weight: bold;
    touch-action: manipulation;
}
a {
    color:#787f82;
}


/**
 Disable selection
 */
span, label {
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10+ */
  user-select: none;
}

/**
 Header styles
 */

.header {
    position: fixed;
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
    font-weight: bold;
    font-size: 12px;
    background-color: #fff;
    z-index:500;
    width: 100%;
    display: block;
    padding: 1% 2%;
    top:env(safe-area-inset-top);
}
.header ul.labels .right {
    display: flex;
}
.header ul.labels .right li {
    margin-right: 5px;
}
.header ul.labels li .icon {
    display: inline-block;
    width:14px;
    margin-right:5px;
}
.header ul.labels li.diamond #shop > div {
    display: inline-block;
}
.header .icon img {
    width:100%;
}
.header ul.labels li {
    background-color: #ebe7df;
    border-radius: 50px;
    padding:5px 10px;
}
.header ul.labels li.stamina #stamina-timer {
    font-size: 10px;
    font-family: "Shin Maru Go DemiBold", sans-serif;
}

.header ul.labels .left li {
    background-color:transparent;
    padding:0;
}

#install-button {
    cursor:pointer;
    color:#fff;
    background-color:#a9b4ba;
    padding:4px 8px;
    border-radius:20px;
    font-size:10px;
}
ul.labels {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding: 0 5px;
}

ul.labels li {
    --display: inline-block;
}
ul.labels #hamburger {
    background-color: #fff;
    padding: 0;
}
#main-content {
    margin: 40px 0 100px 0;
}
#home {
    /*display: block!important;*/
}
#home ul.tabs {
    position:fixed;
    width:100%;
    top:calc(env(safe-area-inset-top) + 35px);
    background-color:#fff;
    z-index:99;
}
/**
 Content styles
 */

.g-nav {
    position: fixed;
    bottom:calc(env(safe-area-inset-bottom ) + 10px);
    width:100%;
    background: linear-gradient(rgba(235,231,223,0) 40%, rgba(235,231,223,1) 40%);
}
.g-nav ul {
    display: flex;
    padding: 5px 10px;
}
.g-nav ul li {
    width:20%;
    cursor: pointer;
    position: relative;
}

.g-nav ul li .icon {
    width: 36px;
    height: 36px;
    background-size: cover;
    background-position: center center;
    display: block;
    margin: 0 auto;
    position: relative;
    transition:all 0.3s ease-out;
}
.g-nav ul li:nth-child(1) .icon {
    background-image: url("../images/gnav_icon_home.png");
    transition:all 0.3s ease-out;
}
.g-nav ul li:nth-child(2) .icon {
    background-image: url("../images/gnav_icon_league.png");
    transition:all 0.3s ease-out;
}
.g-nav ul li:nth-child(3) .icon {
    background-image: url("../images/gnav_icon_friend.png");
    transition:all 0.3s ease-out;
}
.g-nav ul li:nth-child(4) .icon {
    background-image: url("../images/gnav_icon_mypage.png");
    transition:all 0.3s ease-out;
}
.g-nav ul li:nth-child(5) .icon {
    background-image: url("../images/gnav_icon_config.png");
    transition:all 0.3s ease-out;
}
.g-nav ul li.selected:nth-child(1) .icon {
    background-image: url("../images/gnav_icon_home_selected.png");
    transition:all 0.3s ease-out;
}
.g-nav ul li.selected:nth-child(2) .icon {
    background-image: url("../images/gnav_icon_league_selected.png");
    transition:all 0.3s ease-out;
}
.g-nav ul li.selected:nth-child(3) .icon {
    background-image: url("../images/gnav_icon_friend_selected.png");
    transition:all 0.3s ease-out;
}
.g-nav ul li.selected:nth-child(4) .icon {
    background-image: url("../images/gnav_icon_mypage_selected.png");
    transition:all 0.3s ease-out;
}
.g-nav ul li.selected:nth-child(5) .icon {
    background-image: url("../images/gnav_icon_config_selected.png");
    transition:all 0.3s ease-out;
}
.g-nav ul li .label {
    font-size: 10px;
    padding-top: 1px;
    text-align: center;
    position: relative;
}
.g-nav li.selected .label {
    color: #3f4d51;
}
.g-nav li::before {
    content: "";
    position: absolute;
    background-color: #fff;
    border-radius: 50px;
    width: 0px;
    height: 0px;
    top: 60px;
    left: 50%;
    transform:translate(-50%,0);
    transition: all 0.3s ease-out;
}
.g-nav li.selected::before {
    top: 14px;
    width: 90px;
    height: 90px;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32,  1.275);
}
ul.items li.wrap {
    margin: 0 0 30px 0;
    padding:0;
}
.question {
    border: solid 4px #d4cbc3;
    width:84vw;
    height:84vw;
    padding:9vw;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
    position: relative;
}
.question .text {
    font-weight:bold;
    font-size: 30px;
    line-height: 1.2;
}
.question .question-img {
    object-fit: contain;
    width:100%;
    height:100%;
}

div.answer {
    text-align: left;
    padding: 10px 0;
}
div.answer > div {
    display: flex;
    align-items:center;
}
div.answer .icon {
    width: 14%;
    margin-right: 3%;
}
div.answer .icon img {
    width: 100%;
}
div.answer .text {
    display: flex;
    flex-direction:column-reverse;
    font-weight: bold;
    width: 83%;
}
div.answer .text span {
    display: block;
}
div.answer .win-block .text span {
    color: #42c6ab;
}
#participated div.answer .win-block .text span {
    color: #787f82;
}
#voted-element div.answer .result_waiting-block .text span {
    color: #787f82;
}
div.answer .lose-block .text span {
    color: #a9b4ba;
}
div.answer .text span:first-child {
    font-size: 10px;
    text-decoration: underline;
    padding-top: 3px;
    text-align: right;
}
div.answer .text span:last-child {
    font-size: 18px; 
}
div.answer .win-block .text span:last-child {
    padding-top: 13px;
}
div.answer .vs-block {
    position: relative;
}
div.answer .vs-block img {
    position: relative;
    display: block;
    width: 30px;
    margin: 0 auto;
}
div.answer .vs-block::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    border-bottom: solid 3px #d4cbc3;
}


div.answer.before .icon {
    display: none;
}
div.answer.before .text {
    width:100%;
}
#participated div.answer.before .votes_wrap .votes {
    display: none;
}
div.answer.before .win-block .text span {
    color:#787f82;
}
div.answer.before .lose-block .text span {
    color:#787f82;
}
div.answer.before .lose-block .text span {
    color:#787f82;
}

/*ul.filter-tabs {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    margin: 0;
    padding: 4px 0 0 0;
    background-color: rgb(247 254 231);
    --border-bottom: solid 4px white;
}

ul.filter-tabs li {
    color: #cbd5e1;
    display: inline-block;
    font-family: sans-serif;
    font-weight: bold;
    padding: 0.25em 0.5em 0.25em 0.5em;
    cursor: pointer;
    color: black;
    background-color: white;
    border: solid 2px #cbd5e1;
    border-radius: 50vh;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

ul.filter-tabs li.selected {
    background-color: #cbd5e1;
    color: white;
}*/

ul.filter-tabs {
    display: flex;
    flex-direction: row;
    margin: 0;
    padding: 0;
}

ul.filter-tabs li {
    display: inline-block;
    flex-grow: 1;
    text-align: center;
    padding: 0.75em;
    background-color: white;
    cursor: pointer;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-style: solid;
    border-width: 2px;
    border-color: rgb(203 213 225);
    border-bottom-style: none;
    margin-left: 2px;
    color: gray;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10+ */
    user-select: none;
}

ul.filter-tabs li.selected {
}

#content {
    margin-top: calc(env(safe-area-inset-top) + 90px);
}

ul.ranking-items {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0 1em 0 1em;
}

ul.ranking-items li {
    display: inline-block;
    text-align: left;
    padding: 0.5em;
    margin: 0;
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: larger;
    color: black;
}

#ranking ul.leagues {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    padding: 6% 3% 2% 3%;
    background-color: #ebe7df;
}
#ranking ul.leagues li {
    width:15%;
    text-align: center;
}
#ranking ul.leagues li img {
    display: block;
    width:30px;
    height:35px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}
#ranking ul.leagues li .text {
    font-size: 14px;
    padding-top: 4px;
}
#ranking ul.leagues li.active {
    width:25%;
    position: relative;
    text-align: center;
}
#ranking ul.leagues li.active img {
    position: absolute;
    width:53px;
    height:63px;
}
#ranking ul.leagues li.active .text {
    position: absolute;
    color:#fff;
    font-size: 32px;
    top: 9px;
    right: 0;
    bottom: 0;
    left: 0;
    padding-top: 0px;
}

#ranking .lead {
    padding: 2% 6%;
    background-color: #ebe7df;
    font-weight: bold;
    display: flex;
}
#ranking .lead .left {
    width:70%;
}
#ranking .lead .right {
    width:30%;
}
#ranking .lead .right img {
    width: 100%;
}
#ranking .lead .league-text {
    font-size: 16px;26
}
#ranking .lead .league-text .big {
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
    font-size: 26px;
}
#ranking .lead .days-left {
    font-size: 10px;
}
#ranking .lead .days-left .days {
    color: #42c6ab;
}
#ranking .lead .days-left .days .number {
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
    font-size: 22px;
}
#ranking .lead .tittle {
    display: flex;
    justify-content:space-between;
}
#ranking .lead .speech {
    width: 100%;
}
#ranking ul.tabs {
    background-color: #ebe7df;
    font-weight: bold;
    position: relative;
}
#ranking ul.tabs li {
    width: 50%;
}
#ranking ul.ranking-list {
    padding: 0 4%;
}
#ranking ul.ranking-list li {
    display: flex;
    justify-content:space-between;
    border-bottom: solid 1px #dddddd;
    padding:15px 0;
    align-items:center;
}
#ranking ul.ranking-list li .number {
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
    font-size: 14px;
    width:5%;
    text-align:center;
}
#ranking ul.ranking-list li .user img {
    width: 40px;
    padding:0;
    margin: 0 10px;
}
#ranking ul.ranking-list li .name {
    font-size: 16px;
    flex-grow:1;
}
#ranking ul.ranking-list li .point {
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
    padding-left:5px;
    font-size: 14px;
}
#friends ul.tabs li {
    width:33.3%;
}
#friends ul.friends-list {
    padding: 0 4%;
}
#friends ul.friends-list li {
    display: flex;
    justify-content:space-between;
    border-bottom: solid 1px #dddddd;
    padding:15px 0;
    align-items:center;
}
#friends ul.friends-list li .user img {
    width: 40px;
    padding:0;
    margin: 0 10px;
}
#friends ul.friends-list li .name {
    font-size: 16px;
    flex-grow:1;
}
#friends .friends-list .hart {
    width: 38px;
    height: 38px;
    background-color: #ebe7df;
    border-radius: 5px;
    margin-right: 5px;
}
#friends .friends-list .del {
    width: 38px;
    height: 38px;
    background-color: #c0c4c4;
    border-radius: 5px;
}
#friends .friends-list .hart img,
#friends .friends-list .del img {
    display: block;
    margin: auto;
    width: 14px;
    height: 14px;
}
#profile-pane #main-profile,
#mypage #mypage-main-profile {
    position:absolute;
    top:35px;
    left:0;
    right:0;
    bottom:0;
    background-color: #edf4f4;
}
#profile-pane #main-profile {
    top:0;
}
#mypage .profile-box,
#profile-pane .profile-box {
    background-color: #ebe7df;
    display: flex;
    padding:5%;
    align-items:center;
}
#mypage .profile-box .mypage-image,
#profile-pane .profile-box .profile-image {
    width:80px;
    height:80px;
    margin-right:5px;
}
#mypage .profile-box .blue-button {
    color:#fff;
    background-color: #9ab4b5;
    border-radius: 10px;
    padding:5px 10px;
    font-size: 10px;
    cursor: pointer;
    margin: 3px 0;
}
#profile-pane .profile-box .blue-button {
    background-color: #fff;
    border-radius: 10px;
    padding: 5px 10px 5px 35px;
    font-size: 10px;
    cursor: pointer;
    margin: 3px 0;
    position:relative;
}
#profile-pane .profile-box .blue-button::before {
    content: "";
    width: 22px;
    height: 14px;
    background-image: url("../images/icon_follw.png");
    background-repeat: no-repeat;
    background-size: cover;
    display:block;
    position: absolute;
    top:3px;
    left:10px;
}
#mypage .profile-box .name,
#profile-pane .profile-box .name {
    font-size: 24px;
}
#mypage .profile-box .follow,
#profile-pane .profile-box .follow {
    font-size: 10px;
}
#mypage .profile-box .follow span,
#profile-pane .profile-box .follow span {
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
    font-size: 16px;
}
#mypage .title,
#profile-pane .title {
    display: flex;
    flex-wrap:wrap;
    padding:3%;
}
#mypage .title .title-box,
#profile-pane .title .title-box {
    width: 48%;
    height:44vw;
    padding: 10px;
    margin: 1%;
    background-color: #fff;
    border-radius: 5px;
    font-size: 12px;
    font-weight: bold;
    position: relative;
}
#mypage .title .title-box .value,
#profile-pane .title .title-box .value {
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
    font-size: 36px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#mypage .title .title-box img,
#profile-pane .title .title-box img {
    width: 16px;
    margin-right: 5px;
}
#mypage .title .link {
    position: absolute;
    bottom:10px;
    right:10px;
}
#mypage .title .link a {
    font-size: 12px;
    color:#9ab4b5;
}
#settings .wrap {
    font-size: 14px;
    padding:0 20px;
}
#settings #name-edit {
    font-size: 18px;
    padding: 7px 15px;
    border: solid 2px #d7dfe2;
    width: 100%;
    border-radius: 30px;
    margin-top: 10px;
}
#settings #name-edit:focus {
    border: solid 2px #9aaaaf;
}
#settings .line {
    display: flex;
    justify-content:space-between;
    align-items:center;
    padding: 20px 0;
    border-bottom: solid 1px #dddddd;
    flex-wrap:wrap;
}
#shop-pane {
    background-color: #ebe7df;
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
}

ul.items {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0 8vw 0 8vw;
}

ul.items li {
    display: inline-block;
    text-align: left;
    padding: 0.5em;
    margin: 0.5em 0 0.5em 0;
    background-color: white;
    --border: 1px solid black;
    --border-radius: 5px;
    --cursor: pointer;
}

ul.items.scrollmargin li {
    margin-right: 0.5em;
}

ul.items li span.vs {
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: larger;
    color: black;
    -webkit-text-stroke: 1px gold;
}

ul.items li span.name {
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: larger;
    color: gold;
    -webkit-text-stroke: 1px black;
}

ul.items li span.likes {
    color: #5e5e5e;
}

/**
 Footer styles
 */

#footer {
    position: fixed;
    bottom:calc(env(safe-area-inset-bottom ));
    padding-bottom: 10px;
    background-color: #fff;
    width: 100%;
    box-shadow: 0px 0px 5px 0px #aaa
}

ul.buttons {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    margin: 16px 0 64px 0;
    padding: 0 10px;
}

ul.buttons li {
    display: block;
    width: 50%;
    padding: 0 1% 0 1%;
}

ul.buttons li button {
    --padding: 0.5em;
}


ul.tabs {
    display: flex;
    align-items:flex-start;
    margin-bottom: 20px;
    padding: 0 5px;
}
ul.home-tabs {
    position: fixed;
    width:100%;
    top:35px;
}
ul.tabs::before {
    content: "";
    position: absolute;
    height: 2px;
    background-color: #787f82;
    bottom: 0;
    left:0;
    right:0;
}

ul.tabs li {
    position: relative;
    display: block;
    width: 24%;
    margin: 0 0.5%;
    padding: 5px 0 4px 0;
    text-align: center;
    cursor: pointer;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-style: solid;
    border-width: 2px;
    border-color: #a9b4ba;
    background-color: #fff;
    border-bottom-style: none;
    font-size: 15px;
    color: #a9b4ba;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10+ */
    user-select: none;
    transition: all 0.2s 0.3s ease-out;
}

ul.tabs li.selected {
    padding: 5px 0 8px 0;
    color: #787f82;
    border-color: #787f82;
    transition: all 0.2s ease-out;
}

/*
ul.tabs li.participated {
    background: linear-gradient(180deg, rgba(251,215,34,1) 0%, rgba(251,215,34,1) 20%, rgba(255,255,255,1) 14%, rgba(255,255,255,1) 100%);
}

ul.tabs li.voted {
    background: linear-gradient(180deg, rgba(147,206,100,1) 0%, rgba(147,206,100,1) 20%, rgba(255,255,255,1) 14%, rgba(255,255,255,1) 100%);
}
*/

/**
 Text styles
 */

.x-small {
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: x-small;
}

.small {
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: small;
}

.medium {
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: medium;
}

.large {
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: large;
}

.x-large {
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: x-large;
}

.xx-large {
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: xx-large;
}

.gray {
    color: gray;
}

.black {
    /*font-family: sans-serif;*/
    font-weight: bold;
    color: black;
}

.gold {
    /*font-family: sans-serif;*/
    font-weight: bold;
    color: gold;
}

.orange {
    /*font-family: sans-serif;*/
    font-weight: bold;
    color: orange;
}

.white-outline {
    /*font-family: sans-serif;*/
    font-weight: bold;
    color: white;
    -webkit-text-stroke: 1px black;
}

.gold-outline {
    /*font-family: sans-serif;*/
    font-weight: bold;
    color: gold;
    -webkit-text-stroke: 1px black;
}

.black-outline {
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: larger;
    color: black;
    -webkit-text-stroke: 1px gold;
}

.black-white-outline {
    /*font-family: sans-serif;*/
    font-weight: bold;
    color: black;
    -webkit-text-stroke: 1px white;
}

.white-gray-outline {
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: larger;
    color: white;
    -webkit-text-stroke: 1px #929292;
}

.gold-gray-outline {
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: larger;
    color: gold;
    -webkit-text-stroke: 1px #5e5e5e;
}

/**
 UI elements
 */

.dialog {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.dialog-header {
    padding: 1em;
    color: black;
}

.dialog-header .name {
    cursor: pointer;
}

.dialog-content {
}
#answer-pane .subject,
#vote-pane .subject{
    display:flex;
    align-items:center;
    flex-direction:column;
    background-color: #ebe7df;
}
#answer-pane .timmer,
#vote-pane .timmer {
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
    font-weight: bold;
    font-size: 14px;
    background-color: #fff;
    padding: 3px 5px;
    border-radius: 20px;
    margin:5px 5px 15px 5px;
}
#answer-pane .timmer img,
#vote-pane .timmer img {
    width: 17px;
}
#answer-pane .question,
#vote-pane .question {
    border: solid 4px #d4cbc3;
    background-color: #fff;
    width:80vw;
    height:80vw;
    flex-direction:column;
    display:flex;
    margin: 15px 0;
}
.date_star {
    position: absolute;
    bottom:5px;
    right:5px;
    display:flex;
}
.date_star span {
    font-size:14px;
    margin-right:3px;
    font-family:'Quicksand', "Shin Maru Go DemiBold", sans-serif;
}
.date_star img {
    width:14px;
    height: 14px;
}

#answer-pane .question .text,
#vote-pane .question .text {
    font-size: 24px;
    line-height: 1.5;
}
#answer-pane .answer {
    margin: 20px;
}
#answer-pane .answer textarea {
    border: solid 2px #d7dfe2;
    font-size: 18px;
    border-radius:5px;
    padding:1em;
    flex-grow: 1;
}
#vote-pane .answer {
    border: solid 2px #d7dfe2;
    font-size: 14px;
    border-radius:5px;
    padding:2em;
    flex-grow: 1;
    font-weight: bold;
    line-height: 1.3;
    margin: 0 20px;
}
#vote-pane .answer:first-child {
    margin-top: 30px;
}
#vote-pane .vs {
    position: relative;
    margin: 4px 0;
}
#vote-pane .answer.selected {
    background-color: #f2f9f9;
    border-color: #9ab4b5;
}
#vote-pane .vs img {
    position: absolute;
    width: 34px;
    height: 29px;
    top:-14px;
    left:0;
    right:0;
    margin:0 auto;
}
#answer-pane .answer .button-wrap {
    width:50%;
    margin: 0 auto;
}
#answer-pane .footer,
#vote-pane .footer,
#profile-pane .footer,
#shop-pane .footer {
    position: fixed;
    bottom:0;
    background-color: #ebe7df;
    left:0;
    right:0;
    display: flex;
    justify-content:space-between;
}
#answer-pane .footer .close-button,
#vote-pane .footer .close-button,
#profile-pane .footer .close-button,
#shop-pane .footer .close-button {
    width:28px;
    height:28px;
    background-color: #c3bfa8;
    border-radius: 28px;
    margin:8px;
}
#answer-pane .footer .close-button img,
#vote-pane .footer .close-button img,
#profile-pane .footer .close-button img,
#shop-pane .footer .close-button img {
    width:16px;
    height:16px;
    margin: 0 auto;
    display: block;
}
#answer-pane .footer .right img,
#vote-pane .footer .right img,
#profile-pane .footer .right img,
#shop-pane .footer .right img {
    width:88px;
    position:absolute;
    bottom: 0;
    right: 0;
}
#answer-pane .footer .right .speech,
#vote-pane .footer .right .speech,
#ranking .lead .speech,
#profile-pane .footer .right .speech,
#shop-pane .footer .right .speech {
    position: relative;
    display: inline-block;
    font-size: 12px;
    background-color:#fff;
    padding: 5px 10px;
    margin: 10px 80px 10px 0;
    border-radius:20px;
}
#answer-pane .footer .right .speech:before,
#vote-pane .footer .right .speech:before,
#ranking .lead .speech:before,
#profile-pane .footer .right .speech:before,
#shop-pane .footer .right .speech:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 99%;
    margin-top: -5px;
    border: 5px solid transparent;
    border-left: 10px solid #fff;
 }

 #next-answer,
 #next-vote {
    position:absolute;
    background-color:rgba(112,153,153,0.9);
    top:0;
    left:0;
    right:0;
    bottom:0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1em;
    z-index:700;
}
#next-vote {
    background-color:rgba(140,139,133,0.9);
}
#next-answer .text,
#next-vote .text {
    color:#fff;
    font-size: 17px;
}
#next-answer .text span,
#next-vote .text span {
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
    font-size: 30px;
}
#next-answer .text img,
#next-vote .text img {
    width:30px;
}
#next-answer button.keep-button,
#next-vote button.keep-button {
    width:200px;
    background-color:#c3bfa8;
    color:white;
    border-radius:0.5em;
    font-size: 16px;
    padding:10px;
    text-align: center;
}
#next-vote button.keep-button {
    background-color:#9ab4b5;
}

#next-answer button.keep-button .big_text,
#next-vote button.keep-button .big_text {
    font-size: 22px;
}
#next-answer button.close-button,
#next-vote button.close-button {
    position: absolute;
    bottom:0;
    left:0;
    width:28px;
    height:28px;
    background-color:#fff;
    border-radius:28px;
    margin: 8px;
}
#next-answer button.close-button img,
#next-vote button.close-button img {
    width: 16px;
    height: 16px;
    margin:0 auto;
    display:block;
}
#next-answer .sub,
#next-vote .sub {
    font-size: 12px;
    color:#fff;
}
#next-answer .sub img , 
#next-vote .sub img {
    width: 14px;
}

.space-after {
    margin-bottom: 10px;
}

.space-before {
    margin-top: 0.5em;
}

.round-button {
    background-color: white;
    box-shadow: 0 2px 0 gray;
    border-style: none;
    border-radius: 5px; 
    cursor: pointer;
    padding: 0.5em;
    color: black;
}

.round-button:active {
    transform: translate(0, 2px);
    box-shadow: none;
}

.gray-button {
    background-color: silver;
    border-style: none;
    border-radius: 5px;
    cursor: pointer;
    padding: 0.5em;
    color: black;
}

.blue-button {
    /*
    background-color: #0096ff;
    box-shadow: 0 2px 0 blue;
    border-style: none;
    border-radius: 5px;
    cursor: pointer;
    padding: 0.5em;
    color: black;
    */
}

.blue-button:active {
    /*
    transform: translate(0, 2px);
    box-shadow: none;
    */
}

.blue-button:disabled {
    background-color: #969696;
}

.white-button {
    background-color: #9ab4b5;
    border-radius: 5px;
    cursor: pointer;
    padding: 6px 10px 4px 10px;
    color:#fff;
    font-size: 12px;
}

.white-button:active {
    background-color: #88a0a0;
}

.white-button:disabled {
    background-color: #969696;
}

.gold-button {
    background-color: gold;
    box-shadow: 0 2px 0 orange;
    border-style: none;
    border-radius: 5px;
    cursor: pointer;
    padding: 0.5em;
    color: black;
}

.gold-button:active {
    transform: translate(0, 2px);
    box-shadow: none;
}

.lime-button {
    background-color: #c3bfa8;
    border-radius: 5px;
    cursor: pointer;
    padding: 8px 0;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    width:100%;
    text-align: center;
}

.lime-button:active {
    /*
    transform: translate(0, 2px);
    box-shadow: none;
    */
}

.orange-button {
    background-color: #9ab4b5;
    border-radius: 5px;
    cursor: pointer;
    padding: 8px 0;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    width:100%;
    text-align: center;
}

.orange-button:active {
    /*
    transform: translate(0, 2px);
    box-shadow: none;
    */
}

.red-button {
    background-color: #ff57b0;
    border-style: none;
    border-radius: 5px;
    box-shadow: 0 2px 0 darkviolet;
    cursor: pointer;
    padding: 0.5em;
    color: black;
}

.red-button:active {
    transform: translate(0, 2px);
    box-shadow: none;
}

.opacity-25 {
    opacity: 0.25;
}

.opacity-100 {
    opacity: 1;
}

.silver-bg {
    background-color: silver;
}

.dark-bg {
    background-color: #929292;
}

.text-slate-500 {
    color: rgb(100 116 139);
}

.text-slate-600 {
    color: rgb(71 85 105);
}

.text-white	{
    color: rgb(255 255 255);
}

.text-yellow-500 {
    color: rgb(234 179 8);
}

.bg-black {
    background-color: rgb(0 0 0);
}

.bg-cyan-900 {
    background-color: rgb(22 78 99);
}

.bg-gray-20 {
    background-color: rgb(229 231 235);
}

.bg-lime-50 {
    background-color: rgb(247 254 231);
}

.bg-lime-500 {
    background-color: rgb(132 204 22);
}

.bg-lime-600	{
    background-color: rgb(101 163 13);
}

.shadow-lime-600 {
    --tw-shadow-color: #65a30d;
}

.border-solid {
    border-style: solid;
}

.border-slate-300 {
    border-color: rgb(203 213 225);
}

.border-slate-400 {
    border-color: rgb(148, 163, 184);
    border-width: 1px;
    border-style: solid;
}

.border-2 {
    border-width: 2px;
}

.rounded-none	{
    border-radius: 0px;
}

.rounded-sm	{
    border-radius: 0.125rem; /* 2px */
}

.rounded	{
    border-radius: 0.25rem; /* 4px */
}

.rounded-md	{
    border-radius: 0.375rem; /* 6px */
}

.rounded-lg	{
    border-radius: 0.5rem; /* 8px */
}

.rounded-x {
    border-radius: 0.75rem; /* 12px */
}

.rounded-2xl {
    border-radius: 1rem; /* 16px */
}

.rounded-3xl {
    border-radius: 1.5rem; /* 24px */
}

.px-1 { 
    padding-left: 0.25rem; /* 4px */
    padding-right: 0.25rem; /* 4px */
}

.py-1 {
    padding-top: 0.25rem; /* 4px */
    padding-bottom: 0.25rem; /* 4px */
}

.p-2 {
    padding: 0.5rem; /* 8px */
}

.px-2 { 
    padding-left: 0.5rem; /* 8px */
    padding-right: 0.5rem; /* 8px */
}

.py-2 {
    padding-top: 0.5rem; /* 8px */
    padding-bottom: 0.5rem; /* 8px */
}

.px-8 {
    padding-left: 2rem; /* 32px */
    padding-right: 2rem; /* 32px */
}

.py-8 {
    padding-top: 2rem; /* 32px */
    padding-bottom: 2rem; /* 32px */
}

.px-12 {
    padding-left: 3rem; /* 48px */
    padding-right: 3rem; /* 48px */
}

.p-12 {
    padding: 3rem; /* 48px */
}

.mx-7 {
    margin-left: 1.75rem; /* 28px */
    margin-right: 1.75rem; /* 28px */
}

.my-7 {
    margin-top: 1.75rem; /* 28px */
    margin-bottom: 1.75rem; /* 28px */
}

.mx-8 {
    margin-left: 2rem; /* 32px */
    margin-right: 2rem; /* 32px */
}

.my-8 {
    margin-top: 2rem; /* 32px */
    margin-bottom: 2rem; /* 32px */
}

.max-w-screen-sm { 
    max-width: 640px;
}

.max-w-screen-md { 
    max-width: 768px;
}

.max-w-screen-lg { 
    max-width: 1024px;
}

.max-w-screen-xl { 
    max-width: 1280px;
}

.max-w-screen-2xl { 
    max-width: 1536px;
}

.flex {
    display: flex;
}

.flex-row {
    flex-direction: row;
}

.flex-col {
    flex-direction: column;
}

.grow {
    flex-grow: 1;
}

.grow-0 {
    flex-grow: 0;
}

.items-center {
    align-items: center;
}

.gap-1 {
    gap: 0.25rem; /* 4px */
}

.w-full { 
    width: 100%;
}

.w-screen {
    width: 100vw;
}

.w-min { 
    width: min-content;
}

.w-max { 
    width: max-content;
}

.w-fit {
    width: fit-content;
}

@media (orientation: landscape) {
    .square-60 {
        width: 20vw; 
        height:20vw;
    }
    
    .square-75 {
        width: 60vh; 
        height:50vh;
    }
    
    .square-80 {
        width: 60vh;
        height: 60vh;
    }

    .width-75 {
        width: calc(60vh + 4rem);
    }
}

@media(orientation: portrait) {
    .square-60 {
        width: 60vw; 
        height:60vw;
    }
    
    .square-75 {
        width: 75vw; 
        height:60vw;
    }

    .square-80 {
        width: 80vw;
        height: 80vw;
    }

    .width-75 {
        width: calc(75vw + 4rem);
    }
}
/*
div.answer.winner {
    background-color: gold;
}

div.answer div.title {
    background-color: white;
    border-radius: 5px;
    position:absolute;
    top:-1.2em;
    padding: 0 1em 0 1em;
}

div.answer.winner div.title {
    background-color: gold;
}

div.answer.selected {
    border-color: orange;
}
*/
.blocker {
    position:absolute; 
    top:0px; 
    width:100%; 
    height:100%; 
    background-color: rgba(0,0,0,0.3); 
    display:flex; 
    flex-direction:column; 
    justify-content:center;
    z-index: 900;
    font-size: 16px;
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
}

.progressbar {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.bar {
    height: 0.5em;
    border: 1px solid black;
    background-color: #929292;
    margin-right: 0.5em;
}

.bar.winner {
    background-color: #3dbf2b;
}

.cup {
    position:absolute;
    top:-0.5em;
    right:0px;
    font-size:xxx-large;
    display: none;
}

.cup.winner {
    display: block;
}
/*
.answer .answer-name {
    color: gray;
    cursor: pointer;
}

.answer.winner .answer-name {
    color: black;
}

.answer .answer-text {
    color: gray;
}

.answer.winner .answer-text {
    color: black;
}
*/
.buy-title {
    background-color: #c3bfa8;
    border-radius: 20px;
    text-align:center;
    width:40vw;
    margin:20px auto 10px auto;
    color:#fff;
    padding:5px 3px 3px 3px;
    line-height: 1;
}

.buy-box {
    margin: 0.5em;
    padding: 0.5em;
    text-align: center;
    /*border: 1px solid black;*/
    border-radius: 4px;
    background-color: white;
    /*box-shadow: 4px 4px 5px #6585ae;*/
    width:25vw;
    height:25vw;
}
.master .buy-box {
    width:50vw;
}
.master .blue-button span {
    font-size: 10px;
}
.buy-box img {
    width:36px;
}
.master .buy-box img {
    width: 52px;
}
.master .comment {
    font-size:12px;
    width:85vw;
    line-height:1.5;
}
.buy-box .blue-button img {
    width:16px;
}

.buy-container .buy-box label {
    display: block;
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
    font-weight: bold;
    font-size: 12px;
    color:#3391c1;
}
.buy-container.stamina .buy-box label {
    color:#ff5f5f;
}

.buy-box label::first-letter {
    font-size: xx-large;
}

.buy-box button {
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
    background-color:#9ab4b5;
    color: #fff;
    width:100%;
    padding:3px;
    border-radius:20px;
    font-weight: bold;
    font-size: 12px;
    margin-top:5px;
}

.buy-container {
    display:flex; 
    flex-direction:row; 
    justify-content: center;
    flex-wrap: wrap;
}

#latest-showdowns, #hall-of-fame {
    --background-image: linear-gradient(to top, #f3e7e9 0%, #e3eeff 99%, #e3eeff 100%);
}

#ranking {
    /*
    min-height: 100%;
    --background-color: #fed6e3;
    */
}

#ranking ul {
    /*--background-image: linear-gradient(to top, #fed6e3 0%, #a8edea 100%);*/
}
#ranking > div {
    display:flex;
    flex-direction:column;
}

.profile-box {
    /*
    border: 2px solid gray;
    border-radius: 5px;
    padding: 1em;
    border-color: rgb(101, 64, 43); 
    background-color: rgb(255, 246, 228);
    */
}

/* Turn the div into a guide for the checkbox circle */
/*.checkbox-guide {
    width: 45px;
    height: 15px;
    background: silver;
    margin: 20px 10px;
    position: relative;
    border-radius: 10px;
}
*/

/* Hide the actual checkbox control 
input[type="checkbox"] {
  visibility: hidden;
} */

/* Turn the label into a circle
.checkbox-guide label {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  transition: all .5s ease;
  cursor: pointer;
  position: absolute;
  top: -4px;
  left: -3px;
  background: rgb(117, 117, 117);
  box-shadow: 0 2px 0 0 rgb(29, 29, 29);
}
*/

/* Make the circle blue if checked 
.checkbox-guide input[type="checkbox"]:checked + label {
  left: 27px;
  background: rgb(245 158 11);
  box-shadow: 0 2px 0 0 rgb(217 119 6);
} ;*/

/* Slide animation for checkbox circle 
@keyframes spinner {
    0% {
      transform: translate3d(-50%, -50%, 0) rotate(0deg);
    }
    100% {
      transform: translate3d(-50%, -50%, 0) rotate(360deg);
    }
}*/

.toggle_input {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    opacity: 0;
    cursor: pointer;
  }
  
  .toggle_label {
    width: 50px;
    height: 26px;
    background: #ccc;
    position: relative;
    display: inline-block;
    border-radius: 40px;
    transition: 0.4s;
    box-sizing: border-box;
  }
  
  .toggle_label:after {
    content: "";
    position: absolute;
    width: 26px;
    height: 26px;
    border-radius: 100%;
    left: 0;
    top: 0;
    z-index: 2;
    background: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    transition: 0.4s;
  }
  
  .toggle_input:checked + .toggle_label {
    background-color: #4BD865;
  }
  
  .toggle_input:checked + .toggle_label:after {
    left: 26px;
  }
  
  .checkbox-guide {
    position: relative;
    width: 50px;
    height: 26px;
  }
  
  #participated .votes_wrap,
  #voted .votes_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #participated .votes_wrap img,
  #voted .votes_wrap img {
    width:14px;
    height:14px;
    margin-right: 5px;
  }
  #participated .votes_wrap .votes,
  #voted .votes_wrap .votes {
    display: flex;
    align-items: center;
  }
  #participated .votes_wrap .votes span,
  #voted .votes_wrap .votes span {
    font-size: 14px;
    padding: 0;
    font-family: 'Quicksand', "Shin Maru Go DemiBold", sans-serif;
  }
  #participated .votes_wrap .name span,
  #voted .votes_wrap .name span {
    font-size: 12px;
    padding: 0;
  }
  #participated .answer .answer,
  #voted .answer .answer {
    margin-bottom: 5px;
  }
  #participated .date,
  #voted .date {
    font-size: 12px;
    padding:10px 0;
    width:100%;
    text-align: center;
  }
  #voted .answer {
    background-color: #fff!important;
  }

/* Spinner for blocker */
.loader,
.loader:after {
  border-radius: 50%;
  width: 5em;
  height: 5em;
}
.loader {
  margin: 30px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 0.5em solid rgba(255, 255, 255, 0.2);
  border-right: 0.5em solid rgba(255, 255, 255, 0.2);
  border-bottom: 0.5em solid rgba(255, 255, 255, 0.2);
  border-left: 0.5em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* The menu */
ul.menu {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    background-color: white;
    border: 1px solid black;
}

/* A menu item */
ul.menu li {
    display: inline-block;
    text-align: left;
    padding: 0.5em;
    background-color: white;
    cursor: pointer;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10+ */
    user-select: none;
}

/* The first span shows a check if this is the current room */
ul.menu li > span:first-child {
    display: inline-block;
    width: 1em;
}

/* On hover, the menu background changes to highlight the menu */
ul.menu li:hover {
    background-color: silver;
}

/* This gives the edit boxes in the room creation dialog round corners */
#room-pane input[type=text], input[type=number], textarea {
    border: 1px solid black;
    border-radius: 4px;
    padding: 4px;
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: medium;
}

#theme-pane input[type=text], input[type=number], textarea {
    border: 1px solid black;
    border-radius: 4px;
    padding: 4px;
    /*font-family: sans-serif;*/
    font-weight: bold;
    font-size: medium;
}

.rating {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: center;
}

.rating > input{
    display:none;
}

.rating > label {
    position: relative;
    width: 1.1em;
    font-size: xx-large;
    color: gold;
    cursor: pointer;
}

.rating > label::before{
    content: "\2605";
    position: absolute;
    opacity: 0;
}

.rating > label:hover:before,
.rating > label:hover ~ label:before {
    opacity: 1 !important;
}

.rating > input:checked ~ label:before{
    opacity:1;
}

.rating:hover > input:checked ~ label:before{ 
    opacity: 0.4;
}

/* Drop zone */
#drop-zone {
    text-align: center;
    transition: background-color .3s;
}

#drop-zone.highlighted {
    background-color:grey;
}

#image-preview {
    margin-top:20px;
}
#image-preview .image-view {
    display: inline-block;
    position:relative;
    margin-right: 13px;
    margin-bottom: 13px;
}
#image-preview .image-view img {
    max-width: 100px;
    max-height: 100px;
}
#image-preview .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 2;
    background: rgba(255,255,255,0.5);
}

/* Spinner */
.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-ellipsis div {
  position: absolute;
  top: 33px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #000000;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
  left: 8px;
  animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
  left: 8px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
  left: 32px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
  left: 56px;
  animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}

[data-initials]:before {
    background: #b77b41;
    color: white;
    opacity: 1; 
    content: attr(data-initials); 
    display: inline-block; 
    font-weight: bold; 
    border-radius: 50%; 
    vertical-align: middle; 
    margin-right: 1em; 
    width: 80px; 
    height: 80px; 
    line-height: 80px; 
    text-align: center;
    cursor: pointer;
}

@media (min-width: 767.98px) {
    ul.tabs {
        padding:0 20%;
    }
    ul.items {
    }
    ul.items li.wrap {
        width:30%;
        margin: 0 auto;
    }
    .question {
        width:100%;
        height:25vw;
        padding:7%;
    }
    .g-nav ul {
        justify-content:center;
    }
    .g-nav ul li {
        width:80px;
    }
    ul.buttons {
        justify-content: center;
    }
    ul.buttons li {
        width:300px;
    }
    #answer-pane .question, #vote-pane .question {
        width:400px;
        height:400px;
        padding: 40px;
    }
    #answer-pane .answer .button-wrap {
        width:400px;
    }
    #answer-pane .answer textarea {
        width:400px;
        flex-grow:unset
    }
    div.answer > div {
        justify-content:center;
    }
    #vote-pane .answer {
        width:400px;
        margin: 0 auto;
        cursor: pointer;
    }
    #mypage .title .title-box, #profile-pane .title .title-box {
        width:20%;
        height:18vw;
    }
    #settings .wrap {
        font-size:14px;
        width:400px;
        margin:0 auto;
    }
    #ranking > div {
        flex-direction:row;
        flex-wrap:wrap;
    }
    #ranking ul.leagues {
        width:50%;
        padding: 3% 3% 2% 3%;
    }
    #ranking .lead {
        width:50%;
    }
    #ranking ul.tabs {
        width: 100%;
    }
    #ranking ul.leagues li.active img {
        width:5vw;
        height: 6vw;
    }
    #ranking ul.leagues li.active .text {
        top:12px;
    }
    .header {
        padding:5px;
    }
    #ranking .lead .right {
        position: relative;
    }
    #ranking .lead .right img {
        position: absolute;
        z-index: 300;
    }
    .header ul.labels li .icon {

    }
    .header ul.labels li.stamina #stamina-timer {
        font-size: 14px;
    }
    .header {
        font-size: 16px;
    }
    .small {
        font-size: 16px;
    }
    ul.tabs li {
        font-size: 18px;
    }
    #main-content {
        margin: 45px 0 100px 0;
    }
    #install-button {
        font-size:14px;
    }
}