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

body {
  color: rgb(255 255 255 / 65%);
  font-family: Roboto, Helvetica, sans-serif !important;
  background: linear-gradient(
      -255deg,
      rgb(6 21 34 / 50.2%) -3.35%,
      rgb(147 158 255 / 22%) -1.21%,
      rgb(29 151 255 / 50.2%) 47.41%,
      #0099b0 97.48%
    ),
    #212121;
  line-height: 1;
  text-size-adjust: none;
  -ms-overflow-style: scrollbar;
}

html {
  box-sizing: border-box;
}

body,
input,
select,
textarea {
  font-family: Roboto, Helvetica, sans-serif;
  font-size: 14pt;
  font-weight: 300;
  line-height: 1.65;
}

input,
select,
textarea {
  appearance: none;
  color: #fff;
}

form {
  margin: 0 0 2em;
}

label {
  display: block;
  font-size: 0.9em;
  font-weight: 400;
  margin: 0 0 1em;
  color: #fff;
}

input[type="email"],
input[type="password"],
input[type="text"],
select,
textarea {
  appearance: none;
  border-radius: 8px;
  border: solid 1px;
  color: inherit;
  display: block;
  outline: 0;
  padding: 0 1em;
  text-decoration: none;
  width: 100%;
  background-color: rgb(255 255 255 / 7.5%);
  border-color: rgb(255 255 255 / 35%);
}

input[type="email"]:invalid,
input[type="password"]:invalid,
input[type="text"]:invalid,
select:invalid,
textarea:invalid {
  box-shadow: none;
}

select {
  background-size: 1.25rem;
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  padding-right: 2.75em;
  text-overflow: ellipsis;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(255, 255, 255, 0.35)' /%3E%3C/svg%3E");
}

input[type="email"],
input[type="password"],
input[type="text"],
select {
  height: 2em;
}

textarea {
  padding: 0.75em 1em;
}

select option {
  color: #fff;
  background: #935d8c;
}

#main input,
#main label,
#main select,
#main textarea {
  color: #636363;
}

#main label {
  padding: 10px;
}

#main input[type="email"],
#main input[type="password"],
#main input[type="text"],
#main select,
#main textarea {
  background-color: rgb(222 222 222 / 25%);
  border-color: #ddd;
}

#main select {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='%23dddddd' /%3E%3C/svg%3E");
}

#main select option {
  color: #636363;
  background: #fff;
}

h1 a,
h2 a,
h3 a {
  color: inherit;
  text-decoration: none;
}

hr {
  border: 0;
  border-bottom: solid 1px;
  margin: 2em 0;
  border-bottom-color: rgb(255 255 255 / 35%);
}

ol {
  list-style: decimal;
  margin: 0 0 2em;
  padding: 10px 10px 10px 1.25em;
  margin-left: 1.5em;
}

ol li {
  padding-left: 0.25em;
}

#main hr {
  border-bottom-color: #ddd;
}

a,
address,
audio,
b,
body,
code,
dd,
details,
div,
dl,
dt,
footer,
form,
h1,
h2,
h3,
header,
html,
i,
iframe,
img,
label,
li,
nav,
ol,
p,
s,
section,
span,
strong,
summary,
table,
tbody,
td,
time,
tr,
ul,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

ul.actions.special li:first-child,
ul.icons {
  padding-left: 0;
}

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

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

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

header.major {
  margin-bottom: 3em;
}

header.major h2 {
  font-size: 2em;
}

header.major h2::after {
  display: block;
  content: "";
  width: 3.25em;
  height: 2px;
  margin: 0.7em 0 1em;
  border-radius: 2px;
  background-color: rgb(255 255 255 / 35%);
}

section.special header.major h2::after {
  margin-left: auto;
  margin-right: auto;
}

section.main.special {
  text-align: left;
}

header.major p {
  font-size: 1.25em;
  letter-spacing: -0.025em;
}

footer.major {
  margin-top: 3em;
}

#header .coming-soon {
  padding: 20px;
  border-radius: 0.5em;
  border: 1px solid;
  margin-top: -4em;
  background-color: #939eff38;
  margin-bottom: 3em;
}

#header .coming-soon h2 {
  margin: 0;
}

#header .coming-soon h2 a {
  color: #2bb1ff;
}

#header.alt .logo {
  display: flex;
  justify-content: center;
  margin: 0 0 1.5em;
}

#header.alt .logo img {
  display: block;
  margin: 0 auto;
  max-width: 75%;
  min-width: 300px;
}

#header.alt .main-row {
  display: flex;
  justify-content: center;
  gap: 2em;
  flex-flow: row wrap-reverse;
}

#header.alt .main-row .gif-demo {
  flex: 1 1 calc(55% - 2em);
  min-width: 320px;
  max-height: 550px;
  max-width: 550px;
  height: 100%;
}

#header.alt .main-row .gif-demo video {
  border-radius: 0.75em;
  width: 100%;
}

#header.alt div.benefits {
  display: flex;
  justify-content: space-evenly;
  gap: 1rem;
  flex-direction: column;
  flex: 0 1 calc(45% - 2em);
  min-width: 300px;
}

#header.alt div.benefits div {
  flex: 1 1 30%;
}

#header.alt div.benefits div.divider {
  height: 2px;
  background-color: #e2e2e2;
  border-radius: 5px;
  flex: 0 0 2px;
}

#header.alt div.benefits div div.shortcuts {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.25em;
  color: #636363;
  justify-self: center;
}

#header.alt div.benefits div div.shortcuts img {
  height: 2.5em;
}

#header.alt div.benefits div ul.icons {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

#header.alt div.benefits div ul li {
  display: flex;
  padding: 5px 10px;
}

#header.alt div.benefits div ul li img {
  height: 2em;
}

#header.alt div.benefits div p {
  margin: 0;
  line-height: 1.65em;
  color: #fff;
}

#nav {
  transition: background-color 0.2s ease, border-top-left-radius 0.2s ease,
    border-top-right-radius 0.2s ease, padding 0.2s ease;
  background-color: #e2e2e2;
  z-index: 999;
  position: sticky;
  top: calc(4em - 4px);
  width: 100%;
  padding: 1em;
  border-top-left-radius: 0.25em;
  border-top-right-radius: 0.25em;
  cursor: default;
  text-align: center;
  margin-left: 1px;
}

#nav + #main {
  padding-top: 4.25em;
}

#nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#nav ul li {
  transition: margin 0.2s ease;
  display: inline-block;
  margin: 0 0.35em;
  padding: 0;
  vertical-align: middle;
}

#nav ul li a {
  transition: font-size 0.2s ease;
  display: inline-block;
  height: 2.25em;
  line-height: 2.25em;
  padding: 0 0.5em;
  border: 0;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px transparent;
  color: #636363 !important;
}

#nav ul li a.button:hover {
  background-color: rgb(255 255 255 / 25%);
  text-decoration: none;
}

#nav ul li a.active {
  background-color: #fff;
  box-shadow: none;
}

@media screen and (width <= 480px) {
  #nav ul li a {
    min-width: unset;
  }
}

#main .button,
#main button,
#main input[type="button"],
#main input[type="reset"],
#main input[type="submit"] {
  background-color: #e2e2e2;
  box-shadow: none;
  color: #636363 !important;
  cursor: pointer;
}

#main .button.primary,
#main button.primary,
#main input[type="button"].primary,
#main input[type="reset"].primary,
#main input[type="submit"].primary {
  background-color: #274bee;
  color: #fff !important;
  box-shadow: none;
}

#main .button.primary:hover {
  background-color: #274bee9e;
}

#main .button:hover {
  background-color: #e2e2e280;
  text-decoration: none;
}

#main button:hover {
  background-color: #e2e2e280;
}

#main header.major h2::after {
  background-color: #ddd;
  background-image: linear-gradient(90deg, #efa8b0, #a89cc8, #8cc9f0);
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 0 2em;
  width: 100%;
}

table tbody tr {
  border: solid 1px;
  border-left: 0;
  border-right: 0;
  border-color: rgb(255 255 255 / 35%);
}

table td {
  padding: 0.75em;
}

table tbody tr:nth-child(odd) {
  background-color: rgb(255 255 255 / 7.5%);
}

#main table tbody tr {
  border-color: #ddd;
}

#main table tbody tr:nth-child(odd) {
  background-color: rgb(222 222 222 / 25%);
}

details,
footer,
header,
nav,
section {
  display: block;
}

a {
  transition: color 0.2s ease, border-bottom 0.2s ease;
  text-decoration: none;
  color: inherit;
}

a:hover {
  border-bottom-color: transparent;
  text-decoration: underline;
}

b,
strong {
  font-weight: 400;
}

p {
  margin: 1em 0;
}

h1,
h2,
h3 {
  font-weight: 300;
  line-height: 1.5;
  margin: 0 0 0.7em;
}

h1 {
  font-size: 2.5em;
  line-height: 1.2;
}

h2 {
  font-size: 1.5em;
}

h3 {
  font-size: 1.25em;
}

a:hover,
b,
h1,
h2,
h3,
strong {
  color: #fff;
}

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

ul li {
  padding-left: 0.5em;
}

ul.actions.special {
  flex-wrap: wrap;
  padding: 0;
  gap: 1em;
  justify-content: center;
  width: 100%;
  margin-left: 0;
}

ul.actions.special li {
  padding: 0;
}

dl {
  margin: 0 0 2em;
}

dl dt {
  display: block;
  font-weight: 400;
  margin: 0 0 1em;
  color: #fff;
  padding: 5px 0;
}

dl dd {
  margin-left: 2em;
}

dl.alt dt {
  display: block;
  margin: 0;
  clear: left;
  float: left;
}

dl.alt dd {
  margin: 0 0 0.85em 5.5em;
}

dl.alt::after {
  content: "";
  display: block;
  clear: both;
}

ul.actions {
  display: flex;
  cursor: default;
  list-style: none;
  margin-left: -1em;
  padding-left: 0;
}

ul.actions li {
  padding: 0 0 0 1em;
  vertical-align: middle;
}

#header,
section.special {
  text-align: center;
}

#header {
  padding: 5em 5em 1em;
  text-align: center;
}

#header h1 {
  margin: 0 0 0.25em;
}

#header p {
  font-size: 1.25em;
}

#header.alt {
  padding: 6em 4em 3em;
}

#header.alt h1 {
  font-size: 2.5em;
}

#top-nav {
  transition: background-color 0.2s ease, border-top-left-radius 0.2s ease,
    border-top-right-radius 0.2s ease, padding 0.2s ease;
  background-color: #f7f7f7;
  z-index: 1000;
  top: 72px;
  width: 100%;
  cursor: default;
  text-align: center;
}

#top-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#top-nav ul li {
  transition: margin 0.2s ease;
  display: inline-block;
  margin: 0 0.35em;
  padding: 0;
  vertical-align: middle;
}

#top-nav ul li a {
  transition: font-size 0.2s ease;
  display: inline-block;
  height: 2.25em;
  line-height: 2.25em;
  padding: 0 0.5em;
  border: 0;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px transparent;
  color: #636363;
}

#top-nav.alt {
  position: fixed;
  top: 0;
  padding: 0.5em 1em;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  z-index: 10000;
}

#top-nav.alt ul li {
  margin: 0;
}

#top-nav.alt ul li a {
  min-width: unset;
  font-size: 1.1em;
}

#top-nav.flex-nav {
  position: fixed;
  top: 0;
  left: 0;
  height: 4em;
  width: 100%;
  z-index: 1000;
  padding: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
  background: linear-gradient(
      -255deg,
      rgb(6 21 34 / 50.2%) -3.35%,
      rgb(147 158 255 / 22%) -1.21%,
      rgb(29 151 255 / 50.2%) 47.41%,
      #0099b0 97.48%
    ),
    #212121;
}

#top-nav.flex-nav div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

@media screen and (width <= 515px) {
  #top-nav.flex-nav div.links {
    display: none;
  }
}

#top-nav.flex-nav div a img {
  max-height: 2em;
  padding: 0 10px;
}

#top-nav.flex-nav div ul li a {
  transition: font-size 0.2s ease;
  display: flex;
  align-items: center;
  height: 2.25em;
  line-height: 2.25em;
  padding: 0 0.5em;
  border: 0;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px transparent;
  color: white;
}

#contact div.row div.col-6 {
  min-width: 200px;
}

#contact select {
  min-width: 200px;
  width: 40%;
}

#contact ul.actions {
  flex-wrap: wrap;
  gap: 1em;
}

#main {
  background-color: #fff;
  border-radius: 0.25em;
  margin-top: -4px;
}

#main,
#main b,
#main h1,
#main h2,
#main h3,
#main strong {
  color: #636363;
}

#main > .main {
  padding: 6em 5em 3em;
  border-top: solid 1px #ddd;
}

#main > .main:first-child {
  border-top: 0;
}

#footer {
  display: flex;
  flex-wrap: wrap;
  padding: 5em 5em 1em;
  width: calc(100% + 2em);
  margin: 0 0 0 -2em;
  gap: 1em;
}

#footer p {
  color: #fff;
}

#footer > * {
  flex: 1 1 calc(50% - 1em);
  min-width: 250px;
}

#footer .copyright {
  width: 100%;
  margin: 0;
  font-size: 0.8em;
  text-align: center;
}

#footer .button:hover {
  text-decoration: none;
  background-color: #e2e2e22e;
}

#wrapper {
  width: 64em;
  max-width: calc(100% - 4em);
  margin: 0 auto;
  margin-top: 4em;
}

#questions a {
  color: blue;
}

div#tutorial-video {
  padding: 75% 0 0;
  position: relative;
}

#tutorial-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 600px;
}

h2.guarantee {
  color: #055900 !important;
}

.validation-error {
  color: red;
}

.validation-success,
.validation-progress {
  color: green;
}

.row {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  align-items: stretch;
  margin-top: 0;
  margin-left: -1.5em;
}

.row > .col-6 {
  width: 50%;
}

.row > .col-12 {
  width: 100%;
}

.row > * {
  box-sizing: border-box;
  padding: 0 0 0 1.5em;
}

.row.gtr-uniform > * > :last-child {
  margin-bottom: 0;
}

.row.gtr-uniform {
  margin-top: -1.5em;
}

.row.gtr-uniform > * {
  padding-top: 1.5em;
}

.button.primary,
button.primary,
input[type="button"].primary,
input[type="reset"].primary,
input[type="submit"].primary {
  background-color: #8cc9f0;
  color: #fff !important;
  box-shadow: none;
}

.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  appearance: none;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  border-radius: 8px;
  border: 0;
  cursor: pointer;
  display: inline-block;
  font-weight: 300;
  height: 2.75em;
  line-height: 2.75em;
  min-width: 9.25em;
  padding: 0 1.5em;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 35%);
  color: #fff !important;
}

.features {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: calc(100% + 2em);
  margin: 0 0 3em -1em;
  padding: 0;
  list-style: none;
  gap: 1em;
}

.features li {
  flex: 0 1 30%;
  min-width: 250px;
  margin-top: 3em;
  padding: 0;
}

.features li:first-child,
.features li:nth-child(2),
.features li:nth-child(3) {
  margin-top: 0;
}

.features li > :last-child {
  margin-bottom: 0;
}

.spotlight {
  display: flex;
  align-items: center;
  margin: 0 0 2em;
}

.spotlight .content {
  flex: 1;
}

.spotlight .content > :last-child {
  margin-bottom: 0;
}

.spotlight .content header.major {
  margin: 0 0 2em;
}

.download-cta {
  padding: 2em;
  margin-top: 15px;
}

.download-cta a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  height: 3.5em;
  margin: 0 auto;
}

.download-cta a:hover {
  text-decoration: none;
  background-color: #e2e2e22e;
}

.download-cta a img {
  height: 2.5em;
  padding: 0 15px;
}

@media screen and (width <= 1680px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
}

@media screen and (width <= 1280px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: stretch;
  }
}

@media screen and (width <= 1680px) {
  body,
  input,
  select,
  textarea {
    font-size: 14pt;
  }
}

@media screen and (width <= 1280px) {
  body,
  input,
  select,
  textarea {
    font-size: 12pt;
  }

  #header {
    padding: 4em 4em 0.1em;
  }

  #footer,
  #main > .main {
    padding: 4em 4em 2em;
  }
}
