.page_root {
    min-height: 100vh;
    width: 100%;
    margin: 0px;
    padding: 0px;
    padding-top: 130px;
}

.page_root_2 {
    min-height: 100vh;
    width: 100%;
    margin: 0px;
    padding: 0px;
    margin-top: 100px;
}

.filter_block {
    position: absolute !important;
    top: 8px;
    color: #888;
    font-weight: bold;
    right: 10px;
    padding: 7px 15px;
    font-size: 15px !important;
    border-radius: 3px;
}

.block_container {
    position: relative;
    width: 90%;
    padding: 10px 20px 10px;
    margin: 30px auto 20px;
    min-height: 50px;
    max-width: var(--block-max-width);
}

.block_container_with_max_width {
    position: relative;
    width: 80%;
    padding: 5px 20px 10px;
    margin: auto auto 20px;
}

@media only screen and (max-width: 2200px) {
    .page_root {
        padding-top: 80px;
    }
}

@media only screen and (max-width: 1800px) {
    .block_container_with_max_width {
        width: 95%;
        max-width: 1200px;
    }
}

@media only screen and (max-width: 992px) {
    .block_container {
        width: 100%;
        padding: 5px 15px 15px;
    }

    .block_container_with_max_width {
        width: 100%;
        padding: 5px 15px 15px;
    }
}

@media only screen and (max-width: 900px) {
    .page_root {
        min-height: 90vh;
        padding-top: 0px;
    }

    .page_root_2 {
        margin-top: 0px;
    }
}

@media only screen and (max-width: 768px) {
    .block_container {
        padding: 5px 5px 10px;
        margin-bottom: 0px;
        margin-top: 10px;
        min-height: 60px;
    }

    .block_container:first-child {
        margin-top: 10px;
    }

    .block_container_with_max_width {
        padding: 5px 10px 10px;
        margin-bottom: 0px;
        margin-top: 10px;
    }
}