/**********************************************************
 * General CSS Rules
 **********************************************************/
@font-face {
    font-family: 'Minecraftia';
    font-display: block;
    font-weight: 400;
    font-style: normal;
    src: local('Minecraftia'), url('/assets/Minecraftia.woff') format('woff');
}

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

.stroke-text-black {
    text-shadow:
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000,
    1px 1px 0 #000;
}

.test-background {
    background-color: rgba(0, 0, 0, 0.3);
}

.fade-in {
    -webkit-animation: fadein 1s; /* Safari, Chrome and Opera > 12.1 */
       -moz-animation: fadein 1s; /* Firefox < 16 */
        -ms-animation: fadein 1s; /* Internet Explorer */
         -o-animation: fadein 1s; /* Opera < 12.1 */
            animation: fadein 1s;
}

.basic-shadow {
    -moz-box-shadow: rgba(0, 0, 0, 0.29) 0px 10px 20px, rgba(0, 0, 0, 0.43) 0px 6px 6px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.29) 0px 10px 20px, rgba(0, 0, 0, 0.43) 0px 6px 6px;
    box-shadow: rgba(0, 0, 0, 0.29) 0px 10px 20px, rgba(0, 0, 0, 0.43) 0px 6px 6px;
    /*
    -moz-box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
    box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
    -moz-box-shadow: 0 0 4px #111;
    -webkit-box-shadow: 0 0 4px #111;
    box-shadow: 0 0 4px #111;
    */
}

.full-flex-down {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.full-flex-right {
    display: flex;
    flex-direction: row;
    justify-items: center;
    justify-content: space-between;
}

/**********************************************************
 * Background / General Page Styling
 **********************************************************/
body, html
{
    margin:0px;
    padding:0px;
    width:100%;

    min-height: 100%;
    min-width: 100%;

    max-height: 100vh;
}

video#background-video {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: -1;
    min-width: 100%;
    min-height: 100%;
}

body {
    font-family: 'Minecraftia';

    margin: 0;
    /* height: auto; */
    /* fixing some issue idk?? */
    height: 100%;
    width: 100%;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

button, .as-button, .standard-ui {
    text-align: center;
    border: none;
    background-color: rgba(0, 0, 0, 0.5);
    outline: 2px solid rgba(255, 255, 255, 0.8);
    color: white !important;
    font-family: Minecraftia;
    font-size: 24px;
    padding: 0.5em;
}

.hide-input {
    /* Use setupLazySecret instead */
    -webkit-text-security: square;
    -moz-text-security: square;
    text-security: square;
}

button:hover, .as-button:hover  {
    cursor: pointer;
    background-color: rgba(0, 0, 0, 0.7);
}

a.as-button {
    color: white;
    text-decoration: none !important;
}

p.generic-welcome-text {
    color: white;
    font-size: 48px;

    text-shadow: #555 1px 1px 5px;

    text-align: center;
    position: fixed;
    width: 100%;
    top: 56px;
    z-index: -1;
}

/**********************************************************
 * Footer
 **********************************************************/
div.floating-footer {
    position: fixed;
    bottom: 4px;
    width: 60%;
    text-align: center;

    font-size: 1rem;
    color: white;
}

div.floating-footer > a {
    color: white;
    text-decoration: none;
    margin-left: 10px;
    margin-right: 10px;

    text-shadow:
        -1px -1px 0 #555,
        1px -1px 0 #555,
        -1px 1px 0 #555,
        1px 1px 0 #555;
}
div.floating-footer > a:hover {
    text-decoration: underline;
}

/**********************************************************
 * Login Page
 **********************************************************/
:root {
    --login-draaft-height: 216px;
}
div#login-page {
    width: min(100vw, 300px);
    height: min(100vh, var(--login-draaft-height));
    /* background-color: rgba(0, 0, 0, 0.3); */

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;

    opacity: 0;
}
div#login-page.visible {
    opacity: 1;
    transition: opacity 1200ms 0ms;
}
div#login-page.invisible {
    opacity: 0 !important;
    transition: opacity 500ms 0ms;
}

div#login-page > .login-main-button {
    width: 100%;
}

div.helper-buttons {
    width: 100%;    
    height: auto;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

div.helper-button-row {
    width: min(100vw, 500px);

    display: flex;
    flex-direction: row;
    justify-content: space-between;

    margin-top: 3%;
    margin-bottom: 3%;

    margin-left: 2%;
    margin-right: 2%;
}

a.helper-button {
    width: 150px;
}

div#login-response-container {
    position: fixed;
    top: 20px;
    height: 70px;
    width: 100%;
    text-align: center;
}

p#login-response-text {
    color: white;
    font-size: 20px;
}

:root {
    --draft-logo-width: min(25%, 108px);
}

.draaft-logo {
    width: var(--draft-logo-width);

    -webkit-filter: drop-shadow(6px 6px 6px #444);
    filter: drop-shadow(6px 6px 6px #444 ); 
}

#login-draaft-logo {
    position: fixed;
    left: calc(100vw * 0.5 - 0.5 * var(--draft-logo-width));
    top: calc(0.5 * (100vh / 2 - var(--login-draaft-height) / 2 - var(--draft-logo-width)));

    width: var(--draft-logo-width);

    -webkit-filter: drop-shadow(6px 6px 6px #444);
    filter: drop-shadow(6px 6px 6px #444 ); 
}

/**********************************************************
 * Menu Page
 **********************************************************/
div#menu-page {
    display: none;
    opacity: 0;

    width: min(100vw, 500px);
    height: min(100vh, 800px);

    /* Flex Settings */
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}
div#menu-page.visible {
    display: flex;
    opacity: 1;
    transition: opacity 900ms 0ms;
}

div#menu-page > img.draaft-logo {
    --draft-logo-width: min(100%, 64px);
    position: fixed;
    top: 16px;
    left: calc(50vw - var(--draft-logo-width) / 2);
    z-index: -1;
}

#menu-join-room {
    margin-bottom: 24px;
    width: 100%;
}

#menu-create-room {
    width: 100%;
}

#menu-rooms {
    width: min(100vw, 500px);

    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

#menu-input-roomid {
    width: min(362px, 80%);
}

#menu-roomid-join {
    width: min(90px, 20%);
}

#menu-helpers {
    width: 100%;
    height: 146px;
}

div#menu-helper-buttons {
    height: 100%;
}

div.menu-helper-row {
    justify-content: space-around;
    width: 100%;

    display: flex;
    flex-direction: row;
    margin: 0;
}

/**********************************************************
 * Room Page
 **********************************************************/
div#room-page {
    width: 100%;
    height: 100%;

    box-sizing: border-box;
}

div#room-page-header {
    width: 100%;
    /* height: 100%; */

    box-sizing: border-box;

    display: flex;
    align-items: center;

    /* Adapted from standard-ui */
    text-align: center;
    border: none;
    background-color: rgba(0, 0, 0, 0.6);
    outline: 2px solid rgba(255, 255, 255, 0.8);
    color: white !important;
    font-family: Minecraftia;
    font-size: 24px;
    padding: 0.3em;

    height: 2.4em;

    justify-content: space-around;
}

div#room-page-header-container {
    width: 100%;

    box-sizing: border-box;

    padding: 20px;
}

.room-member-container {
    height: 100%;
    display: flex;
    align-items: center;
    font-size: 1.4em;
}

p.room-member {
    margin: 0px;
    height: 1em;
}

.member-face {
    height: 100%;
    width: auto;
    display: inline-block;
    box-shadow: 0px 0px 4px #AAA;
    margin-right: 11px;
}

.member-name {
    display: inline-block;
}

/* here is the stuff for the gutter :) */
div#room-page-gutter-container {
    width: max(20%, 260px);
    height: 100%;
    z-index: 1;
}

div#room-page-gutter {
    width: 100%;
    height: 100%;

    box-sizing: border-box;

    display: flex;
    flex-direction: column;

    /* Adapted from standard-ui */
    border: none;
    background-color: rgba(0, 0, 0, 0.6);
    outline: 2px solid rgba(255, 255, 255, 0.8);
    color: white !important;
    font-family: Minecraftia;
    font-size: 24px;
    padding: 0.3em;

    overflow: auto;
}

div#room-page-main {
    width: 100%;
    flex-grow: 1;
    min-height: 0; /* flexbox weirdness */
    padding-left: 20px;
    padding-bottom: 20px;
    box-sizing: border-box;
}

button#copy-room-link {
    width: 100%;
}

div#player-gutter {
    overflow-y: auto;

    font-size: 24px;
    line-height: 1em;
    max-width: 100%;
    padding-bottom: 5px;
    /*! padding-top: 5px; */
    /*! height: 100%; */
    margin-top: 4px;
    /*! box-sizing: border-box; */
}

div#player-gutter p.member-name {
    font-size: 22px;
    line-height: 1em;
    height: 1.2em;
    text-overflow: ellipsis;
    max-width: 100%;
    overflow: hidden;
    /*! padding-bottom: 5px; */
    /*! padding-top: 5px; */
    /*! height: 100%; */
    /*! margin-top: 4px; */
    /*! box-sizing: border-box; */
}

div#player-gutter .room-member-container {
    height: 32px;
}

div#player-gutter .room-member-manager {
    padding: 12px;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 2px;
    font-size: 16px;
}

div#player-gutter .room-member-manager-button {
    padding: 4px;
    padding-top: 2px;
    font-size: 16px;
    margin-right: 8px;
}

div#player-gutter .room-member-manager-buttons {
    margin-top: 6px;
    margin-left: 0.12em;
}

div#room-page-gutter #room-copy-link {
    margin-bottom: 12px;
    padding-top: 0.3em;
}

/* Confirm Leave Stuff */
.basic-modal-dialog::backdrop {
    background-color: rgba(0,0,0,0.5);
}

.basic-modal-dialog {
    background-color: rgba(0,0,0,0.4);
    color: white;
}

.basic-modal-dialog form {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.basic-modal-dialog p:first-child {
    margin-top: 0;
}

/* ROOM CONFIGURATION! YAY */
#room-page-config-container {
    flex-grow: 1;
    padding: 2em;
}

#room-page-config {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    padding: 0.3em;
    height: 100%;

    /* Adapted from standard-ui */
    border: none;
    background-color: rgba(0, 0, 0, 0.6);
    outline: 2px solid rgba(255, 255, 255, 0.8);
    color: white !important;
}

#config-area {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    font-family: Minecraftia;
    font-size: 24px;
    padding: 0.3em;

    overflow: auto;
}
