.bf-showcase {
   background: #7D848D url(bf-showcase-back.jpg) 50% 100% no-repeat;
   background-size: cover;
   position: relative;
   padding-bottom: 60px;
   overflow: hidden;
}

.bf-showcase::before {
   content: '';
   width: 100%;
   height: 100px;
   position: absolute;
   left: 0;
   top: 0;
   background: linear-gradient(180deg, #FFFFFF 28.08%, rgba(255, 255, 255, 0) 100%);
}

.bf-showcase::after {
   content: '';
   position: absolute;
   left: 0;
   bottom: 0;
   width: 100%;
   height: 140px;
   background: url("data:image/svg+xml,%3Csvg width='1740' height='140' viewBox='0 0 1740 140' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M129.618 42.4236C82.6059 40.4565 42 15.067 0 15.067V234.067H1740V15.067C1681.5 15.067 1581.54 68.7445 1520.4 45.1631C1427.97 9.5097 1366.76 53.1543 1329.42 59.9162C1293.02 66.5069 1219.84 37.7866 1181.28 30.1293C1144.13 22.754 1082.33 36.3289 1050.89 39.016C1022.12 41.4748 924.179 27.9511 880.716 9.5097C840.369 -7.61012 757.676 0.288816 711.153 18.1155C664.63 35.9422 583.828 5.48697 516.492 18.1155C464.46 27.8739 433.241 57.1767 388.554 68.8562C343.868 80.5357 302.855 37.951 252.659 30.1293C202.463 22.3076 188.384 44.8824 129.618 42.4236Z' fill='white'/%3E%3C/svg%3E%0A") 50% 0 repeat-x;
   filter: drop-shadow(0px 10px 50px rgba(0, 0, 0, .05));
   z-index: 1;
}

.bf-showcase__canvas {
   position: absolute;
   left: 0;
   top: 0;
}

.bf-showcase__main {
   overflow: hidden;
   border-radius: 40px;
   max-width: 1470px;
   margin-left: auto;
   margin-right: auto;
   position: relative;
   z-index: 1;
}

.bf-showcase__main img {
   display: block;
   height: auto;
}

.bf-offset {
   padding: 120px 0;
   position: relative;
}

.bf-head {
   max-width: 1140px;
   margin-left: auto;
   margin-right: auto;
}

.bf-title {
   font-size: 50px;
   line-height: 1.2;
   text-transform: uppercase;
   font-weight: bold;
   margin-bottom: 20px;
}

.bf-title span {
   color: #F11440;
}

.bf-text {
   font-size: 30px;
   line-height: 1.4;
   margin-top: 10px;
}

.bf-grey {
   background-color: #F7F7F7;
}

.bf-back {
   background: #F7F7F7 url(bf-back.jpg) no-repeat;
   background-size: cover;
   border-radius: 40px 40px 0 0;
}

.bf-gift-grid {
   display: flex;
   flex-direction: column;
}

.bf-gift {
   display: flex;
   align-items: center;
   gap: 0 64px;
}

.bf-gift:nth-child(even) {
   flex-direction: row-reverse;
}

.bf-gift:nth-child(even) .bf-gift__content {
   padding-left: 120px;
}

.bf-gift__content {
   max-width: 710px;
}

.bf-gift__image {
   width: 600px;
   flex-shrink: 0;
}

.bf-gift__image img {
   height: auto;
}

.bf-gift__title {
   font-size: 36px;
   line-height: 1.2;
   font-weight: bold;
   color: #404040;
}

.bf-gift__text {
   color: #8D8D8D;
   font-size: 32px;
   line-height: 1.4;
   margin-top: 10px;
}

.bf-element {
   padding: 14px;
   background-color: #fff;
   border-radius: 10px;
   height: calc(100% - 20px);
   margin-bottom: 20px;
}

.bf-element .N-element {
   height: 100%;
   margin-bottom: 0;
}

.bf-button {
   display: inline-flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   max-width: 460px;
   height: 100px;
   border-radius: 20px;
   text-decoration: none;
   font-size: 28px;
   font-weight: bold;
   background-color: #F11440;
   color: #fff;
   user-select: none;
   position: relative;
   z-index: 1;
}

.bf-ball {
   position: absolute;
   pointer-events: none;
   z-index: 1;
}

.bf-ball img {
   display: block;
   height: auto;
}

.bf-ball--top {
   left: 0;
   top: 0;
}

.bf-ball--top img {
   transform: translate(-50%, -40%);
}

.bf-ball--bottom {
   right: 0;
   top: 80%;
}

.bf-ball--bottom img {
   transform: translate(50%, 40%);
}

@media (max-width: 1300px) {
   .bf-gift__title {
      font-size: 24px;
   }

   .bf-gift__image {
      width: 260px;
   }
}

@media (max-width: 1023px) {
   .bf-showcase__main {
      border-radius: 10px;
   }

   .bf-showcase {
      padding-bottom: 16px;
      border-radius: 0 0 16px 16px;
   }

   .bf-showcase::after {
      display: none;
   }

   .bf-offset {
      padding: 60px 0;
   }

   .bf-title {
      font-size: 28px;
   }

   .bf-text {
      font-size: 18px;
   }

   .bf-gift,
   .bf-gift:nth-child(even) {
      flex-direction: column;
      text-align: center;
   }

   .bf-gift:nth-child(even) .bf-gift__content {
      padding-left: 0;
   }

   .bf-gift__image {
      margin-left: auto;
      margin-right: auto;
   }

   .bf-gift__title {
      font-size: 24px;
   }

   .bf-gift__text {
      font-size: 18px;
   }

   .bf-element {
      padding: 6px;
   }

   .bf-button {
      font-size: 18px;
      height: 60px;
   }

   .bf-back {
      border-radius: 20px 20px 0 0;
   }
}