/**
 * PRINT
 * 
 * Contains overrides and fixes for print.
 */

/* General/Config/Display
---------------------------------------------------------*/

:root body {
    --jor-horizontal-content-padding: 0;
    --jor-main-content-padding-bottom: 0;
    --jor-main-content-padding-top: 0;
}

@page {
    margin: 1.2cm 1cm;
}

/* Typografi
---------------------------------------------------------*/

html {
    font-size: 12pt;
}

body,
.sv-theme-base {
    font-family: "tt commons pro", Arial, Helvetica, sans-serif !important;
    color: #000 !important;
    background-color: #fff !important;
    line-height: 1.35 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

body,
* {
    background-color: transparent !important;
}

body * {
    font-family: inherit !important;
}

h1,
.heading {
    font-size: 18pt !important;
    line-height: 1.15 !important;
}

h2,
.portlet-section-header,
.sv-portlet-table-caption,
.subheading {
    font-size: 15pt !important;
    line-height: 1.2 !important;
}

h3,
.portlet-section-subheader,
.subheading3 {
    font-size: 13pt !important;
    line-height: 1.25 !important;
}

h4,
.sv-font-rubrik-4,
.sv-font-rubrik-4-h4 {
    font-size: 12pt !important;
    line-height: 1.3 !important;
}

h5,
.sv-font-rubrik-5,
.sv-font-rubrik-5-h5 {
    font-size: 11pt !important;
    line-height: 1.3 !important;
}

h6,
.sv-font-rubrik-6 {
    font-size: 10pt !important;
    line-height: 1.3 !important;
}

p,
li,
dt,
dd,
th,
td,
.normal,
a {
    font-size: 11pt !important;
    line-height: 1.35 !important;
}

.sv-font-ingress,
.env-text-summary-01 {
    font-size: 12pt !important;
    line-height: 1.4 !important;
}

.sv-font-brodtext-liten {
    font-size: 9pt !important;
    line-height: 1.25 !important;
}

.sv-font-brodtext-mini {
    font-size: 8pt !important;
    line-height: 1.25 !important;
}

.tableheading,
.sv-portlet-table-caption {
    font-size: 11pt !important;
    line-height: 1.2 !important;
}

.sv-portlet-image-caption,
.env-text-caption-01,
.sv-image-caption {
    font-size: 9pt !important;
    line-height: 1.25 !important;
}

/* Font Awesome
---------------------------------------------------------*/

.fa,
.fa-solid,
.fa-regular,
.fa-brands {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.fa::before {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

/* Buttons / badges
---------------------------------------------------------*/

.env-badge,
.env-button,
button.jor-button,
a.jor-button,
.jor-button a,
button.jor-button--compact,
a.jor-button--compact,
.jor-button--compact a,
button.jor-button--primary,
a.jor-button--primary,
.jor-button--primary a {
    background-color: transparent !important;
    border: 1px solid #000 !important;
    color: #000 !important;
    box-shadow: none !important;
}

/* Hide in print
---------------------------------------------------------*/

.jor-hide-on-print,
.jor-theme-header,
.jor-theme-footer,
.sv-jor-table-of-contents,
.sv-newslist__gallery-item__image,
.jor-page-header-toplinks,
.jor-page-header-main-nav,
.jor-breadcrumb-wrapper,
.sv-consid-feedback,
.feedback,
.jor-theme-page-tools > div:not(.sv-jor-theme-page-meta),
.sv-marketplace-sitevision-cookie-consent,
.jor-print-link,
.con-accordion-close-button,
footer {
    display: none !important;
}

/* Template / printable page
---------------------------------------------------------*/

.sv-template-portlet {
    display: block !important;
}

.jor-print-templet-wrapper {
    display: block !important;
    overflow: visible !important;
    margin: 10mm 15mm 20mm 15mm;
}

main {
    max-width: 600px;
}

/* Header brand
---------------------------------------------------------*/

.jor-header-brand {
    margin-bottom: 0.8rem;
}

.jor-header-brand__logo-link img {
    max-width: 120px;
}

.jor-header-brand__subsite-link {
    font-size: 0.8rem;
}

/* Logotype print
---------------------------------------------------------*/

.jor-theme-logotype {
    display: inline-block !important;
    max-width: 120px !important;
}

.jor-theme-logotype img,
.jor-print-templet-wrapper img.jor-logotype-head {
    display: block !important;
    max-width: 120px !important;
    width: 100% !important;
    height: auto !important;
    margin-bottom: 8mm;
}

/* Page meta
---------------------------------------------------------*/

.jor-theme-page-meta__item {
    padding: 0;
}

.jor-theme-page-meta__item dt.jor-theme-page-meta__term,
.jor-theme-page-meta__item dd.jor-theme-page-meta__description {
    font-size: 0.8rem !important;
    font-weight: normal;
    display: flex;
    align-items: center;
}

/* Layout fixes
---------------------------------------------------------*/

.jor-sticky-container {
    height: auto !important;
}

.jor-theme-teaser-cards,
.sv-marketplace-sitevision-newslist .sv-newslist-gallery {
    display: block !important;
}

.sv-template-layout {
    min-width: 100% !important;
    box-sizing: border-box !important;
    left: 0 !important;
    right: 0 !important;
}

.jor-content-margin {
    min-width: fit-content;
}

.jor-page-content-narrow .env-breadcrumb,
.jor-page-content-narrow .jor-articel-date-and-time,
.jor-page-content-narrow .heading,
.jor-page-content-narrow .sv-font-ingress,
.jor-page-content-narrow .subheading,
.jor-page-content-narrow .subheading3,
.jor-page-content-narrow .sv-font-rubrik-4,
.jor-page-content-narrow .sv-font-rubrik-5,
.jor-page-content-narrow .sv-font-rubrik-6,
.jor-page-content-narrow .normal {
    margin-left: 0 !important;
}

/* Grid fixes
---------------------------------------------------------*/

[class*="sv-push"],
[class*="sv-pull"],
*[class*="sv-push-"],
*[class*="sv-pull-"] {
    left: 0 !important;
    right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Collapse
---------------------------------------------------------*/

.env-collapse,
.sv-collapsible-content .env-collapse,
.con-decorationAccordion-content {
    display: block !important;
}

.sv-collapsible-content {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    margin-bottom: 4mm !important;
}

/* Collapse - rubrik med vänsterlinje */
.sv-collapsible-content > h2,
.sv-collapsible-content > h3 {
    border: 0 !important;
    border-left: solid 1mm #ccc !important;
    padding: 1mm 0 1mm 4mm !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    color: #000 !important;
}

/* Collapse - rubriklänk */
.sv-collapsible-content .env-collapse-header,
.sv-collapsible-content a.env-button--link,
.sv-collapsible-content a.env-collapse-header,
.jor-print-templet-wrapper .sv-collapsible-content a.env-button.env-button--link {
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    color: #000 !important;
    pointer-events: none !important;
    user-select: text !important;
}

/* Collapse - alltid öppen */
.sv-collapsible-content .env-collapse {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
}

/* Collapse - ta bort ikoner */
.sv-collapsible-content .env-collapse-header--icons,
.sv-collapsible-content .env-collapse-header--icons::before,
.sv-collapsible-content .env-collapse-header--icons::after,
.sv-collapsible-content .env-collapse-header::before,
.sv-collapsible-content .env-collapse-header::after {
    display: none !important;
    content: none !important;
    background: none !important;
    border: 0 !important;
}

/* Collapse - innehåll med samma vänsterlinje som rubriken */
.sv-collapsible-content > .env-collapse,
.jor-print-templet-wrapper .sv-collapsible-content > .env-collapse,
.jor-print-templet-wrapper .con-decorationAccordion-content {
    border: 0 !important;
    border-left: solid 1mm #ccc !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    padding: 2mm 2mm 1mm 4mm !important;
    margin: 0 0 3mm 0 !important;
}

/* Tar bort extra marginaler inne i collapse */
.sv-collapsible-content .sv-use-margins {
    margin: 0 !important;
}

/* Tables
---------------------------------------------------------*/

table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 12px !important;
    page-break-inside: avoid;
}

thead {
    display: table-header-group;
}

tr,
img {
    break-inside: avoid;
    page-break-inside: avoid;
}

th,
td {
    padding: 4px 8px !important;
    border: 0;
    font-size: 10pt !important;
    max-width: none !important;
    word-break: break-word;
}

table.sv-standard caption {
    font-size: 100% !important;
    line-height: 1.2 !important;
    margin-bottom: 1em;
}

.sv-text-portlet table.sv-standard caption {
    text-align: left !important;
    margin-bottom: 0.2em;
    border: none;
    color: #777 !important;
}

table.sv-standard tr {
    border-bottom: solid 1px #ccc;
}

.tablesorter-header-inner {
    hyphens: auto;
    width: 100px;
}

.sv-text-portlet table.sv-standard tr:nth-child(2n-1) td,
.sv-text-portlet table.sv-table-type-dubbla-rubriker tr:nth-child(2n-1) td {
    background-color: #fff !important;
}

.sv-tablesorter thead th.tablesorter-header {
    background-image: none !important;
}

table.sv-standard p,
table.sv-standard .normal,
.sv-linklist-portlet table.sv-standard th p,
.sv-blog-portlet table.sv-standard th p,
.sv-archive-portlet table.sv-standard th p,
.sv-text-portlet table.sv-standard th p,
.sv-text-portlet table.sv-standard th span,
.sv-text-portlet table.sv-standard td p,
.sv-text-portlet table.sv-standard td .normal,
.sv-text-portlet table.sv-standard td span {
    font-size: 9pt !important;
}

.sv-linklist-portlet table.sv-standard td,
.sv-linklist-portlet table.sv-standard th,
.sv-blog-portlet table.sv-standard td,
.sv-blog-portlet table.sv-standard th,
.sv-archive-portlet table.sv-standard td,
.sv-archive-portlet table.sv-standard th,
.sv-text-portlet table.sv-standard td,
.sv-text-portlet table.sv-standard th {
    padding: 0.15em !important;
}

div.sv-responsiveTable th *,
div.sv-responsiveTable td * {
    white-space: normal !important;
    word-break: break-word;
}

/* App fixes
---------------------------------------------------------*/

.jor-image-card {
    margin: 0 0 1rem !important;
}

.sv-marketplace-sitevision-newslist .sv-newslist-gallery > li {
    margin: 0 !important;
}

.jor-hero__image-top {
    flex-direction: column !important;
}

.jor-hero.jor-hero__image-top .jor-hero__image-wrapper {
    position: static !important;
}

.jor-hero.jor-hero__image-top .jor-hero__image-wrapper::after {
    display: none !important;
}

.jor-hero.jor-hero__image-top .jor-hero__content {
    padding: 0 !important;
    margin-top: 2rem !important;
}

.jor-hero.jor-hero__image-top .jor-hero__heading,
.jor-hero.jor-hero__image-top .jor-hero__text {
    color: #000 !important;
}

/* Information boxes / cards
---------------------------------------------------------*/

.con-info-card-wrapper {
    border: solid 0.5mm #ccc !important;
    box-shadow: none !important;
    margin: 0 !important;
}

.con-info-card-wrapper h2.con-info-card__subheading {
    color: #777 !important;
    font-size: 110% !important;
    line-height: 1.2 !important;
}

.jor-information-box {
    border: solid 0.5mm #ccc !important;
    padding: 1em !important;
}

.jor-information-box h2,
.jor-information-box .portlet-section-header,
.jor-information-box .sv-portlet-table-caption,
.jor-information-box .subheading,
.jor-information-box h3,
.jor-information-box .portlet-section-subheader,
.jor-information-box .subheading3,
.jor-information-box h4,
.jor-information-box .sv-font-rubrik-4,
.jor-information-box .sv-font-rubrik-4-h4,
.jor-information-box h5,
.jor-information-box .sv-font-rubrik-5,
.jor-information-box .sv-font-rubrik-5-h5,
.jor-information-box h6,
.jor-information-box .sv-font-rubrik-6 {
    margin-top: 0 !important;
}

/* Lists
---------------------------------------------------------*/

.sv-text-portlet-content p + ul.normal,
.sv-text-portlet-content p + ol.normal,
.sv-text-portlet-content p + ul.sv-font-ingress,
.sv-text-portlet-content p + ol.sv-font-ingress {
    margin-top: 0 !important;
}

.sv-text-portlet-content ul.normal li,
.sv-text-portlet-content ol.normal li,
.sv-text-portlet-content ul.sv-font-ingress li,
.sv-text-portlet-content ol.sv-font-ingress li {
    line-height: 1.2em !important;
}

/* Footer page link / QR
---------------------------------------------------------*/

.jor-footerpagelink-wrapper {
    margin-top: 2em;
    display: flex;
    border-top: solid 1px #ccc;
}

.jor-qrcode-canvas {
    margin-right: 1em;
    margin-top: 0.5em;
}

.jor-qrcode-canvas img {
    padding: 0.4em;
    width: 50px;
    border: solid 1px #000;
}

p.jor-qrcode-canvas-description {
    font-size: 70% !important;
    margin-top: 0.1em;
    border-top: solid 1px #ccc;
}

/*-------------------------------------------------------------
##
## Visas endast i utskriftsmodalen - Ej på printable-sidan
##
-------------------------------------------------------------*/

@media print {

    @page {
        margin: 1.2cm 1cm;
    }

    .sv-template-portlet {
        display: block !important;
    }

    body {
        background-color: #fff !important;
    }

    body * {
        font-family: inherit !important;
    }

    /* Tvinga Desktop-tabellen i print */
    table.sv-responsiveTable--stacked__largeOnly,
    .sv-responsiveTable--stacked__largeOnly {
        display: table !important;
    }

    /* Dölj mobil/stackad tabell i print */
    table.sv-responsiveTable--stacked__smallOnly,
    .sv-responsiveTable--stacked__smallOnly {
        display: none !important;
    }

    /* Collapse synlig och utan röd/extra border */
    .sv-collapsible-content .env-collapse,
    .con-decorationAccordion-content {
        display: block !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        border-top: 0 !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
        outline: 0 !important;
    }
}