diff --git a/package-lock.json b/package-lock.json
index 58ff055967e7fde6099ebb9e733da735e02cf994..b96d008b96b0932c48f7b2b08469ddaabdcabdf1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,7 +12,6 @@
         "@angular/compiler": "~13.3.0",
         "@angular/core": "~13.3.0",
         "@angular/elements": "^13.2.7",
-        "@angular/flex-layout": "^12.0.0-beta.35",
         "@angular/forms": "~13.3.0",
         "@angular/material": "^12.2.13",
         "@angular/platform-browser": "~13.3.0",
@@ -586,21 +585,6 @@
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
-    "node_modules/@angular/flex-layout": {
-      "version": "12.0.0-beta.35",
-      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-12.0.0-beta.35.tgz",
-      "integrity": "sha512-nPi2MGDFuCacwWHqxF/G7lUJd2X99HbLjjUvKXnyLwyCIVgH1sfS52su2wYbVYWJRqAVAB2/VMlrtW8Khr8hDA==",
-      "dependencies": {
-        "tslib": "^2.1.0"
-      },
-      "peerDependencies": {
-        "@angular/cdk": "^12.0.0",
-        "@angular/common": ">=12.0.0",
-        "@angular/core": ">=12.0.0",
-        "@angular/platform-browser": ">=12.0.0",
-        "rxjs": "^6.0.0 || ^7.0.0"
-      }
-    },
     "node_modules/@angular/forms": {
       "version": "13.3.8",
       "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.8.tgz",
@@ -16258,14 +16242,6 @@
         "tslib": "^2.3.0"
       }
     },
-    "@angular/flex-layout": {
-      "version": "12.0.0-beta.35",
-      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-12.0.0-beta.35.tgz",
-      "integrity": "sha512-nPi2MGDFuCacwWHqxF/G7lUJd2X99HbLjjUvKXnyLwyCIVgH1sfS52su2wYbVYWJRqAVAB2/VMlrtW8Khr8hDA==",
-      "requires": {
-        "tslib": "^2.1.0"
-      }
-    },
     "@angular/forms": {
       "version": "13.3.8",
       "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.3.8.tgz",
diff --git a/package.json b/package.json
index 29b4d008f5d0a7fcbb2b505c0dcf914bfa13f1c1..f0508567c6309c2e960b6fc789d8bcfd64eb6bc2 100644
--- a/package.json
+++ b/package.json
@@ -62,7 +62,6 @@
     "@angular/compiler": "~13.3.0",
     "@angular/core": "~13.3.0",
     "@angular/elements": "^13.2.7",
-    "@angular/flex-layout": "^12.0.0-beta.35",
     "@angular/forms": "~13.3.0",
     "@angular/material": "^12.2.13",
     "@angular/platform-browser": "~13.3.0",
diff --git a/projects/common/components/compound-elements/likert/likert-radio-button-group.component.ts b/projects/common/components/compound-elements/likert/likert-radio-button-group.component.ts
index dabed44d605b694e82df2df6f6ebce5326e505a2..a73d30e4f01f87dae638c928edb3e78693e4064d 100644
--- a/projects/common/components/compound-elements/likert/likert-radio-button-group.component.ts
+++ b/projects/common/components/compound-elements/likert/likert-radio-button-group.component.ts
@@ -48,14 +48,14 @@ import { LikertRowElement } from 'common/models/elements/compound-elements/liker
       box-sizing: border-box;
       display: flex;
       flex-direction: row;
-      justify-content: start;
+      justify-content: flex-start;
       align-items: stretch;
     }
     .fx-column-start-stretch {
       box-sizing: border-box;
       display: flex;
       flex-direction: column;
-      justify-content: start;
+      justify-content: flex-start;
       align-items: stretch;
     }
   `]
diff --git a/projects/common/components/input-elements/drop-list.component.ts b/projects/common/components/input-elements/drop-list.component.ts
index 0b0e1702a6af134c9653fa94805fdcdd0911f5bd..709e44afbb22468a861cabf69311b7a1872de544 100644
--- a/projects/common/components/input-elements/drop-list.component.ts
+++ b/projects/common/components/input-elements/drop-list.component.ts
@@ -118,7 +118,7 @@ import { FormElementComponent } from '../../directives/form-element-component.di
     ':not(.cloze-context) .list-item.text-list-item {padding: 10px;}',
     '.cloze-context .list-item.text-list-item {padding: 0 5px;}',
     '.cloze-context.only-one-item .list-item {height: 100%; display: flex; align-items: center; justify-content: center;}',
-    '.image-list-item {align-self: start;}',
+    '.image-list-item {align-self: flex-start;}',
     '.hide-list-item {display: none !important; transform: unset !important;}',
     '.cdk-drag-preview {border-radius: 5px; box-shadow: 2px 2px 5px black;}',
     '.cdk-drag-preview.text-preview {padding: 10px; box-sizing: border-box;}',
diff --git a/projects/common/components/input-elements/radio-button-group.component.ts b/projects/common/components/input-elements/radio-button-group.component.ts
index e141cf346c790de401048a9368240f7ce50469ea..6215d6da2517f9cf4f54c4ca918e33886840070a 100644
--- a/projects/common/components/input-elements/radio-button-group.component.ts
+++ b/projects/common/components/input-elements/radio-button-group.component.ts
@@ -69,14 +69,14 @@ import { FormElementComponent } from '../../directives/form-element-component.di
       box-sizing: border-box;
       display: flex;
       flex-direction: row;
-      justify-content: start;
+      justify-content: flex-start;
       align-items: stretch;
     }
     .fx-column-start-stretch {
       box-sizing: border-box;
       display: flex;
       flex-direction: column;
-      justify-content: start;
+      justify-content: flex-start;
       align-items: stretch;
     }
   `]
diff --git a/projects/common/components/input-elements/spell-correct.component.ts b/projects/common/components/input-elements/spell-correct.component.ts
index c2352618c1e5ce8d75556902e37032c2713b6b67..12d08d58bc9bdd78a7c5ce93bc9d55605e59edc9 100644
--- a/projects/common/components/input-elements/spell-correct.component.ts
+++ b/projects/common/components/input-elements/spell-correct.component.ts
@@ -74,7 +74,7 @@ import { TextInputComponent } from 'common/directives/text-input-component.direc
       box-sizing: border-box;
       display: flex;
       flex-direction: column;
-      justify-content: start;
+      justify-content: flex-start;
       align-items: stretch;
     }
   `]
diff --git a/projects/common/shared.module.ts b/projects/common/shared.module.ts
index 4100364162a2de18a330245a3dfce9c84a0360b3..c3403814a8c18e5cb8cd0593adf97f15f1b2f5e7 100644
--- a/projects/common/shared.module.ts
+++ b/projects/common/shared.module.ts
@@ -3,7 +3,6 @@ import { NgModule } from '@angular/core';
 import { CommonModule } from '@angular/common';
 
 import { MatButtonModule } from '@angular/material/button';
-import { FlexLayoutModule } from '@angular/flex-layout';
 import { MatSelectModule } from '@angular/material/select';
 import { MatIconModule, MatIconRegistry } from '@angular/material/icon';
 import { MatInputModule } from '@angular/material/input';
@@ -80,7 +79,6 @@ import { GetValuePipe, MathFieldComponent } from './components/input-elements/ma
   imports: [
     CommonModule,
     HttpClientModule,
-    FlexLayoutModule,
     DragDropModule,
     MatSelectModule,
     MatRadioModule,
@@ -146,7 +144,6 @@ import { GetValuePipe, MathFieldComponent } from './components/input-elements/ma
   ],
   exports: [
     CommonModule,
-    FlexLayoutModule,
     MatIconModule,
     MatTabsModule,
     MatButtonModule,
diff --git a/projects/editor/src/app/app.component.ts b/projects/editor/src/app/app.component.ts
index 09a99e46fa02d5fec443e64208374ba84fbf8423..f13f6f6eab7bf2ecfaf2d55982bdd8f2a3353c6c 100644
--- a/projects/editor/src/app/app.component.ts
+++ b/projects/editor/src/app/app.component.ts
@@ -8,14 +8,27 @@ import { UnitService } from './services/unit.service';
 @Component({
   selector: 'aspect-editor',
   template: `
-    <div fxLayout="column" class="mainView">
+    <div class="mainView fx-column-start-stretch">
       <aspect-toolbar *ngIf="isStandalone"></aspect-toolbar>
-      <aspect-unit-view fxFlex></aspect-unit-view>
+      <aspect-unit-view class="fx-flex"></aspect-unit-view>
     </div>
   `,
-  styles: [
-    '.mainView {height: 100%;}'
-  ]
+  styles: [`
+    .mainView {
+      height: 100%;
+    }
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: start;
+      align-items: stretch;
+    }
+    .fx-flex {
+      flex: 1 1 0;
+      box-sizing: border-box;
+    }
+  `]
 })
 export class AppComponent implements OnInit {
   isStandalone = window === window.parent;
diff --git a/projects/editor/src/app/components/canvas/canvas.component.html b/projects/editor/src/app/components/canvas/canvas.component.html
index 8f130d24db7e979cbbdf3673e53e1141b395668f..496d8322ed8ebf76a349de7799840320e3c54549 100644
--- a/projects/editor/src/app/components/canvas/canvas.component.html
+++ b/projects/editor/src/app/components/canvas/canvas.component.html
@@ -1,4 +1,4 @@
-<div class="canvasBackground" fxFlex
+<div class="canvasBackground fx-flex"
      (click)="selectionService.clearElementSelection()">
   <div [style.width.px]="page.hasMaxWidth ? page.maxWidth : null"
        [style.padding.px]="page.margin"
@@ -6,7 +6,7 @@
     <div cdkDropListGroup>
       <div *ngFor="let section of page.sections; let i = index" [style.position]="'relative'">
         <aspect-section-menu [class.hidden]="selectionService.selectedPageSectionIndex !== i"
-                             class="section-menu" fxLayout="column"
+                             class="section-menu fx-column-start-stretch"
                              [style.left.px]="-45" [style.z-index]="1" [style.position]="'absolute'"
                              [section]="section" [sectionIndex]="i"
                              [allowMoveUp]="i != 0"
diff --git a/projects/editor/src/app/components/canvas/canvas.component.ts b/projects/editor/src/app/components/canvas/canvas.component.ts
index ff640c329afa5b5068e0d9c279038fe0d7fcef39..dd3ac25804f1a433b9ecdd53f5ea363390cfc63d 100644
--- a/projects/editor/src/app/components/canvas/canvas.component.ts
+++ b/projects/editor/src/app/components/canvas/canvas.component.ts
@@ -14,13 +14,41 @@ import { SectionDynamicComponent } from './section-dynamic.component';
 @Component({
   selector: 'aspect-page-canvas',
   templateUrl: './canvas.component.html',
-  styles: [
-    '.canvasBackground {background-color: lightgrey; padding: 20px 50px; height: 100%; overflow: auto;}',
-    '.add-section-button {width: 100%; height: 25px; background-color: #BABABA; margin-top: 10px; border-radius: 10%}',
-    '::ng-deep .add-section-button span.mat-button-wrapper {padding: 0}',
-    '::ng-deep .add-section-button span.mat-button-wrapper mat-icon {vertical-align: unset}',
-    '.hidden {display: none !important;}'
-  ]
+  styles: [`
+    .canvasBackground {
+      background-color: lightgrey;
+      padding: 20px 50px;
+      height: 100%;
+      overflow: auto;
+    }
+    .add-section-button {
+      width: 100%;
+      height: 25px;
+      background-color: #BABABA;
+      margin-top: 10px;
+      border-radius: 10%;
+    }
+    ::ng-deep .add-section-button span.mat-button-wrapper {
+      padding: 0;
+    }
+    ::ng-deep .add-section-button span.mat-button-wrapper mat-icon {
+      vertical-align: unset;
+    }
+    .hidden {
+      display: none !important;
+    }
+    .fx-flex {
+        flex: 1 1 0;
+        box-sizing: border-box;
+    }
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+  `]
 })
 export class CanvasComponent {
   @Input() page!: Page;
diff --git a/projects/editor/src/app/components/canvas/section-menu.component.ts b/projects/editor/src/app/components/canvas/section-menu.component.ts
index d225afa0bf2001750b145559ef680410bcd65da4..08627ba8fef596ddf5ce918dd02d176203f2c03e 100644
--- a/projects/editor/src/app/components/canvas/section-menu.component.ts
+++ b/projects/editor/src/app/components/canvas/section-menu.component.ts
@@ -145,7 +145,7 @@ import { SelectionService } from '../../services/selection.service';
                        (click)="$any($event).stopPropagation()"
                        (change)="modifySizeArray('gridRowSizes', $any($event).target.value)">
               </mat-form-field>
-              <div *ngFor="let size of rowSizes ; let i = index" class="size-inputs" fxLayout="row">
+              <div *ngFor="let size of rowSizes ; let i = index" class="size-inputs fx-row-start-stretch">
                 <mat-form-field class="size-item">
                   <mat-label>{{'section-menu.height' | translate }} {{i + 1}}</mat-label>
                   <input matInput type="number"
@@ -197,15 +197,36 @@ import { SelectionService } from '../../services/selection.service';
       <mat-icon>clear</mat-icon>
     </button>
   `,
-  styles: [
-    '::ng-deep .layoutMenu {padding: 0 15px; width: 250px;}',
-    '::ng-deep .layoutMenu fieldset {margin: 10px 0; display: flex; flex-direction: column; align-items: start;}',
-    '::ng-deep .layoutMenu .section-height-input {margin-top: 10px;}',
-    '::ng-deep .layoutMenu .size-inputs .mat-form-field {width: 100px;}',
-    '::ng-deep .layoutMenu .size-inputs {display: flex; flex-direction: row; gap: 15px;}',
-    '.menuItem {margin-bottom: 5px;}',
-    '::ng-deep .activeAfterID-menu .mat-form-field {width:90%; margin-left: 10px;}'
-  ]
+  styles: [`
+    ::ng-deep .layoutMenu {
+      padding: 0 15px; width: 250px;
+    }
+    ::ng-deep .layoutMenu fieldset {
+      margin: 10px 0; display: flex; flex-direction: column; align-items: flex-start;
+    }
+    ::ng-deep .layoutMenu .section-height-input {
+      margin-top: 10px;
+    }
+    ::ng-deep .layoutMenu .size-inputs .mat-form-field {
+      width: 100px;
+    }
+    ::ng-deep .layoutMenu .size-inputs {
+      display: flex; flex-direction: row; gap: 15px;
+    }
+    .menuItem {
+      margin-bottom: 5px;
+    }
+    ::ng-deep .activeAfterID-menu .mat-form-field {
+      width:90%; margin-left: 10px;
+    }
+    .fx-row-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: row;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+  `]
 })
 export class SectionMenuComponent implements OnInit, OnDestroy {
   @Input() section!: Section;
diff --git a/projects/editor/src/app/components/dialogs/drop-list-option-edit-dialog.component.ts b/projects/editor/src/app/components/dialogs/drop-list-option-edit-dialog.component.ts
index 368a21084eecceb171a3cb18f6c88548ff51765f..84809fce3fc446b7d2fb9c3b5b1f374a1a02e2ad 100644
--- a/projects/editor/src/app/components/dialogs/drop-list-option-edit-dialog.component.ts
+++ b/projects/editor/src/app/components/dialogs/drop-list-option-edit-dialog.component.ts
@@ -6,7 +6,7 @@ import { DragNDropValueObject } from 'common/models/elements/element';
 @Component({
   selector: 'aspect-drop-list-option-edit-dialog',
   template: `
-    <mat-dialog-content fxLayout="column">
+    <mat-dialog-content class="fx-column-start-stretch">
       <mat-form-field>
         <mat-label>{{'text' | translate }}</mat-label>
         <input #textField matInput type="text" [value]="data.value.text">
@@ -31,7 +31,16 @@ import { DragNDropValueObject } from 'common/models/elements/element';
       </button>
       <button mat-button mat-dialog-close>{{'cancel' | translate }}</button>
     </mat-dialog-actions>
-  `
+  `,
+  styles: [`
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+  `]
 })
 export class DropListOptionEditDialogComponent {
   constructor(@Inject(MAT_DIALOG_DATA) public data: { value: DragNDropValueObject }) { }
diff --git a/projects/editor/src/app/components/dialogs/geogebra-app-definition-dialog.component.ts b/projects/editor/src/app/components/dialogs/geogebra-app-definition-dialog.component.ts
index efd9b106e3a4cc39d9365e449c67d1ac4c98ca58..2d0b7bb9faaf7332c60e0eeccb7dc72798947e09 100644
--- a/projects/editor/src/app/components/dialogs/geogebra-app-definition-dialog.component.ts
+++ b/projects/editor/src/app/components/dialogs/geogebra-app-definition-dialog.component.ts
@@ -5,7 +5,7 @@ import { MatDialogRef } from '@angular/material/dialog';
 @Component({
   selector: 'app-geogebra-app-definition-dialog',
   template: `
-    <mat-dialog-content fxLayout="column">
+    <mat-dialog-content class="fx-column-start-stretch">
       <div class="paste-area" contenteditable="true"
            (paste)="validateBase64($event.clipboardData?.getData('Text'))">
         <span>Base64 Repräsentation einfügen</span>
@@ -22,12 +22,31 @@ import { MatDialogRef } from '@angular/material/dialog';
       <button mat-button mat-dialog-close>{{'cancel' | translate }}</button>
     </mat-dialog-actions>
   `,
-  styles: [
-    '.paste-area {width: 400px; height: 100px; border: 1px solid; overflow: hidden; white-space: pre-wrap;}',
-    '.paste-area:focus span {display: none}',
-    'button {margin-top: 10px;}',
-    '.status-area {margin-top: 10px;}'
-  ]
+  styles: [`
+    .paste-area {
+      width: 400px;
+      height: 100px;
+      border: 1px solid;
+      overflow: hidden;
+      white-space: pre-wrap;
+    }
+    .paste-area:focus span {
+      display: none;
+    }
+    button {
+      margin-top: 10px;
+    }
+    .status-area {
+      margin-top: 10px;
+    }
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+  `]
 })
 export class GeogebraAppDefinitionDialogComponent {
   statusMessage: { text: string; color: string } | undefined;
diff --git a/projects/editor/src/app/components/dialogs/hotspot-edit-dialog.component.ts b/projects/editor/src/app/components/dialogs/hotspot-edit-dialog.component.ts
index 52698c56748f5b919c5c0eb35039dc17d658d0b2..fbe3e5245594c9f6df45f815c1ec7225d2cb8d4e 100644
--- a/projects/editor/src/app/components/dialogs/hotspot-edit-dialog.component.ts
+++ b/projects/editor/src/app/components/dialogs/hotspot-edit-dialog.component.ts
@@ -5,39 +5,39 @@ import { Hotspot } from 'common/models/elements/element';
 @Component({
   selector: 'aspect-hotspot-edit-dialog',
   template: `
-    <mat-dialog-content fxLayout="column" fxLayoutGap="10px">
-      <div fxLayout="row" fxLayoutGap="10px">
-        <mat-form-field appearance="fill" fxFlex="50">
+    <mat-dialog-content class="fx-column-start-stretch fx-fix-gap-10">
+      <div class="fx-row-start-stretch fx-fix-gap-10">
+        <mat-form-field class="fx-flex-50" appearance="fill">
           <mat-label>{{ 'hotspot.top' | translate }}</mat-label>
           <input matInput type="number" min="0"
                  [(ngModel)]="newHotspot.top">
         </mat-form-field>
-        <mat-form-field appearance="fill" fxFlex="50">
+        <mat-form-field class="fx-flex-50"  appearance="fill">
           <mat-label>{{ 'hotspot.left' | translate }}</mat-label>
           <input matInput type="number" min="0"
                  [(ngModel)]="newHotspot.left">
         </mat-form-field>
       </div>
-      <div fxLayout="row" fxLayoutGap="10px">
-        <mat-form-field appearance="fill" fxFlex="50">
+      <div class="fx-row-start-stretch fx-fix-gap-10">
+        <mat-form-field class="fx-flex-50"  appearance="fill">
           <mat-label>{{ 'hotspot.width' | translate }}</mat-label>
           <input matInput type="number" min="0"
                  [(ngModel)]="newHotspot.width">
         </mat-form-field>
-        <mat-form-field appearance="fill" fxFlex="50">
+        <mat-form-field class="fx-flex-50" appearance="fill">
           <mat-label>{{ 'hotspot.height' | translate }}</mat-label>
           <input matInput type="number" min="0"
                  [(ngModel)]="newHotspot.height">
         </mat-form-field>
       </div>
-      <div fxLayout="row" fxLayoutGap="10px" fxLayoutAlign="space-between center">
-        <mat-radio-group [(ngModel)]="newHotspot.shape" fxFlex="50" fxLayout='column' fxLayoutGap="5px">
+      <div class="fx-row-space-between-center fx-fix-gap-10">
+        <mat-radio-group [(ngModel)]="newHotspot.shape" class="fx-column-start-stretch fx-flex-50 fx-fix-gap-5">
           <label>{{'hotspot.shape' | translate}}</label>
           <mat-radio-button value='ellipse'>{{'hotspot.ellipse' | translate}}</mat-radio-button>
           <mat-radio-button value='rectangle'>{{'hotspot.rectangle' | translate}}</mat-radio-button>
           <mat-radio-button value='triangle'>{{'hotspot.triangle' | translate}}</mat-radio-button>
         </mat-radio-group>
-        <mat-form-field appearance="fill" fxFlex="50">
+        <mat-form-field class="fx-flex-50" appearance="fill">
           <mat-label>{{ 'hotspot.borderWidth' | translate }}</mat-label>
           <input matInput type="number" min="0"
                  [(ngModel)]="newHotspot.borderWidth">
@@ -45,8 +45,8 @@ import { Hotspot } from 'common/models/elements/element';
       </div>
 
 
-      <div fxLayout="row" fxLayoutGap="10px">
-        <mat-form-field appearance="fill" class="mdInput textsingleline">
+      <div class="fx-row-start-stretch fx-fix-gap-10">
+        <mat-form-field appearance="fill" class="mdInput textsingleline fx-flex-50">
           <mat-label>{{'hotspot.backgroundColor' | translate }}</mat-label>
           <input matInput type="text" [(ngModel)]="newHotspot.backgroundColor">
           <button mat-icon-button matSuffix (click)="backgroundColorInput.click()">
@@ -55,7 +55,7 @@ import { Hotspot } from 'common/models/elements/element';
         </mat-form-field>
         <input matInput type="color" hidden #backgroundColorInput [(ngModel)]="newHotspot.backgroundColor">
 
-        <mat-form-field appearance="fill" class="mdInput textsingleline">
+        <mat-form-field appearance="fill" class="mdInput textsingleline fx-flex-50">
           <mat-label>{{'hotspot.borderColor' | translate }}</mat-label>
           <input matInput type="text" [(ngModel)]="newHotspot.borderColor">
           <button mat-icon-button matSuffix (click)="borderColorInput.click()">
@@ -65,13 +65,13 @@ import { Hotspot } from 'common/models/elements/element';
         <input matInput type="color" hidden #borderColorInput [(ngModel)]="newHotspot.borderColor">
       </div>
 
-      <div fxLayout="row" fxLayoutGap="10px">
-        <mat-form-field appearance="fill" fxFlex="50">
+      <div class="fx-row-start-stretch fx-fix-gap-10">
+        <mat-form-field  class="fx-flex-50" appearance="fill">
           <mat-label>{{ 'hotspot.rotation' | translate }}</mat-label>
           <input matInput type="number" min="0"
                  [(ngModel)]="newHotspot.rotation">
         </mat-form-field>
-        <div fxFlex="50">
+        <div  class="fx-flex-50">
           <mat-checkbox [checked]="newHotspot.value"
                         (change)="newHotspot.value = $event.checked">
             {{ 'hotspot.value' | translate }}
@@ -87,7 +87,46 @@ import { Hotspot } from 'common/models/elements/element';
       <button mat-button [mat-dialog-close]="newHotspot">{{'save' | translate }}</button>
       <button mat-button mat-dialog-close>{{'cancel' | translate }}</button>
     </mat-dialog-actions>
-  `
+  `,
+  styles: [`
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-row-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: row;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-row-space-between-center {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: row;
+      justify-content: space-between;
+      align-items: center;
+    }
+
+    .fx-fix-gap-10 {
+      gap: 10px;
+    }
+
+    .fx-fix-gap-5 {
+      gap: 5px;
+    }
+
+    .fx-flex-50 {
+      flex: 1 1 100%;
+      box-sizing: border-box;
+      max-width: 50%;
+    }
+  `]
 })
 export class HotspotEditDialogComponent {
   constructor(@Inject(MAT_DIALOG_DATA) public data: { hotspot: Hotspot }) { }
diff --git a/projects/editor/src/app/components/dialogs/label-edit-dialog.component.ts b/projects/editor/src/app/components/dialogs/label-edit-dialog.component.ts
index 7aec0d6e220ba1230c9e9409d556e9244c08831b..54add7f690c4ab11b59596b909d810b589b175e0 100644
--- a/projects/editor/src/app/components/dialogs/label-edit-dialog.component.ts
+++ b/projects/editor/src/app/components/dialogs/label-edit-dialog.component.ts
@@ -6,12 +6,12 @@ import { FileService } from 'common/services/file.service';
 @Component({
   selector: 'aspect-label-edit-dialog',
   template: `
-    <mat-dialog-content fxLayout="column" fxLayoutGap="20px">
+    <mat-dialog-content class="fx-column-start-stretch fx-fix-gap-20">
       <aspect-rich-text-editor-simple [(content)]="newLabel.text">
       </aspect-rich-text-editor-simple>
 
-      <div *ngIf="newLabel.imgSrc !== undefined" fxLayout="row" fxLayoutAlign="space-between center">
-        <div fxLayout="column" fxLayoutGap="10px">
+      <div *ngIf="newLabel.imgSrc !== undefined" class="fx-row-space-between-center">
+        <div class="fx-column-start-stretch fx-fix-gap-10">
           <button mat-raised-button (click)="loadImage()">{{ 'loadImage' | translate }}</button>
           <button mat-raised-button (click)="newLabel.imgSrc = null">{{ 'removeImage' | translate }}</button>
           <mat-form-field>
@@ -36,9 +36,34 @@ import { FileService } from 'common/services/file.service';
       <button mat-button mat-dialog-close>{{'cancel' | translate }}</button>
     </mat-dialog-actions>
   `,
-  styles: [
-    'aspect-rich-text-editor-simple {margin-bottom: 20px;}'
-  ]
+  styles: [`
+    aspect-rich-text-editor-simple {
+      margin-bottom: 20px;
+    }
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-row-space-between-center {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: row;
+      justify-content: space-between;
+      align-items: center;
+    }
+
+    .fx-fix-gap-20 {
+      gap: 20px;
+    }
+
+    .fx-fix-gap-10 {
+      gap: 10px;
+    }
+  `]
 })
 export class LabelEditDialogComponent {
   newLabel = { ...this.data.label };
diff --git a/projects/editor/src/app/components/dialogs/likert-row-edit-dialog.component.ts b/projects/editor/src/app/components/dialogs/likert-row-edit-dialog.component.ts
index 6d0cd6eabb070148cbf7f179ec7d4ddf1b6e6cc0..7bfa0cd8c7996548e3de5dde435e680f4be03cb4 100644
--- a/projects/editor/src/app/components/dialogs/likert-row-edit-dialog.component.ts
+++ b/projects/editor/src/app/components/dialogs/likert-row-edit-dialog.component.ts
@@ -7,7 +7,7 @@ import { TextLabel } from 'common/models/elements/element';
 @Component({
   selector: 'aspect-likert-row-edit-dialog',
   template: `
-    <mat-dialog-content fxLayout="column">
+    <mat-dialog-content class="fx-column-start-stretch">
       <aspect-rich-text-editor-simple [(content)]="newLikertRow.rowLabel.text">
       </aspect-rich-text-editor-simple>
 
@@ -40,8 +40,8 @@ import { TextLabel } from 'common/models/elements/element';
         </mat-select>
       </mat-form-field>
 
-      <div fxLayout="row" fxLayoutAlign="space-between center">
-        <div fxLayout="column" fxLayoutGap="10px">
+      <div class="fx-row-space-between-center">
+        <div class="fx-column-start-stretch fx-fix-gap-10">
           <button mat-raised-button (click)="loadImage()">
             {{ 'loadImage' | translate }}</button>
           <button mat-raised-button (click)="newLikertRow.rowLabel.imgSrc = null">
@@ -70,9 +70,31 @@ import { TextLabel } from 'common/models/elements/element';
       <button mat-button mat-dialog-close>{{'cancel' | translate }}</button>
     </mat-dialog-actions>
   `,
-  styles: [
-    'mat-checkbox {margin-bottom: 15px;}'
-  ]
+  styles: [`
+     mat-checkbox {
+       margin-bottom: 15px;
+     }
+
+     .fx-column-start-stretch {
+       box-sizing: border-box;
+       display: flex;
+       flex-direction: column;
+       justify-content: flex-start;
+       align-items: stretch;
+     }
+
+     .fx-row-space-between-center {
+       box-sizing: border-box;
+       display: flex;
+       flex-direction: row;
+       justify-content: space-between;
+       align-items: center;
+     }
+
+     .fx-fix-gap-10 {
+       gap: 10px;
+     }
+  `]
 })
 export class LikertRowEditDialogComponent {
   constructor(@Inject(MAT_DIALOG_DATA) public data: { row: LikertRowElement, options: TextLabel[] }) { }
diff --git a/projects/editor/src/app/components/dialogs/player-edit-dialog.component.ts b/projects/editor/src/app/components/dialogs/player-edit-dialog.component.ts
index 8c432aebd4fe005c3d5249a4fa60c78d484d7140..4357cfbc6f8dbdae21b397168a944e6f7024702a 100644
--- a/projects/editor/src/app/components/dialogs/player-edit-dialog.component.ts
+++ b/projects/editor/src/app/components/dialogs/player-edit-dialog.component.ts
@@ -5,10 +5,10 @@ import { PlayerProperties } from 'common/models/elements/element';
 @Component({
   selector: 'aspect-player-edit-dialog',
   template: `
-    <mat-dialog-content fxLayout="row">
+    <mat-dialog-content class="fx-row-start-stretch">
       <mat-tab-group>
         <mat-tab label="{{ 'player.appearance' | translate }}">
-          <div fxLayout="column">
+          <div class="fx-column-start-stretch">
             <mat-checkbox [checked]="newPlayerConfig.startControl || data.playerProps.startControl"
                           (change)="newPlayerConfig.startControl = $event.checked">
               {{ 'player.startControl' | translate }}
@@ -68,7 +68,7 @@ import { PlayerProperties } from 'common/models/elements/element';
           </div>
         </mat-tab>
         <mat-tab label="{{ 'player.behaviour' | translate }}">
-          <div fxLayout="column">
+          <div class="fx-column-start-stretch">
             <mat-checkbox [checked]="newPlayerConfig.autostart || data.playerProps.autostart"
                           (change)="newPlayerConfig.autostart = $event.checked">
               {{ 'player.autoStart' | translate }}
@@ -112,7 +112,24 @@ import { PlayerProperties } from 'common/models/elements/element';
       <button mat-button [mat-dialog-close]="newPlayerConfig">{{'save' | translate }}</button>
       <button mat-button mat-dialog-close>{{'cancel' | translate }}</button>
     </mat-dialog-actions>
-    `
+    `,
+  styles: [`
+    .fx-row-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: row;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+  `]
 })
 export class PlayerEditDialogComponent {
   newPlayerConfig: PlayerProperties = {} as PlayerProperties;
diff --git a/projects/editor/src/app/components/new-ui-element-panel/ui-element-toolbox.component.css b/projects/editor/src/app/components/new-ui-element-panel/ui-element-toolbox.component.css
index db7aed226711c21883eea28ec1d68c2544978d83..414b69eb50059a010e93cbcc388b103192cecd34 100644
--- a/projects/editor/src/app/components/new-ui-element-panel/ui-element-toolbox.component.css
+++ b/projects/editor/src/app/components/new-ui-element-panel/ui-element-toolbox.component.css
@@ -25,3 +25,11 @@
 :host ::ng-deep .mat-expansion-panel-body {
   padding: 0 10px 10px;
 }
+
+.fx-row-start-stretch {
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: stretch;
+}
diff --git a/projects/editor/src/app/components/new-ui-element-panel/ui-element-toolbox.component.html b/projects/editor/src/app/components/new-ui-element-panel/ui-element-toolbox.component.html
index d1c458b8f1db1884b995d965efd5190d9ffee033..580c8983a0a1c923609a9f377c7ad36e4ee5309a 100644
--- a/projects/editor/src/app/components/new-ui-element-panel/ui-element-toolbox.component.html
+++ b/projects/editor/src/app/components/new-ui-element-panel/ui-element-toolbox.component.html
@@ -64,7 +64,7 @@
         Auswahl
       </mat-panel-description>
     </mat-expansion-panel-header>
-    <div (mouseover)="hoverRadioButton = true" (mouseleave)="hoverRadioButton = false" fxLayout="row">
+    <div class="fx-row-start-stretch" (mouseover)="hoverRadioButton = true" (mouseleave)="hoverRadioButton = false">
       <button *ngIf="!hoverRadioButton" class="radio-button-placeholder" mat-stroked-button>
         <mat-icon>radio_button_checked</mat-icon>
         {{'toolbox.radio' | translate }}
diff --git a/projects/editor/src/app/components/properties-panel/element-properties-panel.component.css b/projects/editor/src/app/components/properties-panel/element-properties-panel.component.css
index 80995439d4677bdd80a09d309a04a8230d61b221..87cdbcef815a01e8cf13f9b0202d07940f51ea2e 100644
--- a/projects/editor/src/app/components/properties-panel/element-properties-panel.component.css
+++ b/projects/editor/src/app/components/properties-panel/element-properties-panel.component.css
@@ -34,3 +34,29 @@ mat-tab-group {
 :host ::ng-deep math-field {
   margin: 0 3px 10px 3px;
 }
+
+.fx-column-start-stretch {
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-start;
+  align-items: stretch;
+}
+
+.fill {
+  height: 100%;
+  min-height: 100%;
+  min-width: 100%;
+  width: 100%;
+  box-sizing: border-box;
+}
+
+.fx-flex {
+  flex: 1 1 0;
+  box-sizing: border-box;
+  display: flex;
+}
+
+.fx-align-self-center {
+  align-self: center;
+}
diff --git a/projects/editor/src/app/components/properties-panel/element-properties-panel.component.html b/projects/editor/src/app/components/properties-panel/element-properties-panel.component.html
index 7213705a881c87ad082ebc0dda8e5d01d0f0ca30..0cbbc8a500d562ba83dbd05e61c8c14deb2d27c5 100644
--- a/projects/editor/src/app/components/properties-panel/element-properties-panel.component.html
+++ b/projects/editor/src/app/components/properties-panel/element-properties-panel.component.html
@@ -1,7 +1,6 @@
 <div *ngIf="selectedElements.length > 0 && combinedProperties"
-     class="properties-panel" fxFlexFill
-     fxLayout="column" fxLayoutAlign="start stretch">
-  <div class="panel-title" fxLayout="column">
+     class="properties-panel fx-column-start-stretch fill">
+  <div class="panel-title fx-column-start-stretch">
     <ng-container *ngIf="combinedProperties.type">
       {{'toolbox.' + combinedProperties.type | translate}}
       <span>{{combinedProperties.id}}</span>
@@ -11,7 +10,7 @@
     </ng-container>
   </div>
 
-  <mat-tab-group mat-stretch-tabs fxFlex>
+  <mat-tab-group class="fx-flex" mat-stretch-tabs>
     <mat-tab>
       <ng-template mat-tab-label>
         <mat-icon class="example-tab-icon">build</mat-icon>
@@ -42,8 +41,8 @@
     </mat-tab>
   </mat-tab-group>
 
-  <div fxLayout="column" class="button-group">
-    <mat-checkbox fxFlexAlign="center"
+  <div class="button-group fx-column-start-stretch">
+    <mat-checkbox class="fx-align-self-center"
                   [indeterminate]="interactionIndeterminate"
                   [checked]="interactionEnabled"
                   (change)="setElementInteractionEnabled($event.checked)">
diff --git a/projects/editor/src/app/components/properties-panel/hotspot-list-panel.component.ts b/projects/editor/src/app/components/properties-panel/hotspot-list-panel.component.ts
index 3f7988c0cd2f98f5f0643bdea93e12e1590cabcc..ce6713ffe68f3f22fedf162b71a66fdcc0107a52 100644
--- a/projects/editor/src/app/components/properties-panel/hotspot-list-panel.component.ts
+++ b/projects/editor/src/app/components/properties-panel/hotspot-list-panel.component.ts
@@ -7,9 +7,9 @@ import { Hotspot } from 'common/models/elements/element';
 @Component({
   selector: 'aspect-hotspot-list-panel',
   template: `
-    <fieldset fxLayout="column">
+    <fieldset class="fx-column-start-stretch">
       <legend>{{title | translate }}</legend>
-      <button mat-mini-fab matSuffix color="primary" [style.bottom.px]="3" fxFlexAlign="end"
+      <button class="fx-align-self-end" mat-mini-fab matSuffix color="primary" [style.bottom.px]="3"
               (click)="addListItem();">
         <mat-icon>add</mat-icon>
       </button>
@@ -17,8 +17,8 @@ import { Hotspot } from 'common/models/elements/element';
       <div class="drop-list" cdkDropList [cdkDropListData]="itemList"
            (cdkDropListDropped)="moveListValue($event)">
         <div *ngFor="let item of itemList; let i = index" cdkDrag
-             class="option-draggable" fxLayout="row">
-          <div fxFlex fxFlexAlign="center">{{'hotspot.'+item.shape | translate}}({{i + 1}})</div>
+             class="option-draggable fx-row-start-stretch">
+          <div class="fx-flex fx-align-self-center">{{'hotspot.'+item.shape | translate}}({{i + 1}})</div>
           <button mat-icon-button color="primary"
                   (click)="editItem.emit(i)">
             <mat-icon>build</mat-icon>
@@ -30,7 +30,37 @@ import { Hotspot } from 'common/models/elements/element';
         </div>
       </div>
     </fieldset>
-  `
+  `,
+  styles: [`
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-row-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: row;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-align-self-end {
+      align-self: flex-end;
+    }
+
+    .fx-align-self-center {
+      align-self: center;
+    }
+
+    .fx-flex {
+      flex: 1 1 0;
+      box-sizing: border-box;
+    }
+  `]
 })
 export class HotspotListPanelComponent {
   @Input() title!: string;
diff --git a/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.css b/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.css
index 7b3c282c87ba1cae9103c55f390efb423f915b10..912616050ac35ae8e9b4d8edc39c9a6e12771d91 100644
--- a/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.css
+++ b/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.css
@@ -32,3 +32,19 @@ button:not(.media-src-button):not(.mat-mini-fab):not(.mat-icon-button) {
 :host ::ng-deep .option-draggable:last-child {
   border: none;
 }
+
+.fx-column-start-stretch {
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-start;
+  align-items: stretch;
+}
+
+.fx-align-self-center {
+  align-self: center;
+}
+
+.fx-align-self-start {
+  align-self: flex-start;
+}
diff --git a/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.html b/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.html
index e5ad7f6929a0942d8f0dc0125a95c381eec46593..d631783ed1343ed7eb45f9e4d4f7b1ba1213e70b 100644
--- a/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.html
+++ b/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.html
@@ -1,4 +1,4 @@
-<div fxLayout="column">
+<div class='fx-column-start-stretch'>
   <mat-form-field appearance="fill">
     <mat-label>{{'propertiesPanel.id' | translate }}</mat-label>
     <input matInput type="text" *ngIf="selectedElements.length === 1" [value]="combinedProperties.id"
@@ -40,19 +40,22 @@
                             (updateModel)="updateModel.emit($event)"></aspect-border-properties>
 
   <button *ngIf="combinedProperties.document"
-          mat-raised-button fxFlexAlign="center"
+          class="fx-align-self-center"
+          mat-raised-button
           (click)="unitService.showDefaultEditDialog(selectedElements[0])">
     Text editieren
   </button>
 
   <button *ngIf="combinedProperties.src"
-          mat-fab color="primary" fxFlexAlign="center" class="media-src-button"
+          class="media-src-button fx-align-self-center"
+          mat-fab color="primary"
           [matTooltip]="'Medienquelle ändern'" [matTooltipPosition]="'right'"
           (click)="changeMediaSrc(combinedProperties.type)">
     <mat-icon>upload_file</mat-icon>
   </button>
   <button *ngIf="combinedProperties.player"
-          mat-raised-button fxFlexAlign="center"
+          class="fx-align-self-center"
+          mat-raised-button
           (click)="unitService.showDefaultEditDialog(selectedElements[0])">
     Medienoptionen
   </button>
@@ -112,7 +115,8 @@
 
   <ng-container *ngIf="combinedProperties.type === 'checkbox'">
     {{'preset' | translate }}
-    <mat-button-toggle-group [value]="combinedProperties.value" fxFlexAlign="start"
+    <mat-button-toggle-group class="fx-align-self-start"
+                             [value]="combinedProperties.value"
                              (change)="updateModel.emit({ property: 'value', value: $event.value })">
       <mat-button-toggle [value]="true">{{'propertiesPanel.true' | translate }}</mat-button-toggle>
       <mat-button-toggle [value]="false">{{'propertiesPanel.false' | translate }}</mat-button-toggle>
diff --git a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/border-properties.component.ts b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/border-properties.component.ts
index 19c59bc7d7d3b4f461944b19ed351e4c2eef4269..9ec559c9088a18fcea45a74e44838b76d4babb89 100644
--- a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/border-properties.component.ts
+++ b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/border-properties.component.ts
@@ -6,7 +6,7 @@ import { UIElement } from 'common/models/elements/element';
 @Component({
   selector: 'aspect-border-properties',
   template: `
-    <div fxLayout="column">
+    <div class="fx-column-start-stretch">
       <mat-checkbox *ngIf="combinedProperties.hasBorderTop !== undefined"
                     [checked]="$any(combinedProperties).hasBorderTop"
                     (change)="updateModel.emit({ property: 'hasBorderTop', value: $event.checked })">
@@ -28,7 +28,16 @@ import { UIElement } from 'common/models/elements/element';
         {{'propertiesPanel.hasBorderRight' | translate }}
       </mat-checkbox>
     </div>
-  `
+  `,
+  styles: [`
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+  `]
 })
 export class BorderPropertiesComponent {
   @Input() combinedProperties!: UIElement;
diff --git a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/drop-list-properties.component.ts b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/drop-list-properties.component.ts
index 44639ada7f66e1c67d554bd6460bb3dad2be430f..3be66c3872e63506b70b7127b8addeb184f907eb 100644
--- a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/drop-list-properties.component.ts
+++ b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/drop-list-properties.component.ts
@@ -1,3 +1,4 @@
+// eslint-disable-next-line max-classes-per-file
 import {
   Component, EventEmitter, Input, Output, Pipe, PipeTransform
 } from '@angular/core';
@@ -15,7 +16,7 @@ import { DialogService } from '../../../../services/dialog.service';
   selector: 'aspect-drop-list-properties',
   template: `
     <div *ngIf="combinedProperties.type === 'drop-list'"
-         fxLayout="column">
+         class="fx-column-start-stretch">
       <aspect-option-list-panel [title]="'preset'" [textFieldLabel]="'Neue Option'"
                                 [itemList]="$any(combinedProperties.value)"
                                 (addItem)="addOption($event)"
@@ -91,7 +92,16 @@ import { DialogService } from '../../../../services/dialog.service';
                      value: $any($event.target).value })">
       </mat-form-field>
     </div>
-  `
+  `,
+  styles: [`
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+  `]
 })
 export class DropListPropertiesComponent {
   @Input() combinedProperties!: CombinedProperties;
diff --git a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/input-element-properties.component.ts b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/input-element-properties.component.ts
index ad5edf1c3e334ff4bf0617595faad15ceeaa69fd..193919b9fdc3d4f71c2d0a8dc27828e5a8313dc9 100644
--- a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/input-element-properties.component.ts
+++ b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/input-element-properties.component.ts
@@ -6,7 +6,7 @@ import { UIElement } from 'common/models/elements/element';
 @Component({
   selector: 'aspect-input-element-properties',
   template: `
-    <fieldset *ngIf="combinedProperties.required !== undefined" fxLayout="column">
+    <fieldset *ngIf="combinedProperties.required !== undefined" class="fx-column-start-stretch">
       <legend>Eingabeelement</legend>
       <mat-form-field *ngIf="combinedProperties.label !== undefined" appearance="fill">
         <mat-label>{{'propertiesPanel.label' | translate }}</mat-label>
@@ -33,7 +33,16 @@ import { UIElement } from 'common/models/elements/element';
                (input)="updateModel.emit({ property: 'requiredWarnMessage', value: $any($event.target).value })">
       </mat-form-field>
     </fieldset>
-  `
+  `,
+  styles: [`
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+  `]
 })
 export class InputElementPropertiesComponent {
   @Input() combinedProperties!: UIElement;
diff --git a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/preset-value-properties.component.ts b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/preset-value-properties.component.ts
index c0be38406d93523a8521817fa0e3b86964c1eb0c..320b857e668172413989fdec35c621236d95d54d 100644
--- a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/preset-value-properties.component.ts
+++ b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/preset-value-properties.component.ts
@@ -29,7 +29,7 @@ import { CombinedProperties } from 'editor/src/app/components/properties-panel/e
                   (selectionChange)="updateModel.emit({ property: 'value', value: $event.value })">
         <mat-option [value]="null">{{'propertiesPanel.undefined' | translate }}</mat-option>
         <mat-option *ngFor="let option of $any(combinedProperties.options); let i = index" [value]="i">
-          <div fxFlex fxFlexAlign="center" [innerHTML]="option.text + ' (Index: ' + i + ')' | safeResourceHTML"></div>
+          <div [innerHTML]="option.text + ' (Index: ' + i + ')' | safeResourceHTML"></div>
         </mat-option>
       </mat-select>
     </mat-form-field>
diff --git a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/scale-and-zoom-properties.component.ts b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/scale-and-zoom-properties.component.ts
index 6d44b9535b8b60cba1ecb8efb4c1f3deee60c8c3..87042535cc59db1e3ac345666179e1fcab5be1d5 100644
--- a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/scale-and-zoom-properties.component.ts
+++ b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/scale-and-zoom-properties.component.ts
@@ -6,7 +6,7 @@ import { UIElement } from 'common/models/elements/element';
 @Component({
   selector: 'aspect-scale-and-zoom-properties',
   template: `
-    <div fxLayout="column" fxLayoutGap="5px">
+    <div class="fx-column-start-stretch fx-fix-gap-5">
       <mat-checkbox *ngIf="combinedProperties.scale !== undefined"
                     [checked]="$any(combinedProperties.scale)"
                     (change)="updateModel.emit({ property: 'scale', value: $event.checked })">
@@ -44,9 +44,23 @@ import { UIElement } from 'common/models/elements/element';
       </div>
     </div>
   `,
-  styles: [
-    '.disabled-label {color: rgba(0, 0, 0, 0.26)}'
-  ]
+  styles: [`
+    .disabled-label {
+      color: rgba(0, 0, 0, 0.26);
+    }
+
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-fix-gap-5 {
+      gap: 5px;
+    }
+  `]
 })
 export class ScaleAndZoomPropertiesComponent {
   @Input() combinedProperties!: UIElement;
diff --git a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/text-properties-field-set.component.ts b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/text-properties-field-set.component.ts
index 8deb774262d627ee87b1262e9cc2f7b2feec1432..b02a969033d6800fecd922fc48715227617370b9 100644
--- a/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/text-properties-field-set.component.ts
+++ b/projects/editor/src/app/components/properties-panel/model-properties-tab/input-groups/text-properties-field-set.component.ts
@@ -8,7 +8,7 @@ import { SelectionService } from '../../../../services/selection.service';
 @Component({
   selector: 'aspect-text-properties-field-set',
   template: `
-    <div *ngIf="combinedProperties.text" fxLayout="column">
+    <div *ngIf="combinedProperties.text" class="fx-column-start-stretch">
       <ng-container>
         <div class="text-text"
              [innerHTML]="combinedProperties.text | safeResourceHTML"
@@ -48,13 +48,26 @@ import { SelectionService } from '../../../../services/selection.service';
                     (change)="updateModel.emit({ property: 'hasSelectionPopup', value: $event.checked })">
         {{'propertiesPanel.hasSelectionPopup' | translate }}
       </mat-checkbox>
-
     </div>
   `,
-  styles: [
-    '.text-text {min-height: 125px; max-height: 400px; overflow: auto;}',
-    '.text-text {background-color: rgba(0,0,0,.04); cursor: pointer; margin-bottom: 10px;}'
-  ]
+  styles: [`
+    .text-text {
+      min-height: 125px;
+      max-height: 400px;
+      overflow: auto;
+      background-color: rgba(0,0,0,.04);
+      cursor: pointer;
+      margin-bottom: 10px;
+    }
+
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+  `]
 })
 export class TextPropertiesFieldSetComponent {
   @Input() combinedProperties!: any;
diff --git a/projects/editor/src/app/components/properties-panel/option-list-panel.component.ts b/projects/editor/src/app/components/properties-panel/option-list-panel.component.ts
index f483989c339d1aacd1b062ba745079f931521ef2..7ffdce4bfd093138c02931343faf8b32ae02dce5 100644
--- a/projects/editor/src/app/components/properties-panel/option-list-panel.component.ts
+++ b/projects/editor/src/app/components/properties-panel/option-list-panel.component.ts
@@ -7,7 +7,7 @@ import { Label } from 'common/models/elements/element';
 @Component({
   selector: 'aspect-option-list-panel',
   template: `
-    <fieldset fxLayout="column">
+    <fieldset class="fx-column-start-stretch">
       <legend>{{title | translate }}</legend>
       <mat-form-field appearance="outline">
         <mat-label>{{textFieldLabel}}</mat-label>
@@ -22,8 +22,8 @@ import { Label } from 'common/models/elements/element';
       <div class="drop-list" cdkDropList [cdkDropListData]="itemList"
            (cdkDropListDropped)="moveListValue($event)">
         <div *ngFor="let item of itemList; let i = index" cdkDrag
-             class="option-draggable" fxLayout="row">
-          <div fxFlex fxFlexAlign="center" [innerHTML]="item.text | safeResourceHTML"></div>
+             class="option-draggable fx-row-start-stretch">
+          <div class="fx-flex fx-align-self-center" [innerHTML]="item.text | safeResourceHTML"></div>
           <img [src]="$any(item).imgSrc"
                [style.object-fit]="'scale-down'" [style.height.px]="40">
           <button mat-icon-button color="primary"
@@ -37,7 +37,33 @@ import { Label } from 'common/models/elements/element';
         </div>
       </div>
     </fieldset>
-  `
+  `,
+  styles: [`
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-row-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: row;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-align-self-center {
+      align-self: center;
+    }
+
+    .fx-flex {
+      flex: 1 1 0;
+      box-sizing: border-box;
+    }
+  `]
 })
 export class OptionListPanelComponent {
   @Input() title!: string;
diff --git a/projects/editor/src/app/components/properties-panel/position-properties-tab/element-position-properties.component.ts b/projects/editor/src/app/components/properties-panel/position-properties-tab/element-position-properties.component.ts
index 045cbe78688b290e6e2c956c6fcfe74007f5c3ac..53c481864f310ea7ac7ce0c6f01226ace53e4fc9 100644
--- a/projects/editor/src/app/components/properties-panel/position-properties-tab/element-position-properties.component.ts
+++ b/projects/editor/src/app/components/properties-panel/position-properties-tab/element-position-properties.component.ts
@@ -8,7 +8,7 @@ import { SelectionService } from '../../../services/selection.service';
 @Component({
   selector: 'aspect-element-postion-properties',
   template: `
-    <div fxLayout="column">
+    <div class="fx-column-start-stretch">
       <aspect-position-field-set
         *ngIf="positionProperties"
         [positionProperties]="positionProperties"
@@ -22,8 +22,8 @@ import { SelectionService } from '../../../services/selection.service';
 
       <ng-container *ngIf="(selectionService.selectedElements | async)!.length > 1">
         {{'propertiesPanel.alignment' | translate }}
-        <div class="alignment-button-group" [style.margin]="'10px 0'"
-             fxLayout="row" fxLayoutAlign="space-evenly center">
+        <div class="alignment-button-group fx-row-space-evenly-center"
+             [style.margin]="'10px 0'">
           <button (click)="alignElements('left')">
             <mat-icon>align_horizontal_left</mat-icon>
           </button>
@@ -39,7 +39,24 @@ import { SelectionService } from '../../../services/selection.service';
         </div>
       </ng-container>
     </div>
-  `
+  `,
+  styles: [`
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-row-space-evenly-center {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: row;
+      justify-content: space-evenly;
+      align-items: center;
+    }
+  `]
 })
 export class ElementPositionPropertiesComponent {
   @Input() dimensions!: { width?: number; height?: number; dynamicWidth: boolean; };
diff --git a/projects/editor/src/app/components/properties-panel/position-properties-tab/input-groups/position-field-set.component.ts b/projects/editor/src/app/components/properties-panel/position-properties-tab/input-groups/position-field-set.component.ts
index 011de1f564fbcb882e3fadc6caa46b5b2bfa0495..21fee4273fb3eb2b9a1a01a14eb2ad36d91ad40b 100644
--- a/projects/editor/src/app/components/properties-panel/position-properties-tab/input-groups/position-field-set.component.ts
+++ b/projects/editor/src/app/components/properties-panel/position-properties-tab/input-groups/position-field-set.component.ts
@@ -9,10 +9,10 @@ import { PositionProperties } from 'common/models/elements/element';
     <fieldset>
       <legend>Position</legend>
       <div *ngIf="!positionProperties.dynamicPositioning; else elseBlock"
-           fxLayout="row" fxLayoutGap="10px">
+           class="fx-row-start-stretch fx-fix-gap-10">
         <mat-form-field *ngIf="!positionProperties.dynamicPositioning &&
                                positionProperties.xPosition !== undefined"
-                        fxFlex>
+                        class="fx-flex">
           <mat-label>{{'propertiesPanel.xPosition' | translate }}</mat-label>
           <input matInput type="number" #xPosition="ngModel" min="0"
                  [ngModel]="positionProperties.xPosition"
@@ -21,7 +21,7 @@ import { PositionProperties } from 'common/models/elements/element';
         </mat-form-field>
         <mat-form-field *ngIf="!positionProperties.dynamicPositioning &&
                                  positionProperties.yPosition !== undefined"
-                        fxFlex>
+                        class="fx-flex">
           <mat-label>{{'propertiesPanel.yPosition' | translate }}</mat-label>
           <input matInput type="number" #yPosition="ngModel" min="0"
                  [ngModel]="positionProperties.yPosition"
@@ -32,26 +32,26 @@ import { PositionProperties } from 'common/models/elements/element';
 
       <ng-template #elseBlock>
         {{'propertiesPanel.grid' | translate }}
-        <div fxLayout="row" fxLayoutGap="10px">
-          <mat-form-field fxFlex>
+        <div class="fx-row-start-stretch fx-fix-gap-10">
+          <mat-form-field class="fx-flex">
             <mat-label>{{'column' | translate }}</mat-label>
             <input matInput type="number" [ngModel]="positionProperties.gridColumn"
                    (ngModelChange)="updateModel.emit({ property: 'gridColumn', value: $event })">
           </mat-form-field>
-          <mat-form-field fxFlex="40">
+          <mat-form-field class="fx-flex-40">
             <mat-label>{{'propertiesPanel.columnRange' | translate }}</mat-label>
             <input matInput type="number"
                    [ngModel]="positionProperties.gridColumnRange"
                    (ngModelChange)="updateModel.emit({ property: 'gridColumnRange', value: $event })">
           </mat-form-field>
         </div>
-        <div fxLayout="row" fxLayoutGap="10px">
-          <mat-form-field fxFlex>
+        <div class="fx-row-start-stretch fx-fix-gap-10">
+          <mat-form-field class="fx-flex">
             <mat-label>{{'row' | translate }}</mat-label>
             <input matInput type="number" [ngModel]="positionProperties.gridRow"
                    (ngModelChange)="updateModel.emit({ property: 'gridRow', value: $event })">
           </mat-form-field>
-          <mat-form-field fxFlex="40">
+          <mat-form-field class="fx-flex-40">
             <mat-label>{{'propertiesPanel.rowRange' | translate }}</mat-label>
             <input matInput type="number"
                    [ngModel]="positionProperties.gridRowRange"
@@ -60,15 +60,15 @@ import { PositionProperties } from 'common/models/elements/element';
         </div>
 
         {{'propertiesPanel.margin' | translate }}
-        <div fxLayout="column" class="margin-controls">
-          <mat-form-field fxFlexAlign="center">
+        <div class="margin-controls fx-column-start-stretch">
+          <mat-form-field class="fx-align-self-center">
             <mat-label>{{'propertiesPanel.top' | translate }}</mat-label>
             <input matInput type="number" #marginTop="ngModel"
                    [ngModel]="positionProperties.marginTop"
                    (ngModelChange)="updateModel.emit(
                           { property: 'marginTop', value: $event, isInputValid: marginTop.valid && $event !== null })">
           </mat-form-field>
-          <div fxLayout="row" fxLayoutAlign="space-around center">
+          <div class="fx-row-space-around-center">
             <mat-form-field>
               <mat-label>{{'propertiesPanel.left' | translate }}</mat-label>
               <input matInput type="number" #marginLeft="ngModel"
@@ -89,7 +89,7 @@ import { PositionProperties } from 'common/models/elements/element';
                               isInputValid: marginRight .valid && $event !== null })">
             </mat-form-field>
           </div>
-          <mat-form-field fxFlexAlign="center">
+          <mat-form-field class="fx-align-self-center">
             <mat-label>{{'propertiesPanel.bottom' | translate }}</mat-label>
             <input matInput type="number" #marginBottom="ngModel"
                    [ngModel]="positionProperties.marginBottom"
@@ -113,11 +113,60 @@ import { PositionProperties } from 'common/models/elements/element';
       </mat-form-field>
     </fieldset>
   `,
-  styles: [
-    '.margin-controls mat-form-field {width: 100px;}',
-    '.margin-controls {margin-bottom: 10px;}',
-    'mat-form-field {width: 110px;}'
-  ]
+  styles: [`
+    .margin-controls mat-form-field {
+      width: 100px;
+    }
+    .margin-controls {
+      margin-bottom: 10px;
+    }
+    mat-form-field {
+      width: 110px;
+    }
+
+    .fx-row-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: row;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-row-space-around-center {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: row;
+      justify-content: space-around;
+      align-items: center;
+    }
+
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+
+    .fx-fix-gap-10 {
+      gap: 10px;
+    }
+
+    .fx-flex {
+      flex: 1 1 0;
+      box-sizing: border-box;
+    }
+
+    .fx-flex-40 {
+      flex: 1 1 100%;
+      box-sizing: border-box;
+      max-width: 40%;
+    }
+
+    .fx-align-self-center {
+      align-self: center;
+    }
+  `]
 })
 export class PositionFieldSetComponent {
   @Input() positionProperties!: PositionProperties;
diff --git a/projects/editor/src/app/components/properties-panel/style-properties-tab/element-style-properties.component.ts b/projects/editor/src/app/components/properties-panel/style-properties-tab/element-style-properties.component.ts
index a88f7c86e04fb39011e64c528d17c2606dbfaccb..9e5f4bf0377cff6e0045c3fe66939d08379c59aa 100644
--- a/projects/editor/src/app/components/properties-panel/style-properties-tab/element-style-properties.component.ts
+++ b/projects/editor/src/app/components/properties-panel/style-properties-tab/element-style-properties.component.ts
@@ -5,7 +5,7 @@ import { UnitService } from 'editor/src/app/services/unit.service';
 @Component({
   selector: 'aspect-element-style-properties',
   template: `
-    <div fxLayout="column" *ngIf="styles">
+    <div class="fx-column-start-stretch" *ngIf="styles">
       <mat-checkbox *ngIf="styles.lineColoring !== undefined"
                     [checked]="$any(styles.lineColoring)"
                     (change)="unitService.updateSelectedElementsStyleProperty('lineColoring', $event.checked)">
@@ -157,7 +157,16 @@ import { UnitService } from 'editor/src/app/services/unit.service';
                (ngModelChange)="unitService.updateSelectedElementsStyleProperty('borderWidth', $event)">
       </mat-form-field>
     </fieldset>
-  `
+  `,
+  styles: [`
+    .fx-column-start-stretch {
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      justify-content: flex-start;
+      align-items: stretch;
+    }
+  `]
 })
 export class ElementStylePropertiesComponent {
   @Input() styles!: BasicStyles & ExtendedStyles | undefined;
diff --git a/projects/editor/src/app/components/unit-view/unit-view.component.css b/projects/editor/src/app/components/unit-view/unit-view.component.css
index 17204986130451a250244ebc9ed4bb88d923e6a0..50c3b9203276b6c124d289f58656c68e4f646cd3 100644
--- a/projects/editor/src/app/components/unit-view/unit-view.component.css
+++ b/projects/editor/src/app/components/unit-view/unit-view.component.css
@@ -23,6 +23,27 @@
   display: inherit;
 }
 
+.fx-column-start-stretch {
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: column;
+  justify-content: flex-start;
+  align-items: stretch;
+}
+
+.fx-row-start-stretch {
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: stretch;
+}
+
+.fx-flex {
+  flex: 1 1 0;
+  box-sizing: border-box;
+}
+
 .show-properties-button {
   padding-bottom: 140px;
 }
diff --git a/projects/editor/src/app/components/unit-view/unit-view.component.html b/projects/editor/src/app/components/unit-view/unit-view.component.html
index df13bee133b4b3a88fdaf2e5fcea60ec7378110f..c100c53c60a95961fb412123980ab8eaf353f28d 100644
--- a/projects/editor/src/app/components/unit-view/unit-view.component.html
+++ b/projects/editor/src/app/components/unit-view/unit-view.component.html
@@ -1,11 +1,12 @@
-<div [style.height.%]="100">
+<div class="fx-row-start-stretch"
+     [style.height.%]="100">
   <button class="drawer-button show-elements-button" (click)="toolbox_drawer.toggle()">
     <span>
       {{'elements' | translate | uppercase}}
     </span>
   </button>
 
-  <mat-drawer-container fxFlex>
+  <mat-drawer-container class="fx-flex">
     <mat-drawer #toolbox_drawer class="toolbox_drawer" mode="side" opened>
       <aspect-ui-element-toolbox></aspect-ui-element-toolbox>
     </mat-drawer>
@@ -105,7 +106,7 @@
             </mat-menu>
 
           </ng-template>
-          <aspect-page-canvas *ngIf="pagesLoaded" [page]="page" fxLayout="column"></aspect-page-canvas>
+          <aspect-page-canvas *ngIf="pagesLoaded" class="fx-column-start-stretch" [page]="page"></aspect-page-canvas>
         </mat-tab>
         <mat-tab disabled>
           <ng-template mat-tab-label>
diff --git a/projects/editor/src/app/text-editor-simple/rich-text-editor-simple.component.css b/projects/editor/src/app/text-editor-simple/rich-text-editor-simple.component.css
index 4790c9456292741f6bca04defdcf2cc69566a8f1..fc174fd95b200aabe7c84be26dd64d4fa10bdfe3 100644
--- a/projects/editor/src/app/text-editor-simple/rich-text-editor-simple.component.css
+++ b/projects/editor/src/app/text-editor-simple/rich-text-editor-simple.component.css
@@ -39,3 +39,11 @@
 button.active {
   background-color: lightgrey;
 }
+
+.fx-row-start-stretch {
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: row;
+  justify-content: start;
+  align-items: stretch;
+}
diff --git a/projects/editor/src/app/text-editor-simple/rich-text-editor-simple.component.html b/projects/editor/src/app/text-editor-simple/rich-text-editor-simple.component.html
index 163e3a2d3604b71f9d784df1ae6f8ce44fc23644..09baba6f135330e8b049ccba28d46f7b347e9ebd 100644
--- a/projects/editor/src/app/text-editor-simple/rich-text-editor-simple.component.html
+++ b/projects/editor/src/app/text-editor-simple/rich-text-editor-simple.component.html
@@ -1,6 +1,6 @@
-<div fxLayout="row" class="editor-control-panel">
-  <div fxLayout="row">
-    <fieldset fxLayout="row">
+<div class="editor-control-panel fx-row-start-stretch">
+  <div class="fx-row-start-stretch">
+    <fieldset class="fx-row-start-stretch">
       <legend>Schriftauszeichnung</legend>
       <button mat-icon-button matTooltip="Fett" [matTooltipPosition]="'above'" [matTooltipShowDelay]="300"
               [class.active]="editor.isActive('bold')"
@@ -35,9 +35,9 @@
     </fieldset>
   </div>
 
-  <fieldset fxLayout="row">
+  <fieldset  class="fx-row-start-stretch">
     <legend>Schrift</legend>
-    <div class="combo-button" fxLayout="row"
+    <div class="combo-button fx-row-start-stretch"
          [style.background-color]="selectedFontColor">
       <button mat-icon-button matTooltip="Textfarbe"
               (click)="applyFontColor()">
@@ -47,7 +47,7 @@
       <input matInput type="color" #textColorInput hidden
              (input)="selectedFontColor = $any($event.target).value; applyFontColor()">
     </div>
-    <div class="combo-button" fxLayout="row"
+    <div class="combo-button fx-row-start-stretch"
          [style.background-color]="selectedHighlightColor">
       <button mat-icon-button matTooltip="Texthintergrund"
               (click)="applyHighlightColor()">
diff --git a/projects/editor/src/app/text-editor/rich-text-editor.component.css b/projects/editor/src/app/text-editor/rich-text-editor.component.css
index 367db111611dd192418d09b18ccd0b4061916509..dabbf673cce3092961927524c9e4c9a8355e2d46 100644
--- a/projects/editor/src/app/text-editor/rich-text-editor.component.css
+++ b/projects/editor/src/app/text-editor/rich-text-editor.component.css
@@ -83,3 +83,35 @@ button.active {
   border-radius: 3px;
   padding-bottom: 7px;
 }
+
+.fx-column-start-stretch {
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: column;
+  justify-content: start;
+  align-items: stretch;
+}
+
+.fx-row-start-stretch {
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: row;
+  justify-content: start;
+  align-items: stretch;
+}
+
+.fx-row-space-between-stretch {
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  align-items: stretch;
+}
+
+.fx-row-space-around-center {
+  box-sizing: border-box;
+  display: flex;
+  flex-direction: row;
+  justify-content: space-around;
+  align-items: center;
+}
diff --git a/projects/editor/src/app/text-editor/rich-text-editor.component.html b/projects/editor/src/app/text-editor/rich-text-editor.component.html
index e197a182c994eb9a3380078d115ecf9f61ef6237..0d1912647e4eb8e48a43fb8aa00f2fbd57bcc148 100644
--- a/projects/editor/src/app/text-editor/rich-text-editor.component.html
+++ b/projects/editor/src/app/text-editor/rich-text-editor.component.html
@@ -1,6 +1,6 @@
-<div fxLayout="column" class="editor-control-panel" mat-dialog-title>
-  <div fxLayout="row" fxLayoutAlign="space-between">
-    <fieldset fxLayout="row">
+<div class="editor-control-panel fx-column-start-stretch" mat-dialog-title>
+  <div class="fx-row-space-between-stretch">
+    <fieldset class="fx-row-start-stretch">
       <legend>Schriftauszeichnung</legend>
       <button mat-icon-button matTooltip="Fett" [matTooltipPosition]="'above'" [matTooltipShowDelay]="300"
               [class.active]="editor.isActive('bold')"
@@ -33,7 +33,7 @@
         <mat-icon>strikethrough_s</mat-icon>
       </button>
     </fieldset>
-    <fieldset fxLayout="row">
+    <fieldset class="fx-row-start-stretch">
       <legend>Schrift</legend>
       <mat-form-field class="small-dropdown">
         <mat-label>Schriftgröße</mat-label>
@@ -53,7 +53,7 @@
           <mat-option (click)="applyFontSize('36px')" value="36px">36px</mat-option>
         </mat-select>
       </mat-form-field>
-      <div class="combo-button" fxLayout="row"
+      <div class="combo-button fx-row-start-stretch"
            [style.background-color]="selectedFontColor">
         <button mat-icon-button matTooltip="Textfarbe"
                 (click)="applyFontColor()">
@@ -63,7 +63,7 @@
         <input matInput type="color" #textColorInput hidden
                (input)="selectedFontColor = $any($event.target).value; applyFontColor()">
       </div>
-      <div class="combo-button" fxLayout="row"
+      <div class="combo-button fx-row-start-stretch"
            [style.background-color]="selectedHighlightColor">
         <button mat-icon-button matTooltip="Texthintergrund"
                 (click)="applyHighlightColor()">
@@ -74,7 +74,7 @@
                (input)="selectedHighlightColor = $any($event.target).value; applyHighlightColor()">
       </div>
     </fieldset>
-    <fieldset fxLayout="row">
+    <fieldset class="fx-row-start-stretch">
       <legend>Absatz</legend>
       <mat-form-field class="dropdown">
         <mat-label>Absatztyp</mat-label>
@@ -99,9 +99,9 @@
       </mat-form-field>
     </fieldset>
 
-    <fieldset fxLayout="row">
+    <fieldset class="fx-row-start-stretch">
       <legend>Listen</legend>
-      <div class="combo-button" fxLayout="row"
+      <div class="combo-button fx-row-start-stretch"
            [style.background-color]="editor.isActive('bulletList') ? 'lightgrey' : ''">
         <button mat-icon-button matTooltip="Aufzählung" [matTooltipShowDelay]="300"
                 [class.active]="editor.isActive('bulletList')"
@@ -115,7 +115,8 @@
           <mat-option value="square">square</mat-option>
         </mat-select>
       </div>
-      <div class="combo-button" fxLayout="row" [style.background-color]="editor.isActive('orderedList') ? 'lightgrey' : ''">
+      <div class="combo-button fx-row-start-stretch"
+           [style.background-color]="editor.isActive('orderedList') ? 'lightgrey' : ''">
         <button mat-icon-button matTooltip="Aufzählung (nummeriert)" [matTooltipShowDelay]="300"
                 [class.active]="editor.isActive('orderedList')"
                 (click)="toggleOrderedList()">
@@ -154,8 +155,8 @@
 
   </div>
 
-  <div fxLayout="row" fxLayoutAlign="space-between">
-    <fieldset fxLayout="row">
+  <div class="fx-row-space-between-stretch">
+    <fieldset class="fx-row-start-stretch">
       <legend>Textausrichtung</legend>
       <button mat-icon-button matTooltip="Linksbündig" [matTooltipShowDelay]="300"
               [class.active]="editor.isActive({ textAlign: 'left' })"
@@ -178,7 +179,7 @@
         <mat-icon>format_align_justify</mat-icon>
       </button>
     </fieldset>
-    <fieldset fxLayout="row">
+    <fieldset class="fx-row-start-stretch">
       <legend>Einrückung</legend>
       <button mat-icon-button matTooltip="Einrücken" [matTooltipShowDelay]="300"
               (click)="indent()">
@@ -202,7 +203,7 @@
       </mat-form-field>
     </fieldset>
 
-    <fieldset fxLayout="row">
+    <fieldset class="fx-row-start-stretch">
       <legend>Bild</legend>
       <button mat-icon-button matTooltip="Bild in Zeile einfügen" [matTooltipShowDelay]="300"
               (click)="insertImage()">
@@ -222,7 +223,7 @@
       </button>
     </fieldset>
 
-    <fieldset fxLayout="row">
+    <fieldset class="fx-row-start-stretch">
       <legend>Sonderelemente</legend>
       <button mat-icon-button class="special-chars-button" matTooltip="Sonderzeichen" [matTooltipShowDelay]="300"
               [matMenuTriggerFor]="specialCharsMenu">
@@ -281,7 +282,7 @@
               (click)="toggleBlockquote()">
         <mat-icon>format_quote</mat-icon>
       </button>
-      <div *ngIf="!clozeMode" class="combo-button" fxLayout="row"
+      <div *ngIf="!clozeMode" class="combo-button fx-row-start-stretch"
            [style.background-color]="selectedAnchorColor">
         <button mat-icon-button matTooltip="Bereich markieren"
                 (click)="applyAnchorId()">
@@ -296,7 +297,7 @@
       </div>
     </fieldset>
   </div>
-  <div *ngIf="clozeMode" fxLayout="row" fxLayoutAlign="space-around center" >
+  <div *ngIf="clozeMode" class="fx-row-space-around-center" >
     <button mat-icon-button matTooltip="Eingabefeld" [matTooltipShowDelay]="300"
             (click)="insertTextField()">
       <mat-icon>edit</mat-icon>
diff --git a/projects/player/src/app/components/layouts/pages-layout/pages-layout.component.scss b/projects/player/src/app/components/layouts/pages-layout/pages-layout.component.scss
index 16518f1edf8b00bf32a1a877c574e97e9393e094..93534b59bd644c43a3c786a462001b8fc9a2236f 100644
--- a/projects/player/src/app/components/layouts/pages-layout/pages-layout.component.scss
+++ b/projects/player/src/app/components/layouts/pages-layout/pages-layout.component.scss
@@ -6,7 +6,7 @@
   box-sizing: border-box;
   display: flex;
   flex-direction: column;
-  justify-content: start;
+  justify-content: flex-start;
   align-items: stretch;
 }
 
@@ -14,7 +14,7 @@
   box-sizing: border-box;
   display: flex;
   flex-direction: row;
-  justify-content: start;
+  justify-content: flex-start;
   align-items: stretch;
 }