/* Semantic Copyright — stylesheet
   Reproduces the look of the original (2012) Joomla "ja_purity" template:
   centred fixed width, left Main Menu module with a green title bar,
   #006699 links, thin grey borders, Arial. Intentionally plain/period. */

* { margin: 0; padding: 0; }
html { background: #f2f2f2; }
body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: #333333;
    background: #f2f2f2;
}
a         { color: #006699; text-decoration: none; }
a:hover   { text-decoration: underline; }
a:visited { color: #005580; }
img { border: 0; }

#wrap {
    width: 950px;
    margin: 12px auto;
    background: #ffffff;
    border: 1px solid #cccccc;
}

/* ---- Header ---- */
#header {
    overflow: hidden;
    padding: 14px 18px 10px 18px;
    border-bottom: 3px solid #7ba566;
    background: #ffffff;
}
#logo { float: left; }
#logo .brand {
    font-size: 30px;
    font-weight: bold;
    color: #333333;
    letter-spacing: -1px;
}
#logo .brand span { color: #7ba566; }
#logo .tagline { font-size: 11px; color: #888888; margin-top: 2px; }
#langbar { float: right; font-size: 11px; color: #999999; margin-top: 6px; }
#langbar a { padding: 0 3px; }
#langbar .cur { color: #333333; font-weight: bold; }

/* ---- Top navigation strip ---- */
#topnav {
    clear: both;
    background: #333333;
    border-top: 1px solid #ffffff;
    padding: 0 12px;
    overflow: hidden;
}
#topnav ul { list-style: none; }
#topnav li { float: left; }
#topnav a {
    display: block;
    color: #cccccc;
    padding: 7px 11px;
    font-size: 12px;
    border-right: 1px solid #4a4a4a;
}
#topnav a:hover, #topnav a.active { background: #7ba566; color: #ffffff; text-decoration: none; }

/* ---- Body columns ---- */
#main { overflow: hidden; padding: 16px; }
#sidebar { float: left; width: 200px; }
#content { margin-left: 222px; min-height: 360px; }

/* ---- Modules (sidebar boxes) ---- */
.module { margin-bottom: 18px; border: 1px solid #cccccc; background: #f6f6f6; }
.module h3 {
    background: #7ba566;
    color: #ffffff;
    font-size: 12px;
    text-transform: uppercase;
    padding: 5px 8px;
    letter-spacing: 0.5px;
}
.module .body { padding: 8px; }

/* Main Menu module */
.mainmenu { list-style: none; }
.mainmenu li { border-bottom: 1px solid #e2e2e2; }
.mainmenu > li > a {
    display: block;
    padding: 5px 8px;
    color: #006699;
    font-weight: bold;
    font-size: 12px;
}
.mainmenu a:hover { background: #ececec; text-decoration: none; }
.mainmenu ul { list-style: none; }
.mainmenu ul li { border-bottom: 0; }
.mainmenu ul a { display: block; padding: 3px 8px 3px 20px; font-weight: normal; font-size: 12px; color: #444444; }
.mainmenu .active > a { color: #bf0000; }

/* Partner logos module */
.partners img { display: block; margin: 0 auto 8px auto; }

/* ---- Content ---- */
#content h1 {
    font-size: 22px;
    color: #333333;
    border-bottom: 1px solid #cccccc;
    padding-bottom: 6px;
    margin-bottom: 12px;
    font-weight: bold;
}
#content h2 { font-size: 17px; color: #5a7f49; margin: 18px 0 6px 0; }
#content h3 { font-size: 14px; color: #333333; margin: 14px 0 4px 0; }
#content p  { margin: 0 0 11px 0; text-align: justify; }
#content ul, #content ol { margin: 0 0 11px 24px; }
#content li { margin-bottom: 3px; }

.lead { background: #f6f6f6; border: 1px solid #e2e2e2; padding: 10px 12px; }

/* News items */
.newsitem { border-bottom: 1px dotted #cccccc; padding-bottom: 12px; margin-bottom: 14px; }
.newsitem h2 { margin-top: 0; }
.newsdate { color: #999999; font-size: 11px; font-style: italic; margin-bottom: 4px; }

/* Tables (work + certificate data) */
table.data { border-collapse: collapse; width: 100%; margin: 4px 0 14px 0; font-size: 12px; }
table.data th, table.data td { border: 1px solid #d6d6d6; padding: 5px 8px; text-align: left; vertical-align: top; }
table.data th { background: #f0f0f0; font-weight: bold; width: 220px; white-space: nowrap; }
table.data.cols th { width: auto; background: #f0f0f0; }

.hashval { font-family: "Courier New", monospace; font-size: 11px; word-break: break-all; color: #444444; }

/* Team grid */
.team { overflow: hidden; }
.member { float: left; width: 150px; margin: 0 12px 16px 0; text-align: center; font-size: 11px; }
.member .ph { width: 90px; height: 90px; margin: 0 auto 5px; background: #ececec; border: 1px solid #cccccc; line-height: 90px; color: #aaaaaa; font-size: 28px; }
.member .nm { font-weight: bold; color: #333333; font-size: 12px; }
.member .ro { color: #666666; }

/* Buttons / actions */
.btn, button.btn, input.btn {
    display: inline-block; background: #006699; color: #ffffff !important;
    padding: 5px 12px; border: 1px solid #005580; font-size: 12px; cursor: pointer;
    text-decoration: none;
}
.btn:hover { background: #007dbb; text-decoration: none; }
.btn.grey { background: #777; border-color: #666; }
.actions { margin: 14px 0; padding: 10px; background: #f6f6f6; border: 1px solid #e2e2e2; }
.actions a, .actions button { margin-right: 8px; }

.notice { background: #ffffcc; border: 1px solid #e8e29a; padding: 8px 10px; margin: 10px 0; font-size: 12px; }
.error  { background: #ffecec; border: 1px solid #f0b0b0; padding: 8px 10px; margin: 10px 0; color: #bf0000; }
.ok     { background: #eef7e8; border: 1px solid #b9d8a4; padding: 8px 10px; margin: 10px 0; }

/* Registry banner on work page */
.regbanner { background: #f6f6f6; border: 1px solid #cccccc; padding: 10px 12px; overflow: hidden; margin-bottom: 14px; }
.regbanner .thumb { float: left; margin-right: 14px; }
.regbanner .thumb img { border: 1px solid #cccccc; max-width: 140px; max-height: 140px; }
.regbanner .num { font-size: 12px; color: #666; }
.regbanner .num strong { font-size: 15px; color: #333; }

/* ---- Footer ---- */
#footer {
    clear: both;
    background: #333333;
    color: #cccccc;
    font-size: 11px;
    padding: 14px 18px;
    line-height: 1.6;
}
#footer a { color: #ffffff; }
#footer .small { color: #999999; }

/* ---- Forms (admin) ---- */
.form-row { margin-bottom: 10px; }
.form-row label { display: block; font-weight: bold; font-size: 12px; margin-bottom: 2px; }
.form-row .hint { font-weight: normal; color: #888; font-size: 11px; }
input[type=text], input[type=password], input[type=number], input[type=datetime-local],
textarea, select {
    width: 360px; max-width: 100%; padding: 4px 6px; border: 1px solid #bbbbbb;
    font-family: Arial, sans-serif; font-size: 13px;
}
textarea { height: 60px; }
input[type=file] { font-size: 12px; }
fieldset { border: 1px solid #cccccc; padding: 12px; margin-bottom: 16px; }
legend { font-weight: bold; color: #5a7f49; padding: 0 6px; }
.adminbar { background: #333; color: #ccc; padding: 7px 16px; font-size: 12px; overflow: hidden; }
.adminbar a { color: #fff; }
.adminbar .right { float: right; }

/* ============ PRINT (certificate documents) ============ */
.doc { display: none; }
@media screen {
    .doc.preview { display: block; max-width: 800px; margin: 0 auto; }
}
/* ===== Registration document — replicates the reference layout ===== */
.cert {
    position: relative; background: #fff; color: #2a2a2a;
    padding: 30px 24px 0; font-size: 12px; line-height: 1.5;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.cert .doctitle {
    text-align: center; font-family: 'SC Display','Arial Black','Helvetica Neue',sans-serif; font-weight: 900;
    font-size: 32px; letter-spacing: -0.5px; text-transform: uppercase; color: #141414; margin: 2px 0 6px;
}
.cert .logo { text-align: center; position: relative; z-index: 3; margin-bottom: -34px; }
.cert .logo svg { display: inline-block; }
.cert .panel {
    background: #ededed; border-radius: 16px; overflow: hidden; padding: 44px 30px 0;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.cert .ident { overflow: hidden; margin: 4px 0 10px; }
.cert .ident .thumb { float: left; width: 118px; margin-right: 18px; }
.cert .ident .thumb img { width: 118px; height: auto; border-radius: 8px; display: block; }
.cert .ident .meta { overflow: hidden; font-size: 11px; color: #555; line-height: 1.55; }
.cert .ident .meta .cid { font-weight: bold; color: #222; font-size: 12px; }
.cert .hereby { text-align: center; color: var(--red,#ed1c24); font-weight: 900; font-size: 26px;
    font-family: 'SC Display','Arial Black','Helvetica Neue',sans-serif; letter-spacing: 0.5px; margin: 16px 0 14px; text-transform: uppercase; }
.cert .worktitle { text-align: center; font-size: 22px; font-weight: bold; color: var(--red,#ed1c24); margin: 6px 0 12px; }
.cert .proofid { text-align: center; font-family:'SC Display','Arial Black','Helvetica Neue',sans-serif; font-weight: 900;
    color: var(--red,#ed1c24); font-size: 17px; letter-spacing: 0.5px; margin: 12px 0 6px; }
.cert .ctr { text-align: center; }
.cert .sect { position: relative; margin: 14px 0; }
.cert .sno { position: absolute; left: -4px; top: -8px; width: 84px; text-align: center;
    font-family: 'SC Display','Arial Black','Helvetica Neue',sans-serif; font-weight: 900; font-size: 80px; line-height: 1; color: #141414; }
.cert .scard { margin-left: 92px; background: #fff; border-radius: 14px; padding: 15px 22px; overflow: hidden;
    -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.cert .scard p { margin: 0 0 7px; }
.cert .label { font-weight: bold; color: #222; }
.cert .scard table.data { margin: 6px 0; }
.cert .scard table.data th { background: #f4f4f4; }
.cert .hashval { font-family: "Courier New",monospace; font-size: 10.5px; word-break: break-all; color: #555; }
.cert .qrbox { float: left; margin-right: 16px; }
.cert .qrbox svg { width: 82px; height: 82px; display: block; }
.cert .seal { text-align: right; margin: 6px 30px 0 0; }
.cert .footerbar { margin: 26px -30px 0; padding: 18px 10px 16px; background: var(--red,#ed1c24); text-align: center;
    -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.cert .footerbar .wm { color: #ffffff; font-size: 24px; letter-spacing: -0.3px; line-height: 1; }
.cert .footerbar .wm .lt { font-weight: 500; }
.cert .footerbar .wm .bd { font-weight: 800; }
.cert .footerbar .wm .wmk { display: inline-block; vertical-align: -2px; margin-left: 5px; }
.cert .footerbar .tag { color: rgba(255,255,255,.88); font-size: 10px; letter-spacing: 1px; margin-top: 3px; }
.cert .vcode-vert { position: absolute; right: 3px; top: 130px; writing-mode: vertical-rl;
    font-size: 9px; color: #9a9a9a; letter-spacing: 0.4px; }
.cert .vcode-vert b { color: var(--red,#ed1c24); }
.cert .tslist { margin: 4px 0 8px 20px; padding: 0; }
.cert .tslist li { margin: 2px 0; }
.cert .lnk { color: var(--red,#ed1c24); word-break: break-all; }
.cert .scmark { vertical-align: middle; }

@media print {
    body { background: #fff; }
    #wrap { border: 0; width: auto; margin: 0; }
    #header, #topnav, #sidebar, #footer, .actions, .adminbar, .noprint { display: none !important; }
    #content { margin: 0; }
    .doc { display: block; }
    .doc.preview { max-width: none; }
    .cert { border: 0; padding: 0; }
    .page-break { page-break-before: always; }
}
