/* Exponential 3 admin CSS - th[eZ] 20021004                             */

body
{
        background-color: #ffffff;
        margin: 0px;
        padding: 0px;
}

h1
{
    color: #4373B4;
}

h2
{
    font-size: 120%;
    color: #4373B4;
}

a
{
    color: #3C67A2;
}

a:hover
{
    color: #000000;
}

td.topline
{
        background-color: #4272b4;
        border-bottom: solid 1px #000000;
}

label.topline, a.topline, a.topline:hover
{
        color: #ffffff;
}

td.pathline
{
    color: #000000; 
}

table.path td.bullet
{
        padding-top: 2px;
        padding-left: 2px;
}

p.path
{
        font-weight: none;
}

p.path a.path
{
        text-decoration: none;
    color: #3C67A2;
}

p.path a.path:hover
{
        text-decoration: underline;
        color: #000000;
}

span.slash
{
    color: #000000;
}


/* HTML5 standards mode: block-level images prevent baseline gap in table cells */
td img
{
    display: block;
}

p.small
{
    text-align: center;
    font-size: 85%;
    color: #666666;
    margin: 8px 0;
}

pre.missing-image
{
    display: block;
    background-color: #eef4ff;
    border: 2px solid #3a6fd8;
    border-radius: 12px;
    padding: 14px 18px;
    margin: 12px 0;
    font-family: Consolas, 'Courier New', monospace;
    font-size: 12px;
    line-height: 1.6;
    color: #1a2c5a;
    white-space: pre-wrap;
    word-wrap: break-word;
    box-shadow: 0 2px 8px rgba(58, 111, 216, 0.15);
}

td.headlogo
{
    background-color: #4272b4;
    padding-top: 10px;
    padding-left: 10px;
    padding-bottom: 10px;
    padding-right: 20px;
    border-bottom: solid 1px #89a7d6;
}

td.headlink
{
    background-color: #4272b4;
    
    padding-bottom: 0px;
    vertical-align:bottom; 
}

td.menuheadselectedgfx
{
    background-color: #638ecf;
    color: #ffffff;
    text-align: center;
}

td.menuheadselectedleftline
{
    background-color: #638ecf;
    border-left: solid 1px #89a7d6;
}

td.menuheadselectedrightline
{
    background-color: #638ecf;
    border-right: solid 1px #89a7d6;
}

td.menuheadselectedtopline
{
    background-color: #638ecf;
    border-top: solid 1px #89a7d6;
}

td.menuheadselected
{
    background-color: #638ecf;
    color: #ffffff;
    text-align: center;
    font-size: 80%;
}

td.menuheadgraygfx
{
    background-color: #3963ad;
    color: #eeeeee;
    text-align: center;
}

td.menuheadgrayleftline
{
    background-color: #3963ad;
    border-bottom: solid 1px #89a7d6;
    border-left: solid 1px #89a7d6;
}

td.menuheadgrayrightline
{
    background-color: #3963ad;
    border-bottom: solid 1px #89a7d6;
    border-right: solid 1px #89a7d6;
}

td.menuheadgraytopline
{
    background-color: #3963ad;
    border-top: solid 1px #89a7d6;
}

td.menuheadgray
{
    background-color: #3963ad;
    color: #eeeeee;
    text-align: center;
    font-size: 80%;
    border-bottom: solid 1px #89a7d6;
}

td.menuheadspacer
{
    background-color: #4272b4;
    border-bottom: solid 1px #89a7d6;
}

a.menuheadlink
{
    color: #ffffff;
    text-decoration: none;
}

td.menuheadtoolbar
{
    vertical-align: middle;
    background-color: #638ecf;
    color: #ffffff;
    border-bottom: solid 1px #89a7d6;
}


p.menuheadselected
{
        font-weight: none;
        padding-top: 0px;
        padding-bottom: 0px;
}

input.searchbox
{
  font-family: verdana; 
  width: 100px; 
  font-size: 9px; 
  margin: 0px; 
}

input.searchbutton
{
    font-weight: none;
    font-size: 70%;
    margin: 4px;
}

select.classcreate
{
    font-weight: none;
    font-size: 70%;
    margin: 4px;
}

input.classbutton
{
    font-weight: none;
    font-size: 70%;
    margin: 4px;
}

table.menuboxleft
{
        border-top: solid 1px #000000;
        border-right: solid 1px #000000;
        border-bottom: solid 1px #000000;
        margin-top: 12px;
}

table.menuboxright
{
        border-top: solid 1px #4272b4;
        border-left: solid 1px #4272b4;
        border-bottom: solid 1px #4272b4;
        border-right: solid 1px #4272b4;
        margin-top: 12px;
}

th.menuheaddark
{
  padding-left: 4px;
  background-color: #4272b4;
}

th.menuheaddark p.menuhead
{
        color: #ffffff;
}

th.menuheadlight p.menuhead
{
        color: #000000;
}

td.menu, table.menuboxleft td.bullet, table.menuboxright td.bullet  
{
        background-color: #ffffff;
}

table.menuboxleft td.bullet, table.menuboxright td.bullet
{
        padding-top: 2px;
        padding-left: 4px;
}

p.menuitem, p.menufieldlabel, p.menufield, p.menutext
{
    font-size: 70%;
}

p.menuitem
{
        font-weight: bold;
}

p.menuitem a.menuitem
{
        text-decoration: none;
        color: #4373b4;
}

p.menuitem a.menuitem:hover
{
        text-decoration: underline;
        color: #4373b4;
}

p.menufieldlabel
{
        font-weight: bold;
        padding-left: 4px;
        padding-right: 4px;
        padding-bottom: 0px;

}

p.menufield
{
        padding-top: 0px;
        padding-left: 4px;
        padding-right: 4px;
}

p.menutext
{
        padding-left: 4px;
        padding-right: 4px;
}

td.mainarea
{
        background-color: #ffffff;
        padding: 12px;
}

td.bglightextra, td.bgdarkextra
{
        border-top: none;
}

table.list, table.layoutlist
{
/*      border-bottom: solid 1px #e0f4ff;*/
}

table.list tr:hover
{
    background-color: #DAE3F3;
}

table.list td
{
    padding: 0.2em;
    border-bottom: 1px solid #C8D7EE;
}

table.list th
{
    padding: 0.4em;
    color: #ffffff;
    background-color: #4373B4;
}

table.class_list
{
    margin-top: 0.5ex;
    margin-bottom: 1ex;
}

table.class_list th, table.class_list td
{
    padding: 2px;
}

tr.bglight, td.bglight, td.bglightextra
{
        background-color: #F4F8FD;
}

tr.bgdark, td.bgdark, td.bgdarkextra
{
        background-color: #ECF1F9;
}

div.selectbar
{
    align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

td.selectbar
{
    color: #ECF1F9;
    font-size: 70%;
    text-align: center;
}

a.selectbar
{
    display: block;
    font-weight: bold;
    text-decoration: none;
    padding: 2px;
}

a.selectbar:hover, td.selected
{
    background-color: #4373B4;
    color: #ffffff;
    text-decoration: none;
}

input.menubutton
{
    font-weight: none;
    font-size: 70%;
    margin: 4px;
}

th a
{
    color: #000000;
}


blockquote
{
        background-color: #ebf2f8;
        border : 1px solid #999999;
        padding: 6px;
}

pre.example, table.example
{
        font-family: Courier;
        background-color: #ebf2f8;
        border-top : 1px solid #999999;
        border-bottom : 1px solid #999999;
        border-left : 1px solid #999999;
        border-right : 1px solid #999999;
}

p.important
{
        background-color: #f8f280;
        border-top : 1px solid #999999;
        border-bottom : 1px solid #999999;
        border-left : 1px solid #999999;
        border-right : 1px solid #999999;
}

/* new navigation */

div.objectheader
{
    background-color: #4373B4;
}

div.objectheader img
{
    padding-right: 0.4em;
}

div.objectheader h2
{
    color: #ffffff;
    font-size: 80%;
    font-weight: bold;
    padding: 0.4em;
    margin: 0em;
}

div.object
{
    border: 1px solid #C8D7EE;
    padding: 0.5em;
    margin-bottom: 1em;
        background-color: #F4F8FD;
}

div.object div.buttonblock
{
    margin-top: 1em;
}

.price, .rating
{
    font-weight: bold;
}


/* ============================================================
   RESPONSIVE LAYOUT — semantic header + page structure
   Replaces old table-based td.headlogo / td.headlink / td.menuhead*
   ============================================================ */

/* --- Site header bar ---------------------------------------- */

.site-header {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    width: 100%;
    background-color: #4272b4;
    border-bottom: solid 1px #89a7d6;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

.site-logo {
    flex: 0 0 auto;
    padding: 10px 20px 10px 10px;
    background-color: #4272b4;
}

.site-logo img.logo {
    display: block;
    max-width: 240px;
    height: auto;
}

/* --- Nav tabs ----------------------------------------------- */

.site-nav {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 3px;
    padding: 0 0 0 4px;
    flex: 1 1 auto;
}

.nav-tab {
    display: inline-block;
    padding: 5px 14px 5px 14px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 80%;
    font-weight: normal;
    color: #eeeeee;
    text-decoration: none;
    background-color: #3963ad;
    border: solid 1px #89a7d6;
    border-bottom: none;
    border-radius: 3px 3px 0 0;
    white-space: nowrap;
}

.nav-tab:hover {
    color: #ffffff;
    background-color: #4272b4;
    text-decoration: none;
}

.nav-tab-active {
    background-color: #638ecf;
    color: #ffffff;
    padding-top: 7px;
    padding-bottom: 7px;
}

.nav-tab-active:hover {
    background-color: #638ecf;
}

/* --- Current docs notice bar -------------------------------- */

.doc-notice {
    width: 100%;
    background-color: #fff8e1;
    border-bottom: solid 2px #f0b429;
    padding: 8px 16px;
    box-sizing: border-box;
    text-align: center;
}

.doc-notice p {
    margin: 0;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 82%;
    color: #5a3e00;
    line-height: 1.5;
}

.doc-notice a {
    color: #b45309;
    font-weight: bold;
    text-decoration: underline;
}

.doc-notice a:hover {
    color: #92400e;
}

/* --- Breadcrumb / pathline ---------------------------------- */

.site-pathline {
    width: 100%;
    background-color: #ffffff;
    border-bottom: solid 1px #d0d8e8;
    padding: 3px 10px;
}

.site-pathline p.path {
    margin: 0;
    font-size: 80%;
    color: #000000;
}

/* --- Two-panel page layout ---------------------------------- */

.page-layout {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
}

aside.page-sidebar {
    flex: 0 0 auto;
    width: 150px;
    min-width: 120px;
    padding: 8px 8px 8px 5px;
    box-sizing: border-box;
}

.page-main {
    flex: 1 1 auto;
    min-width: 0;
    padding: 8px 12px;
    box-sizing: border-box;
}


/* ============================================================
   MOBILE  (≤ 768 px)
   ============================================================ */
@media screen and (max-width: 768px) {

    body {
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    /* Header: logo + tabs wrap if needed, logo shrinks */
    .site-header {
        flex-wrap: wrap;
        align-items: center;
    }

    .site-logo {
        flex: 1 1 auto;
        min-width: 0;
        padding: 8px 10px;
    }

    .site-logo img.logo {
        max-width: 160px;
    }

    .site-nav {
        flex: 0 0 auto;
        padding: 0 8px 4px 4px;
        gap: 2px;
    }

    .nav-tab {
        padding: 6px 10px;
        font-size: 75%;
    }

    .nav-tab-active {
        padding-top: 7px;
        padding-bottom: 7px;
    }

    /* Stack sidebar above main content */
    .page-layout {
        flex-direction: column;
    }

    aside.page-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        padding: 8px 10px 4px;
        box-sizing: border-box;
    }

    .page-main {
        width: 100%;
        padding: 8px 10px;
    }

    /* Inner content grid on index pages: stack columns */
    .page-main > table[width="100%"] {
        display: block !important;
        width: 100% !important;
    }
    .page-main > table[width="100%"] > tbody,
    .page-main > table[width="100%"] > tr {
        display: block !important;
    }
    .page-main > table[width="100%"] > tbody > tr,
    .page-main > table[width="100%"] > tr {
        display: flex !important;
        flex-direction: column !important;
    }
    .page-main > table[width="100%"] > tbody > tr > td,
    .page-main > table[width="100%"] > tr > td {
        display: block !important;
        width: 100% !important;
        padding: 4px 0 !important;
    }
    .page-main > table[width="100%"] h2 {
        margin-top: 10px;
        padding-top: 4px;
        border-top: 1px solid #d0d8e8;
    }
    .page-main > table[width="100%"] > tbody > tr > td:first-child h2 {
        border-top: none;
        margin-top: 0;
    }

    /* Interior page layout — flatten the outer wrapper tables only.
       Structure: table.layout > td > table[cp=0] > td > table[cp=4]
                  where table[cp=4] has td[width=160] (sidebar) + td (content).
       We block-display the wrappers but restore menuboxleft/right as real tables. */
    table.layout,
    table.layout > tbody,
    table.layout > tbody > tr,
    table.layout > tbody > tr > td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Intermediate wrapper tables (cellpadding=0 and cellpadding=4) */
    table.layout table:not(.menuboxleft):not(.menuboxright),
    table.layout table:not(.menuboxleft):not(.menuboxright) > tbody,
    table.layout table:not(.menuboxleft):not(.menuboxright) > tbody > tr,
    table.layout table:not(.menuboxleft):not(.menuboxright) > tbody > tr > td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    /* Override inline width/bgcolor on the sidebar wrapper td (width=160) */
    table.layout table:not(.menuboxleft):not(.menuboxright) > tbody > tr > td[width],
    table.layout table:not(.menuboxleft):not(.menuboxright) > tbody > tr > td[bgcolor] {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Restore menuboxleft/right as proper tables so rows display correctly */
    table.menuboxleft,
    table.menuboxright {
        display: table !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    table.menuboxleft > tbody,
    table.menuboxright > tbody {
        display: table-row-group !important;
    }
    table.menuboxleft > tbody > tr,
    table.menuboxright > tbody > tr {
        display: table-row !important;
    }
    table.menuboxleft > tbody > tr > th,
    table.menuboxright > tbody > tr > th {
        display: table-cell !important;
        width: auto !important;
    }
    /* Hide the bullet column — use high-specificity to beat the rule above */
    table.menuboxleft > tbody > tr > td.bullet,
    table.menuboxright > tbody > tr > td.bullet {
        display: none !important;
    }
    /* Menu text cell fills entire row width */
    table.menuboxleft > tbody > tr > td.menu,
    table.menuboxright > tbody > tr > td.menu {
        display: table-cell !important;
        width: 100% !important;
        max-width: 100% !important;
        vertical-align: middle !important;
        padding: 2px 4px !important;
    }
    /* Strip paragraph padding inside menu cells — it causes the big gaps */
    table.menuboxleft td.menu p,
    table.menuboxright td.menu p,
    table.menuboxleft td.menu p.menuitem,
    table.menuboxright td.menu p.menuitem {
        margin: 0 !important;
        padding: 0 !important;
        font-size: 80% !important;
    }
    /* Also strip p.menuhead padding in the header row */
    table.menuboxleft th p.menuhead,
    table.menuboxright th p.menuhead {
        margin: 0 !important;
        padding: 2px 0 !important;
    }

    /* Data tables: horizontal scroll instead of overflow */
    table.list,
    table.layoutlist {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }

    /* Code blocks */
    pre, pre.example, code {
        max-width: 100%;
        overflow-x: auto;
        white-space: pre-wrap;
        word-wrap: break-word;
        font-size: 12px;
    }

    pre.missing-image {
        font-size: 11px;
        padding: 10px 12px;
        word-break: break-word;
    }

    p, li, dd, dt {
        word-break: break-word;
        overflow-wrap: break-word;
    }

    h1 { font-size: 140%; }
    h2 { font-size: 115%; }

    nobr { white-space: normal !important; }

    blockquote {
        margin: 4px 0;
        padding: 6px 8px;
    }

} /* end @media 768px */


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

    .site-logo img.logo {
        max-width: 120px;
    }

    .nav-tab {
        font-size: 70%;
        padding: 5px 8px;
    }

    p, li, td, th {
        font-size: 13px;
    }

    h1 { font-size: 120%; }
    h2 { font-size: 108%; }

} /* end @media 480px */


/*
     FILE ARCHIVED ON 22:43:13 Aug 03, 2003 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 19:40:39 Oct 31, 2024.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  captures_list: 5.243
  exclusion.robots: 0.025
  exclusion.robots.policy: 0.012
  esindex: 0.012
  cdx.remote: 30.07
  LoadShardBlock: 305.773 (3)
  PetaboxLoader3.datanode: 339.357 (4)
  PetaboxLoader3.resolve: 233.853 (2)
  load_resource: 315.148
*/