html, body { margin: 0; padding: 0; }
    body {
      background: #d8d8d8;
      color: #111;
      font: 11px Verdana, Arial, Helvetica, sans-serif;
    }
    a { color: #000080; text-decoration: underline; }
    a:visited { color: #551a8b; }
    a:hover { color: #ff0000; }
    #page {
      width: 760px;
      margin: 12px auto 28px;
      background: #fff;
      border: 1px solid #888;
    }
    .tiny { font-size: 10px; }
    .micro { font-size: 9px; }
    .muted { color: #555; }
    .right { text-align: right; }
    .center { text-align: center; }

    .top-logo { width: 100%; border-collapse: collapse; table-layout: fixed; }
    .top-logo td { vertical-align: middle; }
    .brand-cell { width: 290px; height: 67px; padding: 6px 12px; border-right: 1px solid #aaa; }
    .brand {
      color: #b40000;
      font: bold 35px Georgia, "Times New Roman", serif;
      letter-spacing: -2px;
      line-height: 30px;
    }
    .brand small { display: block; color: #333; font: 10px Verdana, Arial, sans-serif; letter-spacing: 0; }
    .ad-cell { height: 67px; padding: 0 12px; color: #777; text-align: right; vertical-align: top !important; }
    .ad-line { display: block; margin-top: 7px; font: 10px "Times New Roman", serif; }
    .ad-box { height: 28px; margin-top: 7px; border: 1px solid #ddd; background: #fafafa; }

    .portal-line { width: 100%; border-collapse: collapse; background: #eee; border-top: 1px solid #aaa; border-bottom: 1px solid #aaa; }
    .portal-line td { padding: 4px 10px; vertical-align: top; }
    .portal-line .today { width: 235px; }
    .portal-line ul { margin: 0; padding-left: 18px; }

    .layout { width: 100%; border-collapse: collapse; table-layout: fixed; }
    .sidebar { width: 145px; padding: 8px 9px 20px; border-right: 1px solid #aaa; vertical-align: top; }
    .main { padding: 8px 10px 30px; vertical-align: top; }
    .side-title, .bar {
      margin: 0 0 6px;
      padding: 3px 7px;
      background: #d7d7d7;
      border-top: 1px solid #aaa;
      border-bottom: 1px solid #aaa;
      color: #222;
      font: bold 12px "Times New Roman", serif;
    }
    .side-block { margin-bottom: 16px; }
    .side-links { margin: 0 0 0 8px; padding: 0; list-style: none; line-height: 1.55; }
    .side-rule { border: 0; border-top: 1px solid #bbb; margin: 8px 0; }
    .search-box { width: 112px; height: 15px; border: 1px solid #aaa; }
    .search-submit { width: 20px; height: 20px; padding: 0; }
    .button88 { display: block; width: 88px; height: 31px; margin: 7px auto; border: 1px solid #555; background: #e7e7e7; color: #003399; font: bold 10px Arial; text-align: center; line-height: 15px; text-decoration: none; }
    .button88 b { display: block; background: #003399; color: #fff; font-size: 9px; }
    .side-note { border: 1px solid #aaa; padding: 5px; background: #f7f7f7; line-height: 1.35; }

    .crumbs { margin: 0 0 8px; color: #666; font-size: 10px; }
    .crumbs a { color: #555; }
    .main-title { margin: 0 0 8px; padding: 4px 10px; background: #ddd; border: 1px solid #bbb; font: bold 13px Arial, sans-serif; }
    .news-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
    .news-table td { padding: 7px 6px; border-bottom: 1px solid #ccc; vertical-align: top; }
    .news-image { width: 184px; }
    .news-image img { display: block; width: 176px; height: 132px; padding: 2px; border: 1px solid #888; object-fit: cover; object-position: center 45%; }
    .headline { margin-bottom: 3px; font: bold 14px "Times New Roman", serif; }
    .headline a { color: #000080; }
    .lead { line-height: 1.35; }
    .date { color: #777; font-size: 10px; }
    .more { display: inline-block; margin-top: 4px; font-size: 10px; }

    .subnews { width: 100%; border-collapse: collapse; margin-top: 7px; }
    .subnews td { padding: 5px; border-bottom: 1px dotted #aaa; vertical-align: top; }
    .subnews .icon { width: 64px; }
    .fake-icon { width: 56px; height: 42px; border: 1px solid #999; background: #ecec70; color: #333; font: bold 9px "Times New Roman"; text-align: center; line-height: 42px; }
    .fake-icon.blue { background: #9fd3e5; }
    .fake-icon.gray { background: #ccc; }
    .subhead { font: bold 12px "Times New Roman", serif; }

    .special-intro { margin: 0 0 8px; padding: 6px 8px; border: 1px solid #bbb; background: #f7f7f7; line-height: 1.35; }
    .dispatches { width: 100%; border-collapse: collapse; table-layout: fixed; }
    .dispatches td { padding: 7px 6px; border-bottom: 1px dotted #aaa; vertical-align: top; }
    .dispatch-photo { width: 166px; }
    .dispatch-photo img { display: block; width: 150px; height: 104px; padding: 2px; border: 1px solid #888; background: #fff; object-fit: cover; }
    .dispatch-photo img.tall { object-position: center 20%; }
    .dispatches .headline { font-size: 13px; }
    .dispatches p { margin: 4px 0 0; line-height: 1.35; }
    .dispatch-tag { display: inline-block; margin-top: 4px; padding: 1px 4px; border: 1px solid #aaa; background: #eee; color: #555; font-size: 9px; }
    .report-gallery { width: 100%; border-collapse: collapse; table-layout: fixed; }
    .report-gallery td { width: 33.33%; padding: 6px; border: 1px solid #ccc; vertical-align: top; }
    .report-gallery img { display: block; width: 100%; height: 118px; border: 1px solid #888; object-fit: cover; }
    .report-gallery .caption { margin-top: 4px; font: bold 11px "Times New Roman", serif; }
    .quote-box { margin: 8px 0; padding: 7px; border: 1px solid #999; background: #ffffcc; font: italic 12px "Times New Roman", serif; }

    .two-col { width: 100%; border-collapse: collapse; margin-top: 10px; table-layout: fixed; }
    .two-col td { width: 50%; padding: 7px; border: 1px solid #ccc; vertical-align: top; }
    .photo-mini { width: 100%; height: 108px; object-fit: cover; border: 1px solid #888; }
    .photo-caption { margin-top: 3px; font-size: 10px; }
    .weather { width: 100%; border-collapse: collapse; font-size: 10px; }
    .weather td, .weather th { padding: 3px 4px; border: 1px solid #bbb; text-align: left; }
    .weather th { background: #e9e9e9; }
    .weather .sun { color: #a45500; font-weight: bold; }

    .guest { width: 100%; border-collapse: collapse; }
    .guest td { padding: 3px 4px; vertical-align: top; }
    .guest input, .guest textarea { width: 95%; border: 1px solid #999; font: 11px Arial; }
    .guest textarea { height: 48px; }
    .guest button { border: 1px solid #666; background: #e5e5e5; font: 11px Arial; padding: 2px 10px; }
    #guest-response { min-height: 14px; color: #003399; }

    .blink { animation: blink 1.4s steps(2, start) infinite; }
    @keyframes blink { 50% { color: #ff0000; } }
    .footer { padding: 8px 10px; border-top: 1px solid #aaa; background: #eee; color: #555; font-size: 10px; }
    .counter { display: inline-block; padding: 1px 4px; border: 1px solid #777; background: #111; color: #0f0; font: 10px "Courier New"; }

    @media (max-width: 790px) {
      #page { width: calc(100% - 14px); margin-top: 6px; }
      .layout, .layout tbody, .layout tr, .layout td { display: block; width: auto; }
      .sidebar { border-right: 0; border-bottom: 1px solid #aaa; }
      .sidebar .side-block { display: inline-block; width: 30%; min-width: 145px; vertical-align: top; margin-right: 8px; }
      .brand-cell { width: 40%; }
      .news-image { width: 160px; }
      .news-image img { width: 150px; }
    }
    @media (max-width: 510px) {
      .portal-line .today { width: auto; }
      .portal-line td { display: block; }
      .brand { font-size: 27px; }
      .brand-cell { width: 45%; }
      .ad-cell { display: none; }
      .news-table, .news-table tbody, .news-table tr, .news-table td { display: block; width: auto; }
      .news-image { width: auto; }
      .news-image img { width: 176px; }
      .two-col, .two-col tbody, .two-col tr, .two-col td { display: block; width: auto; }
    }

/* Маленькие иконки портала */
.portal-icon { display:inline-block; width:18px; height:16px; margin-right:3px; border:1px solid #666; background:#ecec70; color:#000; font:bold 9px "Times New Roman",serif; line-height:16px; text-align:center; vertical-align:middle; }
.portal-icon.blue { background:#9fd3e5; }
.portal-icon.red { background:#e8a0a0; }
.portal-icon.green { background:#aed9a0; }
.page-lead { padding:6px 8px; border:1px solid #bbb; background:#f7f7f7; line-height:1.35; }
.stat-table { width:100%; border-collapse:collapse; font-size:10px; }
.stat-table td,.stat-table th { padding:3px 4px; border:1px solid #bbb; }
.stat-table th { background:#e9e9e9; text-align:left; }
.page-list { margin: 6px 0 10px 24px; padding: 0; line-height: 1.55; }
.page-list li { margin-bottom: 3px; }
.click-row, .clickable-card, [data-href] { cursor: pointer; }
.click-row:hover td, .clickable-card:hover, [data-href]:hover { background: #ffffe8; }
.click-row:focus, .clickable-card:focus, [data-href]:focus { outline: 1px dotted #000080; outline-offset: -2px; }
.section-link { display: block; color: inherit; text-decoration: none; }
.section-link:hover { color: #000080; text-decoration: underline; }
