body {
  font-family: sans-serif;
  text-align: center;
  background-color: #171629;
  color: white;
  max-width: 720px;
  margin: 0 auto;
  padding: 0 1em;
  background-image: url('../images/background.png');
  background-position: top center;
  background-repeat: no-repeat;
}

h1 {
  color: #279CFF;
  font-size: 9vw;
  line-height: 1em;
}

h3 {
  margin: 0;
  color: #27d9ff;
  font-size: 1.4em;
}

p {
  color: #a9a7c7;
  font-size: 0.9em;
  line-height: 1.3em;
}

a {
  color: white;
}

input, button {
  font-size: 1.2em;
  padding: .3em;
  border-radius: 7px;
  box-sizing: border-box;
  margin: 0 0 0.5em 0;
}

input {
  border: 1px solid #171629;
  padding: .7em;
}

button {
  background: rgba(25,194,232,1);
  background: -moz-linear-gradient(top, rgba(25,194,232,1) 0%, rgba(40,148,237,1) 100%);
  background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(25,194,232,1)), color-stop(100%, rgba(40,148,237,1)));
  background: -webkit-linear-gradient(top, rgba(25,194,232,1) 0%, rgba(40,148,237,1) 100%);
  background: -o-linear-gradient(top, rgba(25,194,232,1) 0%, rgba(40,148,237,1) 100%);
  background: -ms-linear-gradient(top, rgba(25,194,232,1) 0%, rgba(40,148,237,1) 100%);
  background: linear-gradient(to bottom, rgba(25,194,232,1) 0%, rgba(40,148,237,1) 100%);
  border-style: none;
  color: white;
  text-transform: uppercase;
  font-weight: bold;
  padding: 15px;
}

button:hover {
  background: #2193c9;
  cursor: pointer;
}

img {
  width: 100%;
  display: inline-block;
}

header p {
  color: #fff;
  font-weight: bold;
}

main section {
  padding: 1em;
}

footer {
  padding: 4em 2em;
}

.search input, .search button {
  width: 100%;
}

.search button {
  margin-bottom: 0;
}

.social {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.social button {
  min-width: 18em;
  max-width: 100%;
  margin: 0.5em 0;
  flex: 1;
  display: flex;
  padding: 5px 10px;
  font-size: 0.8em;
}

.social button.facebook {
  background: #3b5999;
}

.social button.twitter {
  background: #4099ff;
}

.social button img {
  max-width: 50px;
  display: inline-block;
  flex: 1;
}

.social button span {
  line-height: 50px;
  flex: 2;
}

.gradient {
  background: -webkit-linear-gradient(#19c3e8, #1989e8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.then {
  margin: 1em 0;
  color: #c1bee1;
  text-transform: uppercase;
}

button.second {
  border: 1px solid #43407b;
  background: #22203c;
  color: #9e9ad0;
  transition: background 0.5s ease;
  transition: color 0.5s ease;
  transition: border 0.5s ease;
}

button.second:hover {
  border: 1px solid #18172c;
  background: rgba(88,85,148,1);
background: -moz-linear-gradient(top, rgba(88,85,148,1) 0%, rgba(62,49,104,1) 100%);
background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(88,85,148,1)), color-stop(100%, rgba(62,49,104,1)));
background: -webkit-linear-gradient(top, rgba(88,85,148,1) 0%, rgba(62,49,104,1) 100%);
background: -o-linear-gradient(top, rgba(88,85,148,1) 0%, rgba(62,49,104,1) 100%);
background: -ms-linear-gradient(top, rgba(88,85,148,1) 0%, rgba(62,49,104,1) 100%);
background: linear-gradient(to bottom, rgba(88,85,148,1) 0%, rgba(62,49,104,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#585594', endColorstr='#3e3168', GradientType=0 );
  color: white;
}

@media only screen and (min-width: 374px) {
  p {
    font-size: 1em;
  }
}

@media only screen and (min-width: 479px) {
  body {
    padding: 0 3em;
  }
  
  h1 {
    font-size: 2.7em;
  }

  h3 {
    font-size: 2em;
  }

  p {
    font-size: 1.2em;
  }

  input, button {
    font-size: 1.5em;
  }

  footer {
    padding: 4em;
  }
}

@media only screen and (min-width: 767px) {
  h1 {
    font-size: 4em;
  }

  p {
    font-size: 1.2em;
  }

  main section {
    padding: 2em 6em;
  }

  footer {
    padding: 4em 12em;
  }

  .social button {
    max-width: 18em;
  }
}

@media only screen and (min-width: 1023px) {
  .social {
    justify-content: space-around;
  }
}
