html, body {
    margin: 0;
    padding: 0;
    font-family: Helvetica, sans-serif;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background: #FFF;
    color: #000;
}

h1, h2, h3 {
    margin: 0px;
}

h1 {
    font-size: 150%;
}

#page_div {
    min-height: 100vh;
    display: flex;
    flex-direction: row;
    box-sizing: border-box;
}

#config_div {
    display: none;
    flex-direction: column;
    flex-grow: 1;
    box-shadow: 0px 0px 10px 10px #0003;
    z-index: 1;
    padding: 10px;
    gap: 10px;
    max-width: 50%;
}

.config_link {
    color: #888;
    text-decoration: underline;
    cursor: pointer;
}

.config_header_div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 5px;
    padding: 5px;
    opacity: 0.5;
}

#timer_div {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    background: #AAA;
}

#header_div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 5px;
    padding: 5px 5px 5px 10px;
    opacity: 0.5;
}

#desktop_div {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    align-items: center;
    justify-content: center;
}

#device_div {
    background: #FC0;
    padding: 0px;
    border-radius: 30px;
    box-shadow: 0px 0px 30px 30px #0008;
    margin: 30px;
    width: auto;
}

#device_inner_div {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 30px;
    border-radius: 30px;
    box-shadow: inset 0px 0px 5px 5px #0004;
    user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
}

#face_table {
    border-spacing: 10px 25px;
}

#share_popup {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    position: fixed;
    z-index: 10;
    left: 0;
    top: 0;
    background-color: rgba(0,0,0, 0.5);
    overflow-x: hidden;
    transition: 0.5s;
}

#popup_content {
    display: flex;
    flex-direction: column;
    gap: 10px ;
    background-color: #FFF;
    padding: 20px;
    border-radius: 5px;
}

#popup_content_share_div {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

#url_link_input {
    width: 300px;
    user-select: all;
    font-size: 120%;
}

.bottom_td {
    vertical-align: bottom;
}

.switch {
    width: 64px;
    height: 64px;
}

.button {
    height: 1.5em;
    width: 1.5em;
}

.config_box {
    border: 1px solid #CCC;
    border-radius: 5px;
    padding: 10px;
}

.config_box_no_border {
    padding: 14px;
}

.config_button {
    border: 2px solid #CCC;
    background-color: #EEE;
    padding: 10px;
    border-radius: 5px;
    min-width: 120px;
    font-weight: bold;
    color: #444;
}

.config_button:hover {
   background-color: #DDD;
}

.config_table {
    width: 100%;
}

.header_column {
    width: 0%;
    min-width: 150px;
    white-space: nowrap;
}

.config_table textarea, .config_table input {
    font-family: monospace;
    flex-grow: 1;
}

.short {
    flex-grow: 0 !important;
    width: 100px;
}

.no_expand {
    flex-grow: 0 !important;
}

.config_table td div {
    width: 100%;
    display: flex;
    gap: 5px;
    flex-direction: row;
}

.horizontal {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.vertical {
    display: flex;
    flex-direction: column;
}

.center {
    align-items: center;
    justify-content: center;
}

.left {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}

.vleft {
    display: flex;
    flex-direction: column;
    align-items: top;
    justify-content: center;
}

.right {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

.grow {
    flex-grow: 1;
}

.small_font {
    font-size: 50%;
    white-space: nowrap;
}

.huge_font {
    font-size: 300%;
    white-space: nowrap;
}

.large_font {
    font-size: 200%;
    white-space: nowrap;
}

.medium_font {
    font-size: 150%;
}

.fee_label {
    font-size: 150%;
    padding-bottom: 5px;
    white-space: nowrap;
}

.extra_space {
    margin: 20px;
}

a {
    color: #000;
}
