
:root{

/* ----------------------------------------------------------------------------------------------- */
/* 		!!!!  DO NOT EDIT RULES IN THIS FILE    !!!!  MAKE EDITS IN THE THEME CSS FILES  !!!!
/* ----------------------------------------------------------------------------------------------- */

/* Global Layout Geometry */
	--body_content_width:				var(--theme_body_content_width);		/* Practical content width */
	--body_bg_color:					var(--theme_body_bg_color);
	--nav_column_width: 				var(--theme_nav_column_width);
	--content-padding-left:				var(--theme_content-padding-left);			/* 50 for PlaneMaker */
	--content_padding-right:			var(--theme_content_padding-right);			/* 50 for PlaneMaker */
	--site_max_width:					var(--theme_site_max_width);			/* max width. */
	--top_bar_height: 					var(--theme_top_bar_height);
	--site_title_color:					var(--theme_site_title_color);
	--header_bar_bg_color:				var(--theme_header_bar_bg_color);
	--toc_bg_color:						var(--theme_toc_bg_color);
	--home_icon_size:					var(--theme_home_icon_size);
	
	--content_panel_bg_color:			var(--theme_content_panel_bg_color);
	--content_h1_color:					var(--theme_h1_color);
	--content_h2_color:					var(--theme_h2_color);
	--content_paragraph_color:			var(--theme_paragraph_color);
	
	--border1_color:					var(--theme_border1_color);
	--toc_idle_doc_icon_color:			var(--theme_toc_idle_doc_icon_color);
	--toc_idle_doc_text_color:			var(--theme_toc_idle_doc_text_color);
	--toc_idle_doc_bg_color:			var(--theme_toc_idle_doc_bg_color);		/* Nominally transparent/not used */
	--toc_idle_grp_icon_color:			var(--theme_toc_idle_grp_icon_color);
	--toc_idle_grp_text_color:			var(--theme_toc_idle_grp_text_color);
	--toc_idle_grp_bg_color:			var(--theme_toc_idle_grp_bg_color);		/* Nominally transparent/not used */	
	--toc_idle_list_icon_color:			var(--theme_toc_idle_list_icon_color);
	--toc_idle_list_text_color:			var(--theme_toc_idle_list_text_color);
	--toc_hvr_doc_icon_color:			var(--theme_toc_hvr_doc_icon_color);
	--toc_hvr_doc_text_color:			var(--theme_toc_hvr_doc_text_color);
	--toc_hvr_doc_bg_color:				var(--theme_toc_hvr_doc_bg_color);	
	--toc_hvr_grp_icon_color:			var(--theme_toc_hvr_grp_icon_color);
	--toc_hvr_grp_text_color:			var(--theme_toc_hvr_grp_text_color);	
	--toc_hvr_grp_bg_color:				var(--theme_toc_hvr_grp_bg_color);		
	--toc_hvr_lst_text_color:			var(--theme_toc_hvr_lst_text_color);
	--toc_hvr_lst_bg_color:				var(--theme_toc_hvr_lst_bg_color);
	--toc_sel_doc_icon_color:			var(--theme_toc_sel_doc_icon_color);
	--toc_sel_doc_text_color:			var(--theme_toc_sel_doc_text_color);
	--toc_sel_doc_bg_color:				var(--theme_toc_sel_doc_bg_color);
	--toc_sel_grp_icon_color:			var(--theme_toc_sel_grp_icon_color);
	--toc_sel_grp_text_color:			var(--theme_toc_sel_grp_text_color);
	--toc_font_height:					var(--theme_toc_font_height);
	--toc_lst_font_size:				var(--theme_toc_lst_font_size);
	--toc_icons_size:					var(--theme_toc_icons_size);
	--table_stripe_dark:				var(--theme_table_stripe_dark);
	--table_stripe_light:				var(--theme_table_stripe_light);
	--table_heading_bg_color:			var(--theme_table_heading_bg_color);
	--table_border_color:				var(--theme_table_border_color);
	
	--closed_group_icon:				var(--theme_closed_grp_icon);
	--open_group_icon:					var(--theme_open_grp_icon);
	--doc_icon:							var(--theme_doc_icon);
	
	--pre_bg_color:						var(--theme_pre_bg_color);						
	--pre_border:						var(--theme_pre_border);
	--pre_text_color:					var(--theme_pre_text_color);
}

/* ----------------------------------------------------------------------------------------------- */
/* 		MKDOCS "LAMINAR-WINDMILL" CSS Rules.
/*		
/*		The rules below make JUDICIOUS USE of the variables above. Edit the LR_theme_.css files
/*		to control the layout and colors.  This document should be considered non-editable.
/* ----------------------------------------------------------------------------------------------- */

html{
	scroll-behavior: smooth;
}


body {
	background: var(--body_bg_color);
    background-attachment: fixed;
    color: var(--content_panel_text_color);
    overflow: hidden;   /* Only .wm-content-pane scrolls — not the body */
}


@font-face {
  font-family: "Lato";
  font-weight: normal;
  src: url('../fonts/Lato-Regular.ttf');
}

@font-face {
  font-family: "Lato";
  font-weight: 700;
  src: url('../fonts/lato-bold.woff') format('woff');
}

@font-face {
  font-family: "Lato";
  font-weight: 900;
  src: url('../fonts/Lato-Black.ttf');
}

@font-face {
    font-family: 'Glyphicons Halflings';
    src: url('../fonts/glyphicons-halflings-regular.eot');
    src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),
         url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),
         url('../fonts/glyphicons-halflings-regular.woff') format('woff'),
         url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),
         url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
 
 /* =====================================================================================================================
												TOP NAV BAR
======================================================================================================================
*/

/* .wm-lr-topbar is our de-iframed navbar element (replaces the old
   .wm-page-top-frame which was hidden by default in the stock base.css) */
.wm-lr-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
    height:     var(--top_bar_height);
    min-height: var(--top_bar_height);
    background-color: var(--header_bar_bg_color);
    box-shadow: 0 4px 5px rgba(0,0,0,.24), 0 3px 8px rgba(0,0,0,.05);
    border-bottom: 1px solid gray;
    border-radius: 0;
    margin-bottom: 0;
}

.wm-main-layout {
    display: flex;
    position: fixed;
    top: var(--top_bar_height);
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}

.wm-top-container {
    height: 100%;
}

.wm-header-layout {
    display:     flex;
    flex-wrap:   nowrap;
    align-items: center;
    width:       100%;
    height:      100%;
    gap:         30px;
}

.wm-top-logo {
    position:   static;
    display:    block;
    width:      var(--home_icon_size);
    margin-left: 25px;
}

/* Developer home icon — between logo and manual title */
.wm-header-dev-home {
    flex:            0 0 auto;
    display:         flex;
    align-items:     center;
    font-size:       1.76em;
    color:           var(--laminar_blue);
    text-decoration: none;
    margin-left:     -16px;
}

.wm-header-dev-home:hover {
    color: var(--laminar_blue_light);
}

/* Manual title — bold Lato, sits right of logo */
.wm-header-manual-title {
    flex:         0 0 auto;
    font-family:  "Lato";
    font-weight:  700;
    font-size:    1.76em;
    color:        var(--laminar_sky, #B3BCBD);
    white-space:  nowrap;
    padding-left: 50px;
}

.wm-header-manual-title a {
    color:           inherit;
    text-decoration: none;
}

.wm-header-manual-title a:hover {
    color: #E2E8F0;
}

/* Spacer — pushes version + search to the right */
.wm-header-spacer {
    flex: 1;
}

/* Version badge container */
.wm-header-version {
    flex: 0 0 auto;
}

/* Version badge — bordered box, same height as search input */
.wm-top-version {
    display:       inline-flex;
    align-items:   center;
    height:        35px;
    padding:       0 14px;
    border:        1.5px solid var(--laminar_blue);
    border-radius: 5px;
    color:         #E2E8F0;
    font-family:   "Lato";
    font-weight:   600;
    font-size:     0.9em;
    white-space:   nowrap;
    background:    transparent;
}

.wm-header-search {
    flex:        0 0 350px;
    width:       350px;
    max-width:   350px;
    display:     flex;
    align-items: center;
    margin-left: -18px;   /* tightens gap with version badge to ~12px */
}

.wm-top-search {
    width:  100%;
    margin: 0;
}

.wm-header-tool,
.wm-header-menu {
    flex:         0 0 auto;
    margin-right: 20px;
}

#wm-search-form {
    position: relative;   /* positioning context for results dropdown */
    width:    100%;
    margin:   0;
}
/* =====================================================================================================================
												END OF TOP NAV BAR
======================================================================================================================*/


.wm-page-content {
  background: var(--content_panel_bg_color);
  width: var(--body_content_width);
  max-width: var(--site_max_width);
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left:  var(--content-padding-left);
  padding-right: var(--content_padding-right);
}

/* ── Content card: white rounded box on the #EDFAFF body background ── */
div.wm-page-content {
  margin:        15px;
  border-radius: 12px;
  box-shadow:    0 4px 8px rgba(0, 0, 0, 0.25);
}

/* Footer sits outside the card — transparent, no shadow */
footer.wm-page-content {
  background:  transparent;
  box-shadow:  none;
  border-top:  none;
  margin:      0 20px 20px 20px;
  color:       #888;
  width:       auto;
}


/* =====================================================================================================================
												SIDE NAV TOC
======================================================================================================================*/



.wm-toc-pane {
  font-family: Lato;
  /* Flex child — fixed width sidebar.
     position: static overrides base.css position: absolute which would
     pull the nav out of the flex flow and let content start at x:0. */
  position:   static;
  flex:       0 0 auto;          /* shrink/grow to fit content */
  min-width:  var(--nav_column_width);
  max-width:  350px;             /* hard cap so nav never dominates narrow screens */
  height:     100%;
  overflow-y: auto;
  z-index:    1;
  background: var(--toc_bg_color);
  background-attachment: fixed;
  border-right:   1px solid #e0e0e0;
  padding-top:    0;             /* header block provides top spacing */
  padding-left:   1rem;
  padding-right:  1rem;
  padding-bottom: 2rem;
  transition:     none;
}

/* ══════════════════════════════════════════════════════════════════════
 * NAV PANEL TITLE BLOCK
 * Sits at the top of the left nav pane.
 * Row 1: home icon + site name  (centred)
 * Row 2: version string with laminar_blue bottom border
 *
 * Tweak these variables to adjust without hunting through rules:
 *   --nav-title-size, --nav-title-color
 *   --nav-version-size, --nav-version-color
 * ══════════════════════════════════════════════════════════════════════ */

.wm-nav-header {
    --nav-title-size:    1.5rem;
    --nav-title-color:   #E2E8F0;
    --nav-version-size:  1.3rem;
    --nav-version-color: var(--laminar_blue_light, #58ACDC);
    display:       flex;
    flex-direction: column;
    align-items:   center;
    padding:       10px 8px 0 4px;
    margin-bottom: 20px;
}

/* Row 1 — home icon + site name */
.wm-nav-title {
    width:       100%;
    text-align:  center;
    font-family: "Lato";
    font-weight: 700;
    font-size:   var(--nav-title-size);
    color:       var(--nav-title-color);
    white-space: nowrap;
    overflow:    hidden;
    text-overflow: ellipsis;
}

.wm-nav-title a {
    color:           inherit;
    text-decoration: none;
}

.wm-nav-title a:hover {
    color: #ffffff;
}

/* Row 2 — version string */
.wm-nav-version {
    width:         100%;
    text-align:    center;
    font-family:   "Lato";
    font-weight:   400;
    font-size:     var(--nav-version-size);
    color:         var(--nav-version-color);
    padding:       4px 0 8px 0;
/*     margin-top:    2px; */
    border-bottom: 1px solid var(--laminar_sky_dark);
}

.wm-content-pane {
  /* Flex child — fills remaining width, scrolls independently.
     base.css sets position:absolute + width:100% + padding-left:250px for
     the old absolute layout.  All three must be explicitly overridden so
     the flex model takes control.  The visual gap from the nav to the
     content card comes from div.wm-page-content { margin: 15px }. */
  position:     static;   /* override base.css position: absolute */
  width:        auto;     /* override base.css width: 100% */
  flex:         1;
  min-width:    0;
  height:       100%;
  overflow-y:   auto;
  padding-top:  0;
  padding-left: 0;        /* override base.css padding-left: 250px */
  -webkit-overflow-scrolling: touch;
}

/* Nav collapse removed — sidebar is always visible */

/*----------------------------------------------------------------------------------------------------------------------
--										GRP (Folder ICON) PROPERTIES

FONT AWESOME ICONS CHEATSHEET: 

https://fontawesome.com/v4/icons/

----------------------------------------------------------------------------------------------------------------------*/
/* CLOSED FOLDER icon */
.wm-toc-opener > .wm-toc-text::before {
  font-family:  'FontAwesome';
  color: var(--toc_idle_grp_icon_color);
/*   content: "\f105 \00a0 \f114 \FE0E"; */
  content: var(--closed_group_icon);
  margin-right: 23px;
  display: inline-block;
  vertical-align: middle;
  font-size: var(--toc_icons_size);
}

/* Idle GRP Icon */
.wm-toc-opener > .wm-toc-text:hover::before {
  color: var(--toc_hvr_grp_icon_color);
  margin-right: 23px;
  display: inline-block;
  vertical-align: middle;
  font-size: var(--toc_icons_size);
}

/* OPEN GRP Icon */
.wm-toc-opener.wm-toc-open > .wm-toc-text::before {
  font-size: 12px;
  color:  var(--toc_sel_grp_icon_color);
  content: var(--open_group_icon);
  margin-right: 29px;
  margin-left: -5px;
  vertical-align: middle;
  font-size: var(--toc_icons_size);
}

/* this is the Nav panel Default Text Color */
.wm-toc-text {
  display:    block;
  cursor:     pointer;
  font-size:  var(--toc_font_height);
  color:      var(--toc_idle_grp_text_color);
  background: var(--toc_idle_grp_bg_color);
  padding:    10px 15px 10px 0px;  /* 15px right keeps text off the pane edge */
  white-space: nowrap;             /* forces nav pane to widen rather than word-wrap */
}


.wm-toc-text:hover {
  display: block;
  cursor: pointer;
  font-size: var(--toc_font_height);
  color: var(--toc_hvr_grp_text_color);
  padding: 10px 15px 10px 0px;
  transform: translateX(1px);  /* visual-only indent — doesn't affect layout width */
  background-color: var(--toc_hvr_grp_bg_color);
  border-radius: 5px  
}


.wm-toc-repo {
  margin-top: -15px;
  margin-bottom: 5px;
  padding-bottom: 5px;
  border-bottom: 1px solid #e0e0e0;
}

/* ── Nav toggle button: hidden at wide widths, shown at narrow ───────────── */
#wm-toc-button {
  display: none;
  margin-right: 8px;
}

/* ── Narrow-window nav: auto-hide sidebar, show as overlay when toggled ─── */
@media (max-width: 950px) {
  #wm-toc-button {
    display: inline-block;
  }
  .wm-toc-pane {
    display: none;
  }
  /* #main-content.wm-nav-open → show nav as fixed overlay */
  #main-content.wm-nav-open > .wm-toc-pane {
    display: flex !important;
    flex-direction: column;
    position: fixed !important;  /* must beat any base.css absolute/relative */
    top: var(--top_bar_height);
    left: 0;
    width: var(--theme_nav_column_width);
    height: calc(100vh - var(--top_bar_height));
    z-index: 500;
    overflow-y: auto;
    box-shadow: 4px 0 12px rgba(0, 0, 0, 0.35);
  }
}

.wm-small-show {
  display: none;
}

/*----------------------------------------------------------------------------------------------------------------------
--												TOC TREE ENTRIES
----------------------------------------------------------------------------------------------------------------------*/
/* Global TOC settings.  may be overriden below */
.wm-toctree {
  list-style-type: none;
  line-height: 7px;
  padding-left: 0px;
}

/* 
TOC DOC Text styling, nominal & visited.  
See .wm-toc-li.wm-current a {  for 'currently selected link'
*/

.wm-toctree a, .wm-toctree a:visited {
  text-decoration: none;
  outline: none;
  color: var(--toc_idle_doc_text_color);
  background: var(--toc_idle_doc_bg_color);
}


/* this is the padding for the markdown document titles */
.wm-toc-lev1 > .wm-toc-text { padding-left: 10px; }
.wm-toc-lev2 > .wm-toc-text { padding-left: 25px; }
.wm-toc-lev3 > .wm-toc-text { padding-left: 40px; }
.wm-toc-lev4 > .wm-toc-text { padding-left: 55px; }
.wm-toc-lev5 > .wm-toc-text { padding-left: 70px; }
.wm-toc-lev6 > .wm-toc-text { padding-left: 85px; }


/* This is the margin for the markdown heading li */
/* 
.wm-toc-lev1 + .wm-page-toc { margin-left: 14px; }
.wm-toc-lev2 + .wm-page-toc { margin-left: 29px; }
.wm-toc-lev3 + .wm-page-toc { margin-left: 44px; }
.wm-toc-lev4 + .wm-page-toc { margin-left: 59px; }
.wm-toc-lev5 + .wm-page-toc { margin-left: 74px; }
.wm-toc-lev6 + .wm-page-toc { margin-left: 89px; }
 */

/*----------------------------------------------------------------------------------------------------------------------
--												UNSELECTED MARKDOWN
----------------------------------------------------------------------------------------------------------------------*/
/* Document Icon */
a.wm-article-link.wm-toc-text::before{
	font-family: 'FontAwesome';
	content: var(--doc_icon);
	font-size: var(--toc_icons_size);
	color: var(--toc_idle_doc_icon_color);
	margin-right: 12px;	
}

.wm-page-toc-opener > .wm-toc-text::after {
  font-family: 'FontAwesome';
  content: "\f053";
  display: inline-block;
  float: right;
  vertical-align: middle;
  font-size: var(--toc_font_height);
  padding-right: 6px;
  padding-left: 10px;
}

/*----------------------------------------------------------------------------------------------------------------------
--												SELECTED MARKDOWN FILES
----------------------------------------------------------------------------------------------------------------------*/
/* SELECTED DOC ICON styling */
.wm-toc-li.wm-current a{
  color: var(--toc_sel_doc_text_color);
}

.wm-toc-li.wm-current a::before{
  font-family:  'FontAwesome';
  font-size: var(--toc_icons_size);
  color: var(--toc_sel_doc_icon_color);
  content: "\f0f6 \FE0E";
}



/*----------------------------------------------------------------------------------------------------------------------
--											TOC MARKDOWN HOVER PROPERTIES
----------------------------------------------------------------------------------------------------------------------*/
/* DOC ICON - Hover Mode*/
a.wm-article-link.wm-toc-text:hover::before{
	font-family: 'FontAwesome';
	content: "\f0f6 \FE0E";
	color: var(--toc_hvr_doc_icon_color);
	margin-right: 12px;	
}

/* TOC Hover Style */
a.wm-article-link.wm-toc-text:hover{
  color: var(--toc_hvr_doc_text_color);
  background-color: var(--toc_hvr_doc_bg_color);
  border-radius: 5px
}

/* CURRENT selected Markdown Document CONTAINER style */
.wm-toc-li.wm-current{
    background-color: var(--toc_sel_doc_bg_color);
  	border-radius: 5px;
  	border: 1px solid #555;
}

.wm-toc-li.wm-current, .wm-toc-li.wm-current:hover {
  	border-radius: 5px
}

/* CURRENT selected Markdown Document CONTAINER style on hover */
.wm-toc-li:hover {
   background-color: transparent;
  	border-radius: 5px
/*   border-radius: 5px; */
/*   border: 1px solid white; */
}


/*----------------------------------------------------------------------------------------------------------------------
--								EXPANDED BULLET LIST					
----------------------------------------------------------------------------------------------------------------------*/

/* The "container box" for the nested bullet list*/
.wm-toc-li-nested.wm-page-toc {
  border-left: 1px dashed var(--border1_color);
/* 
  background:  rgb(100, 100, 100, 0.4);
 */
  margin-right: 10px;
  border-radius: 0px 0px 5px 5px;
}

ul > .wm-toc-li-nested > .wm-toctree {
	border-top: 1px solid #888;
	border-bottom: 1px solid #888;
	background: var(--laminar_ink_dark);
}

ul ul > .wm-toc-li-nested > .wm-toctree {
	border: none;
}


/* bullet list Icon */
a.wm-article-link.wm-page-toc-text::before{
	color:	var(--toc_idle_list_icon_color);
	content: "•";	
	font-size: 1.5rem;
	margin-left: 5px;
	margin-right: 8px;
}

/* bullet list text */
a.wm-article-link.wm-page-toc-text{
	color: var(--toc_idle_list_text_color);
	font-size: var(--toc_lst_font_size);
	padding: 4px  0px;
	margin-right: 10px;
	margin-bottom: 1px;
}

a.wm-article-link.wm-page-toc-text:hover{
	color: var(--toc_hvr_lst_text_color);
	padding-left: 2px;
	background: var(--toc_hvr_lst_bg_color);
}


/* This is the color of the Text to the right of an 'active / open folder'*/
.wm-toc-opener.wm-toc-open > .wm-toc-text{
	color: var(--toc_sel_grp_text_color);
	border-radius: 4px;
}

.wm-page-toc-opener.wm-page-toc-open > .wm-toc-text::after {
  font-family: 'FontAwesome';
  content: "\f078";
  font-size: var(--toc_font_height);
}

.btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
  outline: none;
}

.btn-default:focus, .btn-default.focus {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}

.btn-default.greybtn {
  color: #888;
}

.wm-article-nav-buttons {
  margin: 1rem 0;
}

.wm-page-content img {
  max-width: 100%;
  display: inline-block;
  padding: 0px;
  line-height: 1.428571429;
  background-color: #fff;
  border: 0px solid #ddd;
  border-radius: 0px;
  margin: 0px
}

.wm-page-content a {
  color: #2fa4e7;
}

.wm-article-nav {
  display: inline-block;
  max-width: 48%;
  white-space: nowrap;
  color: #546e7a;
  text-align: right;
}

.wm-article-nav > .btn-link {
  display: block;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

/***********************************************************************
 * Dropdown search results
 ***********************************************************************/
#mkdocs-search-results.dropdown-menu {
  width: 40rem;
  overflow-y: auto;
  overflow-x: hidden;
  white-space: normal;
  max-height: calc(100vh - 60px);
  max-width: 90vw;
}

#mkdocs-search-results {
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif,FontAwesome;
}

.search-link {
  font-size: 1.2rem;
}

.search-title {
  font-weight: bold;
  color: #337ab7;
  padding-right: 1rem;
}

.search-text {
  color: #666;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-text > b {
  color: #000;
}

.wm-search-page {
  list-style: none;
  padding: 5px 0;
}

.wm-search-page > li {
  padding: 1rem 0;
  border-bottom: 1px solid #ccc;
}

.wm-search-page .search-link {
  font-size: inherit;
}

.wm-search-page .search-link:hover, .wm-search-page .search-link:active {
  text-decoration: none;
}

.wm-search-page .search-link:hover .search-title {
  text-decoration: underline;
}



/***********************************************************************
 * The rest is taken from base.css from mkdocs.
 ***********************************************************************/


.source-links {
  float: right;
}

h1 {
    color: var(--content_h1_color);
    font-family: "Lato";
    font-weight: 700;
    font-size: 42px;
    margin-left: -20px;
}

h2, h3, h4, h5, h6 {
    color: var(--content_h2_color);
    font-family: "Lato";
    font-weight: 700;
    margin-left: -15px;
}

hr {
    border-top: 1px solid #aaa;
}

blockquote {
    background:   #F2F4F5;
    border-left:  6px solid var(--laminar_ink_dark);
    border-right: none;
    border-top:   none;
    border-bottom: none;
    margin:       12px 50px;
    padding:      10px 18px;
    font-size:    0.9em;
    border-radius: 0 4px 4px 0;
}

.wm-page-content ol{
	margin-bottom: 40px;
}

.wm-page-content ul{
	margin-bottom: 40px;
	color:	var(--content_paragraph_color);
}

.wm-page-content ul ul{
	margin-bottom: 0px;
}


p {
	margin: 0 0 20px;
	color:	var(--content_paragraph_color);
}

pre, .rst-content tt {
    max-width: 100%;
    background: var(--pre_bg_color);
    border: var(--pre_border);
    color: var(--pre_text_color);
    overflow-x: auto;
}

code.code-large, .rst-content tt.code-large {
    font-size: 90%;
}

code {
    padding: 1px 5px;
    background: #E9E9E9;
    border: solid 1px #e1e4e5;
    color: #D04941;
    white-space: pre-wrap;
    word-wrap: break-word;
}

pre code {
    background: transparent;
    border: none;
    white-space: pre;
    word-wrap: normal;
    font-family: monospace,serif;
    font-size: 12px;
}

a code {
    color: #2FA4E7;
}

a:hover code, a:focus code {
    color: #157AB5;
}

footer {
	width: var(--body_content_width);
    margin-bottom: 7px;
    margin-left: 0px;
    text-align: left;
    font-weight: 200;
    font-size: smaller;
    border-top: 1px solid;
}

.modal-dialog {
    margin-top: 60px;
}

.headerlink {
    font-size: 14px;
    display: none;
    padding-left: .5em;
}

h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink, h4:hover .headerlink, h5:hover .headerlink, h6:hover .headerlink{
    display:inline-block;
}

/*----------------------------------------------------------------------------------------------------------------------
--  ADMONITIONS
--  One uniform background for the whole box — no separate title-bar color.
--  Title: dark near-black (#343A40), h2-equivalent size, bold.
--  Colors & opacity driven by --adm-*-bg / --adm-*-border variables.
----------------------------------------------------------------------------------------------------------------------*/

/* ── Base box ── */
.admonition {
    border-radius: 8px;
    width:         100%;
    box-sizing:    border-box;
    margin:        20px 0;
    padding:       16px 20px 14px 24px;
    border-width:  2px;
    border-style:  solid;
    opacity: 0.8;
}

/* ── Title — sits directly on the box background, no separate fill ── */
.admonition-title {
    font-family:  "Lato", sans-serif;
    font-weight:  700;
    font-size:    2rem;        /* h2-equivalent */
    color:        var(--laminar_ink_darkest);       /* near-black, matches content h2 */
    background:   transparent;
    border-bottom: none;
    padding:      0 0 6px 0;
    margin:       0 0 8px 0;
}

/* ── Per-type: box background, border, and FA icon ── */

.admonition.note {
    background-color: var(--adm-note-bg);
    border-color:     var(--adm-note-border);
}
.admonition.note .admonition-title::before {
    font-family: 'FontAwesome';
    content:     '\f044\00a0\00a0';   /* pencil */
    font-weight: normal;
}

.admonition.warning {
    background-color: var(--adm-warning-bg);
    border-color:     var(--adm-warning-border);
}
.admonition.warning .admonition-title::before {
    font-family: 'FontAwesome';
    content:     '\f06a\00a0\00a0';   /* exclamation-circle */
    font-weight: normal;
}

.admonition.danger {
    background-color: var(--adm-danger-bg);
    border-color:     var(--adm-danger-border);
}
.admonition.danger .admonition-title::before {
    font-family: 'FontAwesome';
    content:     '\f071\00a0\00a0';   /* warning triangle */
    font-weight: normal;
}

.admonition.tip {
    background-color: var(--adm-tip-bg);
    border-color:     var(--adm-tip-border);
}
.admonition.tip .admonition-title::before {
    font-family: 'FontAwesome';
    content:     '\f0eb\00a0\00a0';   /* lightbulb */
    font-weight: normal;
}

/* ── Body text — inherit box color so it reads cleanly ── */
.admonition > p:not(.admonition-title) {
    margin: 0;
    color:  var(--laminar_ink_darkest);
}

/* TABLE STYLING
   — No alternating row colors
   — No outer border, no vertical borders
   — Horizontal rule between every row only                          */

.table {
    width:           auto;
    table-layout:    auto;
    border-collapse: collapse;
    white-space:     pre-wrap;
    border:          none;       /* no outer border */
    color:           var(--content_paragraph_color);
}

/* No alternating stripe — override Bootstrap .table-striped */
.table-striped > tbody > tr:nth-of-type(odd),
.table-striped > tbody > tr:nth-of-type(even) {
    background-color: transparent;
}

th {
    background: var(--table_heading_bg_color);
}

/* Horizontal-only row separators — no vertical borders */
.table tr {
    border-top:    1px solid var(--table_border_color);
    border-bottom: none;
}

.table td,
.table th {
    border-left:  none !important;
    border-right: none !important;
    border-top:   none;
    border-bottom: none;
    padding: 5px 20px;
    vertical-align: middle;
}

/* Override Bootstrap .table-bordered completely */
.table-bordered,
.table-bordered > tbody > tr > td,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > td,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > thead > tr > th {
    border-left:  none !important;
    border-right: none !important;
    border-top:   none !important;
    border-bottom: none !important;
    border:       none !important;
}

/* Re-apply the horizontal separator between body rows */
.table > tbody > tr + tr > td,
.table > tbody > tr + tr > th {
    border-top: 1px solid var(--table_border_color) !important;
}

/* ── Search input — all-radius, dark fill, room for icon on left ── */
input#mkdocs-search-query.form-control {
    border:        1px solid #606872;
    border-radius: 8px;
    background:    var(--laminar_ink_darkest);
    height:        35px;
    color:         #E2E8F0;
    padding-left:  32px;   /* clear the magnifying glass icon */
}

input#mkdocs-search-query.form-control::placeholder {
    color: #606872;
}

input#mkdocs-search-query.form-control:focus {
    border-color: var(--laminar_blue);
    outline:      none;
    box-shadow:   none;
}

/* Magnifying glass icon — injected via ::before on the input-group wrapper */
.wm-top-search {
    position: relative;   /* positioning context for the ::before icon */
}

.wm-top-search::before {
    font-family:    'FontAwesome';
    content:        '\f002';
    position:       absolute;
    left:           11px;
    top:            50%;
    transform:      translateY(-50%);
    color:          #7A8FA8;
    font-size:      13px;
    pointer-events: none;
    z-index:        4;
}

/* Functional buttons — invisible but present so Bootstrap dropdown works.
   DO NOT set overflow:hidden or width:0 — that clips the results list. */
.wm-top-search .input-group-btn {
    position: static;   /* lets dropdown position relative to the form, not the button */
}

.wm-top-search .input-group-btn .dropdown-toggle,
.wm-top-search button#wm-search-go {
    width:      1px;
    padding:    0;
    border:     none;
    background: transparent;
    color:      transparent;
}

/* Results dropdown — anchored to the left edge of the search form */
.dropdown-menu-right {
    left:        0 !important;
    right:       auto !important;
    margin-left: 0;
    margin-top:  5px;
}

.tooltip-box img{
	background-color: black;
	margin: 5px!important;
	border: 1px solid white;
}

ul {
	padding-inline-start: 20px;
}

p a.glightbox{
	border-radius: 3px;
	border: 1px solid;
	padding: 0px 5px 0px 5px;
}

/*  This is to make mathjax equations just a bit bigger font */
.MJX-TEX{
	font-size: 120%;
	}

video{
	border: 1px solid white;
}


/* 
CSS styling for any tables embedded into popup tooltips.  Enclose the <table> element in a <div> with the id 
'tooltip_table'  You can control the table/column width by placing the following block just below the <table> tag.
    <colgroup>
        <col style='width: 250px;'>
        <col style='width: 100px'>
        <col style='width: 90px';'>
    </colgroup>
 */

/* Style for the tooltip table */
#tooltip_table table {
    border-collapse: collapse;
    width: 100%;
    max-width: 300px; /* Adjust as needed */
    font-family: Arial, sans-serif;
    font-size: 10px;
    background-color: #ffffff;
    border: 1px solid #ddd;    
    table-layout: fixed;
}

/* Style for table headers */
#tooltip_table th {
    background-color: #333;
    color: white;
    padding: 5px;
    text-align: center;
    border: 1px solid #ddd;
}

/* Style for table data cells */
#tooltip_table td {
	color: black;
    padding: 3px 5px 3px 5px;
    text-align: left;
    border: 1px solid #ddd;
}

/* Alternating row colors for readability */
#tooltip_table tr:nth-child(even) {
    background-color: #f2f2f2;
}

/* This is to style a PDF Expanding Bar with embedded PDF */
.pdf-expanding-bar > summary {
  margin: 20px 0px;
  cursor: pointer;
  user-select: none;
  padding: 0.4rem 0.6rem;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 8px;
  background: rgba(0,0,0,0.03);
}

.pdf-expanding-bar[open] > summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.pdf-expanding-bar iframe {
  width: 100%;
  height: 800px;
  border: 2px solid black;
}

/* This is for an expanding bar that contains a YouTube Video Link */
.video-expanding_bar > summary {
  margin: 5px 0px;
  cursor: pointer;
  user-select: none;
  padding: 0.4rem 0.6rem;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 8px;
  background: rgba(0,0,0,0.03);
}

/* ------------------------------------------------------------------------------------------------------------------- 
--												FEEDBACK -moz-buttondefault
-------------------------------------------------------------------------------------------------------------------*/

.feedback-button-wrapper {
	flex: 0 0 auto;
	width: 150px;
    padding: 2px;                    /* border thickness */
    border-radius: 8px;
    background: linear-gradient(
        180deg,
        #ffd01f 0%,
        #fe8345 40%,
        #ff9898 60%,
        #0092db 100%
    );
    margin: 0 30px;
}

.feedback-button {
	width: 100%;
	display: block;
	padding: 6px 18px;
	border-radius: 6px;
	background: #2a2a2a;
	color: white;
	text-decoration: none;
	font-size: 1.5rem;
	font-weight: 400;
	white-space: nowrap;
	text-align: center;
}

.feedback-button:visited {
	color: white;
}

.feedback-button:hover {
    background: #333;
    color: white;
}