.container { background-color: var(--container-colour); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); text-shadow: 0 1px 4px #000; overflow: hidden; word-wrap: break-word; } .container--lazy { /* don't use this */ margin-bottom: 2px; } .container__title { display: block; overflow: hidden; } .container__title__text { font-size: 1.5em; line-height: 1.5em; padding: 8px 10px; word-wrap: break-word; } .container__title__link { color: inherit; text-decoration: none; } .container__title__link:hover { color: var(--accent-colour); } .container__title__background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; mask-image: linear-gradient(0deg, transparent 10%, var(--background-colour) 100%); -webkit-mask-image: linear-gradient(0deg, transparent 10%, var(--background-colour) 100%); background: var(--background-pattern); background-color: var(--accent-colour); background-blend-mode: multiply; } .container__content { /* only use this for text going forward, just throw your child directly after __title */ margin: 0; padding: 2px 5px; }