JSFiddle - React, Tailwind, and code Playground
HTML
<section class="block">
<div class="container">
<div class="block__wrap">
<div class="block__item">
<div class="block__image">
<img src="img/block-1.png" alt="">
</div>
<h3 class="block__title">Маслооборудование</h3>
<button class="block__btn"></button>
<ul class="block__submenu">
<li><a href="" class="block__box">Пастеризационные установки</a></li>
<li><a href="" class="block__box">Система подготовки ледяной воды</a></li>
</ul>
</div>
<div class="block__item">
<div class="block__image">
<img src="img/block-2.png" alt="">
</div>
<h3 class="block__title">Теплообменные установки</h3>
<button class="block__btn"></button>
<ul class="block__submenu">
<li><a href="" class="block__box">Пастеризационные установки</a></li>
<li><a href="" class="block__box">Система подготовки ледяной воды</a></li>
</ul>
</div>
</div>
</div>
</section>
CSS
body {
padding: 20px;
}
.block {
padding-bottom: 86px;
}
.block .container {
max-width: 1350px;
}
.block__wrap {
display: flex;
flex-wrap: wrap;
margin: 0 -20px;
}
.block__item {
position: relative;
width: calc(100% / 4 - 40px);
background-color: #fff;
box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1);
padding: 20px 25px;
margin: 0 20px;
margin-bottom: 40px;
}
.block__image {
width: 64px;
height: 64px;
margin: 0 auto;
margin-bottom: 35px;
}
.block__image img {
display: block;
}
.block__title {
font-size: 16px;
color: #000;
text-transform: uppercase;
text-align: center;
font-weight: 900;
}
.block__btn {
width: 25px;
height: 25px;
}
.block__submenu {
position: absolute;
z-index: 4;
left: 0px;
top: 100%;
width: 100%;
background-color: #fff;
padding: 25px;
padding-top: 17px;
box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1);
}
.block__submenu:after {
position: absolute;
content: ' ';
top: 0px;
left: 50%;
transform: translateX(-50%);
width: calc(100% - 50px);
height: 2px;
background-color: rgba(51, 51, 51, 0.1);
}
.block__box {
display: block;
font-size: 14px;
line-height: 1.2;
color: #000;
text-align: center;
margin-bottom: 20px;
}
@media screen and (max-width: 1150px) {
.block__item {
width: calc(100% / 3 - 40px);
}
}
@media screen and (max-width: 960px) {
.block__item {
width: calc(100% / 2 - 40px);
}
}
*,*:after,*:before {
box-sizing: border-box;
}