
header {
  width: 100%;
  height: 250px;
  position: relative;
}

header img.header-background {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(50%);
}

header h1.header-title {
  position: absolute;
  bottom: 15px;
  left: 15px;
  font-family: "Rubik", sans-serif;
  font-size: 2rem;
  color: #ffffff;
  font-weight: 500;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}

main {
  width: 100%;
  padding: 40px 25px;
  max-width: 750px;
  margin: auto;
  margin-bottom: 250px;
}

/* TODO: Create a responsive main margin-bottom */

h1.title-left-aligned {
  display: inline-block;
  text-align: left;
  font: 3rem "Rubik", sans-serif;
  font-weight: 700;
  color: #2c2c54;
  background-color: #ffffff;
  padding-right: 10px;
  position: relative;
  margin-top: 75px;
  margin-bottom: 25px;
  overflow-x: hidden;
}

h1.title-left-aligned::after {
  content: " ";
  position: absolute;
  left: 100%;
  top: calc(50% - 2px);
  width: 600px;
  height: 5px;
  background: #218c74;
  z-index: -1;
}

h2.blue-text {
  font-family: 'Rubik', sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  color: #2c2c54;
  margin-bottom: 25px;
}

h3.green-text {
  font-family: 'Rubik', sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #218c74;
  margin-bottom: 25px;
}

main p.paragraph {
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: 50px;
}

@media screen and (min-width: 600px) {
  * {
    font-size: 14px;
  }
}

@media screen and (min-width: 800px) {
  header {
    height: 350px;
  }
}

@media screen and (min-width: 1080px) {
  * {
    font-size: 16px;
  }

  header {
    height: 500px;
  }

  main p.paragraph {
    margin-bottom: 100px;
  }
}