@import url(https://internet-experience.neocities.org/assets/css/fontawesome-all.min.css);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,400italic,600italic|Roboto+Slab:400,700);

.free {
    background-color: #f8f894;
    color: #121212;
    border-radius: 3px
}

.open-source {
    background-color: #007cad;
    color: #121212;
    border-radius: 3px
}

.platform {
    background-color: #00ff80;
    color: #121212;
    border-radius: 3px
}

.in-site {
    background-color: #7474d3;
    color: #121212;
    border-radius: 3px
}

a,
article,
audio,
big,
body,
cite,
code,
details,
div,
footer,
h1,
h2,
h3,
h4,
h5,
h6,
header,
html,
i,
li,
menu,
nav,
p,
s,
section,
span,
strong,
table,
td,
th,
tr,
ul,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article,
details,
footer,
header,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

ul {
    list-style: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

body {
    -webkit-text-size-adjust: none
}

body {
    -ms-overflow-style: scrollbar
}

@media screen and (max-width:480px) {

    body,
    html {
        min-width: 320px
    }
}

html {
    box-sizing: border-box
}

*,
:after,
:before {
    box-sizing: inherit
}

body {
    background: #121212
}

body.is-preload *,
body.is-preload :after,
body.is-preload :before {
    -moz-animation: none;
    -webkit-animation: none;
    -ms-animation: none;
    animation: none;
    -moz-transition: none;
    -webkit-transition: none;
    -ms-transition: none;
    transition: none
}

body {
    color: #e0e0e0;
    font-family: Tahoma, sans-serif;
    font-size: 13pt;
    font-weight: 400;
    line-height: 1.65
}

@media screen and (max-width:1680px) {
    body {
        font-size: 11pt
    }
}

@media screen and (max-width:1280px) {
    body {
        font-size: 10pt
    }
}

@media screen and (max-width:360px) {
    body {
        font-size: 9pt
    }
}

a {
  -moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  border-bottom: dotted 1px;
  color: #888888;
  text-decoration: none;
}

a:hover {
  border-bottom-color: #888888;
  color: #d1d1d1;
}

a:hover strong {
  color: inherit;
}

strong,
b {
  color: #cfcfcf;
  font-weight: 600;
}

em,
i {
  font-style: italic;
}

p {
  margin: 0 0 2em 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #cfcfcf;
  font-family: Tahoma, sans-serif;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 1em 0;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
  text-decoration: none;
  border-bottom: 0;
}

h1 {
  font-size: 4em;
  margin: 0 0 0.5em 0;
  line-height: 1.3;
}

h2 {
  font-size: 1.75em;
}

h3 {
  font-size: 1.25em;
}

h4 {
  font-size: 1.1em;
}

h5 {
  font-size: 0.9em;
}

h6 {
  font-size: 0.7em;
}

@media screen and (max-width:1680px) {
    h1 {
        font-size: 3.5em
    }
}

@media screen and (max-width:980px) {
    h1 {
        font-size: 3.25em
    }
}

@media screen and (max-width:736px) {
    h1 {
        font-size: 2em;
        line-height: 1.4
    }

    h2 {
        font-size: 1.5em
    }
}

code {
    background: rgba(230, 235, 237, .25);
    border-radius: .375em;
    border: solid 1px rgba(210, 215, 217, .75);
    font-family: Tahoma, sans-serif;
    font-size: .9em;
    margin: 0 .25em;
    padding: .25em .65em
}

hr {
    border: 0;
    border-bottom: solid 1px rgba(210, 215, 217, .75);
    margin: 2em 0
}

hr.major {
    margin: 3em 0
}

header p {
    font-family: Tahoma, sans-serif;
    font-size: 1em;
    font-weight: 400;
    letter-spacing: .075em;
    margin-top: -.5em;
    text-transform: uppercase
}

header.major>:last-child {
    border-bottom: solid 3px #888;
    display: inline-block;
    margin: 0 0 2em 0;
    padding: 0 .75em .5em 0
}

.main>:last-child {
    margin: 0 0 1em 0
}

::-webkit-input-placeholder {
    color: #9fa3a6;
    opacity: 1
}

:-moz-placeholder {
    color: #9fa3a6;
    opacity: 1
}

::-moz-placeholder {
    color: #9fa3a6;
    opacity: 1
}

:-ms-input-placeholder {
    color: #9fa3a6;
    opacity: 1
}

ul {
    list-style: disc;
    margin: 0 0 2em 0;
    padding-left: 1em
}

ul li {
    padding-left: .5em
}

ul.icons {
    cursor: default;
    list-style: none;
    padding-left: 0
}

ul.icons li {
    display: inline-block;
    padding: 0 1em 0 0
}

ul.icons li:last-child {
    padding-right: 0
}

ul.contact {
    list-style: none;
    padding: 0
}

ul.contact li {
    text-decoration: none;
    border-top: solid 1px rgba(210, 215, 217, .75);
    margin: 1.5em 0 0 0;
    padding: 1.5em 0 0 3em;
    position: relative
}

ul.contact li:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    text-transform: none;
    font-family: Tahoma, sans-serif;
    font-weight: 400
}

ul.contact li:before {
    color: #888;
    display: inline-block;
    font-size: 1.5em;
    height: 1.125em;
    left: 0;
    line-height: 1.125em;
    position: absolute;
    text-align: center;
    top: 1em;
    width: 1.5em
}

ul.contact li:first-child {
    border-top: 0;
    margin-top: 0;
    padding-top: 0
}

ul.contact li:first-child:before {
    top: 0
}

ul.contact li a {
    color: inherit
}

/* Existing table styles – keep these */
.table-wrapper {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
}

table {
  margin: 0 0 2em 0;
  width: 100%;
  table-layout: fixed;
  vertical-align: middle;
}

table tbody tr {
  border: solid 1px rgba(210, 215, 217, .75);
}

table td {
  padding: .75em .75em;
  text-align: center;
  border-left: 1px solid rgba(210, 215, 217, 0.75);
  border-right: 1px solid rgba(210, 215, 217, 0.75);
  vertical-align: middle;
}

td[colspan],
th[colspan] {
  text-align: center;
  font-weight: 600;
}

table th {
  color: #cfcfcf;
  font-size: 1.4em;
  font-weight: 600;
  padding: .75em .75em .75em .75em;
  text-align: center;
  border-left: 1px solid rgba(210, 215, 217, 0.75);
  border-right: 1px solid rgba(210, 215, 217, 0.75);
  vertical-align: middle;
  background-color: rgba(230, 235, 237, .25);
}

table th a {
  color: #cfcfcf;
  text-decoration: none;
  border-bottom: 0;
}

table thead {
  border-bottom: solid 2px rgba(210, 215, 217, .75);
}

table tfoot {
  border-top: solid 2px rgba(210, 215, 217, .75);
}


/* table1: first column left, second column center */
table.table1 tbody tr td:first-child:not([colspan]),
table.table1 thead tr th:first-child:not([colspan]),
table.table1 tfoot tr td:first-child:not([colspan]) {
  text-align: left;
  /* left‑align the first column */
}

/* table2: first column center, second column left, every other center */
table.table2 tbody tr td:nth-child(2):not([colspan]),
table.table2 thead tr th:nth-child(2):not([colspan]),
table.table2 tfoot tr td:nth-child(2):not([colspan]) {
  text-align: left;
  /* left‑align the first column */
}

#wrapper {
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -moz-flex-direction: row-reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    min-height: 100vh
}

#main {
    -moz-flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-grow: 1;
    flex-grow: 1;
    -moz-flex-shrink: 1;
    -webkit-flex-shrink: 1;
    -ms-flex-shrink: 1;
    flex-shrink: 1;
    width: 100%
}

#main>.inner {
    padding: 0 6em .1em 6em;
    margin: 0 auto;
    max-width: 110em
}

#main>.inner>section {
    padding: 6em 0 4em 0;
    border-top: solid 2px rgba(210, 215, 217, .75)
}

#main>.inner>section:first-of-type {
    border-top: 0
}

@media screen and (max-width:1680px) {
    #main>.inner {
        padding: 0 5em .1em 5em
    }

    #main>.inner>section {
        padding: 5em 0 3em 0
    }
}

@media screen and (max-width:1280px) {
    #main>.inner {
        padding: 0 4em .1em 4em
    }

    #main>.inner>section {
        padding: 4em 0 2em 0
    }
}

@media screen and (max-width:736px) {
    #main>.inner {
        padding: 0 2em .1em 2em
    }

    #main>.inner>section {
        padding: 3em 0 1em 0
    }
}

/* Sidebar */
#search form {
  text-decoration: none;
  position: relative;
}

#search form:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none;
  font-family: Tahoma, sans-serif;
  font-weight: 900;
}

#search form:before {
  -moz-transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1);
  color: #cfcfcf;
  content: '\f002';
  cursor: default;
  display: block;
  font-size: 1.5em;
  height: 2em;
  line-height: 2em;
  opacity: 0.325;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 2em;
}

#search form input[type="text"] {
  padding-right: 2.75em;
}

#sidebar {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-shrink: 0;
  flex-shrink: 0;
  -moz-transition: margin-left 0.5s ease, box-shadow 0.5s ease;
  -webkit-transition: margin-left 0.5s ease, box-shadow 0.5s ease;
  -ms-transition: margin-left 0.5s ease, box-shadow 0.5s ease;
  transition: margin-left 0.5s ease, box-shadow 0.5s ease;
  background-color: #000000;
  font-size: 0.9em;
  position: relative;
  width: 26em;
}

#sidebar h2 {
  font-size: 1.38889em;
}

#sidebar>.inner {
  padding: 2.22222em 2.22222em 2.44444em 2.22222em;
  position: relative;
  width: 26em;
}

#sidebar>.inner>* {
  border-bottom: solid 2px rgba(210, 215, 217, 0.75);
  margin: 0 0 3.5em 0;
  padding: 0 0 3.5em 0;
}

#sidebar>.inner>*> :last-child {
  margin-bottom: 0;
}

#sidebar>.inner>*:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

#sidebar>.inner>.alt {
  background-color: #eff1f2;
  border-bottom: 0;
  margin: -2.22222em 0 4.44444em -2.22222em;
  padding: 2.22222em;
  width: calc(100% + 4.44444em);
}

#sidebar .toggle {
  text-decoration: none;
  -moz-transition: left 0.5s ease;
  -webkit-transition: left 0.5s ease;
  -ms-transition: left 0.5s ease;
  transition: left 0.5s ease;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  border: 0;
  height: 7.5em;
  left: 26em;
  line-height: 7.5em;
  outline: 0;
  overflow: hidden;
  position: absolute;
  text-align: center;
  text-indent: -15em;
  white-space: nowrap;
  top: 0;
  width: 6em;
  z-index: 10000;
  display: flex;
  justify-content: center;
  align-items: center;
}

#sidebar .toggle:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: center;
}

#sidebar .toggle:before {
  content: '\f0c9';
  font-size: 2rem;
  height: inherit;
  left: 0;
  line-height: inherit;
  position: absolute;
  text-indent: 0;
  top: 0;
  width: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
}

#sidebar.inactive {
  margin-left: -26em;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 1680px) {
  #sidebar {
    width: 24em;
  }

  #sidebar>.inner {
    padding: 1.66667em 1.66667em 1.33333em 1.66667em;
    width: 24em;
  }

  #sidebar>.inner>.alt {
    margin: -1.66667em 0 3.33333em -1.66667em;
    padding: 1.66667em;
    width: calc(100% + 3.33333em);
  }

  #sidebar .toggle {
    height: 6.25em;
    left: 24em;
    line-height: 6.25em;
    text-indent: 5em;
    width: 5em;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #sidebar .toggle:before {
    font-size: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #sidebar.inactive {
    margin-left: -24em;
  }
}

@media screen and (max-width: 1280px) {
  #sidebar {
    box-shadow: 0 0 5em 0 rgba(0, 0, 0, 0.175);
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    z-index: 10000;
  }

  #sidebar.inactive {
    box-shadow: none;
  }

  #sidebar>.inner {
    -webkit-overflow-scrolling: touch;
    height: 100%;
    left: 0;
    overflow-x: hidden;
    overflow-y: auto;
    position: absolute;
    top: 0;
  }

  #sidebar>.inner:after {
    content: '';
    display: block;
    height: 4em;
    width: 100%;
  }

  #sidebar .toggle {
    text-indent: 6em;
    width: 6em;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #sidebar .toggle:before {
    font-size: 1.5rem;
    margin-left: -0.4375em;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  body.is-preload #sidebar {
    display: none;
  }
}

@media screen and (max-width: 736px) {
  #sidebar .toggle {
    text-indent: -15em;
    width: 7.25em;
  }

  #sidebar .toggle:before {
    color: #cfcfcf;
    margin-left: -0.0625em;
    margin-top: -0.25em;
    font-size: 1.1rem;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  #sidebar .toggle:after {
    background: rgba(222, 225, 226, 0.75);
    border-radius: 0.375em;
    content: '';
    height: 3.5em;
    left: 1em;
    position: absolute;
    top: 1em;
    width: 5em;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

#header {
    display: -moz-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: solid 5px #888;
    padding: 6em 0 1em 0;
    position: relative
}

#header>* {
    -moz-box: 1;
    -webkit-box: 1;
    -ms-flexbox: 1;
    flex: 1;
    margin-bottom: 0
}

#header .logo {
    border-bottom: 0;
    color: inherit;
    font-family: Tahoma, sans-serif;
    font-size: 1.125em
}

#header .icons {
    text-align: right
}

@media screen and (max-width:1680px) {
    #header {
        padding-top: 5em
    }
}

@media screen and (max-width:736px) {
    #header {
        padding-top: 6.5em
    }

    #header .logo {
        font-size: 1.25em;
        margin: 0
    }

    #header .icons {
        height: 5em;
        line-height: 5em;
        position: absolute;
        right: -.5em;
        top: 0
    }
}

#menu ul {
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: #cfcfcf;
    font-family: Tahoma, sans-serif;
    font-weight: 400;
    letter-spacing: .075em;
    list-style: none;
    margin-bottom: 0;
    padding: 0;
    text-transform: uppercase
}

#menu ul a,
#menu ul span {
    border-bottom: 0;
    color: inherit;
    cursor: pointer;
    display: block;
    font-size: .9em;
    padding: .625em 0
}

#menu ul a:hover,
#menu ul span:hover {
    color: #888
}

#menu ul a.opener,
#menu ul span.opener {
  -moz-transition: color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  position: relative;
}

#menu ul a.opener:before,
#menu ul span.opener:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}

#menu ul a.opener:before,
#menu ul span.opener:before {
  -moz-transition: color 0.2s ease-in-out, -moz-transform 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, -ms-transform 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
  color: #9fa3a6;
  content: '\f078';
  position: absolute;
  right: 0;
}

#menu ul a.opener:hover:before,
#menu ul span.opener:hover:before {
  color: #888888;
}

#menu ul a.opener.active+ul,
#menu ul span.opener.active+ul {
  display: block;
}

#menu ul a.opener.active:before,
#menu ul span.opener.active:before {
  -moz-transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

#menu>ul>li {
    border-top: solid 1px rgba(210, 215, 217, .75);
    margin: .5em 0 0 0;
    padding: .5em 0 0 0
}

#menu>ul>li>ul {
    color: #9fa3a6;
    display: none;
    margin: .5em 0 1.5em 0;
    padding-left: 1em
}

#menu>ul>li>ul a,
#menu>ul>li>ul span {
    font-size: .8em
}

#menu>ul>li>ul>li {
    margin: .125em 0 0 0;
    padding: .125em 0 0 0
}

#menu>ul>li:first-child {
    border-top: 0;
    margin-top: 0;
    padding-top: 0
}

/*! * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */
@-webkit-keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@font-face {
    font-family: "Font Awesome 5 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(https://internet-experience.neocities.org/assets/webfonts/fa-brands-400.eot);
    src: url(https://internet-experience.neocities.org/assets/webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"), url(https://internet-experience.neocities.org/assets/webfonts/fa-brands-400.woff2) format("woff2"), url(https://internet-experience.neocities.org/assets/webfonts/fa-brands-400.woff) format("woff"), url(https://internet-experience.neocities.org/assets/webfonts/fa-brands-400.ttf) format("truetype"), url(https://internet-experience.neocities.org/assets/webfonts/fa-brands-400.svg#fontawesome) format("svg")
}

@font-face {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(https://internet-experience.neocities.org/assets/webfonts/fa-regular-400.eot);
    src: url(https://internet-experience.neocities.org/assets/webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"), url(https://internet-experience.neocities.org/assets/webfonts/fa-regular-400.woff2) format("woff2"), url(https://internet-experience.neocities.org/assets/webfonts/fa-regular-400.woff) format("woff"), url(https://internet-experience.neocities.org/assets/webfonts/fa-regular-400.ttf) format("truetype"), url(https://internet-experience.neocities.org/assets/webfonts/fa-regular-400.svg#fontawesome) format("svg")
}

@font-face {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src: url(https://internet-experience.neocities.org/assets/webfonts/fa-solid-900.eot);
    src: url(https://internet-experience.neocities.org/assets/webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"), url(https://internet-experience.neocities.org/assets/webfonts/fa-solid-900.woff2) format("woff2"), url(https://internet-experience.neocities.org/assets/webfonts/fa-solid-900.woff) format("woff"), url(https://internet-experience.neocities.org/assets/webfonts/fa-solid-900.ttf) format("truetype"), url(https://internet-experience.neocities.org/assets/webfonts/fa-solid-900.svg#fontawesome) format("svg")
}

/* -------------------------------------------------
   Increase base font size on mobile (≤736 px)
   ------------------------------------------------- */
@media screen and (max-width: 736px) {

    /* 1️⃣ Body – the root size for most text */
    body {
        font-size: 1.1rem;          /* ~10 pt → ~11 pt, ~1.1× larger */
    }

    /* 2️⃣ Headings – keep hierarchy but enlarge */
    h1 { font-size: 2.2rem; }       /* from 2 rem → 2.2 rem */
    h2 { font-size: 1.8rem; }       /* from 1.5 rem → 1.8 rem */
    h3 { font-size: 1.5rem; }       /* from 1.25 rem → 1.5 rem */
    h4 { font-size: 1.3rem; }       /* from 1.1 rem → 1.3 rem */
    h5 { font-size: 1.1rem; }       /* from 0.9 rem → 1.1 rem */
    h6 { font-size: 0.9rem; }       /* from 0.7 rem → 0.9 rem */

    /* 3️⃣ Paragraphs and generic text blocks */
    p,
    .free,
    .open-source,
    .platform,
    .in-site,
    .contact li,
    .menu ul a,
    .menu ul span,
    .menu ul a.opener,
    .menu ul span.opener,
    .menu ul a.opener:before,
    .menu ul span.opener:before,
    .menu ul a.opener:after,
    .menu ul span.opener:after {
        font-size: 1rem;        /* roughly 10 % larger than the default */
    }
    
    td {
        font-size: 0.9rem; 
    }
    
    table {
      table-layout: auto;
    }
    
    #main>.inner {
        padding: 0 1em .1em 1em;   /* left/right = 1 em instead of 2 em */
    }
}