﻿@charset "utf-16";

@media print {    
    .no-print, .no-print * {
        display: none !important;
    }
}

@media screen and (max-device-width: 1023px) {
    .vblock, .line {
        padding-left: 2ch;
        padding-right: 2ch;
        width: calc(100vw);
        word-wrap: break-word;
    }

    #navigator-panel {
        position: relative;
        display: none;
        border-top: 1px solid black;
        padding-top: 1ch;
        margin-right: 5ch;
    }
    
    .navigator-panel-open {
        display: block!important;
        width: 24ch!important;
        height: 100%!important;
    }

    .navigator {
        vertical-align: top;
        width: 5ch;
        display: table-cell; 
        height: 100%;
    }

    .main-article {
        vertical-align: top;
        display: table-cell;
    }

    #nav-btn {
        display: block;
        margin-bottom: 2ch;
        cursor: pointer;
        padding-top: 1ch;
        margin-right: 2ch;
    }

    .nav-btn-row {
        width: 4ch;
        height: 1.5ch;
        border-bottom: 0.3ch solid gray;
        min-height: 1px;
    }

    .form-label-cell {
        display: table-cell;
        text-align: right;
        vertical-align: top;
        padding-right: 2ch;
        font-weight: bold;
    }
    
    .form-label-cell-empty {
        display: table-cell;
        display: none;
    }

    #feedback-container {
        z-index: 10000;
        position: fixed;
        display: block;
        top: calc(85vh - 3em);
        left: 0;
    }

    .form-label-cell {
        width: 10ch;
    }

    #feedback-form {
        position: fixed;
        left: calc(50vw - 9em);
        top: calc(50vh - 7em);
        background-color: white;
        border: solid 1px black;
        width: 18em;
        height: 14em;
        padding: 1em 1em 1em 1em;
    }

    #feedback-suggestion {
        height: 6em;
    }

    #twitter-timeline {
        display: none;
    }
}

@media screen and (min-width: 1024px) {
    .vblock, .line {
        margin: auto;
        width: calc(80vw);
        min-width: 600px;
    }

    #navigator-panel {
        display: block;
        position: sticky;
        top: 3em;
    }

    .navigator {
        vertical-align: top;
        width: 30ch;
        display: table-cell; 
        height: 100%;
    }

    .main-article {
        vertical-align: top;
        margin-left: 31ch;
        display: table-cell;
    }

    #nav-btn {
        display: none;
    }

    .page-header, .page-footer {
        white-space: nowrap;
    }

    .page-header {
        position: sticky;
        height: 3em;
    }

    .form-label-cell, .form-label-cell-empty {
        display: table-cell;
        width: 17ch;
        text-align: right;
        vertical-align: top;
        padding-right: 2ch;
        font-weight: bold;
    }

    #feedback-container {
        z-index: 10000;
        position: fixed;
        display: block;
        top: calc(50vh - 3em);
        left: calc(100vw - 4em);
    }

    .form-label-cell {
        width: 17ch;
    }

    #feedback-form {
        position: fixed;
        left: calc(50vw - 18em);
        top: calc(50vh - 10em);
        background-color: white;
        border: solid 1px black;
        width: 36em;
        height: 20em;
        padding: 1em 1em 1em 1em;
    }

    #feedback-suggestion {
        height: 12em;
    }
}

* {
    margin: 0;
}

html {
    box-sizing: border-box;
}
  
*,
*::before,
*::after {
    box-sizing: inherit;
    font-family: 'Saira Condensed Light';
}
  
body {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 120%;
    vertical-align: baseline;
    background-color: white;
    color: black;
}

p {
    margin-bottom: 1em;
}

.page-body {
    min-height: calc(100vh - 7em);
    text-align: justify;
    display: table;
}

.line {
    height: 1px;
    background-color: black;
}

.line-full {
    height: 1px;
    background-color: black;
}

.page-header {
    top: 0px;
    background-color: white;
    z-index: 100;
}

.page-footer {
    font-size: 75%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

footer {
    margin-top: 1em;
}

h1, h2, h3, h4, a.ah1, a.ah2, a.ah3, .hdr1, .hdr-separator {
    font-family: 'Saira Condensed Medium';
}

.hdr1, .hdr2, .hdr-separator {
    font-size: 160%;
}

.hdr1, .hdr-separator {
    font-weight: 500;
}

.hdr3 {
    font-size: 100%;
    font-weight: bold;
}

.hdr-separator {
    color: darkgreen;
    margin-left: 0.1em;
    margin-right: 0.1em;
    font-weight: 600;
}

.split {
    color: lightgray;
    margin-left: 1ch;
    margin-right: 1ch;
}

code, .code, .snippet {
    font-family: 'Fira Code Medium';
    font-size: smaller;
    background-color: rgb(230, 230, 230);
    padding-left: 0.5ch;
    padding-right: 0.5ch;
}

.snippet {
    display: block;
    border: solid 1px gray;
    padding: 1em;    
    margin-top: 1em;
    margin-bottom: 1em;
}

a, .link {
    color: blue;
    text-decoration: none;
    padding-left: 0.5ch;
    padding-right: 0.5ch;
}

a:hover, .link:hover {
    background-color: lightgray;
    text-decoration: none;
    padding-left: 0.5ch;
    padding-right: 0.5ch;
}

.err-link {
    color: cyan;
    text-decoration: none;
}

.nolink {
    color: inherit;
    text-decoration: none;
}

.twitter-block {
    vertical-align: top;
    width: 24ch;
    display: table-cell;
    border-top: 1px solid black;
    padding-top: 1ch;
}

.table {
    display: table;
}

.table-row {
    display: table-row;
}

.table-col {
    display: table-column;
}

.table-cell {
    display: table-cell;
}

.tab {
    width: 1em;
    display: inline-block;
}

.tabbed {
    margin-left: 2em;
}

iframe {
    border-width: 0px;
}

.doc-frame {
    width: 100%;
    height: calc(100vh - 10em);
}

.full-frame {
    width: 100%;
    height: calc(100vh - 10em);
}

.invisible {
    display: none;
}

.invalid {
    color: red;
}

.response-ok, .response-error, .response-hidden {
    transition: 500ms;  
    color: white;
    padding: 0.5em 0.5em 0.5em 0.5em;
    text-align: center;
    font-size: 100%;
}
  
.response-ok {
    background-color: darkgreen;
}

.response-error {
    background-color: darkred;
}

.response-hidden {
    height: 0;
    font-size: 0!important;
}

.form-field-cell {
    display: table-cell;
    padding: 0.25ch;
}

.form-input, .form-multiline-input {
    font-family: 'Saira Condensed Light';
    font-size: 100%;
    width: 100%;
    border: solid 0px;
    vertical-align: middle;
    padding-left: 1ch;
    padding-right: 1ch;
}

.form-multiline-input {
    padding-top: 1ch;
    padding-bottom: 1ch;
    border: solid 1px black;
}

.form-input {
    height: 1.75em;
    border: solid 1px black;
}

.hfill {
    width: 100%;
}

.hfill3rd {
    width: 33%!important;
}

input[type="submit"], button {
    cursor: pointer;
    font-family: 'Saira Condensed Light';
    font-size: 100%;
    font-weight: bold;
    background-color: darkgreen;
    color: white;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    padding-left: 2em;
    padding-right: 2em;
    text-align: center;
    vertical-align: middle;
    transition: 500ms;
    border: solid 1px black;
    white-space: nowrap;
    word-wrap: break-word;
}

input[type="submit"]:hover, button:hover {
    background-color: black;
}

input[type="submit"]:disabled, button:disabled {
    background-color: darkgrey;
    pointer-events: none;
}

input[type="file"] {
    height: 3em;
    vertical-align: middle;
    border-width: 0!important;
}

td {
    vertical-align: top;
}

td.lic-hdr {
    text-align: center;
}

td.feature-name-cell {
    text-align: right;
    vertical-align: top;
    font-weight: bold;
    padding-right: 2ch;
    white-space: nowrap;
    word-wrap: break-word;
}

td.lic-feature {
    text-align: center;
    padding: 0.25ch;
}

#paypal-block {
    text-align: center;
    margin-top: 1em;
}

#payment-frame, #order-relay {
    height: 5em;
}

@keyframes progress {
    0%,
    100% {
        color: black;
    }
    50% {
        color: white;
    }
}

span.progress {
    --delay: 0s;
    font-size: 2em;
    font-weight: bold;
    animation: progress 1s var(--delay) infinite ease-in-out;  
}

#progress, #feedback-progress {
    align-content: center;
    align-items: center;
    text-align: center;
}

.tooltip-container {
    position: relative;
    padding-right: 1ch;
 }
  
.tooltip-container:after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0.75ch 0.75ch 0;
    border-color: transparent darkgreen transparent transparent;
    right: 0;
    top: 0;
    position: absolute;
}

.tooltip {
    font-family: 'Saira Condensed Light';
    font-size: 100%;
    font-weight: normal;
    text-decoration: none;
    visibility: hidden;
    background-color: darkgreen;
    color: white;
    padding: 0.5em;
    position: absolute;
    white-space: nowrap;
    z-index: 1;
    border: solid 1px black;
}

.tooltip {
    text-align: justify;
}

.tooltip-container:hover .tooltip {
    visibility: visible;
}

h1 {
    font-size: 130%;
    font-weight: bold;
    margin-top: 1em;
    margin-bottom: 0.5em;
}

h2 {
    font-size: 120%;
    font-weight: bold;
    margin-top: 2em;
    margin-bottom: 0.25em;
}

h3 {
    font-size: 110%;
    font-weight: bold;
    margin-top: 0.25em;
}

h4 {
    font-size: 100%;
    font-weight: bold;
    margin-top: 0.25em;
}

sup.title-part {
    font-size: 60%;
    left: -1ch;
    position: relative;
}

.title-part {
    left: -0.5ch;
    position: relative;
}

::placeholder, ::-ms-input-placeholder, :-ms-input-placeholder {
    color: lightgray;
    font-style: italic;
    opacity: 1; /* Firefox */
}
  
#payment-block {
    text-align: center;
    align-content: center;
}

#maintenance-message {
    z-index: 1000;
    background-color: pink;
    border: solid 1px darkred;
    color: darkred;
    display: block;
    width: 90%;
    text-align: justify;
    padding: 1em 1em 1em 1em;
}

.center {
    text-align: center!important;
    align-content: center!important;
}

.vcenter {
    vertical-align: middle!important;
}

.left {
    text-align: left!important;
    align-content: left!important;
}

.right {
    text-align: right!important;
    align-content: right!important;
}

.top {
    vertical-align: top;
}

.bottom {
    vertical-align: bottom;
}

#btn-feedback {
    width: 3em;
    height: 5em;
    padding: 0 0 0 0;
}

#btn-feedback span {
    display: inline-block;
    position: relative;
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
}

#feedback-panel {
    position: fixed;
    left: 0;
    top: 0;
    width: calc(100vw);
    height: calc(100vh);
    z-index: 9000;
}

#feedback-curtain {
    position: relative;
    left: 0;
    top: 0;
    width: calc(100vw);
    height: calc(100vh);
    background-color: black;
    opacity: 0.50;
}

a.ah1:link, a.ah1:visited, a.ah1:hover, a.ah1:active,
a.ah2:link, a.ah2:visited, a.ah2:hover, a.ah2:active,
a.ah3:link, a.ah3:visited, a.ah3:hover, a.ah3:active  {
    cursor: unset;
    color: unset;
}

a.ah2 {
    font-weight: bold;
    padding-top: 2.5em;
    display: inline-block;
}

h1.ah, h2.ah, h2.ah  {
    margin-top: 0!important;
}

.nowrap {
    white-space: nowrap;
    word-wrap: break-word;
}
