    <div class="page grid" orientation="portrait" size="A4">
      <span class="falzmarke-oben">––</span>
      <span class="falzmarke-unten">––</span>
      <div class="seitenlogo">
        <img src="daten/logo_seite_dummy.svg" height="160px" alt="traeger_logo" />
      </div>
      <div class="header">
        <img class="logo" src="daten/top_dummy.svg" alt="Briefkopf" />
        <hr class="hr-rot hr" />
      </div>
      <div class="main">
        <div class="sidebar">
          <div class="sidebar-oben">
            Somewhere 12<br />12345 Nowhere
            <div class="voffset-1"></div>
            Telefon 0123 1412617<br />Telefax 0122 14214270<br />us@thisaddress.de<br />www.thisaddress.de
            <div class="voffset-1"></div>
            Bürozeiten:<br />Mo. und Do.<br />07:15 – 12:30 Uhr<br />13:30 – 15:30 Uhr<br />Di., Mi. und Fr.<br />07:15 – 13:30 Uhr
            <div class="voffset-1"></div>
            {(new Date().toLocaleDateString('de', {day: '2-digit', month: '2-digit', year: 'numeric'}))}<br />
            <slot name="kuerzel"></slot>
          </div>
          <div class="sidebar-unten">
            Important stuff:
            <div class="voffset-1"></div>
            <b>This here</b><br />Foo<br />Bar
            <div class="voffset-1"></div>
            <b>That</b><br />Hoo<br />Haaaaaaaaa<br />jOOOOOOOO<br />weeeeeee waaaa<br />wuuu
            <div class="voffset-1"></div>
            <b>gggggggg</b><br />wedwedwae wedw wdweewe
            <div class="voffset-1"></div>
            <b>wedwedwedwed</b><br />dwedwefffff/<br />Hewq)wedwef
            <div class="voffset-1"></div>
            <b>Weitere Informationen:</b><br />www.thisaddress.de
          </div>
        </div>
        <div class="links">
          <div class="absender">
            Me somewhere<br /><b>at this place</b>· Postfach 123 456 · 12345 Nowhere
          </div>
          <div class="anschrift">
            <slot name="anschrift"></slot>
          </div>
          <div class="anschreiben">
            <slot></slot>
          </div>
        </div>
      </div>
    </div>

<style>
.page {
  font-size: 1.2em;
  line-height: 1.5;
  font-weight: normal;
  font-family: "Tex Gyre Heros";
  color: #333;
  position: relative;
  padding: 0;
  display: block;
}
.grid {
  display: grid;
  align-content: stretch;
  grid-template-rows: 35mm auto;
  grid-template-areas:
    "header"
    "main";
}

.header {
  display: grid;
  grid-area: header;
  align-self: start;
  margin-left: 24.1mm;
  margin-right: 8.1mm;
  grid-template-columns: auto;
  grid-template-rows: auto;
  grid-template-areas:
    "logo"
    "hr";
}

.logo {
  justify-content: end;
  margin-top: 10mm;
  grid-area: logo;
  margin-left: auto;
  height: 20mm;
}

.hr {
  grid-area: hr;
  align-self: end;
}

.main {
  grid-area: main;
  align-content: stretch;
  display: grid;
  grid-template-columns: 2fr 1fr;
  height: 100%;
  grid-template-areas:
    "links sidebar";
}

.links {
  display: grid;
  grid-area: links;
  grid-template-rows: 10mm 40mm auto;
  margin-bottom: 10mm;
  grid-template-areas:
    "absender"
    "anschrift"
    "anschreiben";
}

.absender {
  grid-area: absender;
  font-size: 7.5pt;
  margin-left: 20mm;
}

.anschrift {
  grid-area: anschrift;
  font-size: 11pt;
  margin-left: 25mm;
}

.anschreiben {
  grid-area: anschreiben;
  font-size: 11pt;
  margin-left: 25mm;
  width: 115mm;
}

.sidebar {
  display: grid;
  margin-right: 8.1mm;
  justify-self: end;
  grid-area: sidebar;
  margin-bottom: 10mm;
  grid-template-rows: auto;
  grid-template-areas:
    "sidebar-oben"
    "sidebar-unten";
}

.sidebar-oben {
  grid-area: sidebar-oben;
  align-self: start;
}

.sidebar-unten {
  grid-area: sidebar-unten;
  align-self: end;
}

.flex-grid {
  display: flex;
}

.col {
  flex: 1;
}

.col-2 {
  flex: 2;
}

@import url(normalize.css);
@font-face {
  font-family: 'TeX Gyre Heros';
  src: url("texgyreheros-regular-webfont.woff") format("woff");
  font-style: normal;
}
@font-face {
  font-family: 'TeX Gyre Heros';
  src: url("texgyreheros-bold-webfont.woff") format("woff");
  font-style: normal;
  font-weight: bold;
}
@font-face {
  font-family: 'TeX Gyre Heros';
  src: url("texgyreheros-italic-webfont.woff") format("woff");
  font-style: italic;
}
@font-face {
  font-family: 'TeX Gyre Heros';
  src: url("texgyreheros-bolditalic-webfont.woff") format("woff");
  font-style: italic;
  font-weight: bold;
}

@media print {
  * {
    -webkit-print-color-adjust: exact;
  }

  .page {
    page-break-after: always;
    page-break-inside: avoid;
    margin: 0;
  }
}

/*
Da *named pages*, also z.B. @page a3landscape noch nicht von Chrome
unterstützt werden, gilt vorerst die Standard-Einstellung von A4 Portrait.
Um andere Formate zu erzeugen, muss die Größe in den svelte-Koponenten
als setup-Einstellung hinterlegt werden. Oder man verwendet ein besonderes CSS
mit der anderen Einstellung.
Dazu bitte ein @import 'nicht_a4_portrait.css' verwenden. Svelte ignoriert sonst
die in den <style> tags hinterlegten @... Anweisungen.
Link: https://www.w3.org/TR/css3-page/#using-named-pages
*/

.page[size="A4"][orientation="portrait"] {
  page: a4portrait;
  width: 210mm;
  height: 296.8mm;
}
@page a4portrait {
  margin: 0;
  size: A4 portrait;
}

.page[size="A4"][orientation="landscape"] {
  page: a4landscape;
  width: 296.8mm;
  height: 210mm;
}
@page a4landscape {
  margin: 0;
  size: A4 landscape;
}

.page[size="A3"][orientation="portrait"] {
  page: a3portrait;
  width: 296.8mm;
  height: 420mm;
}
@page a3portrait {
  margin: 0;
  size: A3 portrait;
}

.page[size="A3"][orientation="landscape"] {
  page: a3landscape;
  width: 420mm;
  height: 296.8mm;
}
@page a3landscape {
  margin: 0;
  size: A3 landscape;
}

.page[size="A5"][orientation="portrait"] {
  page: a5portrait;
  width: 148mm;
  height: 210mm;
}
@page a5portrait {
  margin: 0;
  size: A5 portrait;
}

.page[size="A5"][orientation="landscape"] {
  page: a5landscape;
  width: 210mm;
  height: 148mm;
}
@page a5landscape {
  margin: 0;
  size: A5 landscape;
}

@media screen {
  .page {
    border: 1px solid black;
    box-shadow: 5px 5px 4px 0 silver;
  }
}

svelte {
  font-size: 62.5%;
}


/* Typography */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
}

h1 {
  font-size: 4.0em;
  line-height: 1.2;
  letter-spacing: -.1em;
}

h2 {
  font-size: 3.6em;
  line-height: 1.25;
  letter-spacing: -.1em;
}

h3 {
  font-size: 3.0em;
  line-height: 1.3;
  letter-spacing: -.1em;
}

h4 {
  font-size: 2.4em;
  line-height: 1.35;
  letter-spacing: -.08em;
}

h5 {
  font-size: 1.8em;
  line-height: 1.5;
  letter-spacing: -.05em;
}

h6 {
  font-size: 1.5em;
  line-height: 1.6;
  letter-spacing: 0;
}

p {
  margin-top: 0;
}
.voffset-halb {
  margin-top: 0.5em;
}

.voffset-1 {
  margin-top: 1em;
}

.voffset-2 {
  margin-top: 2em;
}

.voffset-3 {
  margin-top: 3em;
}

.voffset-4 {
  margin-top: 4em;
}

.voffset-5 {
  margin-top: 5em;
}

.voffset-6 {
  margin-top: 6em;
}

.voffset-7 {
  margin-top: 7em;
}

.voffset-8 {
  margin-top: 8em;
}

.voffset-9 {
  margin-top: 9em;
}

.voffset-10 {
  margin-top: 10em;
}

.voffset-11 {
  margin-top: 11em;
}

.voffset-12 {
  margin-top: 12em;
}

.voffset-13 {
  margin-top: 13em;
}

.voffset-14 {
  margin-top: 14em;
}

.voffset-15 {
  margin-top: 15em;
}

.voffset-16 {
  margin-top: 16em;
}

.voffset-17 {
  margin-top: 17em;
}

.voffset-18 {
  margin-top: 18em;
}

.voffset-19 {
  margin-top: 19em;
}

.voffset-20 {
  margin-top: 20em;
}

.text-center {
  text-align: center !important;
}

hr {
  border: 0;
  border-top: 1px solid #eee;
  border-color: #000;
  height: 1px;
  margin: 3px 0;
}
.hr-rot {
  border-color: #ff2700;
  margin: 8px 0;
}
.hr-grau {
  border-color: #646464 !important;
}

.falzmarke-oben {
  position: absolute;
  top: 105mm;
  left: 10mm;
}
.falzmarke-unten {
  position: absolute;
  top: 210mm;
  left: 10mm;
}
</style>
