/* CSS for JASSS articles, version of 2016 

v0.1

Nigel Gilbert 31-12-2015

*/

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

iframe {
	border:0;
	}

/* Basic structure */

body {
	background-color: white;
	font-size: 16px;
	font-weight: normal;
	height: 100%;
	font-family: 'Noto Sans', sans-serif;
	margin: 0;
	padding: 0;
}

nav {
	height: 80px;
/*	position: fixed; */
	width: 100%;
	background: white;
	}
	
header {
	padding: 30px;
	clear: both;
	margin-right: 200px;
	}

#left-column {
	width: 4em;
	float: left;
	margin-left: -100%;
	border-top: solid 1px gray;
	}

#container {
	float: left;
	width: 100%;
	}

article {
	margin: 0 200px 0 4em;
	line-height: 150%;
	border-right: solid 1px gray;
	border-top: solid 1px gray;
	padding: 1em;
	}
	
aside {
	float: left;
	width: 200px;
	margin-left: -200px; /* Set left margin to -(RightColumnWidth) */
	overflow: hidden;
	}

footer {
	clear: left;
	width: 100%;
	text-align: center;
	height: 150px;
    padding: 0;
    text-align: center;
    vertical-align: middle;
    border-top: solid 1px gray;
	}
	
/* Header styles */

header a {
	text-decoration: none;
	color: #405478;
	font-weight: 600;
	}
	
header a:hover {
	color: #760035;
}

.crumb {
	margin: 0;
	}
	
.pdf-icon {
	padding-left: 1em;
	}

.social-buttons {
	float:right;
	display: inline;
}

.noscript {
	color: orange;
	font-weight: bold;
	}
	
.author {
	color: #405478;
	font-weight: 600;
	}
	
.icon {
	width: 16px;
	height: 16px;
	vertical-align: bottom;
	}
	
.selectandgo {
	font-size: 50%;
	margin-left: 10px;
	}
	
.artdoi {
	}	

#abstract {
	background-color:#f0f8ff;
	-webkit-border-top-left-radius:1em;
	-moz-border-radius-topleft:1em;
	border-top-left-radius:1em;
	-webkit-border-top-right-radius:1em;
	-moz-border-radius-topright:1em;
	border-top-right-radius:1em;
	-webkit-border-bottom-right-radius:1em;
	-moz-border-radius-bottomright:1em;
	border-bottom-right-radius:1em;
	-webkit-border-bottom-left-radius:1em;
	-moz-border-radius-bottomleft:1em;
	border-bottom-left-radius:1em;
	text-indent: 0;
	border: 1px ridge black;
	padding: 1em;
	}	
#abstract h3 {
	display: none;
	}
	
#keywords {
	padding: 10px 0;
	font-weight: 600;
	}
	
/* article layout styles */

article p {
	margin-bottom: 1.5em;
}

article p span.paranum {
	float: left;
	text-indent: -4em;
	font-weight: bold;
	}

article a[href] {
	color: #405478;
	text-decoration: none;
}

article table {
	border-collapse: collapse;
	border-spacing: 0;
	text-indent: 0;
}

article h3 {
	background: white url(../gifs/bullet.gif) no-repeat left top;
	text-indent: 3em;
	margin-left: -3em;
	}

h1, h2, h3, h4, h5 {
	color: #405478;
}

h1 {
	font-weight: bold;
	font-size: 2em;
	line-height: 1.5em;
	letter-spacing: -1px;
	margin-bottom: 1em;
}

h2 {
	font-weight: bold;
	font-size: 1.3em;
	line-height: 1.3em;
	margin-top: 3em;
	margin-bottom: 0.4em;
}

h3 {
	font-weight: bold;
	font-size: 1.3em;
	line-height: 1.3em;
	letter-spacing: 0.5px;
	margin-bottom: 1em;
	text-indent: -4em;
}

h4 {
	font-size: 1.2em;
	line-height: 1.3em;
	margin-top: 1.5em;
	margin-bottom: 0.4em;
}

h5 {
	font-size: 1.1em;
	font-style: italic;
	line-height: 1.3em;
	margin-top: 1.5em;
	margin-bottom: 0.4em;
}


.hr {
  height: 0px;
  margin: 3em 0 3em -5em;
  border-bottom: 1px solid #cccccc;
  font-size: 1em;
}


/* Top Navigation Bar*/

nav {
  margin: 0 0 0 0;
  padding-top: 0.5em;
  background-color: white;
  border-bottom: solid 1pt gray;
}

nav #logo {
	float: left;
	margin-left: 1em;
}

nav #logo a:hover {
	background: white;
	}

/* Google search box */

#gcse {
	float:right; 
	width: 300px; 
	padding: 5px 10px 0 20px;
}
	
input.gsc-search-button {
	display: none;
}
	
.toggle, [id^=drop] {
 display: none;
}

nav:after {
  content: "";
  display: table;
  clear: both;
}

nav ul {
  float: left;
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
}

nav ul li {
  margin: 0px;
  display: inline-block;
  float: left;
  background-color: white;
  border-left: solid 1px black;
}

nav a {
  display: block;
  padding: 0 20px;
  color: black;
  font-size: 16px;
  line-height: 40px;
  text-decoration: none;
}

nav ul li ul li:hover { background: #bdbdbd; }

nav a:hover { background-color: #bdbdbd; }

nav ul ul {
  display: none;
  position: absolute;
  top: 40px;
}

nav ul li:hover > ul { display: inherit; }

nav ul ul li {
  width: 170px;
  float: none;
  display: list-item;
  position: relative;
}

nav ul ul ul li {
  position: relative;
  top: -40px;
  left: 170px;
}

nav li > a:after { content: ' \25BE'; }

nav li > a:only-child:after { content: ''; }


/* Navigation Bar Media Queries
--------------------------------------------- */

@media all and (max-width : 768px) {

nav { 
	margin: 0; 
	position: relative;
	height: auto;
	}

nav #logo {
  display: block;
  padding: 0;
  margin: 0;
}

.toggle + a, .menu { display: none; }

.toggle {
  display: block;
  background-color: white;
  padding: 0 20px;
  color: black;
  font-size: 16px;
  line-height: 40px;
  text-decoration: none;
  border: none;
}

.toggle:hover { background-color: white; }

#menu-icon {
	font-size: 30px;
	float: right;
}

[id^=drop]:checked + ul { display: block; }

nav ul li {
  display: block;
  width: 100%;
}

nav ul ul .toggle, nav ul ul a { padding: 0 40px; }

nav ul ul ul a { padding: 0 80px; }

nav a:hover, nav ul ul ul a { background-color: #bdbdbd; }

nav ul li ul li .toggle, nav ul ul a { background-color: #f6f6f6; }

nav ul ul {
  float: none;
  position: static;
  color: white;
}

nav ul ul li:hover > ul,
nav ul li:hover > ul { display: none; }

nav ul ul li {
  display: block;
  width: 100%;
}

nav ul ul ul li { position: static;

}

}/*  @media all and (max-width : 768px) */

@media all and (max-width : 330px) {

nav ul li {
  display: block;
  width: 94%;
}

} /* @media all and (max-width : 330px) */

/* Right column, with Contents table */

aside a {
	text-decoration: none;
	color: #405478;
	}

#toc {
    position: fixed;
    padding-top: 20px;
    top: 100px; 
    right: 0px;
    width: 180px;
    height: 80%;
    padding: 3px;
    overflow-y: auto;
    overflow-x: hidden;
}

#toc ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#toc li {
    border-left: 5px solid transparent;
    padding-left: 2px;
}

#toc a {
    color: #405478;
    text-decoration: none;
    display: block;
}

#toc li.h4 {
	padding-left: 5px;
	}
	
#toc li.h4 a {
	font-size: 12px;
	}

#toc li.h5 {
	padding-left: 10px;
	}
	
#toc li.h5 a {
	font-size: 11px;
	}

#toc li.figure {
	padding-left: 10px;
	}
	
#toc li.figure a {
	font-size: 9px;
	}

#toc li.table a {
	font-size: 9px;
	}

#toc li.table {
	padding-left: 10px;
	}
	
#toc .toc-active {
    border-left: 5px solid #abb9d3;
}

/* Footer */

footer .copyright {
	font-size: small;
	color: #405478;
	}
footer a {
	color: #405478;
}
	
img {
	border: 0; 
	}
	
/* figure in article */

figure {
	text-align: center;
}

figcaption {
}

figure img {
	width: 50%;
	cursor: url(../gifs/zoom76.png), auto; 
	}

/* equation in article */

.equation {
	margin: 0 auto;
}
.equation tr {
	text-align: center;
	border-width: 0 !important;
}
.equation td {
	padding: 2px;
	border-spacing: 2px;
	vertical-align: middle;
}
.equation td+td {
	text-align: right;
	width: 40px;
}

/* displayed table in article */

article table {
	width: 80%;
	margin: 0 auto 2em auto;
}

article caption {
	border-top: thin solid gray;
	border-bottom: thin solid gray;
	padding: 1em;
	} 
	
article table td, th {
	padding: 2px;
	border-spacing: 2px;
	vertical-align: top;
	text-align: left;
}
/* Flaminio requested all left justified 13 Sept 2017
article table td + td, article table th + th {
	padding: 2px;
	border-spacing: 2px;
	vertical-align: top;
	text-align: center;
}
*/

article table th, article table tr:first-child {
	font-weight: bold;
	}
	
article table tr:last-child {
	border-bottom: thin solid gray;
	}

/* for variations on the standard table format */
	
.bold {
	font-weight: bold;
	}
	
.notbold {
	font-weight: normal !important;
	}
	
.italic {
	font-style: italic;
	}
	
.leftjust {
	text-align: left;
	}
	
.rightjust {
	text-align: right;
	}
	
article table .top-rule {
	border-top: thin solid gray;
	}
	
article table .right-rule {
	border-right: thin solid gray;
	}
	
article table .left-rule {
	border-left: thin solid gray;
	}
	
/* for code blocks, use in a <div> */

.listing {
	width: 90%;
	margin: 0 auto 2em auto;
	white-space: pre;
  	font-family: 'Inconsolata', monospace;
  	overflow-x: auto;
  	}
/* compensates for monospace appearing slightly smaller than proportional fonts */  	
code {
  	font-family: 'Inconsolata', monospace;
	font-size: 115%;
	}
	
/* 	Bibliography, notes, acknowledgements, appendices styles  */
	
article #refs, article #notes, article #appendices, article #acknowledgements{
	border-top: thin solid gray;
	}
		
article #refs p {
	text-indent: -2em;
	padding-left: 2em;
	margin-bottom: 1em;
	}
		
article #refs p a[id]{
	text-indent: 0;
	float: none;
	}

/* for index pages: back to top icon 
from https://getflywheel.com/layout/add-sticky-back-top-button-website/ */

.back-to-top {
	background: none;
	margin: 0;
	position: fixed;
	bottom: 0;
	right: 0;
	width: 70px;
	height: 70px;
	z-index: 100;
	display: none;
	text-align: center;
	text-decoration: none;
	color: black;
	background-color: white;
	}
.back-to-top i {
  font-size: 60px;
}

/* Print - don't display navigation elements etc. */

@media print {
	nav, aside, .crumb, #logo, .icon, .selectandgo, #left-column {display: none }
	article, header, footer {
		width: 600px; 
		max-width: 600px;
		border: none; 
		color: black; 
		font-size: 0.8em; 
		overflow: hidden;
		margin-left: 0;
		}
	#abstract {	
		font-size: 0.8em;
		line-height: 1.5em;
		color: black;
		background: white;
		border: thin solid black; 
		}
	h1 {
		letter-spacing: normal;
		}	
	#keywords {
		font-weight: normal;
		}
	article p a[id] {
		float: left;
		text-indent: 0;
		padding-right: 1em;
	}
	h3 {
		text-indent: 0;
	}
	img {
		max-width: 600px;
		}
}

    
/* Responsive layout */

@media (max-width: 768px){ /* 1st level responsive layout break point - lose right column */
	
	aside {
		display: none;
		}
		
	article, header {
		margin-right: 0;
		}
	}
	 
@media (max-width: 330px) { /* 2nd level responsive layout break point - lose left column */
	article {
		margin-left: 0;
		overflow: hidden;
		}
	article p span.paranum {
		float: left;
		text-indent: 0;
		padding-right: 1em;
	}
	h3 {
		text-indent: 0;
	}
}
