.box {
  margin: 0;
  box-sizing: border-box;
  width: 25%;
  max-width: 25%;
  height: 100%;
  max-height: 100%;
  display: flex;
  color: white;
  flex-direction: column;
}
.box img {
  width: 100%;
  object-fit: contain;
  display: block;
}
.box h1 {
  font-size: clamp(1rem, 2.2vw, 2.5rem);
  font-weight: 800;
  padding: 0;
  margin: 0;
}
@media (max-width: 700px) {
  .box h1 {
    font-size: clamp(0.8rem, 2.2vw, 2.5rem);
  }
}
.box p {
  font-weight: normal;
  font-size: clamp(0.6rem, 1.5vw, 2vw);
  padding: 0;
  margin: 0;
}
.box p, .box h1 {
  padding: 0 10%;
}

.box:has(.custom-button) {
  position: relative;
}

.box {
  position: relative;
}

.box:has(.custom-button) .custom-button {
  box-sizing: border-box;
  position: absolute;
  margin-top: 0;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
@media (max-width: 800px) {
  .box:has(.custom-button) .custom-button {
    margin: 0 !important;
    width: 80%;
  }
}

.box .custom-button {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  position: absolute;
  margin-top: 0;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
@media (max-width: 800px) {
  .box .custom-button {
    margin: 0 !important;
    width: 60%;
  }
}

.box:has(#custom-button) {
  position: relative;
}

#box > #custom-button {
  box-sizing: border-box;
  position: absolute;
  margin-top: 0;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

/*# sourceMappingURL=box.css.map */
