div.banner {
    position: relative;
    height: 50vh;
    z-index: 20;
    -webkit-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.banner video {
    position: absolute;
    width: 100%;
    /*height: auto;*/
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
    opacity: 1;
    object-fit: cover;
}

.banner video.background_video {
    display: block;
    -webkit-transition: opacity 1s ease-in-out;
    transition: opacity 1s ease-in-out;
}

div.banner video.background_video.has_loaded {
    display: block;
    opacity: 1;
    -webkit-transition: opacity .5s ease-in-out;
    transition: opacity .5s ease-in-out;
    background-image: none;
}

video.background_video.has_loaded ~ div.banner {
    background-image: none;
}

.banner .banner_title_wrapper {
    position: absolute;
    color: #FFFFFF;
    width: 55%;
    padding-left: 10%;
    padding-right: 10%;
    top: 50%;
    height: auto;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.banner .banner_title_wrapper .banner_title {
    font-size: 84px;
    text-align: left;
}

.banner .banner_title_wrapper .banner_summary {
    font-size: 50px;
    font-weight: 600;
    text-shadow: 0 0 0.5rem #000;
}

.banner .banner_button {
    padding: 1em;
    cursor: pointer;
    font-size: 90%;
    background-color: rgb(22,65,148);
    color: white;
    border: 2px solid rgb(22,65,148);
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.banner .banner_button p {
    margin-right: .5em;
    display: inline-block;
}

.banner .banner_button i {
    color: #ffffff;
    margin-right: .5em;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

.banner .banner_button.green {
    border-color: rgb(0,141,63);
    background-color: rgb(0,141,63);
}

.banner .banner_button:hover {
    color: rgb(22,65,148);
    background-color: #ffffff;
}

.banner .banner_button.green:hover {
    color: rgb(0,141,63);
}

.banner .banner_button:hover i {
    -webkit-transform: translateX(50%);
    -moz-transform: translateX(50%);
    -ms-transform: translateX(50%);
    -o-transform: translateX(50%);
    transform: translateX(50%);
    color: rgb(22,65,148);
}

.banner .banner_button.green:hover i {
    color: rgb(0,141,63);
}

div.title_wrapper {
    z-index: 20;
    position: relative;
    padding-top: 6vh;
    padding-bottom: 6vh;
    text-align: center;
}

.dealer_title {
    font-size: 25px;
}

.dealer_table {
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: stretch;
}

.dealer_block {
    display: flex;
    position: relative;
    height: 100px;
    width: 200px;
    margin: .5em;
}

.plus_sign_wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: grey;
    padding: 1em;
    border-radius: 50%;
    border: 2px solid transparent;
}

.plus_sign_wrap svg {
    width: 50px;
    padding: 0;
    stroke: #ffffff;
    stroke-width: 7px;
}

.plus_sign_wrap:hover{
    border-color: rgb(22,65,148);
    background-color: white;
}

.plus_sign_wrap:hover svg {
    stroke: rgb(22,65,148);
}

img.dealerImg {
    max-height: 100%;
    max-width: 90%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

img.dealerImg:not(:hover) {
    filter: grayscale(100%);
}

.container {
    width: 75%;
}

.blocks_wrapper {
    display: flex;
    position: relative;
    z-index: 10;
}

.home_block {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.home_block:hover .home_block_image {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}

.home_block .home_block_image {
    -webkit-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-blend-mode: multiply;
    background-color: grey;
    height: 115%;
    width: 115%;
    -webkit-transition: transform .5s ease-in-out;
    -moz-transition: transform .5s ease-in-out;
    -ms-transition: transform .5s ease-in-out;
    -o-transition: transform .5s ease-in-out;
    transition: transform .5s ease-in-out;
}

.home_block a {
    display: block;
    width: 100%;
    height: 100%;
}

.home_block a .newBlock {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1em;
    max-width: 20%;
}

.blocks_wrapper .left_part {
    margin-right: .5em;
}

.blocks_wrapper .right_part {
    margin-left: .5em;
}

.left_part .left_wrapper, .right_part .right_wrapper {
    display: flex;
}

.left_part .left_wrapper .left_block, .right_part .right_wrapper .left_block {
    margin-right: .5em;
    height: 400px;
}

.left_part .left_wrapper .right_block, .right_part .right_wrapper .right_block {
    position: relative;
    margin-left: .5em;
    height: 400px;
}

.blocks_wrapper .home_block .block_title_wrapper {
    position: absolute;
    top: 0;
    width: 100%;
    height: auto;
    display: block;
    padding: 20px;
    font-size: 25px;
    color: #FFFFFF;
}

.blocks_wrapper .block_bottom_wrapper {
    position: absolute;
    bottom: 0;
    width: 100%;
    display: block;
    padding: 20px;
    color: #FFFFFF;
}

.blocks_wrapper .block_bottom_wrapper .discover_wrapper {
    position: relative;
    height: 25px;
    display: flex;
}

.blocks_wrapper .block_bottom_wrapper .discover_wrapper .discover_icon {
    width: 25px;
    position: relative;
    margin-right: .5em;
}

.blocks_wrapper .block_bottom_wrapper .discover_wrapper .discover_icon svg * {
    vector-effect: none;
}

.blocks_wrapper .block_bottom_wrapper .discover_wrapper .discover_icon svg .st1 {
    fill: none;
}

.blocks_wrarpper .block_bottom_wrapper .discover_wrapper .discover_text {
    font-weight: 600;
}

.blocks_wrapper .big_block_wrapper {
    display: block;
    height: 450px;
}

.blocks_wrapper .left_part .big_block_wrapper {
    margin-top: 1em;
}

.blocks_wrapper .right_part .big_block_wrapper {
    margin-bottom: 1em;
}

/* === PHONES === */
@media (max-width: 849px) {

    .banner video {
        height: 100%;
        width: auto;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        left: 50%;
    }

    .banner .banner_title_wrapper{
        width: 100%;
    }

    .banner .banner_title_wrapper .banner_summary, .title_wrapper .home_summary {
        font-size: 30px;
    }

    .banner .banner_button {
        font-size: 90%;
        padding: .7em;
    }

    .dealer_table {
        flex-flow: row wrap;
    }

    .dealer_block {
        width: 100px;
        height: 100px;
        margin: 0em;
    }

    img.dealerImg {
        max-height: 60px;
        max-width: 80px;
    }

    .plus_sign_wrap svg {
        width: 30px;
        stroke-width: 5px;
    }

    .blocks_wrapper {
        display: block;
    }

    .blocks_wrapper .left_part {
        margin-right: 0;
        margin-bottom: .5em;
    }

    .blocks_wrapper .right_part {
        margin-left: 0;
        margin-top: .5em;
    }
}