/***********************************************************************
														*** SIDEBAR ***
***********************************************************************/
header.home > :last-child {
	border-bottom: solid 3px #0d78b5;
	display: inline-block;
	margin: 0 0 1em 0;
	padding: 0 0.75em 0.5em 0;
}
hr.home {
	margin: 1.5em 0;
}

header.menu > :last-child {
	border-bottom: solid 3px #0d78b5;
	display: inline-block;
	margin: 2.5em 0 0.5em 0;
	padding: 0 0.75em 0.5em 0;
}
hr.menu {
	margin: 1.5em 0;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit;
  text-decoration: none;
  border-bottom: 0;
	padding: 0 0 0 0;
}

#menu ul a, #menu ul span {
	padding: 0.625em 0 0.625em 1em;
}

#menu h4 a, #menu h4 span {
	padding: 0 0 0 0;
}

#menu a.active,
#menu a.active strong {
	background-color:#fff;
	color:#0d78b5;
}

#menu > ul > li.active {
	background-color:#fff;
	color:#0d78b5;
	padding-bottom:.6em;
	padding-right: .8em;
}

/***********************************************************************
                                    *** SIDEBAR & BODY SCROLL SEPARARELY ***
***********************************************************************/
@media only screen and (min-width: 1280px)  {
			body {
			    overflow-x: hidden;
			}

			#wrapper {

			    display: flex;
			    overflow: hidden;
					overflow-x: hidden;
			    height: 100vh;
			    position: relative;
			    width: 100%;
			    backface-visibility: hidden;
			    will-change: overflow;
			}

			#sidebar,
			#main {
			    overflow: auto;
					overflow-x: hidden;
			    height: auto;
			    padding: .5rem;
			    -webkit-overflow-scrolling: touch;
			    -ms-overflow-style: none;
			}

			#sidebar::-webkit-scrollbar,
			#main ::-webkit-scrollbar {
			    display: none;
			}

}

/***********************************************************************
														*** BANNER ***
***********************************************************************/
#banner {
  padding: 1em 0 1em 0 ;
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}

  #banner h1 {
    margin-top: -0.125em;
  }

  #banner .content {
    -moz-flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-grow: 1;
    flex-grow: 1;
    -moz-flex-shrink: 1;
    -webkit-flex-shrink: 1;
    -ms-flex-shrink: 1;
    flex-shrink: 1;
    width: 50%;
  }

  #banner .image {
    -moz-flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-grow: 0;
    flex-grow: 0;
    -moz-flex-shrink: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-shrink: 0;
    flex-shrink: 0;
    display: block;
    margin: 0 0 2em 4em;
    width: 50%;
  }

    #banner .image img {
      height: 100%;
      -moz-object-fit: contain;
      -webkit-object-fit: contain;
      -ms-object-fit: contain;
      object-fit: contain;
      -moz-object-position: center;
      -webkit-object-position: center;
      -ms-object-position: center;
      object-position: center;
      width: 100%;
    }

  @media screen and (orientation: portrait) {

    #banner {
      -moz-flex-direction: column-reverse;
      -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
    }

      #banner h1 br {
        display: none;
      }

      #banner .content {
        -moz-flex-grow: 0;
        -webkit-flex-grow: 0;
        -ms-flex-grow: 0;
        flex-grow: 0;
        -moz-flex-shrink: 0;
        -webkit-flex-shrink: 0;
        -ms-flex-shrink: 0;
        flex-shrink: 0;
        width: 100%;
      }

      #banner .image {
        -moz-flex-grow: 0;
        -webkit-flex-grow: 0;
        -ms-flex-grow: 0;
        flex-grow: 0;
        -moz-flex-shrink: 0;
        -webkit-flex-shrink: 0;
        -ms-flex-shrink: 0;
        flex-shrink: 0;
        margin: 0 0 4em 0;
        height: 25em;
        max-height: 50vh;
        min-height: 18em;
        width: 100%;
      }

  }

  @media screen and (orientation: portrait) and (max-width: 480px) {

    #banner .image {
      max-height: 35vh;
    }

  }

  header p {
    font-family: "Open Sans", serif;
    font-size: 1em;
    font-weight: 400;
    letter-spacing: 0.075em;
    margin-top: -0.5em;
    text-transform: none;

  }


	/***********************************************************************
															*** MAIN ***
	***********************************************************************/

	#main {
		-moz-flex-grow: 1;
		-webkit-flex-grow: 1;
		-ms-flex-grow: 1;
		flex-grow: 1;
		-moz-flex-shrink: 1;
		-webkit-flex-shrink: 1;
		-ms-flex-shrink: 1;
		flex-shrink: 1;
		width: 100%;
	}

		#main > .inner {
			padding: 0 6em 0.1em 6em ;
			margin: 0 auto;
			max-width: 110em;
		}

			#main > .inner > section {
				padding: 1em 0 4em 0 ;
				border-top: solid 2px rgba(210, 215, 217, 0.75);
			}

				#main > .inner > section:first-of-type {
					border-top: 0 !important;
				}

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

			#main > .inner {
				padding: 0 5em 0.1em 5em ;
			}

				#main > .inner > section {
					padding: 1em 0 3em 0 ;
				}

		}

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

			#main > .inner {
				padding: 0 4em 0.1em 4em ;
			}

				#main > .inner > section {
					padding: 2em 0 2em 0 ;
				}

		}

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

			#main > .inner {
				padding: 0 2em 0.1em 2em ;
			}

				#main > .inner > section {
					padding: 1.5em 0 1em 0 ;
				}

		}

		/***********************************************************************
																*** CHAPTERS ***
		***********************************************************************/

/* CHEAPTER HEADINGS */

header.chapter-heading h1 {
		color: #3d4449;
		font-family: "Roboto Slab", serif;
		font-weight: 700;
		line-height: 1;
		margin: 0.5em 0 0.25em 0;
	}

header.chapter-heading h2 {
		color: #3d4449;
		font-family: "Roboto Slab", serif;
		font-weight: 700;
		line-height: 1;
		margin: 0.5em 0 0.75em 0;
	}

/* CHAPTER TEXT */
blockquote {
	border-left: solid 3px rgba(210, 215, 217, 0.75);
	color: #0d78b5;
	font-family: "Roboto Slab", serif;
	font-weight: 700;
	font-size: 2em;
	margin: 0 0 0.75em 0;
	padding: 0.25em 5em 0 2em;
}

.box-callout {
	border-radius: 0.375em;
	border: solid 1.5px rgb(13, 120, 181);
	background-color: rgba(13, 120, 181, 0.05);
	margin-bottom: 2em;
	padding: 1.5em;
}

.box-callout.small {
	border-radius: 0.375em;
	border: solid 1.5px rgba(13, 120, 181, 0.05);
	background-color: rgb(13, 120, 181);
	margin: 2em 4em 2em 4em;
	padding: 3em;
	color:#fff;
	font-size: .9em;
}

.box-callout.small p:last-of-type {
	margin-bottom:0;
}

.box-callout.small strong {
	color:#fff;
}

.blockquote.small {
	color: #444;
	font-family: "Roboto", sans-serif;
	font-weight: 900;
	margin: 0 0 2em 0;
	padding: 0.5em 4em 0.5em 4em;
	font-size: 1.4em;
	line-height: 1.3em;
}

	.box > :last-child,
	.box > :last-child > :last-child,
	.box > :last-child > :last-child > :last-child {
		margin-bottom: 0;
	}

	.box.alt {
		border: 0;
		border-radius: 0;
		padding: 0;
	}

/* typography customizations

p {
	margin: 0 0 1em 0;
} */

/* color custmoizations
hr {
	border: 0;
	border-bottom: solid 1px rgba(39, 39, 56, 0.75);
	margin: 1em 0;
} */

/* def list customizations */

dl {
	margin: 0 0 1em 0;
}

	dl dt {
		display: block;
		font-weight: 600;
		margin: 0 0 0.25em 0;
	}

	dl dd {
		margin-left: 2em;
	}

	/***********************************************************************
															*** POSTS ***
	***********************************************************************/

.posts two-up {
	-moz-flex-grow: 0;
	-webkit-flex-grow: 0;
	-ms-flex-grow: 0;
	flex-grow: 0;
	-moz-flex-shrink: 1;
	-webkit-flex-shrink: 1;
	-ms-flex-shrink: 1;
	flex-shrink: 1;
	margin: 0 0 6em 6em;
	position: relative;
	width: calc(50% - 6em);
}

	.posts two-up:before {
		background: rgba(210, 215, 217, 0.75);
		content: '';
		display: block;
		height: calc(100% + 6em);
		left: -3em;
		position: absolute;
		top: 0;
		width: 1px;
	}

	.posts two-up:after {
		background: rgba(210, 215, 217, 0.75);
		bottom: -3em;
		content: '';
		display: block;
		height: 1px;
		position: absolute;
		right: 0;
		width: calc(100% + 6em);
	}

	.posts two-up > :last-child {
		margin-bottom: 0;
	}

	.posts two-up .image {
		display: block;
		margin: 0 0 2em 0;
	}

		.posts two-up .image img {
			display: block;
			width: 100%;
		}

@media screen and (min-width: 1681px) {

	.posts two-up:nth-child(3n + 1):before {
		display: none;
	}

	.posts two-up:nth-child(3n + 1):after {
		width: 100%;
	}

	.posts two-up:nth-last-child(1), .posts two-up:nth-last-child(2), .posts two-up:nth-last-child(3) {
		margin-bottom: 0;
	}

		.posts two-up:nth-last-child(1):before, .posts two-up:nth-last-child(2):before, .posts two-up:nth-last-child(3):before {
			height: 100%;
		}

		.posts two-up:nth-last-child(1):after, .posts two-up:nth-last-child(2):after, .posts two-up:nth-last-child(3):after {
			display: none;
		}

}

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

	.posts two-up {
		width: calc(50% - 6em);
	}

		.posts two-up:nth-last-child(3) {
			margin-bottom: 6em;
		}

}

@media screen and (min-width: 481px) and (max-width: 1680px) {

	.posts two-up:nth-child(2n + 1):before {
		display: none;
	}

	.posts two-up:nth-child(2n + 1):after {
		width: 100%;
	}

	.posts two-up:nth-last-child(1), .posts two-up:nth-last-child(2) {
		margin-bottom: 0;
	}

		.posts two-up:nth-last-child(1):before, .posts two-up:nth-last-child(2):before {
			height: 100%;
		}

		.posts two-up:nth-last-child(1):after, .posts two-up:nth-last-child(2):after {
			display: none;
		}

}

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

	.posts {
		margin: 0 0 2em -4.5em;
		width: calc(100% + 4.5em);
	}

		.posts two-up {
			margin: 0 0 4.5em 4.5em;
			width: calc(50% - 4.5em);
		}

			.posts two-up:before {
				height: calc(100% + 4.5em);
				left: -2.25em;
			}

			.posts two-up:after {
				bottom: -2.25em;
				width: calc(100% + 4.5em);
			}

			.posts two-up:nth-last-child(3) {
				margin-bottom: 4.5em;
			}

}

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

	.posts {
		margin: 0 0 2em 0;
		width: 100%;
	}

		.posts two-up {
			margin: 0 0 4.5em 0;
			width: 100%;
		}

			.posts two-up:before {
				display: none;
			}

			.posts two-up:after {
				width: 100%;
			}

			.posts two-up:last-child {
				margin-bottom: 0;
			}

				.posts two-up:last-child:after {
					display: none;
				}

}

/***********************************************************************
													*** HOMEPAGE ***
***********************************************************************/

/*  Headers */
header.major > :last-child {
	border-bottom: solid 3px #0d78b5;
	display: inline-block;
	margin: 2em 0 .75em 0;
	padding: 0.75em 0.75em 0.75em 0;
}

/***********************************************************************
													*** TOOLTIPS ***
***********************************************************************/

/* Add this attribute to the element that needs a tooltip */
[data-tooltip] {
	position: relative;
	/* z-index: 2; */
	cursor: pointer;
}

/* Hide the tooltip content by default */
[data-tooltip]:before,
[data-tooltip]:after {
  visibility: hidden;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
	opacity: 0;
	pointer-events: none;
}

/* Position tooltip above the element */
[data-tooltip]:before {
	position: absolute;
  z-index: 2;
	top: 115%;
	left: 50%;
	margin-bottom: 5px;
	margin-left: -80px;
	padding: 27px;
	width: 250px;
	-webkit-border-radius: 3px;
	-moz-border-radius:    3px;
	border-radius:         3px;
	background-color: #000;
	background-color: rgba(13, 120, 181, 0.95);
	color: #fff;
	content: attr(data-tooltip);
	text-align: left;
	font-size: 14px;
	line-height: 1.4em;
}

/* Triangle hack to make tooltip look like a speech bubble */
[data-tooltip]:after {
	position: absolute;
  z-index: 2;
	top: 115%;
	left: 50%;
	margin-left: -5px;
	margin-top: -5px;
	width: 0;
	border-bottom: 5px solid #000;
	border-bottom: 5px solid hsla(0, 0%, 20%, 0.9);
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	content: " ";
	font-size: 0;
	line-height: 0;
}

/* Show tooltip content on hover */
[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
	visibility: visible;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
	opacity: 1;
}

/***********************************************************************
														*** LISTS ***
***********************************************************************/
ol {
	list-style: decimal;
	margin: 0 0 2em 0;
	padding-left: 1.25em;
}

	ol li {
		padding-left: 0.25em;
		padding-bottom: 0.5em;
	}

ul {
	list-style: disc;
	margin: 0 0 2em 0;
	padding-left: 1em;
}

	ul li {
		padding-left: 0.5em;
		padding-bottom: 0.5em;
	}

	ul.alt {
		list-style: none;
		padding-left: 0;
	}

		ul.alt li {
			border-top: solid 1px rgba(210, 215, 217, 0.75);
			padding: 0.5em 0;
		}

			ul.alt li:first-child {
				border-top: 0;
				padding-top: 0;
			}

dl {
	margin: 0 0 2em 0;
}

	dl dt {
		display: block;
		font-weight: 600;
		margin: 0 0 1em 0;
	}

	dl dd {
		margin-left: 2em;
	}

/* MODEL LEGISLATION LIST */
ol.leg_1 {
	counter-reset: li; list-style: none;
	}

ol.leg_1 li:before {
	content: "(" counter(li,  decimal) ") ";
	counter-increment: li;
	}


ol.leg_2 {
	counter-reset: section; list-style: none;
	}

ol.leg_2 li:before {
	content: "(" counter(section,  lower-latin) ") ";
	counter-increment: section;
	}

ol.leg_3 {
	counter-reset: section; list-style: none;
	}

ol.leg_3 li:before {
	content: "(" counter(section,  lower-roman) ") ";
	counter-increment: section;
	}

ol.leg_4 {
	counter-reset: section; list-style: none;
	}

ol.leg_4 li:before {
	content: counter(section,  lower-latin) ". ";
	counter-increment: section;
	}

/***********************************************************************
														*** COLORS ***
***********************************************************************/

a,
ul.contact li:before,
.features article .icon:before,
#menu ul a:hover,
#menu ul span:hover,
#menu ul a.opener:hover:before,
#menu ul span.opener:hover:before {
	color: #0d78b5;
}


a:hover {
	border-bottom-color: #0d78b5;
	color: #0d78b5 !important;
}

header.major > :last-child {
	border-bottom: solid 3px #0d78b5;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
	border-color: #0d78b5;
	box-shadow: 0 0 0 1px #0d78b5;
}

input[type="checkbox"]:focus + label:before,
input[type="radio"]:focus + label:before {
	border-color: #0d78b5;
	box-shadow: 0 0 0 1px #0d78b5;
}


ul.pagination li > .page.active {
	background-color: #0d78b5;
}

input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
	box-shadow: inset 0 0 0 2px #0d78b5;
	color: #0d78b5 !important;
}

input[type="submit"].primary,
input[type="reset"].primary,
input[type="button"].primary,
button.primary,
.button.primary {
	background-color: #0d78b5;
	color: #ffffff !important;
}

.button {
	text-align:center!important;
  align-items: center;
  justify-content: center;
}

ul.actions {
	display: flex;
	justify-content: center;
}

#header {
	border-bottom: solid 5px #0d78b5;
}

header.home > :last-child {
	border-bottom: solid 3px #0d78b5;
}

header.menu > :last-child {
	border-bottom: solid 3px #0d78b5;
}



strong, b {
	color: #444444;
	font-weight: 600;
}

h1, h2, h3, h4, h5, h6, strong, b, label {
	color: #444444;
}

select option {
	color: #444444;
	background: #ffffff;
}

input[type="checkbox"]:checked + label:before,
input[type="radio"]:checked + label:before {
	background: #444444;
	border-color: #444444;
}

table th {
	color: #444444;
}

#menu ul {
	color: #444444;
}

body, input, select, textarea,
input[type="checkbox"] + label,
input[type="radio"] + label {
	color: #7c7c7c;
}





::-webkit-input-placeholder {
	color: #b0b0b0 !important;
}

:-moz-placeholder {
	color: #b0b0b0 !important;
}

::-moz-placeholder {
	color: #b0b0b0 !important;
}

:-ms-input-placeholder {
	color: #b0b0b0 !important;
}

#footer .copyright {
	color: #b0b0b0;
}

#menu ul a.opener:before, #menu ul span.opener:before {
	color: #b0b0b0;
}

#menu > ul > li > ul {
	color: #b0b0b0;
}




	ul.pagination li > .page.active:hover {
		background-color: #139ed0;
	}


		input[type="submit"].primary:hover,
		input[type="reset"].primary:hover,
		input[type="button"].primary:hover,
		button.primary:hover,
		.button.primary:hover {
			background-color: #139ed0;
		}


	ul.pagination li > .page.active:active {
		background-color: #0d78b5;
	}

	input[type="submit"].primary:active,
	input[type="reset"].primary:active,
	input[type="button"].primary:active,
	button.primary:active,
	.button.primary:active {
		background-color: #0d78b5;
	}

	#sidebar {
		background-color: #f6f6f6;
	}

		input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover,
		button:hover,
		.button:hover {
			background-color: rgba(13, 120, 181, 0.05);
		}

		input[type="submit"]:active,
		input[type="reset"]:active,
		input[type="button"]:active,
		button:active,
		.button:active {
			background-color: rgba(13, 120, 181, 0.15);
		}

		#sidebar > .inner > .alt {
			background-color: #eff1f2;
		}


		input[type="submit"].small,
		input[type="reset"].small,
		input[type="button"].small,
		button.small,
		.button.small {
			font-size: 0.8em;
		}

		/***********************************************************************
																*** FONTS ***
		***********************************************************************/

	body, input, select, textarea {
		font-family: "Roboto", sans-serif;
	}

	header p {
		font-family: "Roboto", serif;
		letter-spacing: 0.03em;
	}

	/***********************************************************************
															*** HEADINGS ***
	***********************************************************************/

	h1 {
		font-size: 4em;
		margin: 0 0 0.5em 0;
		line-height: 1.3;
		color:#283a6c;
	}

	h2 {
		font-size: 2.4em;
	}

	h3 {
		font-size: 1.65em;
		text-transform: uppercase;
		letter-spacing:.09em;
		color:#515151;
		font-weight: 500;
	}

	h4 {
		font-size: 1.4em;
		color:#0d78b5;
	}

	h5 {
		font-family: "Roboto", sans-serif;
	}

	h6 {
		font-family: "Roboto", sans-serif;
		font-size: 0.9em;
	}

	/***********************************************************************
															*** MODEL LEG BODY ***
	***********************************************************************/

	/* Main */

		#leg {
			-moz-flex-grow: 1;
			-webkit-flex-grow: 1;
			-ms-flex-grow: 1;
			flex-grow: 1;
			-moz-flex-shrink: 1;
			-webkit-flex-shrink: 1;
			-ms-flex-shrink: 1;
			flex-shrink: 1;
			width: 100%;
		}

			#leg > .inner {
				padding: 0 3em 0.1em 9em ;
				margin: 0 auto;
				max-width: 110em;
			}

				#leg > .inner > section {
					padding: 3em 3em 4em 9em ;
					border-top: solid 2px rgba(210, 215, 217, 0.75);
				}

					#leg > .inner > section:first-of-type {
						border-top: 0 !important;
					}

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

				#leg > .inner {
					padding: 0 5em 0.1em 5em ;
				}

					#leg > .inner > section {
						padding: 1em 0 3em 0 ;
					}

			}

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

				#leg > .inner {
					padding: 0 4em 0.1em 4em ;
				}

					#leg > .inner > section {
						padding: 2em 0 2em 0 ;
					}

			}

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

				#leg > .inner {
					padding: 0 2em 0.1em 2em ;
				}

					#leg > .inner > section {
						padding: 1.5em 0 1em 0 ;
					}

			}

/***********************************************************************
														*** IMAGES ***
***********************************************************************/
img.image.pillar {
	margin-top:2em;
}

img.image.chapter {
	margin-top:2em;
}

@media only screen and (max-width: 1200px)  {
			img.image.chapter {
				display: none;
			}

			.\34 u, .\34 u\24 { width: 80%;}
}

/***********************************************************************
								*** IMPLEMENTATION RESOURCES TABLE LINKS ***
***********************************************************************/

table a{
	border-bottom: none;
}

/***********************************************************************
								*** VIDEO & MEDIA PAGE ***
***********************************************************************/

.videos-container {
  overflow:hidden;
	margin-bottom: 3em;
}

.videos-container div {
   min-height: 200px;
   padding: 10px;
	 text-align:center;
}

.video-feature {
	float: none;
	width:auto;
	padding: 3em;
}

.video-left {
  float:left;
  width:50%;
	padding: 3em;
}
.video-right {
  overflow:hidden;
	padding: 3em;
}

@media screen and (max-width: 950px) {
   .video-left {
    float: none;
    margin-right:0;
    width:auto;
    border:0;
  }
}

.download-image {
	border-bottom:none;
}

/***********************************************************************
								*** DEEP LINKS ***
***********************************************************************/

.header-link {
  position: absolute;
  left: -0.5em;
  opacity: 0;

  \-webkit-transition: opacity 0.2s ease-in-out 0.1s;
  \-moz-transition: opacity 0.2s ease-in-out 0.1s;
  \-ms-transition: opacity 0.2s ease-in-out 0.1s;
}

h2:hover .header-link,
h3:hover .header-link,
h4:hover .header-link,
h5:hover .header-link,
h6:hover .header-link {
  opacity: 1;
}
