*,
*::before,
*::after {
    box-sizing: border-box;
}
ul[class],
ol[class] {
    padding: 0;
}
body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
    margin: 0;
}
body {
    min-height: 100vh;
    scroll-behavior: smooth;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
}
ul[class],
ol[class] {
    list-style: none;
}
a:not([class]) {
    text-decoration-skip-ink: auto;
}
img {
    max-width: 100%;
    display: block;
}
body {
    position: relative;
    min-height: 100vh;
}
.bg-img {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.logo {
    opacity: 0.1;
    max-height: 100%;
    height: 100%;
    width: auto;
}
.logo-white {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    max-width: 80%;
    height: auto;
}
.black-block {
    background-color: #000000a1;
}
.blue-block {
    background-color: #104aa63d;
}
.border-top {
    border-top: 1px solid #ffffff3d;
}
.border-right {
    border-right: 1px solid #ffffff3d;
}
.border-bottom {
    border-bottom: 1px solid #ffffff3d;
}
.border-left {
    border-left: 1px solid #ffffff3d;
}
.block {
    position: relative;
}
.blocks-wrap {
    display: grid;
    grid-template-columns: 18% 64% 18%;
    grid-template-rows: calc(100vh - 100px) 100px;
    grid-gap: 0;
    height: 100%;
    align-items: stretch;
}
.main-block {
    position: relative;
    padding: 68px 50px 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
}
.social-block {
    display: flex;
    align-items: center;
    padding: 30px 60px;
}
.social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background-color: #000;
    border-radius: 5px;
}
.social-link.mobile-link {
    display: none;
}
.social-link:hover .social-icon{
    opacity: 0.5;
}
.social-link:not(:first-of-type) {
    margin-left: 18px;
}
.social-icon {
    height: 13px;
    width: auto;
    transition: opacity 0.3s;
}

@media (min-width: 1367px) {
    .logo-white {
        width: calc(436px + (436 - 800) * (100vw - 1366px) / (1366 - 2560));
    }
    .main-block {
        padding: calc(68px + (68 - 120) * (100vw - 1366px) / (1366 - 2560))
                 calc(50px + (50 - 100) * (100vw - 1366px) / (1366 - 2560))
                 calc(58px + (58 - 110) * (100vw - 1366px) / (1366 - 2560));
    }
    .social-link {
        width: calc(30px + (30 - 40) * (100vw - 1366px) / (1366 - 2560));
        height: calc(30px + (30 - 40) * (100vw - 1366px) / (1366 - 2560));
    }
}
@media (min-width: 2560px) {
    .logo-white {
        width: 800px;
    }
    .main-block {
        padding: 120px 100px 110px;
    }
    .social-link {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 1365px) {
    .social-block {
        padding: 30px calc(60px + (60 - 10) * (100vw - 1366px) / (1366 - 768));
    }
}

@media (max-width: 768px) {
    .blocks-wrap {
        grid-template-columns: 12% 76% 12%;
    }
    .social-block {
        justify-content: center;
    }
    .social-link.mobile-link {
        display: flex;
    }
    .social-link.desktop-link {
        display: none;
    }
}

@media (max-width: 400px) {
    .blocks-wrap {
        grid-template-columns: 50px calc(100% - 100px) 50px;
    }
}
