/* general print reset & rules */

* { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
a, a:visited { text-decoration: underline; }
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
thead { display: table-header-group; }
tr, img { page-break-inside: avoid; }
img { max-width: 100% !important; }
@page { margin: 0.5cm; }
p, h2, h3 { orphans: 3; widows: 3; }
h2, h3 { page-break-after: avoid; }

/* print layout */

html, body {
    overflow: hidden !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
}

html {
    /* prevent overlap with date/time/url content added by browser */
    margin: 0.7cm 0 !important;
}

body, table {
    font-family: "Arial", "Helvetica", sans-serif;
    font-size: 10pt !important;
}

header, #left-block, #main-menu, #message-list, #message-list table.list, #message-view-header input, #top-menu,
button, select, ul.options, a.button, #frame-menu, #form-search-mail, #form-search-contacts, #form-search-web,
a.btn-show-header, a.btn-hide-header, .hsplitbar, #message-loader, .thfloat-table, div.actions, div#show-links,
div.resize-splitter {
    display: none !important;
}

#footer {
    clear: both;
}

#footer * {
    display: none !important;
}

#main, #container, #center-wrapper, #right-block, #message-view, #message-scroll-wrapper, #contact-list, #contact-list table, #contact-list tbody {
    display: block !important;
    position: relative !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;    
}

#contact-list table {
    page-break-inside: auto;
    page-break-after: auto;
}

#contact-list table thead {
    display: none !important;
}

#contact-list table tbody tr {
    display: block;
    position: relative;
    border: 0.5mm solid #000;
    padding: 2mm;
    margin: 0 2mm 2mm 0;
    float: left;
    width: 75mm;
    height: auto;
    height: 45mm;
    overflow: hidden;
    zoom: 1;
    page-break-inside: avoid;
    page-break-after: auto;
    font-size: 9pt;
}

#contact-list table tbody td {
    display: block !important;
    width: 100% !important;
    clear: left !important;
    page-break-inside: avoid !important;
    padding: 0 !important;
    margin: 0 !important;
    zoom: 1;
}

#contact-list table tbody td span.ellipsis_text {
    display: block !important;
    position: relative !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    word-wrap: break-word;
    page-break-inside: avoid !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    zoom: 1;
}

#contact-list table tbody td span.contact-name,
#contact-list table tbody td span.contact-title,
#contact-list table tbody td span.contact-company {
    display: block !important;
    width: auto !important;
    height: auto !important;
    clear: both !important;
    position: relative !important;
    float: none !important;
    padding-bottom: 1mm !important;
    zoom: 1;
}

#contact-list table tbody td span.contact-name {
    font-weight: bold;
}

#contact-list table tbody td span.contact-email-spacer {
    display: block !important;
    position: relative;
    height: 2mm;
    width: 25%;
    clear: both;
    float: none !important;
    zoom: 1;
}

#contact-list table tbody td span.contact-email-label,
#contact-list table tbody td span.contact-phone-label,
#contact-list table tbody td span.contact-website-label {
    clear: left !important;
    display: block !important;
    position: relative;
    float: left;
    width: 20% !important;
    height: auto;
    margin: 0 0 1mm 0 !important;
    zoom: 1;
}

#contact-list table tbody td span.contact-email,
#contact-list table tbody td span.contact-phone,
#contact-list table tbody td span.contact-website {
    display: block !important;
    position: relative;
    float: left;
    width: 75%;
    clear: right !important;
    margin: 0 0 1mm 0 !important;
    word-wrap: break-word !important;
    overflow: visible !important;
    zoom: 1;
}

/* hide group, pgp key, sign, encrypt fields */
.print-hidden, .print-hidden * {
    display: none !important;
    position: absolute;
    width: auto;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.print-invisible, .print-invisible * {
    visibility: hidden;
}

.print-show, .print-show * {
    visibility: visible;
}

.print-section {
    position: static !important;
    left: 1cm !important;
    top: 3cm !important;
}

#dialog div.inner, div.dialog div.inner {
    box-shadow: 0;
}

#dialog div.clearfix {
    display: block !important;
    clear: both !important;
}

#simplemodal-container {
    position: static !important;
}

.print-invisible #container {
    display: none !important;
}
#simplemodal-overlay {
    display: none !important;
}
