@charset "UTF-8";

/* 

  Diese CSS-Datei definiert das mobile Styling der Seite

*/

/* -----  Min. 1800  --------------------------------------------------- */

@media all and ( min-width: 1800px ) {
  .hide1500 { display: none; }
  .show1500 { display: block; }
}

/* -----  Min. 2000  --------------------------------------------------- */

@media all and ( min-width: 2000px ) {
  .hide2000 { display: none; }
  .show2000 { display: block; }
}

/* -----  Max. 1400  --------------------------------------------------- */

@media all and (max-width: 1400px) {
  .hide1400 { display: none; }
  .show1400 { display: block; }
}

/* -----  Max. 1200  --------------------------------------------------- */

@media all and (max-width: 1200px) {
  .hide1200 { display: none; }
  .show1200 { display: block; }
}

/* -----  Max. 1024  --------------------------------------------------- */

@media all and (max-width: 1024px) {
  .hide1024 { display: none; }
  .show1024 { display: block; }

  h1 { font-size: 6.5vw; }
  h2 { font-size: 5vw; }
  h3 { font-size: 4.2vw; }
  h4 { font-size: 1.85rem; }
  h5 { font-size: 1.4rem; }
  h6 { font-size: 1.15rem; }

  header#page .logo img { margin: 3vw 0 0 6vw; }

  #contact .col_l_6:first-child { margin-bottom: 6vw; }
  #content .padtop8vw { padding-top: 6vw; }

  #start section h2 { font-size: 6vw; }

  #welcome .overlay-white { opacity: .3; }

  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column { flex-basis: 100%!important; }
  .wp-block-columns { align-items: normal!important; box-sizing: border-box; display: flex; flex-wrap: wrap!important; }

  #portraits #owl-portraits .owl-item { min-height: 500px; }
  #portraits #owl-portraits .owl-item div.portrait_content .pad0_6vw { padding: 6vw; }
  #portraits #owl-portraits .owl-item div.portrait_content h3 { font-size: 2.5vw; }

  #law.padtop6vw { padding-top: 8vw; }

}

@media all and (orientation: landscape) and (max-width: 1024px) {
}
  
@media all and (orientation: portrait) and (max-width: 1024px) {
}
  
/* -----  Max. 768  ---------------------------------------------------- */
  
@media all and ( max-width: 768px ) {
  .hide768 { display: none; }
  .show768 { display: block; }

  h1 { font-size: 5rem; }
  h2 { font-size: 3.5rem; }
  h3 { font-size: 2.5rem; }
  h4 { font-size: 1.85rem; }
  h5 { font-size: 1.4rem; }
  h6 { font-size: 1.15rem; }

  .content h1 { font-size: 2.2rem; }
  .content h2 { font-size: 2.0rem; }
  .content h3 { font-size: 1.6rem; }
  .content h4 { font-size: 1.4rem; }
  .content h5 { font-size: 1.3rem; }
  .content h6 { font-size: 1.1rem; }

  hr { margin: 4vw 0; width: 90px; }

  iframe.map { width: 100%; height: 50vw; }

  .backline:after { width: 30px; margin-left: .75rem; }

  h1.pad0_6vw { padding: 0 20px; }
  #content .pad6_0vw, #contact .pad6_0vw, #karriere .pad6_0vw { padding: 10vw 0 12vw }
  #content .padtop8vw { padding-top: 1.75rem; }
  #content .featuredimg { margin-bottom: 10px; }
  #contact .col_l_5 { margin-bottom: 1.75rem; }

  #start { height: 50vh; }
  #start section h2 { font-size: 6vw; }

  #welcome .col_l_sp_6.round.pad150rem,
  #karriere .col_l_sp_4.round.pad150rem,
  #content .col_l_sp_6.round.pad150rem { padding: 20px; }

  #portraits #owl-portraits .owl-item { min-height: 380px; }
  #portraits #owl-portraits .owl-item div.portrait_content .pad0_6vw { padding: 30px; }
  #portraits #owl-portraits .owl-item div.portrait_content h3 { font-size: 1.2rem; }

}
  
@media all and (orientation: landscape) and (max-width: 768px) {
}
  
@media all and (orientation: portrait) and (max-width: 768px) {
}

/* -----  Max. 600  ---------------------------------------------------- */
  
@media all and (max-width: 600px) {
  .hide600 { display: none; }
  .show600 { display: block; }
}

/* -----  Max. 550  ---------------------------------------------------- */
  
@media all and (max-width: 550px) {
  .hide550 { display: none; }
  .show550 { display: block; }

  .hide { opacity: 1; margin-left: 0; margin-right: 0; }

  hr { margin: 1.5rem 0; width: 60px; }
  hr.large { margin: 1.5rem 0; }

  iframe.map { width: 100%; height: 300px; }

  header#page .logo img { margin: 20px 0 0 20px; }

  section { padding: 40px 20px; }

  #referenzen section { margin: 0 6vw; }

  h1 { font-size: 2.3rem; }
  h2 { font-size: 1.85rem; }
  h3 { font-size: 1.7rem; }
  h4 { font-size: 1.6rem; }
  h5 { font-size: 1.3rem; }
  h6 { font-size: 1.15rem; }

  .content h1 { font-size: 1.8rem; }
  .content h2 { font-size: 1.7rem; }
  .content h3 { font-size: 1.5rem; }
  .content h4 { font-size: 1.35rem; }
  .content h5 { font-size: 1.25rem; }
  .content h6 { font-size: 1.1rem; }

  .text { line-height: 1.45em; }

  figure.alignleft.is-resized { width: 100% !important; }

  header#page .logo img,
  #start .logo img { min-width: 120px; }
  #start section h1 { font-size: 11vw; }

  #portraits #owl-portraits .owl-item { min-height: 500px; }

  #calltoaction .padtop3vw { padding-top: 25px; }
  #calltoaction .padbot3vw { padding-bottom: 25px; text-align: center; }
  #calltoaction .padbot3vw .mittig { display: block; width: 100%; text-align: center; padding: 5px; }

  #content section.pad0_6vw { padding: 0 20px; }
  #contact .col_l_6:first-child { margin-bottom: 0; }
  #contact .col_xxs_12 { margin-top: 30px; }

  footer section.padtop2vw { padding-top: 20px; }
  footer section.padbot2vw { padding-bottom: 20px; }

}

@media all and (orientation: landscape) and (max-width: 550px) {
}

@media all and (orientation: portrait) and (max-width: 550px) {
}

/* -----  Max. 400  ---------------------------------------------------- */
  
@media all and (max-width: 450px) {
  .hide450 { display: none; }
  .show450 { display: block; }
}
