html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; } body { height: 100vh; width: 100vw; padding: 0; margin: 0; position: relative; /* Need to exclude the scrollbar */ min-width: calc(100vw - (100vw - 100%)); min-height: calc(100vh - (100vh - 100%)); overflow: hidden; } #main { height: 100%; width: 100%; justify-content: center; display: flex; align-items: center; flex-direction: column; } .button-3d { display: block; position: relative; margin: 0.5em 0; padding: 0.8em 2.2em; cursor: pointer; background: #fff; border: none; border-radius: 0.4em; text-transform: uppercase; font-size: 1.4em; font-family: 'Work Sans', sans-serif; font-weight: 500; letter-spacing: 0.04em; mix-blend-mode: color-dodge; perspective: 500px; transform-style: preserve-3d; background-color: yellowgreen; } .lds-default { margin: 15% auto; position: relative; width: 80px; height: 80px; } .lds-default div { position: absolute; width: 6px; height: 6px; background: #4230e2; border-radius: 50%; animation: lds-default 1.2s linear infinite; } .lds-default div:nth-child(1) { animation-delay: 0s; top: 37px; left: 66px; } .lds-default div:nth-child(2) { animation-delay: -0.1s; top: 22px; left: 62px; } .lds-default div:nth-child(3) { animation-delay: -0.2s; top: 11px; left: 52px; } .lds-default div:nth-child(4) { animation-delay: -0.3s; top: 7px; left: 37px; } .lds-default div:nth-child(5) { animation-delay: -0.4s; top: 11px; left: 22px; } .lds-default div:nth-child(6) { animation-delay: -0.5s; top: 22px; left: 11px; } .lds-default div:nth-child(7) { animation-delay: -0.6s; top: 37px; left: 7px; } .lds-default div:nth-child(8) { animation-delay: -0.7s; top: 52px; left: 11px; } .lds-default div:nth-child(9) { animation-delay: -0.8s; top: 62px; left: 22px; } .lds-default div:nth-child(10) { animation-delay: -0.9s; top: 66px; left: 37px; } .lds-default div:nth-child(11) { animation-delay: -1s; top: 62px; left: 52px; } .lds-default div:nth-child(12) { animation-delay: -1.1s; top: 52px; left: 62px; } @keyframes lds-default { 0%, 20%, 80%, 100% { transform: scale(1); } 50% { transform: scale(1.5); } }