/* UTILITIES */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a {
  text-decoration: none;
}

li {
  list-style: none;
}

body {
  display: inline;
  padding: 0;
  background-color: lightblue;
  margin: 32px 32px;
  overflow-y: scroll !important;
}

/* TYPOGRAPHY */

h1,
h2,
h3,
h4,
p,
a,
input,
.form-control,
textarea {
  font-family: "Open Sans";
  color: #fff;
}

h2 {
  font-weight: 800;
  line-height: 1.2em;
  /* font-size: 120px; */
  font-size: 6em;
}

h2 span.seg {
  display: block;
}

h2 span.seg b {
  color: lightblue;
}

h3 {
  font-size: 30px;
  line-height: 1.1em;
  font-weight: 300;
}

p {
  line-height: 1.66em;
  margin: 0;
  font-size: 24px;
  font-weight: 500;
}

input {
  height: auto;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2em;
}
textarea {
  min-height: 200px;
}

input {
  padding: 16px 0 0 0;
}

.fa-solid,
.fa-brands {
  font-size: 24px;
  color: lightblue;
  margin: 16px;
}

@media only screen and (max-width: 420px) {
  h2 {
    font-size: 4em;
  }

  h3 {
    font-size: 24px;
  }

  p {
    font-size: 15px;
  }
}

/* HOME PAGE */

#homePage {
  display: flex;
  flex-direction: column;
  background-color: indigo;
  margin-top: 32px;
  gap: 16px;
}

.button {
  text-decoration: none;
  color: indigo;
  font-size: 1.2rem;
  font-weight: 600;
  font-family: "Open Sans";
  padding: 16px 24px;
  border-radius: 5px;
  background-color: lightblue;
  transition: all 0.3s ease;
}

.button:hover {
  color: lightblue;
  background-color: indigo;
  border: solid 1px lightblue;
  transition: all 0.3s ease;
}

.buttonText {
  margin: 0;
  color: indigo;
}

.button:hover .buttonText {
  color: lightblue;
}

.topBarWrapper {
  display: flex;
  flex-direction: row;
  gap: 32px;
}

.logoWrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 20px;
}

.logoWrapper img {
  width: 350px;
}

.headerWrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  margin: 0 32px;
}

.header {
  display: flex;
  flex-direction: row;
  gap: 32px;
  align-items: center;
}

.header img {
  width: 30%;
  height: 30%;
}

.ctaWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 32PX;
  gap: 64px;
}

.ctaText {
  /* width: 40%; */
  color: lightblue;
}

/* CONTACT PAGE */

#contact {
  display: flex;
  width: 100%;
  height: 100%;
  gap: 16px;
  flex-direction: column;
}

.sectionHeader {
  color: indigo;
}

.contactInfoWrapper {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 20px 0;
  gap: 32px;
}
.sectionHeaderContainer {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Left contact page */
.formHorizontal {
  float: left;
  width: 100%;
  gap: 32px;
  padding: 20px;
}

.formGroup {
  display: flex;
  flex-direction: row;
  gap: 24px;
}

.formItem {
  display: flex;
  flex-direction: column;
  width: 100%;
  justify-content: center;
  /* gap: 16px; */
}

.formItem input {
  min-height: 6rem;
}

.formItemTitle {
  min-width: 200px;
  margin: 0;
  color: indigo;
}

#captcha {
  width: 300px;
}

.waitlist,
.formItem textarea {
  width: 100%;
  background-color: transparent;
  border: solid 2px indigo;
  border-radius: 5px;
  padding: 8px 4px 8px 16px;
  height: fit-content;
  color: indigo;
}

.buttonWrapper {
  border: none;
  background: transparent;
}
.contactFormWrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 64px;
}

.contactList {
  list-style-type: none;
  min-width: 500px;
}

.listItem {
  line-height: 4;
  color: indigo;
}
.listItem h3 {
  color: indigo;
}

.listItem a {
  color: indigo;
  border-bottom: 1px solid indigo;
}
/* Social Media Icons */
.socialList {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

.socialListItem {
  display: flex;
  flex-direction: row;
  position: relative;
  padding: 0;
  border-radius: 10px;
  background-color: indigo;
  width: fit-content;
}

.socialItem {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin: 32px;
  color: lightblue;
  transition: all 0.3s ease;
}

.captchaWrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  /*   */
}

#backButton {
  width: fit-content;
  background-color: transparent;
  color: indigo;
  border: none;
}

#backButton h3 {
  color: indigo;
}

#backButton:hover {
  border-bottom: solid 2px indigo;
  border-radius: 0;
}

#sendButton {
  background-color: indigo;
}

#sendButton .buttonText {
  color: lightblue;
}

#sendButton:hover {
  background-color: lightblue;
  border: solid 2px indigo;
  transition: all 0.3s ease;
}
#sendButton:hover .buttonText {
  color: indigo;
}

/* smartphones, Android phones, landscape iPhone */

@media only screen and (max-width: 620px) {
  body {
    width: 100%;
    margin: 16px;
    overflow: hidden;
    gap: 32px;
  }
  .logoWrapper {
    display: flex;
    padding: 20px;
  }
  .logoWrapper img {
    max-width: 240px;
  }

  .buttonsWrapper {
    gap: 32px;
  }

  .ctaWrapper {
    flex-direction: column;
    gap: 16px;
  }

  .ctaWrapper .fa-solid {
    display: none;
  }

  .ctaText {
    width: 100%;
  }

  .header {
    flex-direction: column;
    gap: 16px;
    margin: 0 32px;
  }

  .header img {
    width: 100%;
    height: 100%;
  }

  .formItem {
    flex-direction: column;
  }

  .formGroup {
    flex-direction: column;

  }

  .seg {
    font-size: smaller;
  }
}
