/* Include the font files in your project */
@font-face {
    font-family: 'Nuevo';
    src: url('/fonts/Nuevo.ttf') format('truetype'), /* TTF format */
         url('/fonts/Nuevo.otf') format('opentype'); /* OTF format */
    /* Add more font formats if needed (e.g., woff, woff2) */
    font-weight: normal;
    font-style: normal;
}

body, body button>p, .nuevo-font {
    font-family: 'Nuevo';
    font-style: normal;
    margin: 0px;

    color: #4C4F58;
}

.background {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;

    height: 100vh;
    position: relative;

    --img-url: url("images/background/login.jpg");
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), var(--img-url);
}

.center-children {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 0px;
}

.center-self {
    isolation: isolate;
    position: absolute;
    /* default can be zero, its just used to center the div */
    --width: 0px;
    --height: 0px;
    --size: 1;
    width: calc(var(--width) * var(--size));
    height: calc(var(--height) * var(--size));
    left: calc(50% - ((var(--width) * var(--size)))/2 );
    top: calc(50% - ((var(--height) * var(--size)))/2 + var(--offset));
}

.logo-big {
    --size: 0.50;
    --width: 1082px;
    --height: 840px;
    --offset: 0px;
    z-index: 1;
}

.panel-background {
    background-image: var(--panel-url);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.text-row>* {
    flex-grow: 1; 
}
.text-row
{
    display: flex;
    flex-direction: row;
}
.text-column>* {
    flex-grow: 1;
}
.text-column {
    display: flex;
    flex-direction: column;
}
.text-large {
    font-weight: 400;
    font-size: 64px;
    margin: 0px;
}
.text-medium {
    font-weight: 400;
    font-size: 32px;
    margin: 0px;
}
.text-small {
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 0.05em;
    margin: 0px;
}

.top-left {
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 10;
    padding:10px
}

.top-right {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 10;
    padding: 10px;
    display: flex;
    justify-content: flex-end;
}

.img-button {
    background: none;
    border: none;
    padding: 5px;
    outline: none;
}

.img-button:focus {
    outline: none;
}

.link-image {
    padding: 5px;
    text-decoration: none;
}

.panel-close {
    position: absolute;
    top: -40px;
    right: -30px;
    z-index: 3;
    padding: 10px
}

.panel-close img {
    width: 120%;
    height: 120%;
}

.text-slider {
    width: 300px;
}
.slider-container {
    position: relative;
    background-image: url('/images/buttons/slider-background.svg');
    background-size: cover;

    --width: 281px;
    --height: 37px;
    --size: 0.8;
    width: calc(var(--width) * var(--size));
    height: calc(var(--height) * var(--size));
}

.slider-container>input {
    position: absolute;
    width: 100%;
    height: 100%;
    color: red;
    opacity: 0;
    z-index: 1000; /* always on top so usere can drag it*/
}

.slider-fill {
    position: absolute;
    top: 8px;
    bottom: 12px;
    left: 8px;
    background-color: #ff534a80;
}

.slider-handle {
    position: absolute;
    top: 5px;
    left: 50%;
    transform: translateX(-50%);
    background-image: url('/images/buttons/slider-handle.svg');
    background-size: cover;
    cursor: pointer;

    --width: 25px;
    --height: 25px;
    --size: 0.8;
    width: calc(var(--width) * var(--size));
    height: calc(var(--height) * var(--size));
}

.controls-img {
    --width: 476px;
    --height: 281px;
    --size: 0.8;
    width: calc(var(--width) * var(--size));
    height: calc(var(--height) * var(--size));
}

.hidden-id {
    display: none;
}


.login-panel {
    --panel-url: url("/images/panels/login-panel.png");
    --width: 628px;
    --height: 257px;
    z-index: 0;
}

.account-panel {
    --panel-url: url("/images/panels/login-background.png");
    --width: 839px;
    --height: 588px;
    z-index: 0;
}

.account-profile-img {
    position: absolute;
    top: -10px;
    left: 40px;
    z-index: 2;
    padding: 10px
}

.account-profile-img img {
    width: 204.750px;
    height: 246px;
}

.account-container {
    height: 100%;
    padding: 100px;
    padding-left: 240px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.account-row {
    gap: 100px;
}

.account-column {
    gap: 5px;
}

.settings-panel {
    --panel-url: url("/images/panels/setting-background.png");
    --width: 839px;
    --height: 588px;
    z-index: 0;
}

.settings-background {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: auto;
    background: rgba(51, 51, 51, 0.7);
    z-index: 15;
}

.settings-container {
    height: 100%;
    padding: 100px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.setting-title {
    text-align: center;
}
.setting-row {
    gap: 50px;
}
.setting-control-text {
    vertical-align: middle;
    margin: auto;
}

.leaderboard-panel{
    --panel-url: url("/images/panels/login-background.png");
    --width: 839px;
    --height: 588px;
    z-index: 0;
}
.leaderboard-container{
    height: 100%;
    padding: 100px;
    padding-left: 150px;
    padding-right: 150px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.leaderboard-header{
    gap: 100px;
}
.leaderboard-time-buttons{
    gap: 20px;
}
.leaderboard-column{
    gap: 5px;
}
.leaderboard-time {
    --width: 104px;
    --height: 41px;
    --size: 1;
    width: calc(var(--width) * var(--size));
    height: calc(var(--height) * var(--size));
    cursor: pointer;
}
.leaderboard-time:disabled {
    color: inherit;
}
.leaderboard-time-selected {
    background-image: url(/images/buttons/selected_background.png);
}

.leaderboard-table {
    font-weight: 100;
    letter-spacing: 0.05em;
}

.leaderboard-table tbody:before {
    content:"@";
    display:block;
    line-height:10px;
    text-indent:-99999px;
}

.leaderboard-table th {
    text-align: left;
    font-size: 24px;
    font-weight: normal;
}


.battle-log-panel {
    --panel-url: url("/images/panels/login-background.png");
    --width: 839px;
    --height: 588px;
    z-index: 0;
}
.battle-log-container{
    padding: 100px;
    padding-left: 50px;
    padding-right: 50px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.battle-log-header{
    text-align: center;
}

.battle-log-button-enabled {
    background-image: url(/images/buttons/arrow_active_box.png);
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    --width: 77px;
    --height: 76px;
    --size: 0.5;
    width: calc(var(--width) * var(--size));
    height: calc(var(--height) * var(--size));
}
.battle-log-button-disabled {
    background-image: url(/images/buttons/arrow_disabled_box.png);
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    --width: 77px;
    --height: 76px;
    --size: 0.5;
    width: calc(var(--width) * var(--size));
    height: calc(var(--height) * var(--size));
}
.battle-log-left-arrow-enabled {
    background-image: url(/images/buttons/arrow_active_arrow.png);
    background-size: cover;
    transform: rotate(180deg); 
    --width: 49px;
    --height: 49px;
    --size: 0.5;
    width: calc(var(--width) * var(--size));
    height: calc(var(--height) * var(--size));
}
.battle-log-left-arrow-disabled{
    background-image: url(/images/buttons/arrow_disabled_arrow.png);
    background-size: cover;
    --width: 49px;
    --height: 49px;
    --size: 0.5;
    width: calc(var(--width) * var(--size));
    height: calc(var(--height) * var(--size));
}
.battle-log-right-arrow-enabled {
    background-image: url(/images/buttons/arrow_active_arrow.png);
    background-size: cover;
    --width: 49px;
    --height: 49px;
    --size: 0.5;
    width: calc(var(--width) * var(--size));
    height: calc(var(--height) * var(--size));
}
.battle-log-right-arrow-disabled{
    background-image: url(/images/buttons/arrow_disabled_arrow.png);
    background-size: cover;
    transform: rotate(180deg); 
    --width: 49px;
    --height: 49px;
    --size: 0.5;
    width: calc(var(--width) * var(--size));
    height: calc(var(--height) * var(--size));
}

.battle-log-button-column{
    margin: 10px;
    flex: 0 1 0;

    display: flex;
    align-items: center;
    justify-content: center;
}
.battle-log-table-column{
    flex: 10 1 100%;
}

.battle-log-table {
    font-weight: 100;
    letter-spacing: 0.05em;
}

.battle-log-table tbody:before {
    content:"@";
    display:block;
    line-height:10px;
    text-indent:-99999px;
}

.battle-log-table th {
    text-align: left;
    font-size: 18px;
    font-weight: normal;
    padding: 8px;
}
.battle-log-table td {
    text-align: left;
    font-size: 14px;
    font-weight: 100;
    padding: 8px;
}
.battle-log-row-time{
   min-width: 200px;
}
.battle-log-row-map{
    min-width: 180px;
}
.battle-log-row-kill{
    min-width: 50px;
}
.battle-log-row-rank{
    min-width: 50px;
}



.post-game-table {
    font-weight: 100;
    letter-spacing: 0.05em;
} 
.post-game-table th {
    font-weight: normal;
    font-size: 28px;

    text-align: left;
    padding: 20px;
    padding-left: 0px;
}  
.post-game-table td {
    padding: 2px;
    font-size: 15px;
}  
.post-game-row-name{
    min-width: 400px;
}
.post-game-row-kill{
    min-width: 50px;
}

.no-match-warning {
    color:grey;
    font-style: italic;
}

.game-list-table {
    min-width: 500px;
}

table.game-list-table th {
    text-decoration: underline;
}
table.game-list-table th, table.game-list-table td {
    text-align: left;
    min-width: 150px;
}
table.game-list-table thead th {
    padding-bottom: 6px;
}

.log-out-button {
    background-image:url(/images/buttons/logout-button-back.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    width: 226px;
    height: 64px;
    gap: 0px;
}

.log-out-button>div {
    background-image:url(/images/buttons/logout-button-front.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    position: relative;
    width: 191.88px;
    height: 40.63px;
    top: 10.37px;
    left: 19.12px;
    gap: 0px;

    align-items: center;
}

.log-out-button p{
    text-align: center;
    color:aliceblue;
    font-size: 150%;
}


.create-game-button {
    background-image:url(/images/buttons/logout-button-back.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    width: 260px;
    height: 64px;
    gap: 0px;
}

.create-game-button>div {
    background-image:url(/images/buttons/logout-button-front.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;

    position: relative;
    width: 191.88px;
    height: 40.63px;
    top: -1px;
    left: 30px;
    gap: 0px;

    align-items: center;
}

.create-game-button p{
    text-align: center;
    color:aliceblue;
    font-size: 120%;
    letter-spacing: 1px;
}

.create-game-button:disabled {
    filter: contrast(0.5);
}

.button-pointer {
    cursor:pointer;
}