/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/

.how-we-do {
}

h1.how-we-do__page-title {
    font-size: 70px;
    font-weight: 300;
    padding: 0 50px; 
}

.how-we-do__panel {
    background-color: #C0C8E6;
    padding: 70px;
    position: relative;
    text-align: center;
    margin: 50px -75px;
}

.how-we-do__panel--secondary {
    background-color: #DAEBF4;
}

.how-we-do__panel--tertiary {
    background-color: #F5B32D;
}

    .how-we-do__panel-container {
        margin: auto;
        padding: 0 20px;
        max-width: 775px;
    }

    h2.how-we-do__panel-title {
        font-weight: 400;
        font-size: 33px;
        line-height: 38px;
        padding-left: 0;
    }

    .how-we-do__panel h3 {
        padding-bottom: 0;
    }

    .how-we-do__panel p {
        font-weight: 300;
    }

.how-we-do__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto -50px;
    max-width: 1200px;
    position: relative;
}

    .how-we-do__list-item {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 40%;
        flex: 0 1 40%;
        margin-bottom: 50px;
        z-index: 2;
    }

    .how-we-do__list-item--centered {
        -ms-flex-item-align: center;
            -ms-grid-row-align: center;
            align-self: center;
    }

    h4.how-we-do__list-title {
        font-size: 26px;
        font-weight: 400;
        line-height: 30px;
        margin: 0 auto;
        padding-bottom: 20px;
        max-width: 400px;
        text-align: center;
    }

    .how-we-do__list-item ul {
        list-style-type: square;
    }

    .how-we-do__list-item ul + h4.how-we-do__list-title {
        margin-top: 20px;
    }

    .how-we-do__list-item ul li {
        font-size: 20px;
        line-height: 23px;
    }

    .how-we-do__list-item ul li:not(:last-child) {
        margin-bottom: 23px;
    }

    .how-we-do__list-item img {
        height: auto;
        max-width: 100%;
        margin: auto;
        display: block;
        width: 110%;
    }

    .how-we-do__list-item-break {
        display: none;
    }


    
@media screen and (min-width: 1050px) {
    .how-we-do__list-item--inline {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 15%;
        flex: 0 1 15%;
        -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
        order: 10;
        z-index: 1;
    }

    .how-we-do__list-item--inline img {
        max-width: none;
        bottom: 30px;
        left: 50%;
        width: 125%;    
        margin-left: -12.5%;
        z-index: 0;
    }

    .how-we-do__list-item--inline + .how-we-do__list-item {
        -webkit-box-ordinal-group: 16;
            -ms-flex-order: 15;
                order: 15;
    }
}

@media screen and (max-width: 1050px) {
    h1.how-we-do__page-title {
        font-size: 60px;
        padding: 0;
    }

    .how-we-do__panel {
        margin: 30px -45px;
        padding: 60px;
    }   
    
    h2.how-we-do__panel-title {
        font-size: 30px;
        line-height: 35px;
    }
    
    .how-we-do__panel p {
        font-size: 20px;
        line-height: 23px;
    }

    .how-we-do__panel h3 {
        font-size: 24px;
        line-height: 28px;
    }

    h4.how-we-do__list-title {
        font-size: 24px;
        line-height: 28px;
    }

    .how-we-do__list-item {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 48%;
                flex: 0 1 48%;
    }

    .how-we-do__list-item ul li {
        font-size: 18px;
        line-height: 21px;
    }

    .how-we-do__list-item img {
        max-width: 125%;
        width: 125%;
        margin-left: -12.5%;
    }

    .how-we-do__list-item--inline {
        align-self: flex-start;
    }

    .how-we-do__list-item--inline img {
        max-width: 100%;
        width: 100%;
        margin-left: 0;
        margin-top: -20%;
    }
}

@media screen and (max-width: 1050px) and (min-width: 768px) {
    .how-we-do__list-item--inline {
        margin-bottom: 0;
        -ms-flex-item-align: center;
            -ms-grid-row-align: center;
            align-self: center;
        -webkit-box-ordinal-group: 16;
            -ms-flex-order: 15;
                order: 15;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 40%;
                flex: 0 1 40%;
    }

    .how-we-do__list-item--inline img {
        max-height: 40vw;
        margin-bottom: 40px;
    }

    .how-we-do__list-item--inline + .how-we-do__list-item {
        -webkit-box-ordinal-group: 11;
            -ms-flex-order: 10;
                order: 10;
    }

    .how-we-do__list-item-break {
        display: block;
        -webkit-box-ordinal-group: 6;
            -ms-flex-order: 5;
                order: 5;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
    }

    .how-we-do__list-item-break + .how-we-do__list-item {
        margin-left: 26%;
    }
}

@media screen and (max-width: 767px) {
    h1.how-we-do__page-title {
        font-size: 40px;
        text-align: center;
        width: 75%;
        margin: auto;
    }

    .how-we-do__panel {
        margin: 30px -30px;
    }

    .how-we-do__panel-container {
        padding: 0;
    }

    h2.how-we-do__panel-title {
        font-size: 24px;
        line-height: 28px;
    }

    h4.how-we-do__list-title {
        font-size: 20px;
        line-height: 23px;
    }

    .how-we-do__panel h3 {
        font-size: 20px;
        line-height: 23px;
    }

    .how-we-do__list-item {
        min-width: 0;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        margin: 0 0 30px;
        -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
        order: initial;
    }

    .how-we-do__list-item ul li {
        font-size: 16px;
        line-height: 18px;
    }

    .how-we-do__list-item img {
        max-width: 360px;
        width: 100%;
        margin: -30px auto 0;
        display: block;
    }

    .how-we-do__list-item--inline img {
        width: 50%;
    }

    .how-we-do__list-item--inline + .how-we-do__list-item {
        order: 50;
    }
}

@media screen and (max-width: 699px) {
    .how-we-do__panel {
        margin: 30px -10px;
        padding: 20px;
    }
}