diff --git a/index.html b/index.html
index 1a4b4e97cbec5666132c2f1880b500fd8d143587..299ea68289be6d18a28ab9e5f9fbe2235fb63bff 100644
--- a/index.html
+++ b/index.html
@@ -6,6 +6,8 @@
   <link rel="stylesheet" href="res/Stysheet.css">
   <link rel="stylesheet" href="src/node_modules/animate.css/animate.css">
   <link rel="stylesheet" href="src/node_modules/bootstrap/dist/css/bootstrap.css" integrity="" crossorigin="anonymous">
+  <link href="https://fonts.googleapis.com/css2?family=Fondamento&display=swap" rel="stylesheet"> 
+  <link href="https://fonts.googleapis.com/css2?family=Alegreya:wght@400;500&display=swap" rel="stylesheet"> 
   <title>Main</title>
   <script src="out/main.js"></script>
   <style>
diff --git a/out/main.js b/out/main.js
index 71693db650f21f2d274db255abaafd1f3d0851dd..435da2f8ed70b021b0c2c914a89794e0bf84c58a 100644
--- a/out/main.js
+++ b/out/main.js
@@ -5649,6 +5649,7 @@ var $author$project$Model$init = function (_v0) {
 			hover: false,
 			iconText: '',
 			maxFace: 6,
+			modalTabState: $rundis$elm_bootstrap$Bootstrap$Tab$initialState,
 			mouseInIcon: false,
 			myDrop1State: $rundis$elm_bootstrap$Bootstrap$Dropdown$initialState,
 			objectIconList: _List_Nil,
@@ -8250,6 +8251,13 @@ var $author$project$Main$update = F2(
 						model,
 						{tabState: state}),
 					$elm$core$Platform$Cmd$none);
+			case 'ModalTabMsg':
+				var state = msg.a;
+				return _Utils_Tuple2(
+					_Utils_update(
+						model,
+						{modalTabState: state}),
+					$elm$core$Platform$Cmd$none);
 			case 'AddCharacterIcon':
 				var addCharacterIconMsg = msg.a;
 				if (addCharacterIconMsg.$ === 'MouseClick') {
@@ -8634,9 +8642,6 @@ var $author$project$Model$TabMsg = function (a) {
 };
 var $elm$html$Html$a = _VirtualDom_node('a');
 var $elm$html$Html$br = _VirtualDom_node('br');
-var $elm$html$Html$div = _VirtualDom_node('div');
-var $elm$html$Html$h1 = _VirtualDom_node('h1');
-var $elm$html$Html$h3 = _VirtualDom_node('h3');
 var $elm$json$Json$Encode$string = _Json_wrap;
 var $elm$html$Html$Attributes$stringProperty = F2(
 	function (key, string) {
@@ -8645,6 +8650,10 @@ var $elm$html$Html$Attributes$stringProperty = F2(
 			key,
 			$elm$json$Json$Encode$string(string));
 	});
+var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className');
+var $elm$html$Html$div = _VirtualDom_node('div');
+var $elm$html$Html$h1 = _VirtualDom_node('h1');
+var $elm$html$Html$h3 = _VirtualDom_node('h3');
 var $elm$html$Html$Attributes$href = function (url) {
 	return A2(
 		$elm$html$Html$Attributes$stringProperty,
@@ -8656,12 +8665,18 @@ var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;
 var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;
 var $author$project$About$aboutView = A2(
 	$elm$html$Html$div,
-	_List_Nil,
+	_List_fromArray(
+		[
+			$elm$html$Html$Attributes$class('aboutText')
+		]),
 	_List_fromArray(
 		[
 			A2(
 			$elm$html$Html$h1,
-			_List_Nil,
+			_List_fromArray(
+				[
+					$elm$html$Html$Attributes$class('about')
+				]),
 			_List_fromArray(
 				[
 					$elm$html$Html$text('Das schwarze Auge Edition 5')
@@ -8771,7 +8786,6 @@ var $rundis$elm_bootstrap$Bootstrap$Internal$Button$applyModifier = F2(
 					});
 		}
 	});
-var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className');
 var $elm$core$Tuple$second = function (_v0) {
 	var y = _v0.b;
 	return y;
@@ -9628,6 +9642,12 @@ var $rundis$elm_bootstrap$Bootstrap$Table$hover = $rundis$elm_bootstrap$Bootstra
 var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Light = {$: 'Light'};
 var $rundis$elm_bootstrap$Bootstrap$Button$light = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring(
 	$rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Light));
+var $rundis$elm_bootstrap$Bootstrap$Table$RowAttr = function (a) {
+	return {$: 'RowAttr', a: a};
+};
+var $rundis$elm_bootstrap$Bootstrap$Table$rowAttr = function (attr_) {
+	return $rundis$elm_bootstrap$Bootstrap$Table$RowAttr(attr_);
+};
 var $rundis$elm_bootstrap$Bootstrap$Table$THead = function (a) {
 	return {$: 'THead', a: a};
 };
@@ -10474,21 +10494,12 @@ var $rundis$elm_bootstrap$Bootstrap$Form$Input$OnInput = function (a) {
 var $rundis$elm_bootstrap$Bootstrap$Form$Input$onInput = function (toMsg) {
 	return $rundis$elm_bootstrap$Bootstrap$Form$Input$OnInput(toMsg);
 };
-var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Dark = {$: 'Dark'};
-var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Outlined = function (a) {
-	return {$: 'Outlined', a: a};
-};
-var $rundis$elm_bootstrap$Bootstrap$Button$outlineDark = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring(
-	$rundis$elm_bootstrap$Bootstrap$Internal$Button$Outlined($rundis$elm_bootstrap$Bootstrap$Internal$Button$Dark));
 var $rundis$elm_bootstrap$Bootstrap$Form$Input$Placeholder = function (a) {
 	return {$: 'Placeholder', a: a};
 };
 var $rundis$elm_bootstrap$Bootstrap$Form$Input$placeholder = function (value_) {
 	return $rundis$elm_bootstrap$Bootstrap$Form$Input$Placeholder(value_);
 };
-var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Success = {$: 'Success'};
-var $rundis$elm_bootstrap$Bootstrap$Button$success = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring(
-	$rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Success));
 var $rundis$elm_bootstrap$Bootstrap$Form$Input$text = $rundis$elm_bootstrap$Bootstrap$Form$Input$input($rundis$elm_bootstrap$Bootstrap$Form$Input$Text);
 var $rundis$elm_bootstrap$Bootstrap$Form$Input$Value = function (a) {
 	return {$: 'Value', a: a};
@@ -10516,20 +10527,19 @@ var $author$project$FightingTool$viewAttackModal = function (model) {
 				model.showAttackModal,
 				A3(
 					$rundis$elm_bootstrap$Bootstrap$Modal$footer,
-					_List_Nil,
+					_List_fromArray(
+						[
+							$elm$html$Html$Attributes$class('colored-header-footer')
+						]),
 					_List_fromArray(
 						[
 							A2(
-							$rundis$elm_bootstrap$Bootstrap$Button$button,
+							$elm$html$Html$button,
 							_List_fromArray(
 								[
-									$rundis$elm_bootstrap$Bootstrap$Button$attrs(
-									_List_fromArray(
-										[
-											$elm$html$Html$Events$onClick(
-											A3($author$project$FightingTool$attack, model, model.characterId, model.damage))
-										])),
-									$rundis$elm_bootstrap$Bootstrap$Button$success
+									$elm$html$Html$Attributes$class('metalButton'),
+									$elm$html$Html$Events$onClick(
+									A3($author$project$FightingTool$attack, model, model.characterId, model.damage))
 								]),
 							_List_fromArray(
 								[
@@ -10538,7 +10548,10 @@ var $author$project$FightingTool$viewAttackModal = function (model) {
 						]),
 					A3(
 						$rundis$elm_bootstrap$Bootstrap$Modal$body,
-						_List_Nil,
+						_List_fromArray(
+							[
+								$elm$html$Html$Attributes$class('body')
+							]),
 						_List_fromArray(
 							[
 								$rundis$elm_bootstrap$Bootstrap$Form$Input$text(
@@ -10549,16 +10562,12 @@ var $author$project$FightingTool$viewAttackModal = function (model) {
 										$rundis$elm_bootstrap$Bootstrap$Form$Input$onInput($author$project$Model$ChangeTmpDice)
 									])),
 								A2(
-								$rundis$elm_bootstrap$Bootstrap$Button$button,
+								$elm$html$Html$button,
 								_List_fromArray(
 									[
-										$rundis$elm_bootstrap$Bootstrap$Button$attrs(
-										_List_fromArray(
-											[
-												$elm$html$Html$Events$onClick(
-												$author$project$Model$DiceAndSlice(model.tmpdice))
-											])),
-										$rundis$elm_bootstrap$Bootstrap$Button$outlineDark
+										$elm$html$Html$Attributes$class('metalButton'),
+										$elm$html$Html$Events$onClick(
+										$author$project$Model$DiceAndSlice(model.tmpdice))
 									]),
 								_List_fromArray(
 									[
@@ -10572,11 +10581,20 @@ var $author$project$FightingTool$viewAttackModal = function (model) {
 									]))
 							]),
 						A3(
-							$rundis$elm_bootstrap$Bootstrap$Modal$h3,
-							_List_Nil,
+							$rundis$elm_bootstrap$Bootstrap$Modal$header,
+							_List_fromArray(
+								[
+									$elm$html$Html$Attributes$class('colored-header-footer')
+								]),
 							_List_fromArray(
 								[
-									$elm$html$Html$text('Angriff')
+									A2(
+									$elm$html$Html$h3,
+									_List_Nil,
+									_List_fromArray(
+										[
+											$elm$html$Html$text('Angriff')
+										]))
 								]),
 							A2(
 								$rundis$elm_bootstrap$Bootstrap$Modal$hideOnBackdropClick,
@@ -10585,84 +10603,16 @@ var $author$project$FightingTool$viewAttackModal = function (model) {
 									$author$project$Model$CloseModal($author$project$Model$AttackModal)))))))
 			]));
 };
-var $author$project$Model$SwitchEnemyHero = function (a) {
-	return {$: 'SwitchEnemyHero', a: a};
+var $author$project$Model$ModalTabMsg = function (a) {
+	return {$: 'ModalTabMsg', a: a};
 };
-var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$Config = function (a) {
+var $rundis$elm_bootstrap$Bootstrap$Tab$Config = function (a) {
 	return {$: 'Config', a: a};
 };
-var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$mapOptions = F2(
-	function (mapper, _v0) {
-		var conf = _v0.a;
-		var options = conf.options;
-		return $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$Config(
-			_Utils_update(
-				conf,
-				{
-					options: mapper(options)
-				}));
-	});
-var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$asGroup = $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$mapOptions(
-	function (opts) {
-		return _Utils_update(
-			opts,
-			{isGroup: true});
-	});
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Checked = function (a) {
-	return {$: 'Checked', a: a};
-};
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$checked = function (isCheck) {
-	return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Checked(isCheck);
-};
-var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$mapConfig = F2(
-	function (mapper, _v0) {
-		var configRec = _v0.a;
-		return $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$Config(
-			mapper(configRec));
-	});
-var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$children = function (children_) {
-	return $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$mapConfig(
-		function (conf) {
-			return _Utils_update(
-				conf,
-				{children: children_});
-		});
-};
-var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$config = $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$Config(
-	{
-		children: _List_Nil,
-		legend: $elm$core$Maybe$Nothing,
-		options: {attributes: _List_Nil, disabled: false, isGroup: false}
-	});
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio = function (a) {
-	return {$: 'Radio', a: a};
-};
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$createAdvanced = F2(
-	function (options, label_) {
-		return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio(
-			{label: label_, options: options});
-	});
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Label = function (a) {
-	return {$: 'Label', a: a};
+var $rundis$elm_bootstrap$Bootstrap$Tab$config = function (toMsg) {
+	return $rundis$elm_bootstrap$Bootstrap$Tab$Config(
+		{attributes: _List_Nil, isPill: false, items: _List_Nil, layout: $elm$core$Maybe$Nothing, toMsg: toMsg, useHash: false, withAnimation: false});
 };
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$label = F2(
-	function (attributes, children) {
-		return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Label(
-			{attributes: attributes, children: children});
-	});
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$create = F2(
-	function (options, label_) {
-		return A2(
-			$rundis$elm_bootstrap$Bootstrap$Form$Radio$createAdvanced,
-			options,
-			A2(
-				$rundis$elm_bootstrap$Bootstrap$Form$Radio$label,
-				_List_Nil,
-				_List_fromArray(
-					[
-						$elm$html$Html$text(label_)
-					])));
-	});
 var $author$project$Model$AddEnemy = function (a) {
 	return {$: 'AddEnemy', a: a};
 };
@@ -10837,16 +10787,12 @@ var $author$project$FightingTool$customEnemy = function (model) {
 					])),
 				A2($elm$html$Html$br, _List_Nil, _List_Nil),
 				A2(
-				$rundis$elm_bootstrap$Bootstrap$Button$button,
+				$elm$html$Html$button,
 				_List_fromArray(
 					[
-						$rundis$elm_bootstrap$Bootstrap$Button$success,
-						$rundis$elm_bootstrap$Bootstrap$Button$attrs(
-						_List_fromArray(
-							[
-								$elm$html$Html$Events$onClick(
-								$author$project$Model$AddEnemy(model.tmpEnemy))
-							]))
+						$elm$html$Html$Attributes$class('metalButton'),
+						$elm$html$Html$Events$onClick(
+						$author$project$Model$AddEnemy(model.tmpEnemy))
 					]),
 				_List_fromArray(
 					[
@@ -10919,16 +10865,12 @@ var $author$project$FightingTool$customHero = function (model) {
 					])),
 				A2($elm$html$Html$br, _List_Nil, _List_Nil),
 				A2(
-				$rundis$elm_bootstrap$Bootstrap$Button$button,
+				$elm$html$Html$button,
 				_List_fromArray(
 					[
-						$rundis$elm_bootstrap$Bootstrap$Button$success,
-						$rundis$elm_bootstrap$Bootstrap$Button$attrs(
-						_List_fromArray(
-							[
-								$elm$html$Html$Events$onClick(
-								$author$project$Model$AddEnemy(model.tmpHero))
-							]))
+						$elm$html$Html$Attributes$class('metalButton'),
+						$elm$html$Html$Events$onClick(
+						$author$project$Model$AddEnemy(model.tmpHero))
 					]),
 				_List_fromArray(
 					[
@@ -11549,273 +11491,334 @@ var $author$project$FightingTool$dropdownMenu = function (model) {
 							[$rundis$elm_bootstrap$Bootstrap$Button$primary]),
 						_List_fromArray(
 							[
-								$elm$html$Html$text('Gegner')
+								$elm$html$Html$text('Monster')
 							])),
 					toggleMsg: $author$project$Model$MyDrop1Msg
 				})
 			]));
 };
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Id = function (a) {
-	return {$: 'Id', a: a};
-};
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$id = function (theId) {
-	return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Id(theId);
-};
-var $elm$html$Html$legend = _VirtualDom_node('legend');
-var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$legend = F2(
-	function (attributes, children_) {
-		return $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$mapConfig(
-			function (conf) {
-				return _Utils_update(
-					conf,
-					{
-						legend: $elm$core$Maybe$Just(
-							A2($elm$html$Html$legend, attributes, children_))
-					});
-			});
-	});
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$OnClick = function (a) {
-	return {$: 'OnClick', a: a};
+var $elm$html$Html$h5 = _VirtualDom_node('h5');
+var $rundis$elm_bootstrap$Bootstrap$Tab$Item = function (a) {
+	return {$: 'Item', a: a};
 };
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$onClick = function (toMsg) {
-	return $rundis$elm_bootstrap$Bootstrap$Form$Radio$OnClick(toMsg);
+var $rundis$elm_bootstrap$Bootstrap$Tab$item = function (rec) {
+	return $rundis$elm_bootstrap$Bootstrap$Tab$Item(
+		{id: rec.id, link: rec.link, pane: rec.pane});
 };
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$addOption = F2(
-	function (opt, _v0) {
-		var radio_ = _v0.a;
-		var options = radio_.options;
-		return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio(
+var $rundis$elm_bootstrap$Bootstrap$Tab$items = F2(
+	function (items_, _v0) {
+		var configRec = _v0.a;
+		return $rundis$elm_bootstrap$Bootstrap$Tab$Config(
 			_Utils_update(
-				radio_,
-				{
-					options: A2($elm$core$List$cons, opt, options)
-				}));
+				configRec,
+				{items: items_}));
 	});
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Name = function (a) {
-	return {$: 'Name', a: a};
+var $rundis$elm_bootstrap$Bootstrap$Tab$Link = function (a) {
+	return {$: 'Link', a: a};
 };
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$name = function (name_) {
-	return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Name(name_);
+var $rundis$elm_bootstrap$Bootstrap$Tab$link = F2(
+	function (attributes, children) {
+		return $rundis$elm_bootstrap$Bootstrap$Tab$Link(
+			{attributes: attributes, children: children});
+	});
+var $rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3 = $elm$html$Html$Attributes$class('mt-3');
+var $rundis$elm_bootstrap$Bootstrap$Tab$Pane = function (a) {
+	return {$: 'Pane', a: a};
 };
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$applyModifier = F2(
-	function (modifier, options) {
-		switch (modifier.$) {
-			case 'Id':
-				var val = modifier.a;
-				return _Utils_update(
-					options,
-					{
-						id: $elm$core$Maybe$Just(val)
-					});
-			case 'Checked':
-				var val = modifier.a;
-				return _Utils_update(
-					options,
-					{checked: val});
-			case 'Name':
-				var val = modifier.a;
-				return _Utils_update(
-					options,
-					{
-						name: $elm$core$Maybe$Just(val)
-					});
-			case 'Inline':
-				return _Utils_update(
-					options,
-					{inline: true});
-			case 'OnClick':
-				var toMsg = modifier.a;
-				return _Utils_update(
-					options,
-					{
-						onClick: $elm$core$Maybe$Just(toMsg)
-					});
-			case 'Custom':
-				return _Utils_update(
-					options,
-					{custom: true});
-			case 'Disabled':
-				var val = modifier.a;
-				return _Utils_update(
-					options,
-					{disabled: val});
-			case 'Validation':
-				var validation = modifier.a;
-				return _Utils_update(
-					options,
-					{
-						validation: $elm$core$Maybe$Just(validation)
-					});
-			default:
-				var attrs_ = modifier.a;
-				return _Utils_update(
-					options,
-					{
-						attributes: _Utils_ap(options.attributes, attrs_)
-					});
+var $rundis$elm_bootstrap$Bootstrap$Tab$pane = F2(
+	function (attributes, children) {
+		return $rundis$elm_bootstrap$Bootstrap$Tab$Pane(
+			{attributes: attributes, children: children});
+	});
+var $rundis$elm_bootstrap$Bootstrap$Tab$getActiveItem = F2(
+	function (_v0, configRec) {
+		var activeTab = _v0.a.activeTab;
+		if (activeTab.$ === 'Nothing') {
+			return $elm$core$List$head(configRec.items);
+		} else {
+			var id = activeTab.a;
+			return function (found) {
+				if (found.$ === 'Just') {
+					var f = found.a;
+					return $elm$core$Maybe$Just(f);
+				} else {
+					return $elm$core$List$head(configRec.items);
+				}
+			}(
+				$elm$core$List$head(
+					A2(
+						$elm$core$List$filter,
+						function (_v2) {
+							var item_ = _v2.a;
+							return _Utils_eq(item_.id, id);
+						},
+						configRec.items)));
 		}
 	});
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$defaultOptions = {attributes: _List_Nil, checked: false, custom: false, disabled: false, id: $elm$core$Maybe$Nothing, inline: false, name: $elm$core$Maybe$Nothing, onClick: $elm$core$Maybe$Nothing, validation: $elm$core$Maybe$Nothing};
-var $elm$html$Html$Attributes$for = $elm$html$Html$Attributes$stringProperty('htmlFor');
-var $elm$html$Html$Attributes$checked = $elm$html$Html$Attributes$boolProperty('checked');
-var $elm$html$Html$Attributes$name = $elm$html$Html$Attributes$stringProperty('name');
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$toAttributes = function (options) {
-	return _Utils_ap(
-		_List_fromArray(
+var $rundis$elm_bootstrap$Bootstrap$Tab$Hidden = {$: 'Hidden'};
+var $elm$html$Html$li = _VirtualDom_node('li');
+var $rundis$elm_bootstrap$Bootstrap$Tab$Start = {$: 'Start'};
+var $rundis$elm_bootstrap$Bootstrap$Tab$visibilityTransition = F2(
+	function (withAnimation_, visibility) {
+		var _v0 = _Utils_Tuple2(withAnimation_, visibility);
+		_v0$2:
+		while (true) {
+			if (_v0.a) {
+				switch (_v0.b.$) {
+					case 'Hidden':
+						var _v1 = _v0.b;
+						return $rundis$elm_bootstrap$Bootstrap$Tab$Start;
+					case 'Start':
+						var _v2 = _v0.b;
+						return $rundis$elm_bootstrap$Bootstrap$Tab$Showing;
+					default:
+						break _v0$2;
+				}
+			} else {
+				break _v0$2;
+			}
+		}
+		return $rundis$elm_bootstrap$Bootstrap$Tab$Showing;
+	});
+var $rundis$elm_bootstrap$Bootstrap$Tab$renderLink = F4(
+	function (id, active, _v0, configRec) {
+		var attributes = _v0.a.attributes;
+		var children = _v0.a.children;
+		var commonClasses = _List_fromArray(
 			[
-				$elm$html$Html$Attributes$classList(
+				_Utils_Tuple2('nav-link', true),
+				_Utils_Tuple2('active', active)
+			]);
+		var clickHandler = $elm$html$Html$Events$onClick(
+			configRec.toMsg(
+				$rundis$elm_bootstrap$Bootstrap$Tab$State(
+					{
+						activeTab: $elm$core$Maybe$Just(id),
+						visibility: A2($rundis$elm_bootstrap$Bootstrap$Tab$visibilityTransition, configRec.withAnimation && (!active), $rundis$elm_bootstrap$Bootstrap$Tab$Hidden)
+					})));
+		var linkItem = configRec.useHash ? A2(
+			$elm$html$Html$a,
+			_Utils_ap(
 				_List_fromArray(
 					[
-						_Utils_Tuple2('form-check-input', !options.custom),
-						_Utils_Tuple2('custom-control-input', options.custom)
-					])),
-				$elm$html$Html$Attributes$type_('radio'),
-				$elm$html$Html$Attributes$disabled(options.disabled),
-				$elm$html$Html$Attributes$checked(options.checked)
-			]),
-		_Utils_ap(
-			A2(
-				$elm$core$List$filterMap,
-				$elm$core$Basics$identity,
+						$elm$html$Html$Attributes$classList(commonClasses),
+						clickHandler,
+						$elm$html$Html$Attributes$href('#' + id)
+					]),
+				attributes),
+			children) : A2(
+			$elm$html$Html$button,
+			_Utils_ap(
 				_List_fromArray(
 					[
-						A2($elm$core$Maybe$map, $elm$html$Html$Events$onClick, options.onClick),
-						A2($elm$core$Maybe$map, $elm$html$Html$Attributes$name, options.name),
-						A2($elm$core$Maybe$map, $elm$html$Html$Attributes$id, options.id)
-					])),
-			options.attributes));
+						$elm$html$Html$Attributes$classList(
+						_Utils_ap(
+							commonClasses,
+							_List_fromArray(
+								[
+									_Utils_Tuple2('btn', true),
+									_Utils_Tuple2('btn-link', true)
+								]))),
+						clickHandler
+					]),
+				attributes),
+			children);
+		return A2(
+			$elm$html$Html$li,
+			_List_fromArray(
+				[
+					$elm$html$Html$Attributes$class('nav-item')
+				]),
+			_List_fromArray(
+				[linkItem]));
+	});
+var $rundis$elm_bootstrap$Bootstrap$Tab$transitionStyles = function (opacity) {
+	return _List_fromArray(
+		[
+			A2(
+			$elm$html$Html$Attributes$style,
+			'opacity',
+			$elm$core$String$fromInt(opacity)),
+			A2($elm$html$Html$Attributes$style, '-webkit-transition', 'opacity 0.15s linear'),
+			A2($elm$html$Html$Attributes$style, '-o-transition', 'opacity 0.15s linear'),
+			A2($elm$html$Html$Attributes$style, 'transition', 'opacity 0.15s linear')
+		]);
 };
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$view = function (_v0) {
-	var radio_ = _v0.a;
-	var opts = A3($elm$core$List$foldl, $rundis$elm_bootstrap$Bootstrap$Form$Radio$applyModifier, $rundis$elm_bootstrap$Bootstrap$Form$Radio$defaultOptions, radio_.options);
-	var _v1 = radio_.label;
-	var label_ = _v1.a;
-	return A2(
-		$elm$html$Html$div,
+var $rundis$elm_bootstrap$Bootstrap$Tab$activeTabAttributes = F2(
+	function (_v0, configRec) {
+		var visibility = _v0.a.visibility;
+		switch (visibility.$) {
+			case 'Hidden':
+				return _List_fromArray(
+					[
+						A2($elm$html$Html$Attributes$style, 'display', 'none')
+					]);
+			case 'Start':
+				return _List_fromArray(
+					[
+						A2($elm$html$Html$Attributes$style, 'display', 'block'),
+						A2($elm$html$Html$Attributes$style, 'opacity', '0')
+					]);
+			default:
+				return _Utils_ap(
+					_List_fromArray(
+						[
+							A2($elm$html$Html$Attributes$style, 'display', 'block')
+						]),
+					$rundis$elm_bootstrap$Bootstrap$Tab$transitionStyles(1));
+		}
+	});
+var $rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane = F5(
+	function (id, active, _v0, state, configRec) {
+		var attributes = _v0.a.attributes;
+		var children = _v0.a.children;
+		var displayAttrs = active ? A2($rundis$elm_bootstrap$Bootstrap$Tab$activeTabAttributes, state, configRec) : _List_fromArray(
+			[
+				A2($elm$html$Html$Attributes$style, 'display', 'none')
+			]);
+		return A2(
+			$elm$html$Html$div,
+			_Utils_ap(
+				_List_fromArray(
+					[
+						$elm$html$Html$Attributes$id(id),
+						$elm$html$Html$Attributes$class('tab-pane')
+					]),
+				_Utils_ap(displayAttrs, attributes)),
+			children);
+	});
+var $rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes = function (configRec) {
+	return _Utils_ap(
 		_List_fromArray(
 			[
 				$elm$html$Html$Attributes$classList(
 				_List_fromArray(
 					[
-						_Utils_Tuple2('form-check', !opts.custom),
-						_Utils_Tuple2('form-check-inline', (!opts.custom) && opts.inline),
-						_Utils_Tuple2('custom-control', opts.custom),
-						_Utils_Tuple2('custom-radio', opts.custom),
-						_Utils_Tuple2('custom-control-inline', opts.inline && opts.custom)
+						_Utils_Tuple2('nav', true),
+						_Utils_Tuple2('nav-tabs', !configRec.isPill),
+						_Utils_Tuple2('nav-pills', configRec.isPill)
 					]))
 			]),
-		_List_fromArray(
-			[
-				A2(
-				$elm$html$Html$input,
-				$rundis$elm_bootstrap$Bootstrap$Form$Radio$toAttributes(opts),
-				_List_Nil),
-				A2(
-				$elm$html$Html$label,
-				_Utils_ap(
-					label_.attributes,
-					_Utils_ap(
+		_Utils_ap(
+			function () {
+				var _v0 = configRec.layout;
+				if (_v0.$ === 'Just') {
+					switch (_v0.a.$) {
+						case 'Justified':
+							var _v1 = _v0.a;
+							return _List_fromArray(
+								[
+									$elm$html$Html$Attributes$class('nav-justified')
+								]);
+						case 'Fill':
+							var _v2 = _v0.a;
+							return _List_fromArray(
+								[
+									$elm$html$Html$Attributes$class('nav-fill')
+								]);
+						case 'Center':
+							var _v3 = _v0.a;
+							return _List_fromArray(
+								[
+									$elm$html$Html$Attributes$class('justify-content-center')
+								]);
+						default:
+							var _v4 = _v0.a;
+							return _List_fromArray(
+								[
+									$elm$html$Html$Attributes$class('justify-content-end')
+								]);
+					}
+				} else {
+					return _List_Nil;
+				}
+			}(),
+			configRec.attributes));
+};
+var $elm$html$Html$ul = _VirtualDom_node('ul');
+var $rundis$elm_bootstrap$Bootstrap$Tab$view = F2(
+	function (state, _v0) {
+		var configRec = _v0.a;
+		var _v1 = A2($rundis$elm_bootstrap$Bootstrap$Tab$getActiveItem, state, configRec);
+		if (_v1.$ === 'Nothing') {
+			return A2(
+				$elm$html$Html$div,
+				_List_Nil,
+				_List_fromArray(
+					[
+						A2(
+						$elm$html$Html$ul,
+						$rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes(configRec),
+						_List_Nil),
+						A2(
+						$elm$html$Html$div,
 						_List_fromArray(
 							[
-								$elm$html$Html$Attributes$classList(
-								_List_fromArray(
-									[
-										_Utils_Tuple2('form-check-label', !opts.custom),
-										_Utils_Tuple2('custom-control-label', opts.custom)
-									]))
+								$elm$html$Html$Attributes$class('tab-content')
 							]),
-						function () {
-							var _v2 = opts.id;
-							if (_v2.$ === 'Just') {
-								var v = _v2.a;
-								return _List_fromArray(
-									[
-										$elm$html$Html$Attributes$for(v)
-									]);
-							} else {
-								return _List_Nil;
-							}
-						}())),
-				label_.children)
-			]));
-};
-var $rundis$elm_bootstrap$Bootstrap$Form$Radio$radioList = F2(
-	function (groupName, radios) {
-		return A2(
-			$elm$core$List$map,
-			A2(
-				$elm$core$Basics$composeL,
-				$rundis$elm_bootstrap$Bootstrap$Form$Radio$view,
-				$rundis$elm_bootstrap$Bootstrap$Form$Radio$addOption(
-					$rundis$elm_bootstrap$Bootstrap$Form$Radio$name(groupName))),
-			radios);
-	});
-var $elm$core$List$append = F2(
-	function (xs, ys) {
-		if (!ys.b) {
-			return xs;
+						_List_Nil)
+					]));
 		} else {
-			return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs);
+			var currentItem = _v1.a.a;
+			return A2(
+				$elm$html$Html$div,
+				_List_Nil,
+				_List_fromArray(
+					[
+						A2(
+						$elm$html$Html$ul,
+						$rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes(configRec),
+						A2(
+							$elm$core$List$map,
+							function (_v2) {
+								var item_ = _v2.a;
+								return A4(
+									$rundis$elm_bootstrap$Bootstrap$Tab$renderLink,
+									item_.id,
+									_Utils_eq(item_.id, currentItem.id),
+									item_.link,
+									configRec);
+							},
+							configRec.items)),
+						A2(
+						$elm$html$Html$div,
+						_List_fromArray(
+							[
+								$elm$html$Html$Attributes$class('tab-content')
+							]),
+						A2(
+							$elm$core$List$map,
+							function (_v3) {
+								var item_ = _v3.a;
+								return A5(
+									$rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane,
+									item_.id,
+									_Utils_eq(item_.id, currentItem.id),
+									item_.pane,
+									state,
+									configRec);
+							},
+							configRec.items))
+					]));
 		}
 	});
-var $elm$html$Html$fieldset = _VirtualDom_node('fieldset');
-var $rundis$elm_bootstrap$Bootstrap$Form$Fieldset$view = function (_v0) {
-	var rec = _v0.a;
-	var options = rec.options;
-	return A2(
-		$elm$html$Html$fieldset,
-		_Utils_ap(
-			_List_fromArray(
-				[
-					$elm$html$Html$Attributes$classList(
-					_List_fromArray(
-						[
-							_Utils_Tuple2('form-group', options.isGroup)
-						])),
-					$elm$html$Html$Attributes$disabled(options.disabled)
-				]),
-			options.attributes),
-		function (xs) {
-			return A2($elm$core$List$append, xs, rec.children);
-		}(
-			A2(
-				$elm$core$Maybe$withDefault,
-				_List_Nil,
-				A2(
-					$elm$core$Maybe$map,
-					function (e) {
-						return _List_fromArray(
-							[e]);
-					},
-					rec.legend))));
-};
 var $author$project$FightingTool$viewCustomEnemyModal = function (model) {
-	var herobool = function () {
-		var _v1 = model.enemyHero;
-		if (_v1 === 'Hero') {
-			return true;
-		} else {
-			return false;
-		}
-	}();
-	var enemybool = function () {
-		var _v0 = model.enemyHero;
-		if (_v0 === 'Enemy') {
-			return true;
-		} else {
-			return false;
-		}
-	}();
 	return A2(
 		$rundis$elm_bootstrap$Bootstrap$Modal$view,
 		model.showCustomEnemy,
 		A3(
 			$rundis$elm_bootstrap$Bootstrap$Modal$footer,
-			_List_Nil,
+			_List_fromArray(
+				[
+					$elm$html$Html$Attributes$class('colored-header-footer')
+				]),
 			_List_Nil,
 			A3(
 				$rundis$elm_bootstrap$Bootstrap$Modal$body,
-				_List_Nil,
+				_List_fromArray(
+					[
+						$elm$html$Html$Attributes$class('body')
+					]),
 				_List_fromArray(
 					[
 						A2(
@@ -11823,54 +11826,86 @@ var $author$project$FightingTool$viewCustomEnemyModal = function (model) {
 						_List_Nil,
 						_List_fromArray(
 							[
+								A2(
+								$elm$html$Html$h5,
+								_List_Nil,
+								_List_fromArray(
+									[
+										$elm$html$Html$text('Vordefiniert')
+									])),
 								$author$project$FightingTool$dropdownMenu(model),
 								A2($elm$html$Html$br, _List_Nil, _List_Nil),
-								$rundis$elm_bootstrap$Bootstrap$Form$Fieldset$view(
 								A2(
-									$rundis$elm_bootstrap$Bootstrap$Form$Fieldset$children,
-									A2(
-										$rundis$elm_bootstrap$Bootstrap$Form$Radio$radioList,
-										'EnemyHero',
-										_List_fromArray(
-											[
-												A2(
-												$rundis$elm_bootstrap$Bootstrap$Form$Radio$create,
-												_List_fromArray(
-													[
-														$rundis$elm_bootstrap$Bootstrap$Form$Radio$id('enemy'),
-														$rundis$elm_bootstrap$Bootstrap$Form$Radio$onClick(
-														$author$project$Model$SwitchEnemyHero('Enemy')),
-														$rundis$elm_bootstrap$Bootstrap$Form$Radio$checked(enemybool)
-													]),
-												'Gegner'),
-												A2(
-												$rundis$elm_bootstrap$Bootstrap$Form$Radio$create,
-												_List_fromArray(
-													[
-														$rundis$elm_bootstrap$Bootstrap$Form$Radio$id('hero'),
-														$rundis$elm_bootstrap$Bootstrap$Form$Radio$onClick(
-														$author$project$Model$SwitchEnemyHero('Hero')),
-														$rundis$elm_bootstrap$Bootstrap$Form$Radio$checked(herobool)
-													]),
-												'Held')
-											])),
-									A3(
-										$rundis$elm_bootstrap$Bootstrap$Form$Fieldset$legend,
-										_List_Nil,
-										_List_fromArray(
-											[
-												$elm$html$Html$text('Benutzerdefiniert: ')
-											]),
-										$rundis$elm_bootstrap$Bootstrap$Form$Fieldset$asGroup($rundis$elm_bootstrap$Bootstrap$Form$Fieldset$config)))),
-								(model.enemyHero === 'Hero') ? $author$project$FightingTool$customHero(model) : ((model.enemyHero === 'Enemy') ? $author$project$FightingTool$customEnemy(model) : A2($elm$html$Html$p, _List_Nil, _List_Nil))
+								$elm$html$Html$h5,
+								_List_Nil,
+								_List_fromArray(
+									[
+										$elm$html$Html$text('Benutzerdefiniert')
+									])),
+								A2(
+								$rundis$elm_bootstrap$Bootstrap$Tab$view,
+								model.modalTabState,
+								A2(
+									$rundis$elm_bootstrap$Bootstrap$Tab$items,
+									_List_fromArray(
+										[
+											$rundis$elm_bootstrap$Bootstrap$Tab$item(
+											{
+												id: 'enemy',
+												link: A2(
+													$rundis$elm_bootstrap$Bootstrap$Tab$link,
+													_List_Nil,
+													_List_fromArray(
+														[
+															$elm$html$Html$text('Gegner')
+														])),
+												pane: A2(
+													$rundis$elm_bootstrap$Bootstrap$Tab$pane,
+													_List_fromArray(
+														[$rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3]),
+													_List_fromArray(
+														[
+															$author$project$FightingTool$customEnemy(model)
+														]))
+											}),
+											$rundis$elm_bootstrap$Bootstrap$Tab$item(
+											{
+												id: 'hero',
+												link: A2(
+													$rundis$elm_bootstrap$Bootstrap$Tab$link,
+													_List_Nil,
+													_List_fromArray(
+														[
+															$elm$html$Html$text('Held')
+														])),
+												pane: A2(
+													$rundis$elm_bootstrap$Bootstrap$Tab$pane,
+													_List_fromArray(
+														[$rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3]),
+													_List_fromArray(
+														[
+															$author$project$FightingTool$customHero(model)
+														]))
+											})
+										]),
+									$rundis$elm_bootstrap$Bootstrap$Tab$config($author$project$Model$ModalTabMsg)))
 							]))
 					]),
 				A3(
-					$rundis$elm_bootstrap$Bootstrap$Modal$h3,
-					_List_Nil,
+					$rundis$elm_bootstrap$Bootstrap$Modal$header,
+					_List_fromArray(
+						[
+							$elm$html$Html$Attributes$class('colored-header-footer')
+						]),
 					_List_fromArray(
 						[
-							$elm$html$Html$text('Charakter hinzufügen')
+							A2(
+							$elm$html$Html$h3,
+							_List_Nil,
+							_List_fromArray(
+								[
+									$elm$html$Html$text('Charakter hinzufügen')
+								]))
 						]),
 					A2(
 						$rundis$elm_bootstrap$Bootstrap$Modal$hideOnBackdropClick,
@@ -11902,7 +11937,11 @@ var $author$project$FightingTool$body = function (model) {
 										[
 											A2(
 											$rundis$elm_bootstrap$Bootstrap$Table$tr,
-											_List_Nil,
+											_List_fromArray(
+												[
+													$rundis$elm_bootstrap$Bootstrap$Table$rowAttr(
+													$elm$html$Html$Attributes$class('tr'))
+												]),
 											_List_fromArray(
 												[
 													A2(
@@ -11939,7 +11978,11 @@ var $author$project$FightingTool$body = function (model) {
 									[
 										A2(
 										$rundis$elm_bootstrap$Bootstrap$Table$th,
-										_List_Nil,
+										_List_fromArray(
+											[
+												$rundis$elm_bootstrap$Bootstrap$Table$cellAttr(
+												$elm$html$Html$Attributes$class('th'))
+											]),
 										_List_fromArray(
 											[
 												$elm$html$Html$text('ID')
@@ -11949,7 +11992,9 @@ var $author$project$FightingTool$body = function (model) {
 										_List_fromArray(
 											[
 												$rundis$elm_bootstrap$Bootstrap$Table$cellAttr(
-												$elm$html$Html$Attributes$colspan(2))
+												$elm$html$Html$Attributes$colspan(2)),
+												$rundis$elm_bootstrap$Bootstrap$Table$cellAttr(
+												$elm$html$Html$Attributes$class('th'))
 											]),
 										_List_fromArray(
 											[
@@ -11957,28 +12002,44 @@ var $author$project$FightingTool$body = function (model) {
 											])),
 										A2(
 										$rundis$elm_bootstrap$Bootstrap$Table$th,
-										_List_Nil,
+										_List_fromArray(
+											[
+												$rundis$elm_bootstrap$Bootstrap$Table$cellAttr(
+												$elm$html$Html$Attributes$class('th'))
+											]),
 										_List_fromArray(
 											[
 												$elm$html$Html$text('RS')
 											])),
 										A2(
 										$rundis$elm_bootstrap$Bootstrap$Table$th,
-										_List_Nil,
+										_List_fromArray(
+											[
+												$rundis$elm_bootstrap$Bootstrap$Table$cellAttr(
+												$elm$html$Html$Attributes$class('th'))
+											]),
 										_List_fromArray(
 											[
 												$elm$html$Html$text('LeP')
 											])),
 										A2(
 										$rundis$elm_bootstrap$Bootstrap$Table$th,
-										_List_Nil,
+										_List_fromArray(
+											[
+												$rundis$elm_bootstrap$Bootstrap$Table$cellAttr(
+												$elm$html$Html$Attributes$class('th'))
+											]),
 										_List_fromArray(
 											[
 												$elm$html$Html$text(' ')
 											])),
 										A2(
 										$rundis$elm_bootstrap$Bootstrap$Table$th,
-										_List_Nil,
+										_List_fromArray(
+											[
+												$rundis$elm_bootstrap$Bootstrap$Table$cellAttr(
+												$elm$html$Html$Attributes$class('th'))
+											]),
 										_List_fromArray(
 											[
 												$elm$html$Html$text(' ')
@@ -11991,13 +12052,6 @@ var $author$project$FightingTool$body = function (model) {
 				$author$project$FightingTool$viewAttackModal(model)
 			]));
 };
-var $rundis$elm_bootstrap$Bootstrap$Tab$Config = function (a) {
-	return {$: 'Config', a: a};
-};
-var $rundis$elm_bootstrap$Bootstrap$Tab$config = function (toMsg) {
-	return $rundis$elm_bootstrap$Bootstrap$Tab$Config(
-		{attributes: _List_Nil, isPill: false, items: _List_Nil, layout: $elm$core$Maybe$Nothing, toMsg: toMsg, useHash: false, withAnimation: false});
-};
 var $author$project$Model$ClearCharacterList = {$: 'ClearCharacterList'};
 var $author$project$Model$Pick = {$: 'Pick'};
 var $rundis$elm_bootstrap$Bootstrap$Form$Textarea$Attrs = function (a) {
@@ -12030,12 +12084,6 @@ var $author$project$Model$AddCharacterIcon = function (a) {
 var $author$project$Model$MouseDraw = function (a) {
 	return {$: 'MouseDraw', a: a};
 };
-var $rundis$elm_bootstrap$Bootstrap$Table$RowAttr = function (a) {
-	return {$: 'RowAttr', a: a};
-};
-var $rundis$elm_bootstrap$Bootstrap$Table$rowAttr = function (attr_) {
-	return $rundis$elm_bootstrap$Bootstrap$Table$RowAttr(attr_);
-};
 var $rundis$elm_bootstrap$Bootstrap$Table$Roled = function (a) {
 	return {$: 'Roled', a: a};
 };
@@ -12952,7 +13000,42 @@ var $author$project$Model$ChangeIconText = function (a) {
 var $author$project$Model$ColorPickerMsg = function (a) {
 	return {$: 'ColorPickerMsg', a: a};
 };
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Checked = function (a) {
+	return {$: 'Checked', a: a};
+};
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$checked = function (isCheck) {
+	return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Checked(isCheck);
+};
 var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Custom = {$: 'Custom'};
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio = function (a) {
+	return {$: 'Radio', a: a};
+};
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$createAdvanced = F2(
+	function (options, label_) {
+		return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio(
+			{label: label_, options: options});
+	});
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Label = function (a) {
+	return {$: 'Label', a: a};
+};
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$label = F2(
+	function (attributes, children) {
+		return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Label(
+			{attributes: attributes, children: children});
+	});
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$create = F2(
+	function (options, label_) {
+		return A2(
+			$rundis$elm_bootstrap$Bootstrap$Form$Radio$createAdvanced,
+			options,
+			A2(
+				$rundis$elm_bootstrap$Bootstrap$Form$Radio$label,
+				_List_Nil,
+				_List_fromArray(
+					[
+						$elm$html$Html$text(label_)
+					])));
+	});
 var $rundis$elm_bootstrap$Bootstrap$Form$Radio$createCustom = function (options) {
 	return $rundis$elm_bootstrap$Bootstrap$Form$Radio$create(
 		A2($elm$core$List$cons, $rundis$elm_bootstrap$Bootstrap$Form$Radio$Custom, options));
@@ -12971,49 +13054,234 @@ var $author$project$DungeonMap$getCharIcon = function (state) {
 		return A6($author$project$Model$ObjectIcon, 0, '', '', '', $elm$core$Maybe$Nothing, 0);
 	}
 };
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Id = function (a) {
+	return {$: 'Id', a: a};
+};
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$id = function (theId) {
+	return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Id(theId);
+};
 var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Inline = {$: 'Inline'};
 var $rundis$elm_bootstrap$Bootstrap$Form$Radio$inline = $rundis$elm_bootstrap$Bootstrap$Form$Radio$Inline;
 var $elm$virtual_dom$VirtualDom$map = _VirtualDom_map;
 var $elm$html$Html$map = $elm$virtual_dom$VirtualDom$map;
-var $simonh1000$elm_colorpicker$ColorPicker$markerAttrs = _List_fromArray(
-	[
-		A2($elm$html$Html$Attributes$style, 'position', 'absolute'),
-		A2($elm$html$Html$Attributes$style, 'top', '1px'),
-		A2($elm$html$Html$Attributes$style, 'bottom', '1px'),
-		A2($elm$html$Html$Attributes$style, 'border', '1px solid #ddd'),
-		A2($elm$html$Html$Attributes$style, 'background-color', '#ffffff'),
-		A2($elm$html$Html$Attributes$style, 'width', '6px'),
-		A2($elm$html$Html$Attributes$style, 'pointer-events', 'none')
-	]);
-var $simonh1000$elm_colorpicker$ColorPicker$alphaMarker = function (alpha) {
-	var correction = 4;
-	var xVal = $elm$core$String$fromInt(
-		$elm$core$Basics$round((alpha * $simonh1000$elm_colorpicker$ColorPicker$widgetWidth) - correction));
-	return A2(
-		$elm$html$Html$div,
-		A2(
-			$elm$core$List$cons,
-			A2($elm$html$Html$Attributes$style, 'left', xVal + 'px'),
-			$simonh1000$elm_colorpicker$ColorPicker$markerAttrs),
-		_List_Nil);
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$OnClick = function (a) {
+	return {$: 'OnClick', a: a};
 };
-var $simonh1000$elm_colorpicker$ColorPicker$NoOp = {$: 'NoOp'};
-var $simonh1000$elm_colorpicker$ColorPicker$bubblePreventer = A2(
-	$elm$html$Html$Events$stopPropagationOn,
-	'click',
-	$elm$json$Json$Decode$succeed(
-		_Utils_Tuple2($simonh1000$elm_colorpicker$ColorPicker$NoOp, true)));
-var $simonh1000$elm_colorpicker$ColorPicker$checkedBkgStyles = _List_fromArray(
-	[
-		A2($elm$html$Html$Attributes$style, 'background-size', '12px 12px'),
-		A2($elm$html$Html$Attributes$style, 'background-position', '0 0, 0 6px, 6px -6px, -6px 0px'),
-		A2($elm$html$Html$Attributes$style, 'background-image', 'linear-gradient(45deg, #808080 25%, transparent 25%), linear-gradient(-45deg, #808080 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #808080 75%), linear-gradient(-45deg, transparent 75%, #808080 75%)')
-	]);
-var $avh4$elm_color$Color$hsl = F3(
-	function (h, s, l) {
-		return A4($avh4$elm_color$Color$hsla, h, s, l, 1.0);
-	});
-var $simonh1000$elm_colorpicker$ColorPicker$hueMarker = function (lastHue) {
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$onClick = function (toMsg) {
+	return $rundis$elm_bootstrap$Bootstrap$Form$Radio$OnClick(toMsg);
+};
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$addOption = F2(
+	function (opt, _v0) {
+		var radio_ = _v0.a;
+		var options = radio_.options;
+		return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Radio(
+			_Utils_update(
+				radio_,
+				{
+					options: A2($elm$core$List$cons, opt, options)
+				}));
+	});
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$Name = function (a) {
+	return {$: 'Name', a: a};
+};
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$name = function (name_) {
+	return $rundis$elm_bootstrap$Bootstrap$Form$Radio$Name(name_);
+};
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$applyModifier = F2(
+	function (modifier, options) {
+		switch (modifier.$) {
+			case 'Id':
+				var val = modifier.a;
+				return _Utils_update(
+					options,
+					{
+						id: $elm$core$Maybe$Just(val)
+					});
+			case 'Checked':
+				var val = modifier.a;
+				return _Utils_update(
+					options,
+					{checked: val});
+			case 'Name':
+				var val = modifier.a;
+				return _Utils_update(
+					options,
+					{
+						name: $elm$core$Maybe$Just(val)
+					});
+			case 'Inline':
+				return _Utils_update(
+					options,
+					{inline: true});
+			case 'OnClick':
+				var toMsg = modifier.a;
+				return _Utils_update(
+					options,
+					{
+						onClick: $elm$core$Maybe$Just(toMsg)
+					});
+			case 'Custom':
+				return _Utils_update(
+					options,
+					{custom: true});
+			case 'Disabled':
+				var val = modifier.a;
+				return _Utils_update(
+					options,
+					{disabled: val});
+			case 'Validation':
+				var validation = modifier.a;
+				return _Utils_update(
+					options,
+					{
+						validation: $elm$core$Maybe$Just(validation)
+					});
+			default:
+				var attrs_ = modifier.a;
+				return _Utils_update(
+					options,
+					{
+						attributes: _Utils_ap(options.attributes, attrs_)
+					});
+		}
+	});
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$defaultOptions = {attributes: _List_Nil, checked: false, custom: false, disabled: false, id: $elm$core$Maybe$Nothing, inline: false, name: $elm$core$Maybe$Nothing, onClick: $elm$core$Maybe$Nothing, validation: $elm$core$Maybe$Nothing};
+var $elm$html$Html$Attributes$for = $elm$html$Html$Attributes$stringProperty('htmlFor');
+var $elm$html$Html$Attributes$checked = $elm$html$Html$Attributes$boolProperty('checked');
+var $elm$html$Html$Attributes$name = $elm$html$Html$Attributes$stringProperty('name');
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$toAttributes = function (options) {
+	return _Utils_ap(
+		_List_fromArray(
+			[
+				$elm$html$Html$Attributes$classList(
+				_List_fromArray(
+					[
+						_Utils_Tuple2('form-check-input', !options.custom),
+						_Utils_Tuple2('custom-control-input', options.custom)
+					])),
+				$elm$html$Html$Attributes$type_('radio'),
+				$elm$html$Html$Attributes$disabled(options.disabled),
+				$elm$html$Html$Attributes$checked(options.checked)
+			]),
+		_Utils_ap(
+			A2(
+				$elm$core$List$filterMap,
+				$elm$core$Basics$identity,
+				_List_fromArray(
+					[
+						A2($elm$core$Maybe$map, $elm$html$Html$Events$onClick, options.onClick),
+						A2($elm$core$Maybe$map, $elm$html$Html$Attributes$name, options.name),
+						A2($elm$core$Maybe$map, $elm$html$Html$Attributes$id, options.id)
+					])),
+			options.attributes));
+};
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$view = function (_v0) {
+	var radio_ = _v0.a;
+	var opts = A3($elm$core$List$foldl, $rundis$elm_bootstrap$Bootstrap$Form$Radio$applyModifier, $rundis$elm_bootstrap$Bootstrap$Form$Radio$defaultOptions, radio_.options);
+	var _v1 = radio_.label;
+	var label_ = _v1.a;
+	return A2(
+		$elm$html$Html$div,
+		_List_fromArray(
+			[
+				$elm$html$Html$Attributes$classList(
+				_List_fromArray(
+					[
+						_Utils_Tuple2('form-check', !opts.custom),
+						_Utils_Tuple2('form-check-inline', (!opts.custom) && opts.inline),
+						_Utils_Tuple2('custom-control', opts.custom),
+						_Utils_Tuple2('custom-radio', opts.custom),
+						_Utils_Tuple2('custom-control-inline', opts.inline && opts.custom)
+					]))
+			]),
+		_List_fromArray(
+			[
+				A2(
+				$elm$html$Html$input,
+				$rundis$elm_bootstrap$Bootstrap$Form$Radio$toAttributes(opts),
+				_List_Nil),
+				A2(
+				$elm$html$Html$label,
+				_Utils_ap(
+					label_.attributes,
+					_Utils_ap(
+						_List_fromArray(
+							[
+								$elm$html$Html$Attributes$classList(
+								_List_fromArray(
+									[
+										_Utils_Tuple2('form-check-label', !opts.custom),
+										_Utils_Tuple2('custom-control-label', opts.custom)
+									]))
+							]),
+						function () {
+							var _v2 = opts.id;
+							if (_v2.$ === 'Just') {
+								var v = _v2.a;
+								return _List_fromArray(
+									[
+										$elm$html$Html$Attributes$for(v)
+									]);
+							} else {
+								return _List_Nil;
+							}
+						}())),
+				label_.children)
+			]));
+};
+var $rundis$elm_bootstrap$Bootstrap$Form$Radio$radioList = F2(
+	function (groupName, radios) {
+		return A2(
+			$elm$core$List$map,
+			A2(
+				$elm$core$Basics$composeL,
+				$rundis$elm_bootstrap$Bootstrap$Form$Radio$view,
+				$rundis$elm_bootstrap$Bootstrap$Form$Radio$addOption(
+					$rundis$elm_bootstrap$Bootstrap$Form$Radio$name(groupName))),
+			radios);
+	});
+var $rundis$elm_bootstrap$Bootstrap$Internal$Button$Success = {$: 'Success'};
+var $rundis$elm_bootstrap$Bootstrap$Button$success = $rundis$elm_bootstrap$Bootstrap$Internal$Button$Coloring(
+	$rundis$elm_bootstrap$Bootstrap$Internal$Button$Roled($rundis$elm_bootstrap$Bootstrap$Internal$Button$Success));
+var $simonh1000$elm_colorpicker$ColorPicker$markerAttrs = _List_fromArray(
+	[
+		A2($elm$html$Html$Attributes$style, 'position', 'absolute'),
+		A2($elm$html$Html$Attributes$style, 'top', '1px'),
+		A2($elm$html$Html$Attributes$style, 'bottom', '1px'),
+		A2($elm$html$Html$Attributes$style, 'border', '1px solid #ddd'),
+		A2($elm$html$Html$Attributes$style, 'background-color', '#ffffff'),
+		A2($elm$html$Html$Attributes$style, 'width', '6px'),
+		A2($elm$html$Html$Attributes$style, 'pointer-events', 'none')
+	]);
+var $simonh1000$elm_colorpicker$ColorPicker$alphaMarker = function (alpha) {
+	var correction = 4;
+	var xVal = $elm$core$String$fromInt(
+		$elm$core$Basics$round((alpha * $simonh1000$elm_colorpicker$ColorPicker$widgetWidth) - correction));
+	return A2(
+		$elm$html$Html$div,
+		A2(
+			$elm$core$List$cons,
+			A2($elm$html$Html$Attributes$style, 'left', xVal + 'px'),
+			$simonh1000$elm_colorpicker$ColorPicker$markerAttrs),
+		_List_Nil);
+};
+var $simonh1000$elm_colorpicker$ColorPicker$NoOp = {$: 'NoOp'};
+var $simonh1000$elm_colorpicker$ColorPicker$bubblePreventer = A2(
+	$elm$html$Html$Events$stopPropagationOn,
+	'click',
+	$elm$json$Json$Decode$succeed(
+		_Utils_Tuple2($simonh1000$elm_colorpicker$ColorPicker$NoOp, true)));
+var $simonh1000$elm_colorpicker$ColorPicker$checkedBkgStyles = _List_fromArray(
+	[
+		A2($elm$html$Html$Attributes$style, 'background-size', '12px 12px'),
+		A2($elm$html$Html$Attributes$style, 'background-position', '0 0, 0 6px, 6px -6px, -6px 0px'),
+		A2($elm$html$Html$Attributes$style, 'background-image', 'linear-gradient(45deg, #808080 25%, transparent 25%), linear-gradient(-45deg, #808080 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #808080 75%), linear-gradient(-45deg, transparent 75%, #808080 75%)')
+	]);
+var $avh4$elm_color$Color$hsl = F3(
+	function (h, s, l) {
+		return A4($avh4$elm_color$Color$hsla, h, s, l, 1.0);
+	});
+var $simonh1000$elm_colorpicker$ColorPicker$hueMarker = function (lastHue) {
 	var correction = 4;
 	var xVal = $elm$core$String$fromInt(
 		$elm$core$Basics$round((lastHue * $simonh1000$elm_colorpicker$ColorPicker$widgetWidth) - correction));
@@ -14641,7 +14909,7 @@ var $author$project$FightingTool$footer = A2(
 	$elm$html$Html$footer,
 	_List_fromArray(
 		[
-			$elm$html$Html$Attributes$class('footer animate__animated animate__fadeInUp')
+			$elm$html$Html$Attributes$class('footer animate__animated animate__fadeInUp page-footer')
 		]),
 	_List_fromArray(
 		[
@@ -14672,7 +14940,7 @@ var $author$project$FightingTool$header = A2(
 	$elm$html$Html$header,
 	_List_fromArray(
 		[
-			$elm$html$Html$Attributes$class('header is-bold animate__animated animate__fadeInDown')
+			$elm$html$Html$Attributes$class('header animate__animated animate__fadeInDown')
 		]),
 	_List_fromArray(
 		[
@@ -14748,316 +15016,13 @@ var $author$project$FightingTool$header = A2(
 						]))
 				]))
 		]));
-var $rundis$elm_bootstrap$Bootstrap$Tab$Item = function (a) {
-	return {$: 'Item', a: a};
-};
-var $rundis$elm_bootstrap$Bootstrap$Tab$item = function (rec) {
-	return $rundis$elm_bootstrap$Bootstrap$Tab$Item(
-		{id: rec.id, link: rec.link, pane: rec.pane});
-};
-var $rundis$elm_bootstrap$Bootstrap$Tab$items = F2(
-	function (items_, _v0) {
-		var configRec = _v0.a;
-		return $rundis$elm_bootstrap$Bootstrap$Tab$Config(
-			_Utils_update(
-				configRec,
-				{items: items_}));
-	});
-var $rundis$elm_bootstrap$Bootstrap$Tab$Link = function (a) {
-	return {$: 'Link', a: a};
-};
-var $rundis$elm_bootstrap$Bootstrap$Tab$link = F2(
-	function (attributes, children) {
-		return $rundis$elm_bootstrap$Bootstrap$Tab$Link(
-			{attributes: attributes, children: children});
-	});
-var $rundis$elm_bootstrap$Bootstrap$Utilities$Spacing$mt3 = $elm$html$Html$Attributes$class('mt-3');
-var $rundis$elm_bootstrap$Bootstrap$Tab$Pane = function (a) {
-	return {$: 'Pane', a: a};
-};
-var $rundis$elm_bootstrap$Bootstrap$Tab$pane = F2(
-	function (attributes, children) {
-		return $rundis$elm_bootstrap$Bootstrap$Tab$Pane(
-			{attributes: attributes, children: children});
-	});
-var $rundis$elm_bootstrap$Bootstrap$Tab$getActiveItem = F2(
-	function (_v0, configRec) {
-		var activeTab = _v0.a.activeTab;
-		if (activeTab.$ === 'Nothing') {
-			return $elm$core$List$head(configRec.items);
-		} else {
-			var id = activeTab.a;
-			return function (found) {
-				if (found.$ === 'Just') {
-					var f = found.a;
-					return $elm$core$Maybe$Just(f);
-				} else {
-					return $elm$core$List$head(configRec.items);
-				}
-			}(
-				$elm$core$List$head(
-					A2(
-						$elm$core$List$filter,
-						function (_v2) {
-							var item_ = _v2.a;
-							return _Utils_eq(item_.id, id);
-						},
-						configRec.items)));
-		}
-	});
-var $rundis$elm_bootstrap$Bootstrap$Tab$Hidden = {$: 'Hidden'};
-var $elm$html$Html$li = _VirtualDom_node('li');
-var $rundis$elm_bootstrap$Bootstrap$Tab$Start = {$: 'Start'};
-var $rundis$elm_bootstrap$Bootstrap$Tab$visibilityTransition = F2(
-	function (withAnimation_, visibility) {
-		var _v0 = _Utils_Tuple2(withAnimation_, visibility);
-		_v0$2:
-		while (true) {
-			if (_v0.a) {
-				switch (_v0.b.$) {
-					case 'Hidden':
-						var _v1 = _v0.b;
-						return $rundis$elm_bootstrap$Bootstrap$Tab$Start;
-					case 'Start':
-						var _v2 = _v0.b;
-						return $rundis$elm_bootstrap$Bootstrap$Tab$Showing;
-					default:
-						break _v0$2;
-				}
-			} else {
-				break _v0$2;
-			}
-		}
-		return $rundis$elm_bootstrap$Bootstrap$Tab$Showing;
-	});
-var $rundis$elm_bootstrap$Bootstrap$Tab$renderLink = F4(
-	function (id, active, _v0, configRec) {
-		var attributes = _v0.a.attributes;
-		var children = _v0.a.children;
-		var commonClasses = _List_fromArray(
-			[
-				_Utils_Tuple2('nav-link', true),
-				_Utils_Tuple2('active', active)
-			]);
-		var clickHandler = $elm$html$Html$Events$onClick(
-			configRec.toMsg(
-				$rundis$elm_bootstrap$Bootstrap$Tab$State(
-					{
-						activeTab: $elm$core$Maybe$Just(id),
-						visibility: A2($rundis$elm_bootstrap$Bootstrap$Tab$visibilityTransition, configRec.withAnimation && (!active), $rundis$elm_bootstrap$Bootstrap$Tab$Hidden)
-					})));
-		var linkItem = configRec.useHash ? A2(
-			$elm$html$Html$a,
-			_Utils_ap(
-				_List_fromArray(
-					[
-						$elm$html$Html$Attributes$classList(commonClasses),
-						clickHandler,
-						$elm$html$Html$Attributes$href('#' + id)
-					]),
-				attributes),
-			children) : A2(
-			$elm$html$Html$button,
-			_Utils_ap(
-				_List_fromArray(
-					[
-						$elm$html$Html$Attributes$classList(
-						_Utils_ap(
-							commonClasses,
-							_List_fromArray(
-								[
-									_Utils_Tuple2('btn', true),
-									_Utils_Tuple2('btn-link', true)
-								]))),
-						clickHandler
-					]),
-				attributes),
-			children);
-		return A2(
-			$elm$html$Html$li,
-			_List_fromArray(
-				[
-					$elm$html$Html$Attributes$class('nav-item')
-				]),
-			_List_fromArray(
-				[linkItem]));
-	});
-var $rundis$elm_bootstrap$Bootstrap$Tab$transitionStyles = function (opacity) {
-	return _List_fromArray(
-		[
-			A2(
-			$elm$html$Html$Attributes$style,
-			'opacity',
-			$elm$core$String$fromInt(opacity)),
-			A2($elm$html$Html$Attributes$style, '-webkit-transition', 'opacity 0.15s linear'),
-			A2($elm$html$Html$Attributes$style, '-o-transition', 'opacity 0.15s linear'),
-			A2($elm$html$Html$Attributes$style, 'transition', 'opacity 0.15s linear')
-		]);
-};
-var $rundis$elm_bootstrap$Bootstrap$Tab$activeTabAttributes = F2(
-	function (_v0, configRec) {
-		var visibility = _v0.a.visibility;
-		switch (visibility.$) {
-			case 'Hidden':
-				return _List_fromArray(
-					[
-						A2($elm$html$Html$Attributes$style, 'display', 'none')
-					]);
-			case 'Start':
-				return _List_fromArray(
-					[
-						A2($elm$html$Html$Attributes$style, 'display', 'block'),
-						A2($elm$html$Html$Attributes$style, 'opacity', '0')
-					]);
-			default:
-				return _Utils_ap(
-					_List_fromArray(
-						[
-							A2($elm$html$Html$Attributes$style, 'display', 'block')
-						]),
-					$rundis$elm_bootstrap$Bootstrap$Tab$transitionStyles(1));
-		}
-	});
-var $rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane = F5(
-	function (id, active, _v0, state, configRec) {
-		var attributes = _v0.a.attributes;
-		var children = _v0.a.children;
-		var displayAttrs = active ? A2($rundis$elm_bootstrap$Bootstrap$Tab$activeTabAttributes, state, configRec) : _List_fromArray(
-			[
-				A2($elm$html$Html$Attributes$style, 'display', 'none')
-			]);
-		return A2(
-			$elm$html$Html$div,
-			_Utils_ap(
-				_List_fromArray(
-					[
-						$elm$html$Html$Attributes$id(id),
-						$elm$html$Html$Attributes$class('tab-pane')
-					]),
-				_Utils_ap(displayAttrs, attributes)),
-			children);
-	});
-var $rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes = function (configRec) {
-	return _Utils_ap(
-		_List_fromArray(
-			[
-				$elm$html$Html$Attributes$classList(
-				_List_fromArray(
-					[
-						_Utils_Tuple2('nav', true),
-						_Utils_Tuple2('nav-tabs', !configRec.isPill),
-						_Utils_Tuple2('nav-pills', configRec.isPill)
-					]))
-			]),
-		_Utils_ap(
-			function () {
-				var _v0 = configRec.layout;
-				if (_v0.$ === 'Just') {
-					switch (_v0.a.$) {
-						case 'Justified':
-							var _v1 = _v0.a;
-							return _List_fromArray(
-								[
-									$elm$html$Html$Attributes$class('nav-justified')
-								]);
-						case 'Fill':
-							var _v2 = _v0.a;
-							return _List_fromArray(
-								[
-									$elm$html$Html$Attributes$class('nav-fill')
-								]);
-						case 'Center':
-							var _v3 = _v0.a;
-							return _List_fromArray(
-								[
-									$elm$html$Html$Attributes$class('justify-content-center')
-								]);
-						default:
-							var _v4 = _v0.a;
-							return _List_fromArray(
-								[
-									$elm$html$Html$Attributes$class('justify-content-end')
-								]);
-					}
-				} else {
-					return _List_Nil;
-				}
-			}(),
-			configRec.attributes));
-};
-var $elm$html$Html$ul = _VirtualDom_node('ul');
-var $rundis$elm_bootstrap$Bootstrap$Tab$view = F2(
-	function (state, _v0) {
-		var configRec = _v0.a;
-		var _v1 = A2($rundis$elm_bootstrap$Bootstrap$Tab$getActiveItem, state, configRec);
-		if (_v1.$ === 'Nothing') {
-			return A2(
-				$elm$html$Html$div,
-				_List_Nil,
-				_List_fromArray(
-					[
-						A2(
-						$elm$html$Html$ul,
-						$rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes(configRec),
-						_List_Nil),
-						A2(
-						$elm$html$Html$div,
-						_List_fromArray(
-							[
-								$elm$html$Html$Attributes$class('tab-content')
-							]),
-						_List_Nil)
-					]));
-		} else {
-			var currentItem = _v1.a.a;
-			return A2(
-				$elm$html$Html$div,
-				_List_Nil,
-				_List_fromArray(
-					[
-						A2(
-						$elm$html$Html$ul,
-						$rundis$elm_bootstrap$Bootstrap$Tab$tabAttributes(configRec),
-						A2(
-							$elm$core$List$map,
-							function (_v2) {
-								var item_ = _v2.a;
-								return A4(
-									$rundis$elm_bootstrap$Bootstrap$Tab$renderLink,
-									item_.id,
-									_Utils_eq(item_.id, currentItem.id),
-									item_.link,
-									configRec);
-							},
-							configRec.items)),
-						A2(
-						$elm$html$Html$div,
-						_List_fromArray(
-							[
-								$elm$html$Html$Attributes$class('tab-content')
-							]),
-						A2(
-							$elm$core$List$map,
-							function (_v3) {
-								var item_ = _v3.a;
-								return A5(
-									$rundis$elm_bootstrap$Bootstrap$Tab$renderTabPane,
-									item_.id,
-									_Utils_eq(item_.id, currentItem.id),
-									item_.pane,
-									state,
-									configRec);
-							},
-							configRec.items))
-					]));
-		}
-	});
 var $author$project$Main$view = function (model) {
 	return A2(
 		$elm$html$Html$div,
 		_List_fromArray(
 			[
-				$elm$html$Html$Attributes$class('body')
+				$elm$html$Html$Attributes$class('wrapper textFont'),
+				A2($elm$html$Html$Attributes$style, 'height', '100%')
 			]),
 		_List_fromArray(
 			[
diff --git a/res/Stysheet.css b/res/Stysheet.css
index 907a08d2e4e9d3c79ab19d7dc64058e4f12030a5..89d3d615a3f29b69a98a5d959c324fd3a69d0fd4 100644
--- a/res/Stysheet.css
+++ b/res/Stysheet.css
@@ -1,3 +1,15 @@
+html {
+    background-color: #faf2eb;
+}
+
+.wrapper {
+    min-height: 100%;
+    display: grid;
+    grid-template-rows: auto 1fr auto;
+    background-color: #faf2eb;
+}
+
+
 .header {
     background-image: repeating-linear-gradient(to right bottom, #b87333 , #ce8a4b , #b87333 40% );
     color: white;
@@ -5,6 +17,7 @@
     text-align: left;
     padding: 10px;
     margin-bottom: 1%;
+    font-family: 'Fondamento', cursive;
   }
 
 .footer {
@@ -19,10 +32,12 @@
     background-color: #faf2eb;
     max-width: 100%;
 }
+.colored-header-footer{
+    background-color: #e4be9b;
+}
 
-.body-fix {
-    display:flex; 
-    flex-direction:column; 
+.textFont {
+    font-family: 'Alegreya', serif;
 }
 
 .grid-container {
@@ -54,8 +69,7 @@ tr:nth-child(even) {background-color: white;}
     background-image: repeating-linear-gradient(to right bottom, #acacac , #bfbfbf , #acacac 40% );
     border-radius: 8px;
     padding: 8px 28px;
-    color: white !important;
-    align-self: flex-end;
+    color: white;
     text-align: center;
     text-decoration: none;
     text-shadow: 2px 2px 5px #404040;
@@ -109,4 +123,14 @@ tr:nth-child(even) {background-color: white;}
 
 .map-table {
     border: 2px solid #bfbfbf !important;
+}
+
+.aboutText {
+    padding-left: 5%;
+    padding-right: 5%;
+}
+
+h1.about {
+    padding-top: 2%;
+    font-variant: small-caps;
 }
\ No newline at end of file
diff --git a/res/icons/Enemy.svg b/res/icons/Enemy.svg
index 9a8125bd834184ae33902760191553fbc2645f63..97f127f11c238161fec1bb626871e1de50833d9e 100644
--- a/res/icons/Enemy.svg
+++ b/res/icons/Enemy.svg
@@ -7,13 +7,13 @@
    xmlns="http://www.w3.org/2000/svg"
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   sodipodi:docname="Enemy.svg"
-   inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
-   id="svg8"
-   version="1.1"
-   viewBox="0 0 210 297"
+   width="210mm"
    height="297mm"
-   width="210mm">
+   viewBox="0 0 210 297"
+   version="1.1"
+   id="svg8"
+   inkscape:version="1.0 (1.0+r73+1)"
+   sodipodi:docname="Enemy.svg">
   <defs
      id="defs2">
     <inkscape:path-effect
@@ -24,36 +24,10 @@
        mode="free"
        lpeversion="1"
        is_visible="true"
-       id="path-effect902"
-       center_point="117.73467,392.80998"
-       end_point="-440.49472,371.74"
-       start_point="682.02498,371.73"
-       effect="mirror_symmetry" />
-    <inkscape:path-effect
-       split_items="false"
-       oposite_fuse="false"
-       fuse_paths="false"
-       discard_orig_path="false"
-       mode="free"
-       lpeversion="1"
-       is_visible="true"
-       id="path-effect900"
+       id="path-effect41"
        center_point="375.77734,243.61817"
-       end_point="375.77734,371.73633"
-       start_point="375.77734,115.5"
-       effect="mirror_symmetry" />
-    <inkscape:path-effect
-       split_items="false"
-       oposite_fuse="false"
-       fuse_paths="false"
-       discard_orig_path="true"
-       mode="free"
-       lpeversion="1"
-       is_visible="true"
-       id="path-effect898"
-       center_point="375.77734,243.61817"
-       end_point="375.77734,371.73633"
-       start_point="113.38477,243.61817"
+       end_point="0,371.74"
+       start_point="1000000,115.5"
        effect="mirror_symmetry" />
     <inkscape:path-effect
        split_items="false"
@@ -63,58 +37,33 @@
        mode="free"
        lpeversion="1"
        is_visible="true"
-       id="path-effect896"
+       id="path-effect39"
        center_point="375.77734,243.61817"
        end_point="375.77734,371.73633"
        start_point="375.77734,115.5"
        effect="mirror_symmetry" />
   </defs>
   <sodipodi:namedview
-     inkscape:window-maximized="1"
-     inkscape:window-y="-8"
-     inkscape:window-x="54"
-     inkscape:window-height="1057"
-     inkscape:window-width="1858"
-     inkscape:guide-bbox="true"
-     showguides="true"
-     showgrid="false"
-     inkscape:document-rotation="0"
-     inkscape:current-layer="layer1"
-     inkscape:document-units="mm"
-     inkscape:cy="257.17517"
-     inkscape:cx="188.17045"
-     inkscape:zoom="0.98994949"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0.0"
-     borderopacity="1.0"
-     bordercolor="#666666"
+     id="base"
      pagecolor="#ffffff"
-     id="base">
-    <sodipodi:guide
-       id="guide856"
-       orientation="1,0"
-       position="104.76966,300.4745" />
-    <sodipodi:guide
-       id="guide858"
-       orientation="0,-1"
-       position="186.28686,198.64481" />
-    <sodipodi:guide
-       id="guide875"
-       orientation="0,-1"
-       position="135.50565,233.38985" />
-    <sodipodi:guide
-       id="guide877"
-       orientation="0,-1"
-       position="141.65285,246.21879" />
-    <sodipodi:guide
-       id="guide879"
-       orientation="1,0"
-       position="64.679224,261.72043" />
-    <sodipodi:guide
-       id="guide881"
-       orientation="1,0"
-       position="51.04848,306.88897" />
-  </sodipodi:namedview>
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.49497475"
+     inkscape:cx="396.85039"
+     inkscape:cy="480.44764"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     inkscape:document-rotation="0"
+     showgrid="false"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-width="1680"
+     inkscape:window-height="994"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
   <metadata
      id="metadata5">
     <rdf:RDF>
@@ -123,20 +72,21 @@
         <dc:format>image/svg+xml</dc:format>
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
+        <dc:title />
       </cc:Work>
     </rdf:RDF>
   </metadata>
   <g
-     id="layer1"
+     inkscape:label="Ebene 1"
      inkscape:groupmode="layer"
-     inkscape:label="Ebene 1">
+     id="layer1">
     <path
        inkscape:original-d="M 241.75391,115.5 A 151.1811,151.1811 0 0 1 113.38477,238.68359 151.1811,151.1811 0 0 1 192.82031,371.73633 H 375.77734 V 198.6543 A 151.1811,151.1811 0 0 1 241.75391,115.5 Z"
-       inkscape:path-effect="#path-effect896;#path-effect902"
-       transform="matrix(0,-0.26458333,0.26458333,0,6.8191918,198.30782)"
-       d="m 241.75391,115.5 c -11.54227,64.55777 -63.39055,114.3116 -128.36914,123.18359 48.92289,26.37659 79.42754,77.47054 79.43554,133.05077 -0.007,55.58023 -30.51075,106.67472 -79.43317,133.05218 64.97875,8.87083 116.82791,58.62374 128.37134,123.1813 25.52932,-50.67279 77.28272,-82.78426 134.02194,-83.15668 56.73924,0.3704 108.49379,32.48002 134.02492,83.15191 11.54112,-64.55798 63.38851,-114.31273 128.36694,-123.18588 -48.92241,-26.37521 -79.42773,-77.46712 -79.43791,-133.04609 0.009,-55.57897 30.5136,-106.67143 79.43554,-133.04751 C 573.19132,229.8116 521.34304,180.05777 509.80077,115.5 484.27055,166.17234 432.51657,198.28289 375.77734,198.6543 319.03811,198.28289 267.28413,166.17234 241.75391,115.5 Z"
-       style="fill:#1a1a1a;fill-opacity:0;stroke:black;stroke-width:33;stroke-opacity:1"
-       id="rect10" />
+       inkscape:path-effect="#path-effect39;#path-effect41"
+       inkscape:connector-curvature="0"
+       id="rect10"
+       style="fill:none;fill-opacity:0;fill-rule:nonzero;stroke:#000000;stroke-width:33;stroke-opacity:1"
+       d="m 241.75391,115.5 c -11.54227,64.55777 -63.39055,114.3116 -128.36914,123.18359 48.91005,26.36967 79.41153,77.44371 79.43553,133.007 0.004,55.56329 -30.47083,106.65296 -79.36736,133.0477 64.98313,8.83868 116.8569,58.56594 128.43226,123.11778 25.50425,-50.68541 77.24176,-82.82248 133.98079,-83.22297 56.73942,0.34233 108.50984,32.42635 134.06603,83.0856 11.50919,-64.56367 63.33196,-114.34407 128.30599,-123.24936 -48.89603,-26.32978 -79.41685,-77.34557 -79.50356,-132.87251 0.0583,-55.52698 30.55292,-106.5584 79.43546,-132.91324 C 573.19132,229.8116 521.34304,180.05777 509.80077,115.5 484.27055,166.17234 432.51657,198.28289 375.77734,198.6543 319.03811,198.28289 267.28413,166.17234 241.75391,115.5 Z"
+       transform="matrix(0,-0.26458333,0.26458333,0,6.6596801,247.93407)" />
   </g>
 </svg>
diff --git a/res/icons/Hero.svg b/res/icons/Hero.svg
index 7feacbf07abf390bfa8db1826a71d49e65b4df70..7b07db574e3087f1e6f98271034b0eff1ac0519a 100644
--- a/res/icons/Hero.svg
+++ b/res/icons/Hero.svg
@@ -8,7 +8,7 @@
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    sodipodi:docname="Hero.svg"
-   inkscape:version="1.0 (6e3e5246a0, 2020-05-07)"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
    id="svg8"
    version="1.1"
    viewBox="0 0 210 297"
@@ -131,16 +131,16 @@
   </defs>
   <sodipodi:namedview
      inkscape:window-maximized="1"
-     inkscape:window-y="27"
-     inkscape:window-x="72"
-     inkscape:window-height="704"
-     inkscape:window-width="1294"
+     inkscape:window-y="0"
+     inkscape:window-x="0"
+     inkscape:window-height="994"
+     inkscape:window-width="1680"
      showgrid="false"
      inkscape:document-rotation="0"
      inkscape:current-layer="layer1"
      inkscape:document-units="mm"
      inkscape:cy="562.58602"
-     inkscape:cx="400"
+     inkscape:cx="-52.857143"
      inkscape:zoom="0.35"
      inkscape:pageshadow="2"
      inkscape:pageopacity="0.0"
@@ -160,7 +160,7 @@
         <dc:format>image/svg+xml</dc:format>
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
+        <dc:title />
       </cc:Work>
     </rdf:RDF>
   </metadata>
@@ -169,8 +169,9 @@
      inkscape:groupmode="layer"
      inkscape:label="Ebene 1">
     <path
-       d="M 68.806218,35.482623 A 39.999999,39.999999 0 0 1 28.806076,75.482765 v 69.999865 a 39.999999,39.999999 0 0 1 40.000142,40.00014 h 69.999862 a 39.999999,39.999999 0 0 1 40.00014,-40.00014 V 75.482765 A 39.999999,39.999999 0 0 1 138.80608,35.482623 Z"
-       style="fill:none;stroke-width:10;opacity:1;stroke:black;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
-       id="rect1039" />
+       d="M 70.00007,73.499927 A 39.999999,39.999999 0 0 1 29.999928,113.50007 v 69.99986 a 39.999999,39.999999 0 0 1 40.000142,40.00014 h 69.99986 a 39.999999,39.999999 0 0 1 40.00014,-40.00014 V 113.50007 A 39.999999,39.999999 0 0 1 139.99993,73.499927 Z"
+       style="opacity:1;fill:none;stroke:#000000;stroke-width:10;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1039"
+       inkscape:connector-curvature="0" />
   </g>
 </svg>
diff --git a/src/About.elm b/src/About.elm
index 963c97023d9b633bea8f30d720a9b7255f5d30d4..0a52bede1ed0cfa71ca9d7033c5a93bc75a7a583 100644
--- a/src/About.elm
+++ b/src/About.elm
@@ -6,8 +6,8 @@ import Html.Attributes as Attr exposing (class)
 import Model exposing (..)
 aboutView : Html Msg
 aboutView =
-    div[]
-    [ Html.h1 [] [ text "Das schwarze Auge Edition 5" ]
+    div[ class "aboutText" ]
+    [ Html.h1 [ class "about" ] [ text "Das schwarze Auge Edition 5" ]
     , Html.h3 [] [ text "Übersicht der Kampfesregeln"]
     , Html.p [] 
         [ text
diff --git a/src/FightingTool.elm b/src/FightingTool.elm
index 84633fec41c4e2aa17d4648ecd00f5ceef364b1e..f9c3b1c82b304fde0517afd530f52e3b03229741 100644
--- a/src/FightingTool.elm
+++ b/src/FightingTool.elm
@@ -16,6 +16,8 @@ import Bootstrap.Form as Form
 import Bootstrap.Form.Radio as Radio
 import Bootstrap.Form.Fieldset as Fieldset
 import Bootstrap.Form.Input as Input
+import Bootstrap.Tab as Tab
+import Bootstrap.Utilities.Spacing as Spacing
 import Array
 import Array.Extra as Array
 import Random
@@ -31,17 +33,17 @@ body model =
             [ Table.table
                 { options = [Table.hover ]
                 , thead =  Table.simpleThead
-                    [ Table.th [] [ text "ID" ]
-                    , Table.th [ Table.cellAttr <| Attr.colspan 2 ] [ text "Name" ]
-                    , Table.th [] [ text "RS" ]
-                    , Table.th [] [ text "LeP"]
-                    , Table.th [] [ text " "]
-                    , Table.th [] [ text " "]
+                    [ Table.th [Table.cellAttr <| class "th"] [ text "ID" ]
+                    , Table.th [ Table.cellAttr <| Attr.colspan 2 , Table.cellAttr <| class "th"] [ text "Name" ]
+                    , Table.th [Table.cellAttr <| class "th"] [ text "RS" ]
+                    , Table.th [Table.cellAttr <| class "th"] [ text "LeP"]
+                    , Table.th [Table.cellAttr <| class "th"] [ text " "]
+                    , Table.th [Table.cellAttr <| class "th"] [ text " "]
                     ]
                 , tbody =
                     Table.tbody []
                         (displayCharacters model.enemy ++ 
-                        [Table.tr [] 
+                        [Table.tr [Table.rowAttr <| class "tr"] 
                             [ Table.td[Table.cellAttr <| Attr.colspan 10] -- naja um sicher zu gehen
                                 [ Button.button
                                     [ Button.light
@@ -62,7 +64,7 @@ body model =
 
 header : Html Msg
 header =
-  Html.header [class "header is-bold animate__animated animate__fadeInDown"]
+  Html.header [class "header animate__animated animate__fadeInDown"]
                 [ div [class "grid-container"]
                     [ Html.figure [ class "image animate__animated animate__rollIn"]
                         [ Svg.svg
@@ -78,7 +80,7 @@ header =
 
 footer : Html Msg
 footer =
-    Html.footer [class "footer animate__animated animate__fadeInUp"]
+    Html.footer [class "footer animate__animated animate__fadeInUp page-footer"]
             [ div []
                 [ Html.p [] [ text "Entwickelt von Laura Spilling, Stefan Kranz, Marcus Gagelmann und Alexander Kampf" ]
                 , Html.p [] [ text "Einführung in das World Wide Web" ]
@@ -97,29 +99,29 @@ viewAttackModal model =
     div []
         [ Modal.config (CloseModal AttackModal)
             |> Modal.hideOnBackdropClick True
-            |> Modal.h3 [] [ text "Angriff" ]
-            |> Modal.body []
+            |> Modal.header [class "colored-header-footer"]
+                [ Html.h3 [][text "Angriff"]
+                ]
+            |> Modal.body [class "body"]
                 [ Input.text
                     [ Input.value model.dice
                     , Input.placeholder "1W6+0"
                     , Input.onInput ChangeTmpDice
                     ]
-                , Button.button
-                    [ Button.attrs [onClick (DiceAndSlice model.tmpdice) ]
-                    , Button.outlineDark
-                    ]
-                    [ text "Schaden würfeln" ]
+                , Html.button
+                    [ class "metalButton"
+                    , onClick (DiceAndSlice model.tmpdice)
+                    ] [ text "Schaden würfeln" ]
                 , Input.number
                     [ insideInput
                     , Input.onInput ChangeDamage
                     ]
                 ]
-            |> Modal.footer []
-                [ Button.button
-                    [ Button.attrs [onClick <| attack model model.characterId model.damage]
-                    , Button.success
-                    ]
-                    [ text "Schaden zufügen" ]
+            |> Modal.footer [class "colored-header-footer"]
+                [ Html.button
+                    [ class "metalButton"
+                    , onClick <| attack model model.characterId model.damage
+                    ] [ text "Schaden zufügen" ]
                 ]
             |> Modal.view model.showAttackModal
         ]
@@ -132,53 +134,38 @@ viewCustomEnemyModal model =
     just works the way it is.
     It will probably be put in a modal in the future.
 -}
-    let
-        enemybool =
-            case model.enemyHero of
-               "Enemy" ->  True
-               _ -> False
-        herobool =
-            case model.enemyHero of
-               "Hero" ->  True
-               _ -> False
-
-
-    in
-        Modal.config (CloseModal CustomEnemy)
-            |> Modal.hideOnBackdropClick True
-            |> Modal.h3 [] [ text "Charakter hinzufügen" ]
-            |> Modal.body [] [
-                div []
-                    [ dropdownMenu model
-                    , Html.br [] []
-                    , Fieldset.config
-                        |> Fieldset.asGroup
-                        |> Fieldset.legend [] [ text "Benutzerdefiniert: " ]
-                        |> Fieldset.children
-                            ( Radio.radioList "EnemyHero"
-                                [ Radio.create
-                                    [ Radio.id "enemy"
-                                    , Radio.onClick <| SwitchEnemyHero "Enemy"
-                                    , Radio.checked enemybool
-                                    ] "Gegner"
-                                , Radio.create
-                                    [ Radio.id "hero"
-                                    , Radio.onClick <| SwitchEnemyHero "Hero"
-                                    , Radio.checked herobool
-                                    ] "Held"
-                                ]
-                            )
-                        |> Fieldset.view
-                    , if model.enemyHero == "Hero"
-                        then customHero model
-                        else if model.enemyHero == "Enemy"
-                            then customEnemy model
-                            else p [][]
+    Modal.config (CloseModal CustomEnemy)
+    |> Modal.hideOnBackdropClick True
+    |> Modal.header [class "colored-header-footer"]
+        [ Html.h3 [][text "Charakter hinzufügen"] ]
+    |> Modal.body [ class "body"]
+        [ div []
+            [ Html.h5 [][text "Vordefiniert"] 
+            , dropdownMenu model
+            , Html.br [] []
+            , Html.h5 [][text "Benutzerdefiniert"]
+            , Tab.config ModalTabMsg
+                |> Tab.items
+                    [ Tab.item
+                        { id = "enemy"
+                        , link = Tab.link [] [ text "Gegner" ]
+                        , pane =
+                            Tab.pane [ Spacing.mt3 ]
+                                [ customEnemy model ]
+                        }
+                    , Tab.item
+                        { id = "hero"
+                        , link = Tab.link [] [ text "Held" ]
+                        , pane =
+                            Tab.pane [ Spacing.mt3 ]
+                                [ customHero model ]
+                        }
                     ]
+                |> Tab.view model.modalTabState
             ]
-            |> Modal.footer [] []
-            |> Modal.view model.showCustomEnemy
-
+        ]
+    |> Modal.footer [class "colored-header-footer"] []
+    |> Modal.view model.showCustomEnemy
 
 parseEnemy : Json.Decode.Decoder Character
 parseEnemy =
@@ -303,7 +290,7 @@ dropdownMenu model =
             { options = [ Dropdown.dropRight ]
             , toggleMsg = MyDrop1Msg
             , toggleButton =
-                Dropdown.toggle [ Button.primary ] [ text "Gegner" ]
+                Dropdown.toggle [ Button.primary ] [ text "Monster" ]
             , items =
                 -- give a name to the LoadEnemy method and it will pull up the corresponding JSON
                 [ Dropdown.header [ text "Kulturschaffender"]
@@ -409,10 +396,10 @@ customEnemy model =
                 , ddArmor
                 ]
             , Html.br [] []
-            , Button.button
-                [ Button.success
-                , Button.attrs [ onClick <| AddEnemy model.tmpEnemy  ]
-                ] [ text "Hinzufügen"]
+            , Html.button 
+                [ class "metalButton"
+                , onClick <| AddEnemy model.tmpEnemy ]
+                [ text "Hinzufügen"]
             ]
 
 customHero : Model -> Html Msg
@@ -442,8 +429,8 @@ customHero model =
                     UpdateTmp <| Hero name (Maybe.withDefault 0 <| String.toInt a)
             )]
         , Html.br [] []
-        , Button.button
-            [ Button.success
-            , Button.attrs [ onClick <| AddEnemy model.tmpHero  ]
-            ] [ text "Hinzufügen"]
+        , Html.button
+            [class "metalButton"
+            , onClick <| AddEnemy model.tmpHero ]
+            [text "Hinzufügen"]
         ]
diff --git a/src/Main.elm b/src/Main.elm
index 49e33452a1e8f24d1671b2e7dda0adbe59b9fe60..ca650c9f726526f58c50671ab902ce7c9cc77b93 100644
--- a/src/Main.elm
+++ b/src/Main.elm
@@ -144,6 +144,11 @@ update msg model =
             , Cmd.none
             )
 
+        ModalTabMsg state ->
+            ( { model | modalTabState = state }
+            , Cmd.none
+            )
+
         AddCharacterIcon addCharacterIconMsg ->
             case addCharacterIconMsg of
                 MouseClick characterIcon ->
@@ -301,7 +306,7 @@ update msg model =
 
 view : Model -> Html Msg
 view model =
-    div [Html.Attributes.class "body"]
+    div [Html.Attributes.class "wrapper textFont", Html.Attributes.style "height" "100%"]
         [ header
         , Tab.config TabMsg
             |> Tab.items
diff --git a/src/Model.elm b/src/Model.elm
index fba87ca83349943ca1425944c6adfef9975069ea..3eae4eaa8f8b0f037154f9b86cb1c321cd41252f 100644
--- a/src/Model.elm
+++ b/src/Model.elm
@@ -26,6 +26,7 @@ type alias Model =
     , dieFace : Int
     , maxFace : Int
     , tabState : Tab.State
+    , modalTabState : Tab.State
     , characterList : List CharacterIcon
     , objectIconList : List CharacterIcon
     , addCharacterIcon : AddCharacterIconState
@@ -62,6 +63,7 @@ init _ =
         , dieFace = 0
         , maxFace = 6
         , tabState = Tab.initialState
+        , modalTabState = Tab.initialState
         , characterList = []
         , objectIconList = []
         , addCharacterIcon = DrawingInactive
@@ -105,6 +107,7 @@ type Msg
     | ChangeDamage String-- Will eventually be useless after refactor, I just have to get a better feel for let and in
     | DoNothing -- does nothing (yes, this IS necessary)
     | TabMsg Tab.State
+    | ModalTabMsg Tab.State
     | AddCharacterIcon AddCharacterIconMsg
     | ClearCharacterList
     | DiceAndSlice String