/* Standard: alles verstecken */
.layout-small,
.layout-medium,
.layout-large,
.layout-ultrawide{
  display: none;
}

*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/*--- Farben ---*/

.burgundy{
  background-color:			#990000;
}

.golden{
  background-color:			#FFD919;
}

.brightgrey{
  background-color:			#E0E0E0;
}

/*--- grid - System ---*/

.row
{
  display: flex;
  max-width: 100%;
}

/*--- col-12 ---*/

main .layout-large .col-12,
main .layout-ultrawide .col-12 {
  flex: 0 0 auto;
  width: 100%;
}

/*--- col-9 ---*/

/*--- col-8 ---*/

/*--- col-6 ---*/

header .layout-small .col-6 {
  max-width: 115px;
  flex: 0 0 auto;
  width: 100%;
}

header .layout-medium .col-6 {
  flex: 0 1 auto;
  width: auto;
}

header .layout-large .col-6,
header .layout-ultrawide .col-6 {
  min-width: 586px;
  flex: 0 1 auto;
  width: auto;
}

main .layout-small .col-6 {
  flex: 0 0 auto;
  width: 50%;
}

main .layout-medium .col-6 {
  flex: 0 0 auto;
  width: 50%;
}

main .layout-large .col-6,
main .layout-ultrawide .col-6 {
  flex: 0 0 auto;
  width: 50%;
}

/*--- col-4 ---*/

header .layout-small .col-4 {
  max-width: 280px;
  flex: 0 0 auto;
  width: auto;
}

header .layout-medium .col-4 {
  max-width: 280px;
  flex: 0 0 auto;
  width: 100%;
}

header .layout-large .col-4,
header .layout-ultrawide .col-4 {
  max-width: 640px;
  flex: 0 0 auto;
  width: 100%;
}

main .layout-medium .col-4 {
  max-width: 130px;
  flex: 0 0 auto;
  width: 100%;
}

main .layout-medium .col-4 {
  max-width: 280px;
  flex: 0 0 auto;
  width: 100%;
}

main .layout-large .col-4,
main .layout-ultrawide .col-4 {
  flex: 0 0 auto;
  width: 33.33%;
}

/*--- col-3 ---*/

/*--- col-2 ---*/

.layout-small .col-2 {
  max-width: 115px;
  flex: 0 0 auto;
  width: 100%;
}

.layout-medium .col-2 {
  max-width: 140px;
  flex: 0 0 auto;
  width: 100%;
}

.layout-large .col-2,
.layout-ultrawide .col-2 {
  max-width: 320px;
  flex: 0 0 auto;
  width: 100%;
}


/*--- col-1 ---*/
    
.col-12 {
  width: 100%;
  padding: 0 15px;
}

.col-9 {
  width: 75%;
}

.col-8 {
  width: 66.66%;
  padding: 0 15px;
}

.col-5 {
  width: 42%;
}

.col-4 {
  width: 33.33%;
}

.col-3 {
  width: 25%;
  padding: 0 15px;
}


.col-1 {
  width: 8.33%;
  padding: 0 15px;
}

/*--- Ausrichtung ---*/

.valign-ctr
{
  align-items: center;
}

.halign-left
{
  text-align: left;
}

.halign-ctr
{
  text-align: center;
}

.halign-right {
  margin-left: auto;
}

/*--- Abstände ---*/

/*--- ------------------------------ ---*/

/* Small devices: max-width 480px */
@media (max-width: 480px){
  .layout-small { display: block; }
  
  body {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    color: #000000;
    background-color: #FFFFFF;
  }

  header h1 { font-size: 20px; line-height: 1.3; color: #FFD919;font-weight:900;}
  header .subline { font-size: 13px; line-height: 1.3; color: #FFFFFF;font-weight:700;}
  header p  { font-size: 20px; line-height: 1.2; }
  header nav ul li{
    display: inline-block;
    list-style: none;
    font-weight:900;
  }
  header nav ul li a{
    font-size: 12px;
    padding: 0 10px;
    color: #FFFFFF;
    text-decoration: none;
  }

  main h1   { font-size: 41px; line-height: 1.3; }
  main h2   { font-size: 9px; line-height: 1.3; color: #FFD919;font-weight:900; padding-top:12px;}
  main h3   { font-size: 25px; line-height: 1.3; color: #FFD919;font-weight:900; padding: 18px 0;}
  main h4   { font-size: 24px; line-height: 1.3; }
  main h5   { font-size: 25px; line-height: 1.3; color: #990000;font-weight:900; padding: 10px 0;}
  main p    { font-size: 20px; line-height: 1.2; }

  footer h1 { font-size: 41px; line-height: 1.3; }
  footer h2 { font-size: 35px; line-height: 1.3; }
  footer h3 { font-size: 29px; line-height: 1.3; }
  footer h4 { font-size: 24px; line-height: 1.3; }
  footer p  { font-size: 20px; line-height: 1.2; }
}

/*--- Ende Layout small ---*/
  
/*--- Anfang Layout medium ---*/

/* Medium devices: >480px und max-width 844px */
@media (min-width: 481px) and (max-width: 844px) {
  
  .layout-medium { display: block; }
  
  body {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    color: #000000;
    background-color: #FFFFFF;
  }

  header h1 { font-size: 35px; line-height: 1.3; color: #FFD919;font-weight:900;}
  header .subline { font-size: 23px; line-height: 1.3; color: #FFFFFF;font-weight:700;}
  header p  { font-size: 20px; line-height: 1.2;}

  header nav ul li{
    display: inline-block;
    list-style: none;
    font-weight:900;

  }
  header nav ul li a{
    font-size: 12px;
    padding: 0 10px;
    color: #FFFFFF;
    text-decoration: none;
  }

  main h1   { font-size: 41px; line-height: 1.3; }
  main h2   { font-size: 15px; line-height: 1.3; color: #FFD919;font-weight:900; padding-top:30px;}
  main h3   { font-size: 29px; line-height: 1.3; color: #FFD919;font-weight:900; padding: 23px 0;}
  main h4   { font-size: 24px; line-height: 1.3; }
  main h5   { font-size: 29px; line-height: 1.3; color: #990000;font-weight:900; padding: 30px 0;}
  main p    { font-size: 20px; line-height: 1.2; }

  footer h1 { font-size: 41px; line-height: 1.3; }
  footer h2 { font-size: 35px; line-height: 1.3; }
  footer h3 { font-size: 29px; line-height: 1.3; }
  footer h4 { font-size: 24px; line-height: 1.3; }
  footer p  { font-size: 20px; line-height: 1.2; }
}

/*--- ------------------------------ ---*/

/*--- Anfang Layout large ---*/

/* Large devices: >390px und max-width 845px */
@media (min-width: 845px) and (max-width: 1920px) {
  
  .layout-large { display: block; }
  
  body {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    color: #000000;
    background-color: #FFFFFF;
  }

  header h1 { font-size: 41px; line-height: 1.3; color: #FFD919;font-weight:900;}
  header .subline { font-size: 27px; line-height: 1.3; color: #FFFFFF;font-weight:700;}
  header p  { font-size: 20px; line-height: 1.2; }
  
  header nav ul li{
    display: inline-block;
    font-size: 24px;
    list-style: none;
    font-weight: 900;
  }
  header nav ul li a{
    padding: 0 50px 0 0;
    color: #FFFFFF;
    text-decoration: none;
  }

  main h1   { font-size: 41px; line-height: 1.3; }
  main h2   { font-size: 30px; line-height: 1.3; color: #FFD919;font-weight:900; padding-top:62px;}
  main h3   { font-size: 38px; line-height: 1.3; color: #FFD919;font-weight:900; padding: 23px 0;}
  main h4   { font-size: 40px; line-height: 1.3; color: #990000;font-weight:900; padding: 30px 0;}
  main h5   { font-size: 40px; line-height: 1.3; color: #990000;font-weight:900; padding: 30px 0;}
  main p    { font-size: 20px; line-height: 1.2; }

  footer h1 { font-size: 41px; line-height: 1.3; }
  footer h2 { font-size: 35px; line-height: 1.3; }
  footer h3 { font-size: 29px; line-height: 1.3; }
  footer h4 { font-size: 24px; line-height: 1.3; }
  footer p  { font-size: 20px; line-height: 1.2; }
}

/*--- ------------------------------ ---*/

  /* Ultrawide devices: >1920px */
@media (min-width: 1921px){
  .layout-ultrawide { display: block;}
  body {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    color: #000000;
    background-color: #FFFFFF;
  }

  header h1 { font-size: 41px; line-height: 1.3; color: #FFD919;font-weight:900;}
  header .subline { font-size: 27px; line-height: 1.3; color: #FFFFFF;font-weight:700;}
  header p  { font-size: 20px; line-height: 1.2; }
    
  header nav ul li{
    display: inline-block;
    font-size: 32px;
    list-style: none;
    font-weight: 900;
  }
  header nav ul li a{
    padding: 0 50px 0 0;
    color: #FFFFFF;
    text-decoration: none;
  }

  main h1   { font-size: 41px; line-height: 1.3; }
  main h2   { font-size: 55px; line-height: 1.3; color: #FFD919; font-weight:900; padding-top:140px;}
  main h3   { font-size: 50px; line-height: 1.3; color: #FFD919;font-weight:900; padding: 30px 0;}
  main h4   { font-size: 40px; line-height: 1.3; color: #990000;font-weight:900; padding: 30px 0;}
  main h5   { font-size: 40px; line-height: 1.3; color: #990000;font-weight:900; padding: 30px 0;}
  main p    { font-size: 20px; line-height: 1.2; }

  footer h1 { font-size: 41px; line-height: 1.3; }
  footer h2 { font-size: 35px; line-height: 1.3; }
  footer h3 { font-size: 29px; line-height: 1.3; }
  footer h4 { font-size: 24px; line-height: 1.3; }
  footer p  { font-size: 20px; line-height: 1.2; }
}


/*--- Allgemein ---*/

/* Einheitlicher Font */
.layout-small, .layout-medium, .layout-large, .layout-ultrawide {
  font-family: "Nunito Sans", sans-serif;
}

.tb-1-small {
  height: 109px;
  background-image: url(images/desktop/buch_und_tee_540.png);
  background-size:cover;
  background-repeat: no-repeat;
  background-position: center;
}

.tb-1-medium {
  height: 228px;
  background-image: url(images/desktop/buch_und_tee_540.png);
  background-size:cover;        /* proportional skalieren */
  background-repeat: no-repeat;
  background-position: center;
}

.tb-1-large {
  height: 450px;
  background-image: url(images/desktop/buch_und_tee_540.png);
  background-size:cover;        /* proportional skalieren */
  background-repeat: no-repeat;
  background-position: center;
}

.tb-1-ultrawide {
  height: 968px;
  background-image: url(images/desktop/buch_und_tee_540.png);
  background-size:cover;        /* proportional skalieren */
  background-repeat: no-repeat;
  background-position: center;
}

.full
{
  margin: 0 0;
}

main .medium {
  padding: 0 0px;
}

main .small {
  padding: 0 50px;
  max-width: 844px;
  width: 100%;
}

/*
--- Allgemein ---

h1, h2, h3 {
  font-family: "Nunito Sans", sans-serif;
  font-weight: 900;
  color: #FFD919;
}

p{
  font-family: "Nunito Sans", sans-serif;
  font-weight: 600;
  color: #990000;
}





@media (max-width: 390px)
{
  .layout-small
  {
    display: block;

    --- Allgemein ---
    
    h1 {
      font-size: 17.3px;
    }
    
    p {
      font-family: "Nunito Sans", sans-serif;
      font-weight: 600;
      color: #FFFFFF;
      font-size: 29.86px;
      display: block;
    }
    
    --- Abstände ---
    
    --- grid - System ---
    
    
    --- header ---
    .background-burgundy{
      background-color: #990000;
    }
    
    
    
    .row + .row
    {
      margin-top: 60px;
    }
    
    .full
    {
      margin: 0 -15px;
    }

    .medium {
      padding: 0 25px;
    }

    .small {
      padding: 0 25px;
      max-width: 1200px;
      margin: auto;
    }
    
    --- main ---   
    --- footer ---
  }
}

@media (min-width: 391px) and (max-width: 1920px) {
  .layout-medium
  {
    display: block;

    --- Allgemein ---
    
    h1 {
      font-size: 35.83px;
    }
    
    p {
      font-family: "Nunito Sans", sans-serif;
      font-weight: 600;
      color: #FFFFFF;
      font-size: 14.4px;
      display: block;
    }
    
    --- Abstände ---
    
    --- grid - System ---
    
    
    --- header ---
    .background-burgundy{
      background-color: #990000;
    }
    
    .row
    {
      display: flex;
      max-width: 100%;
      margin: 10px;
    }
    
    .row + .row
    {
      margin-top: 60px;
    }
    
    .full
    {
      margin: 0 -15px;
    }

    .medium {
      padding: 0 25px;
    }

    .small {
      padding: 0 25px;
      max-width: 1200px;
      margin: auto;
    }
    
    --- main ---
    
    --- footer ---
  }
}

@media (min-width: 1921px) and (max-width: 3440px) {
  .layout-large
  {
    display: block;

    --- Allgemein ---
    
    h1 {
      font-size: 17.3px;
    }
    
    p {
      font-family: "Nunito Sans", sans-serif;
      font-weight: 600;
      color: #FFFFFF;
      font-size: 14.4px;
      display: block;
    }
    
    --- Abstände ---
    
    --- grid - System ---
    
    
    --- header ---
    .background-burgundy{
      background-color: #990000;
    }
    
    .row
    {
      display: flex;
      max-width: 100%;
      margin: 10px;
    }
    
    .row + .row
    {
      margin-top: 60px;
    }
    
    .full
    {
      margin: 0 -15px;
    }

    .medium {
      padding: 0 25px;
    }

    .small {
      padding: 0 25px;
      max-width: 1200px;
      margin: auto;
    }
    
    --- main ---
    
    --- footer ---
  }
} */
/*
 section {
  padding: 40px;
  font-family: sans-serif;
  font-size: 22px;
} */


/* --- Farben --- */
/*
.background-golden{
  background-color:			#FFD919;
}

.background-burgundy{
  background-color:			#990000;
}

.transparent-box {
  display: inline-block;
  background-color: rgba(64, 64, 64, 0.2);
  padding: 20px;
  border-radius: 10px;
}

.trnsp-padding{
  padding: 0 20px 0 20px;
}
*/
/*--- Allgemein ---*/
/*
 .p-dunkel{
  font-weight: 600;
  color: #000000;
}
.p-hell{
  font-weight: 600;
  color: #FFFFFF;
}

main ul li{
  color: #4E6085;
  font-size: 24px;
  font-weight: 800;
  text-align:left;
  list-style-type: none;
  line-height: 2;
}

main .layout-small ul li a{
  color: #4E6085;
  font-size: 17px;
  font-weight: 800;
  text-align:left;
  list-style-type: none;
}

main .layout-small a:hover{
  color: #8698BD;
  font-size: 17px;
  transition: 0.3s;
}

main .layout-medium ul li a{
  color: #4E6085;
  font-size: 24px;
  font-weight: 800;
  text-align:left;
  list-style-type: none;
}

main .layout-medium a:hover{
  color: #8698BD;
  font-size: 24px;
  transition: 0.3s;
}

main .layout-large ul li a{
  color: #4E6085;
  font-size: 24px;
  font-weight: 800;
  text-align:left;
  list-style-type: none;
}

main .layout-large a:hover{
  color: #8698BD;
  font-size: 24px;
  transition: 0.3s;
}

footer a{
  color: #4E6085;
  font-size: 20px;
  font-weight: 800;
}

footer a:hover{
  color: #8698BD;
  font-size: 30px;
  transition: 0.3s;
}

/* --- Abstände --- */
/*
 header .padding_top{
  padding-top: 10px;
}

header .padding_left{
  padding-left: 10px;
}

header .padding_bottom{
  padding-bottom: 10px;
}

header .layout-small {
  margin-bottom: 20px;
}

header .layout-medium {
  margin-bottom: 60px;
}

header .layout-large {
  margin-bottom: 60px;
}

main .layout-small {
  margin-bottom: 300px;
}

main .layout-medium {
  margin-bottom: 300px;
}

main .layout-large {
  margin-bottom: 300px;
}

.abstand-small{
  padding-top: 100px;
}

*/

/* --- Ausrichtung --- */
/*
 .valign-ctr
{
  align-items: center;
}

.zentriert{
  text-align: center;
}

.valign-top{
  align-items: top;
}

*/

/* --- grid - System --- */
/*
 * 
  Jede Kachel zentrieren und Größe übernehmen
.col-4.zentriert {
  flex: 1;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.col-3.zentriert {
  flex: 1;
  height: 54px;
  display: flex;
  justify-content: center;
  align-items: center;
}

 .row {
  display: flex;
  align-items: flex-start;
  padding: 30px 0 30px 0;
}

.row + .row
{
  margin-top: 40px;
}

.row.left {
  justify-content: left;
  align-items: center;
  min-height: 40px;
}

.row.zentriert {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 40px;
}

.flexbox{
  display: flex;
}


/* Hintergrund header */
/*
 * */


/* --- Bilder --- */
/*
.tb-1-header-small {
  background-image: url(images/panorama_small.png);
  background-size:cover;
  background-repeat: no-repeat;
  background-position: center;
}

.tb-header-medium {
  background-image: url(images/panorama_medium.png);
  background-size:cover;
  background-repeat: no-repeat;
  background-position: center;
}

.tb-1-large {
  background-image: url(images/panorama_large.png);
  background-size:cover;
  background-repeat: no-repeat;
  background-position: center;
}

.tb-1 {
  background-image: url(images/digital_desktop.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.tb-2 {
  background-image: url(images/print_folder.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}


.header-bg {
  background-image: url(./images/panorama_large.png);
  background-size: cover;
  background-position: center;
  padding: 20px 0;
}

*/

/*--- grid - System ---*/

/*
 * .col-6 {
 * flex: 1;
  width: 50%;
  padding: 0 15px;
}
  

.col-4 {
  width: 33.33%;
  padding: 0 15px;
}

.col-3 {
  width: 25%;
  padding: 0 15px;
}
*/

/*
    
.col-12 {
    width: 100%;
  padding: 0 15px;
}

.col-9 {
  width: 75%;
  padding: 0 15px;
}

.col-8 {
  width: 66.66%;
  padding: 0 15px;
}

.col-1 {
  width: 8.33%;
  padding: 0 15px;
}
 
*/
/*
@media (max-width: 390px)
{
  .layout-small
  {
    display: block;

    --- Allgemein ---
    
    h1 {
      font-size: 28px;
    }
    
    p {
      font-family: "Nunito Sans", sans-serif;
      font-weight: 600;
      color: #FFFFFF;
      font-size: 19px;
      display: block;
    }
    
    --- Abstände ---
    --- header ---
    .background-burgundy{
      background-color: #990000;
    }
    

    .full
    {
      margin: 0 -15px;
    }

    .medium {
      padding: 0 25px;
    }

    .small {
      padding: 0 25px;
      max-width: 1200px;
      margin: auto;
    }
    
--- main ---
    
--- footer ---
  }
}

@media (min-width: 391px) and (max-width: 1920px) {
  .layout-medium
  {
    display: block;

--- Allgemein ---
    
    h1 {
      font-size: 35.83px;
    }
    
    p {
      font-family: "Nunito Sans", sans-serif;
      font-weight: 600;
      color: #FFFFFF;
      font-size: 14.4px;
      display: block;
    }
    
--- Abstände ---
    
    
--- header ---

    .full
    {
      margin: 0 -15px;
    }

    .medium {
      padding: 0 25px;
    }

    .small {
      padding: 0 25px;
      max-width: 1200px;
      margin: auto;
    }
    
--- main ---
    
--- footer ---
  }
}

@media (min-width: 1921px) and (max-width: 3440px) {
  .layout-large
  {
    display: block;

--- Allgemein ---
    
    h1 {
      font-size: 56px;
    }
    
    p {
      font-family: "Nunito Sans", sans-serif;
      font-weight: 600;
      color: #FFFFFF;
      font-size: 38px;
      display: block;
    }
    
--- Abstände ---
    
    --- grid - System ---
    
    
--- header ---
    .background-burgundy{
      background-color: #990000;
    }
    
    .full
    {
      margin: 0 -15px;
    }

    .medium {
      padding: 0 25px;
    }

    .small {
      padding: 0 25px;
      max-width: 1200px;
      margin: auto;
    }
    
--- main ---
    
    --- footer ---
  }
}
*/