.main-menu {
    grid-area: main-menu;
    display: flex;
    height: 50px;
    width: 100%;
    background: var(--violet-color);
    z-index: 2;
    position: relative;
}

.main-menu-item {
    position: relative;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.main-menu-link {
    color: var(--white-text-color);
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    text-wrap: nowrap;
    border-right: 1px solid white;
    width: 100%;
    text-align: center;
}

.main-menu-item:last-child .main-menu-link {
    border-right: none;
}

.child-arrow {
    display: flex;
    position: absolute;
    top: 50px;
    width: 100%;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.5s;
}

.main-menu-item:hover > .child-arrow,
.main-menu-item:hover > .child-main-menu-block {
    display: flex;
    opacity: 1;
}

.child-main-menu-block {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 60px;
    background: white;
    width: 254px;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.25);
}

.main-menu-item:first-child .child-main-menu-block {
    left: 5px;
}

.main-menu-item:last-child .child-main-menu-block {
    right: 5px;
}

@media (min-width: 1921px) {
    .main-menu-item:first-child .child-main-menu-block {
        left: unset;
    }

    .main-menu-item:last-child .child-main-menu-block {
        right: unset;
    }
}

.child-main-menu-link,
.menu-link-title {
    display: flex;
    color: var(--gray3-text-color);
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
    padding: 10px 20px;
    border-left: 3px solid white;
    align-items: center;
    position: relative;
    width: 100%;
    transition: 0.5s;
}

.child-main-menu-link.with-arrow {
    padding: 10px 30px 10px 20px;
}

.child-main-menu-link:hover,
.menu-link-title:hover {
    border-left: 3px solid var(--orange-color);
    color: var(--orange-text-color);
}

.js-child-item.child {
    transition: color 0.5s;
}

.js-child-item.child:hover {
    color: var(--orange-text-color);
}

.menu-item-block.open > .child-main-menu-link {
    border-left: 3px solid var(--orange-color);
    color: var(--violet-text-color);
}

.js-main-open-child.arrow-block {
    height: 100%;
    position: absolute;
    right: 0;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 1s;
}

.child-item-block {
    overflow: hidden;
    max-height: 0;
    transition: max-height 1s;
    width: 100%;
}

.menu-item-block.open .child-item-block {
    max-height: 500px;
}

.menu-item-block .js-main-open-child.arrow-block {
    transform: rotate(180deg);
}

.menu-item-block.open .js-main-open-child.arrow-block {
    transform: rotate(0deg);
}

.child-main-menu-link.js-child-item.child {
    background-color: #EDEDED;
    border: none;
}

.child-main-menu-link.js-child-item.child:hover {
    border: none;
}

.parent_arrow {
    position: absolute;
    top: 25px;
    left: 50%;
    translate: -50%;
}

@media (max-width: 780px) {
    .main-menu {
        flex-direction: column;
        height: unset;
        background: white;
        margin: 10px 20px;
        width: unset;
    }

    .header-grid > .main-menu {
        display: none;
    }

    .child-arrow {
        display: none;
    }

    .main-menu-item:hover > .child-arrow {
        display: none;
    }

    .mob-menu-block .child-main-menu-block {
        position: unset;
        display: flex;
        width: 100%;
        filter: unset;
        padding: 0 5px;
        max-height: 0;
        overflow: hidden;
        transition: max-height 1s;
        box-shadow: unset;
    }

    .mob-menu-block .main-menu-item.open .child-main-menu-block {
        max-height: 600px;
    }

    .main-menu-link {
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 40px;
        color: black;
        font-weight: 400;
        font-size: 14px;
        border-bottom: 1px solid #F2F2F2;
    }

    .child-main-menu-link {
        font-weight: 400;
        font-size: 14px;
        padding: 10px 0;
        border-bottom: 1px solid #F2F2F2;
    }

    .child-main-menu-link.with-arrow {
        padding: 10px 0;
    }

    .child-main-menu-link:hover {
        border-left: unset;
        color: unset;
    }

    .menu-item-block.open > .child-main-menu-link {
        border: unset;
    }

    .menu-item-block.open .child-item-block .child-main-menu-link {
        padding-left: 5px;
    }
}