* {
    box-sizing: border-box;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

body {
    overflow: hidden;
}

h1 {
    font-family: var(--h1-font);
    font-size: var(--h1-font-size);
    font-weight: var(--h1-font-weight);
    line-height: var(--h1-line-height);
    color: var(--h1-color);
    margin-bottom: 12px;
}

p {
    font-family: var(--text-font);
    font-size: var(--text-font-size);
    font-weight: var(--text-font-weight);
    line-height: var(--text-line-height);
    color: var(--text-color);
}

a {
    font-family: var(--link-font);
    font-size: var(--link-font-size);
    font-weight: var(--link-font-weight);
    line-height: var(--link-line-height);
    color: var(--link-color);
    text-decoration: underline;
    &:hover, &:focus {
        color: var(--link-hover-color);
    }
}

header {
    padding: 112px 40px 60px;
    width: 1080px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
    img {
        height: var(--logo-height);
        max-width: 100%;
        object-fit: contain;
    }
}

main {
    width: 1080px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 60px;
    padding-left: 207px;
    padding-right: 80px;
    position: relative;
    z-index: 1;
    div {
        margin-top: 104px;
    }
}

ul {
    margin-top: 8px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 40px;
}

.background {
    z-index: -1;
    svg {
        stroke: var(--watermark-background-color);
        position: absolute;
        bottom: 0;
        right: 0;
        width: auto;
        height: auto;
        max-width: 85%;
        max-height: var(--watermark-max-height);
    }
    span {
        background-color: var(--watermark-background-color);
        display: block;
        position: absolute;
    }
    .vertical {

        --container-left-position: calc(calc(100vw - 1440px) / 2);
        --vertical-1-left-position: 220px;
        --vertical-2-left-position: 386px;
        --vertical-3-left-position: 1162px;
        --vertical-4-left-position: 1243px;

        span {
            width: 1px;
            height: 100%;
            top: 0;
            &:nth-child(1) {
                left: calc(var(--container-left-position) + var(--vertical-1-left-position));
            }
            &:nth-child(2) {
                left: calc(var(--container-left-position) + var(--vertical-2-left-position));
            }
            &:nth-child(3) {
                left: calc(var(--container-left-position) + var(--vertical-3-left-position));
            }
            &:nth-child(4) {
                left: calc(var(--container-left-position) + var(--vertical-4-left-position));
            }
        }
    }
    .horizontal {

        --horizontal-1-top-position: 14%;
        --horizontal-2-top-position: 23%;
        --horizontal-3-top-position: 30.2%;
        --horizontal-4-top-position: 34.8%;
        --horizontal-5-top-position: 38.6%;
        --horizontal-6-top-position: 54.3%;

        span {
            height: 1px;
            width: 100%;
            left: 0;
            &:nth-child(1) {
                top: var(--horizontal-1-top-position);
            }
            &:nth-child(2) {
                top: var(--horizontal-2-top-position);
            }
            &:nth-child(3) {
                top: var(--horizontal-3-top-position);
            }
            &:nth-child(4) {
                top: var(--horizontal-4-top-position);
            }
            &:nth-child(5) {
                top: var(--horizontal-5-top-position);
            }
            &:nth-child(6) {
                top: var(--horizontal-6-top-position);
            }
        }
    }
}

@media (max-width: 1440px) {
    .background .vertical {
        --container-left-position: 0px;
        --vertical-1-left-position: 15.2%;
        --vertical-2-left-position: 26.8%;
        --vertical-3-left-position: 80.7%;
        --vertical-4-left-position: 86.3%;
    }
}

@media (max-width: 700px) {
    main {
        padding-inline: 40px;
        div {
            margin-top: 80px;
        }
    }
    ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        margin-top: 16px;
    }
    .background {

        .vertical {
            --vertical-1-left-position: 24px;
            --vertical-2-left-position: 40px;
            span {
                &:nth-child(3), &:nth-child(4) {
                    display: none;
                }
            }
        }

        .horizontal {
            --horizontal-1-top-position: 152px;
            --horizontal-2-top-position: 240px;
            --horizontal-3-top-position: 54.7%;
            --horizontal-4-top-position: 63%;
            --horizontal-5-top-position: 69.9%;
            --horizontal-6-top-position: 98%;
        }

    }
}


