@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;1,100;1,200;1,300;1,400&display=swap');

* {
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
  font-family: 'Montserrat', sans-serif;
}

body {
  font-size: 16px;
}

:root {
  --color-black: #181818;
  --color-gray: #EBE9EA;
  --color-white: #F9F9F9;
}

.titleOne {
  background-color: var(--color-black);
  width: 100%;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  font-size: 1rem;
}

.titleTwo {
  background-color: var(--color-white);
  width: 100%;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-black);
  font-size: 1.5rem;
  font-weight: 600;
}

.banner {
  width: 100%;
  height: 377px;
}

.banner div:first-child {
  width: 100%;
  height: 100%;
  min-height: 377px;

  background-image: url("../img/wallpaper.jpeg");
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  position: relative;
  filter: brightness(50%);
}

.banner div:last-child {
  background-color: transparent;
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  top: -377px;
  color: var(--color-white);
  padding: 20px;
  line-height: 39px;
}

.banner div:last-child p:first-child {
  font-weight: 700;
  font-size: 1.75rem;
  margin-bottom: 39px;
}

.banner div:last-child p:last-child {
  font-weight: 600;
  font-size: 1rem;
  line-height: 180%;
  width: 100%;
  max-width: 460px;
}

main {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 50px 20px;
  align-items: center;
  justify-content: center;
}

main section:first-child {
  text-align: center;
  margin-bottom: 59px;
}

main section:first-child p:first-child {
  font-weight: 600;
  font-size: 1.75rem;
  line-height: 196.19%;
}

main section:first-child p:last-child {
  font-weight: 500;
  font-size: 1rem;
  line-height: 180%;
}

main section:last-child {
  width: 100%;
  max-width: calc((300px * 4) + (13px * 3));
  display: flex;
  flex-wrap: wrap;
  gap: 30px 13px;
  align-items: center;
  justify-content: center;
}

main section:last-child div {
  width: 100%;
  max-width: 300px;
  height: 302px;
  background-color: var(--color-gray);
  display: flex;
  align-items: center;
  justify-content: center;
}

footer {
  width: 100%;
  height: 60px;
  background-color: var(--color-black);
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: 18px;
  color: var(--color-white);
}

@media only screen and (max-width: 638px) {
  main section:last-child div {
    max-width: 400px;
  }
}