@mixin a-underlined { a { border-bottom: 1px solid; color: $white; margin: -2px 0; padding: 2px 0; transition: border .2s, color .2s; &:hover { color: $red; text-decoration: none; } } } @mixin posts { .section.posts { .inner { display: grid; grid-gap: 1rem; grid-template-columns: repeat(2, 1fr); margin: 40px 0; a { color: $white-light; text-decoration: none; } article { background: $bg60; border-radius: 5px; color: $white; display: flex; flex-flow: column; height: 100%; padding: 20px 40px; transition: background .2s; &:hover { background: $bg50; } h2 { color: $white; display: flex; font-size: 18px; font-weight: 400; margin: 0 0 10px 0; min-height: 65px; text-align: center; span { margin: auto; } } p.description { color: $white-dark; flex: 1; font-size: 16px; margin: 20px 0; } p.meta { color: $white-dark; font-size: 14px; margin: 0; text-align: center; } } } } @media (max-width: 900px) { .section.posts .inner { grid-template-columns: repeat(1, 1fr); } } }