body { background: #f2f2f2; padding: 0; margin: 0; font-family: Roboto, sans-serif; } #header { height: 100px; width: 100%; background-color: rebeccapurple; position: fixed; top: 0; right: 0; line-height: 100px; text-align: center; z-index: 2; span { color: white; font-size: 2em; } } h1 { margin: 0; margin-bottom: 1rem; } #content { margin-top: 100px; min-height: calc(100vh - 100px); padding-top: 1rem; padding-bottom: 1rem; div.block { width: 800px; max-width: calc(100vw - 7rem); background: white; padding: 2rem; text-align: center; margin: { left: auto; right: auto; } &:nth-of-type(n + 2) { margin-top: 1rem; } } div#container { position: relative; height: 225px; left: 50%; transform: translateX(-50%); #img { display: block; height: 100%; width: auto; border-left: 9px solid #fff; transition: margin 0.5s ease, border-color 0.2s ease; } div#reflection { background: url(reflection.svg); background-size: cover; position: absolute; bottom: 0; width: 100%; height: 100%; transition: margin 0.5s ease; } } .col { display: inline-block; height: 70px; width: 70px; cursor: pointer; transition: background-color 0.2s ease; background-color: #fff; &:nth-child(n + 2) { margin-left: 4px; } } #customcol { margin-top: 1rem; input { padding: 0.5rem; transition: background-color 0.2s ease; &:invalid { background-color: lightcoral; } } } input#file { position: fixed; background-color: rgba(0, 0, 0, 0.5); z-index: 1; top: 0; left: 0; height: 100%; width: 100%; transition: opacity 0.3s ease; visibility: hidden; opacity: 0; &.show { visibility: visible; opacity: 1; } &:after { content: 'Drop cover image anywhere...'; color: white; text-shadow: rgb(0, 0, 0) 2px 0px 0px, rgb(0, 0, 0) 1.75517px 0.958851px 0px, rgb(0, 0, 0) 1.0806px 1.68294px 0px, rgb(0, 0, 0) 0.141474px 1.99499px 0px, rgb(0, 0, 0) -0.832294px 1.81859px 0px, rgb(0, 0, 0) -1.60229px 1.19694px 0px, rgb(0, 0, 0) -1.97998px 0.28224px 0px, rgb(0, 0, 0) -1.87291px -0.701566px 0px, rgb(0, 0, 0) -1.30729px -1.5136px 0px, rgb(0, 0, 0) -0.421592px -1.95506px 0px, rgb(0, 0, 0) 0.567324px -1.91785px 0px, rgb(0, 0, 0) 1.41734px -1.41108px 0px, rgb(0, 0, 0) 1.92034px -0.558831px 0px; position: fixed; top: 50%; left: 50%; transform: translateX(-50%); font-size: 2rem; } &:hover { cursor: pointer; & + label { background: rgb(144, 90, 199); } } & + label { color: white; background-color: rebeccapurple; padding: 0.9rem 1rem; transition: background-color 0.2s ease; svg { fill: white; padding-right: 5px; } } } } #footer { height: 100px; width: 100%; background-color: rgb(54, 30, 78); color: white; text-align: center; line-height: 100px; a { color: white; } }