<!-- Main Body -->
<div class="main-body">
	<div id="greetingArea" class="greeting-area">
		<p class="display-4 greeting">Hello There!</p>
		<p class="lead user-message">Welcome to the taco bar! Before we get started, we'd like to provide the best user experience possible! Can you tell us if you're a lefty or righty?</p>
		<div id="darkModeToggle" class="toggle" aria-describedby="darkModeToggleHelp">
			<input type="checkbox" id="theHolyToggle" />
			<label class="d-inline-block" for="theHolyToggle"></label>
		</div>
		<button class="btn btn-dark mt-3" onclick="setHandPreference();">Let's get Cookin'</button>
	</div>
	<div id="mainContent" class="main-content">
		<p class="lead">Thanks for checking us out!</p>
		<button class="btn btn-dark mt-3" onclick="reset();">Go Back in Time</button>
	</div>
</div>

<!-- Sidebar -->
<div id="sidebar" class="sidebar bg-dark pt-1">
	<a class="navbar-brand pl-3" href="#">
		<h1 class="d-inline">🌮</h1> <span>Taco Bar</span>
	</a>
	<ul class="nav navbar-nav" id="tacoBar" role="tablist">
		<li class="nav-item">
			<a class="nav-link active" id="link-1" data-toggle="tab" href="#tab1" role="tab" aria-controls="tab1" aria-selected="true">
				<i class="fas fa-info-circle"></i>
				<span>About</span>
			</a>
		</li>
		<li class="nav-item">
			<a class="nav-link" id="link-1" data-toggle="tab" href="#tab1" role="tab" aria-controls="tab1" aria-selected="true">
				<i class="fas fa-boxes"></i>
				<span>Ingredients</span>
			</a>
		</li>
		<li class="nav-item">
			<a class="nav-link" id="link-1" data-toggle="tab" href="#tab1" role="tab" aria-controls="tab1" aria-selected="true">
				<i class="fas fa-comment-alt"></i>
				<span>Reviews</span>
			</a>
		</li>
		<li class="nav-item">
			<a class="nav-link" id="link-1" data-toggle="tab" href="#tab1" role="tab" aria-controls="tab1" aria-selected="true">
				<i class="fas fa-cog"></i>
				<span>Settings</span>
			</a>
		</li>
		<li class="nav-item" onclick="toggleSidebar();">
			<a class="nav-link">
				<i id="sidebarStateIcon" class="fas fa-ellipsis-h"></i>
			</a>
		</li>
	</ul>
</div>

<!-- Signature -->
<p class="taco-signature">🌮 made this with 💕</p>
/* Template Overrides */
html, body {
	background-color: #FDEB71;
	background-image: linear-gradient( 135deg, #FDEB71 10%, #F8D800 100%);
}
.toggle > label::after {
	content: '👈';
	top: -5px;
}
.toggle > input[type="checkbox"]:checked + label::after {
	content: '👉';
}

.sidebar {
	position: fixed;
	top: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	opacity: 0;
	transition: 0.3s linear all;
}
.sidebar.show {
	animation: fade-in 1s linear forwards;
}
.sidebar a {
	color: var(--color-white);
	text-align: center;
	cursor: pointer !important;
}
.sidebar a:hover i {
	color: var(--color-yellow);
}
.sidebar .nav-link {
	padding-left: 10px;
	padding-right: 10px !important;
	height: 40px;
}
.sidebar .nav-link.active {
	border-color: var(--color-yellow) !important;
}
.sidebar .nav-link i, .sidebar .nav-link span {
	font-size: 20px;
}
.sidebar:not(.open) .navbar-brand span,
.sidebar:not(.open) .nav-link span {
	display: none;
}

/* Lefty Support */
body.lefty .sidebar {
	left: 0;
}
body.lefty .sidebar .nav-link {
	border-left: 5px solid transparent;
	padding-right: 5px;
}
body.lefty .sidebar.open .nav-link i {
	float: right;
}
body.lefty .sidebar.open .nav-link span {
	float: left;
}
body.lefty .sidebar.open + .main-body .main-content {
	padding-left: 100px;
}

/* Righty Support */
body.righty .sidebar {
	right: 0;
}
body.righty .sidebar .nav-link {
	border-right: 5px solid transparent;
	padding-right: 5px;
}
body.righty .sidebar.open .nav-link i {
	float: left;
}
body.righty .sidebar.open .nav-link span {
	float: right;
}

/* Main Body */
.main-body {
	height: 100%;
}
.main-body .greeting-area,
.main-body .main-content {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: 100%;
}
.main-body .main-content {
	display: none;
	opacity: 0;
}
.main-body .main-content.active {
	display: flex;
	animation: 1s fade-in ease-in forwards;
	animation-delay: 2s;
}
.main-body .greeting-area.fly-down {
	position: fixed;
	bottom: 0;
	animation: 1s fly-down ease-in forwards;
}
.main-body .greeting-area > * {
	opacity: 0;
}
.main-body .greeting-area .greeting {
	animation: fade-in 1s ease-in forwards;
}
.main-body .greeting-area .user-message {
	max-width: 50%;
	text-align: center;
	animation: fade-in 1.5s linear forwards;
	animation-delay: 1.5s;
}
.main-body .greeting-area .toggle {
	animation: fade-in 1s linear forwards;
	animation-delay: 5s;
}
.main-body .greeting-area .btn {
	animation: fade-in 1s linear forwards;
	animation-delay: 6s;
}

/* Responsive Support */
@media only screen and (max-width: 600px) {
  .main-body .user-message {
    max-width: 80%;
  }
}

/* Animations */
@keyframes fade-in {
	100% { opacity: 1; }
}
@keyframes fly-down {
	100% { bottom: -5000px; }
}
// The JavaScript here may seem a bit redundant, but it errs on the safe side.
var sidebar = document.getElementById("sidebar");
var mainContent = document.getElementById("mainContent");
var greetingArea = document.getElementById("greetingArea");
var sidebarStateIcon = document.getElementById("sidebarStateIcon");
function setHandPreference() {
	if (document.getElementById("theHolyToggle").checked)
		document.body.classList.add("righty");
	else
		document.body.classList.add("lefty");
	
	sidebar.classList.add("show");
	mainContent.classList.add("active");
	greetingArea.classList.add("fly-down");
}
function toggleSidebar() {
	sidebar.classList.toggle('open');
	sidebarStateIcon.classList.toggle('fa-ellipsis-h');
	sidebarStateIcon.classList.toggle('fa-ellipsis-v');
}
function reset() {
	document.body.classList.remove('lefty');
	document.body.classList.remove('righty');
	sidebar.classList.remove('open');
	sidebar.classList.remove('show');
	mainContent.classList.remove('active');
	greetingArea.classList.remove('fly-down');
	sidebarStateIcon.className = 'fas fa-ellipsis-h';
}

External CSS

  1. https://assets.codepen.io/2940219/TacosOnTitan.css
  2. https://use.fontawesome.com/releases/v5.8.1/css/all.css
  3. https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css

External JavaScript

  1. https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js
  2. https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/js/bootstrap.min.js