body {
    font-family: inerta-f;
    color: #222;
    background: #E7E7E7;
    width: 100%;
    margin: 4em auto 2em;
}

img {
    width: 100%;
    height: auto;
}

span.svg {
    display: inline-block;
    width: 1.6em;
    text-align: left;
}

img.svg {
    height: 0.9rem;
    width: auto;
    position: relative;
    top: 0.1em;
}

h4 > svg {
    margin-right: 0.5em
}

b {
    font-weight: bold;
}

#container {
    width: 100%;
    background: #002244 linear-gradient(#001D39, #004993);
    padding-top: 1px;
    padding-bottom: 1px;
    margin-top: 4em;
}

#container-in {
    width: 100%;
    margin-top: 1.5em;
}

#content {
    width: 1280px;
    margin: 2em auto;
    padding-top: 1em;
    color: #FFF;
}

#container-in #content {
    background: #FFF;
    margin: 1.5em auto;
    padding-top: 0;
    color: #222;
    border-radius: 12px;
}

h1 {
    text-align: center;
    font-weight: 200;
    font-size: 3em;
    color: #002244;
}

h1 span {
    opacity: 0.5;
}

h1 b {
    color: #222;
}

h1.in {
    margin-top: -1.2em;
    font-size: 2em;
}

h1.in img {
    margin-top: -6px;
    vertical-align: middle;
}

h2 {
    font-weight: 200;
    font-size: 1.8em;
    color: #00AAFF;
}

h2.beforeslides {
    margin-bottom: 0;
}

h3 {
    text-align: center;
    margin-top: 3em;
    margin-bottom: 2em;
}

h3.text {
    font-weight: 400;
    font-size: 1.8em;
    color: #FFF;
    margin: 1em;
    margin-bottom: 0.6em;
}

h3.text a {
    text-decoration: none;
}

h3.text a:hover {
    text-decoration: underline;
    text-decoration-thickness: 0.075em;
}

h3.text a svg {
    padding-right: 0.25em;
}

h4 {
    text-align: left;
    font-size: 1.2em;
    font-weight: bold;
    margin: 0;
}

h4 > i {
    margin-right: 0.5em;
}

h5 {
    font-size: 1em;
    font-weight: bold;
    border-bottom: solid 1px #CCC;
    margin: 1em 0 0.5em 0;
}

p {
    text-align: left;
    font-size: 1em;
    opacity: 80%;
    margin-bottom: 0;
    line-height: 1.25em;
}

p#audience {
    margin-right: 20%;
    opacity: 70%;
}

a {
    color: inherit;
    text-decoration: underline;
}

table {
    border-collapse: collapse;
}

td {
    border: solid 1px #CCC;
    padding: 0.4em 0.6em;
    vertical-align: text-top;
}

.code {
    font-family: monospace;
    font-weight: 500;
    background-color: #ddd;
    padding: 0.6em 1em;
    margin: 0.7em 0 0.2em 0;
    border-radius: 8px;
    color: #000;
    line-height: 1.4em;
}

.center {
    text-align: center;
}

.up {
    margin-top: -3em;
    margin-bottom: 3em;
}

.low {
    margin-top: -1.5em;
    margin-bottom: 2.5em;
}

.margins {
    margin-top: 2em;
    margin-bottom: 2em;
}

.opaque {
    opacity: 100%;
}

.bold {
    font-weight: bold;
}

.blue {
    color: #00BBFF;
}

.red {
    color: #900;
}

.grid {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: 1fr 1fr;
    gap: 30px 20px;
    grid-template-areas: ". .";
    margin-bottom: 4em;
}

.calltoaction {
    margin: 2em 2.5em 4em 2.5em;
}

.cell {
    background-color: rgba(0, 0, 0, 0.4);
    padding: 20px;
    border-radius: 12px;
}

.cell2 {
    grid-column: 1/-1;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 20px;
    padding-top: 5px;
    border-radius: 12px;
}

.important {
    background-color: #FFDD00;
    padding: 16px 24px !important;
    border-radius: 12px;
}

.center {
    text-align: center;
}

.cell2 p {
    font-size: 1.1em;
}

p.li::first-letter {
    font-weight: bold;
    font-size: 0.65em;
    padding-right: 0.5em;
    vertical-align: 0.15em;
}

.cell2 p.details {
    font-size: 1em;
    margin-left: 1.4em;
    margin-top: 1.5em;
}

.glide__arrow {
    border: 0 !important;
    box-shadow: none !important
}

#text-page {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: 1fr 4fr;
    gap: 2em 0;
}

#text-page div {
    padding: 40px;
}

#text-page .nopadding {
    padding: 0;
}

#text-page li {
    text-align: left;
    font-size: 1em;
    opacity: 80%;
    margin-bottom: 0;
}

#text-page li li {
    list-style-type: disc;
    opacity: 100%;
}

#text-page div p:first-child {
    margin-top: 0.35em;
}

#text-page .title {
    font-weight: bold;
    font-size: 1.5em;
}

#text-page .title p {
    font-weight: normal;
    font-size: 0.6em;
    margin: 1em 0;
}

#text-page .title p:first-child {
    margin-top: 1em;
}

#text-page .title a {
    color: #004993;
    text-decoration: none;
}

#text-page .subtitle {
    font-weight: bold;
    font-size: 1.25em;
    opacity: 100%;
}

#text-page .form {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: 1fr 4fr;
    gap: 10px 10px;
    grid-template-areas: ". .";
    padding: 3px 0 0;
}

#text-page .form > div {
    padding: 0;
}

#text-page .form .description {
    padding-top: 6px;
}

#text-page .form input.text {
    font-family: inerta-f;
    padding: 4px;
    border: 1px solid #BBBBBB;
    border-radius: 4px;
    font-size: 1em;
    width: 100%;
}

#text-page .form textarea {
    font-family: inerta-f;
    padding: 4px;
    border: 1px solid #BBBBBB;
    border-radius: 4px;
    font-size: 1em;
    width: 100%;
    resize: vertical;
}

#text-page .form input.submit {
    font-family: inerta-f;
    padding: 10px 20px;
    font-size: 1em;
    background: #004993;
    color: #FFFFFF;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
}

#shortcuts div {
    padding: 0;
}

#shortcuts .row {
    display: flex;
    padding-top: 0.75em;
}

#shortcuts .shortcut {
    display: flex;
    width: 3.5em;
    flex: 1;
    opacity: 90%;
}

#shortcuts .description {
    display: block;
    width: auto;
    padding-left: 1em;
    flex: 11;
    opacity: 80%;
}


#shortcuts .shortcut span {
    display: block;
    font-weight: bold;
    text-align: center;
    flex: 1;
}

.footer {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: 2fr 2fr 2fr 2fr 2fr;
    padding-top: 2em;
    padding-bottom: 2em;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    margin-bottom: 1.5em;
}

.footer .right {
    text-align: right;
    padding-top: 8px;
}

.footertitle {
    font-size: 0.9em;
    font-weight: bold;
    margin-top: 0.4em;
    margin-bottom: 0.4em;
}

.footerlink {
    font-size: 0.8em;
    margin-top: 0.4em;
    margin-bottom: 0.4em;
    opacity: 70%;
}

.legal {
    width: 1200px;
    margin: 0 auto 2em;
}

.legal > p {
    font-size: 0.7em;
    opacity: 50%;
    margin: 0.5em 0;
}

#img-icon {
    display: inline-block;
    width: 128px;
    height: auto;
}

#img-icon-sm {
    display: inline-block;
    width: 64px;
    margin-right: 12px;
    height: auto;
}

#img-appstore {
    display: inline-block;
    width: 195px;
    height: 50px;
}

.screen {
    display: inline-block;
    width: 100%;
    height: auto;
}

.footer #img-appstore {
    width: 156px;
    height: 40px;
}

.img-mac {
    display: inline-block;
    margin: auto;
    width: 943px;
    height: 551px;
}

.img-screenshot {
    display: inline-block;
    margin: auto;
    width: 1145px;
    height: 709px;
}

span.key {
    background-color: rgba(0, 0, 0, 0.133);
    padding: 0 0.25em;
    margin: 0 0.05em;
    border-radius: 4px;
    font-weight: bold;
    color: #000;
}

.price-widget {
    padding: 20px;
}

.price-widget .blue {
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 1em;
    opacity: 1;
}

.price-widget label {
    display: block;
    margin-bottom: 8px;
}

.price-widget select {
    width: 100%;
    padding: 8px;
    margin-bottom: 20px;
}

.price-display {
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #ccc;
}

.country-name {
    font-size: 1em;
    margin-bottom: 10px;
}

.price-amount {
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 10px;
}

.price-note {
    text-align: left;
    font-size: 0.85em;
    line-height: 1.25em;
    opacity: 80%;
    margin-bottom: 0;
}

@supports(color: oklch(0 0 0)) {
    #container {
        background: linear-gradient(oklch(0.1 0.5 192), oklch(0.3 0.5 200));
    }
    h2 {
        color: oklch(0.58 1 196);
    }
    .blue {
        color: oklch(0.58 1 196);
    }
}