#hero {
  align-items: center;
  background-image: url( /img/covers/smokey.ghost.jpg );
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 56px 0 0 0;
  min-height: 480px;
  width: 100%;
}  

#hero article {
  align-items: center;
  display: flex;
  flex-direction: column;
  max-width: 900px;
  width: 100%;
}

#hero:not( :has( p ) ) {
  min-height: 400px;
}

#hero h2 {
  color: #ffffff;
  cursor: default;
  font-family: Roboto, sans-serif;
  font-size: 42px;
  line-height: 42px;
  margin: 0;
  padding: 0;
  text-align: center;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;      
  -webkit-font-smoothing: antialiased;      
}

#hero h3 {
  color: #ffffff;
  cursor: default;
  font-family: Roboto, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 24px;
  margin: 16px 0 0 0;
  opacity: 0.80;
  padding: 0;
  text-align: center;     
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;      
  -webkit-font-smoothing: antialiased;       
}

#hero p {
  color: #ffffff;
  cursor: default;
  font-family: Roboto, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
  margin: 32px 0 32px 0;
  opacity: 0.80;
  padding: 0;
  width: 60%;
  text-rendering: optimizeLegibility;  
  -moz-osx-font-smoothing: grayscale;    
  -webkit-font-smoothing: antialiased;       
}

#hero a {
  background: #3B82F6;
  border: none;
  border-radius: 6px;
  color: #ffffff;
  cursor: pointer;
  font-family: Roboto, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  margin: 32px 0 0 0;
  padding: 8px 16px 8px 16px;
  text-decoration: none;
  text-rendering: optimizeLegibility;  
  -moz-osx-font-smoothing: grayscale;      
  -webkit-font-smoothing: antialiased;             
}

#hero a:hover {
  background: #2563EB;
}

@media only screen and ( max-width: 800px ) {    
  #hero p {
    width: 75%;
  }
}

@media only screen and ( max-width: 640px ) {    
  #hero a {
    margin: 16px 0 0 0;
  }

  #hero h3 {
    width: 60%;
  }

  #hero p {
    width: 80%;
  }
}

@media only screen and ( max-width: 480px ) {    
  #hero {
    min-height: unset;
    padding: 32px 0 32px 0;
  }

  #hero a {
    margin: 0;
  }

  #hero h2 {
    font-size: 32px;
  }

  #hero h3 {
    font-size: 20px;
    width: 60%;
  }

  #hero p {
    font-size: 16px;
    width: 80%;
  }
}

