@charset "UTF-8";
/*~~~~~ COLORS ~~~~~*/
/*~~~~~~~~~~~~~~~~~~*/
/* custom colors                               */
/*                                             */
/* define custom values here for easy tracking */
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/* $enreach_lavender: #ac96ff; /*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/* NOTE: Gradients as background colors are supported through linear/radial-gradient property values.*/
/*       It is suggested to put the gradient value only where it is needed, as it will cause errors  */
/*       if it is used in the darken() or lighten() functions.                                       */
/*       If a gradient value is set for a $_layout_color property, you must remove all darken() and  */
/*       lighten() calls that derive from the gradient, or there will be no color output where those */
/*       properties are used.                                                                        */
/*                                                                                                   */
/*       Usage documentation for Gradients: https://www.w3schools.com/css/css3_gradients.asp         */
/* layout colors: set these for a quick application to the output.                                   */
/*                                                                                                   */
/* Defaults for structure items */
/*                              */
/*swyx*/
/* Mini TOC */
/*          */
/* Related Topics */
/*                */
/* Search Result Highlight */
/*                         */
/*swyx*/
/* colors for specific items */
/*                           */
/* toolbar */
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/* menu (nav & toc/index) */
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/* page */
/*Swyx*/
/*Swyx*/
/*Swyx*/
/*swyx*/
/*swyx*/
/* popup */
/* share popup */
/* disqus */
/* search */
/*swyx*/
/*swyx*/
/* header */
/*swyx*/
/*swyx*/
/*swyx*/
/* footer */
/* back-to-top button */
/*
 * lightbox
*/
/* no javascript warning */
/* Assistant Chat */
/*                */
/*~~~~~ SIZING ~~~~~*/
/*~~~~~~~~~~~~~~~~~~*/
/*
 * generation variables
 * these are modified by the generation process according to Target Settings
*/
/*
 * generic values
*/
/*
 * header
*/
/*swyx*/
/*swyx*/
/*
 * footer
*/
/*swyx*/
/*
 * menu
*/
/*swyx*/
/*swyx*/
/*
 * toolbar
 *
 * $toolbar-height should be equal or greater than all other
 * values or the layout will produce unexpected results
*/
/*swyx*/
/*swyx*/
/*swyx*/
/*
 * toolbar - logo section (Menu Button & Logo)
*/
/*
 * toolbar - search section (Search Scope Selector, Search Input, & Search Button)
*/
/*swyx*/
/*
 * toolbar - button section (Previous Button, Next Button, Home Button)
*/
/*
 * was this helpful buttons & message
*/
/*
 * page
*/
/*swyx*/
/*
 * popup
*/
/*
 * mini toc
*/
/*
 * related topics
*/
/*
 * search
*/
/*
 * lightbox
*/
/*
* assistant
*/
/*
 * calculated sizes
 *
 * the values in the below section are calculated & dependent upon multiple above values.
*/
/*
 * toolbar
*/
/*
 * menu
*/
/*
 * page
*/
/*swyx*/
/*swyx*/
/* ~~~~ FUNCTIONS ~~~~ */
/*                     */
/*~~~~~ BORDERS ~~~~~*/
/*~~~~~~~~~~~~~~~~~~~*/
/*
  DISCLAIMER: By default, border size properties do not conform with the other size properties of HTML.
  This means that when a border is set on an element with a defined height or width, the final size of
  an element will calculate to HEIGHT/WIDTH + BORDER WIDTH. This has been mitigated as much as possible
  using the 'box-sizing: border-box' property, but there is always a possibility for some instances
  where this will not work. (ex. An element with a border inside another element inside it with a border.
  The toolbar in some skins is like this)

  If widths in this file are to be changed, you understand that this may change the uniformity of the
  layout, and that there may also be height and width properties that also need to be changed in
  _sizes.scss to get the layout to line up properly.


*/
/* Toolbar */
/*         */
/* Toolbar - Logo Section */
/*                        */
/* Toolbar - Search Section */
/*                          */
/*swyx*/
/* Toolbar - Button Section */
/*                          */
/* Menu */
/*      */
/* Menu - TOC */
/*            */
/*Swyx*/
/*swyx*/
/*Swyx*/
/*swyx*/
/*Swyx*/
/*swyx*/
/*Swyx*/
/*Swyx*/
/* Menu - Index */
/*              */
/* Page */
/*      */
/*Swyx*/
/* Mini TOC */
/*          */
/* Search */
/*        */
/* Header */
/*        */
/* Footer */
/*        */
/*swyx*/
/*swyx*/
/*swyx*/
/* Back to Top */
/*             */
/* Modal */
/*       */
/* Links */
/*swyx*/
/*       */
/*~~~~~ COLORS ~~~~~*/
/*~~~~~~~~~~~~~~~~~~*/
/* custom colors                               */
/*                                             */
/* define custom values here for easy tracking */
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/* $enreach_lavender: #ac96ff; /*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/* NOTE: Gradients as background colors are supported through linear/radial-gradient property values.*/
/*       It is suggested to put the gradient value only where it is needed, as it will cause errors  */
/*       if it is used in the darken() or lighten() functions.                                       */
/*       If a gradient value is set for a $_layout_color property, you must remove all darken() and  */
/*       lighten() calls that derive from the gradient, or there will be no color output where those */
/*       properties are used.                                                                        */
/*                                                                                                   */
/*       Usage documentation for Gradients: https://www.w3schools.com/css/css3_gradients.asp         */
/* layout colors: set these for a quick application to the output.                                   */
/*                                                                                                   */
/* Defaults for structure items */
/*                              */
/*swyx*/
/* Mini TOC */
/*          */
/* Related Topics */
/*                */
/* Search Result Highlight */
/*                         */
/*swyx*/
/* colors for specific items */
/*                           */
/* toolbar */
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/* menu (nav & toc/index) */
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/*swyx*/
/* page */
/*Swyx*/
/*Swyx*/
/*Swyx*/
/*swyx*/
/*swyx*/
/* popup */
/* share popup */
/* disqus */
/* search */
/*swyx*/
/*swyx*/
/* header */
/*swyx*/
/*swyx*/
/*swyx*/
/* footer */
/* back-to-top button */
/*
 * lightbox
*/
/* no javascript warning */
/* Assistant Chat */
/*                */
/*~~~~~ FONTS ~~~~~*/
/*
-- Open Sans, Roboto --

https://fonts.google.com/specimen/Open+Sans/about


https://fonts.google.com/specimen/Roboto+Condensed/about?query=Roboto+


https://openfontlicense.org/


https://www.jetbrains.com/lp/mono/#license


 */
@font-face {
  font-family: 'OpenSans-Regular';
  src: url("/fonts/OpenSans-Regular.woff2") format("woff2"), url("/fonts/OpenSans-Regular.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans-Bold';
  src: url("/fonts/OpenSans-Bold.woff2") format("woff2"), url("/fonts/OpenSans-Bold.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans-SemiBold';
  src: url("/fonts/OpenSans-SemiBold.woff2") format("woff2"), url("/fonts/OpenSans-SemiBold.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans-Italic';
  src: url("/fonts/OpenSans-Italic.woff2") format("woff2"), url("/fonts/OpenSans-Italic.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans-Light';
  src: url("/fonts/OpenSans-Light.woff2") format("woff2"), url("/fonts/OpenSans-Light.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans-LightItalic';
  src: url("/fonts/OpenSans-LightItalic.woff2") format("woff2"), url("/fonts/OpenSans-LightItalic.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans-SemiBoldItalic';
  src: url("/fonts/OpenSans-SemiBoldItalic.woff2") format("woff2"), url("/fonts/OpenSans-SemiBoldItalic.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans-Medium';
  src: url("/fonts/OpenSans-Medium.woff2") format("woff2"), url("/fonts/OpenSans-Medium.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans-Bold';
  src: url("/fonts/OpenSans-Bold.woff2") format("woff2"), url("/fonts/OpenSans-Bold.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans-SemiBold';
  src: url("/fonts/OpenSans-SemiBold.woff2") format("woff2"), url("/fonts/OpenSans-SemiBold.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans_SemiCondensed-Regular';
  src: url("/fonts/OpenSans_SemiCondensed-Regular.woff2") format("woff2"), url("/fonts/OpenSans_SemiCondensed-Regular.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans_SemiCondensed-Light';
  src: url("/fonts/OpenSans_SemiCondensed-Light.woff2") format("woff2"), url("/fonts/OpenSans_SemiCondensed-Light.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans_SemiCondensed-LightItalic';
  src: url("/fonts/OpenSans_SemiCondensed-LightItalic.woff2") format("woff2"), url("/fonts/OpenSans_SemiCondensed-LightItalic.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans_SemiCondensed-SemiBold';
  src: url("/fonts/OpenSans_SemiCondensed-SemiBold.woff2") format("woff2"), url("/fonts/OpenSans_SemiCondensed-SemiBold.ttf") format("truetype"); }

@font-face {
  font-family: 'OpenSans_SemiCondensed-Medium';
  src: url("/fonts/OpenSans_SemiCondensed-Medium.woff2") format("woff2"), url("/fonts/OpenSans_SemiCondensed-Medium.ttf") format("truetype"); }

/*-------------------- Roboto -----------------------------------------*/
@font-face {
  font-family: 'RobotoCondensed-Regular';
  src: url("/fonts/RobotoCondensed-Regular.woff2") format("woff2"), url("/fonts/RobotoCondensed-Regular.ttf") format("truetype"); }

@font-face {
  font-family: 'RobotoCondensed-RegularItalic';
  src: url("/fonts/RobotoCondensed-RegularItalic.woff2") format("woff2"), url("/fonts/RobotoCondensed-RegularItalic.ttf") format("truetype"); }

@font-face {
  font-family: 'RobotoCondensed-Bold';
  src: url("/fonts/RobotoCondensed-Bold.woff2") format("woff2"), url("/fonts/RobotoCondensed-Bold.ttf") format("truetype"); }

@font-face {
  font-family: 'RobotoCondensed-BoldItalic';
  src: url("/fonts/RobotoCondensed-BoldItalic.woff2") format("woff2"), url("/fonts/RobotoCondensed-BoldItalic.ttf") format("truetype"); }

@font-face {
  font-family: 'RobotoCondensed-Light';
  src: url("/fonts/RobotoCondensed-Light.woff2") format("woff2"), url("/fonts/RobotoCondensed-Light.ttf") format("truetype"); }

@font-face {
  font-family: 'RobotoCondensed-LightItalic';
  src: url("/fonts/RobotoCondensed-LightItalic.woff2") format("woff2"), url("/fonts/RobotoCondensed-LightItalic.ttf") format("truetype"); }

@font-face {
  font-family: 'RobotoCondensed-Medium';
  src: url("/fonts/RobotoCondensed-Medium.woff2") format("woff2"), url("/fonts/RobotoCondensed-Medium.ttf") format("truetype"); }

@font-face {
  font-family: 'RobotoCondensed-MediumItalic';
  src: url("/fonts/RobotoCondensed-MediumItalic.woff2") format("woff2"), url("/fonts/RobotoCondensed-MediumItalic.ttf") format("truetype"); }

@font-face {
  font-family: 'RobotoCondensed-SemiBold';
  src: url("/fonts/RobotoCondensed-SemiBold.woff2") format("woff2"), url("/fonts/RobotoCondensed-SemiBold.ttf") format("truetype"); }

@font-face {
  font-family: 'RobotoCondensed-Italic';
  src: url("/fonts/RobotoCondensed-Italic.woff2") format("woff2"), url("/fonts/RobotoCondensed-Italic.ttf") format("truetype"); }

@font-face {
  font-family: 'JetBrainsMono-Light';
  src: url("/fonts/JetBrainsMono-Light.woff2") format("woff2"), url("/fonts/JetBrainsMono-Light.ttf") format("truetype"); }

@font-face {
  font-family: 'JetBrainsMono-ExtraLight';
  src: url("/fonts/JetBrainsMono-ExtraLight.woff2") format("woff2"), url("/fonts/JetBrainsMono-ExtraLight.ttf") format("truetype"); }

/*~~~~~~~~~~~~~~~~~*/
/*swyx*/
/*swyx*/
/*swyx*/
/*
 * toolbar
*/
/*
 * menu (nav & toc/index)
*/
/*
 * page
*/
/*
 * mini toc
*/
/*
 * related topics
*/
/*
 * search
*/
/*
 * header
*/
/*
 * footer
*/
/*
 * lightbox
*/
/*
 * assistant
*/
/*~~~~~ SIZING ~~~~~*/
/*~~~~~~~~~~~~~~~~~~*/
/*
 * generation variables
 * these are modified by the generation process according to Target Settings
*/
/*
 * generic values
*/
/*
 * header
*/
/*swyx*/
/*swyx*/
/*
 * footer
*/
/*swyx*/
/*
 * menu
*/
/*swyx*/
/*swyx*/
/*
 * toolbar
 *
 * $toolbar-height should be equal or greater than all other
 * values or the layout will produce unexpected results
*/
/*swyx*/
/*swyx*/
/*swyx*/
/*
 * toolbar - logo section (Menu Button & Logo)
*/
/*
 * toolbar - search section (Search Scope Selector, Search Input, & Search Button)
*/
/*swyx*/
/*
 * toolbar - button section (Previous Button, Next Button, Home Button)
*/
/*
 * was this helpful buttons & message
*/
/*
 * page
*/
/*swyx*/
/*
 * popup
*/
/*
 * mini toc
*/
/*
 * related topics
*/
/*
 * search
*/
/*
 * lightbox
*/
/*
* assistant
*/
/*
 * calculated sizes
 *
 * the values in the below section are calculated & dependent upon multiple above values.
*/
/*
 * toolbar
*/
/*
 * menu
*/
/*
 * page
*/
/*swyx*/
/*swyx*/
/*~~~~~ ICONS ~~~~~*/
/*~~~~~~~~~~~~~~~~~*/
/*
  This file contains the character codes applied to the icons in the output.

  Usage: Find the character code of the icon to be used in the font-awesome cheatsheet.
         The 4-character code is next to it's respective icon.
         (ex: f002 for search)
         Apply to variable value in quotes and a leading backslash
         (ex: "\f002")

  font-awesome cheatsheet: https://fontawesome.com/v5/cheatsheet/free
*/
/* toolbar */
/* menu */
/*swyx*/
/*swyx*/
/* assistant */
/* page */
/*swyx*/
/*swyx*/
/* page loading */
/* header */
/*swyx*/
/* footer */
/* search */
html, body {
  margin: 0px;
  padding: 0px; }

body * {
  box-sizing: border-box; }

.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #005fcc;
  color: white;
  padding: 8px 16px;
  z-index: 10000;
  text-decoration: none;
  font-weight: bold;
  outline: none; }
  .skip-link:focus, .skip-link:focus-visible {
    top: 0;
    outline: 2px solid #8d8d8d;
    outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .spin,
  [aria-busy="true"] * {
    animation: none !important;
    transition: none !important; } }

.preload * {
  transition: none !important;
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important; }

/* initial layout state to prevent jerky */
/* loading presentation                  */
.layout_initial #header_div {
  visibility: hidden; }

.layout_initial #toolbar_div {
  visibility: hidden; }

.layout_initial #container_div {
  visibility: hidden; }

#presentation_div {
  margin: 0px;
  padding: 0px;
  visibility: hidden; }

.unknown_page {
  /* State tracking class */ }

/* Three combinations here for responsive design...  */
/* .layout_wide - Desktop mode                       */
/* .layout_narrow - mobile landscape mode            */
/* .layout_narrow.layout_tall - mobile portrait mode */
/* template */
#layout_div {
  /* layout_tall & layout_narrow specific items */
  /* portrait mobile view                       */
  /*                                            */
  /* layout_narrow specific items */
  /* -landscape mobile view-      */
  /*                              */
  /* layout_wide specific items */
  /* -desktop view-             */
  /*                            */ }

/* Header */
#layout_div #header_div {
  font-size: 0;
  position: fixed;
  top: 0px;
  left: 0;
  width: 100vw;
  height: 35px;
  z-index: 10; }

#layout_div.layout_narrow.layout_tall .ww_skin_header_company_info {
  display: none; }

#layout_div.layout_narrow .ww_skin_header_company_info {
  display: table-cell;
  width: 100%; }

#layout_div.layout_wide .ww_skin_header_company_info {
  display: table-cell;
  width: 100%; }

/* Toolbar */
#layout_div #toolbar_div {
  font-size: 0;
  position: fixed;
  top: 27px;
  left: 0;
  width: 100vw;
  height: 50px;
  z-index: 10; }

#layout_div.layout_narrow.layout_tall #toolbar_div .ww_skin_toolbar_cluster_search {
  width: auto; }

#layout_div.layout_narrow.layout_tall #toolbar_div #search_input_container {
  display: none; }

#layout_div.layout_narrow.layout_tall #toolbar_div #search_scope_container {
  display: none; }

#layout_div.layout_narrow.layout_tall #presentation_div.search_enabled .ww_skin_toolbar_logo_container, #layout_div.layout_narrow.layout_tall #presentation_div.search_enabled .ww_skin_toolbar_cluster_right {
  display: none; }

#layout_div.layout_narrow.layout_tall #presentation_div.search_enabled .ww_skin_toolbar_cluster_search {
  width: 99%; }

#layout_div.layout_narrow.layout_tall #presentation_div.search_enabled #search_input_container {
  display: table-cell; }

#layout_div.layout_narrow.layout_tall #presentation_div.search_enabled #search_scope_container {
  display: table-cell; }

#layout_div.layout_narrow #toolbar_div .ww_skin_toolbar_cluster_search {
  width: auto;
  /*swyx*/ }

#layout_div.layout_narrow #toolbar_div .ww_skin_toolbar_logo_container_empty {
  display: none; }

#layout_div.layout_wide #toolbar_div .ww_skin_toolbar_logo_spacer {
  width: 400px; }

#layout_div.layout_wide #toolbar_div .ww_skin_toolbar_cluster_search {
  width: 99%; }

#layout_div.layout_wide #toolbar_div .ww_skin_toolbar_button_spacer {
  width: 150px; }

/* Toolbar - Logo Behavior for small screens */
@media only screen and (max-width: 600px) {
  .ww_skin_toolbar_logo_spacer {
    width: calc(100vw - (50px + 150px));
    display: table-cell; }
  .ww_skin_menu_button_container {
    display: table-cell; }
  .ww_skin_toolbar_logo_container {
    width: calc(100vw - (50px + 50px + 150px));
    padding: 0px;
    position: relative;
    display: table-cell;
    vertical-align: middle;
    text-align: center; }
  img.ww_skin_toolbar_logo {
    max-width: 95%;
    max-height: 95%;
    width: auto;
    height: auto;
    display: block; } }

@media only screen and (max-width: 300px) {
  .ww_skin_toolbar_logo_spacer {
    width: 50px; }
  .ww_skin_toolbar_logo_container {
    display: none; } }

/* Toolbar - Menu Toggle Button */
#presentation_div.menu_open #menu_toggle_show {
  display: none; }

#presentation_div.menu_open #menu_toggle_hide {
  display: table; }

#presentation_div.menu_closed #menu_toggle_show {
  display: table; }

#presentation_div.menu_closed #menu_toggle_hide {
  display: none; }

/* Initial Menu State For Toggle Buttons */
#layout_div.layout_narrow #presentation_div.menu_inital #menu_toggle_show {
  display: table; }

#layout_div.layout_narrow #presentation_div.menu_inital #menu_toggle_hide {
  display: none; }

#layout_div.layout_wide {
  /* written from Target Setting */ }

/* Toolbar - Search Scope Selector */
#search_scope_container.selector_options_open #search_scope_options {
  display: inline-block; }

#search_scope_container.selector_options_closed #search_scope_options {
  display: none; }

/* Container (for Menu, Page, Footer) */
#layout_div #container_div {
  font-size: 0;
  position: absolute;
  top: 77px;
  /*swyx*/
  background: #f1f1f1;
  /*swyx*/
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }
  #layout_div #container_div > * {
    -webkit-transform: translate3d(0, 0, 0); }

/* Menu */
/* Menu - outer frame */
#layout_div #menu_frame {
  position: fixed;
  display: inline-block;
  width: 400px;
  min-height: calc(100vh - 35px - 50px - (0px + 0px));
  top: 77px;
  /*swyx*/
  left: 0px;
  z-index: 9; }

#layout_div.layout_narrow.layout_tall #menu_frame {
  height: calc(100vh - 35px - 50px); }

#layout_div.layout_narrow #menu_frame {
  height: calc(100vh - 35px - 50px); }

/* Menu - Transition Styles */
#presentation_div.menu_open #menu_frame {
  left: 0px;
  transition: left 0.3s;
  -webkit-transition: left 0.3s;
  -o-transition: left 0.3s; }

#presentation_div.menu_closed #menu_frame {
  left: -400px;
  transition: left 0.3s;
  -webkit-transition: left 0.3s;
  -o-transition: left 0.3s; }

/* Menu - Menu Backdrop */
#layout_div #menu_backdrop {
  position: fixed;
  left: 0;
  top: 77px;
  /*swyx*/
  height: calc(100vh - 50px - 27px);
  /*swyx*/
  width: 100vw;
  z-index: -1;
  display: inline-block;
  background-color: transparent; }

#layout_div.layout_wide #menu_backdrop {
  display: none; }

#layout_div.layout_narrow #presentation_div.menu_open #menu_backdrop {
  z-index: 8;
  background-color: rgba(0, 0, 0, 0.3);
  transition: background-color 0.3s linear;
  -moz-transition: background-color 0.3s linear;
  -o-transition: background-color 0.3s linear; }

#layout_div.layout_narrow #presentation_div.menu_closed #menu_backdrop {
  background-color: transparent;
  transition: background-color 0.3s linear;
  -moz-transition: background-color 0.3s linear;
  -o-transition: background-color 0.3s linear;
  z-index: -1; }

/* Menu - TOC */
#layout_div #toc_content {
  overflow-y: auto;
  overflow-x: hidden;
  padding-top: 7px;
  max-height: calc(100vh - 50px - 27px);
  /*swyx*/ }

#layout_div #index_content {
  overflow-y: auto;
  overflow-x: hidden;
  padding-top: 7px; }

/* Page, Search */
#layout_div #page_div, #layout_div #search_div {
  vertical-align: top;
  min-height: calc(100vh - 20px - 50px - 130px);
  width: 100%;
  padding: 0px; }

#layout_div #page_div {
  position: relative; }
  #layout_div #page_div #popup_div {
    position: absolute;
    overflow-y: scroll;
    z-index: -1000;
    opacity: 0; }
    #layout_div #page_div #popup_div #popup_iframe {
      width: 100%;
      overflow: hidden; }

#layout_div.layout_narrow.layout_tall #page_div, #layout_div.layout_narrow.layout_tall #search_div {
  margin-left: 0px; }

#layout_div.layout_narrow.layout_tall #page_content_container {
  margin-left: 10px;
  margin-right: 10px; }

#layout_div.layout_narrow #page_div, #layout_div.layout_narrow #search_div {
  width: 100%;
  margin-left: 0px; }

#layout_div.layout_wide #page_div, #layout_div.layout_wide #search_div {
  width: calc(100% - 400px);
  margin-left: 400px; }

/* Search-related settings                 */
/* Hide the page when search is enabled,   */
/* Hide the search when search is disabled */
#presentation_div #search_div {
  display: none; }

#presentation_div #page_div {
  display: inline-block; }

#presentation_div.search_enabled .ww_skin_search_button i:before {
  content: ""; }

#presentation_div.search_enabled #page_div {
  display: none; }

#presentation_div.search_enabled #search_div {
  display: inline-block; }

/* Page - Transition Styles */
#layout_div.layout_wide #presentation_div.menu_open #page_div, #layout_div.layout_wide #presentation_div.menu_open #search_div {
  margin-left: 400px;
  transition: margin-left 0.3s, width 0.3s;
  -webkit-transition: margin-left 0.3s, width 0.3s;
  -o-transition: margin-left 0.3s, width 0.3s; }

#layout_div.layout_wide #presentation_div.menu_closed #page_div, #layout_div.layout_wide #presentation_div.menu_closed #search_div {
  margin-left: 0px;
  width: 100%;
  transition: margin-left 0.3s, width 0.3s;
  -webkit-transition: margin-left 0.3s, width 0.3s;
  -o-transition: margin-left 0.3s, width 0.3s; }

iframe#page_iframe {
  border: none;
  margin: 0px;
  padding: 0px;
  width: 100%;
  height: 100%;
  min-height: calc(100vh - 20px - 50px - 130px);
  background: #f1f1f1;
  /*Swyx*/ }

div#layout_div.layout_wide div#container_div, div#layout_div.layout_narrow div#container_div.unknown_page {
  bottom: 0px; }

div#panels {
  display: none; }

div#toc_title {
  display: none; }

div#index_title {
  display: none; }

#layout_div #search_iframe {
  width: 100%;
  height: 100%;
  border: none;
  margin: 0px;
  padding: 0px; }

#layout_div.layout_narrow {
  width: 100vw; }

div#parcels {
  display: none; }

div.back_to_top {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 1s ease;
  -moz-transition: opacity 1s ease;
  -o-transition: opacity 1s ease;
  -ms-transition: opacity 1s ease;
  transition: opacity 1s ease;
  background-color: #ffffff;
  float: none;
  position: fixed;
  padding: 0;
  right: 18px;
  bottom: 8px; }

div#layout_div.layout_wide div.back_to_top {
  right: 50px;
  bottom: 18px; }

div#layout_div.layout_narrow div.back_to_top {
  right: 18px;
  bottom: 8px; }

div#layout_div.layout_narrow.layout_tall div.back_to_top {
  right: 36px;
  bottom: 8px; }

div.back_to_top.back_to_top_show {
  visibility: visible;
  opacity: 1; }

div.back_to_top > a {
  display: inline-block;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #222222;
  margin: 6px;
  width: 0;
  height: 0; }
  div.back_to_top > a:hover {
    border-bottom: 10px solid black;
    background-color: #cccccc; }

/* No JavaScript */
#noscript_padding {
  padding-top: 1.9em; }

#noscript_warning {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 101;
  text-align: center;
  padding: 5px 0 5px 0; }

.ww_skin_menu_nav_type_assistant {
  border-style: none;
  border-width: 0px;
  border-color: transparent;
  border-radius: 0px; }
  .ww_skin_menu_nav_type_assistant i:before {
    content: ""; }
  .ww_skin_menu_nav_type_assistant:hover, .ww_skin_menu_nav_type_assistant:focus-within {
    border-style: none;
    border-width: 0px;
    border-color: darken-any(transparent, 24%); }
  .ww_skin_menu_nav_type_assistant:active {
    border-style: none;
    border-width: 0px;
    border-color: lighten-any(transparent, 24%); }

.ww_skin_menu_assistant {
  font-size: 14pt;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none; }

.ww_skin_assistant_container {
  width: 100%;
  height: 100%;
  font-family: OpenSans-Regular, sans-serif;
  font-size: 12pt; }

.ww_skin_assistant_chat_container {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  background-color: #f1f1f1;
  color: #222222; }

.ww_skin_assistant_chat_area {
  flex-grow: 1;
  overflow: auto;
  scroll-behavior: smooth;
  padding: 1rem; }

.ww_skin_assistant_message_row {
  display: flex;
  margin: 1rem 0; }

.ww_skin_assistant_message_avatar_container {
  flex: none;
  padding-top: 0.25rem; }

.ww_skin_assistant_message_content_container {
  flex-grow: 1;
  padding-left: 1rem; }

.ww_skin_assistant_user_message .ww_skin_assistant_message_content_container {
  display: flex;
  justify-content: flex-end; }

.ww_skin_assistant_user_bubble {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  color: #222222; }

.ww_skin_assistant_avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.1); }
  .ww_skin_assistant_avatar i {
    color: #ffffff;
    font-size: 0.875rem; }
    .ww_skin_assistant_avatar i:before {
      content: ""; }

.ww_skin_assistant_message_avatar_container .ww_skin_assistant_avatar {
  margin-top: 0.5rem; }

.ww_skin_assistant_welcome_screen .ww_skin_assistant_avatar {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem; }
  .ww_skin_assistant_welcome_screen .ww_skin_assistant_avatar i {
    font-size: 1.5rem; }

.ww_skin_assistant_info .ww_skin_assistant_avatar {
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.5rem; }
  .ww_skin_assistant_info .ww_skin_assistant_avatar i {
    font-size: 1.25rem; }

.ww_skin_assistant_bubble {
  position: relative;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  background-color: #f8f9fa;
  color: #222222; }
  .ww_skin_assistant_bubble a {
    color: #ffffff;
    text-decoration: underline; }
  .ww_skin_assistant_bubble ul,
  .ww_skin_assistant_bubble ol {
    margin-left: 2rem; }
  .ww_skin_assistant_bubble ul {
    list-style-type: disc; }
  .ww_skin_assistant_bubble ul ul {
    list-style-type: circle; }
  .ww_skin_assistant_bubble ul ul ul {
    list-style-type: square; }
  .ww_skin_assistant_bubble ol {
    list-style-type: decimal; }
  .ww_skin_assistant_bubble ol ol {
    list-style-type: lower-alpha; }
  .ww_skin_assistant_bubble ol ol ol {
    list-style-type: lower-roman; }
  .ww_skin_assistant_bubble pre {
    background-color: #f8f9fa;
    border-radius: 0.25rem;
    padding: 1rem;
    overflow-x: auto; }
  .ww_skin_assistant_bubble code {
    font-family: monospace;
    font-size: 0.875em;
    background-color: rgba(0, 0, 0, 0.05);
    padding: 0.2em 0.4em;
    border-radius: 0.25rem; }
  .ww_skin_assistant_bubble pre code {
    background-color: transparent;
    padding: 0; }
  .ww_skin_assistant_bubble table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1rem; }
  .ww_skin_assistant_bubble th,
  .ww_skin_assistant_bubble td {
    border: 1px solid #eee;
    padding: 0.5rem; }
  .ww_skin_assistant_bubble th {
    background-color: #f8f9fa; }

.ww_skin_assistant_thinking_indicator {
  display: inline-flex;
  align-items: center;
  border-radius: 0.375rem;
  padding: 0.5rem 1rem;
  background-color: #f1f1f1;
  color: #222222; }
  .ww_skin_assistant_thinking_indicator i:before {
    content: ""; }

.ww_skin_assistant_error_message {
  display: inline-block;
  border-radius: 0.375rem;
  padding: 0.5rem 1rem;
  background-color: rgba(220, 53, 69, 0.1);
  border: 1px solid #dc3545;
  color: #dc3545; }

.ww_skin_assistant_welcome_screen {
  max-width: 28rem;
  margin: 2rem auto 0;
  text-align: center; }

.ww_skin_assistant_welcome_title {
  font-size: 16pt;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #222222; }

.ww_skin_assistant_welcome_description {
  color: #6c757d;
  margin-bottom: 2rem;
  text-align: center; }

.ww_skin_assistant_conversation_starters {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem; }

.ww_skin_assistant_starter_button {
  background-color: white;
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  padding: 1rem;
  text-align: left;
  height: auto;
  transition: background-color 0.2s;
  cursor: pointer;
  color: #222222; }
  .ww_skin_assistant_starter_button:hover, .ww_skin_assistant_starter_button:focus {
    background-color: #f8f9fa; }

.ww_skin_assistant_chat_input_area {
  flex: none;
  padding: 1rem;
  padding-top: 0; }

.ww_skin_assistant_chat_form {
  width: 100%; }

.ww_skin_assistant_chat_input_container {
  border-radius: 0.5rem;
  padding: 0.75rem;
  background-color: white;
  border: 1px solid #dee2e6;
  cursor: text; }
  .ww_skin_assistant_chat_input_container.submitting {
    cursor: not-allowed; }

.ww_skin_assistant_chat_textarea_wrapper {
  margin-bottom: 0.5rem; }

.ww_skin_assistant_chat_textarea {
  width: 100%;
  min-height: 3rem;
  resize: none;
  border: none;
  padding: 0;
  margin: 0;
  outline: none;
  background-color: transparent;
  color: #222222;
  font-family: OpenSans-Regular, sans-serif;
  font-size: 12pt; }
  .ww_skin_assistant_chat_textarea:focus {
    outline: none;
    box-shadow: none; }
  .ww_skin_assistant_chat_textarea:disabled {
    background-color: transparent;
    opacity: 0.7; }

.ww_skin_assistant_chat_actions {
  display: flex;
  align-items: center; }

.ww_skin_assistant_chat_actions_left {
  flex-grow: 1; }

.ww_skin_assistant_chat_actions_right {
  flex: none; }

.ww_skin_assistant_chat_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  padding: 0.25rem 0.5rem;
  font-size: 12pt;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
  border: none; }
  .ww_skin_assistant_chat_button i {
    margin-right: 0.25rem;
    font-size: 14pt; }
  .ww_skin_assistant_chat_button#delete_chat_button i:before {
    content: ""; }
  .ww_skin_assistant_chat_button#send_message_button i:before {
    content: ""; }
  .ww_skin_assistant_chat_button:disabled {
    opacity: 0.5;
    cursor: not-allowed; }

.ww_skin_assistant_chat_button_sending#send_message_button i:before {
  content: ""; }

.ww_skin_assistant_ghost_button {
  background-color: transparent;
  color: #6c757d; }
  .ww_skin_assistant_ghost_button:hover:not(:disabled) {
    background-color: rgba(108, 117, 125, 0.1); }

.ww_skin_assistant_primary_button {
  background-color: #ffffff;
  color: white; }
  .ww_skin_assistant_primary_button:hover:not(:disabled) {
    background-color: #f2f2f2; }

.ww_skin_assistant_loading_container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  background-color: #f1f1f1; }

.ww_skin_assistant_loading_content {
  text-align: center;
  max-width: 28rem;
  margin: 24px auto; }

.ww_skin_assistant_loading_spinner {
  font-size: 2rem;
  color: #ffffff;
  margin-bottom: 1rem; }
  .ww_skin_assistant_loading_spinner:before {
    content: ""; }

.ww_skin_assistant_thread_list_container {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  background-color: #f1f1f1; }

.ww_skin_assistant_thread_list_header {
  flex: none;
  padding: 1rem;
  background-color: #f1f1f1;
  border-bottom: 1px solid rgba(108, 117, 125, 0.2); }

.ww_skin_assistant_info {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-bottom: 1rem; }

.ww_skin_assistant_name {
  font-size: 1.125rem;
  font-weight: 600;
  color: #222222; }

.ww_skin_assistant_new_chat_button {
  width: 100%;
  background-color: #ffffff;
  color: white;
  border: none;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  font-size: 12pt;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
  display: flex;
  align-items: center;
  justify-content: center; }
  .ww_skin_assistant_new_chat_button:hover, .ww_skin_assistant_new_chat_button:focus {
    background-color: #f2f2f2; }
  .ww_skin_assistant_new_chat_button i {
    margin-right: 0.5rem;
    font-size: 12pt; }
    .ww_skin_assistant_new_chat_button i:before {
      content: ""; }

.ww_skin_assistant_thread_list_scroll {
  flex: 1;
  overflow-y: auto;
  padding: 0 1rem 1rem 1rem; }

.ww_skin_assistant_thread_list_title {
  font-size: 10pt;
  color: #6c757d; }

.ww_skin_assistant_thread_list_empty {
  text-align: center;
  padding: 2rem 1rem;
  color: #6c757d; }

.ww_skin_assistant_thread_item {
  background-color: white;
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  margin-bottom: 0.75rem;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s, opacity 0.2s; }
  .ww_skin_assistant_thread_item:hover, .ww_skin_assistant_thread_item:focus {
    background-color: #f8f9fa;
    border-color: #bbc3cc; }
  .ww_skin_assistant_thread_item:last-child {
    margin-bottom: 0; }

.ww_skin_assistant_thread_item_deleting {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none; }
  .ww_skin_assistant_thread_item_deleting:hover {
    background-color: white;
    border-color: #dee2e6; }

.ww_skin_assistant_thread_content {
  padding: 0.75rem; }

.ww_skin_assistant_thread_title {
  font-size: 12pt;
  color: #222222;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  word-wrap: break-word; }

.ww_skin_assistant_thread_actions {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.ww_skin_assistant_thread_delete_button {
  background: none;
  border: none;
  padding: 0.25rem;
  cursor: pointer;
  color: #6c757d;
  transition: color 0.2s;
  border-radius: 0.25rem; }
  .ww_skin_assistant_thread_delete_button:hover:not(:disabled) {
    color: #dc3545;
    background-color: rgba(220, 53, 69, 0.1); }
  .ww_skin_assistant_thread_delete_button:disabled {
    opacity: 0.5;
    cursor: not-allowed; }
  .ww_skin_assistant_thread_delete_button i {
    font-size: 12pt; }
    .ww_skin_assistant_thread_delete_button i:before {
      content: ""; }

.ww_skin_assistant_thread_date {
  font-size: 10pt;
  color: #6c757d;
  font-weight: 400; }

.ww_skin_assistant_chat_view_container {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  background-color: #f1f1f1; }

.ww_skin_assistant_chat_header {
  flex: none;
  display: flex;
  align-items: center;
  padding: 0.75rem 1rem;
  background-color: #f1f1f1;
  border-bottom: 1px solid rgba(108, 117, 125, 0.2); }

.ww_skin_assistant_chat_back_button {
  background: none;
  border: none;
  padding: 0.5rem;
  margin-right: 0.75rem;
  cursor: pointer;
  color: #6c757d;
  transition: color 0.2s, background-color 0.2s;
  border-radius: 0.375rem; }
  .ww_skin_assistant_chat_back_button:hover, .ww_skin_assistant_chat_back_button:focus {
    color: #222222;
    background-color: rgba(108, 117, 125, 0.1); }
  .ww_skin_assistant_chat_back_button i {
    font-size: 1rem; }
    .ww_skin_assistant_chat_back_button i:before {
      content: ""; }

.ww_skin_assistant_chat_header_title {
  font-size: 1rem;
  font-weight: 500;
  color: #222222; }

/* Scrollbar */
/*swyx*/
::-webkit-scrollbar {
  width: 0px; }

::-webkit-scrollbar-track {
  background: transparent; }

div.back_to_top.back_to_top_show {
  border-radius: 5px; }
