@charset "UTF-8";

/* Modern Reset Additions */
*, *::before, *::after {
    box-sizing: border-box;
}

/* ~~ From Dreamweaver 1 col liq centered header and footer layout~~ */
body {
    font-size: 100%;
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    /*  background: #b9a275; */
    margin: 0;
    padding: 0;
    color: #000;
}

.container table {
    border-collapse: collapse;
    margin-left: auto;
    margin-right: auto;
}

.container table tr td {
    font-size: 14px;
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
    text-align: left;
    padding-right: 10px;
    padding-left: 10px;
    margin: 0px;
    border-style: solid;
    border-width: thin;
}

.container table, th {
    border-style: solid;
    border-width: thin;
}

/* ~~ Element/tag selectors ~~ */
ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
    padding: 0;
    margin: 0;
}

h1, h2, h3, h4, h5, h6, p {
    margin-top: 0;   /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
    padding-right: 15px;
    padding-left: 15px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

img {
    display: inline;
    border: none;
}

a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
    border: none;
}

/* ~~ Styling for your site's links must remain in this order - including the group of selectors that create the hover effect. ~~ */
a:link {
    color: #414958;
    text-decoration: underline;
}

a:visited {
    color: #4E5869;
    text-decoration: underline;
}

a:hover, a:active, a:focus {
    text-decoration: none;
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
    color: #414958;
    text-align: center;
}

/* ~~ this container surrounds all other divs giving them their percentage-based width ~~ */
.container {
    width: auto;
    max-width: 760px;
    min-width: 320px;
    margin-top: auto;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    background-color: #FFF;
    line-height: 1.6;
    scroll-behavior: smooth;
}

/* Header */
.header {
    background: #eee8d6;
}

/* Content */
.content {
    padding: 10px 0;
}

.content ul, .content ol {
    padding: 0 15px 15px 40px;
}

/* Footer */
.footer {
    padding: 10px 0;
    background: #6F7D94;
}

/* Float Classes */
.fltrt {
    float: right;
    margin-left: 8px;
}

.fltlft {
    float: left;
    margin-right: 8px;
}

.clearfloat {
    clear: both;
    height: 0;
    font-size: 1px;
    line-height: 0px;
}

/* Headings */
.container h1 {
    font-size: 20px;
    font-weight: normal;
    text-align: left;
    padding-top: 24px;
    padding-left: 30px;
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #057AFF;
}

.container h2 {
    font-size: 18px;
    font-weight: normal;
    text-align: left;
    padding-top: 24px;
    padding-left: 30px;
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #057AFF;
}

.container h3 {
    font-size: 16px;
    font-weight: normal;
    text-align: left;
    padding-top: 24px;
    padding-left: 30px;
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #057AFF;
}

.container h4 {
    font-size: 14px;
    font-weight: normal;
    text-align: left;
    padding-top: 24px;
    padding-left: 30px;
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #057AFF;
}

.container p {
    font-size: 14px;
    line-height: normal;
    text-align: left;
    padding-top: 12px;
    padding-right: 30px;
    padding-left: 30px;
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
}

.container ul, ol {
    padding-left: 50px;
    padding-right: 30px;
    font-size: 14px;
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
}

/* Important Class */
.important {
    font-style: italic;
    font-weight: bold;
    padding: 10px;
    border-width: thin;
    border-style: solid;
    margin: 12px 40px 0px 40px;
    text-align: left;
}

/* Figure and Image Handling */
.container figure {
    display: block;
    left: auto;
    right: auto;
}

.container figure img {
    -webkit-box-shadow: 0px 0px;
    box-shadow: 0px 0px;
    border-collapse: collapse;
    border: thin solid #000000;
}

/* Form and Image Classes */
.formmail {
    display: block;
    margin-left: 10px;
}

#imgNoBorder {
    display: inline-block;
    border: none;
}

/* Pre Element */
.container pre {
    font-family: monospace;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 0 10px 30px;
    border-top: solid thin;
    border-bottom: solid thin;
    border-left: none;
    border-right: none;
    text-align: left;
}

/* Definition Lists */
.container dl {
    padding-left: 50px;
    padding-right: 30px;
    font-size: 14px;
    font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
}

.container dt {
    font-weight: bold;
    margin-top: 10px;
    color: #057AFF;
}

.container dd {
    margin-left: 20px;
    margin-bottom: 10px;
}

/* Circle Class */
.circle {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
    background-color: #FFF;
    text-align: center;
    line-height: 1.5em;
    font-size: inherit;
    font-family: inherit;
    font-weight: bold;
    color: #057AFF;
    border: 2px solid #057AFF;
}

/* Documentation Specific Enhancements */
.calculator-image {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 2rem auto;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Documentation Sections */
.doc-section {
    margin: 2rem 0;
    padding: 1rem;
    border-radius: 8px;
    background-color: #fbfbfb;
}

/* Feature Lists */
.feature-list {
    list-style: none;
    padding-left: 30px;
}

.feature-list li {
    position: relative;
    padding: 0.5rem 0 0.5rem 1.5rem;
}

.feature-list li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: #057AFF;
}

/* Note Blocks */
.note, .warning, .tip {
    margin: 1rem 30px;
    padding: 1rem;
    border-radius: 6px;
    border-left: 4px solid;
}

.note {
    background-color: #f8f9fa;
    border-left-color: #057AFF;
    color: #000;
}

.warning {
    background-color: #fff3cd;
    border-left-color: #ffc107;
    color: #000;
}

.tip {
    background-color: #d4edda;
    border-left-color: #28a745;
    color: #000;
}

/* Reference Section */
.reference-section {
    margin-top: 3rem;
    padding-top: 1rem;
    border-top: 2px solid #eee;
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
    body {
        background-color: #1a1a1a;
        color: #e0e0e0;
    }
    
    .container {
        background-color: #2d2d2d;
    }
    
    .doc-section {
        background-color: #333;
    }
    
    .container pre {
        background-color: #383838;
    }
    
    a:link, a:visited {
        color: #66b3ff;
    }

    .note {
        background-color: #2d3238;
        border-left-color: #057AFF;
        color: #e0e0e0;
    }

    .warning {
        background-color: #3d3524;
        border-left-color: #ffc107;
        color: #e0e0e0;
    }

    .tip {
        background-color: #233328;
        border-left-color: #28a745;
        color: #e0e0e0;
    }
}

/* Print Styles */
@media print {
    .container {
        max-width: 100%;
    }
    
    .doc-section {
        break-inside: avoid;
    }
    
    a[href]::after {
        content: " (" attr(href) ")";
    }
}