ul { padding: 0; list-style-position: inside; list-style-type: decimal; } #hello { margin: 1rem 0; } #contact { border: 1px solid var(--text-dim); box-shadow: 5px -5px 0px #999, 10px -10px 0px #666, 15px -15px 0px #333; padding: 1rem 2rem 1rem 1rem; /* allocate the space for the boxshadow */ margin-right: 15px; max-width: var(--pwidth); height: min-content; } #banner-container { width: 256px; } #banner-info { display: flex; flex-direction: row; justify-content: space-between; margin-top: -0.25rem; margin-top: -0.25rem; } #banner-info p { margin: 0; color: var(--text-dim); font-style: italic; } #banner { /* the banner has specific dimensions and i want it to keep them */ box-sizing: content-box; width: 256px; height: 40px; /*min(100%, calc(var(--pwidth) + 15px));*/ border: 1px solid var(--text-dim); } #contact>h2 { margin-top: 0; } #contact>ul { margin: 0; list-style: none; padding: 0; } /* too-narrow. "mobile" style */ @media (max-width: 50rem) { #contact { margin-top: 2rem; margin-right: 1rem; } #banner-container { /* 256px in 100% calc... i do not know. it worked better than 241px. */ /* 241px because 256px - 15px (15px from contact dropshadows) */ margin-left: min(calc(100% - 256px), calc(var(--pwidth) - 241px)); margin-top: 1rem; } } /* too-narrow to do some desktop things. narrower than we might want, but still pretty thick */ @media (min-width: 50rem) { #hello { display: grid; grid-template-columns: 30rem 1fr; row-gap: 1rem; column-gap: 1rem; width: fit-content; } #hello>p, #hello>h1 { grid-column: 1 / 2; margin: 0; } #hello>#contact { grid-column: 2 / 3; grid-row: 2 / 5; width: fit-content; } #banner-container { /*max-width: 16rem;*/ grid-column: 2; grid-row: 4 / 6; } }