.icon { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); line-height: 16px; } .sun { height: 16px; width: 16px; border-radius: 100%; background: var(--gray900); z-index: 1; } .moon { height: 16px; width: 16px; border-radius: 100%; background: var(--gray900); } .moon:before { content: ''; position: absolute; height: 13px; width: 13px; left: -2px; top: 0; bottom: 0; margin: auto; border-radius: 100%; background: var(--gray50); } .light .moon { display: none; } .dark .sun { display: none; }