/* Customised bootstrap elements; redefine root colours to improve contrast
:root { --primary: #757575; --secondary: #974bda; --success: #36d34d; --info: #3e60b5; --warning: #f59934; --danger: #eb272b; --light: #ccc; --dark: #444; }
:root { --bg-primary: #4a4a4a; --bg-secondary: #571971; --bg-success: #077118; --bg-info: #1f1f87; --bg-warning: #be6107; --bg-danger: #980909; --bg-light: #888; --bg-dark: #232323; }
:root { --bd-primary: #777; --bd-secondary: #822ea2; --bd-success: #46dc5c; --bd-info: #5652c5; --bd-warning: #ffc06c; --bd-danger: #dd2828; --bd-light: #bdbdbd; --bd-dark: #3d3d3d; }
*/

/* Sticky footer requirements; and responsive font definitions */
html { position: relative; min-height: 100%; font-size: 1rem; }
/* Sticky footer requirements */
body { margin-bottom: 30px; }
.footer { position: absolute; bottom: 0; width: 100%; height: 30px; line-height: 25px; background-color: var(--bg-secondary); }

/* 
@media (min-width: 576px) {
	html { font-size: 1.5rem; }
}

@media (min-width: 768px) {
	html { font-size: 1.4rem; }
}

@media (min-width: 992px) {
	html { font-size: 1.1rem; }
}

@media (min-width: 1200px) {
	html { font-size: 1rem; }
}
/* Manual media query; complied responsive font sizes -- TO CHECK AGAINST ABOVE!! */
/*@media (max-width: 1200px) {
	body { font-size: calc(1rem + 1vw); }
	legend { font-size: calc(1.275rem + 0.3vw); }
	h1, .h1 { font-size: calc(1.375rem + 1.5vw); }
	h2, .h2 { font-size: calc(1.325rem + 0.9vw); }
	h3, .h3 { font-size: calc(1.3rem + 0.6vw); }
	h4, .h4 { font-size: calc(1.275rem + 0.3vw); }
	h5, .h5 { font-size: calc(1.225rem + 0.2vw); }
	h6, .h6 { font-size: calc(1.2rem + 0.1vw); }
	.display-1 { font-size: calc(1.725rem + 5.7vw); }
	.display-2 { font-size: calc(1.675rem + 5.1vw); }
	.display-3 { font-size: calc(1.575rem + 3.9vw); }
	.display-4 { font-size: calc(1.475rem + 2.7vw); }
	.close { font-size: calc(1.275rem + 0.3vw); }
}*/

/* Minor tweak to background colour */
.bg-dark { background-color: #343040 !important; }

/* Custom navigation menu background */
/* TODO: Reduce flames to small edges?  Add the blue aurora back in? */
/*.navbar-flame { background-image: url('/pics/GRS Flame.png'); }*/

/* Horizontal rule customisation
hr { border-top: 1px solid #938; }
*/

/* Dropdown divider (menu separators) colour update and dropdown arrow spacing
.dropdown-divider { height: 0; margin: 0.5rem 0.3rem; overflow: hidden; border-top: 1px solid #555; }
.dropdown-toggle::after { display: inline-block; margin-left: 0.5em; vertical-align: 0.255em; content: ""; border-top: 0.3em solid; border-right: 0.3em solid transparent; border-bottom: 0; border-left: 0.3em solid transparent; }
*/

/*	All borders changed to 2px
.border { border-width: 2px !important; }
*/

/* Alerts set to root colours
.alert-primary { color: var(--primary); background-color: var(--bg-primary); border-color: var(--bd-primary); }
.alert-secondary { color: var(--secondary); background-color: var(--bg-secondary); border-color: var(--bd-secondary); }
.alert-success { color: var(--success); background-color: var(--bg-success); border-color: var(--bd-success); }
.alert-info { color: var(--info); background-color: var(--bg-info); border-color: var(--bd-info); }
.alert-warning { color: var(--warning); background-color: var(--bg-warning); border-color: var(--bd-warning); }
.alert-danger { color: var(--danger); background-color: var(--bg-danger); border-color: var(--bd-danger); }
.alert-light { color: var(--light); background-color: var(--bg-light); border-color: var(--bd-light); }
.alert-dark { color: var(--dark); background-color: var(--bg-dark); border-color: var(--bd-dark); }
*/

/* List groups set to root colours
.list-group-item-primary { color: var(--primary); background-color: var(--bg-primary); }
	.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { color: #004085; background-color: var(--primary); }
	.list-group-item-primary.list-group-item-action.active { color: #fff; background-color: #004085; border-color: var(--bd-primary); }
.list-group-item-secondary { color: var(--secondary); background-color: var(--bg-secondary); }
	.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { color: #383d41; background-color: var(--secondary); }
	.list-group-item-secondary.list-group-item-action.active { color: #fff; background-color: #383d41; border-color: var(--bd-secondary); }
.list-group-item-success { color: var(--bg-success); background-color: var(--bg-success); }
	.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { color: #155724; background-color: var(--success); }
	.list-group-item-success.list-group-item-action.active { color: #fff; background-color: #155724; border-color: var(--bd-success); }
.list-group-item-info { color: var(--info); background-color: var(--bg-info); }
	.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { color: #0c5460; background-color: var(--info); }
	.list-group-item-info.list-group-item-action.active { color: #fff; background-color: #0c5460; border-color: var(--info); }
.list-group-item-warning { color: var(--warning); background-color: var(--bg-warning); }
	.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { color: #856404; background-color: var(--warning); }
	.list-group-item-warning.list-group-item-action.active { color: #fff; background-color: #856404; border-color: #856404; }
.list-group-item-danger { color: var(--danger); background-color: var(--bg-danger); }
	.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { color: #721c24; background-color: var(--danger); }
	.list-group-item-danger.list-group-item-action.active { color: #fff; background-color: #721c24; border-color: #721c24; }
.list-group-item-light { color: var(--light); background-color: var(--bg-light); }
	.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { color: #818182; background-color: var(--light); }
	.list-group-item-light.list-group-item-action.active { color: #fff; background-color: #818182; border-color: #818182; }
.list-group-item-dark { color: var(--dark); background-color: var(--bg-dark); }
	.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { color: #1b1e21; background-color: var(--dark); }
	.list-group-item-dark.list-group-item-action.active { color: #fff; background-color: #1b1e21; border-color: #1b1e21; }
*/ 

/* Texts set to root colours
.text-primary { color: var(--primary) !important; }
.text-secondary { color: var(--secondary) !important; }
.text-success { color: var(--success) !important; }
.text-info { color: var(--info) !important; }
.text-warning { color: var(--warning) !important; }
.text-danger { color: var(--danger) !important; }
.text-light { color: var(--light) !important; }
.text-dark { color: var(--dark) !important; }
*/

/* Buttons set to root colours
.btn-primary { color: var(--primary); background-color: var(--bg-primary); border-color: var(--bd-primary); }
	.btn-primary:hover { color: var(--bg-primary); background-color: var(--primary); border-color: var(--bg-primary); }
	.btn-primary:focus, .btn-primary.focus { box-shadow: 0 0 0 0.2rem rgba(220, 220, 220, 0.5); }
	.btn-primary.disabled, .btn-primary:disabled { color: var(--primary); background-color: var(--bg-primary); border-color: var(--bd-primary); }
	.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle { color: #bbb; background-color: #666; border-color: #eee; }
		.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(220, 220, 220, 0.5); }

.btn-secondary { color: var(--secondary); background-color: var(--bg-secondary); border-color: var(--bd-secondary); }
	.btn-secondary:hover { color: var(--bg-secondary); background-color: var(--secondary); border-color: var(--bg-secondary); }
	.btn-secondary:focus, .btn-secondary.focus { box-shadow: 0 0 0 0.2rem rgba(220, 220, 220, 0.5); }
	.btn-secondary.disabled, .btn-secondary:disabled { color: var(--secondary); background-color: var(--bg-secondary); border-color: var(--bd-secondary); }
	.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { color: #fff; background-color: #6c08ba; border-color: #eee; }
		.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }

.btn-success { color: var(--success); background-color: var(--bg-success); border-color: var(--bd-success); }
	.btn-success:hover { color: var(--bg-success); background-color: var(--success); border-color: var(--bg-success); }
	.btn-success:focus, .btn-success.focus { box-shadow: 0 0 0 0.2rem rgba(220, 220, 220, 0.5); }
	.btn-success.disabled, .btn-success:disabled { color: var(--success); background-color: var(--bg-success); border-color: var(--bd-success); }
	.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle { color: #fff; background-color: #1e7e34; border-color: #eee; }
		.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }

.btn-info { color: var(--info); background-color: var(--bg-info); border-color: var(--bd-info); }
	.btn-info:hover { color: var(--bg-info); background-color: var(--info); border-color: var(--bg-info); }
	.btn-info:focus, .btn-info.focus { box-shadow: 0 0 0 0.2rem rgba(220, 220, 220, 0.5); }
	.btn-info.disabled, .btn-info:disabled { color: var(--info); background-color: var(--bg-info); border-color: var(--bd-info); }
	.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle { color: #fff; background-color: #117a8b; border-color: #eee; }
		.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }

.btn-warning { color: var(--warning); background-color: var(--bg-warning); border-color: var(--bd-warning); }
	.btn-warning:hover { color: var(--bg-warning); background-color: var(--warning); border-color: var(--bg-warning); }
	.btn-warning:focus, .btn-warning.focus { box-shadow: 0 0 0 0.2rem rgba(220, 220, 220, 0.5); }
	.btn-warning.disabled, .btn-warning:disabled { color: var(--warning); background-color: var(--bg-warning); border-color: var(--bd-warning); }
	.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle { color: #fcd462; background-color: #d39e00; border-color: #eee; }
		.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }

.btn-danger { color: var(--danger); background-color: var(--bg-danger); border-color: var(--bd-danger); }
	.btn-danger:hover { color: var(--bg-danger); background-color: var(--danger); border-color: var(--bg-danger); }
	.btn-danger:focus, .btn-danger.focus { box-shadow: 0 0 0 0.2rem rgba(220, 220, 220, 0.5); }
	.btn-danger.disabled, .btn-danger:disabled { color: var(--danger); background-color: var(--bg-danger); border-color: var(--bd-danger); }
	.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle { color: #fff; background-color: #bd2130; border-color: #eee; }
		.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }

.btn-light { color: var(--light); background-color: var(--bg-light); border-color: var(--bd-light); }
	.btn-light:hover { color: var(--bg-light); background-color: var(--light); border-color: var(--bg-light); }
	.btn-light:focus, .btn-light.focus { box-shadow: 0 0 0 0.2rem rgba(220, 220, 220, 0.5); }
	.btn-light.disabled, .btn-light:disabled { color: var(--light); background-color: var(--bg-light); border-color: var(--bd-light); }
	.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle { color: #212529; background-color: #dae0e5; border-color: #eee; }
		.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }

.btn-dark { color: var(--dark); background-color: var(--bg-dark); border-color: var(--bd-dark); }
	.btn-dark:hover { color: var(--bg-dark); background-color: var(--dark); border-color: var(--bg-dark); }
	.btn-dark:focus, .btn-dark.focus { box-shadow: 0 0 0 0.2rem rgba(220, 220, 220, 0.5); }
	.btn-dark.disabled, .btn-dark:disabled { color: var(--dark); background-color: var(--bg-dark); border-color: var(--bd-dark); }
	.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle { color: #fff; background-color: #1d2124; border-color: #eee; }
		.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }

.btn-outline-primary { color: #007bff; border-color: #007bff; }
	.btn-outline-primary:hover { color: #fff; background-color: #007bff; border-color: #007bff; }
	.btn-outline-primary:focus, .btn-outline-primary.focus { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
	.btn-outline-primary.disabled, .btn-outline-primary:disabled { color: #007bff; background-color: transparent; }
	.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle { color: #fff; background-color: #007bff; border-color: #007bff; }
		.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }

.btn-outline-secondary { color: #6c757d; border-color: #6c757d; }
	.btn-outline-secondary:hover { color: #fff; background-color: #6c757d; border-color: #6c757d; }
	.btn-outline-secondary:focus, .btn-outline-secondary.focus { box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
	.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { color: #6c757d; background-color: transparent; }
	.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle { color: #fff; background-color: #6c757d; border-color: #6c757d; }
		.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

.btn-outline-success { color: #28a745; border-color: #28a745; }
	.btn-outline-success:hover { color: #fff; background-color: #28a745; border-color: #28a745; }
	.btn-outline-success:focus, .btn-outline-success.focus { box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
	.btn-outline-success.disabled, .btn-outline-success:disabled { color: #28a745; background-color: transparent; }
	.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle { color: #fff; background-color: #28a745; border-color: #28a745; }
		.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }

.btn-outline-info { color: #17a2b8; border-color: #17a2b8; }
	.btn-outline-info:hover { color: #fff; background-color: #17a2b8; border-color: #17a2b8; }
	.btn-outline-info:focus, .btn-outline-info.focus { box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
	.btn-outline-info.disabled, .btn-outline-info:disabled { color: #17a2b8; background-color: transparent; }
	.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle { color: #fff; background-color: #17a2b8; border-color: #17a2b8; }
		.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }

.btn-outline-warning { color: #ffc107; border-color: #ffc107; }
	.btn-outline-warning:hover { color: #212529; background-color: #ffc107; border-color: #ffc107; }
	.btn-outline-warning:focus, .btn-outline-warning.focus { box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
	.btn-outline-warning.disabled, .btn-outline-warning:disabled { color: #ffc107; background-color: transparent; }
	.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle { color: #212529; background-color: #ffc107; border-color: #ffc107; }
		.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }

.btn-outline-danger { color: #dc3545; border-color: #dc3545; }
	.btn-outline-danger:hover { color: #fff; background-color: #dc3545; border-color: #dc3545; }
	.btn-outline-danger:focus, .btn-outline-danger.focus { box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
	.btn-outline-danger.disabled, .btn-outline-danger:disabled { color: #dc3545; background-color: transparent; }
	.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle { color: #fff; background-color: #dc3545; border-color: #dc3545; }
		.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }

.btn-outline-light { color: #f8f9fa; border-color: #f8f9fa; }
	.btn-outline-light:hover { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; }
	.btn-outline-light:focus, .btn-outline-light.focus { box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
	.btn-outline-light.disabled, .btn-outline-light:disabled { color: #f8f9fa; background-color: transparent; }
	.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; }
		.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.btn-outline-dark { color: #343a40; border-color: #343a40; }
	.btn-outline-dark:hover { color: #fff; background-color: #343a40; border-color: #343a40; }
	.btn-outline-dark:focus, .btn-outline-dark.focus { box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
	.btn-outline-dark.disabled, .btn-outline-dark:disabled { color: #343a40; background-color: transparent; }
	.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle { color: #fff; background-color: #343a40; border-color: #343a40; }
		.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
*/

/* Dropdown menus
.dropdown-item { display: block; width: 100%; padding: 0.25rem 1.5rem; clear: both; font-weight: 400; color: var(--secondary); text-align: inherit; white-space: nowrap; background-color: transparent; border: 0; }
	.dropdown-item:hover, .dropdown-item:focus { color: #16181b; text-decoration: none; background-color: #f8f9fa; }
	.dropdown-item.active, .dropdown-item:active { color: #fff; text-decoration: none; background-color: #007bff; }
	.dropdown-item.disabled, .dropdown-item:disabled { color: #6c757d; pointer-events: none; background-color: transparent; }
*/

/* Calendar control (to be replaced with something better)
.calendar { background: white; }
*/ 