html {
    font-size:100%;
    -webkit-text-size-adjust:100%;
    -ms-text-size-adjust:100%
}
body {
    font-family:Palatino,palatino linotype,Georgia,Times,times new roman,serif;
    font-size:12px;
    line-height:1.5em;
    word-break:break-word;
    color:#1c1b1f;
    background:#fffbfe;
    margin: 0 auto;
    overflow-y: hidden;
}
figcaption.caption span.id:after {
    content:' '
}
figure {
    text-align:center
}
a, a:visited, a:active, a:hover {
    color:#6750a4
}
a {
    text-decoration:none
}
a:hover {
    text-decoration:underline
}
a:focus {
    outline:thin dotted
}
a:hover, a:active {
    outline:0
}
.landing {
    max-width: 1080px;
}
.page {
    overflow-y: scroll;
}
.anchor {
    opacity:.2
}
.anchor:after {
    content:"¶︎"
}
.anchor:hover {
    opacity:1;
    text-decoration:none
}
.center {
    text-align: center;
    margin: 0 auto;
}
::-moz-selection {
    background:#e7e0ec;
    color:#49454f
}
::selection {
    background:#e7e0ec;
    color:#49454f
}
a::-moz-selection {
    background:#fff;
    color:#6750a4
}
a::selection {
    background:#fff;
    color:#6750a4
}
p {
    margin:1em 0
}
img, object[type='image/svg+xml'] {
    max-width:100%
}
h1, h2, h3, h4, h5, h6 {
    font-weight:400;
    color:#1c1b1f;
    line-height:1em
}
h4, h5, h6 {
    font-weight:700
}
h1 {
    font-size:2.5em
}
h2 {
    font-size:2em
}
h3 {
    font-size:1.5em
}
h4 {
    font-size:1.2em
}
h5 {
    font-size:1em
}
h6 {
    font-size:.9em
}
blockquote {
    color:#666;
    margin:0
}
hr {
    display:block;
    border:0;
    border-top:1px solid rgba(0,0,0,.12);
    border-bottom:1px solid rgba(0,0,0,.12);
    margin:1em 0;
    padding:0
}
pre, code, kbd, samp {
    font-family:monospace,monospace;
    _font-family:'courier new',monospace;
    font-size:.98em
}
pre {
    padding:1em;
    word-wrap:break-word;
    background-color:#f4f4f4
}
b, strong {
    font-weight:700
}
dfn {
    font-style:italic
}
ins {
    background:#e7e0ec;
    color:#49454f;
    text-decoration:none
}
mark {
    background:#e7e0ec;
    color:#49454f;
    font-style:italic;
    font-weight:700
}
sub, sup {
    font-size:75%;
    line-height:0;
    position:relative;
    vertical-align:baseline
}
sup {
    top:-.5em
}
sub {
    bottom:-.25em
}
ul, ol {
    margin:1em 0;
    padding:0 0 0 2em
}
li p:last-child {
    margin:0
}
dd {
    margin:0 0 0 2em
}
img, object[type='image/svg+xml'] {
    border:0;
    -ms-interpolation-mode:bicubic;
    vertical-align:middle
}
table {
    border-collapse:collapse;
    border-spacing:0
}
td {
    vertical-align:top
}

.middle {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 20px;
    min-height: 100vh;
}

.flex {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.logo-holder {
    flex: 1 0 0;
    padding: 10px;
    max-width: 200px;
}

.logo {
    max-width: 100%;
    min-width: 180px;
}
.page-wrapper {
    padding: 20px 20px;
    min-height: 100vh;
}
.titlepage {
    margin-top: 1em;
    max-width: 42em;
}
.titlepage h1 {
    font-size: 48px;
    color: rgba(0,0,0,.75);
    text-shadow: 0 0 2px #9e9e9e;
    margin: 16px 0 12px 0;
}
.titlepage h2 {
    font-size: 32px;
    margin: 0;
    color: rgba(0,0,0,.5);
    text-shadow: 0 0 2px #9e9e9e;
}
.logo-title {
    max-width: 160px;
}
.itempage {
    padding: 5em 20px;
}
.cards {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    padding: 20px 0;
}
.cards div div {    
    padding: 0 20px;
}
.card-left, .card-right {
    min-width: 100%;
    border-left: 2px solid rgba(0,0,0,.15);
}
.card-start, .card-middle, .card-end {
    min-width: 100%;
    border-left: 2px solid rgba(0,0,0,.15);
}
.card-start {
    flex: 1 0 0;
}
.card-middle {
    flex: 2 0 0;
}
.card-end {
    flex: 3 0 0;
}
.content {
    flex: 2 0 0;
    padding: 10px;
    text-align: start;
    line-height: normal;
    word-break: keep-all;
}

.orgname {
    font-size: 48px;
    text-shadow: 0 0 2px #212121;
    font-family: Helvetica Nueue, Helvetica, sans-serif;
}
.developer {
    font-size: 48px;
    font-weight: bold;
    text-shadow: 0 0 2px #212121;
    font-family: Helvetica Nueue, Helvetica, sans-serif;
}
.description {
    font-size: 18px;
    margin-top: 16px;
}
.speciallink {
    display: block;
    padding: 16px 0 16px 0;
}
.speciallink a {
    display: inline-block;
}
.speciallink a:first-child {
    margin-top: 0;
    margin-left: 0;
}
.speciallink a:not(:first-child) {
    margin-top: 8px;
    margin-left: 0;
}
.menulink {
    border-top: 2px solid rgba(0,0,0,.15);
    padding: 16px 0 8px 0;
}
.menulink a.link {
    display: inline-block;
    padding: 2px 2px;
}
.menulink, .footer {
    font-size: 16px;
}
.footer {          
    color: rgba(0,0,0,.75);
    font-family: Helvetica Nueue, Helvetica, sans-serif;
    font-style: oblique;
    line-height: 1.5rem;
}
@media only screen and (any-pointer: coarse) and (min-width:768px) {
    .menulink a.link {
        padding: 4px 4px;
    }
}
@media only screen and (min-width:480px) {
    body, .menulink, .footer {
        font-size: 16px;
    }
    .titlepage {
        max-width: 42em;
    }
    .description {
        font-size: 18px;    
    }
    .orgname, .developer {
        font-size: 32px;
    }
    .speciallink a:not(:first-child) {
        margin-top: 8px;
        margin-left: 0;
    }
    .card-left, .card-right {
        min-width: 100%;
        max-width: 100%;
    }
    .card-start, .card-middle, .card-end {
        min-width: 100%;
        max-width: 100%;
    }
}
@media only screen and (min-width:768px) {
    body, .menulink, .footer {
        font-size: 16px;
    }
    .titlepage {
        max-width: 100%;
    }
    .description {
        font-size: 14px;    
    }
    .orgname, .developer {
        font-size: 36px;
    }
    .speciallink a:not(:first-child) {
        margin-left: 8px;
    }
    .card-left, .card-right {
        min-width: 49%;
        max-width: 49%;
    }   
    .card-start, .card-middle, .card-end {
        min-width: 33%;
        max-width: 33%;
    }    
    .cards div div {    
        padding: 20px 20px;
    }
}
@media(prefers-color-scheme:dark) {
    body {
        color:#e6e1e5!important;
        background-color:#1c1b1f!important
    }
    a, a:visited {
        color:#d0bcff!important
    }
    h1, h2, h3, h4, h5, h6 {
        color:#e6e1e5!important
    }
    hr {
        border-top:1px solid rgba(255,255,255,.2);
        border-bottom:1px solid rgba(255,255,255,.2)
    }
    pre {
        background-color:#242424
    }
}
@media print {
    * {
        background:0 0!important;
        color:#000!important;
        filter:none!important;
        -ms-filter:none!important
      }
      
    a, a:visited {
      text-decoration:underline
    }
    hr {
      height:1px;
      border:0;
      border-bottom:1px solid #000
    }
    a[href]:after {
      content:" (" attr(href)")"
    }
    abbr[title]:after {
      content:" (" attr(title)")"
    }
    .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
      content:""
    }
    pre, blockquote {
      border:1px solid #999;
      padding:.5em;
      page-break-inside:avoid
    }
    tr, img, object[type='image/svg+xml'] {
      page-break-inside:avoid
    }
    img, object[type='image/svg+xml'] {
      max-width:100%!important
    }
    p, h2, h3 {
      orphans:3;
      widows:3
    }
    h2, h3 {
      page-break-after:avoid
    }
}