/* ============================================================
   boxes.css — Content Boxes & Tables
   Gesior2012 | Dark Fantasy Theme
   ------------------------------------------------------------
   SCOPE: .Content .Box, .BoxContent, .TableContainer system,
          news headlines, SmallBox errors, forms, typography.
   ============================================================ */

/* ── Content wrapper ── */
.Content { position:relative; top:0; width:100%; }
* html .Content { top:-5px; }
* html .Content .Box       { width:100%; }
* html .Content .BoxContent { width:100%; }

/* ── Box container ── */
.Content .Box {
    font-size:0pt;
    position:relative;
    margin:5px 5px 14px;
    border:1px solid #2a2010;
    border-top:2px solid #3a3018;
    background:#0a0806;
    border-radius:2px;
    overflow:visible;
}

/* ── Box header bar ── */
.Content .BorderTitleText {
    position:relative;
    height:28px;
    background:linear-gradient(180deg,#1e1a0e,#141008);
    border-bottom:1px solid #2a2010;
    background-repeat:repeat-x;
}

.Content .Title {
    position:absolute;
    top:6px; left:8px;
    font-family:'Cinzel',serif;
    font-size:11px; font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#c9a349;
}

.Content .Border_1 { position:relative; height:4px; width:100%; background-repeat:repeat-x; }
.Content .Border_2 { margin:3px; padding:0; background:#2a2010; height:1px; }
.Content .Border_3 { margin:1px; border-top:1px solid #2a2010; border-bottom:1px solid #2a2010; }

/* Box corners — ghost divs kept for sprite compatibility */
.Content .Corner-tl { position:absolute; top:-4px; left:-5px; width:17px; height:17px; z-index:50; }
.Content .Corner-tr { position:absolute; top:-4px; right:-5px; width:17px; height:17px; z-index:50; }
.Content .Corner-bl { position:absolute; bottom:-4px; left:-6px; width:17px; height:17px; z-index:50; }
.Content .Corner-br { position:absolute; bottom:-4px; right:-6px; width:17px; height:17px; z-index:50; }
.Content .BottomCornersHelper { position:absolute; width:100%; }
.Content .CornerWrapper-b     { position:absolute; width:100%; }

/* ── Box content area ── */
.Content .BoxContent {
    font-family:'Open Sans',Verdana,Arial,sans-serif;
    font-size:9pt;
    background:#0a0806;
    color:#b0a080;
    min-height:40px;
    height:auto !important;
    padding:12px;
    line-height:1.6;
}

/* ── Table headers ── */
.Content th {
    font-family:'Open Sans',Verdana,Arial,sans-serif;
    font-size:9pt; font-weight:600;
    text-align:left;
    color:#c9a349;
    background:linear-gradient(180deg,#1e1a0e,#141008);
    padding:6px 8px;
    border-bottom:1px solid #2a2010;
}

.Content .BoxContent td {
    font-family:'Open Sans',Verdana,Arial,sans-serif;
    font-size:9pt; color:#b0a080; padding:4px 6px;
}

/* ── Content links ── */
.Content a          { font-family:'Open Sans',Verdana,Arial,sans-serif; font-weight:600; color:#c9a349; text-decoration:none; }
.Content a:hover    { color:#e8c870; text-decoration:underline; }
.Content .HelpLink  { font-size:7pt; cursor:pointer; }

/* ── Odd/Even rows ── */
.Content .BoxContent .Odd  { background:rgba(255,255,255,.02); color:#c8c0b0; padding:2px; }
.Content .BoxContent .Even { background:#080604; color:#908070; padding:2px; }

/* ── Color utility classes ── */
.Content .BoxContent .white,
.Content .BoxContent td .white   { color:#efefef; visibility:visible; }
.Content .BoxContent .whites,
.Content .BoxContent td .whites  { color:#efefef; visibility:visible; font-size:9pt; }
.Content .BoxContent td .green   { color:#40c060; }
.Content .BoxContent td .yellow  { color:#c9a349; }
.Content .BoxContent td .red     { color:#e04040; }
.Content .BoxContent td .grey    { color:#808080; }
.Content .ff_white a             { color:#ffffff; }

/* ── Typography helpers ── */
.ff_info        { font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:9pt;  color:#b0a080; }
.ff_white       { font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:7pt;  color:#efefef; font-weight:bold; }
.ff_red         { font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:8pt;  color:#e04040; font-weight:bold; }
.ff_whitelarge  { font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:9pt;  color:#efefef; font-weight:bold; }
.ff_infotext    { font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:8pt;  color:#b0a080; line-height:13pt; }
.ff_smallinfo   { font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:7pt;  color:#807060; }
.ff_large       { font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:12pt; color:#c9a349; }
.ff_pagetext    { font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:9pt;  color:#b0a080; line-height:14pt; }
.ff_pagetextgrey{ font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:9pt;  color:#707070; line-height:14pt; }
.ff_pagetextred { font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:9pt;  color:#e04040; line-height:14pt; }
.ff_correct     { font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:11pt; color:#e04040; font-weight:bold; }

tr.trtst td, td.trtst { padding:9px 6px; color:#c8c0b0; }
tr.trst  td            { color:#706860; padding:4px 6px; }

/* ============================================================
   NEWS AREA
   ============================================================ */

.Content #News .NewsHeadlineBackground,
.Content #FeaturedArticle .NewsHeadlineBackground,
.Content #NewsArchive .NewsHeadlineBackground {
    position:relative; height:28px; margin-bottom:6px;
    background:linear-gradient(90deg,#1e1a0e,#141008);
    border-left:3px solid #c9a349;
    border-right:1px solid #2a2010;
    border-radius:1px;
}
.Content #News .NewsHeadlineIcon,
.Content #FeaturedArticle .NewsHeadlineIcon,
.Content #NewsArchive .NewsHeadlineIcon {
    position:absolute; top:-1px; left:0; margin:0 5px;
}
.Content #News .NewsHeadlineDate,
.Content #FeaturedArticle .NewsHeadlineDate,
.Content #NewsArchive .NewsHeadlineDate {
    font-size:7pt; position:absolute; top:7px; left:50px; width:85px; color:#60503a;
}
.Content #News .NewsHeadlineText,
.Content #FeaturedArticle .NewsHeadlineText,
.Content #NewsArchive .NewsHeadlineText {
    position:relative; top:6px; left:135px;
    font-family:'Cinzel',serif; font-size:10pt; font-weight:600;
    color:#c9a349; letter-spacing:.5px;
}

.Content #News .BoxContent         { min-height:100px; height:auto !important; }
.Content #FeaturedArticle .BoxContent { position:relative; padding:10px; min-height:100px; height:auto !important; }
#ContentHelper #FeaturedArticle:first-child .BoxContent { padding:12px; }
.Content #FeaturedArticle #TeaserThumbnail {
    position:relative; height:100px; width:150px;
    margin-left:12px; float:right;
    background:#0a0806; border:1px solid #2a2010; border-radius:2px;
}
.Content #FeaturedArticle #TeaserText { height:100px; overflow:hidden; }

/* News ticker */
.Content #NewsTicker .BoxContent         { padding:8px; min-height:90px; height:auto !important; }
.Content #NewsTicker .BoxContent .Row    { position:relative; width:100%; margin-bottom:4px; }
.Content #NewsTicker .NewsTickerIcon     { position:absolute; top:1px; left:1px; height:16px; width:16px; background-repeat:no-repeat; }
.Content #NewsTicker .NewsTickerText     { font-size:9pt; position:relative; margin-left:20px; color:#b0a080; }
.Content #NewsTicker .NewsTickerDate     { font-size:7pt; position:absolute; top:0; color:#605040; }
.Content #NewsTicker .NewsTickerShortText { margin-left:85px; height:14px; }
.Content #NewsTicker .NewsTickerFullText  { margin-left:85px; margin-right:20px; display:none; }
.Content #NewsTicker .NewsTickerExtend   { position:relative; right:1px; top:1px; height:12px; width:12px; float:right; cursor:pointer; z-index:10; background-repeat:no-repeat; }
.Content .NewsCategoryIconSmall          { position:absolute; top:1px; left:1px; height:16px; width:16px; background-repeat:no-repeat; }

/* ============================================================
   TABLE CONTAINER SYSTEM
   ============================================================ */
.TableContainer {
    border:1px solid #2a2010; border-top:2px solid #3a3018;
    border-radius:2px; position:relative; width:100%;
    font-size:13px; margin-bottom:10px; background:#0a0806;
}

.TableContainer .CaptionContainer { position:relative; font-size:1pt; background:#141008; width:100%; text-align:left; }
.TableContainer .CaptionContainer .CaptionInnerContainer { position:relative; background:linear-gradient(180deg,#1e1a0e,#141008); width:100%; padding:8px 10px; }
.TableContainer .CaptionContainer .Text { font-family:'Cinzel',serif; font-size:10pt; font-weight:600; color:#c9a349; letter-spacing:1px; }

.TableContainer .CaptionContainer .CaptionEdgeLeftTop    { position:absolute; width:5px; height:5px; top:-2px; left:-2px; z-index:50; }
.TableContainer .CaptionContainer .CaptionEdgeRightTop   { position:absolute; width:5px; height:5px; top:-2px; right:-2px; z-index:50; }
.TableContainer .CaptionContainer .CaptionEdgeLeftBottom { position:absolute; width:5px; height:5px; left:-2px; bottom:-3px; z-index:50; }
.TableContainer .CaptionContainer .CaptionEdgeRightBottom{ position:absolute; width:5px; height:5px; right:-2px; bottom:-3px; z-index:50; }
.TableContainer .CaptionContainer .CaptionBorderTop    { position:absolute; width:100%; height:2px; left:0; top:-1px; background:linear-gradient(90deg,transparent,rgba(201,163,73,.3),transparent); }
.TableContainer .CaptionContainer .CaptionBorderBottom { position:absolute; width:100%; height:1px; left:0; bottom:-1px; background:#2a2010; }
.TableContainer .CaptionContainer .CaptionVerticalLeft { position:absolute; width:2px; left:-1px; top:0; height:100%; background:#2a2010; }
.TableContainer .CaptionContainer .CaptionVerticalRight{ position:absolute; width:2px; right:-1px; top:0; height:100%; background:#2a2010; }

* html .TableContainer .CaptionContainer .CaptionEdgeRightTop    { right:-3px; }
* html .TableContainer .CaptionContainer .CaptionEdgeLeftBottom  { bottom:-4px; }
* html .TableContainer .CaptionContainer .CaptionEdgeRightBottom { right:-3px; bottom:-4px; }
* html .TableContainer .CaptionContainer .CaptionBorderBottom    { bottom:-3px; }
* html .TableContainer .CaptionContainer .CaptionVerticalRight   { right:-2px; }

.TableContentContainer  { position:relative; height:100%; background:transparent; padding:0; margin-right:4px; }
.TableContent           { width:100%; border-collapse:collapse; }
.TableContent td        { padding:5px 8px; color:#b0a080; border-bottom:1px solid #1a1810; font-size:12px; }
.TableContent tr:last-child td { border-bottom:none; }

.TableContainer .Odd  { background:rgba(255,255,255,.02); color:#c8c0b0; }
.TableContainer .Even { background:#080604; color:#907860; }

.TableContainer .Table1 { width:100%; color:#907860; background:#0a0806; }
.TableContainer .Table1 .InnerTableContainer { padding:6px; }
.TableContainer .Table2 { width:100%; background:#0a0806; padding:0; margin:0; border-collapse:collapse; }
.TableContainer .Table2 td { padding:0; margin:0; }
.TableContainer .Table2 .InnerTableContainer { margin-top:1px; }
.TableContainer .Table2 .InnerTableContainer table { border-collapse:collapse; }
.TableContainer .Table2 .InnerTableContainer td { padding:2px 6px; }
.TableContainer .Table3 { width:100%; background:#0a0806; }
.TableContainer .Table3 .InnerTableContainer { width:100%; position:relative; margin-top:5px; margin-left:3px; }
.TableContainer .Table3 .TableContentAndRightShadow td { padding:8px 12px; }
.TableContainer .Table4 { width:100%; background:#0a0806; }
.TableContainer .Table4 .InnerTableContainer { width:100%; position:relative; margin-top:3px; }
.TableContainer .Table4 .TableContentAndRightShadow .TableContent td { padding:2px 4px; }
.TableContainer .Table5 { width:100%; background:#0a0806; }
.TableContainer .Table5 .InnerTableContainer { width:100%; position:relative; margin-top:5px; margin-left:3px; }
.TableContainer .Table5 .TableContentAndRightShadow .TableContent td { padding:2px 4px; }

.TableShadowContainerRightTop { position:relative; top:0; right:3px; float:right; z-index:99; }
.TableShadowRightTop          { position:absolute; top:0; right:0; width:4px; height:5px; z-index:99; }
.TableContentAndRightShadow   { position:relative; background-repeat:repeat-y; background-position:top right; margin-right:3px; }
.TableShadowContainer         { position:relative; width:100%; margin-right:5px; }
.TableBottomShadow            { position:relative; height:5px; width:100%; padding:0; margin:0; }
.TableBottomLeftShadow        { position:relative; height:5px; width:4px; float:left; padding:0; margin:0; }
.TableBottomRightShadow       { position:relative; float:right; right:-2px; top:0; height:5px; width:4px; }

.LabelV { font-weight:600; padding-right:10px; white-space:nowrap; vertical-align:top; color:#60503a; font-size:11px; }
.LabelH { font-weight:600; padding-right:10px; white-space:nowrap; background:#0a0806; }
.LabelH td { background:#141008; color:#907860; padding:3px 6px; font-size:11px; }

/* ============================================================
   FORMS
   ============================================================ */
input[type=text], input[type=password], input[type=email], textarea, select {
    background:#080604; border:1px solid #2a2010; border-radius:2px;
    padding:5px 8px;
    font-family:'Open Sans',Verdana,Arial,sans-serif; font-size:12px;
    color:#c8c0b0; outline:none; transition:border-color .2s;
}
input:focus, textarea:focus, select:focus {
    border-color:#c9a349; box-shadow:0 0 4px rgba(201,163,73,.15);
}
select option { background:#141008; color:#b0a080; }

input[type=submit], input[type=button], button {
    background:linear-gradient(180deg,#1e1a0a,#141006);
    border:1px solid #3a3010; border-radius:2px;
    padding:5px 14px;
    font-family:'Open Sans',sans-serif; font-size:10px; font-weight:600;
    letter-spacing:1px; text-transform:uppercase; color:#c9a349;
    cursor:pointer; transition:all .2s;
}
input[type=submit]:hover, input[type=button]:hover, button:hover {
    background:linear-gradient(180deg,#2a2410,#1e1a0a);
    border-color:#c9a349; color:#e8c870;
}

.FormFieldError { font-size:8pt; color:#e04040; }

/* ── navibutton ── */
div.navibutton a, .navibutton a {
    display:inline-flex; align-items:center; gap:4px;
    background:linear-gradient(180deg,#1e1a0a,#141006);
    border:1px solid #3a3010; border-radius:2px;
    padding:5px 14px;
    font-family:'Open Sans',sans-serif; font-size:10px; font-weight:600;
    letter-spacing:1px; text-transform:uppercase; color:#c9a349;
    text-decoration:none; transition:all .2s; cursor:pointer;
}
div.navibutton a:hover, .navibutton a:hover {
    background:linear-gradient(180deg,#2a2410,#1e1a0a);
    border-color:#c9a349; color:#e8c870; text-decoration:none;
}

/* ── BigButton ── */
.InnerTableButtonRow       { width:100%; padding:1px 0 4px 1px; border:0; }
.InnerTableButtonRow td    { padding-right:4px; }
.BigButton                 { position:relative; width:135px; height:25px; z-index:10; }
.BigButtonOver             { position:absolute; top:0; left:0; width:137px; height:25px; visibility:hidden; z-index:15; }
.ButtonText                { position:absolute; top:0; left:0; height:25px; width:135px; z-index:20; cursor:pointer; font-family:'Open Sans',sans-serif; font-size:10px; font-weight:600; color:#c9a349; text-transform:uppercase; letter-spacing:1px; }
.TopButtonContainer        { position:relative; right:4px; top:4px; z-index:60; background:transparent; }
* html .TopButtonContainer { right:27px; }
.TopButtonContainer .TopButton { position:absolute; right:0; z-index:55; transition:all .3s; animation:topBtnFloat 2s infinite ease-in-out; }
.TopButtonContainer .TopButton:hover { transform:translateY(-2px); }
@keyframes topBtnFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-4px); } }

/* ============================================================
   SMALLBOX — messages / errors
   ============================================================ */
.SmallBox { position:relative; }
.SmallBox .ErrorMessage { font-size:11pt; position:relative; color:#e06060; background:#140808; padding:10px 10px 10px 44px; border:1px solid #601010; border-left:3px solid #e04040; border-radius:2px; line-height:1.5; }
.SmallBox .Message      { font-size:10pt; position:relative; color:#80c090; background:#080e0a; padding:10px; border:1px solid #1a4020; border-left:3px solid #40a060; border-radius:2px; }
.SmallBox .ErrorMessage ul { padding-left:15px; }
.SmallBox .BoxFrameHorizontal      { position:relative; height:4px; }
.SmallBox .BoxFrameVerticalRight   { position:absolute; right:0; top:0; width:3px; background-repeat:repeat-y; height:100%; }
.SmallBox .BoxFrameVerticalLeft    { position:absolute; left:0; top:0; width:3px; background-repeat:repeat-y; }
.SmallBox .MessageContainer        { position:relative; }
.SmallBox .BoxFrameEdgeLeftTop     { position:absolute; left:-1px; top:-1px; width:5px; height:5px; }
.SmallBox .BoxFrameEdgeLeftBottom  { position:absolute; left:-1px; bottom:-1px; width:5px; height:5px; }
.SmallBox .BoxFrameEdgeRightTop    { position:absolute; right:-1px; top:-1px; width:5px; height:5px; }
.SmallBox .BoxFrameEdgeRightBottom { position:absolute; right:-1px; bottom:-1px; width:5px; height:5px; }
.SmallBox .AttentionSign           { position:absolute; top:3px; left:8px; width:30px; height:26px; }
