*, *:before, *:after {
  box-sizing: border-box;
}

.install-prompt-container {
  position: fixed;
  bottom: 20px;
  right: 20px;
  padding: 1rem;
  background-color: #f8f9fa; /* A light background color */
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  gap: 1rem;
  z-index: 1000;
}

.install-prompt-container .button-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.dropdown-menu {
	border-radius: 1.5rem;
  	box-shadow: 1rem 1rem 1rem rgba(0,0,0,.21);
}

.dropdown-item {
	color:rgb(0, 155, 119);
}
.dropdown-item:hover {
	color: white;
	background-color: rgb(0, 155, 119);
}

body {
    font-family: sans-serif;
    color: #333;
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
}

main.container {
    display: flex;
    flex-direction: column;
}

.subtitle {
	display: none;
}

.row {
    flex-grow: 1;
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
}

.col-md-12 {
    display: flex;
    flex-direction: column;
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
}

.prevnext{
	padding: 0em 2em 2em 2em;
}

.copyright {
	padding: 0em 0em 0em 1em;
	margin: 0px 0px 0px 0px;
}

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1020;
    border-bottom: 1px solid #007d60;
    background-color: rgb(0, 155, 119) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.navbar-brand, .nav-link {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    color: #fff !important;
    font-weight: bold;
    letter-spacing: 1px;
}

.nav-link:hover {
    color: #e8f1f2 !important;
}

.category {
	color: #007d60;
	font-weight: bold;
}

#home {
	background-color: #ffffff;
	padding: 2rem 2rem 2rem 2rem;
	margin: 2rem auto 2rem auto;

    display: flex;
    flex-direction: column;
	width: 100%;
	max-width: 1020px;
	border-radius: 1em;

	font-size: 1.1rem;

}
#home p {
	margin-top: 1rem;
}
#home h1 {
	margin-bottom: 1rem;
}

.scene-card {
    background-color: #ffffff;
	padding: 20px 0px 0px 0px;

    display: flex;
    flex-direction: column;

	width: 100%;
	max-width: 1020px;
    height: calc(100vh - 218px); 
}

.scene-header {
    text-align: center;
    flex-shrink: 0;
}

.scene-title {
    font-family: 'Courier Prime', monospace;
    font-weight: 700;
    font-size: 1.5rem;
    text-decoration: none;
    color: #333;
}

.scene-category {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 0.9rem;
    color: #5a7d90;
    text-transform: uppercase;
	padding-bottom: 1rem;
}

.scene-content {
    font-family: 'Courier Prime', monospace;
    font-size: 1.1rem;
    line-height: 1.8;

	padding-right: 1rem;
	padding-left: 1.7rem;
    padding-top: 0rem;
    overflow-y: auto;
}

/* Overriding Bootstrap Button Styles */
.btn {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    border-radius: 50rem;
    font-weight: 700;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 2px 4px rgba(0,0,0,0.25);
    padding: .5rem 1.5rem;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.btn-outline-dark {
    background-color: transparent;
    border-color: #009B77;
    color: #009B77;
}

.btn-outline-dark:hover {
    background-color: #009B77;
    border-color: #009B77;
    color: #fff;
}

.btn-outline-dark.disabled, .btn-outline-dark:disabled {
    background-color: transparent;
    border-color: #ced4da;
    color: #ced4da;
    opacity: 0.7;
    box-shadow: none;
}

footer {
    background-color: #d1d9e0 !important; /* Bolder footer background */
    border-top: 1px solid #cdd5db;
    position: fixed; /* Fix the footer to the bottom */
    bottom: 0px;
    left: 0;
    width: 100%;
    z-index: 1010;
}

/* --- Non-Mobile Device Adjustments --- */
@media (min-width: 1024px) {

	.prevnext{
		padding: 0em 6em 0em 6em;
	}

	.copyright {
		padding: 3em 0em 0em 4em;
	}

	.row {
		margin-top: 2em;
	}

	.subtitle {
		display: block;
	}

	#home {
		background-color: #ffffff;
		padding: 2rem 2rem 2rem 2rem;
		margin: 2rem auto 2rem auto;

		display: flex;
		flex-direction: column;

		width: 90%;
		border-radius: 1em;
	}

	.scene-card {
		background-color: #ffffff;
		border: 1px solid #dde4e8; 

		padding: 20px 0px 0px 0px;
		margin: auto auto;

		box-shadow: 0 10px 25px rgba(44, 62, 80, 0.1), 0 5px 10px rgba(44, 62, 80, 0.06);
		border-radius: 1em; 
		
		display: flex;
		flex-direction: column;
		
		width: 90%;
		max-width: 1200px;
		height: calc(100vh - 300px); 
	}

	.container {
		margin: auto auto;
	}

	body {
		background-color: #e8f1f2; 
		padding: 2rem 0px 0px 0px;
	}

	main {
		width: 100%;
		max-width: 1280px;
		margin: auto auto;
	}

	footer {
		bottom: 0px;
	}

}
