/* ---------------------------------------------------------------------------------------------- */

@font-face
    {
    font-family: 'fmono';
    font-style: normal;
    font-weight: normal;
    src: url('f/DroidSansMono-webfont.woff') format('woff');
    }

@font-face
    {
    font-family: 'fsans';
    font-style: normal;
    font-weight: normal;
    src: url('f/DroidSans-webfont.woff') format('woff');
    }

@font-face
    {
    font-family: 'fsans';
    font-style: normal;
    font-weight: bold;
    src: url('f/DroidSans-Bold-webfont.woff') format('woff');
    }

/* ---------------------------------------------------------------------------------------------- */

::-webkit-scrollbar
    {
    background: transparent;
    width: 0px;
    }

*
    {
    border: 0;
    box-sizing: border-box;
    font-family: 'fsans';
    margin: 0;
    outline: 0;
    padding: 0;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    }

html, body
    {
    height: 100%;
    overflow: hidden;
    background: #f0f0f0;
    }

/* ---------------------------------------------------------------------------------------------- */

#page
    {
    background: #d0d0d0;
    height: 100%;
    margin: 0 auto;
    max-width: 600px;
    transition: 200ms all linear;
    display: grid;
    grid-template-rows: 1fr min-content;
    }

#ui_output
    {
    background: #e0e0e0;
    overflow-y: scroll;
    }

#ui_input
    {
    padding-bottom: 5px;
    }

#splash
    {
    display: grid;
    grid-template-rows: min-content 1fr;
    height: 100%;
    }

#links
    {
    padding-top: 1.5ch;
    padding-bottom: 1.5ch;
    display: flex;
    justify-content: space-around;
    column-gap: 0;
    text-align: center;
    background-color: #f0f0f0;
    }

.link
    {
    color: #202020;
    width: 11ch;
    cursor: pointer;
    }

.link_icon
    {
    height: 32px;
    }

.link_label
    {
    }

#office_list
    {
    margin: 2.5em auto 1em auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 30px;
    }

input[type='radio']
    {
    appearance: none;
    border-radius: 50%;
    border: 3px solid #0b69b0;
    height: 16px;
    margin-right: 10px;
    position: relative;
    top: 2px;
    transition: 50ms all linear;
    width: 16px;
    }

input[type='radio']:checked
    {
    border: 8px solid rgba(255, 255, 255, 1);
    box-shadow: #0b69b0 0px 0px 5px 3px;
    }

label
    {
    font-size: larger;
    white-space: nowrap;
    color: #202020;
    }

#results
    {
    }

#query
    {
    align-items: center;
    background: #c0c0c0;
    display: flex;
    justify-content: center;
    }

.input, .input:disabled
    {
    background: #f0f0f0;
    border-radius: 5px;
    color: black;
    font-size: 20px;
    height: 40px;
    margin-bottom: 15px;
    margin-top: 15px;
    padding: 0.5em;
    transition: 150ms all linear;
    }

.input::placeholder
    {
    color: #bfbfbf;
    opacity: 1;
    }

#input_ad
    {
    width: 100px;
    text-align: right;
    padding-right: 9px;
    margin-right: 3px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    }

#input_st
    {
    width: 150px;
    text-align: left;
    padding-left: 9px;
    margin-left: 3px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    }

.input_active
    {
    box-shadow: #0b69b0 0px 0px 5px 3px;
    }

/* ---------------------------------------------------------------------------------------------- */

.simple-keyboard
    {
    max-width: 600px;
    padding: 0;
    padding-left: 5px;
    padding-right: 5px;
    }

.simple-keyboard.keyTheme
    {
    background-color: #bfbfbf;
    }

.simple-keyboard.keyTheme .hg-row
    {
    justify-content: center;
    }

.simple-keyboard.keyTheme .hg-button
    {
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    font-family: 'fsans';
    font-size: 18px;
    }

.simple-keyboard.keyTheme .hg-button:active
    {
    background: orange;
    color: white;
    }

.simple-keyboard.keyTheme .hg-maxwidthaz
    {
    max-width: 31px;
    }

.simple-keyboard.keyTheme .hg-maxwidth09
    {
    max-width: 110px;
    }

.simple-keyboard.keyTheme .hg-backspace
    {
    background: rgba(70, 0, 0, 0.4);
    }

.simple-keyboard.keyTheme .hg-switch
    {
    background: rgba(0, 0, 70, 0.4);
    }

.simple-keyboard.keyTheme .hg-space
    {
    max-width: 110px;
    }

/* ---------------------------------------------------------------------------------------------- */

#input_xx
    {
    background-color: #8f7373;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='20' height='20' viewBox='-165 95 82.6 83.6'%3E%3Cg style='fill:gray'%3E%3Cpath d='m-116.2 130.7 27.1-27.5 14.2 14-27.3 27.8 27.3 27.8-14.2 14-27.1-27.5-27 27.5-14.3-14 27.3-27.8-27.3-27.8 14.3-14z' style='fill:%23e0e0e0' transform='translate(-7.5 -8.2)'/%3E%3C/g%3E%3C/svg%3E");
    background-position: center center;
    background-repeat: no-repeat;
    border-radius: 0.5em;
    border: none;
    box-sizing: border-box;
    color: black;
    font-size: 24px;
    height: 30px;
    margin-bottom: 15px;
    margin-left: 15px;
    margin-top: 15px;
    outline: none;
    padding: 0.5em;
    text-align: center;
    width: 30px;
    }

#msg_wait
    {
    text-align: center;
    margin-top: 2ch;
    }

#msg_othercities
    {
    text-align: center;
    margin-top: 1ch;
    margin-bottom: 1ch;
    }

#table_results_addr, #table_results_range
    {
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0 auto;
    overflow: auto;
    white-space: nowrap;
    width: 100%;
    }

#table_results_addr thead tr th, #table_results_range thead tr th
    {
    background-color: orange;
    padding: 4px;
    }

#table_results_addr tr:nth-child(even), #table_results_range tr:nth-child(even)
    {
    background-color: #d0d0d0;
    }

#table_results_addr td, #table_results_range td
    {
    padding: 4px;
    vertical-align: middle;
    }

#table_results_addr th:nth-child(3) /* address */
    {
    text-align: left;
    }

#table_results_addr td:nth-child(1) /* zip */
    {
    text-align: center;
    color: #606060;
    }

#table_results_addr td:nth-child(2) /* rte */
    {
    text-align: left;
    }

#table_results_addr td:nth-child(3) /* addr */
    {
    text-align: right;
    padding-left: 10px;
    padding-right: 0;
    }

#table_results_addr td:nth-child(4) /* addr_suff */
    {
    text-align: left;
    }

#table_results_addr td:nth-child(5) /* nsew */
    {
    text-align: right;
    padding-left: 10px;
    }

#table_results_addr td:nth-child(6) /* street */
    {
    padding-left: 0;
    width: 100%;
    }

/* th */

#table_results_range th:nth-child(4) /* street */
    {
    text-align: left;
    }

/* td */

#table_results_range td:nth-child(1) /* zip */
    {
    text-align: center;
    color: #606060;
    }

#table_results_range td:nth-child(2) /* rte */
    {
    text-align: left;
    }

#table_results_range td:nth-child(3) /* interval */
    {
    text-align: center;
    font-weight: bold;
    }

#table_results_range td:nth-child(4) /* range */
    {
    text-align: right;
    }

#table_results_range td:nth-child(5) /* nsew */
    {
    text-align: right;
    padding-left: 10px;
    }

#table_results_range td:nth-child(6) /* street */
    {
    padding-left: 0;
    width: 100%;
    }

.t
    {
    font-size: small;
    color: #606060;
    padding-left: 28px;
    }
