:root {
  --accent-green: #479463;
  --accent-red: #e74c3c;

  --primarycolor-lightest: rgba(131, 169, 238, 1);
  --primarycolor-lighter: rgba(81, 134, 231, 1);
  --primarycolor-light: rgba(31, 99, 224, 1);
  --primarycolor: rgba(6, 82, 221, 1);
  --primarycolor-dark: rgba(5, 66, 177, 1);
  --primarycolor-darker: rgba(4, 49, 133, 1);
  --primarycolor-darkest: rgba(2, 33, 88, 1);
  --primarycolor-bg: rgba(247, 249, 250, 1);

  --secondarycolor-lighest: rgba(0, 87, 78, 1);
  --secondarycolor-lighter: rgba(0, 130, 116, 1);
  --secondarycolor-light: rgba(0, 174, 155, 1);
  --secondarycolor: rgba(0, 217, 194, 1);
  --secondarycolor-dark: rgba(51, 225, 206, 1);
  --secondarycolor-darker: rgba(128, 236, 225, 1);
  --secondarycolor-darkest: rgba(179, 244, 237, 1);
  --secondary-color-bg: rgba(230, 251, 249, 1);

  --copycolor-light: rgba(51, 51, 51, 0.6);
  --copycolor: rgba(51, 51, 51, 0.8);
  --fontsize: 18px;
  --border-radius: 8px;
  --spacing-smallest: 0.5em;
  --spacing-small: 2em;
  --spacing-medium: 4em;
  --spacing-large: 6em;
  --spacing-largest: 10em;
  --fullwidth-bg-color: #ccc;
}

* {
  margin: 0;
  padding: 0;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  margin-top: var(--spacing-small);
  font-family: "Sen", sans-serif;
  color: var(--copycolor);
  font-size: var(--fontsize);
}

header {
  width: 100%;
  position: fixed;
  background: white;
  top: 0;
  left: 0;
  padding: 1em;
}

a {
  text-decoration: none;
  color: var(--primarycolor);
}

a:hover {
  color: var(--primarycolor-dark);
  background: var(--primarycolor-bg);
}

a:active {
  color: var(--primarycolor-darkest);
}

p {
  line-height: 32px;
}

h1 {
  font-size: 1.5em;
  margin-bottom: var(--spacing-smallest);
  color: var(--headingcolor);
}

main {
  padding-top: var(--spacing-medium);
}

nav {
  display: none;
}

ul {
  list-style-type: none;
}

.accent-divider {
  width: 20%;
  background: var(--primarycolor);
  border-radius: var(--border-radius);
  height: 5px;
  margin-bottom: var(--spacing-medium);
}

.benefits-img {
  max-width: 100%;
  height: auto;
}

.content-width {
  width: 90%;
  margin: 0 auto;
  margin-bottom: var(--spacing-large);
}

.hero-heading {
  color: var(--primarycolor);
  font-size: 1.5em;
}

.text-highlight {
  padding: 0.1em 0.4em;
  background: #e6eefc;
  border-radius: 0.2em;
  font-family: monospace;
}

.ihd-card {
  margin-bottom: var(--spacing-large);
}

.ihd-card-img {
  width: 225px;
  height: auto;
}

.ihd-card-header {
  margin-bottom: var(--spacing-smallest);
}

.full-width {
  background: var(--primarycolor-bg);
  padding-top: var(--spacing-large);
  padding-bottom: var(--spacing-smallest);
  margin-bottom: var(--spacing-large);
}

.nav-link {
  padding: var(--spacing-smallest);
  /* padding-bottom: var(--spacing-smallest); */
}
.nav-link-item {
  padding-top: var(--spacing-smallest);
  padding-bottom: var(--spacing-smallest);
}

.tags {
  font-size: 0.7em;
  color: white;
  padding: 0.1em 0.4em;
  background: #e6eefc;
  border-radius: 0.2em;
  font-family: monospace;
}

.under-dev {
  background: var(--accent-red);
}

.coming-soon {
  background: #e67e22;
}

.tick {
  color: var(--accent-green);
  font-size: 1em;
}

.tick-list {
  margin-top: var(--spacing-smallest);
  font-size: 0.9em;
}

.tick-list > li:first-child {
  padding-top: var(--spacing-small);
  padding-bottom: var(--spacing-small);
}

.tick-list > li {
  padding-bottom: var(--spacing-small);
}

#logo {
  width: 135px;
  height: 20px;
  background: url("../assets/logo.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

#hero-img {
  width: 100%;
  height: auto;
  background: url("../assets/hero.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-top: var(--spacing-small);
}

/* Defines component width */
#hero-content ps-email-capture .container {
  width: 100%;
  margin-top: 1em;
}

#footer-content ps-email-capture .container {
  width: 90%;
  margin-top: 1em;
  font-size: 0.8em;
}

/* .input-group is the container of the inputbox and submit button */
/* display:flex, aligns the inputbox and submit button in a row*/

ps-email-capture .input-group {
  display: flex;
}

ps-email-capture .email-input {
  outline: none;
  border: 1px solid var(--primarycolor-lightest);
  border-right: 0;
  background: rgba(255, 255, 255, 0.8);
  color: var(--copycolor);
}

/* Inputbox styles */
#hero-content ps-email-capture .email-input {
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.6);
  padding: 0.75em;
  font-size: 1em;
  width: 60%;
  outline: none;
  border-radius: 0.25em 0em 0em 0.25em;
}

#footer-content ps-email-capture .email-input {
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.6);
  padding: 0.75em;
  font-size: 1em;
  width: 65%;
  outline: none;
  border-radius: 0.25em 0em 0em 0.25em;
}

/* Submit button styles */
ps-email-capture .submit-button {
  font-weight: 700;
  color: white;
  border-radius: 0 0.25em 0.25em 0;
  background: var(--primarycolor);
}

ps-email-capture .submit-button:hover {
  cursor: pointer;
  opacity: 0.9;
}

ps-email-capture .submit-button:active {
  cursor: pointer;
  opacity: 0.8;
}

#hero-content ps-email-capture .submit-button {
  font-size: 1em;
  border: 1px solid rgba(0, 0, 0, 0.6);
  width: 40%;
  border-left: 0;
  border-radius: 0em 0.25em 0.25em 0em;
}

#footer-content ps-email-capture .submit-button {
  font-size: 1em;
  border: 1px solid rgba(0, 0, 0, 0.6);
  width: 35%;
  border-left: 0;
  border-radius: 0em 0.25em 0.25em 0em;
}

/* Error message styles */
ps-email-capture .error-message {
  background: #fadbd8;
  color: #a2352a;
  padding: 0.5em 1em;
  border-radius: 0em 0em 0.25em 0.25em;
}

/* Success message styles */
ps-email-capture .success-message {
  background: #d4efdf;
  color: #1b7a43;
  padding: 1em;
  border-radius: 0.25em;
}

/* CSS spinner that appears inside the button during email submission */
ps-email-capture .spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin 1s ease-in-out infinite;
  -webkit-animation: spin 1s ease-in-out infinite;
}

/* Input style when email is valid */
ps-email-capture .valid-email-input {
  border: 1px solid green;
}

/* Input style when email is invalid */
ps-email-capture .invalid-email-input {
  border: 1px solid red;
}

@keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
  }
}

@-webkit-keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
  }
}

/* Responsive code for tablet and mobile  */
@media only screen and (max-width: 768px) {
  ps-email-capture .input-group {
    display: block;
  }

  ps-email-capture .container {
    width: 100%;
  }

  ps-email-capture .email-input {
    width: 100%;
    margin-bottom: 0;
    text-align: center;
    padding: 0.75em;
  }

  ps-email-capture .submit-button {
    width: 100%;
    margin-top: 0;
    padding: 0.75em;
    border: 1px solid rgba(0, 0, 0, 0.6);
    border-top: 0;
  }
}

@media only screen and (min-width: 768px) {
  html {
    max-width: 1200px;
    margin: 0 auto;
  }
  .row {
    display: flex;
    justify-content: space-between;
  }

  #hero-content {
    margin-top: var(--spacing-large);
    width: 40%;
  }

  #hero-img {
    width: 90%;
    background: orange;
  }

  .ihd-card {
    width: 25%;
  }

  .half-width {
    width: 40%;
    margin: 0 auto;
  }

  .half-width {
    font-size: 1.25em;
    line-height: 36px;
  }

  #hero-img {
    width: 40%;
    height: auto;
    background: url("../assets/hero-png.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-top: var(--spacing-small);
  }

  .accent-divider {
    width: 5%;
  }

  footer {
    text-align: center;
  }
}
