.content.wrap {
    background-color: #f1f2f3;
    overflow: auto;
}

.article {
    margin-bottom: 0 !important;
}

.article.row.grid {
    height: 100%;
}

.flex-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    min-height: calc(100vh - 65px);
}

.blue-line {
    background: #0175E0;
    color: #ffffff;
    font-size: 15px;
    font-family: Noto Semibold;
    line-height: 24px;
    padding: 15px 0 17px 0;
    width: 100%;
    text-align: center;
    margin-bottom: 24px;
}

.flex-header {
    text-align: center;
    font-family: Noto Regular;
}

.flex-header h1 {
    font-size: 28px;
    line-height: 36px;
    margin: 0 0 17px;
    font-family: Noto Bold;
}

.flex-header .sub-header {
    font-size: 13px;
    line-height: 20px;
    font-family: Noto Semibold;
}

.flex-items {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    max-width: 800px;
}

.flex-item {
    width: 248px;
    margin: 32px 8px 0;
    background-color: #ffffff;
    color: #2d313a;
    text-align: center;
    transition: background-color .3s ease, fill .3s ease;
    font-size: 15px;
    display: flex;
    flex-direction: column;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.08);
}

.flex-item:hover .flex-item-image {
    background-color: #84D4FF;
}

.flex-item:hover,
.flex-item:hover .flex-item-description {
    background-color: #E9F7FF;
}

.flex-item-image {
    background: #B2E5FF;
    padding: 20px 44px;
    flex: 0 0 auto;
}

.flex-item-description {
    background: #ffffff;
    padding: 16px 20px 32px;
    flex: 1 0 auto;
}

.flex-item-description h2 {
    margin: 0;
    padding-bottom: 7px;
    font-family: Noto Semibold;
    font-size: 17px;
    line-height: 32px;
}

.flex-item-description div {
    font-family: Noto Regular;
    font-size: 13px;
    line-height: 20px;
}

.flex-footer {
    flex-direction: row;
    display: flex;
    margin-top: 24px;
    background: #ffffff;
    width: 100%;
    justify-content: center;
}

.flex-footer-item {
    margin: 14px 32px;
    color: #0175E0;
    text-transform: uppercase;
    cursor: pointer;
    font-family: Noto Semibold;
    font-size: 13px;
    line-height: 20px;
}

.content-box {
    margin-top: 24px;
}