#masterclass-section {
  background: url("images/pizza4.png");
  background-repeat: no-repeat;
  background-size: cover;
  font-size: 1rem;
}

#masterclass-section ._wrapper {
  flex-direction: column;
  align-items: end;
  padding: 95px 125px 150px 0;
}

.masterclass-section__title {
  font-size: 2.5em;
  text-transform: uppercase;
  margin-bottom: 1.5em;
  font-family: "Lato";
}

.promo {
  background: var(--main-color);
  padding: 95px 70px 70px 65px;
}

.promo h3 {
  font-family: "Lato";
  text-transform: uppercase;
  font-size: 2.7em;
  line-height: 1;
}

.promo p {
  font-family: "Lato";
  font-size: 2.3em;
  margin-top: 30px;
  margin-bottom: 115px;
  font-weight: 600;
}

.promo-info {
  display: flex;
  flex-direction: column;
  align-items: end;
  font-size: 2.5em;
  font-family: "Lato";
  text-transform: uppercase;
}

.promo-info b {
  font-weight: 600;
}

.apply-btn {
  position: relative;
  background: var(--main-color);
  padding: 1.1em 5em 0.6em 1em;
  font-size: 2.5em;
  font-family: "Lato";
  text-transform: uppercase;
  font-weight: 600;
  margin-top: 35px;
  overflow: hidden;
}

.apply-btn p {
  z-index: 5;
  position: relative;
  user-select: none;
}

.apply-btn::before {
  position: absolute;
  content: "";
  left: -12%;
  top: 0;
  width: 130%;
  height: 100%;
  background: #000;
  opacity: 0.1;
  z-index: 1;
  transform: scaleX(0) skew(-35deg);
  transform-origin: right;
  transition: transform 0.3s;
}

.apply-btn:hover::before {
  transform-origin: left;
  transform:  scaleX(1) skew(-35deg);
  transition: transform 0.3s opacity 0.3s;
}

.apply-btn:active::before {
  opacity: 0.2;
}

@media (max-width: 1024px) {
  #masterclass-section {
    font-size: 0.9rem;
  }
  #masterclass-section ._wrapper {
    padding: 55px 95px 100px 0;
  }

  .masterclass-section__title {
    margin-bottom: 30px;
  }

  .promo-info {
    font-size: 2.2em;
  }

  .promo {
    padding: 55px;
  }

  .apply-btn {
    margin-top: 20px;
    font-size: 2.3em;
  }
}

@media (max-width: 768px) {
  #masterclass-section {
    font-size: 0.8rem;
  }

  #masterclass-section ._wrapper {
    padding: 55px 55px 70px 30px;
  }

  .promo {
    padding: 45px;
  }
}

@media (max-width: 500px) {
  #masterclass-section ._wrapper {
    padding: 55px 30px 70px 30px;
  }
}

@media (max-width: 430px) {
  #masterclass-section ._wrapper {
    padding: 50px 20px;
  }

  .promo {
    padding: 35px;
  }

  .promo p {
    font-size: 2em;
    margin-top: 20px;
    margin-bottom: 85px;
  }

  .promo-info {
    font-size: 2em;
  }
}
