/* RESET */
* { margin: 0; padding: 0; }
/*.clear { clear: both; }*/
img, a img { border: none; }
input { outline: 0; }

/**************************************************************************************************
 * BODY & PAGE CONTAINER DEFAULTS
 *************************************************************************************************/
body {	
	/* Standard font for the webpage */
	font: 18px/1.1 Helvetica, Sans-Serif;
	text-decoration: none;
	/* background-image: url('../images/EddSunset.jpg');
	background-size: cover; */
	background-color: #efefef;
	overflow-x: hidden; /* hide x scrollbar */
}

#container {
	margin: 0px auto;
	display: flex;
}

/* BANNER */
#banner {
    /* Set the banner image, size to 100% width of the container and 66px deep */
	width: 100%;
	padding: 15px;
	background-color: rgb(8, 24, 58, 0.85);
	color: #efefef;
	display: flex;
	margin-top: 25px;
	justify-content: space-between;
}
#titleArea {
	display: flex;
}
 
/* SIDEBAR */
#sidebar {
	height: 100%;
	max-width: 275px;
    background-color: rgb(0,0,0,0.75);
	font-size: large;
	transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
	position: fixed;
	top: 0;
	left: 0;
}	

/* CONTENT AREA */
#contentAndNav {
	display: flex;
}
#mainContent {
	margin: 20px 20px 20px 105px;
	padding: 10px;
    background-color: rgb(255,245,245,0.8);
	border-radius: 15px;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	width: 100%;
	transition: 0.5s; /* 0.5 second transition effect to slide in the sidenav */
}

/* LOGO */
#logo {
	/* Set the logo position - i1 just uses text, but later this may change to a fancy logo */
	width: 610px;
	float: left;
	margin: 5px 15px;	/* Use margin, padding not required */
}

/* CONTROL BUTTON AREA */
#control {
	width: 300px;
	float: right;
	padding: 20px;
	text-align: right;
}

/* HEADER */
#header {
	width: 100%;
    background-color: #aaaaaa;
}

/* LOGIN FORM */
#loginFormBox {
	width: 300px;
}

/**************************************************************************************************
 * TYPOGRAPHY
 *************************************************************************************************/
/* General */
h1 {
	color: #4b3d60;
	font: bold 36px Helvetica, Sans-Serif;
	text-decoration: none;
	align-self: center;
}
h2 {
	color: #4b3d60;
	font: bold 30px Helvetica, Sans-Serif;
	text-decoration: none;
	margin: 15px 6px;
}
h3 {
	color: #4b3d60;
	font: bold 26px Helvetica, Sans-Serif;
	text-decoration: none;
	margin-left: 20px;
}
h4 {
	color: #4b3d60;
	font: bold 18px Helvetica, Sans-Serif;
	text-decoration: none;
	margin-top: 8px;
}
h5 {
	color: #4b3d60;
	font: bold 20px Helvetica, Sans-Serif;
	text-decoration: none;
	margin: 15px 6px;
	line-height: 1.4;
}
p {
	margin: 15px 6px;
	line-height: 1.2;
}
a {
	color: #69356c;
	font-weight: bold;
    text-decoration: none;
}

/**************************************************************************************************
 * BUTTONS & MENUS
 *************************************************************************************************/
/* General */

/* Classes */
.button {
	background: #fc9c54;
	color: #eee;
	text-decoration: none;
	padding: 12px 12px;
	border: none;
	cursor: pointer;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	-webkit-appearance: none;
	-moz-appearance: none;
   	appearance: none;
	font: bold 16px Helvetica;
}
.sidebarLink {
	background: none;
	color: #eee;
	width: auto;
	height: 60px;
	text-align: left;
	padding: 0 10px 0 20px;
	font: bold 18px Helvetica;
	border-width: 2px 0 0 0;
	border-color: grey;
	border-style: solid;
	-webkit-appearance: none;
	-moz-appearance: none;
   	appearance: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
}
.sidebarListLink {
	color: #eee;
}
.sidebarButton {
	background: none;
	color: #eee;
	width: 275px;
	height: 60px;
	text-align: left;
	padding: 0 10px 0 20px;
	font: bold 18px Helvetica;
	border-width: 2px 0 0 0;
	border-color: grey;
	border-style: solid;
	-webkit-appearance: none;
	-moz-appearance: none;
   	appearance: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
}
.sidebarButton:hover, .sidebarLink:hover{
	background: #fc9c54;
	transition: box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .6s cubic-bezier(.25,.8,.25,1);
}
.button:hover {
	background: #D7E6F6;
	color: #104C83;
	transition: box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .6s cubic-bezier(.25,.8,.25,1);
}
.buttonNoBackground {
	width: 60px;
	background: none;
	border: none;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
   	appearance: none;
	font-size: 28px;
	text-align: center;
	color: #eee;
	cursor: pointer;
}
.buttonNoBackground:hover {
	background: #D7E6F6;
	color: #104C83;
	transition: box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .6s cubic-bezier(.25,.8,.25,1);
}
.navMenuImage {
	width: 60px;
}
.sidebarList > li {
	background: none;
	color: #eee;
	/* width: 275px; */
	height: 40px;
	text-align: left;
	padding: 0 10px 0 35px;
	font: bold 18px Helvetica;
	-webkit-appearance: none;
	-moz-appearance:    none;
   	appearance:         none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
}
.sidebarList > li:hover {
	background: #fc9c54;
	transition: box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .6s cubic-bezier(.25,.8,.25,1);
}

/* Individuals */
#toggleMenuButton {
	margin-right: 40px;
}

#sidebarToggleButton {
	margin: 10px 0 10px 205px;
}

/**************************************************************************************************
 * INPUT FORMS
 *************************************************************************************************/
/* General */
 label {
	color: #112222;
	width: 110px;
    clear: left;
	text-align: right;
	margin-top: 6px;
}
input {
	font-size: 14px;
	width: 130px;
	margin: 6px;
	padding: 6px;
	background-color: #eee;
	border-radius: 5px;
	border: 0.5px auto #112222;
}

/* Classes */
.dateTime {
	width: 130px;
}
.inputError {
	display: block;
	margin: 3px 0 12px 6px;
	color: #FF5555;
	font-size: 11px;
}
.nfResultsCT {
	margin: 0 0 10px 50px;
}
.nffColumn {
	margin-right: 25px;
	width: 270px;
}

/* Individuals */
#nightFlightResultsContainer {
    background: white;
    border: 2px black solid;
    border-radius: 10px;
}
#nffInputContainer {
	margin: 15px 6px;
}
#nffLatLonContainer, #nffTimesContainer, #nightFlightCalculatorContainer {
	display: inline-flex;
}
#nffControlsContainer {
	margin-left: 6px;
}
#username {
	margin-bottom: 10px;
}

/**************************************************************************************************
 * FIGURES & IMAGES
 *************************************************************************************************/
#heroImage {
	width: 400px;
	height: 300px;
	border-radius: 10px;
}
.inlineImage {
	width: 100%;
	max-height: 450px;
	border-radius: 10px;
}
.leftPageFigure {
	float: left;
	max-width: 49%;
	padding: 15px;
}
.rightPageFigure {
	float: right;
	max-width: 49%;
	padding: 15px;
}
.centerPageFigure {
	width: 100%;
	text-align: center;
	padding: 15px;
}
figcaption {
	text-align: center;
	font: 14px/0.8 Helvetica, Sans-Serif;
	margin-top: 10px;
}
.inlineBlock {
	display: inline-block;
}

/**************************************************************************************************
 * LISTS
 *************************************************************************************************/
ol {
	margin: 12px 40px;
}
ul {
	margin: 12px 40px;
}
ul li, ol li {
	margin-top: 6px;
	line-height: 1.2;
}

/**************************************************************************************************
 * TABLES
 *************************************************************************************************/
.tableWrapper {
  	overflow-x: auto;
}

.tableWrapper::-webkit-scrollbar {
  	height: 8px;
}

.tableWrapper::-webkit-scrollbar-thumb {
	background: #2b203a;
	border-radius: 40px;
}

.tableWrapper::-webkit-scrollbar-track {
	background: white;
	border-radius: 40px;
}

.tableWrapper table {
	margin: 20px 0 20px;
	border-collapse: collapse;
	text-align: center;
}

.tableWrapper table th,
.tableWrapper table td {
	padding: 10px;
	min-width: 75px;
}

.tableWrapper table th {
	color: white;
	background: #2b203a;
}

.tableWrapper table a {
	color: #dcd3e6;
}

.tableWrapper table tbody tr:nth-of-type(even) {
  	background: #dcd3e6;
}

 /**************************************************************************************************
 * OTHER ITEMS
 *************************************************************************************************/
#flightHours {
	text-align: right;
}
#flightHours td, #flightHours th {
	padding: 6px 8px;
	border-top: 1px grey;
}
#airfieldsMap {
	width: 100%;
	max-width: 1024px;
	height: 480px;
	border: none;
    border-radius: 10px;
}
#walkingMap {
	height: 700px;
	width: 100%;
}

/**************************************************************************************************
 * TIMELINE
 *************************************************************************************************/
.tdLeftAlign {
	text-align: left;
	padding-left: 0;
}
/* The actual timeline (the vertical ruler) */
.timeline {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}
/* The actual timeline (the vertical ruler) */
.timeline::after {
	content: '';
	position: absolute;
	width: 6px;
	background-color: white;
	top: 0;
	bottom: 0;
	left: 50%;
	margin-left: -3px;
}
/* Container around timeline content */
.tlContainer {
	padding: 10px 40px;
	position: relative;
	background-color: inherit;
	width: 50%;
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
	cursor: pointer;
}
/* The circles on the timeline */
.tlContainer::after {
	content: '';
	position: absolute;
	width: 25px;
	height: 25px;
	right: -17px;
	background-color: white;
	border: 4px solid #FF9F55;
	top: 15px;
	border-radius: 50%;
	z-index: 1;
}
/* Place the tlContainer to the left */
.tlLeft {
	left: 0;
}
/* Place the tlContainer to the right */
.tlRight {
	left: 50%;
}
/* Add arrows to the left tlContainer (pointing right) */
.tlLeft::before {
	content: " ";
	height: 0;
	position: absolute;
	top: 22px;
	width: 0;
	z-index: 1;
	right: 30px;
	border: medium solid white;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent white;
}
/* Add arrows to the right tlContainer (pointing left) */
.tlRight::before {
	content: " ";
	height: 0;
	position: absolute;
	top: 22px;
	width: 0;
	z-index: 1;
	left: 30px;
	border: medium solid white;
	border-width: 10px 10px 10px 0;
	border-color: transparent white transparent transparent;
}
/* Fix the circle for tlContainers on the right side */
.tlRight::after {
	left: -16px;
}
/* The actual timeline content */
.tlContent {
	padding: 20px 10px;
	background-color: white;
	position: relative;
	border-radius: 6px;
}
/* Set size of timeline images */
.tlThumbnail {
	width: 200px;
	height: auto;
}
/* Set size of timeline images */
.tlHeader {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}
/* Media queries - Responsive timeline on screens less than 600px wide */
@media screen and (max-width: 600px) {
	/* Place the timelime to the left */
	.timeline::after {
		left: 31px;
	}
	/* Full-width tlContainers */
	.tlContainer {
		width: 100%;
		padding-left: 70px;
		padding-right: 25px;
	}
	/* Make sure that all arrows are pointing leftwards */
	.tlContainer::before {
		left: 60px;
		border: medium solid white;
		border-width: 10px 10px 10px 0;
		border-color: transparent white transparent transparent;
	}
	/* Make sure all circles are at the same spot */
	.tlLeft::after, .tlRight::after {
		left: 15px;
	}
	/* Make all right tlContainers behave like the left ones */
	.tlRight {
		left: 0%;
	}
}