﻿/*---------------------------------------------------------------------------


                             Framework
                           -------------

  This section styles the page framework and grid for each template.
  
  Current page templates include:
  
  		- article template (articles, collection items)
		- search result template (search result pages)
		- section page template (family and preserve pages) 


----------------------------------------------------------------------------*/

.clear {
	clear:both;
}
/* This is a bad clearfix, requiring an empty div, so look into getting rid of it */
.clear-fix {
	clear:both;
	font-size:1px;
	text-indent:-2000em;
	display: block;
	height: 1px;
}

/*#container { Used to be #container, now it's...*/
body > section, body > header, body > nav {
	max-width: 960px;
	text-align:left;
	margin:auto;
}

body > footer {
	margin: 4rem auto 0 auto;
	background: #fff;
	font-size: 16px; /* remove this eventually when I fix the font size general */
}

/* Header and branding content
----------------*/
#logo {
	margin: .5rem;
}

#logo img {
	width: fit-content;
}

body > header > h1 {
	text-indent: -1000em;
	display: none;
}

}

/* Footer */
/* Footer Links
-----------------------------------------------------------------------------*/
body > footer > p {
	clear:both;
	color: #e6e3d1;
	margin: -10px auto 10px auto;
	top: 40px;
	text-align:center;
}
body > footer > ul {
	clear:both;
	list-style: none;
	margin: 0 auto 50px auto;
	text-align:center;
}
body > footer > ul > li {
	display:inline;
}
body > footer > ul > li + li {
	border-left: 1px solid #a69285;
}

body > footer > ul > li > a, body > footer > ul > li > a:link, body > footer > ul > li > a:visited, body > footer > ul > li > a:active {
	color: #e6e3d1;
	padding: 0 5px 0 8px;
	text-decoration: none;
}
body > footer > ul > li > a:hover, body > footer > ul > li > a:focus {
	text-decoration: underline;
	color: #fff;
}

/*---------------------------------------------------------------------------


                         Footer Styling 
                         ------------------------


---------------------------------------------------------------------------*/
footer p {
    color: #6D6E71;
}

footer {
	font: 100%/1.45 Verdana, Geneva, Arial, Helvetica, sans-serif; /* Controls font style (size, font face, color) throughout website */
}

footer h3 {
	margin-bottom: .25rem;
	color: #003e7e;
	font-weight: 100;
}

.condensed {
	font-family: 'Oswald', sans-serif;
	filter: opacity(0.85);
}

.footer-site-info a {
    filter: saturate(0);
}

.thank-you-banner {
    background-color: rgba(0, 62, 126, .05);
    outline: solid 2px #003e7e;
    outline-offset: -2rem;
    padding: 5rem;
    text-align: center;
    margin: auto;
    margin-bottom: 4rem;
    max-width: 70rem;
    color: #003e7e;
}

.thank-you-banner h3 {
    font-family: 'Cormorant', serif;
    font-size: 4rem;
    margin-top: .5rem;
	margin-bottom: .25rem;
	color: #003e7e;
}

.thank-you-banner p {
    text-transform: uppercase;
}

.newsletter {
    background: #003e73;
    padding: 4rem;
    margin: auto;
    color: white;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.newsletter .title, .newsletter-email {
    margin-inline-start: 1rem;
    margin-inline-end: 1rem;
}

.newsletter h4 {
    font-family: 'Cormorant', serif;
    font-size: 2rem;
    margin-bottom: .25rem;
    margin-top: 0;
	color: #fff;
	line-height: 2rem;
}

.newsletter p {
	color:white;
}

.newsletter-subscribe {
  align-self: center;
}

.newsletter-email {
    min-width: 15rem;
    text-align: center;
	align-self: center;
	padding: 1rem;
    background: rgba(255,255,255, .1);
    margin-inline-end: 3rem;
}

.footer-site-info {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    margin: auto;
    max-width: 80rem;
    margin: 3rem auto 0;
}

.footer-site-info picture {
    width: 8rem;
    margin-inline-start: 1rem;
    margin-inline-end: 1rem;
    fill: #6D6E71;
    filter: opacity(0.85);
}

.footer-site-info .list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    grid-gap: 1rem;
    grid-column:2/6;
} 

.list li {
	line-height: 1.5rem;
	margin-bottom: .5rem;
}

.footer-lower {
    grid-row-start: 3;
    border-top: 1px solid rgba(0,0,0,.15);
    grid-column: 1/6;
    padding: 1rem;
    margin-top: 1rem;
    display: flex;
    justify-content: space-between;
    font-family: 'Open Sans Condensed', sans-serif;
}

.social-links {
    grid-row: 2;
    grid-column: 1/6;
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.social-links svg {
  max-width: 3rem;
  height: 1.5rem;
  margin: 1rem;
  fill: #3466C1;
  filter: saturate(0);
  filter: opacity(.75);
}

.footer-lower p {
    margin: 0 .5rem;
}


footer a:hover, .footer-site-info a:hover, .social-links a:hover, .social-links a:hover svg {
    filter: opacity(1) saturate(1);
}


@media (max-width: 720px) {
  .footer-site-info {
    grid-template-columns: 1fr 1fr 1fr;
  }
  
  footer .list {
    grid-column: 2/4;
    grid-template-rows: repeat(2, 1fr);
  }
  
  .footer-lower {
    flex-wrap: wrap;
  }

  .thank-you-banner h3 {
    font-size: 3.25rem;
    margin-bottom: 1rem;
    line-height: 3.25rem;
}

  .thank-you-banner p {
    line-height: 1.5rem;
}

	.newsletter {
		padding: 2rem;
	}

}

@media (max-width: 450px) {
  .newsletter {
	text-align:center;
  }
  
  .newsletter-email {
	  min-width: 10rem;
	  margin-inline-end: 0;
	  margin: auto;
  }

  .footer-site-info {
    margin:auto;
    padding: 1.5rem;
  }
  
  .footer-site-info picture {
	margin-inline-start: 0;
	width: 6rem;
  }
  
  .footer-lower {
    display:block;
  }
  
  .footer-lower p {
	margin: 0;
  }

  .condensed {
	  margin-top: 1rem;
  }

  .social-links {
		justify-content: space-around;
	}

  .social-links svg {
		margin: .5rem;
	}

}

/* Page navigation */
body > nav {
    background-color: #003e7e;
    z-index: 800;
}
body > nav > * { /*div, body > nav > ul {*/
    display: inline-block;
    *zoom: 1;
    *display: inline;
}
body > nav > .major-link {
	border-color: white;
	border-width: 1px;
    box-shadow: 0 0 0 1px #00254b;
    color: white;
	margin-top: .5rem;
}
body > nav > .major-link:hover,
body > nav > .major-link:focus {
    background-color: white;
    box-shadow: 0 0 0 1px white;
    color: #003e7e;
}
body > nav > .major-link {
	margin-left: 0.6rem;
}
/* This is totally related, that's why it's here */
@media (min-width: 500px) {
	[for="search-toggle"] {
		float: right;
	}
}
body > nav {
	padding-top: 1em;
	margin-bottom: 1rem;
}
body > nav > ul {
    background: none repeat scroll 0 0 transparent;
    color: #fff;
    margin-left: 20px;
    height: 32px;
    line-height: 32px;
    width: 270px;
}

.no-link-top a {
    cursor: default;
	margin:17px 0 0 40px;
}
.no-link a {
    cursor: default;
}

/*  Top banner
-----------------------------------------------------------------------------*/
.alert {
	background: #eba900;
    padding: 1rem;
    /* display: flex; */
    /* flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-around; */
    max-width: 2000px !important;
    text-align: left;
}

.alert h2 {
    font-size: 1.15rem;
    padding: 5px;
}
.alert h3 {
    font-weight: 400;
    color: black;
    font-size: 1.15rem;
    flex-grow: 2;
    padding: 5px;
}
.alert p {
    padding: 5px;
}

#banner-elements {
	display: flex;
    flex-wrap: wrap;
    margin-top: 1rem;
    justify-content: space-between;
	align-items: baseline;
	padding: 0 1rem;
}

#banner-elements p {
    color:#ffffff;
}
/*.sites-dropdown-form { was, now...*/
#banner-elements select {
    font-size: 13.333px; /* You're asking, what's this for? It returns default font size, at least for FF, GC, and IE */
}

#banner-elements a, #banner-elements a:link, #banner-elements a:hover, #banner-elements a:focus, #banner-elements a:active, #banner-elements a:visited {
    color:#ffffff;
	font-weight:bold;
	text-decoration:underline;
}
#forward { /* FORWARD link */
	padding: 0;
	margin: 0;
	position: absolute;
	top: 0px;
	right: -40px;
}
/* Accessiblity: Skip Navigation Link styles
---------------------------------------------------------------------------*/
#skip a, #skip a:hover, #skip a:visited {
	position:absolute;
	left:0px;
	top:-500px;
	width:1px;
	height:1px;
	overflow:hidden;
}
#skip a:active, #skip a:focus {
	position:static;
	width:auto;
	height:auto;
}

/* Content grid boxes for various pages
----------------------------------*/
/*#content { was, now... */
body > section {
	background-color:#fff;
	position: relative;
	z-index:0;
	overflow:hidden;
	padding-bottom: 1rem;
}

#content-wrapper-wide {
	margin:20px 40px 40px 40px;
	padding:20px 0px;
}
#content-wrapper-article {
	border-top:solid 1px #ccc;
	border-bottom:solid 1px #bbb;
	max-width:910px;
	margin:20px 20px 20px 20px;
	padding:0;
	float:left;
	position:relative;
	left:5px;
	overflow:hidden;
}
#content-wrapper-serp, #content-wrapper-category {
	max-width:930px;
	margin:13px 0px 0px 20px;
	padding:0;
	float:left;
	position:relative;
	left:5px;
}
#content-wrapper-category ul.dim-list {
	margin-top:0;
}
.category-heading {
	float:left;
	margin-top:20px;
	margin-bottom:10px;
}
.content-box-large {
	float: left;
	display: block;
	width: 640px;
	margin: 0;
	padding: 0;
}
.right-nav-box {
    float: right;
	display: block;
	width: 200px;
	margin: 0;
	padding: 0;
	min-height:900px; /* Fits membership content - this will need to change. Need to research a fix for the IE 7 padding bug with previous approach - 29px left padding to overlap line. */
}
.bottom-nav-box {  
	float:left;
	display: block;
	width: 622px;
	margin: 0 0 0 0px;
	padding: 0 0 20px 40px;
}
.share-utility-box {
	display: block;
	max-width: 640px;
	margin: 0 0 15px 0px;
	padding: 5px 0 5px 0;
	border-top:1px dotted #ccc;
	border-bottom:1px dotted #ccc;
}
div.share-utility-box + p {
	clear:both;
}
#content-wrapper-wide .share-utility-box {
	float: left;
}

.article-side-bar {
    position: relative;
	border-top:solid 1px #ccc;
	border-bottom:solid 1px #bbb;
    height: 100%;
    right: 25px;
}
.container .article-content-holder {
	max-width:680px; /* This width is for the CMS Preview. */
}
.results-list {
	display: inline-block;
    *zoom: 1;
    *display: inline;
	margin-left: 18px;
	margin-top: 5px; /* was set at 17px, adjusted when removed old search tips message. */
    vertical-align: top;
	max-width: 640px;
}
.guided-navigation {
    display: inline-block;
    *zoom: 1;
    *display: inline;
    vertical-align: top;
    width: 260px;
    margin-left: 20px;
    margin-top: 5px;
}
.search-questions {
    max-width: 640px;
    margin: 16px 0 20px 302px;
    border: 1px solid #929496;
}
.search-questions > h1.help {
    font-size: 18px;
    font-size: 1.125rem;
    padding: 0;
    font-weight: bold;
    line-height: 34px;
    line-height: 2.125rem;
    text-transform: none;
    color: #fff;
}
.search-questions > p {
    margin-left: 20px;
}

hr {
	border:0;
	background-color:#ccc;
	text-align:left;
	height:1px;
	margin: 20px 0;
}

.w640 {
	width:640px;
	/*max-width:640px !important; messes up video on About page...*/
}
/* SECTION CARTRIDGE ADD-ON: dark (creates a grey background with white text)
--------------- */
.dark {
	background-color:#5c5c5c;
	color:#fff;
}
.dark a, .dark a:link, .dark a:visited, .dark a:hover, .dark a:focus, .dark a:active {
	color: #fff !important;
	font-weight:bold;
}
.dark p, .dark h2 {
	color: #fff !important;
}
.right-related div.record-description p {
	display:none;
}

/* SECTION CARTRIDGE ADD-ONS: Remove default border, remove default background
--------------*/
.no-border {
	border:none !important;
	padding:0px 1px !important;
	margin-bottom:15px !important;
}

/* Hides aspects that are on the page for accessiblity reasons
------------------- */
.structural {
    position:absolute;
    left:-9999px;
}

/* carouFredSel styles
----------------------------------------*/

.image_carousel {
	position: relative;
	clear:both;
}
.image_carousel ul {
	margin:0;
	padding:0;
}
.image_carousel li {
	background-color: white;
	padding: 0;
	margin:0;
	display: block;
	float: left;
}
.section-cartridge .image_carousel {
	max-width:340px;
	float:right;
	margin-left:20px;
}
.section-cartridge .image_carousel li {
	background-color: transparent;
}
div.image_carousel ul#property li a {
	background:none !important;	
    padding-right: 13px;
}
div.article-content-holder .image_carousel li, div#content-wrapper-wide .image_carousel li, body.mceContentBody .image_carousel li {
	padding-bottom:20px;
	background-color:transparent;
}
.image_carousel img {
	border: 1px solid #ccc;
}
.image_carousel li p {
	padding: 0 0 0 9em;
	text-align:center;
	width:200px;
	height:20px;
	display: block;
	font-size:2em;
}
/* carouFredSel styles for pagination - all styles below are from plugin
----------------------------------------*/
a.prev, a.next, a.play, a.pause {
    background: url('/images/site/miscellaneous_sprite.png') no-repeat scroll 0 0 transparent;
    display: block;
    height: 60px;
    position: absolute;
    width: 60px;
}
a.prev, a.next {
    top: 35px;
}
a.play, a.pause {
    left: 50%;
    margin-left: -22px;
    top: 185px;
    z-index: 200;
}
a.next {
    right: -12px;
	background-position: -80px -24px;
}
a.prev {
    left: -20px;
	background-position: -15px -24px;
}
a.prev:hover {
    background-position: -15px -85px;
}
a.prev.disabled {
    background-position: -15px -145px !important;
    cursor: default;
}
a.next:hover {
    background-position: -80px -85px;
}
a.next.disabled {
    background-position: -80px -145px !important;
    cursor: default;
}
a.play {
    background-position: -100px 0;
}
a.play:hover {
    background-position: -100px -50px;
}
a.play.disabled {
    background-position: -100px -100px !important;
    cursor: default;
}
a.pause {
    background-position: -150px 0;
}
a.pause:hover {
    background-position: -150px -50px;
}
a.pause.disabled {
    background-position: -150px -100px !important;
    cursor: default;
}
a.prev span, a.next span, a.play span, a.pause span {
    display: none;
}

/* NHD CMS Homepage
----------------------------------------*/

.container
{
  max-width: 100%;
}
.left-div
{
	display: inline-block;
	max-width: 50%;
	text-align: left;
	padding: 30px;
	background-color: #ddd;
	border-radius: 3px;
	margin: 15px;
	vertical-align: top;
}
.right-div
{
	display: inline-block;
	max-width: 20%;
	margin: 15px;
}

/*----------------------------------------------------
 NHD CMS Page Top Navigation Layout using nav 
----------------------------------------*/ 

/*nav
{
	box-shadow: 0px 0px 14px 0px rgba(0,0,0,0.75);
}*/

article.cms-article > nav > ul
{
	overflow: hidden;
	display: flex;
	list-style: none;
	margin: 0px;
	padding-top:0px;
	flex-direction: column;
	background-color: #f1f1f1;
}

article.cms-article > nav > ul li
{
    margin-bottom: 0px;
}

article.cms-article > nav > ul li a 
{
	display: block;
	color: black;
	padding: 14px 25px;
	text-transform: uppercase;
	font-size: 17px;
	border-bottom: 3px solid transparent;
}

article.cms-article > nav > ul li a:hover 
{
    border-bottom: 3px solid #003e7e;
}

article.cms-article > nav > ul li a.active 
{
    border-bottom: 3px solid #003e7e;
}

@media (min-width: 1025px) {
	article.cms-article > nav > ul
	{
		flex-direction: row;
		justify-content: space-between;
	}
}

.accordion-toggle {
	cursor: pointer;
	padding: 5px;
	margin: 8px 0 16px 16px;
}
.accordion-content {
	display: none;
	padding: 6px 20px;
}
.accordion-content.default {
	display: block;
	padding: 6px 20px;
}