@charset "UTF-8";
/*
================================================================================
  Variablen
  Dieses SCSS wurde aus einer CSS-Datei generiert.
  Alle wiederkehrenden Werte wie Farben, Schriftarten, Abstände und
  Media-Query-Breakpoints wurden zur einfachen Wartung in Variablen ausgelagert.
================================================================================
*/
/*
================================================================================
  Basissstile und @font-face Definitionen
================================================================================
*/
/* Externe Schriftarten */
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 400;
  src: local("Source Sans Pro Regular"), local("SourceSansPro-Regular"), url("./fonts/source-sans-pro-v14-latin-regular.woff2") format("woff2"), url("./fonts/source-sans-pro-v14-latin-regular.woff") format("woff");
}
@font-face {
  font-family: "HelveticaNeue-Light";
  src: url("./fonts/helvetica_neue/HelveticaNeue-Light/HelveticaNeue-Light.eot");
  src: url("./fonts/helvetica_neue/HelveticaNeue-Light/HelveticaNeue-Light.eot?#iefix") format("embedded-opentype"), url("./fonts/helvetica_neue/HelveticaNeue-Light/HelveticaNeue-Light.otf") format("opentype"), url("./fonts/helvetica_neue/HelveticaNeue-Light/HelveticaNeue-Light.svg") format("svg"), url("./fonts/helvetica_neue/HelveticaNeue-Light/HelveticaNeue-Light.ttf") format("truetype"), url("./fonts/helvetica_neue/HelveticaNeue-Light/HelveticaNeue-Light.woff") format("woff"), url("./fonts/helvetica_neue/HelveticaNeue-Light/HelveticaNeue-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "HelveticaNeue-Bold";
  src: url("./fonts/helvetica_neue/HelveticaNeue-Bold/helvetica-neue-bold.eot");
  src: url("./fonts/helvetica_neue/HelveticaNeue-Bold/helvetica-neue-bold.eot?#iefix") format("embedded-opentype"), url("./fonts/helvetica_neue/HelveticaNeue-Bold/helvetica-neue-bold.otf") format("opentype"), url("./fonts/helvetica_neue/HelveticaNeue-Bold/helvetica-neue-bold.svg") format("svg"), url("./fonts/helvetica_neue/HelveticaNeue-Bold/helvetica-neue-bold.ttf") format("truetype"), url("./fonts/helvetica_neue/HelveticaNeue-Bold/helvetica-neue-bold.woff") format("woff"), url("./fonts/helvetica_neue/HelveticaNeue-Bold/helvetica-neue-bold.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("./fonts/fontawesome/fa-regular-400.eot");
  src: url("./fonts/fontawesome/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("./fonts/fontawesome/fa-regular-400.woff2") format("woff2"), url("./fonts/fontawesome/fa-regular-400.woff") format("woff"), url("./fonts/fontawesome/fa-regular-400.ttf") format("truetype"), url("./fonts/fontawesome/fa-regular-400.svg#fontawesome") format("svg");
}
.far {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
}

@font-face {
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("./fonts/fontawesome/fa-solid-900.eot");
  src: url("./fonts/fontawesome/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("./fonts/fontawesome/fa-solid-900.woff2") format("woff2"), url("./fonts/fontawesome/fa-solid-900.woff") format("woff"), url("./fonts/fontawesome/fa-solid-900.ttf") format("truetype"), url("./fonts/fontawesome/fa-solid-900.svg#fontawesome") format("svg");
}
.fa,
.fas {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

/* Globale Stile */
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: bold;
  font-size: 12px;
  text-align: center;
  background-color: #FFFFFF;
}

/*
================================================================================
  Tiny Slider (tns) Stile
================================================================================
*/
.tns-outer {
  padding: 0 !important;
  position: relative;
}
.tns-outer [hidden] {
  display: none !important;
}
.tns-outer [aria-controls], .tns-outer [data-action] {
  cursor: pointer;
}

.tns-slider {
  transition: all 0s;
}
.tns-slider > .tns-item {
  box-sizing: border-box;
}

.tns-horizontal.tns-subpixel {
  white-space: nowrap;
}
.tns-horizontal.tns-subpixel > .tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}
.tns-horizontal.tns-no-subpixel:after {
  content: "";
  display: table;
  clear: both;
}
.tns-horizontal.tns-no-subpixel > .tns-item {
  float: left;
}
.tns-horizontal.tns-no-subpixel.tns-carousel > .tns-item {
  margin-right: -100%;
}

.tns-no-calc {
  position: relative;
  left: 0;
}

.tns-gallery {
  position: relative;
  left: 0;
  min-height: 1px;
}
.tns-gallery > .tns-item {
  position: absolute;
  left: -100%;
  transition: transform 0s, opacity 0s;
}
.tns-gallery > .tns-slide-active {
  position: relative;
  left: auto !important;
}
.tns-gallery > .tns-moving {
  transition: all 0.25s;
}

.tns-autowidth {
  display: inline-block;
}

.tns-lazy-img {
  transition: opacity 0.6s;
  opacity: 0.6;
}
.tns-lazy-img.tns-complete {
  opacity: 1;
}

.tns-ah {
  transition: height 0s;
}

.tns-ovh {
  overflow: hidden;
}

.tns-visually-hidden {
  position: absolute;
  left: -10000em;
}

.tns-transparent {
  opacity: 0;
  visibility: hidden;
}

.tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0;
}

.tns-normal, .tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}

.tns-vpfix {
  white-space: nowrap;
}
.tns-vpfix > div, .tns-vpfix > li {
  display: inline-block;
}

.tns-t-subp2 {
  margin: 0 auto;
  width: 310px;
  position: relative;
  height: 10px;
  overflow: hidden;
}

.tns-t-ct {
  width: 2333.3333333333%;
  width: -webkit-calc(100% * 70 / 3);
  width: -moz-calc(100% * 70 / 3);
  width: 2333.3333333333%;
  position: absolute;
  right: 0;
}
.tns-t-ct:after {
  content: "";
  display: table;
  clear: both;
}
.tns-t-ct > div {
  width: 1.4285714286%;
  width: -webkit-calc(100% / 70);
  width: -moz-calc(100% / 70);
  width: 1.4285714286%;
  height: 10px;
  float: left;
}

/*
================================================================================
  Allgemeine Hilfsklassen & Komponenten
================================================================================
*/
.csstblobenaktiv {
  text-align: center;
  border: 1px solid #000000;
  background-color: #540D85;
  color: #FFFFFF;
}

.csstblobengesperrt {
  text-align: center;
  border: 1px solid #000000;
  background-color: #540D85;
  color: #C0C0C0;
}

.csstbldatenaktiv {
  text-align: center;
  border: 0 solid #000000;
  color: #000000;
  background-color: #D3E9FE;
}

.csstbldatengesperrt {
  text-align: center;
  border: 0 solid #000000;
  color: #757575;
  background-color: #D3E9FE;
}

.csstextschwarz {
  color: #000000;
}

.csstextlinks {
  text-align: left;
  word-break: normal;
  word-wrap: break-word;
}

.csstextoben {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  font-size: 13px;
  text-align: left;
  color: #757575;
}

.csstextrechts {
  text-align: right;
}

.cssnurtext {
  text-decoration: none;
}

.cssinfo {
  color: #000000;
  text-decoration: none;
  font-size: 18px;
}

.auto-style1, .auto-style7 {
  text-align: center;
}

.auto-style8 {
  color: #C0C0C0;
}

.toplayer {
  background-color: #009bdc;
  height: 37px;
  left: 0;
  right: 0;
  top: 0;
}

#Spez a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 400;
  text-shadow: #A4C0D7 0px 0px;
  font-size: 17px;
  text-align: left;
}
#Spez a:visited {
  color: #ffffff;
  text-decoration: none;
  font-weight: 400;
  text-shadow: #A4C0D7 0px 0px;
  font-size: 17px;
  text-align: left;
}
#Spez a:active, #Spez a:hover {
  color: #ffffff;
  text-decoration: underline white;
}

.modalDialog {
  position: fixed;
  font-family: Arial, Helvetica, sans-serif;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 99999;
  opacity: 0;
  transition: opacity 400ms ease-in;
  pointer-events: none;
}
.modalDialog:target {
  opacity: 1;
  pointer-events: auto;
}
.modalDialog > div {
  width: 400px;
  position: relative;
  margin: 10% auto;
  padding: 5px 20px 13px 20px;
  border-radius: 10px;
  background: #FFFFFF;
  background: -moz-linear-gradient(#FFFFFF, #999);
  background: -webkit-linear-gradient(#FFFFFF, #999);
  background: -o-linear-gradient(#FFFFFF, #999);
}
.modalDialog .close {
  background: #606061;
  color: #FFFFFF;
  line-height: 25px;
  position: absolute;
  right: -12px;
  text-align: center;
  top: -10px;
  width: 24px;
  text-decoration: none;
  font-weight: bold;
  border-radius: 12px;
  box-shadow: 1px 1px 3px #000000;
}
.modalDialog .close:hover {
  background: #00d9ff;
}

/*
================================================================================
  Layout-Stile (Header, Footer, Main)
================================================================================
*/
.header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 141px;
}
@media (max-width: 767px) {
  .header {
    height: auto;
    padding-left: 25px;
    padding-right: 25px;
  }
}

.mainlogo {
  padding: 10px;
}
@media (max-width: 767px) {
  .mainlogo img {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .mainlogo {
    padding-left: 0;
    padding-right: 0;
    width: 130px;
  }
}

.rightlogo {
  padding: 10px 60px 10px 10px;
}
@media (max-width: 767px) {
  .rightlogo img {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .rightlogo {
    padding: 0;
    width: 131px;
  }
}

.footer {
  width: 100%;
  background-color: #E8E8E8;
  display: flex;
  justify-content: flex-end;
  padding: 20px 60px 20px 10px;
  height: 68px;
}
@media (max-width: 1023px) {
  .footer {
    height: auto;
  }
}
@media (max-width: 767px) {
  .footer {
    justify-content: flex-start;
  }
}
.footer ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
@media (max-width: 767px) {
  .footer ul {
    flex-direction: column;
    flex-wrap: nowrap;
    text-align: left;
  }
}
.footer ul li {
  margin-left: 45px;
}
.footer ul li:first-child {
  margin-left: 0;
  margin-top: 0;
}
@media (max-width: 767px) {
  .footer ul li {
    margin-left: 0;
    margin-top: 20px;
  }
}
.footer ul a {
  color: #4F4F4F;
  font-size: 22px;
  text-decoration: none;
}
.footer ul a:hover, .footer ul a:focus {
  text-decoration: underline;
  color: #5C2582;
}

.main {
  min-height: calc(100vh - 209px);
}
@media (max-width: 1023px) {
  .main {
    min-height: auto;
  }
}

/*
================================================================================
  Seitenspezifische Stile: Login
================================================================================
*/
.loginbody header {
  align-items: center;
}
.loginbody header .mainlogo {
  padding: 10px 10px 10px 60px;
}
.loginbody header .mainlogo img {
  width: 272px;
}
.loginbody {
  background: transparent url(./elemente/hintergrund_login.jpg) no-repeat center center;
  background-size: cover;
  min-height: calc(100vh - 209px);
  padding-bottom: 20px;
  display: flex;
  flex-direction: column;
  position: relative;
}
@media (max-width: 1023px) {
  .loginbody {
    background-image: none;
    padding-bottom: 0;
    min-height: auto;
  }
}
.loginbody .login_bg {
  display: none;
}
@media (max-width: 1023px) {
  .loginbody .login_bg {
    display: block;
  }
}
.loginbody .login_bg img {
  width: 100%;
}
.loginbody_header {
  color: #FFFFFF;
  font-size: 60px;
  text-align: center;
}
.loginbody_header .highlight {
  display: inline-block;
  background-color: #5C2582;
  padding: 0 15px;
  margin-top: 50px;
  margin-bottom: 17px;
}
@media (max-width: 1023px) {
  .loginbody_header .highlight {
    margin-top: 10px;
    margin-bottom: -15px;
    position: relative;
  }
}
.loginbody_header .highlight_orange {
  display: inline-block;
  background-color: #F59C0C;
  padding: 0 15px;
  margin-top: -30px;
  margin-bottom: 17px;
}
@media (max-width: 1023px) {
  .loginbody_header .highlight_orange {
    margin-top: 10px;
    margin-bottom: -15px;
    position: relative;
  }
}
@media (max-width: 767px) {
  .loginbody_header {
    font-size: 26px;
  }
}
.loginbody_subheader {
  font-size: 26px;
  text-align: center;
  color: #FFFFFF;
}
.loginbody_subheader .highlight {
  background-color: #5C2582;
  padding: 0 15px;
  display: inline-block;
  margin-bottom: 17px;
}
@media (max-width: 1023px) {
  .loginbody_subheader .highlight {
    margin-top: -30px;
    margin-bottom: 30px;
    max-width: calc(100vw - 60px);
  }
}
.loginbody_subheader .highlight_blue {
  background-color: #179AD8;
  padding: 0 15px;
  display: inline-block;
  margin-bottom: 17px;
}
@media (max-width: 1023px) {
  .loginbody_subheader .highlight_blue {
    margin-top: -30px;
    margin-bottom: 30px;
    max-width: calc(100vw - 60px);
  }
}
@media (max-width: 991.98px) {
  .loginbody_subheader {
    display: none;
  }
}
@media (max-width: 767px) {
  .loginbody_subheader {
    font-size: 24px;
  }
}

.login_form_wrapper {
  margin: auto auto 30px auto;
  max-width: 600px;
  color: #FFFFFF;
  background-color: #5C2582;
  padding: 35px 45px;
  text-align: left;
  font-size: 22px;
}
@media (max-width: 1023px) {
  .login_form_wrapper {
    max-width: none;
  }
}
@media (max-width: 991.98px) {
  .login_form_wrapper {
    margin-bottom: 0;
    width: 100%;
  }
}
.login_form_wrapper p {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .login_form_wrapper p {
    font-size: 15px;
  }
}
.login_form_wrapper form {
  padding-left: 20px;
}
.login_form_wrapper .formline {
  margin-bottom: 20px;
}
.login_form_wrapper label, .login_form_wrapper input {
  color: #FFFFFF;
  font-size: 18px;
}
.login_form_wrapper label {
  padding-bottom: 3px;
}
.login_form_wrapper input {
  border: 2px solid #FFFFFF;
  background-color: transparent;
  width: 100%;
  padding: 4px;
}
.login_form_wrapper .buttonline {
  display: flex;
}
.login_form_wrapper .buttonline button:first-child:last-child {
  margin-left: auto;
}
.login_form_wrapper button {
  background-color: #FFFFFF;
  color: #5C2582;
  padding: 15px 18px;
  display: inline-block;
  border: 0;
  font-size: 20px;
  transition: all 0.3s ease;
}
.login_form_wrapper button:hover, .login_form_wrapper button:focus {
  background-color: #4F4F4F;
  color: #FFFFFF;
}

.login_jobs {
  color: #FFFFFF;
  max-width: 500px;
  background-color: #6E2271;
  display: flex;
  flex-direction: column;
  text-align: left;
}
@media (min-width: 1950px) {
  .login_jobs {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 100%;
  }
}
@media (max-width: 1949px) {
  .login_jobs {
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 991.98px) {
  .login_jobs {
    display: flex;
    flex-direction: row;
    max-width: none;
    width: 100%;
    height: 100%;
    align-items: stretch;
  }
}
@media (max-width: 767px) {
  .login_jobs {
    width: 100%;
    max-width: none;
    box-shadow: 1px 1px 3px #000;
    position: fixed;
    bottom: 0;
  }
}
.login_jobs .job_container {
  padding: 75px 35px 35px 35px;
  height: 50%;
  position: relative;
}
@media (min-width: 1950px) {
  .login_jobs .job_container {
    min-height: 350px;
  }
}
@media screen and (min-width: 768px) and (max-width: 991.98px) {
  .login_jobs .job_container {
    width: 50%;
    flex: 1;
  }
}
@media (max-width: 767px) {
  .login_jobs .job_container {
    padding: 15px 15px 5px 15px;
    display: none;
  }
}
.login_jobs .text {
  font-size: 18px;
  line-height: 24px;
  font-family: "HelveticaNeue-Light";
  font-weight: 300;
}
.login_jobs .headline {
  font-size: 32px;
  line-height: 34px;
  font-family: "HelveticaNeue-Bold";
  margin: 0 0 15px 0;
}
@media (max-width: 767px) {
  .login_jobs .headline {
    font-size: 17px;
    font-family: "HelveticaNeue-Light";
    font-weight: 300;
  }
  .login_jobs .headline br {
    display: none;
  }
}
.login_jobs .button_container {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  align-items: flex-end;
  margin: 15px 0;
}
@media (min-width: 1950px) {
  .login_jobs .button_container {
    position: absolute;
    bottom: 35px;
    right: 35px;
  }
}
@media (max-width: 767px) {
  .login_jobs .button_container {
    flex-direction: row;
  }
}
.login_jobs .button_container a {
  font-family: "HelveticaNeue-Light";
  font-size: 22px;
  line-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 10px 15px 7px 15px;
  border: 2px solid #FFFFFF;
  transition: all ease 1.6s;
  text-decoration: none;
  color: #FFFFFF;
}
@media (max-width: 767px) {
  .login_jobs .button_container a {
    font-size: 15px;
    font-family: "HelveticaNeue-Bold";
    font-weight: bold;
  }
}
.login_jobs .button_container a:hover, .login_jobs .button_container a:focus {
  background-color: #F59C0C;
  border-color: #F59C0C;
  transition: all ease 1.6s;
}
.login_jobs .button + .button {
  margin-top: 15px;
}
@media (max-width: 767px) {
  .login_jobs .button + .button {
    margin-top: 0;
    margin-left: 15px;
  }
}
.login_jobs .ausbildung {
  background-color: #462672;
}

/*
================================================================================
  Seitenspezifische Stile: Bestellung (bestellung_page)
================================================================================
*/
.bestellung_page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.bestellung_page .main, .bestellung_page .maincontent {
  flex-grow: 1;
}
.bestellung_page .main {
  padding-bottom: 30px;
}
.bestellung_page {
  /*
  =================================
  VERBESSERUNG: Header-Layout für Bestellseite
  - Logo links, Willkommensgruß daneben zentriert.
  =================================
  */
}
.bestellung_page header {
  flex-direction: row;
  align-items: center;
  height: auto;
  padding: 20px 0;
}
@media (max-width: 950px) {
  .bestellung_page header {
    flex-wrap: wrap;
    height: auto;
  }
}
.bestellung_page header .mainlogo {
  flex-shrink: 0;
  padding: 10px 10px 10px 60px;
}
.bestellung_page header .mainlogo img {
  width: 272px;
}
@media (max-width: 1023px) {
  .bestellung_page header .mainlogo {
    padding-left: 25px;
  }
}
@media (max-width: 950px) {
  .bestellung_page header .mainlogo {
    max-width: 50%;
    flex-basis: 50%;
    order: 1;
    text-align: left;
  }
}
@media (max-width: 767px) {
  .bestellung_page header .mainlogo {
    padding-left: 0;
  }
}
.bestellung_page header {
  /*
  =================================
  VERBESSERUNG: Rechtes Logo ausblenden
  - Das rechte Logo wird auf der Bestellseite nicht benötigt und
    daher mit "display: none" für eine aufgeräumte Optik ausgeblendet.
  =================================
  */
}
.bestellung_page header .rightlogo {
  display: block;
}
@media (max-width: 1023px) {
  .bestellung_page header .rightlogo {
    padding-right: 25px;
  }
}
@media (max-width: 950px) {
  .bestellung_page header .rightlogo {
    text-align: right;
  }
}
@media (max-width: 767px) {
  .bestellung_page header .rightlogo {
    padding-right: 0;
  }
}
.bestellung_page header .middlecontent {
  flex-grow: 1;
  text-align: center;
}
.bestellung_page header .middlecontent span {
  display: block;
}
.bestellung_page header .middlecontent .d_username {
  font-size: 26px;
}
.bestellung_page header .middlecontent .d_kdnr {
  font-size: 18px;
}
@media (max-width: 950px) {
  .bestellung_page header .middlecontent {
    flex-basis: 100%;
    max-width: 100%;
    order: 2;
    padding: 40px 25px;
  }
}
@media (max-width: 1780px) {
  .bestellung_page footer {
    padding-bottom: 80px;
    height: auto;
  }
}
@media (max-width: 1023px) {
  .bestellung_page footer {
    padding-left: 25px;
    padding-right: 25px;
  }
}
.bestellung_page .modalDialog > div {
  background: #FFFFFF;
  border-radius: 0;
  text-align: left;
  padding: 30px 20px;
  max-width: 500px;
  width: 100%;
}
.bestellung_page .modalDialog > div h2, .bestellung_page .modalDialog > div h3 {
  text-align: left;
}
.bestellung_page .modalDialog > div h3 {
  font-weight: normal;
  margin: 5px 0;
}
.bestellung_page .modalDialog > div p {
  font-weight: 400;
  margin-bottom: 10px;
  font-size: 14px;
}
.bestellung_page .modalDialog > div .close {
  font-size: 0;
  right: 10px;
  top: 10px;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
  text-indent: -9999px;
  color: transparent;
}
.bestellung_page .modalDialog > div .close:before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "\f00d";
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  text-indent: 0;
  color: #4F4F4F;
  font-size: 18px;
}
.bestellung_page .modalDialog > div .close:hover:before {
  color: #179AD8;
}
.bestellung_page .buttonline {
  display: flex;
  justify-content: flex-end;
  padding: 0 60px;
}
.bestellung_page .buttonline button {
  font-weight: bold;
}
@media (max-width: 1780px) {
  .bestellung_page .main > .buttonline {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #E8E8E8;
    padding: 10px 60px;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
  }
  .bestellung_page .main > .buttonline .toplink {
    display: block;
  }
}
.bestellung_page .toplink {
  display: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #FFFFFF;
  position: relative;
}
.bestellung_page .toplink:before {
  content: "\f062";
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  line-height: 50px;
  text-align: center;
  font-size: 28px;
  color: #4F4F4F;
}

.metaline {
  background: #E8E8E8;
  padding: 10px 60px;
  display: flex;
  justify-content: space-between;
  font-size: 18px;
  font-weight: 400;
}
@media (max-width: 1023px) {
  .metaline {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (max-width: 767px) {
  .metaline {
    flex-direction: column;
    text-align: left;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.metaline .meta_left {
  font-weight: normal;
}
@media (max-width: 767px) {
  .metaline .meta_left {
    margin-bottom: 15px;
  }
}
.metaline .logout {
  display: flex;
  align-items: center;
  gap: 5px;
  background-color: transparent;
  color: #4F4F4F;
  text-decoration: none;
  font-weight: bold;
  padding: 0;
  border: 0;
}
.metaline .logout .fas {
  font-size: 16px;
}
.metaline .logout:hover, .metaline .logout:focus {
  color: #179AD8;
  background-color: transparent;
}

.food_area {
  display: flex;
  padding: 30px 60px 0 60px;
}
@media (max-width: 1023px) {
  .food_area {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (max-width: 1780px) {
  .food_area {
    flex-direction: column;
  }
}
.food_area .leftcol {
  max-width: 200px;
  padding-right: 20px;
}
@media (max-width: 1780px) {
  .food_area .leftcol {
    max-width: none;
    padding-right: 0;
  }
}
.food_area .leftcol .leftcol_headline {
  font-size: 22px;
  display: block;
  text-align: left;
  padding-bottom: 30px;
}
.food_area .rightcol {
  width: 100%;
}
.food_area .kw_buttons {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1780px) {
  .food_area .kw_buttons {
    flex-direction: row;
  }
}
@media (max-width: 767px) {
  .food_area .kw_buttons {
    flex-wrap: nowrap;
  }
}
.food_area .kw_buttons button {
  text-align: center;
  width: 100px;
  height: 60px;
  line-height: 60px;
  background-color: #E8E8E8;
  color: #4F4F4F;
  margin-bottom: 20px;
  border: 0;
  cursor: pointer;
  font-size: 18px;
  transition: all 0.3s ease;
}
@media (max-width: 1780px) {
  .food_area .kw_buttons button {
    margin-right: 20px;
  }
  .food_area .kw_buttons button:last-child {
    margin-right: 0;
  }
}
@media (max-width: 767px) {
  .food_area .kw_buttons button {
    min-width: 70px;
  }
}
.food_area .kw_buttons button.current, .food_area .kw_buttons button.active, .food_area .kw_buttons button:hover, .food_area .kw_buttons button:focus {
  background-color: #179AD8;
  color: #FFFFFF;
}
.food_area .kw_buttons button.current, .food_area .kw_buttons button.active {
  font-weight: 700;
}

.food_weekdays {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  text-align: left;
  font-weight: 400;
}
@media (max-width: 1780px) {
  .food_weekdays {
    flex-direction: column;
  }
}
.food_weekdays .weekday {
  max-width: 205px;
  width: 100%;
}
@media (max-width: 1780px) {
  .food_weekdays .weekday {
    max-width: none;
    margin-bottom: 30px;
  }
}
.food_weekdays .weekday.locked {
  opacity: 0.5;
}
.food_weekdays .weekday.locked label, .food_weekdays .weekday.locked input[type=checkbox] {
  pointer-events: none;
}
.food_weekdays .weekday fieldset {
  border: 0;
}
.food_weekdays .weekday_head {
  color: #FFFFFF;
  background-color: #5C2582;
  padding: 12px;
  font-size: 18px;
  margin-bottom: 4px;
}
.food_weekdays .weekday_head > * {
  display: block;
}
.food_weekdays .weekday_head strong {
  font-size: 22px;
}
.food_weekdays .weekday_foodtype {
  color: #FFFFFF;
  padding: 2px 12px;
  background-color: #179AD8;
  font-size: 16px;
  display: block;
  width: 100%;
}

.food_choice {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-bottom: 2px solid #179AD8;
  min-height: 160px;
  position: relative;
}
@media (max-width: 1780px) {
  .food_choice {
    min-height: initial;
    padding-right: 50px;
  }
  .food_choice.empty {
    display: none;
  }
}
.food_choice label {
  font-weight: bold;
  display: block;
  font-size: 18px;
  padding: 10px 0 3px 0;
}
.food_choice .price {
  font-size: 16px;
}
.food_choice .food_formelements {
  display: flex;
  justify-content: space-between;
  padding-bottom: 5px;
}
@media (max-width: 1780px) {
  .food_choice .food_formelements {
    padding-bottom: 10px;
    padding-top: 10px;
  }
}
.food_choice .detailinfo {
  display: block;
  width: 44px;
  height: 44px;
  position: relative;
}
.food_choice .detailinfo:before {
  content: "\f05a";
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  color: #F59C0C;
  font-size: 44px;
  line-height: 44px;
}
@media (max-width: 1780px) {
  .food_choice .food_checkmark {
    position: absolute;
    top: 10px;
    right: 0;
  }
}
.food_choice .food_checkmark input {
  display: none;
}
.food_choice .food_checkmark input:checked ~ label:before {
  display: block;
}
.food_choice .food_checkmark label {
  border: 2px solid #5C2582;
  display: block;
  position: relative;
  width: 39px;
  height: 39px;
  cursor: pointer;
}
.food_choice .food_checkmark label:hover {
  background-color: #E8E8E8;
}
.food_choice .food_checkmark label:before {
  display: none;
  content: "\f00c";
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  background-color: #5C2582;
  color: #FFFFFF;
  line-height: 37px;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  text-align: center;
}

.tns-outer .tns-controls button {
  position: absolute;
  left: 0;
  top: 0;
  background: none;
  text-indent: -9999px;
  font-size: 0;
  color: transparent;
  width: 40px;
  height: calc(100% - 20px);
  background-color: #FFFFFF;
  display: block;
  z-index: 5;
  border: 0;
}
.tns-outer .tns-controls button:before {
  content: "\f0d9";
  display: block;
  font-weight: 900;
  font-size: 25px;
  font-family: "Font Awesome 5 Free";
  color: #4F4F4F;
  width: 100%;
  line-height: 25px;
  text-indent: 0;
  height: 25px;
}
.tns-outer .tns-controls button[data-controls=next] {
  left: initial;
  right: 0;
}
.tns-outer .tns-controls button[data-controls=next]:before {
  content: "\f0da";
}

.btn {
  background-color: #5C2582;
  color: #FFFFFF;
  display: inline-block;
  padding: 15px 18px;
  border: 0;
  font-size: 22px;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
}
.btn:hover, .btn:focus {
  background-color: #F59C0C;
}

.general_message {
  max-width: 900px;
  padding: 20px;
  background: #E8E8E8;
  font-size: 20px;
  margin: 0 auto;
}
.general_message .btn {
  margin-top: 20px;
}
.general_message .buttonline {
  display: flex;
  justify-content: space-between;
  padding: 20px 0 0 0;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-left, .header-right {
  flex: 1;
}

.header-middle {
  flex: 2;
  text-align: center;
}

.header-left {
  text-align: left;
  padding-left: 20px;
}

.header-right {
  text-align: right;
}

/*# sourceMappingURL=main.css.map */
