/* FONTS / ICONS
----------------------------------------------------------------------- */ 

@import url('https://i.icomoon.io/public/9713667a53/Haeusler/style.css');

@font-face {
  font-family: 'Nitti';
  src:  url('../fonts/Nitti-Regular.woff2') format('woff2'),
        url('../fonts/Nitti-Regular.woff') format('woff');
  }
  
@font-face {
  font-family: 'Nitti';
  font-weight: 700;
  src:  url('../fonts/Nitti-Bold.woff2') format('woff2'),
        url('../fonts/Nitti-Bold.woff') format('woff');
  }  

@font-face {
  font-family: 'Right Grotesk';
  src:  url('../fonts/PPRightGrotesk-WideRegular.woff2') format('woff2'),
        url('../fonts/PPRightGrotesk-WideRegular.woff') format('woff');
  }
  
@font-face {
  font-family: 'Lektorat Display';
  src:  url('../fonts/LektoratDisplay-CompressedExtrabold.woff2') format('woff2'),
        url('../fonts/LektoratDisplay-CompressedExtrabold.woff') format('woff');
  }  

/* GENERAL
----------------------------------------------------------------------- */ 

* {
  box-sizing: border-box;
  
  --padding-side: calc(32vw / 1728 * 100);
  --blue: #7DA1A9;
  --dark: #41444A;
  
  --wp--preset--spacing--small: calc(140vw / 1728 * 100 + var(--padding-side));
  --wp--preset--spacing--medium: calc(280vw / 1728 * 100 + var(--padding-side));
  --wp--preset--spacing--large: calc(420vw / 1728 * 100 + var(--padding-side)); 
  --wp--preset--spacing--x-large: calc(560vw / 1728 * 100 + var(--padding-side)); 
  }
  
:root :where(.editor-styles-wrapper)::after {
  display: none !important;
  }
  
.block-editor-block-list__layout.is-root-container > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 83.68% !important;
  margin-left: inherit !important;
  margin-right: inherit !important;
  }  
  
.is-root-container {
  padding-top: calc(85vw / 1728 * 100);
  } 
  
.is-root-container.show-grid {
  background: url('../img/grid.png') repeat-y;
  background-size: 100% auto;
  }   
  
.editor-styles-wrapper {
  -webkit-font-smoothing: antialiased !important;
  padding: 0 !important;
  font-family: 'Right Grotesk';
  font-size: calc(22vw / 1728 * 100);
  line-height: 1.35;
  overflow-x: hidden;
  color: var(--dark);
  }
  
.editor-styles-wrapper P A {
  color: var(--dark);
  border: none;
  text-decoration: none;
  }  
  
.editor-styles-wrapper P A:hover {
  color: var(--blue);
  }  
  
.wp-block {
  margin-top: 0;
  margin-bottom: 0;
  } 
  
.editor-visual-editor__post-title-wrapper {
  display: none !important;
  }  
  
.wp-block-post-content {
  padding-bottom: calc(150vw / 1728 * 100);
  }
  
.wp-block-post-content > * {  
  max-width: 83.68%; 
  padding-left: var(--padding-side);
  padding-right: var(--padding-side);
  margin-left: auto;
  margin-right: auto;
  }

.wp-block-post-content > .alignwide {  
  max-width: 100% !important;
  padding-left: var(--padding-side);
  padding-right: var(--padding-side);
  }       
  
.wp-block-post-content P {  
  margin-top: 0;
  margin-bottom: 1.35em;
  line-height: 1.35;
  }

/* LAYOUT
----------------------------------------------------------------------- */   

.container {
  padding: 0 var(--padding-side);
  }
  
/* BLOCK HEADINGS
------------------------------------------------------------------------- */

H1.wp-block-heading {
  font-family: Lektorat Display;
  font-weight: 400;
  text-align: center;
  font-size: calc(36vw / 1728 * 100);
  margin-top: calc(70vw / 1728 * 100);
  margin-bottom: calc(70vw / 1728 * 100) !important;
  }
  
H2.wp-block-heading {
  font-family: Nitti;
  font-weight: 400;
  font-size: calc(40vw / 1728 * 100);
  line-height: 1.1;
  margin-top: calc(100vw / 1728 * 100);
  margin-bottom: calc(40vw / 1728 * 100);
  }  
  
H3.wp-block-heading {
  font-family: Nitti;
  font-weight: 400;
  font-size: calc(18vw / 1728 * 100);
  margin-top: calc(50vw / 1728 * 100);
  margin-bottom: 0;
  }  
  
H3.wp-block-heading:after {  
  display: block;
  content: "--";
  }
  
H3.wp-block-heading:has(STRONG):after {  
  display: none;
  }  
  
H3.wp-block-heading:first-child {
  margin-top: 0;
  }  
  
.has-nitti-font-family,
.has-nitti-font-family P {
  font-size: calc(20vw / 1728 * 100);
  line-height: 1.25 !important;
  }  
  
/* BLOCK GROUP
----------------------------------------------------------------------- */   

.wp-block-group.is-style-narrow {
  max-width: calc(390vw / 1728 * 100) !important;
  padding: 0;
  margin-left: auto;
  margin-right: auto;
  }
  
.wp-block-group * {
  max-width: 100% !important;
  }  
  
/* BLOCK COLUMNS
----------------------------------------------------------------------- */   

.wp-block-columns.alignwide {
  gap: calc(32vw / 1728 * 100) !important;
  } 
  
.wp-block-columns {
  gap: calc(174vw / 1728 * 100) !important;
  }      
  
/* BLOCK GALLERY
----------------------------------------------------------------------- */   
  
.wp-block-gallery {
  gap: calc(32vw / 1728 * 100) !important;
  }
  
/* BLOCK IMAGE
----------------------------------------------------------------------- */   

.wp-block-image {
  margin: calc(50vw / 1728 * 100) auto;
  }  
  
/* BLOCK TABLE
----------------------------------------------------------------------- */   

.wp-block-table TD {
  border: none;
  padding: 0 1.2em 1em 0;
  vertical-align: top;
  font-size: calc(20vw / 1728 * 100);
  width: auto !important;
  }   
  
.wp-block-table TD:first-child {   
  font-family: Nitti;
  white-space: nowrap;
  }
  
/* BLOCK BUTTON
----------------------------------------------------------------------- */   
  
A.button {
  display: inline-block;
  font-family: Nitti;
  font-size: calc(20vw / 1728 * 100);
  height: calc(40vw / 1728 * 100);
  line-height: calc(36vw / 1728 * 100);
  border: 1px solid var(--dark);
  background: none;
  padding: 0 calc(15vw / 1728 * 100);
  border-radius: 100px;
  cursor: pointer;
  transition: 0.2s;
  user-select: none;
  color: var(--dark);
  text-decoration: none;
  }
  
A.button:hover {  
  color: #fff;
  background: var(--blue);
  } 
  
/* LAZYBLOCK NEXT
----------------------------------------------------------------------- */   
  
.wp-block-lazyblock-next {
  margin-top: calc(100vw / 1728 * 100) !important;
  position: relative;
  }  
  
.is-root-container .wp-block-lazyblock-next:before {  
  content: " ";
  position: absolute;
  z-index: 50;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0;
  }  
  
/* LAZYBLOCK FILTERZEICHEN
----------------------------------------------------------------------- */   
  
.category-symbols {
  font-size: calc(32vw / 1728 * 100);
  text-decoration: none;
  }  
  
.category-symbols I {
  transition: 0.2s;
  }  
  
.category-symbols I:hover {  
  color: var(--blue);
  }  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
