nav.nosession {
  display: flex;
  justify-content: flex-end;
  margin: 20px auto;
  font-size: 25px;
  font-weight: 200;
  color: #2bb1e4;
  flex-direction: row;
  width: 100%;
  height: 28px;
  grid-column: 2/span 22;
}
nav.nosession a {
  text-decoration: none;
  color: #cccbcb;
  margin: auto 5px;
  font-size: 14px;
  font-weight: 500;
}
nav.nosession a.active {
  color: #2bb1e4;
}

body {
  position: relative;
  display: grid;
  grid-template-columns: repeat(24, 1fr);
}

header {
  margin: 113px 0 34px;
  text-align: center;
}

header img {
  margin-bottom: 40px;
}

header h1 {
  font-size: 20px;
  font-weight: 100;
  line-height: 28px;
  letter-spacing: 0.2px;
  color: #6e6e6e;
  margin: 0;
}

header b {
  font-weight: 400;
}

main form i {
  box-sizing: border-box;
  padding: 10px 14px;
  font-size: 28px;
}

main form + a {
  display: block;
  margin-top: 30px;
  font-size: 14px;
  font-weight: 300;
  text-align: center;
}

main form + a b {
  font-weight: 500;
}

main input {
  border-radius: 12px;
  padding-left: 52px;
  width: 100%;
  height: 50px;
}

main button {
  margin-top: 36px;
  border-radius: 12px;
  width: 100%;
  height: 50px;
}

footer {
  background-image: url(../images/wave1.png), url(../images/wave2.png);
  background-position: bottom center, bottom center;
  background-size: 100%;
  background-repeat: no-repeat;
  width: 100%;
  height: 140px;
  font-size: 14px;
  text-align: center;
}

footer.scroll {
  position: absolute;
  bottom: -60px;
}

footer i {
  display: block;
  font-size: 27px;
  margin-top: 10px;
}

@media only screen and (min-width: 290px) {
  header,
main {
    grid-column: 4/span 18;
  }
}
@media only screen and (min-width: 512px) {
  header,
main {
    grid-column: 6/span 14;
  }
}
@media only screen and (min-width: 768px) {
  header,
main {
    grid-column: 8/span 10;
  }
}
@media only screen and (min-width: 992px) {
  header,
main {
    grid-column: 9/span 8;
  }

  footer {
    background-position: center, center;
  }
}
@media only screen and (min-width: 1200px) {
  header,
main {
    grid-column: 10/span 6;
  }
}
@media only screen and (min-width: 1920px) {
  header,
main {
    grid-column: 11/span 4;
  }
}
button.bordered {
  color: #2bb1e4;
  border: 1px solid #2bb1e4;
  border-radius: 7px;
  background-color: white;
  box-shadow: none;
}

form i {
  position: absolute;
  color: #2bb1e4;
}

body .wrap {
  height: auto;
  min-height: calc(100vh - 140px);
  display: grid;
  grid-column: 1/span 24;
  grid-template-columns: repeat(24, 1fr);
  align-content: flex-start;
}

.xfooter {
  height: 140px;
  position: relative;
  padding: 0;
  grid-column: 1/span 24;
}
