/* Text */

h1 {
  color: #212427;
  font-family: "Verdana", sans-serif;
  font-weight: 500;
  font-size: 38pt;
  text-align: center;
}

.frontmatter-title {
  color: #212427;
  font-family: "Verdana", sans-serif;
  font-weight: 500;
  font-size: 38pt;
  text-align: center;
}

h2 {
  color: #212427;
  font-family: "Verdana", sans-serif;
  font-weight: 500;
  font-size: 32pt;
}

h3 {
  color: #212427;
  font-family: "Verdana", sans-serif;
  font-weight: 300;
  font-size: 24pt;
}

h4 {
  color: #212427;
  font-family: "Verdana", sans-serif;
  font-size: 15pt;
  text-decoration: underline;
  font-weight: 400;
}

.cover-title h1 {
  color: #212427;
  font-family: "Verdana", sans-serif;
  font-weight: 500;
  font-size: 38pt;
  text-align: center;
}

.cover-title h2 {
  color: #212427;
  font-family: "Verdana", sans-serif;
  font-weight: 500;
  font-size: 32pt;
}

.features h3 {
  color: #212427;
  font-family: "Verdana", sans-serif;
  font-weight: 300;
  font-size: 24pt;
}

.features h4 {
  color: #212427;
  font-family: "Verdana", sans-serif;
  font-size: 12pt;
  font-weight: 300;
}


body {
  background-color: white;
  color: #212427;
  font-family: "Rubik", sans-serif;
  font-weight: 300;
}

:focus {
  outline: none;
  box-shadow: 0 0 0 1pt #1ddecb;
}

/* Cover */

.cover {
  background: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 32pt 0 0 0;
}

.logo {
  width: 64pt;
}

.cover-title {
  margin: 16pt 24pt 0 24pt;
}

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

.text-input {
  width: 192pt;
  height: 32pt;
  box-sizing: border-box;
  border: none;
  border-radius: 2pt;
  margin: 4pt 4pt;
  padding: 0pt 12pt;
  color: #444444;
  font-family: "Verdana", sans-serif;
  font-weight: 300;
  font-size: 12pt;
  box-shadow: 0 0 0 1pt transparent;
}

.text-input::placeholder {
  color: #888888;
}

.text-input:disabled {
  color: #888888;
  -webkit-text-fill-color: #888888;
  opacity: 1;
  box-shadow: 0 0 0 1pt transparent;
}

.submit-button {
  width: 96pt;
  height: 32pt;
  border: none;
  border-radius: 2pt;
  margin: 4pt 4pt;
  background-color: #ffffff;
  color: #000000;
  font-family: "Verdana", sans-serif;
  font-weight: 400;
  font-size: 12pt;
  -webkit-appearance: none;
}

.submit-button:disabled {
  color: #888888;
}

.links {
  display: flex;
  flex-direction: row;
}

.social-reg {
  width: 24pt;
  height: 24pt;
  margin: 0 20pt 0 0;
}

.social-end {
  width: 24pt;
  height: 24pt;
  /* No right margin */
}

@media only screen and (min-width: 720px) {
  .video {
    width: 80% !important;
  }
}

@media only screen and (min-width: 980px) {
  .video {
    width: 70% !important;
  }
}

@media only screen and (min-width: 1220px) {
  .video {
    width: 60% !important;
  }
}

@media only screen and (min-width: 1620px) {
  .video {
    width: 50% !important;
  }
}

.hero {
  width: 100%;
  margin: 48pt 0 0 0;
}

/* Features */

.features {
  background: white;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.features-title {
  letter-spacing: 4pt;
  margin: 16pt 0 0 0;
}

.features-subtitle {
  width: 80%;
  text-align: center;
}

@media only screen and (min-width: 980px) {
  .features-subtitle {
    width: 50%;
  }
}

.features-grid {
  display: flex;
  flex-direction: column;
  margin: 8pt 12pt 16pt 12pt;
}

@media only screen and (min-width: 720px) {
  .features-grid {
    flex-direction: column;
    margin: 8pt 80pt 16pt 80pt;
  }
}

@media only screen and (min-width: 980px) {
  .features-grid {
    flex-direction: row;
    margin: 8pt 32pt 16pt 32pt;
  }
}

@media only screen and (min-width: 1220px) {
  .features-grid {
    flex-direction: row;
    margin: 8pt 72pt 16pt 72pt;
  }
}

@media only screen and (min-width: 1620px) {
  .features-grid {
    flex-direction: row;
    margin: 8pt 140pt 16pt 140pt;
  }
}

.features-grid-column {
  flex: 1;
  flex-direction: column;
}

.feature-reg {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 90pt;
  padding: 0 6pt 0 6pt;
}

@media only screen and (min-width: 720px) {
  .feature-reg {
    flex-direction: row;
    margin-bottom: 12pt;
    padding: 0 8pt 0 8pt;
  }
}

@media only screen and (min-width: 980px) {
  .feature-reg {
    flex-direction: row;
    margin-bottom: 12pt;
    padding: 0 10pt 0 10pt;
    height: 196pt;
  }
}

@media only screen and (min-width: 1220px) {
  .feature-reg {
    flex-direction: row;
    margin-bottom: 12pt;
    padding: 0 12pt 0 12pt;
    height: 196pt;
  }
}

@media only screen and (min-width: 1620px) {
  .feature-reg {
    flex-direction: row;
    margin-bottom: 12pt;
    padding: 0 16pt 0 16pt;
    height: 196pt;
  }
}

.feature-image {
  width: 100%;
  margin: 0 24pt 16pt 24pt;
  padding: 0 6pt 0 6pt;
}

@media only screen and (min-width: 720px) {
  .feature-image {
    width: 132pt;
    margin: 0pt;
    padding: 0 8pt 0 8pt;
  }
}

@media only screen and (min-width: 980px) {
  .feature-image {
    width: 132pt;
    margin: 0pt;
    padding: 0 10pt 0 10pt;
  }
}

@media only screen and (min-width: 1220px) {
  .feature-image {
    width: 160pt;
    margin: 0pt;
    padding: 0 12pt 0 12pt;
  }
}

@media only screen and (min-width: 1620px) {
  .feature-image {
    width: 196pt;
    margin-bottom: 0pt;
    padding: 0 20pt 0 20pt;
  }
}

/* The -8pt top margin is just a slight visual adjustment */

.feature-text {
  display: flex;
  flex-direction: column;
  margin: -8pt 0 0 0;
  text-align: center;
}

@media only screen and (min-width: 720px) {
  .feature-text {
    margin: -8pt 0 0 15pt;
    text-align: left;
  }
}

@media only screen and (min-width: 980px) {
  .feature-text {
    margin: -8pt 0 0 18pt;
    text-align: left;
  }
}

@media only screen and (min-width: 1220px) {
  .feature-text {
    margin: -8pt 0 0 24pt;
    text-align: left;
  }
}

@media only screen and (min-width: 1620px) {
  .feature-text {
    margin: -8pt 0 0 32pt;
    text-align: left;
  }
}

/* Footer */

.footer {
  background: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12pt 0 0 0;
}

.legal {
  margin: 72pt 0 72pt 0;
}

/* Tooltip */

.inline-block-text {
  display: inline-block;
}

.tooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px solid white;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 120pt;
  bottom: 100%;
  left: 50%;
  margin-left: -60pt;
  /* To center it */
  background-color: black;
  color: #ffffff;
  text-align: center;
  font-size: 10pt;
  padding: 8pt;
  border-radius: 8pt;
  position: absolute;
  z-index: 1;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
}

a,
a:visited,
a:hover,
a:active {
  color: inherit;
}

.content {
  padding: 40px;
}


.callout {
  margin: 20px 0;
  padding: 15px 30px 15px 15px;
  border-left: 5px solid #eee;
}

.callout p:last-child {
  margin-bottom: 0;
}

.callout .highlight {
  background-color: #222;
}

.callout.callout-info {
  background-color: #37474f;
  border-color: #222;
}

.blog-image-centered {
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.main {
  margin: 8pt 12pt 16pt 12pt;
  text-align: left;
}

.main p,
h2,
h3,
ul {
  width: 100%;
}

.main p,
ul {
  font-size: 18pt;
  font-weight: 400;
}

pre {
  display: inline-block;
  padding: 2em;
  border-radius: 7px;
  border: 2px solid black;
}

@media only screen and (min-width: 720px) {
  .main {
    margin: 8pt 80pt 16pt 80pt;
  }
}

@media only screen and (min-width: 980px) {
  .main {
    margin: 8pt 32pt 16pt 32pt;
  }
}

@media only screen and (min-width: 1220px) {
  .main {
    margin: 8pt 72pt 16pt 72pt;
  }
}

@media only screen and (min-width: 1620px) {
  .main {
    margin: 8pt 250pt 16pt 250pt;
  }
}

.blog-list-element {
  margin-bottom: 20px;
}

.nostradamus-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.nostradamus {
  background: white;
}

.footer-container {
  display: flex;
  align-items: center;
  padding-top: 20px;
  background: white;
  color: #212427;
}

.footer-image {
  margin-right: 20px;
}

.footer-image>img {
  height: 200px;
}

.footer-text-container {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

.footer-title {
  font-weight: 500;
  font-size: 32pt;
}

.flex-center {
  display: flex;
  justify-content: space-around;
  width: 100%;
}