Tst

by Snaptik

HTML

<header class="hero">
  <div class="hero-inner">
    
    <div class="hero-text">
      <h2>Lorem ipsum dolor sit amet, consectetur adipiscing elit</h2>
      <p>Donec lobortis magna at ligula tristique maximus. Suspendisse lacinia ligula lacus. Nunc id risus a dui bibendum finibus tincidunt eu magna. Suspendisse a dictum neque. Suspendisse sit amet diam et libero posuere pharetra. Sed vel magna nec dolor aliquam lobortis vitae id ante.</p>
      <form class="hero-form" action="/">
        <div class="hero-form-input">
          <input class="hero-email-input" type="email", placeholder="Email Address" required>
          <input class="hero-form-submit" type="submit", value="Sign Up">
        </div>        
      </form>
    </div>
    
    <div class="hero-image">
      <!-- Image: undraw.co -->
      <img src="https://assets.codepen.io/495197/undraw_Newsletter_re_wrob.svg" />
    </div>
    
  </div>
</header>

CSS

.hero {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  background-color: #636EFD;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media (min-width: 700px) {
  .hero {
    padding: 3rem;
  }
}

@media (min-width: 1200px) {
  .hero {
    padding: 6rem;
  }
}

.hero-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 900px;
  margin: auto;
}

@media (min-width: 800px) {
  .hero-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 2rem;
  }
}
  

.hero-inner p,
.hero h2 {
  color: #fff;
}

.hero-button {
  background: #fff;
  color: #444;
  border: 0;
  padding: 1rem 2rem;
  display: inline-block;
  margin-top: 1rem;
}

@media (min-width: 700px) {
  .hero-button {
    margin-top: 2rem;
  }
}

.hero-image {
  order: -1;
  justify-items: center;
}

@media (min-width: 800px) {
  .hero-image {
    order: initial;
  }
}

.hero-image img {
  width: 100%;
}

.hero-form {
  margin-top: 1rem;
}

@media (min-width: 700px) {
  .hero-form {
    margin-top: 2rem;
  }
}

.hero-form-input {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 400px) {
  .hero-form-input {
    display: grid;
    grid-template-columns: 1fr auto;
  }
}

.hero-email-input {
  padding: 1rem;
  box-sizing: border-box;
}

.hero-form-submit {
  background-color: #F50057;
  color: #fff;
  border: none;
  padding: 1rem 2rem;
  margin-top: .5rem;
}

@media (min-width: 400px) {
  .hero-form-submit {
    margin-top: 0;
  }
}