body#blog { figure.image { width: calc(66.666% - 13px); align-self: stretch; } .blog-section { .title { font-size: 20px; line-height: 30px; padding-bottom: 16px; border-bottom: 1px solid #e7ebf2; } .blog-list { display: flex; &.-threecol { flex-direction: row; flex-wrap: wrap; align-items: stretch; margin: 0 -19px 79px; border-top: none; padding-top: 18px; .blog-item { flex: 0 0 33.333%; flex-direction: column; align-items: flex-start; padding: 0 19px; &:nth-child(3n+1), &:nth-child(3n+2) { border-right: 1px solid #e7ebf2; } .image { flex: none; width: 100%; } .inner { padding: 15px 0 0; flex: 1; } } } &.-plain { flex-direction: column; .blog-item { min-width: 100%; border-bottom: 1px solid #e7ebf2; flex: 0 0 153px; padding: 18px 0; &.-hidden { opacity: 0; max-height: 0; padding: 0 !important; position: absolute; pointer-events: none; } .image { height: 153px; } .inner { flex: auto; padding-left: 20px; align-self: stretch; } } } } } .blog-item { display: flex; color: #3c4650; align-items: flex-start; transition: opacity 300ms; &.-top { align-items: stretch; max-height: 387px; .image { flex: none } } .image { flex: 0 0 296px; } .inner { position: relative; align-items: flex-start; display: flex; flex-direction: column; .datetime { font-size: 12px; color: #808a9d; transition: color 300ms; } } } .inner { .title { line-height: 40px; margin: 4px 0 13px; } .lead { font-size: 16px; line-height: 26px; margin-bottom: 29px; flex: initial; text-overflow: ellipsis; min-height: 0; overflow: hidden; } a.tag { border: 1px solid #a7b0bf; border-radius: 11px; color: #808a9d; font-size: 12px; padding: 0 6px; height: 18px; margin-right: 8px; margin-bottom: 8px; transition: ease-in-out .1s; &:hover { background-color: #3c4650; color: #FFF; border-color: #3c4650; transition: ease-in-out .1s; } } } }