:root { --main-background-color: white; --main-text-color: black; --main-highlight-color: cyan; } body { background-color: var(--main-background-color); color: --main-invert-color; display: flex; flex-direction: column; margin: 0; min-height: 100vh; } main { display: flex; flex-direction: column; align-items: center; margin: 1rem 0; } nav { display: flex; width: 100%; background-color: yellowgreen; padding: 0 20%; } nav ol { display: flex; flex-direction: row; align-items: center; list-style-type: none; } nav ol li { margin: auto 1rem; } nav ol li button { background-color: transparent; padding: 0.5rem; font-size: large; } footer { display: flex; align-items: center; flex-direction: column; position:fixed; width: 100%; bottom: 0; background-color: yellowgreen; } footer p:last-child { font-weight: bolder; } .text-bubble { /* transform: rotate(90deg); */ position: relative; margin: auto; margin-left: 658px; margin-top: -385px; z-index: 2; } .dialog { height: 200px; width: 400px; background-color: var(--main-background-color); position: relative; border-radius: 10%; display: flex; text-align: center; border: 1px solid black; } .left-point { width: 0; height: 0; border-left: 1rem solid transparent; border-right: 1rem solid transparent; border-top: 5rem solid black; position: absolute; margin-top: 30%; margin-left: -10%; transform: rotate(60deg) ; z-index: -1; } .shifted { transform:rotate(60deg) translate(0px,-2px); border-top: 5rem solid white; z-index: 4; } .speech { z-index: 3; margin: auto; padding: 30px; position: relative; text-align: justify; }