.sideimage {
	display: flex;
  	width: 100%;
}
.sideimage figure {
    width: 50%;
    min-width: 50%;
    background-color: #ccc;
}
.sideimage figure img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block;
}

.sideimage .side {
    width: 50%;
    min-width: 50%;
    min-height: 300px;
    align-self: center;
}
.sideimage .side-content {
    width: 100%;
    display: inline-block;
    vertical-align: middle;
    padding: 50px 0 50px 50px;
    box-sizing: border-box;
}

.sideimage.reverse {
    flex-direction: row-reverse;
}
.sideimage.reverse .side .side-content {
    padding-left: 0;
    padding-right: 50px;
}

@media only screen and (max-width: 680px) {
    .sideimage {
        display: block;
    }
    .sideimage figure, .sideimage .side {
        width: 100%;
        flex: none;
        display: block;
    }
    .sideimage figure {
        min-height: 300px;
        height: 50vw;
    }
    .sideimage .side {
        margin-top: -40px;
        padding-left: 20px;
    }
    .sideimage .side-content {
        margin: 0px;
        padding: 20px 0 0 20px;
        background: #fff;
    }

    .sideimage.reverse .side {
        padding-left: 0px;
        padding-right: 20px;
    }
    .sideimage.reverse .side-content {
        margin: 0;
        padding: 20px 20px 0 0;
    }
}
