/* NearDawn2 Template CSS and Overrides
 *
 * Color Palette:
 *
 * #252525 - Grey-black: Background (default), header and footer background,
 *           nav link (hover), meta link (hover)
 *
 * #DAE7ED - Light blue-grey (default): Main menu text, nav text/links, meta
 *           text/links
 *
 * #E8C600 - Bright yellow-green:  Site title (2), section titles 
 *           (nav, feat, meta), nav link / meta link (background hover), tab 
 *           labels, input field labels
 *
 * #003355 - Steel-blue: Feature titles and text, data text, tab background
 *
 * #DBDBDB - Grey: Data background
 *
 * TNG 'greys' used for charts:
 *   #DDDDDD
 *   #E6E6E6
 *   #EFEFEF
 *   #F8F8F8
 */

/** Fonts used in this template: **/

@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;700&display=swap');

/***********************************************************************
 ****** BEGIN: NearDawn2 TNG Overrides                          ********
 ***********************************************************************/

/** Primary typeface/font-size overrides: **/ 

.normal {
  font-family: 'Libre Franklin', sans-serif;
  font-weight: 400;
  font-size: 12pt;
}

.indleftcol {
  font-family: inherit;
  font-size: inherit;
}

.smfieldname, .whiteheader, .subhead, .pboxname, .pboxdates, 
.pboxpopup, .whitesubhead, .smaller, #loadingdiv, #sscontrols, 
.subheadbold, .largeheader {
  font-family: 'Libre Franklin', sans-serif;
  font-size: 11pt;
}

.smallest {
  font-family: 'Libre Franklin', sans-serif;
  font-size: 10pt;
}

/** Hyperlink display overrides not in nav or meta **/

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

a:hover {
  color: #003355;
  text-decoration: none;
}

/** Surname Cloud overrides: **/

.surnames-cloud {
  font-family: inherit;
  padding: 3px 5px 3px 0;
  letter-spacing: 0.0em;
  word-spacing: 0.0em;
  text-decoration: none;
  font-weight: normal;
  text-align: center;
  font-size: inherit;
}

.surnames-cloud a.size1 { font-size: 180%; }
.surnames-cloud a.size2 { font-size: 160%; }
.surnames-cloud a.size3 { font-size: 140%; }
.surnames-cloud a.size4 { font-size: 140%; }
.surnames-cloud a.size5 { font-size: 120%; }
.surnames-cloud a.size6 { font-size: 120%; }
.surnames-cloud a.size7 { font-size: 100%; }
.surnames-cloud a.size8 { font-size: 100%; }
.surnames-cloud a.size9 { font-size: 80%; }
.surnames-cloud a.size0 { font-size: 80%; }

/** Overrides for the TNG main menu media directives **/

/*  Don't want 'Home' or 'Search' to be hidden  */
@media (max-width: 1100px) {
  #home-smicon, #search-smicon {
    display: flex;
  }
}

/*  Same with 'Print', 'Share', and 'Bookmark'  */
@media (max-width: 660px) {
	#share-smicon, #print-smicon, #bmk-smicon {
		display: flex;
	}
}

/** Overrides for the main menu items: **/

.whiteback {
  border-spacing: 3px;
  background: none;
  border: none;
}

table.whiteback td, table.whiteback th {
  padding: 3px;
}

/** Header overrides **/

.header {
  margin-top: 0px;
  padding: 0px;
  font-size: 125%;
  color: #003355;
  line-height: revert;
}

/** Surpress sprites in tabs and icons in main menu **/

.tngsmallicon {
	background: none;
	padding: 0;
}

.tngsmallicon3 {
	background: none;
	padding: 0;
}

.headericon, .menu-icon {
	display: none;
}

/** Search overrides **/

.searchtext {
  font-size: 11px;
  color: #252525;
  text-align: right;
  vertical-align: top;
  padding-right: 5px;
}

.subsearch {
  color: #E8C600;
}

.slidedown {
  background: none repeat scroll 0 0 #DAE7ED;
  color: #252525;
}

/** Login pane overrides **/

.LB_window {
  background: #DAE7ED;
  color:#252525;
}

.LB_closeAjaxWindow, .bar, .sideback {
  background-color : #252525;
}

/** Photo tables **/

.indexphoto {
    border: 0;
}

.indexphototable {
    padding-right: 4px;
}

/** Data and field overrides **/

/* fieldname: regular text within column or row title sections */
.fieldname {
  color: #DAE7ED;
  padding-left: 3px;
}

/* fieldnameback: background color for column and row title sections */
.fieldnameback {
  background-color: #003355;
  border-radius: 4px 4px 4px 4px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border-right-style: solid;
  border-bottom-style: solid;
  border-right-color: #252525;
  border-bottom-color: #252525;
}

/* databack: background color for data areas */
.databack {
  background-color: #DBDBDB;
  border-radius: 4px 4px 4px 4px;
  padding-left: 3px;
}

/* sideback: background color for side and top frames */
.sideback {
  background-image: url(../img/admin_bg.gif);
}

/* fieldnameback: background color for column and row title sections */
/* sideback: background color for side and top frames */
.bar, .sideback {
  background-color : #252525;
}

/* overrides for the inline Family Chart boxes and background box styles */
.fambackground {
  background-color: #DBDBDB !important;
}

.fambox, .mfambox {
  background-color: #F8F8F8 !important;
}

/* background color for admin menu items while active*/
a.admincell:hover, a.leftlink:hover {
  background-color: #C3B165;
}

/** TNG14+: New table overrides to correct new shadow box **/

.tfixed, .thfixed, .dna-tfixed {
  border-radius: 0px;
  box-shadow: none;
}

.tfixed tr:first-child td:first-child, .thfixed tr:first-child th:first-child, .rc-ul {
  border-top-left-radius: 4px;
}

#pub-innermenu {
  border-right: none;
  border-bottom: none;
  filter: none;
}

/** TNG14+: New field overrides to correct overzealous corner rounding */
.tfixed tr:last-child td:first-child, .thfixed tr:last-child td:first-child, .rc-ll { border-bottom-left-radius: 4px; }
.tfixed tr:last-child td:last-child, .thfixed tr:last-child td:last-child, .dna-tfixed tr:last-child td:last-child, .rc-lr { border-bottom-right-radius: 4px; }
.tfixed tr:first-child td:first-child, .thfixed tr:first-child th:first-child, .rc-ul { border-top-left-radius: 4px; }
.tfixed tr:first-child td:last-child, .thfixed tr:first-child th:last-child, .dna-tfixed tr:first-child td:last-child { border-top-right-radius: 4px; }

.rounded-table tr:last-child td:first-child, .rounded-table tr:last-child td:first-child { border-bottom-left-radius: 4px; }
.rounded-table tr:last-child td:last-child, .rounded-table tr:last-child td:last-child { border-bottom-right-radius: 4px; }
.rounded-table tr:first-child td:first-child, .rounded-table tr:first-child th:first-child { border-top-left-radius: 4px; }
.rounded-table tr:first-child td:last-child, .rounded-table tr:first-child th:last-child { border-top-right-radius: 4px; }

/** Additional classes added for strict validation (copied from TNG)  **/

.snlink {
  background-color:#fff;
  border-left:1px solid #DAE7ED;
  border-top:1px solid #DAE7ED;
  border-bottom:1px solid #252525;
  border-right:1px solid #252525;
}

a.snlink {
  color: #252525;
  background-color:#fff;
  border-left:1px solid #DAE7ED;
  border-top:1px solid #DAE7ED;
  border-bottom:1px solid #252525;
  border-right:1px solid #252525;
}

a.snlink:hover, .snlinkact, .adminnav .snlinkact {
  background-color:#003355;
  color: #DAE7ED;
  border-left:1px solid #DAE7ED;
  border-top:1px solid #DAE7ED;
  border-bottom:1px solid #252525;
  border-right:1px solid #252525;
}

/***********************************************************************
 ****** END: NearDawn2 TNG Overrides                            ********
 ***********************************************************************/

/***********************************************************************
 ****** BEGIN: NearDawn2 CSS IDs and Classes                    ********
 ***********************************************************************/

/** For the <body> tag. Describes basic attributes not governed by CSS 
  * defined within the 'boxes' .header, .content, and .footer. **/
  
.template {
  background: #252525;
  color: #DAE7ED;
  margin: 0;
  padding: 29px;
  font-family: 'Libre Franklin', sans-serif;
  font-size: 12pt;
  font-weight: 400;
}

.page {
  padding: 0;
  margin: 0;
}

/** Common styles used across Header, Content, Detail, and Footer: **/

.text_white {
  color: #FFFFFF;
}

.text_tan {
  color: #E8C600;
}

.text_grey {
  color: #DBDBDB;
}

.text_brown {
  color: #E8C600;
}

.titleXL {
  font-size: 200%;
}

.titleLg {
  font-size: 150%;
}

.titleMd {
  font-size: 135%;
}

.titleSm {
  font-size: 125%;
}

/** Header Structures **/

.headerBox {
  margin: 0;
  padding: 0 0 29px 0;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  height: 200px;
  justify-content: space-between;
}

.siteImageBox {
  order: 2;
  height: inherit;
  position: relative;
}

.siteInfoBox {
  order: 1;
  display: flex;
  flex-direction: column;
  height: inherit;
  justify-content: space-between;
}

.siteTitleBox { /* unused in NearDawn2 */ }

/*  Main Menu  */

.siteMenuBox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 15px;
}

.siteMenuList {
  padding: 0;
  display: flex;
  flex-direction: row;
  column-gap: 23px;
  margin: 0;
  font-family: 'Quicksand', sans-serif;
  font-size: 135%;
  font-weight: 500;
}

.siteMenuList a:link, .siteMenuList a:visited {
  color: #DAE7ED;
  border-bottom: none;
}

.siteMenuList a:hover {
  color: #E8C600;
  border-bottom: none;
}

/* Media-based transitions for headers [site < 810px] */

@media (max-width: 810px) {
  .template {
    padding: 19px;
  }

  .headerBox {
    padding-bottom: 19px;
  }

  .siteMenuIcon {
    display: none;
  }

  .btnScrollUp {
    top: 11px;
  }
}

/* Media-based transitions for headers [site < 600px] */

@media (max-width: 600px) {
  .headerBox {
    flex-direction: column;
    align-items: center;
    height: auto;
    row-gap: 19px;
    border-bottom: none;
  }

  .siteImageBox {
    order: 1;
  }

  .siteInfoBox {
    width: 100%;
    row-gap: 19px;
    order: 2;
  }

  .siteTitleBox {
    text-align: center;
  }

  .siteMenuBox {
    padding: 5px 0 5px 0;
    border-top: 3px solid #E8C600;
    border-bottom: 3px solid #E8C600
  }

  .siteMenuList {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    column-gap: 23px;
    justify-content: center;
  }
}

/** Navigation Structures **/

.contentNavBox {
  padding: 17px 23px 0 0;
  vertical-align: top;
  min-width: max-content;
  white-space: nowrap;  
  flex: 0 0 auto;
  order: 1;
}

.slidingNavBox {
  height: 100%;
  width: 0px;
  position: fixed; 
  z-index: 1; 
  top: 0; 
  right: 0;
  background-color: #252525; 
  overflow-x: hidden;
  transition: 0.25s;
}

.navHidden {
  display: none;
}

.slidingNavPad {
  padding: 49px 19px 19px 19px;
}

/*  Artifacts in the navigation bar  */

.slidingNavBox input, .contentNavBox input {
  font-size: 85%;
}

.openNavBox {
  position: absolute;
  top: 17px;
  right: 23px;
}

.closeNavBox {
  position: absolute;
  top: 11px;
  left: 19px;
}

.navIcon {
  vertical-align: bottom;
  border: none;
}

.navIconHidden {
  display: none;
}

.navBox {
  margin-bottom: 33px;
}

.navBox ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.navBox li {
  padding: 3px;
  border-radius: 4px;
}

.navBox li a:link, .navBox li a:visited {
  color: #DAE7ED;
  border-bottom: none;
  text-decoration: none;
}

.navBox li:hover {
  color: #252525;
  background-color: #E8C600;
}

.navBox li:hover a:link {
  color: #252525; 
}

.navBox li:hover a:visited {
  color: #252525; 
}

.navTitle {
  color: #E8C600;
  font-family: 'Quicksand', sans-serif;
  text-transform: uppercase;
  margin-bottom: .5em;
  border-bottom: 1px solid;
}

@media (max-width: 810px) {
  .openNavBox {
    position: absolute;
    top: 12px;
    right: 15px;
  }

  .closeNavBox {
    position: absolute;
    top: 9px;
    left: 17px;
  }
}

/** Content Structures **/

.contentBox {
  display: flex;
  margin: 0;
  padding: 0;  
  width: 100%;
  position: relative;
}

/* All TNG detail pages (e.g., sources, search results, etc...) */
.contentDetailBox {
  color: #003355;
  vertical-align: top;  
  padding: 17px 23px 9px 23px;
  border-radius: 10px;
  background: #FFFFFF url(../img/bg.jpg);
  flex: 1;
}

/* Site 'Home' page and top-level pages */
.contentFeatureBox {
  color: #003355;
  border-radius: 10px 10px 10px 10px;
  padding: 17px 23px 23px 23px;
  vertical-align: top;
  background: #FFFFFF url(../img/bg.jpg);
  flex: 1;
  order: 2;
  min-width: 0;
}

.featGroup {
  padding: 0 0 23px 0;
  margin: 0 0 23px 0;
  border-bottom: 1px solid #003355;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 23px;
}

.featBox {
  margin: 0;
  padding: 0;
}

.featTitle {
  margin-bottom: 1em;
}

.shStrictBox {
  height: 270px;
  overflow: hidden;
}

.dhStrictBox {
  height: 563px;
  overflow: hidden;
}

.thStrictBox {
  height: 856px;
  overflow: hidden;
}

.shScrollBox {
  height: 270px;
  overflow: auto;
}

.dhScrollBox {
  height: 563px;
  overflow: auto;
}

.thScrollBox {
  height: 856px;
  overflow: auto;
}

/*  Links in paragraphs (Content and Detail)  */

.contentBox p a:link, .contentBox p a:visited {
  color: #003355;
  border-bottom: 1px dotted;
  text-decoration: none;
}

.contentBox p a:hover {
  border-bottom: 2px dotted;
  text-decoration: none;
}

/* Media transitions for Content / Detail [site =< 1210px] */

@media (max-width: 1210px) {

  .featGroup {
    grid-template-columns: 1fr 1fr;
  }
}

/* Media transitions for Content / Detail [site =< 810px] */

@media (max-width: 810px) {
  .contentNavBox {
    padding: 0 15px 0 0;
    max-width: 200px;
    min-width: revert;
    white-space: normal;
  }

  .contentFeatureBox{
    padding: 12px 15px 9px 15px;
  }

  .contentDetailBox {
    padding: 12px 15px 9px 15px;
  }

  .featGroup {
    grid-template-columns: 1fr;
    gap: 19px;
  }
}

@media (max-width: 600px) {
  .contentNavBox {
    display: none;
  }

  .openNavBox {
    display: block;
  }
}

/** Footer top-level structure: **/

.footerBox {
  color: #DAE7ED;
  margin: 0;
  padding: 29px 0 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 27px 59px;
  align-content: flex-start;
  position: relative;
}

.footerModeSwitch {
  text-align: center;
  display: none;
}

.btnScrollUp {
  position: absolute;
  top: 19px;
  right: 0;
}

/* Footer Sections */

.metaBox {
  text-align: left;
  vertical-align: top;
}

.metaBoxText {
  flex-basis: 250px;
  flex-grow: 1;
  max-width: 400px;
}

.metaTitle {
  color: #E8C600;
  font-family: 'Quicksand', sans-serif;
  text-transform: uppercase;
  margin-bottom: .5em;
}

.metaBox ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.metaBox li {
  padding: 3px;
  border-radius: 4px;
  white-space: nowrap;
}

.metaBox li a:link, .metaBox li a:visited {
  text-decoration: none;
  border-bottom: none;
  color: #DAE7ED;
}

.metaBox li:hover {
  background-color: #E8C600;
  color: #252525;
}

.metaBox li:hover a:link {
  color: #252525;
}

.metaBox li:hover a:visited {
  color: #252525;
}

/** Hyperlink overrides for paragraphs (Meta) **/

.footerBox p a:link, .footerBox p a:visited {
  color: #DAE7ED;
  border-bottom: 1px dotted;
  text-decoration: none;
}

.footerBox p a:hover {
  border-bottom: 2px dotted;
  text-decoration: none;
}

/* Media transitions for footer sections [site =< 810px] */

@media (max-width: 810px) {
  .footerBox {
    padding-top: 12px;
  }
  
  .footerModeSwitch {
    text-align: center;
    display: block;
  }
}

/***********************************************************************
 ****** END: NearDawn2 CSS IDs and Classes                      ********
 ***********************************************************************/
