/* Variables for colours */
:root {
  --main-background-color:       #000;
  --navigation-background-color: #000;
  --white:     #ffffff;
  --black:     #000000;
  --sbtblue:   #0081de;
  --sbtpurple: #7b35b0;
  --sbtpink:   #f700b1;
  --sbtgrey:   #2c2c47;
  --sbtfont:   #b0b0bc;
}

/* Help older browsers deal with common HTML5/CSS3 elements. */
header, section, footer, aside, nav { 
	display: block;
}

/* Set up some global rules for the body. A lot of this is made redundant through further CSS, but good foundations are safe. */
body, .page {
	/* position: absolute; */
	max-width: 100%;
	min-height: 100%;
	/* width: 100vw; */ /* Set the global page width */
	width: 1000px;
	/* height: 100vh; */
	margin: auto;
	background-color: var(--main-background-color); /* Set background colour */
	/* color: rgba(0, 0, 0, 0.54); */
	color: var(--sbtfont); 
	font-family: 'Raleway', sans-serif; /* Sets the font priority for the body */
	font-size: medium; /* Set base font size */
	line-height: 200%; /* Sets line spacing to 200% for legibility */
}

#banner {
	width: 100%;
	float: none;
}

.hidden {
    visibility: hidden;
}

footer {
	position: fixed;
	bottom: 0;
	right: 5px;
	font-size: 9pt;
	width: 100%;
	text-align: right;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 25%);
}

small {
    text-align: left;
}

#main-nav {
	font-family: 'Raleway', sans-serif;
	top: -1px;
	position: -webkit-sticky; /* Safari */
	position: sticky;
	z-index: 5;
	font-size: 1.5em;
	margin-top: 6px;
	text-align: center;
	background: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 25%);
}

#main-nav ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
	/* background-color: var(--navigation-background-color); */
	color: #eee;
	margin-top: 3px;
}

#main-nav ul > li {
	/* float: left; */
	display: inline-block;
	border-top: 1px solid rgb(51,51,51);
	margin: 0 5px;
}

#main-nav li a, .dropbtn {
	display: inline-block;
	color: var(--sbtpurple);
	text-align: center;
	padding: 14px 16px;
	text-decoration: none;
	/* border-top: 1px solid rgb(51, 51, 51); */
	border-top: 3px solid var(--sbtgrey); 
}

#main-nav li a:hover, .dropdown:hover .dropbtn {
	color: var(--sbtblue);
	border-top: 3px solid var(--sbtpink); 
}

#main-nav li.dropdown {
	display: inline-block;
}

#footer-nav li a {
	display: inline-block;
	color: var(--sbtpurple);
	text-align: center;
	padding: 0px 10px;
	text-decoration: none;
	/* border-top: 1px solid rgb(51, 51, 51); */
	border-top: 1px solid var(--sbtgrey); 
}

#footer-nav ul > li {
	/* float: left; */
	display: inline-block;
	/* border-top: 1px solid rgb(51,51,51); */
	margin: 0 5px;
	color: rgba(255, 255, 255, 0.27)
}

#footer-nav li a:hover {
	color: var(--sbtblue);
	border-top: 1px solid var(--sbtpink); 
}

.dropdown-content {
	display: none;
	position: absolute;
	background-color: var(--black); 
	min-width: 160px;
	z-index: 1;
	font-size: smaller;
}

.dropdown-content a {
	color: var(--sbtpurple);
	padding: 12px 16px;
	text-decoration: none;
	display: block;
	text-align: left;
}

.dropdown-content a:hover {
	background-color: var(--black);
}

.dropdown:hover .dropdown-content {
	display: block;
}

h1, h2, h3, h4, h5, h6, th {
	font-family: 'Raleway', sans-serif;
	color: var(--sbtblue);
}

h1 {
	font-weight: 900;
}

h2 {
	font-weight: 100;
	font-style: italic;
}

dl.hours {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.25em 1em;
	margin-left: 2rem;
}

th {
	font-size: 1.2em;
	padding: 10px;
}

.left {
	float: left;
}

.right {
	float: right;
}

p {
	font-family: 'Raleway', sans-serif;
	font-size: 1em;
	margin-left: 2rem;
}

input, textarea {
	background-color: var(--main-background-color);
	color: var(--sbtfont);
}

a {
        color: var(--sbtblue);
}

a:visited {
        color: var(--sbtpink);
}
