:root {
    /* Dark theme surfaces + text */
    --paper: #101215;
    --paper-2: #161a20;
    --ink: #eef2f7;
    --muted-ink: #b8c0cc;
    --border: #2a323e;
    --shadow: rgba(0, 0, 0, 0.55);

    /* Postal accents */
    --postal-blue: #1d4e89;
    --postal-red: #9b1c1c;
    --postmark: rgba(120, 72, 38, 0.22);

    /* Links (dark theme) */
    --link: #8cc6ff;
    --link-visited: #c8b6ff;
    --link-hover: #ffd18a;

    /* Navigation */
    --nav-bg: #0f141a;
    --nav-ink: #eef2f7;
    --nav-hover: #9b1c1c;

    /* Extra accents (kept contrast-safe on paper) */
    --collector-green: #55c271;

    /* Surfaces */
    --card: rgba(255, 255, 255, 0.035);
    --card-2: rgba(255, 255, 255, 0.06);
    --card-border: rgba(255, 255, 255, 0.10);

    /* Philatelic details */
    --postmark-strong: rgba(155, 28, 28, 0.25);
}

::selection {
    background: rgba(140, 198, 255, 0.35);
    color: #ffffff;
}

body {
    /* Dark “desk” backdrop behind the content */
    background-color: #07090c;
    background-image:
        radial-gradient(circle at 15% 10%, rgba(255, 255, 255, 0.06), transparent 55%),
        radial-gradient(circle at 90% 25%, rgba(255, 255, 255, 0.045), transparent 60%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 35%);
    background-repeat: no-repeat;
    margin: 0px;
    padding: 0px;
    border: #FFFFFF 0px solid;

    /* THE NEXT LINE CONTROLS THE FONT SIZE ON ALL PAGES */
    color: var(--ink);
    font: normal 17px Georgia, "Times New Roman", Times, serif;
    line-height: 150%;
}

/* ACCESSIBILITY UTILITIES */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.skip-link {
    position: absolute;
    left: -999px;
    top: 8px;
    z-index: 9999;
    padding: 10px 12px;
    background: #ffffff;
    color: #0b0f14;
    border: 2px solid var(--postal-red);
}

.skip-link:focus,
.skip-link:focus-visible {
    left: 8px;
}


/* DEFAULTS - ALIGNMENT, SPACING, MARGINS, PADDING */


table,
tr,
td {
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 20px;
    padding: 0;
    border: 0;
}

img {
    border: 0;
}

.rimage {
    max-width: 100%;
    height: auto;
}

.just {
    text-align: justify;
}

.td-left {
    text-align: left;
}

.td-center {
    text-align: center;
}

.td-top {
    vertical-align: top;
}

.padB-10 {
    padding-bottom: 10px;
}

.formmargin {
    margin: 0px;
}

/* NON-MENU LINKS */

a:link,
a:active {
    color: var(--link);
    text-decoration: underline;
    text-underline-offset: 2px;
}

a:visited {
    color: var(--link-visited);
    text-decoration: underline;
    text-underline-offset: 2px;
}

a:hover {
    color: var(--link-hover);
    text-decoration: underline;
}


/* TYPOGRAPHY */

.title {
    color: var(--ink);
    font: normal 24px Georgia, "Times New Roman", Times, serif;
    line-height: normal;
    letter-spacing: 0.2px;
}

/* Headings: subtle “postmarked” underline */
h1.title,
h2.title,
h3.title {
    display: inline-block;
    padding-bottom: 4px;
    background-image: linear-gradient(to right, transparent, var(--postmark-strong), transparent);
    background-size: 100% 2px;
    background-position: 0 100%;
    background-repeat: no-repeat;
}

.subtitle {
    color: var(--ink);
    font: bold 16px Georgia, "Times New Roman", Times, serif;
    line-height: normal;
}

.smalltitle {
    color: var(--ink);
    font: bold 17px Georgia, "Times New Roman", Times, serif;
    line-height: normal;
}

.colortitle {
    color: var(--ink);
    font: bold 19px Georgia, "Times New Roman", Times, serif;
    line-height: normal;
}

.smalltext {
    color: var(--muted-ink);
    font: normal 15px Georgia, "Times New Roman", Times, serif;
    line-height: normal;
}

.hilite {
    color: var(--postal-red);
    font-weight: bold;
}

.collection {
    width: 76%;
}

.intro {
    font-size: 20px;
}

.resources {
    font-weight: bold;
}

ul.collection {
    list-style: none;
    padding-left: 0;
}

ul.collection li {
    margin-top: 14px !important;
    padding: 14px;
    background: var(--card-2);
    border: 1px dashed rgba(255, 255, 255, 0.18);
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
    position: relative;
}

ul.collection li::before {
    content: "";
    position: absolute;
    right: 12px;
    top: 10px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 2px dashed rgba(155, 28, 28, 0.28);
    transform: rotate(-12deg);
    pointer-events: none;
}


/* REMOVES MARGINS ON HEADING TAGS (FOR SEO) */

h1,
h2,
h3,
h4 {
    margin: 0px 0px 10px 0px;
}


/* WIDTHS HEIGHTS AND ALIGNMENT */

.pageheight {
    min-height: 900px;
}

.pagewidth {
    max-width: 1250px;
}

#outerdiv {
    width: 100%;
    margin: auto;
}

#wrapper {
    background-color: var(--paper);
    background-image:
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 140px),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.018), rgba(255, 255, 255, 0.018) 1px, transparent 1px, transparent 14px);
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    border: 1px solid var(--border);
    border-width: 0px 1px 1px 1px;
    box-shadow: 0 16px 50px var(--shadow);
    position: relative;
}

/* subtle corner “photo mounts” */
#wrapper::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 14px;
    width: 44px;
    height: 44px;
    border-left: 3px solid rgba(255, 255, 255, 0.10);
    border-top: 3px solid rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

#wrapper::after {
    content: "";
    position: absolute;
    right: 14px;
    bottom: 14px;
    width: 44px;
    height: 44px;
    border-right: 3px solid rgba(255, 255, 255, 0.10);
    border-bottom: 3px solid rgba(255, 255, 255, 0.10);
    pointer-events: none;
}

#contentdiv {
    max-width: 100%;
    margin-right: 292px;
}

#maincontent {
    text-align: left;
    float: left;
    width: 100%;
}

.content-pad {
    padding: 20px 20px 20px 20px;
}

/* Main content: stamp-card panel (keeps existing HTML intact) */
#maincontent .content-pad {
    background: var(--card);
    border: 1px solid var(--card-border);
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

/* Prefer a decorative stamp border when the asset exists */
@supports (border-image: url("../picts/stamp-border.png") 30 round) {
    #maincontent .content-pad {
        border: 10px solid transparent;
        border-image: url("../picts/stamp-border.png") 38 round;
        border-radius: 0;
        padding: 22px;
        background-clip: padding-box;
    }
}

.divclear {
    height: 0px;
    clear: both;
    font-size: 1px;
    line-height: 0px;
    padding: 0px;
    margin: 0px;
}

#contentdiv-nosidebar {
    max-width: 100%;
}




/* TEXT AND GRAPHIC HEADER CODE */

#headerdiv {
    padding: 0px 0px 0px 0px;
    margin: 0px 0px 0px 0px;
    border: #000000 0px solid;
    border-bottom: #000000 0px solid;
    background-image:
        linear-gradient(90deg, rgba(10, 12, 16, 0.86), rgba(10, 12, 16, 0.58) 60%, rgba(10, 12, 16, 0.0)),
        url("../picts/header-background.jpg");
    width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--border);
}

.headercolor {
    background-color: var(--paper-2);
}

/* Decorative “postmark” motif in header */
#headerdiv::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 12px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    border: 2px dashed var(--postmark);
    transform: rotate(-12deg);
    pointer-events: none;
}

#headerdiv::before {
    content: "";
    position: absolute;
    right: -30px;
    top: 70px;
    width: 260px;
    height: 2px;
    background: var(--postmark);
    box-shadow: 0 10px 0 var(--postmark), 0 20px 0 var(--postmark);
    transform: rotate(-12deg);
    pointer-events: none;
}

.logo-respond {
    width: 100%;
    max-width: 600px;
    height: 75px;
    margin: 0 auto 0 0;
    /* THIS CODE ALIGNS LOGO */
    display: block;
}

/* TEXT LOGO */
/* SOCIAL ICONS */
/* FOOTER */

#footerdiv {
    color: var(--ink);
    font: normal 13px Georgia, "Times New Roman", Times, serif;
    text-align: center;
    background-color: var(--paper-2);
    background-image: none;
    padding: 35px 8px 35px 8px;
    border-top: 1px solid var(--border);
}

#footerdiv a:link,
#footerdiv a:visited,
#footerdiv a:active {
    color: #cfe3ff;
    text-decoration: none;
}

#footerdiv a:hover {
    color: var(--ink);
    text-decoration: underline;
}






/* BORDERS AND BARS */

.page-splits {
    font-size: 1px;
    line-height: 0px;
    height: 1px;
    background-color: transparent;
    /* 5 COLOR GRADIENT */
    background-image: linear-gradient(to right, transparent, rgba(155, 28, 28, 0.55), rgba(29, 78, 137, 0.55), rgba(155, 28, 28, 0.55), transparent);
    margin: 12px 0px 12px 0px;
    padding: 0px;
    border: #999999 0px solid;
}

/* IMAGE BORDERS AND SPACING */

.img-space {
    float: left;
    margin-right: 12px;
    margin-bottom: 1px;
}



/* TOP MAIN IMAGE */

.image-bar {
    max-width: 100%;
    color: #FFFFFF;
    text-align: center;
    padding: 10px 10px 12px 10px;
    margin: 0px;
    /* subtle “mounted” look */
    background: rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid var(--border);
    -moz-box-shadow: 0px 10px 18px -14px rgba(0, 0, 0, 0.35);
    -webkit-box-shadow: 0px 10px 18px -14px rgba(0, 0, 0, 0.35);
    box-shadow: 0px 10px 18px -14px rgba(0, 0, 0, 0.35);
}

.image-bar::after {
    content: "";
    position: absolute;
    right: 14px;
    bottom: 10px;
    width: 120px;
    height: 60px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background:
        radial-gradient(circle at 15% 30%, rgba(155, 28, 28, 0.28), transparent 55%),
        radial-gradient(circle at 60% 60%, rgba(29, 78, 137, 0.22), transparent 60%);
    pointer-events: none;
}

.main-image {
    width: 100%;
    min-width: 200px;
    height: auto;
    display: block;
    margin: 0px auto 0px auto;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid var(--border);
    border-width: 0px 1px 1px 1px;
    /* NOTE: BORDERS ABOVE ARE | top | right | bottom | left */
    border-radius: 10px;
}




/* LIST CODE - ABOUT PAGE */

.list {
    color: #FF0000;
    line-height: normal;
    text-align: left;
    margin-top: 0px;
    margin-bottom: 0px;
}

.floatlist {
    float: left;
    width: 50%;
    min-width: 200px;
}

.list li {
    text-indent: 1px;
}

.list li span {
    color: #FFFFFF;
    font-weight: normal;
}




/* RIGHT SIDEBAR */

#sidebar {
    width: 250px;
    margin-right: -292px;
    /* WORKS WITH #contentdiv 292 ABOVE */
    float: right;
    padding: 10px 20px 10px 20px;
    background-color: var(--card);
    border-left: 1px solid var(--border);
}

/* Sidebar headings get a small postal accent */
#sidebar .subtitle {
    display: inline-block;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-left: 4px solid var(--postal-blue);
    background: rgba(255, 255, 255, 0.02);
    border-radius: 10px;
}

.sidebarL {
    width: 52px;
    padding: 15px 6px 15px 6px;
}

.sidebarR {
    padding: 15px 4px 15px 4px;
}

.side-borders {
    border: #66697E 1px solid;
    margin: 0px 0px 0px 0px;
}

.sidebar-topics {
    background-color: transparent;
    background-image: url("../picts/background-topics.jpg");
    background-repeat: repeat;
    border-top: #FF0000 1px solid;
    border-bottom: #FF0000 1px solid;
    margin: 13px 0px 0px 0px;
    padding: 2px 0px 10px 0px;
}

.sidebar-text {
    color: var(--muted-ink);
    font: normal 14px Georgia, "Times New Roman", Times, serif;
    line-height: 140%;
    width: 100%;
}

/* Sidebar blocks (div-based) */
#sidebar .sidebar-block {
    display: block;
    max-width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box;
}

#sidebar .sidebar-row {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    max-width: 100%;
}

#sidebar .sidebar-row .sidebarL {
    flex: 0 0 auto;
}

#sidebar .sidebar-row .sidebarR {
    flex: 0 1 auto;
    min-width: 0;
}




/* SHOPPING CART CODE */






/* CONTACT PAGE CODE */

.contact-select {
    color: #B7A99A;
    font-weight: normal;
    border: 0;
    margin: 0;
    padding: 0;
}

.contact-select legend {
    padding: 0;
    margin: 0 0 6px 0;
    font-weight: bold;
}

.contactform {
    margin: 0px 0px 10px 50px;
}

.shadeform {
    font: 16px arial, sans-serif;
    color: #000000;
    background-color: #B4C1D9;
    background-image: url("../picts/shadeform.png");
    text-align: left;
    width: 100%;
    max-width: 300px;
    padding: 3px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border: #999999 1px solid;
}

.textarea {
    font: 16px arial, sans-serif;
    background-color: #B4C1D9;
    color: #000000;
    background-image: url("../picts/shadeform.png");
    text-align: left;
    width: 100%;
    max-width: 350px;
    height: 150px;
    padding: 3px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border: #999999 1px solid;
}

.dropdown {
    font: 15px arial, sans-serif;
    background-color: #B4C1D9;
    color: #000000;
    width: 100%;
    max-width: 300px;
    padding: 3px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

input[type=submit].submitbutton,
input[type=reset].submitbutton {
    color: #ffffff;
    font: bold 16px Georgia, "Times New Roman", Times, serif;
    text-align: center;
    background-color: var(--postal-blue);
    /* -webkit-appearance: none; */
    padding: 9px 8px 9px 8px;
    margin: 0px 0px 0px 0px;
    cursor: pointer;
    width: 135px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    /* CORNER ROUNDING */
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px;
}

input[type=submit].submitbutton:hover,
input[type=reset].submitbutton:hover {
    color: #FFFFFF;
    background-color: var(--postal-red);
    border: 1px solid rgba(255, 255, 255, 0.14);
}




/* LINKS PAGE */

.linksmargin {
    margin: 0px;
    margin-top: 10px;
}

#sidebar .linksmargin {
    display: block;
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box;
}

#sidebar .searchtable-div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

#sidebar .searchtable-div .searchcell {
    display: block;
    padding: 3px 2px;
}

.searchtable img {
    height: 26px;
    width: auto;
    display: block;
}

.searchterms {
    font: 15px arial, sans-serif;
    background-color: #F4F5F9;
    background-image: url("picts/shadeform.png");
    color: #000000;
    width: 125px;
    padding: 2px;
    border: #999999 1px solid;
    height: 26px;
    line-height: 20px;
    box-sizing: border-box;
}

.searchbutton {
    color: #FFFFFF;
    font: normal 12px arial, sans-serif;
    text-align: center;
    background-color: #333333;
    padding: 3px 4px 3px 4px;
    margin: 0px;
    margin-left: 2px;
    cursor: pointer;
    border: #FF0000 1px solid;
}



/* HIDE MENU AND ITEMS FOR PRINTING */


@media print {
    .printhide {
        display: none;
    }
}





/* START THE CODE FOR THE MENU */

#menudiv a:focus-visible,
#menudiv-footer a:focus-visible,
#mobile-menu-icon:focus-visible,
#mobile-menu-icon-footer:focus-visible,
.scrollToTop:focus-visible {
    outline: 3px solid var(--postal-blue);
    outline-offset: 2px;
}

#menusub a:focus-visible,
#menusub-footer a:focus-visible {
    outline: 3px solid var(--postal-blue);
    outline-offset: 2px;
}

#menudiv,
#menudiv-footer,
.menudiv {
    background-color: var(--nav-bg);
    background-image:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent),
        repeating-linear-gradient(90deg, rgba(29, 78, 137, 0.18), rgba(29, 78, 137, 0.18) 10px, rgba(155, 28, 28, 0.18) 10px, rgba(155, 28, 28, 0.18) 20px);
    position: relative;
    padding: 0px 0px 0px 0px;
    margin: 0px auto 0px auto;
    border: 0px solid #000000;
    border-width: 0px 0px 1px 0px;
    border-bottom-color: var(--border);
}

/* MENU WIDTH, PADDING, FONT FACE & COLOR */

#menusub a,
#menusub-footer a,
.menusub a {
    color: var(--nav-ink);
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 17px;
    font-weight: 400;
    line-height: normal;
    text-decoration: none;
    text-align: center;
    padding: 19px 15px 19px 15px;
    margin: 0px 0px 0px 0px;
    cursor: pointer;
    background-color: transparent;
    display: inline-block;
    border: 0px solid var(--border);
    border-width: 0px 1px 0px 0px;
    letter-spacing: 0.2px;
    /* MENU FADE UP */
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s;
    /* *display:inline;	For IE */
    /* *zoom:1;		For IE */
}


/* BORDERS FIRST MENU LINK */

#menusub a:first-child,
#menusub-footer a:first-child,
.menusub a:first-child {
    border-width: 0px 1px 0px 1px;
}


/* MENU HOVER COLORS */

#menusub a:hover,
#menusub-footer a:hover,
.menusub a:hover {
    color: #ffffff;
    background-color: var(--nav-hover);
    text-decoration: none;
}


/* FOR BOTTOM MENU */


/* MOBILE MENU ICON - SEE ALSO media-queries.css FOR MORE MOBILE COLORS AND FONTS!! */

#mobile-menu-icon,
#mobile-menu-icon-footer,
.menu-toggle {
    cursor: pointer;
    display: none;
    text-align: center;
    padding: 6px 8px 6px 8px;
    background: var(--postal-blue);
    border: 1px solid var(--border);
    border-radius: 6px;
}

.menu-icon-img {
    display: block;
    margin: 0px auto 0px 0px;
}




/* RIGHT SCROLL TO TOP ARROW */

.scrollToTop {
    width: 36px;
    height: 36px;
    padding: 0px;
    text-align: center;
    text-decoration: none;
    position: fixed;
    bottom: 60px;
    right: 10px;
    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    border: 1px solid var(--border);
    background: var(--postal-blue) url('../picts/arrow-up-white.png') no-repeat 0px 0px;
    transition: opacity 0.2s ease, visibility 0s linear 0.2s;
}

.scrollToTop.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 0.2s ease;
}

.scrollToTop:hover {
    text-decoration: none;
    border: 1px solid var(--border);
    background: var(--postal-red) url('../picts/arrow-up-white.png') no-repeat 0px 0px;
}



/* PAGINATION */
.content {
    margin: 20px;
}

/* PAYPAL */
.item-header {
    display: flex !important;
    text-align: left;
    flex-wrap: nowrap;
    gap: 12px;
    align-items: normal;
    color: #E6E1E1 !important;
    font-family: "copperplate gothic light";
    font-size: 24px !important;
    font-weight: bold;
}

.item-header .item-title {
    font-size: 16px;
    white-space: normal;
    min-width: 0;
    overflow-wrap: anywhere;
    color: #ffe888;
}

.item-header .price-container {
    display: block !important;
    text-align: left !important;
    color: #ff9100;
    font-family: "copperplate gothic light";
    font-size: 16px !important;
    margin-left: auto;
}

p.item-description {
    color: #E6E1E1;
    font-family: "Lucida sans";
    text-align: left;
}

img.hero-img {
    width: 100% !important;
    max-width: 300px;
    height: auto;
}

div.thumbnail-container {
    justify-content: center !important;
}