* {
  box-sizing: border-box;
  text-rendering: optimizeLegibility;
}

/* Basic elements defined */

html, body {
  width: 100%;
  font-size: 10pt;
  color: #333;
  background-color: white;
  font-family: 'Roboto','Source Sans Pro','Open Sans',Helvetica,Arial,sans-serif;
  margin: 0;
  padding: 0;
}

svg {
  fill: currentColor;
  stroke: currentColor;
}

body {
  padding-left: 3rem;
  padding-right: 3rem;
  position: relative;
}

h1 {
  font-family: 'Source Sans Pro','Open Sans',Helvetica,Arial,sans-serif;
  font-weight: 400;
}

a, .content a {
  color: #1051c0;
}
a:visited, .content a:visited {
  color: #20719c;
}

hr {
  border: none;
  border-bottom: 1.35px solid #00516c;
  margin: 1rem 0 1rem 0;
}

table {
  display: block;
  width: 100%;
  width: max-content;
  max-width: 100%;
  overflow: auto;
  border-spacing: 0;
  border-collapse: collapse;
}

table tr {
  border-top: 1px solid hsla(210,18%,87%,1);
}

table th, table td {
  padding: 0.5rem 1rem;
  border: 1px solid hsla(210,18%,87%,1);
}

table th {
  font-weight: 600;
}

.gray {
  color: #757575;
}

.center {
  text-align: center;
  vertical-align: middle;
}

.light {
  font-weight: normal;
  text-transform: none;
}

.footnote {
  position: relative;
  color: #00516c;
  top: -0.1em;
}

#top-navbar {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  color: white;
  background-color: #00516c;/*#cf4216;*/
  height: 4.6rem;
  width: 100%;
  z-index: 3;
  padding-right: 4rem;
}

#top-navbar:hover {
  box-shadow: 0 0 0.35rem rgba(230, 74, 25, 0.35);
}

#top-navbar #logo-box {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}

#top-navbar #logo {
  margin-left: 5rem;
  width: 4rem;
  height: 4rem;
  border: 0
}

#top-navbar h1 {
  margin-left: 1rem;
  vertical-align: middle;
}

#top-navbar #spacer {
  flex-grow: 10;
  flex-shrink: 0;
  flex-basis: 0;
}

ul.menu {
  list-style: none;
  text-transform: uppercase;
  box-sizing: content-box;
  margin-top: 0;
  margin-bottom: 0;
}

#top-navbar ul.menu {
  font-size: 10pt;
  font-weight: 600;
  min-width: 26rem;
}

ul.menu > li {
  float: left;
  margin-left: 1rem;
  margin-right: 1rem;
}

#top-navbar a {
  text-decoration: none;
  color: inherit;
}

#top-navbar ul.menu > li:hover {
  opacity: 0.8;
}

#top-navbar #links img {
   width: 1.5rem;
   height: 1.5rem;
   border: 0;
   color: white;
   margin: 0.5rem;
}

#links-container {
  top: 1rem;
  right: 3rem;
  height: 3rem;
  width: 8rem;
  white-space: nowrap;
}
.link-icon {
  display: inline-block;
}
.link-icon:hover {
  opacity: 0.9;
}
.link-icon-mobile {
  display: none;
}

/* First patch with screenshots. Desktop only. */
#first-patch {
  box-sizing: content-box;
  position: absolute;
  width: 45%;
  padding-bottom: 45%;
  max-height: 55rem;
  max-width: 55rem;
  top: 3rem;
  right: 0;
  overflow: hidden;
}

#first-patch img,
#first-patch div {
  position:absolute;
  border: none;
}
#ipad-screen {
  position: absolute;
  width: 65%;
  height: 51%;
  left: 22%;
  top: 10%;
}
#iphone-screen {
  position: absolute;
  width: 22.92%;
  height: 48%;
  left: 75%;
  top: 27.5%;
}
/* End of orange patch */

/* Orange patch on mobile */
#first-patch-small {
  display: none;
}

#ipad-mobile {
  display: none;
}

#second-patch {
  box-sizing: content-box;
  position: absolute;
  width:34rem;
  height:34rem;
  top: 0;
  left:-18rem;
  overflow: hidden;
}

#second-patch div {
  position: absolute;
}

#third-patch {
  box-sizing: content-box;
  position: absolute;
  width: 37%;
  padding-bottom: 37%;
  top: -10rem;
  right: -4rem;
  overflow: hidden;
}
#third-patch div,
#third-patch img {
  position: absolute;
}
#pixel-screen {
  /* width="297.746" height="609.663" */
  position: absolute;
  width: 35.7%;
  height: 73.2%;
  left: 57%;
  top: 10%;
}

.content {
  font-size: 12pt;
  line-height: 18pt;
  position: relative;
  padding: 4rem;
}

#section-one {
  font-size: 14pt;
  width: 60%;
}

#section-two {
  font-size: 14pt;
}
#section-two > h2 {
  color: #00516c;
  font-size: 36pt;
  font-weight: bold;
  margin-bottom: 1.5rem;
  margin-left:4rem;
}
#section-two-content {
  position: relative;
  margin-left: 8rem;
  margin-right: 16rem;
  line-height: 1.6em;
  display: table;
}

.section-two-cell {
  display: table-cell;
  position: relative;
  padding: 1rem 0 1rem 0;
}
.section-two-row {
  display: table-row;
}

.section-two-cell h2 {
  color: #00516c;
  font-size: 36pt;
  font-weight: bold;
  margin-bottom: 1.5rem;
}
.section-two-cell .list-icon {
  float: left;
  padding: 1rem;
  width: 6rem !important;
  height: 6rem !important;
}
.section-two-cell > div {
  margin-left: 6rem;
}

#section-three {
  font-size: 14pt;
  line-height: 2em;
}
#section-three-content {
  max-width: 60rem;
  margin-left: auto;
  margin-right: 30%;
}
#section-three h2 {
  color: #00516c;
  font-size: 36pt;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2.5rem;
}
#section-three hr {
  width: 15%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.5rem;
}

.content h1 {
  color: #00516c;
  line-height: initial;
  font-size: 2.5em;
}

.content h2 {
  font-weight: 400;
  line-height: initial;
  color: #EF5350;
}

.content h3 {
  color: #00516c;
  font-weight: lighter;
  line-height: initial;
  orphans: 2;
  widows: 2;
  text-transform: uppercase;
}

#top-title {
  font-size: 42pt;
  font-weight: bold;
  line-height: 42pt;
}

#store-buttons {
  margin-top: 2rem;
  white-space: nowrap;
}
#store-buttons img {
  width: 10rem;
}

#footer {
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1.35px solid #00516c;
  width: 100%;
  color: #00516c;
  background-color: white;
  padding-bottom: 2rem;
}

#footer ul.menu {
  font-size: 11pt;
  font-weight: 600;
  line-height: 2.8rem;
  margin-top: 2rem;
}

#footer ul.menu > li {
  float: initial;
  margin-left: 0;
  margin-right: 0;
}

#footer a {
  color: inherit;
  text-decoration: none;
}

#thank-you {
  width: 560px;
  height: 123px;
}

.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

button, input[type="submit"] {
  font-size: 1.1rem;
  line-height: 2.4rem;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  border-radius: 2px;
  text-transform: uppercase;
  background-color: #00838F;
  padding: 0 2rem;
  color: white;
  width: 100%;
  height: 2.4rem;
}

button.standalone {
  width: auto;
}

input[type=text],
input[type=number],
input[type=email],
input[type=password],
input[type=url],
select,
textarea {
  display: block;
  border: 1px solid #ccc;
  border-radius: 0.25rem;
  color: #202124;
  width: 28rem;
  height: 2.4rem;
  font-size: 1.2rem;
  margin: 0.1rem;
  padding: 0.8rem 1rem;
  margin-left: 2rem;
}

textarea {
  height: auto;
  font-family: 'Roboto','Source Sans Pro','Open Sans',Helvetica,Arial,sans-serif;
}

select {
  padding: 0 0.7rem;
  background-color: inherit;
}

.offers {
  margin-top: 2rem;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}

.offer-box {
  position: relative;
  margin: 1rem 0;
  width: 23rem;
  height: 38rem;
  box-shadow: 0 0 10px hsla(0,0%,0%,.1);
}

.offer-box.input {
  width: 34rem;
  height: initial;
}

.offer-box .box-content {
  position: relative;
  padding: 1.5rem;
  margin: 0;
}

.offer-box.input .box-content {
  padding-bottom: 7rem;
}

.offer-box .bottom {
  position: absolute;
  height: 8rem;
  width: 100%;
  bottom: 0;
  padding: 1.5rem;
  background-color: #effcff;
}
.offer-box.input .bottom {
  height: fit-content;
}

.offer-box ul.feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.offer-box ul.feature-list li {
  position:relative;
  padding: 0.5rem 0 0.5rem 2rem;
}

.offer-box ul.feature-list li::before {
  content: " ";
  position: absolute;
  top: 0.5rem;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(/img/checkmark.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  filter: invert(.3);
}

.price {
  position: relative;
  display: inline-block;
  margin-right: 2px;
  font-size: 2.5em;
  font-weight: 600;
  line-height: .8;
}

.price .cents {
  position: relative;
  font-size: .4em;
  font-weight: 500;
  vertical-align: top;
  top: 0.4rem;
}

.price::before {
  content: "$";
  position: relative;
  vertical-align: top;
  top: 4px;
  left: -3px;
  font-size: 1.5rem;
  font-weight: 300;
  color: #757575;
}

.free {
  position: relative;
  display: inline-block;
  margin-right: 2px;
  font-size: 2.25em;
  font-weight: 500;
  line-height: 1;
}

.offer-box button,
.offer-box input[type="submit"] {
  font-size: 1.1rem;
  line-height: 2.4rem;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  border-radius: 2px;
  text-transform: uppercase;
  background-color: #00838F;
  padding: 0 2rem;
  margin-top: 0.5rem;
  color: white;
  width: 100%;
  height: 2.4rem;
}

.required {
  font-weight: bolder;
  color: red;
}

@media (max-width: 720px) {
  body {
    padding: 0;
  }

  .screenshot {
    visibility: collapse;
    width: 0;
    height: 0;
  }

  input[type=text],
  input[type=number],
  input[type=email],
  input[type=password],
  input[type=url],
  select,
  textarea {
    width: 22rem;
    height: 2rem;
    font-size: 1rem;
    margin-left: auto;
  }

  textarea {
    height: auto;
  }

  blockquote {
    margin-block-start: 0.5rem;
    margin-inline-start: 1rem;
    margin-inline-end: 1rem;
  }

  table th, table td {
    padding: 0.25rem 0.5rem;
  }

  #first-patch {
    display: none;
  }
  #second-patch {
    display: none;
  }
  #third-patch {
    display: none;
  }

  #first-patch-small {
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 125%;
    overflow: hidden;
    background: linear-gradient(white 50%, #effcff 50%);
  }

  #first-patch-small img,
  #first-patch-small div {
    position:absolute;
    border: none;
  }

  #iphone-screen {
    position: absolute;
    width: 34.38%;
    height: 72%;
    left: 25%;
    top: 11%;
  }

  #top-navbar {
    position:relative;
    padding: 0;
    padding-top: 0.5rem;
    display: block;
    height: auto;
    color: #00516c;
    background-color: #effcff;
    width: 100%;
    border-radius: initial;
  }

  #top-navbar:hover {
    box-shadow: 0 0 0.35rem #effcff;
  }

  #top-navbar h1 {
    margin-top: 0.3rem;
    margin-bottom: 0;
  }

  #top-navbar #logo {
    margin-left: 1rem;
  }

  #top-navbar ul.menu {
    font-size: 9pt;
    font-weight: 400;
    line-height: 2.2rem;
    height: 2.2rem;
    margin-left: 2rem;
    min-width: initial;
  }

  #top-navbar ul.menu > li {
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  #top-title {
    font-size: 36pt;
    font-weight: bold;
    line-height: 36pt;
  }

  #links-container {
    position: absolute;
    top: 1.7rem;
    right: 1rem;
    height: 2.8rem;
    width: 7rem;
    z-index: 3;
  }

  .link-icon {
    display: none;
  }
  .link-icon-mobile {
    display: inline-block;
  }

  .content {
    font-size: 10pt;
    padding: 2rem;
    padding-bottom: 4rem;
    width: auto;
  }

  .content h2 {
    margin-block-start: 0.33em;
    margin-block-end: 0.33em;
  }

  #section-one {
    font-size: 12pt;
    width: auto;
  }

  #section-two {
    font-size: 12pt;
    width: auto;
    background-color: #effcff;
  }

  #section-two-content {
    top: 0;
    margin-left: 0;
    margin-right: 0;
    width: auto;
    flex-direction: column;
    display: block;
  }

  .section-two-row {
    display: block;
  }
  .section-two-cell {
    display: inline-block;
    padding: 0;
  }

  .section-two-cell h2 {
    white-space: normal;
    font-size: 32pt;
    padding-left: 0;
  }
  .section-two-cell .list-icon {
    padding-top: 0.75rem;
    padding-left: 0;
    width: 4rem !important;
    height: 4.75rem !important;
  }
  .section-two-cell > div {
    margin-left: 4rem;
  }

  #section-three {
    font-size: 12pt;
    width: auto;
  }
  #section-three h2 {
    font-size: 32pt;
    font-weight: bold;
    text-align: initial;
    margin-bottom: 0.5em;
  }
  #section-three hr {
    display: none;
  }
  #section-three-content {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    line-height: 18pt;
    width: auto;
  }

  #store-buttons {
    margin-top: 1rem;
  }

  #store-buttons img {
    width: 28%;
    max-width: 8rem;
  }

  #ipad-mobile {
    display: block;
  }

  .content ul {
    padding-left: 0.5rem;
  }

  .content ol {
    padding-left: 0.5rem;
  }

  #footer {
    border: none;
    padding: 0;
    padding-bottom: 1rem;
    margin: 0;
    background-color: #effcff;
    width: 100%;
  }

  #footer ul.menu {
    font-size: 9pt;
    font-weight: 500;
    line-height: 1.5rem;
    margin-top: 1rem;
    padding-left: 0;
  }
  #footer ul.menu li {
    float: initial;
    margin-left: 1rem;
    margin-right: 0;
  }

  #thank-you {
    width: 280px;
    height: 49px;
  }

  .offers {
    margin-top: 0;
    flex-direction: column;
  }

  .offer-box.input {
    width: 25rem;
  }
}
