.main { display: flex; background: #f00; } .main-social { overflow: auto; flex-grow: 1; background: #f44; } .main div { padding: 2%; } .main #photos { flex: 1; align-self: flex-start; position: sticky; top: 0; background: #eee; } .main #bio { flex: 2; background: #bbb; } #photos img { width: 25%; border-color: #ddd; border-width: 1vw; border-style: solid; border-radius: 10%; filter: grayscale(1); transition: filter 1s; } #photos img:hover { filter: none; }