main p{
    line-height: 1.6;
}

.flex-container{
    display: flex;
    gap: 20px;
    justify-content: center;
}
.flex-container .item{
    width: 610px;
}
.zap{
    width: 400px;
    gap: 20px;
    background-color: rgba(231, 231, 231, 0.438);
    padding: 10px;
}

.zap div{
    margin: 20px 0;
}

.zap div h3,
.zap div p{
    margin: 0;
}
.zap button{
    margin-top: 20px;
}

.container-zap + section{
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.grid-container{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 210px);
    align-items: end;
}
.grid-container img{
    height: fit-content;
    width: fit-content;
}
.parent{
    position: relative;
    width: fit-content;
}
.parent img{
    width: 30vw;
}
.overlay{
    transform: translate(-50%, -50%);
    top: 40%;
    left: 50%;
    position: absolute;
    color: white;
    font-size: larger;
    text-align: center;
}
section{
    margin: 30px;
}
video{
    width: 100vw;     /* 100% ширины окна браузера */
    height: auto;
    display: block;
}
.zap a{
    border: 1px solid var(--text-color);
    border-radius: 5px;
    padding: 10px;
    background-color: var(--text-color);
    color: white;
}
.zap a:hover{
    background-color: #3a4f66bb;
    transition: background-color ease 3s;
}
@media(min-width: 2560px){
    .grid-container{
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(2, 1fr);
        align-items: end;
    }
    .grid-container img{
        height: fit-content;
        width: fit-content;
    }
}