@charset "UTF-8";
/**
  * Project: vineyard
  * File:    main.scss
  */
/* Vineyard-Rot */
/* Vineyard-Grün */
/* orange #f0bc18*/
/*#e07000?*/
/* braun */
/* rötl. dunkelgrau */
/* hell (f8e7e4?) */
/* rötl. hellgrau */
/* 50% rötl. hellgrau */
/* leuchtend hell */
/* --- END COLORS -- */
html {
  font-size: 75%;
}

.container.narrow80 {
  max-width: 80rem;
}

.container .single-frame {
  max-width: 35em;
  margin: 0 auto;
}

.container.has-sidebar {
  background-color: rgb(245.8907692308, 245.0092307692, 245.0092307692);
}

.container.has-sidebar .row {
  flex-wrap: wrap;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
}

.container.has-sidebar .row .column.sidebar {
  flex: 1 1 10rem;
}

.container.has-sidebar .row .column.main-content {
  flex: 2 2 40rem;
}

#contact .formwrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  justify-content: space-between;
}

#contact #contact-firstname-fieldwrapper, #contact #contact-lastname-fieldwrapper, #contact #contact-e_mail-fieldwrapper {
  width: 49%;
  min-width: 30rem;
}

#contact #contact-subject-fieldwrapper, #contact #contact-message-fieldwrapper {
  width: 100%;
}

.formwrapper input, .formwrapper textarea {
  font-size: 1.6rem;
  background-color: rgb(245.8907692308, 245.0092307692, 245.0092307692);
}

.formwrapper textarea {
  min-height: 10rem;
}

ul.InputfieldCheckboxesStacked {
  color: red;
  list-style-type: none;
}

ul.InputfieldCheckboxesStacked li {
  color: red;
  margin: 0;
  padding: 0;
  line-height: 1.2rem;
}

ul.InputfieldCheckboxesStacked li input {
  margin: 0 1ex 0.2ex 0;
}

ul.InputfieldCheckboxesStacked li label {
  font-weight: normal;
  font-size: 80%;
  margin: 0;
}

.button, button {
  background-color: #f0ac18;
  border-color: #406030;
}

.button.small, button.small {
  font-size: 0.9rem;
  line-height: 1.8rem;
  height: 1.8rem;
  padding: 0.1rem 1.2rem;
  box-sizing: content-box;
}

.button.back, button.back {
  background-color: #d25900;
  border-color: rgb(97.2, 47.4171428571, 10.8);
}

body {
  background-color: #e0dddd;
  color: rgb(79.6444444444, 69.6888888889, 54.7555555556);
  font-family: Roboto;
}

a {
  color: #d25900;
}

a:hover {
  color: rgb(255, 140.9142857143, 57);
}

div.decobg {
  background-image: url("/site/assets/files/img/Kameldornbaum_Namibia-solo-uni-darker-600.webp");
  background-repeat: no-repeat;
  background-position: bottom left;
}

.container {
  background-color: rgba(224, 221, 221, 0.3764705882);
}

.column.center, h1.center {
  text-align: center;
}

.badge {
  background-color: #7ca216;
  border-radius: 6px;
  /*box-shadow: 4px 2px 5px $BASIC_COLOR3; */
  color: #f9f0ee;
  display: inline-block;
  font-family: Roboto;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.09ex;
  margin: 0.4rem 2rem;
  padding: 0.4rem 1.8rem;
  transform: rotate(-5deg);
}

div.profile {
  display: inline-block;
  border: solid 0.6rem #f0ac18;
  border-radius: 0.6rem;
}

img.profile {
  display: block;
  border: solid 1px rgb(245.8907692308, 245.0092307692, 245.0092307692);
}

h1 span.subtext {
  font-size: 2rem;
}

.pictext-float {
  -moz-column-gap: 1.2rem;
       column-gap: 1.2rem;
  display: flex;
  flex-wrap: wrap;
  margin: 1rem 0 1.4rem 0;
  row-gap: 0.4rem;
}

.pictext-float .text {
  flex-shrink: 3;
}

img.preview {
  border-radius: 6px;
  display: block;
  float: left;
  margin: 0 2rem 1.4rem 0;
}

div.clearfix-line {
  clear: both;
  height: 2rem;
}

@media (max-width: 480px) {
  img.preview {
    float: none;
    margin: 0 auto 1rem auto;
  }
}
.typelabel {
  text-align: left;
  font-size: 75%;
  margin-bottom: 2rem;
  border-bottom: solid 2px #f9f0ee;
}

.typelabel span {
  float: right;
}

.teaser-block {
  margin: 1ex 0 2ex 0;
}

.container.narrow {
  max-width: 80rem;
  padding: 0 2rem;
}

#topnav {
  background-color: #406030;
  color: #f9f0ee;
  margin-bottom: 0.8rem;
  padding: 0.2rem 0.6rem;
  position: relative;
  text-align: right;
}

#topnav.stdpage img.small-logo {
  border: solid 1px #e0dddd;
  position: absolute;
  top: 1rem;
  left: 3%;
  min-width: 6rem;
  width: 5%;
  z-index: 9999;
}

#topnav.stdpage {
  margin-bottom: 5.2rem;
}

#topnav.stdpage .ribbon {
  display: flex;
  flex-direction: row-reverse;
}

#topnav.stdpage .ribbon label {
  position: relative;
  margin: 0px;
}

#topnav.stdpage .ribbon label ul {
  border: solid 1px rgb(79.6444444444, 69.6888888889, 54.7555555556);
  color: rgb(79.6444444444, 69.6888888889, 54.7555555556);
  text-align: left;
  background-color: #e0e0e0;
  font-size: 100%;
  font-weight: normal;
  list-style: none;
  padding: 0.1rem 0.4rem;
  position: absolute;
  right: 2px;
  top: 2px;
}

.ribbon label ul li {
  margin: 0.4rem;
}

#topnav.stdpage .ribbon img {
  display: block;
}

#hamburger {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
  top: -99000;
  left: -99000;
}

#menu {
  display: none;
}

#hamburger:checked ~ #menu {
  display: block;
}

#topnav .button {
  color: #f9f0ee;
  margin: 0;
}

div.button-row {
  align-items: center;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 2rem;
}

.button-row button {
  margin: 0;
}

.nav-bar {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  -moz-column-gap: 2.6rem;
       column-gap: 2.6rem;
  row-gap: 0.4rem;
}

.headline {
  flex: 3 1 30rem;
}

.main-block {
  width: 42rem;
}

.headline h2 {
  margin: 1rem 0 1rem 0;
  font-size: 2.8rem;
}

.headline p {
  margin-bottom: 1rem;
}

div.parsep {
  margin-bottom: 1.6rem;
}

p.more {
  text-align: right;
}

a.button {
  background-color: #f0ac18;
  border-color: #807058;
  box-sizing: content-box;
  line-height: 2.4rem;
  height: 2.4rem;
  font-size: 0.8rem;
  padding: 0 1.6rem;
}

#topnav a.button {
  font-size: 1.2rem;
}

ul.menu {
  list-style-type: none;
  margin: 0 0 0 auto;
}

ul.menu li {
  display: inline;
}

@media (max-width: 42rem) {
  ul.menu {
    text-align: left;
    width: 20rem;
  }
  ul.menu li {
    display: block;
  }
}
a.linkedheader::before {
  content: "►";
  margin-right: 0.2ex;
}

.nav-bar.leftright-bar span.left::before {
  content: "◄";
  margin-right: 0.8ex;
}

.nav-bar.leftright-bar span.right::after {
  content: "►";
  margin-left: 0.8ex;
}

.nav-bar.main a::before {
  content: "►";
  margin-right: 0.2ex;
}

.separator-bar {
  border-style: solid;
  border-color: rgb(79.6444444444, 69.6888888889, 54.7555555556);
  border-width: 0 0 1px 0;
  margin-bottom: 2rem;
}

.leftright-bar div, .leftright-bar p {
  width: 45%;
}

.limit-width, .leftright-bar div, .leftright-bar p {
  overflow: clip;
  text-overflow: ellipsis;
  white-space: nowrap;
}

div.hero-frame {
  margin-bottom: 15rem;
  position: relative;
  text-align: center;
}

div.hero-frame img {
  width: 100%;
}

div.hero-frame img.logo {
  width: 15%;
  min-width: 15rem;
  position: absolute;
  border: solid 2px #e0dddd;
  left: 10%;
  top: 80%;
}

img.align_center {
  display: block;
  margin: 0.5rem auto;
}

.teaser {
  font-family: Josefin Sans;
  margin: 1rem 0;
}

.row.fluffy {
  justify-content: space-between;
  gap: 2.6rem;
  margin-bottom: 3rem;
}

.info-block {
  background-color: #f9f0ee;
  border-radius: 0.7rem;
  color: #807058;
  margin-top: 1em;
  margin-bottom: 3em;
  padding: 0.8em 1.2em;
  position: relative;
  text-align: center;
  width: 44ex;
}

.info-block h3 {
  margin: 1.6rem 0 1.2rem 0;
}

.further {
  bottom: 1rem;
  font-size: 80%;
  font-weight: bold;
  position: absolute;
  right: 2rem;
}

.intro-boxes {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

h1, h2, h3, h4 {
  font-family: Josefin Sans;
}

.formal h1 {
  font-family: Roboto;
  font-weight: 400;
  margin-bottom: 1.8rem;
}

.formal h2, .formal h3, .formal h4 {
  font-family: Roboto;
  margin-bottom: 1rem;
}

.tf-header {
  color: #807058;
  font-size: 80%;
  margin: 2ex 0 0.6ex 0;
}

.tf-par {
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: rgb(168.4666666667, 152.7333333333, 129.1333333333);
  padding: 0 0 0.4rem 1rem;
  margin-bottom: 0.6rem;
}

ul.compact li {
  margin: 0;
}

.formal h5, .formal h6 {
  font-family: Roboto;
  font-style: italic;
  margin-bottom: 0.4rem;
}

.formal h1.doctitle {
  font-size: 2.2rem;
  font-weight: bold;
  border-style: solid;
  border-width: 0 0 0.1rem 0;
}

label.labeled-block {
  font-weight: 400;
  font-size: 1rem;
  font-style: italic;
  color: #9a0c0c;
}

#goal {
  font-weight: 400;
}

div.text {
  margin-bottom: 2rem;
}

div.text.strong {
  font-weight: 400;
}

#content {
  min-height: 600px;
}

.document {
  min-height: 560px;
}

.status-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-style: solid;
  border-color: rgb(245.8907692308, 245.0092307692, 245.0092307692);
  border-width: 1px 0 0 0;
  font-style: italic;
  font-size: 80%;
  padding-top: 0.4rem;
}

div.twocol {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  margin-bottom: 2rem;
}

@media (min-width: 42rem) {
  div.dyncol {
    padding: 2rem;
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
}
h1 {
  font-size: 3.6rem;
}

h2 {
  font-size: 3rem;
}

h3 {
  font-size: 2.5rem;
}

h1.pageheader {
  text-align: center;
}

h1.title {
  color: rgb(124.95, 41.05, 41.05);
  font-family: Shadows Into;
  font-size: 5rem;
  font-weight: bold;
  text-align: center;
  text-shadow: 0.05em 0.05em 6px #a0a0a0;
  margin-bottom: 4rem;
}

h1.title span {
  display: inline-block;
  transform: rotate(10deg);
  color: #f0a050;
}

.slogan-box {
  color: rgb(45.8666666667, 68.8, 34.4);
  margin: 0 5% 6rem 10%;
}

.slogan a {
  color: rgb(45.8666666667, 68.8, 34.4);
}

.slogan a:hover {
  color: #9a0c0c;
}

.slogan {
  font-family: Josefin Sans;
  font-size: 125%;
  margin-bottom: 1rem;
}

.cite-source {
  text-align: right;
  font-size: 90%;
  margin: 0.2rem 0 0.6rem 0;
}

.flex-right {
  justify-content: flex-end;
}

.emph {
  font-weight: bold;
}

.margin-right {
  margin-right: 0;
  margin-left: auto;
}

.multicol-item {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
  align-items: baseline;
}

.multicol-item .doctype {
  flex: 0 0 14ex;
}

.multicol-item .fdate {
  flex: 0 0 10ex;
}

.multicol-item .amount {
  flex: 0 0 16ex;
  text-align: right;
}

.multicol-item .fill {
  flex: 2 1 40ex;
}

.multicol-item .date {
  flex: 1 1 10ex;
}

.list:has(.multicol-item) {
  border: solid 1px #707076;
  border-width: 0 0 1px 0;
  margin-bottom: 1rem;
}

.large {
  font-size: 140%;
  font-weight: bold;
}

.prominent {
  font-family: Josefin Sans;
  font-size: 150%;
  font-weight: bold;
}

.larger {
  font-size: 120%;
}

.small {
  font-size: 80%;
}

.snippet {
  display: inline-block;
  width: 2rem;
  vertical-align: bottom;
  padding: 0.2ex;
}

.sep-par {
  margin: 2rem 0 2.6rem 0;
}

@media (min-width: 680px) {
  .slogan-box {
    margin: 0 10% 6rem 20%;
  }
  .slogan {
    font-size: 150%;
  }
  .cite-source {
    font-size: 100%;
  }
}
/* Projekte */
.pitem-line {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
}

.pitem-line.sum {
  border-style: solid;
  border-width: 1px 0 0 0;
  margin-top: 2rem;
}

.pitem-line .title {
  font-weight: 400;
  flex-grow: 2;
  flex-shrink: 2;
}

.pitem-line .cost {
  flex-grow: 0;
  flex-shrink: 0;
  font-family: mono;
  text-align: right;
  width: 14ex;
}

.pitem-line .cost.dimmed {
  color: #807058;
  text-decoration: line-through;
}

.pitem-line .istatus {
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 80%;
  width: 12ex;
}

.pitem-line .gstatus {
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 80%;
  width: 12ex;
}

/* ---- address table ---- */
table.addr {
  background-color: rgb(245.8907692308, 245.0092307692, 245.0092307692);
}

table.addr td {
  vertical-align: top;
  padding: 0;
}

div.tabline {
  -moz-column-gap: 2ex;
       column-gap: 2ex;
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.2ex;
  margin: 0 0 0.5ex 0;
  text-align: left;
}

.prename {
  width: 10ex;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.famname {
  width: 14ex;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.com {
  font-size: 80%;
  padding-top: 0.4ex;
  width: 32ex;
}

table.addr td.col-relation {
  text-align: center;
  width: 1em;
}

table.addr td.col-entity {
  padding: 0 0.1ex;
  width: 1em;
  color: #807058;
}

table.addr td.col-orgname {
  font-size: 80%;
  padding: 0 0.5ex 0 0.1ex;
  text-align: right;
}

@media (max-width: 40rem) {
  .prename {
    width: 6ex;
  }
  .famname {
    width: 12ex;
  }
}
@media (max-width: 42rem) {
  table.addr td.col-orgname {
    display: none;
  }
  table.addr th {
    display: none;
  }
}
/* ---- */
h1.dirlist {
  text-align: center;
}

table.dirlist {
  margin: auto;
  width: auto;
}

table.dirlist td {
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
}

.dirlist tr td {
  vertical-align: top;
}

.dirlist td.name {
  max-width: 40rem;
  min-width: 15rem;
}

td.name {
  max-width: 40rem;
  min-width: 50%;
}

.age {
  text-align: right;
}

td.age {
  width: 5rem;
}

td.agetext {
  width: 10rem;
}

th.gstatus {
  font-size: 100%;
}

table.dirlist td.gstatus {
  font-size: 80%;
  padding-top: 0.8ex;
}

td.gstatus {
  width: 10rem;
}

table.vertical td, table.vertical th {
  padding: 0.3rem 0rem;
  border-bottom: 0.1rem solid rgb(168.4666666667, 152.7333333333, 129.1333333333);
  vertical-align: top;
  font-size: 1.6rem;
}

table.vertical th {
  color: #807058;
  font-weight: normal;
  font-size: 80%;
  max-width: 10em;
  padding-top: 0.5rem;
  padding-right: 0.8ex;
}

table.param-block {
  font-size: 1.2rem;
  width: auto;
}

table.param-block td {
  font-size: inherit;
}

table.param-block.right {
  margin-left: auto;
}

.ictext {
  display: inline-flex;
  justify-content: flex-start;
  gap: 1rem;
}

.addright {
  text-align: right;
}

footer {
  background-color: #807058;
  color: #f9f0ee;
  margin: 2rem 0 0 0;
  padding: 2rem 0.8rem;
  text-align: center;
}

footer div.infobar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 3rem;
}

footer a {
  color: #f9f0ee;
}

footer a:hover {
  color: rgb(255, 140.9142857143, 57);
}

footer p {
  margin: 0.6rem;
}

footer .col {
  width: 40rem;
}

footer .small-hint {
  font-size: 70%;
}

canvas {
  margin: 0 auto;
  border: solid 1px #a0a0a0;
}

.pdf-frame {
  text-align: center;
  padding: 2rem 1rem;
  background-color: rgb(245.8907692308, 245.0092307692, 245.0092307692);
}

/**==============================*/
table.simple {
  background-color: white;
  border-radius: 6px;
}

table.simple td, table.simple th {
  padding: 0.3rem 0.6rem;
}

table.simple td.n-col {
  width: 3ex;
  text-align: right;
}

td.date-col {
  width: 11ex;
}

td.amount-col {
  width: 18ex;
  font-family: RobotoMono;
  text-align: right;
}

table.simple td.cb-col {
  width: 2ex;
}

table.simple td.cb-col input {
  margin: 0.1rem;
}

table.list td {
  vertical-align: top;
  border-width: 0;
  padding: 0.2rem 0.8rem;
}

table.list td:first-child {
  padding-left: 0;
}

table.list td:last-child {
  padding-right: 0;
}

table.list td p {
  margin: 0 0.2rem 0 0;
}

table.list td div.details {
  font-size: 80%;
}

/* =========================================
 * tab page section
 * =========================================
 */
div.tab {
  display: flex;
  flex-wrap: wrap;
}

input.tab_radio {
  display: none;
}

.tab_label {
  font-weight: normal;
  padding: 1rem 2rem;
  cursor: pointer;
}

.tab_content {
  order: 1;
  width: 100%;
  display: none;
  padding-top: 2rem;
}

.tab_radio:checked + .tab_label {
  font-weight: bold;
  border-bottom: 3px solid rgb(207, 9, 52);
}

.tab_radio:checked + .tab_label + .tab_content {
  display: block;
}/*# sourceMappingURL=main.css.map */