/**
* benchbooks.css: Base styles for all bench books on JIRS
* version: $Id: benchbooks.css 907 2019-02-11 03:04:28Z vincepu $
*
* Bench books use the famfamfam Silk icon set version 1.3
* Available for download from http://www.famfamfam.com/lab/icons/silk/
*/
@import url('https://fonts.googleapis.com/css?family=Open+Sans');

:target:before {
	content: "";
	display: block;
	height: 49px;
	margin: -50px 0 0; /* negative fixed header height */
}

main > div.index :target:before,
section > section > section:target:before {
	content: "";
	display: block;
	height: 99px;
	margin: -100px 0 0; /* negative fixed header and toc height */
}

/* Elastic search marker for highlighter view (content only) */
section :not(.title) > mark.current:before {
	content: "";
	display: block;
	height: 149px;
	margin: -100px 0 0;
}

mark.current {
	font-weight: bold;
	display: inline-block;
	background-color: #aee8ff
}

body {
	background: #fcfcfc;
	color: #202121;
	font-family: 'Open Sans', verdana, arial, helvetica, sans-serif;
	margin: 0;
	position: relative;
	font-size: 14px;
	overflow-x: hidden;
}

body > article {
	overflow-x: hidden;
}

div {
	overflow: auto;
}

main > section > section {
	margin-bottom: 2.5em;
}

/**************
* site header *
***************/

header.site-header {
	background-color: #6075a9;
	height: 100px;
	z-index: 2;
}

.site-header__title {
	margin: 0 .5em;
	color: white;
	text-align: left;
	height: 50px;
	line-height: 50px;
	overflow: hidden;
}

/******************
* site navigation *
******************/

.site-navigation {
	position: relative;
	background: #6075a9;
	font-size: small;
	z-index: 20;
	height: 50px;
	display: flex;
	width: 100%;
	box-sizing: border-box;
	padding: 0 .5em;
}

.site-navigation__wrapper {
	white-space: nowrap;
	display: flex;
	align-items: center;
	flex: 1;
}

.no-flexbox .site-navigation__wrapper {
	display: table;
	width: 100%;
	height: 100%;
	vertical-align: middle;
}

.site-navigation__wrapper > div:not(:last-of-type) {
	border-right: 1px solid #373f48;
}

.site-navigation__toggle {
	display: none;
}

.site-navigation__menu {
	display: table-cell;
	list-style: none;
	margin: 0;
	padding: 0;
	vertical-align: middle;
	flex: 1;
}

.site-navigation__menu li {
	white-space: nowrap;
	display: inline-block;
	position: relative;
	margin-right: .75em;
}

.site-navigation__menu li.separator {
	margin-right: 0;
	margin-left: -.75em;
}

.site-navigation__menu li.separator:before {
	content: "|";
	color: #373f48;
	font-size: large;
	margin: 0 .35em;
}

.site-navigation__menu li.separator:last-child {
	display: none;
}

.site-navigation__menu a,
.site-navigation__menu a:link,
.site-navigation__menu a:visited,
.site-navigation__menu a[href]:hover {
	display: inline-block;
	color: #ffffff;
	padding: 4px 0;
	font-weight: bold;
	text-decoration: none;
}

.site-navigation__menu a:hover,
.site-navigation__menu a:focus,
.site-navigation__menu a:active {
	box-shadow: 0 2px 0 0 #2f4858;
}

.site-navigation__search {
	vertical-align: middle;
	max-width: 28em;
	display: flex;
	flex: 1;
	justify-content: flex-end;
}

.no-flexbox .site-navigation__search {
	display: table-cell;
}

.site-navigation__search .search-form {
	position: relative;
	flex: 1;
}

.site-navigation__search .search-form > label {
	display: block;
	margin: 0 .75em;
}

.site-navigation__search .search-form .search-field {
	background: #373f48;
	border: none;
	color: #a5adb3;
	display: block;
	padding: .275em 38px .275em 1em;
	border-radius: 4px;
	outline: 0;
	width: 100%;
	line-height: 1.5;
	font-size: 16px;
	box-sizing: border-box;
	opacity: .8;
}

.site-navigation__search .search-form .search-submit {
	border: 0;
	box-shadow: none;
	position: absolute;
	top: 6px;
	right: 16px;
	background: url('/graphics/icons/custom/magnifying_glass.png') center no-repeat;
	background-size: contain;
	display: block;
	height: 18px;
	width: 18px;
	text-indent: -9999em;
	line-height: 1.5;
	cursor: pointer;
}

main,
footer {
	display: block;
}

.has-section-toc main,
.has-section-toc footer {
	margin-left: 300px;
}

main > nav.toc:before {
	content: " ";
	position: fixed;
	top: 50px;
	left: 0;
	width: 300px;
	bottom: 0;
	background-color: #eaeaea;
	z-index: -1;
	box-shadow: -6px 0 10px -10px grey inset;
}

main > nav.toc {
	box-sizing: border-box;
	position: absolute;
	left: 0;
	background: #eaeaea;
	width: 300px;
	z-index: 1;
	padding: 0.5em;
}

main > nav.toc.is_stuck + div {
	z-index: -1;
}

.toc__toggle {
	display: none;
}

 .toc__book-title,
.toc__section-title {
	margin-left: 4px;
}

.toc__book-title {
	font-size: large;
}

.toc__section-title {
	font-weight: bold;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}

main > nav.toc .last-updated {
	font-size: small;
	color: #555;
	text-align: center;
	padding-top: 1em;
	border-top: 1px solid #e2e2e2;
	margin-bottom: 3em;
	font-weight: bold;
}

main > nav.toc .section a {
	display: block;
	padding: .35em 0;

	border: 1px solid transparent;
	border-left-width: 4px;

	-webkit-transition: all .25s linear;
	transition: all .25s linear;
}

main > nav.toc .section.active a {
	border-left-color: #6075a9;
	border-top-color: #dbdbdb;
	border-bottom-color: #dbdbdb;
	background-color: #fcfcfc;
	margin: 0 -.5em;
	padding: .35em .5em;
}

main > section,
main > div {
	background: inherit;
	padding: .5em 2em 3em 3em;
	z-index: 0;
	min-width: 0;
}

main > aside {
	-webkit-box-flex: 0;
	-moz-box-flex: 0;
	-ms-flex: 0 0 300px;
	flex: 0 0 300px;
	margin: 0 auto;
}

footer {
	text-align: center;
	position: relative;
	padding: 20px 0;
	background-color: #2f4858;
	color: #fcfcfc;
}

footer a:link,
footer a:visited {
	color: #e2e2e2;
}

.footer__back-to-top {
	position: fixed;
	bottom: 3%;
	right: 3%;
	width: 4em;
	height: 4em;
	text-indent: -99999px;
	margin: 0;
	border-radius: 4px;
	background: #6075a9 url('/graphics/icons/custom/arrow-u.png') no-repeat center center;
	background-size: 50%;
	box-shadow: 0 0 3px #6075a9;
	opacity: 0;
	visibility: hidden;

	transition: all 400ms ease-in;
	-webkit-transition: all 400ms ease-in;
}

.footer__back-to-top.show {
	visibility: visible;
	opacity: 1;
}

.footer__back-to-top.fixed:hover {
	text-decoration: none;
	background-color: #536592;
	color: #ffffff;

	/* Safari 4.0 - 8.0 */
	-webkit-animation-name: footer__back-to-top__animation;
	-webkit-animation-duration: 1s;

	/* Standard syntax */
	animation-name: footer__back-to-top__animation;
	animation-duration: 800ms;

	animation-timing-function: ease-in-out;
	-moz-animation-timing-function: ease-in-out;
	-webkit-animation-timing-function: ease-in-out;
	-o-animation-timing-function: ease-in-out;
}

/* Safari 4.0 - 8.0 */
@-webkit-keyframes footer__back-to-top__animation {
	0% {
		background-position-y: center;
		-ms-background-position-y: center;
	}
	25% {
		background-position-y: 10px;
		-ms-background-position-y: 10px;
	}
	50% {
		background-position-y: center;
		-ms-background-position-y: center;
	}
	75% {
		background-position-y: 10px;
		-ms-background-position-y: 10px;
	}
	100% {
		background-position-y: center;
		-ms-background-position-y: center;
	}
}

/* Standard syntax */
@keyframes footer__back-to-top__animation {
	0% {
		background-position-y: center;
		-ms-background-position-y: center;
	}
	25% {
		background-position-y: 10px;
		-ms-background-position-y: 10px;
	}
	50% {
		background-position-y: center;
		-ms-background-position-y: center;
	}
	75% {
		background-position-y: 10px;
		-ms-background-position-y: 10px;
	}
	100% {
		background-position-y: center;
		-ms-background-position-y: center;
	}
}

.sticky.section-title {
	padding: 1em 0;
}

.sticky.section-title .title {
	margin: 0;
}

.section__navigation {
	display: flex;
	justify-content: space-between;
	margin: 1em auto;
	max-width: 26em;
	background: #eaeaea;
	padding: 1em;
	border-radius: 4px;
}

.section__navigation:last-of-type {
	margin-top: 3em;
}

.section__navigation .button {
	width: 5em;
	text-align: center;
}

/********
* links *
********/

a:link,
a:visited {
	color: #33658A;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a[name]:hover {
	text-decoration: none;
}

a[href]:hover {
	text-decoration: underline;
}

/***********
* headings *
***********/

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	letter-spacing: .3px;
	margin-top: 1.5em;
	margin-bottom: .5em;
	padding: 0;
	text-align: left;
	color: #2f4858;
}

h1.title {
	font-size: 160%;
	margin-top: 1em;
	text-align: left;
}

h1, h2.title {
	font-size: 150%;
	margin-top: 1.5em;
}

h2, h3 {
	font-size: 110%;
	margin-top: 2em;
}

h3.subtitle {
	font-size: 108.3%;
	margin-top: 1em;
	text-align: center;
}

h5 {
	font-style: italic;
	letter-spacing: 0;
}

h6 {
	font-style: italic;
	font-weight: normal;
}

p.title {
	font-weight: bold;
}

/*** Special Bulletins ***/

.article p.title {
	font-size: 200%;
	font-style: italic;
	font-weight: bold;
	text-align: center;
}

.article p.title2 {
	font-size: 125%;
	font-weight: bold;
	text-align: center;
}

/********
* index *
********/

.index .toc {
	padding: 1em 0;
	text-align: center;
	line-height: 2em;
}

.index .toc li {
	display: inline;
	list-style-type: none;
	font-weight: bold;
	margin: 0;
	padding: 0 .4em;
}

.index .authorblurb p {
	font-size: 90%;
	text-align: center;
}

.index dl, .index dd {
	margin: 0;
	padding: 0;
}

.indexdiv {
	padding-top: .5em;
}

.indexdiv .title {
	margin-top: 2em;
	margin-bottom: .5em;
}

.index .primaryie {
	font-weight: bold;
	padding-top: 1em;
}

.cases .primaryie,
.index .primaryie .seeie,
.index .primaryie .seealsoie {
	font-weight: normal;
}

.index .secondaryie {
	margin-top: .2em;
	margin-left: 2em;
}

.index .tertiaryie,
.index .level4 {
	margin-top: .2em;
	margin-left: 3em;
}

/*********
* blocks *
*********/

img {
	border: none;
}

.navheader img,
.navfooter img {
	vertical-align: bottom;
}

span.normal {
	font-weight: normal;
}

.small {
	font-size: 90%;
}

.smaller {
	font-size: 85%;
}

.issuenum, .pubdate, .volumenum {
	font-size: 80%;
}

.authorblurb p, p.center {
	text-align: center;
}

.blockquote {
	font-size: 95%;
	margin-top: 0;
}

.nobr {
	white-space: nowrap;
}

.book .titlepage .authorblurb p {
	font-size: 90%;
	text-align: left;
}

.titlepage + * {
	margin-top: 0;
}

.address {
	margin-left: 2em;
}

/*** toc ***/
main > .toc dl {
	margin-top: 0;
}

main > .toc dd {
	margin-left: 1.5em;
}

.toc__wrapper {
	overflow: initial;
}

.section .toc {
	margin-top: 2em;
	margin-bottom: 2em;
}

.section .toc dl {
	font-size: 90%;
	font-weight: bold;
}

.section .toc dl dl {
	margin-left: 3em;
}

/*** notes ***/

dl.note dt {
	float: left;
	font-weight: bold;
}

dl.note dl dt {
	font-weight: normal;
}

dl.note dd {
	margin-left: 3.75em;
}

dl.note dl dd {
	margin-left: 2.5em;
}

/*** orders ***/

.sidebar {
  border: 1px solid gray;
  padding: 0.25em 1em;
	margin: 1em auto;
	width: 80%;
}

/*** suggested directions ***/

.direction {
	border: 1px solid gray;
	padding-left: 10px;
	padding-right: 10px;
	margin: 1em auto;
	width: 80%;
}

/********
* lists *
********/

ul {
	margin-top: 0;
}

ul[type=endash] {
	list-style-type: square;
}

ul[type=point] {
	list-style-type: circle;
}

li p {
	padding: 0;
	margin: 0 0 .5em;
}

.orderedlist dl, .variablelist dl {
	padding-bottom: .2em;
	margin: 0;
}

.orderedlist dt, .variablelist dt {
	float: left;
	padding-right: .5em;
}

.orderedlist dd, .variablelist dd {
	margin-left: 2.5em;
}

.orderedlist dd p, .variablelist dd p, .itemizedlist li {
	margin-top: 0;
	margin-bottom: .5em;
}

.simplelist {
	font-weight: bold;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

/*********
* tables *
*********/

table {
	margin-bottom: 1em;
}

table, th, td {
	border-collapse: collapse;
	vertical-align: top;
}

/* CSS3 selector - th without align attribute should default to left aligned */
th:not([align]) {
	text-align: left;
}

th[valign=bottom],
td[valign=bottom] {
	vertical-align: bottom;
}

th[valign=middle],
td[valign=middle] {
	vertical-align: middle;
}

.all table, .all th, .all td,
.sides table, .sides th, .sides td {
	border: 1px solid black;
}

.topbot table, .topbot th, .topbot td,
.bottom table, .bottom th, .bottom td,
.top table, .top th, .top td {
	border-top: 1px solid black;
	border-bottom: 1px solid black;
	border-left: hidden;
	border-right: hidden;
}

tr.norule th,
tr.norule td {
	border-bottom: hidden;
}

th.rule,
td.rule,
.rule th,
.rule td,
.norule th[rowspan],
.norule td[rowspan] {
	border-bottom: 1px solid black;
}

th.norule,
td.norule {
	border-bottom: hidden !important;
}

.informaltable th, .table th,
.informaltable td, .table td {
	margin: 0;
	padding: 3px 5px;
}

.informaltable th p, .table th p,
.informaltable td p, .table td p {
	margin: 3px 0;
	padding: 0;
}

.toned th,
.toned td,
th.toned,
td.toned {
	background-color: #eaeaea;
}

th.toned p {
	font-size: 108.3%;
}

/************
* footnotes *
************/

sup {
	font-family: verdana, arial, helvetica, sans-serif;
	font-weight: normal;
}

.footnote sup {
	font-weight: bold;
	padding-right: 3px;
}

.footnotes {
	text-align: left;
}

.footnotes hr {
	background-color: black;
	border: 0;
	margin-top: 3em;
	margin-bottom: 1em;
	width: 30%;
	height: 1px;
}

/***************
* revisionflag *
***************/

.added {
	text-decoration: underline;
	background-color: #00ff00;
}

.changed {
	text-decoration: underline;
	background-color: #ffff00;
}

.deleted {
	text-decoration: line-through;
	background-color: #f18080;
}

/*********
* custom *
*********/

.mediaobject table {
	width: 100%;
	max-width: 64em;
}

.section-title.is_stuck,
.index .toc.is_stuck {
	background: #fcfcfc;
	border-bottom: 1px solid #e2e2e2;
	opacity: .95;
}

input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {
	background-color: #373f48;
  color: #ffffff;
  box-shadow: 0 0 0 1000px #373f48 inset;
	-webkit-box-shadow: 0 0 0 1000px #373f48 inset;
	-webkit-text-fill-color: #ffffff !important;
}

button,
input[type=button],
input[type=reset],
input[type=submit],
a.button {
	border: 1px solid #6075a9;
	border-radius: 3px;
	background-color: #6075a9;
	box-shadow: none;
	color: #ffffff;
	line-height: 1;
	padding: .6em 1em .4em;
	cursor: pointer;
}

button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover,
a.button:hover {
	text-decoration: none;
	background-color: #536592;
	color: #ffffff;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

a[class^="icon-"],
a[class*=" icon-"] {
	text-indent: 24px;
	background-size: 18px;
	background-position: left center;
	background-repeat: no-repeat;
}

a.button[class^="icon-"],
a.button[class*=" icon-"] {
	padding-left: 26px;
	background-position: left 6px center;
	background-size: 14px;
	text-indent: 0;
}

a.button[class^="icon-position"],
a.button[class*=" icon-position"] {
	padding-left: 1em;
	padding-right: 1em;
}

a.button.icon-position-left {
	padding-left: 26px;
	background-position: left 6px center;
}

a.button.icon-position-right {
	background-position: right 6px center;
	padding-right: 26px;
}

a.icon-home {
	background-image: url('/graphics/icons/custom/home.png');
}

a.icon-toc {
	background-image: url('/graphics/icons/custom/table_of_contents.png');
}

a.icon-arrow-l {
	background-image: url('/graphics/icons/custom/arrow-l.png');
}

a.icon-arrow-r {
	background-image: url('/graphics/icons/custom/arrow-r.png');
}

a.icon-menu-hamburger {
	background-image: url('/graphics/icons/custom/menu_hamburger.png');
}

a.icon-clock-recent {
	background-image: url('/graphics/icons/custom/clock-recent.png');
}

@media only screen and (max-width: 680px) {

	main {
		width: 100%;
		height: 100%;
		min-height: 100vh;
		position: relative;
		margin-top: 50px;
		margin-left: 0;

		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.has-section-toc main,
	.has-section-toc footer {
		margin-left: 0;
	}

	/***************************
	* mobile table of contents *
	***************************/

	main > nav.toc:before {
		content: none;
	}

	main > nav.toc {
		width: 80%;
		position: fixed;
		top: 50px;
		left: -80%;
		bottom: 0;
		overflow: auto;

		-webkit-transition: 300ms ease all;
		transition: 300ms ease all;
	}

	.toc__toggle {
		display: block;
		cursor: pointer;
		position: fixed;
		left: 0;
		top: 70px;
		z-index: 1;
		border-radius: 0;
		font-size: inherit;

		-webkit-transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);

		-webkit-transform-origin: left bottom;
		-moz-transform-origin: left bottom;
		-ms-transform-origin: left bottom;
		-o-transform-origin: left bottom;
		transform-origin: left bottom;

		-webkit-transition: 300ms ease left;
		transition: 300ms ease left;
	}

	body.has-section-toc main.toc__is-active nav.toc {
		-webkit-transform: translateX(100%);
		transform: translateX(100%);

		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);

		box-shadow: 0 0 8px -2px black;
	}

	body.has-section-toc main.toc__is-active .toc__toggle {
		left: 80%;
	}

	/*********************
	* mobile site header *
	*********************/

	header.site-header {
		height: 50px;
		box-sizing: border-box;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
	}

	body.site-navigation__is-active header.site-header {
		position: static;
	}

	.site-header__title {
		position: absolute;
		top: 0;
		left: .5em;
		right: 50px;
		white-space: nowrap;
		margin: 0;
		color: white;
		z-index: 30;
		padding: 0;
	}

	body.site-navigation__is-active .site-header__title {
		display: none;
	}

	header.site-header .site-header__wrapper {
		padding: 0;
	}

	/*************************
	* mobile site navigation *
	*************************/

	body.site-navigation__is-active:before {
		content: " ";
		width: 100%;
		height: 100%;
		position: fixed;
		z-index: 10;
		top: 0;
		left: 0;
		background-color: rgba(33, 42, 52, .95);
	}

	body.site-navigation__is-active:after {
		content: " ";
		width: 100%;
		height: 100%;
		position: fixed;
		z-index: 11;
		top: 0;
		left: 25%;
		background-color: #212a34;
	}

	.site-navigation {
		display: none;
		background-color: transparent;
		position: fixed;
		top: 0;
		bottom: 0;
		right: 0;
		left: 25%;
		width: auto;
		padding: 25px 1.5em;
	}

	body.site-navigation__is-active .site-navigation {
		display: block;
	}

	.site-navigation__toggle {
		display: block;
		border: 0;
		box-shadow: none;
		position: fixed;
		top: 0;
		right: 0;
		height: 50px;
		width: 50px;
		z-index: 9999;
		background: url('/graphics/icons/custom/menu_hamburger.png') center no-repeat;
		background-size: 18px;
	}

	body.site-navigation__is-active .site-navigation__toggle {
		left: 6.25%;
		top: 18px;
		background-image: url('/graphics/icons/custom/cross.png');
	}

	.site-navigation__wrapper {
		flex-direction: column;
		align-items: stretch;
	}

	.no-flexbox .site-navigation__wrapper {
		position: relative;
		padding-top: 100px;
		display: block;
	}

	.site-navigation__search {
		flex: none;
	}

	.no-flexbox .site-navigation__search {
		position: absolute;
		top: 0;
		width: 100%;
		left: 0;
	}

	.site-navigation__menu {
		display: block;
		list-style: none;
		padding: 0;
		order: 1;
	}

	.no-flexbox .site-navigation__menu {
		position: absolute;
		top: 50px;
		width: 100%;
	}

	.site-navigation__menu li {
		display: block;
	}

	.site-navigation__menu li.separator {
		margin: 1em 0;
		height: 1px;
		background: #44484d;
	}

	.site-navigation__menu li.separator:before {
		content: "";
	}

	.site-navigation__menu a,
	.site-navigation__menu a:link,
	.site-navigation__menu a:visited,
	.site-navigation__menu a[href]:hover {
		display: block;
		margin-top: 14px;
		font-size: larger;
	}

	.site-navigation__menu a:hover,
	.site-navigation__menu a:active {
		text-decoration: none;
		box-shadow: 0 2px 0 0 #6075a9;
		color: #efefef;
	}

	.site-navigation__search .search-form {
		max-width: none;
	}

	.site-navigation__search .search-field {
		padding: .375em 54px .375em 1em;
		outline: 0;
	}

	.site-navigation__search .search-submit {
		height: 22px;
		width: 22px;
	}

	/***************************
	* mobile standard elements *
	***************************/

	.blockquote {
		margin-left: .5em;
	}
}


@media print {

	.site-navigation,
	main > .toc,
	.section__navigation,
	.footer__back-to-top,
	footer > * {
		display: none;
	}

	header.site-header {
		background-color: inherit;
		padding: .5em 2em 1em 3em;
		height: auto;
	}

	.site-header__title {
		color: #2f4858;
		margin: 0;
		overflow: visible;
		line-height: 1.5em;
		height: auto;
	}

	.has-section-toc main,
	.has-section-toc footer {
		margin-left: 0;
	}

	.section-title.is_stuck, .index .toc.is_stuck {
		position: static !important;
		width: auto !important;
		border-bottom: none;
		opacity: 1;
		background: inherit;
	}

	.sticky.is_stuck + div {
		display: none !important;
	}

	footer {
		padding: 0;
		background-color: inherit;
	}

	footer .copyright {
		display: block;
		color: black;
	}

	tr, td, th, thead {
		page-break-inside: avoid;
	}
}
