.home-page {
  background-image: url(../images/background.jpg);
  background-size: cover;
  background-position: 55% 30%;
  height: min(600px, 70vh);
  position: relative;
}

.home-page-wrapper {
  margin: auto;
  margin-top: clamp(90px, 22.5vw, 115px);
  height: 100%;
}

.slogan-wrapper {
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  height: 50%;
  font-size: 4rem;
  font-weight: 700;
  color: white;
  margin: auto;
}

.home-page-logo-wrapper {
  display: flex;
  justify-content: center;
  position: relative;
  height: 50%;
}
.home-page-logo {
  width: min(65vw, 300px);
  position: absolute;
  bottom: max(-30vw, -140px);
}

.home-page-2 {
  margin: auto;
  margin-top: min(180px, 40vw);
}
.home-page-img-wrapper {
  display: flex;
  align-items: flex-end;
}
.home-page-img {
  margin: auto;
  width: 90%;
  height: 382.5px;
  object-fit: cover;
  filter: grayscale(30%);
}
.home-page-txt-wrapper {
  position: relative;
}
.home-page-title {
  font-size: 50px;
  color: rgb(210, 174, 86);
  font-weight: 500;
  text-align: center;
  padding: 30px 0;
}
.home-page-txt {
  padding: 0 5vw;
  text-align: justify;
  color: rgb(1, 50, 47);

  font-size: 1.6rem;
}
.home-page-button-wrapper {
  margin: auto;
  padding: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.home-page-button {
  font-family: Nunito;
  border: none;
  background-color: rgb(210, 174, 86);
  width: 245px;
  padding: 20px 16px;
  font-size: 1.6rem;
  font-weight: 700;
  color: white;
}
.home-page-button:hover {
  background-color: white;
  outline: 1px solid rgb(210, 174, 86);
  color: rgb(210, 174, 86);
  cursor: pointer;
}

.home-page-3 {
  margin: auto;
}
.home-page-3-title,
.home-page-4-title {
  text-align: center;
  font-size: min(8vw, 3.5rem);
  font-weight: 700;
  color: rgb(1, 50, 47);
  padding-bottom: 30px;
}

.home-page-3-title {
  border-top: 1px solid rgb(1, 50, 47);
  margin-left: 10vw;
  margin-right: 10vw;
  padding-top: 30px;
}

.core-practice-grid {
  padding-right: 10vw;
  padding-left: 10vw;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10vw;
}
.core-practice-tile,
.core-practice-tile-all {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  border-style: solid;
  border-color: transparent;
}
.core-practice-tile-all {
  background-color: rgb(1, 50, 47);
  border-color: white;
}
.core-practice-img {
  width: 100%;
  fill: cover;
  filter: grayscale(40%);
}
.core-practice-txt {
  margin: auto;
  position: absolute;
  font-weight: 700;
  font-size: min(7vw, 3rem);
  text-align: center;
  vertical-align: center;
  color: white;
  text-shadow: 0 0 0.1rem rgba(0, 0, 0, 1);
}
.core-practice-tile:hover {
  border-style: solid;
  border-color: rgb(1, 50, 47);
  opacity: 80%;
  cursor: pointer;
}
.core-practice-tile-all:hover .core-practice-txt {
  color: rgb(1, 50, 47);
}
.core-practice-tile:hover .core-practice-img {
  filter: grayscale(80%);
}
.core-practice-tile-all:hover {
  background-color: white;
  border-color: rgb(1, 50, 47);
  border-style: solid;
  cursor: pointer;
}

.home-page-4 {
  margin: auto;
}
.form-wrapper {
  padding-left: 10vw;
  padding-right: 10vw;
  padding-bottom: 2vw;
}

@media (min-width: 641px) {
  .core-practice-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding-bottom: 30px;
  }
}
@media (min-width: 769px) {
  .home-page {
    margin-top: 0;
    height: 100vh;
  }

  .home-page-wrapper {
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
  }

  .slogan-wrapper {
    text-align: start;
    justify-content: start;
    height: auto;
    padding-left: 20px;
    padding-top: 90px;
    margin: 0;
  }

  .home-page-logo-wrapper {
    height: auto;
  }
  .home-page-logo {
    height: 30vw;
    width: auto;
    bottom: -10vw;
  }

  .home-page-2 {
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
  }
  .home-page-img-wrapper{
    padding-top: 6vw;
    margin-left: 2vw;
  }
  .home-page-img {
    width: 100%;
    height: auto;
  }
  .home-page-txt-wrapper {
    display: grid;
    grid-template-rows: 1fr;
    justify-content: space-between;
  }
  .home-page-title {
    font-size: min(8vw, 8rem);
    font-weight: 500;
    padding-top: 12vw;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .home-page-txt {
    padding-left: 2vw;
    padding-right: 2vw;
    font-size: 1.6rem;
  }
  .home-page-button-wrapper {
    padding: 0 4.5vw;
    padding-top: 20px;
  }

  .home-page-3 {
    padding-top: 130px;
  }
  .home-page-3-title,
  .home-page-4-title {
    font-size: 2.5rem;
  }
  .home-page-3-title {
    margin-left: 2vw;
    margin-right: 2vw;
  }
  .core-practice-grid {
    padding-right: 2vw;
    padding-left: 2vw;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
  }

  .core-practice-txt {
    font-size: 2.5rem;
  }

  .home-page-4 {
    padding-top: 50px;
  }
  .form-wrapper {
    padding-left: 2vw;
    padding-right: 2vw;
  }
}
@media (min-width: 880px) {
  .home-page-title {
    top: 14.5vw;
  }
}

@media (min-width: 1025) {
}

@media (min-width: 1180px) {
  .home-page-wrapper,
  .home-page-2,
  .home-page-3,
  .home-page-4 {
    width: 1160px;
  }
}
