diff --git a/resources/assets/js/focus-creator.js b/resources/assets/js/focus-creator.js
index 30e8739c3e6a84246401b54dd569e2c499b2fc3e..f5eea805db4a211889e24bfc0ccccca1d45a7c18 100644
--- a/resources/assets/js/focus-creator.js
+++ b/resources/assets/js/focus-creator.js
@@ -1,359 +1,65 @@
-$(function () {
-  setFocusCreatorActionListeners();
-  loadInitialCustomFocuses();
-  loadInitialSelectedFocus();
-  focusChanged();
+$(function() {
+  setLabelText();
+  setKeyListeners();
+  setDropdownListeners();
 });
 
 /**
  * Sets all action listeners for this page
  */
-function setFocusCreatorActionListeners () {
-  $('.focusCheckbox').click(checkboxCheckListener);
-  $('#addFocusBtn').click(() => showFocusCreateDialog(''));
-  $('#editFocusBtn').click(editCurrentFocus);
-  $('.save-focus-btn').click(saveFocus);
-  $('.delete-focus-btn').click(deleteFocus);
-  $('#focus-select').change(focusChanged);
-  // Save Focus on clicking enter while in the focus name input
-  $('#focus-name').keyup(function (event) {
-    if (event.keyCode == 13) {
-      saveFocus();
-    }
-  });
-  $('#create-focus-modal').on('shown.bs.modal', function () {
-    $('#focus-name').focus();
-  });
-}
-/**
- * Loads all the custom focuses stored in local storage
- */
-function loadInitialCustomFocuses () {
-  for (var key in localStorage) {
-    if (key.startsWith('focus_')) {
-      var focus = loadFocusById(key);
-      addFocus(focus.name);
-    }
-  }
-}
-
-function loadInitialSelectedFocus () {
-  setFocus(getFocusInUrl());
-}
-
-/**
- * Shows the focus create dialog
- * If an id is given it will try to load a focus for the given id
- */
-function showFocusCreateDialog (id) {
-  if (id === undefined) {
-    id = '';
-  }
-  document.getElementById('original-id').value = id;
-  $('#create-focus-modal').modal('show');
-  var storedFocus = loadFocusById(id);
-  var focus = {};
-  // Try to load a focus for the given id
-  $('#focus-name').val('');
-  uncheckAll();
-  if (storedFocus !== null) {
-    try {
-      focus = JSON.parse(localStorage.getItem(id));
-      $('#focus-name').val(focus.name);
-      for (var key in focus) {
-        if (key.startsWith('engine_')) {
-          $('.focusCheckbox[name=' + key + ']').prop('checked', true);
-        }
+function setKeyListeners() {
+  $(document).keydown(function(event) {
+    if ($("input#show-create-focus").is(":checked")) {
+      if (event.keyCode == 27) {
+        $("input#show-create-focus").prop("checked", false);
+      } else if (event.keyCode == 13) {
+        $("#customSearchForm").submit();
       }
-    } catch (ex) {
-      console.error(ex);
-    }
-  }
-  toggleDeleteButton();
-}
-
-/**
- * Shows the focus create dialog for a given id
- */
-function showFocusEditDialog (id) {
-  showFocusCreateDialog(id);
-}
-
-function getCurrentFocus () {
-  return $('#foki > div.active').attr('id');
-}
-
-/**
- * Shows an edit dialog for the current selected focus
- */
-function editCurrentFocus () {
-  var currentFocus = getCurrentFocus();
-  if (currentFocus !== undefined) {
-    showFocusEditDialog(currentFocus);
-  }
-}
-
-/**
- * Shows/Hides the delete button if (no) checkboxes are selected
- */
-function toggleDeleteButton () {
-  if (atLeastOneChecked()) {
-    $('.delete-focus-btn').show();
-  } else {
-    $('.delete-focus-btn').hide();
-  }
-}
-
-/**
- * Save the current Focus
- * Listens for save button
- */
-function saveFocus () {
-  /* Vorprüfungen */
-  // Falls keine Suchmaschine ausgewählt wurde
-  if (!atLeastOneChecked()) {
-    switch (document.documentElement.lang) {
-      case 'en':
-        alert('Please select at least 1 search engine.');
-        break;
-      case 'es':
-        alert('Por favor, seleccione al menos un motor de búsqueda.');
-        break;
-      default:
-        alert('Bitte mindestens 1 Suchmaschine auswählen.');
-        break;
-    }
-    return;
-  }
-  // Falls der Name zu kurz ist oder ungültige Zeichen enthält
-  var name = document.getElementById('focus-name').value;
-  if (!isValidName(name)) {
-    switch (document.documentElement.lang) {
-      case 'en':
-        alert('No characters other than a-z, A-Z, 0-9, ä, ö, ü, ß, -, _ allowed, at least 1 character');
-        break;
-      case 'es':
-        alert('Por favor, introduzca un nombre válido');
-        break;
-      default:
-        alert('Bitte gültigen Namen eingeben:\n* Keine Sonderzeichen\n* Mindestens 1 Buchstabe\n');
-        break;
-    }
-    return;
-  }
-  // Liest die original-id des aktuellen fokus-dialogs (gesetzt wenn man einen Fokus bearbeitet)
-  var oldId = document.getElementById('original-id').value;
-  var id = getIdFromName(name);
-  var overwrite = true;
-  // Wenn bereits ein Fokus mit dem Namen existiert, man diesen aber nicht editiert sondern gerade einen Neuen erstellt
-  if (alreadyInUse(name) && oldId !== id) {
-    // Fragt den Nutzer ob er den Fokus überschreiben möchte
-    if (!confirm('Name bereits genutzt\nüberschreiben?')) {
-      // Falls nicht wird das Speichern abgebrochen
-      return;
     }
-    // Ansonsten wird der andere Fokus gelöscht
-    deleteFocusById(id);
-  }
-  /* Fokus speichern */
-  var focus = {};
-  // Ausgewählte Suchmaschinen lesen und zu Fokus hinzufügen
-  $('input[type=checkbox]:checked').each(function (el) {
-    focus[$(this).attr('name')] = $(this).val();
   });
-
-  // Name setzen
-  focus['name'] = name;
-  // Alte Version des Fokus löschen (aus localStorage und von der Webseite, falls eine existiert)
-  if (oldId !== '') {
-    localStorage.removeItem(oldId);
-    removeFocusById(oldId);
-  }
-  // Neue Version des Fokus hinzufügen (zu localStorage und der Webseite)
-  localStorage.setItem(id, JSON.stringify(focus));
-  addFocus(name);
-  setFocus(id);
-  // Fokus-Formular verbergen
-  $('#create-focus-modal').modal('hide');
 }
 
-/**
- * Delete current Focus
- * Listens for delete button
- */
-function deleteFocusById (id) {
-  localStorage.removeItem(id);
-  removeFocusById(id);
-  $('#focus-select').change();
-}
-
-/**
- * Delete current Focus
- * Listens for delete button
- */
-function deleteFocus () {
-  var oldId = document.getElementById('original-id').value;
-  deleteFocusById(oldId);
-  $('#create-focus-modal').modal('hide');
-  $('#focus-select').change();
-}
-
-/**
- * Is the name valid (in terms of characters)?
- */
-function isValidName (name) {
-  // no Characters other then a-z, A-Z, 0-9, ä, ö, ü, ß, -, _ allowed
-  // at least 1 character
-  return /^[a-zA-Z0-9äöüß\-_ ]+$/.test(name);
-}
-
-/**
- * Is at least one focus selected?
- */
-function atLeastOneChecked () {
-  return $('.focusCheckbox:checked').length > 0;
-}
-
-/**
- * Is there already a focus with this name?
- */
-function alreadyInUse (name) {
-  return localStorage.hasOwnProperty(getIdFromName(name));
-}
-
-/**
- * Adds an option to the focus selector
- */
-function addFocus (name) {
-  var id = getIdFromName(name);
-  var customFocus = $('<div id="' + id + '"><a href="#" target="_self">' + name + '</a><a class="edit-focus" data-id="' + id + '" href="#"><i class="fa fa-wrench"></i></div>');
-  $(customFocus).find('.edit-focus').click(function () {
-    showFocusEditDialog($(this).attr('data-id'));
+function setDropdownListeners() {
+  // Listener for 'Open/Collapse all' label
+  $("input:checkbox#toggle-dropdowns").change(function() {
+    if ($(this).is(":checked")) {
+      // Open all dropdowns
+      $(".focus-dropdown-toggle").prop("checked", true);
+    } else {
+      // Close all dropdowns
+      $(".focus-dropdown-toggle").prop("checked", false);
+    }
+    setLabelText();
   });
-  $('#foki .search-option-frame').before(customFocus);
-}
-
-/**
- * Remove the focuses html-elements
- */
-function removeFocus (name) {
-  removeFocusById(getIdFromName(name));
-}
-
-/**
- * Remove the focuses html-elements
- */
-function removeFocusById (id) {
-  if (id == '') {
-    return;
-  }
-  $('#focus-select option[value="' + id + '"]').remove();
-}
-
-/**
- * Turns a name into an id
- * Converts special characters and spaces
- */
-function getIdFromName (name) {
-  name = name.toLowerCase();
-  name = name.split(' ').join('_');
-  name = name.split('ä').join('ae');
-  name = name.split('ö').join('oe');
-  name = name.split('ü').join('ue');
-  return 'focus_' + name;
-}
-
-/**
- * Loads the focus object for the given id from local storage
- */
-function loadFocusById (id) {
-  return JSON.parse(localStorage.getItem(id));
-}
-
-/**
- * Unchecks all focuses from the focus creator dialog
- */
-function uncheckAll () {
-  $('.focusCheckbox').prop('checked', false);
-}
-
-/**
- * Sets the selected focus to default
- */
-function setFocusToDefault () {
-  setFocus(DEFAULT_FOCUS);
-}
-
-/**
- * Sets the selected focus
- * @param {String} focusID The id of the focus, without #
- */
-function setFocus (focusID) {
-  $('#focus-select option[value="' + focusID + '"]').prop('selected', true);
-  $('#focus-select').change();
-}
-
-function focusChanged () {
-  var selectedFocus = getCurrentFocus();
-  if (typeof(currentFocus) !== 'undefined') {
-    if (focusIsEditable(selectedFocus)) {
-      enableEditFocusBtn();
+  // Change 'Open/Collapse' all when single dropdown is changed
+  $(".focus-dropdown-toggle").change(function() {
+    var expanded = false;
+    $(".focus-dropdown-toggle").each(function() {
+      if ($(this).is(":checked")) {
+        expanded = true;
+      }
+    });
+    if (expanded === true) {
+      $("input:checkbox#toggle-dropdowns").prop("checked", true);
     } else {
-      disableEditFocusBtn();
+      $("input:checkbox#toggle-dropdowns").prop("checked", false);
     }
-    loadFocusForSearch(selectedFocus);
-  }
+    setLabelText();
+  });
 }
 
-function focusIsEditable (focus) {
-  if (focus.startsWith('focus_')) {
-    return true;
+//
+// Adjusts the 'Open/Colapse all' label
+function setLabelText() {
+  if ($("input:checkbox#toggle-dropdowns").is(":checked")) {
+    $("#toggle-dropdowns-label").html(
+      t("close-dropdowns") +
+        ' <i class="fa fa-minus-square" aria-hidden="true"></i>'
+    );
   } else {
-    return false;
-  }
-}
-
-function enableEditFocusBtn () {
-  $('#editFocusBtn').removeClass('disabled').click(editCurrentFocus);
-}
-
-function disableEditFocusBtn () {
-  $('#editFocusBtn').addClass('disabled').off('click');
-}
-
-function loadFocusForSearch (focus) {
-  var focus = loadFocusById(focus);
-
-  var url = '/meta/meta.ger3?eingabe=x&focus=';
-
-  // clearCustomSearch()
-  for (var key in focus) {
-    if (key.startsWith('engine_') && focus[key] == 'on') {
-      addSumaToCustomSearch(key);
-    }
-  }
-}
-
-function getFocusInUrl () {
-  var url = window.location;
-  var focReg = /focus=(focus_\w+)/.exec(url);
-  if (focReg && focReg[1]) {
-    return focReg[1];
+    $("#toggle-dropdowns-label").html(
+      t("open-dropdowns") +
+        ' <i class="fa fa-plus-square" aria-hidden="true"></i>'
+    );
   }
 }
-
-function checkboxCheckListener (event) {
-  toggleDeleteButton();
-  var elem = event.target;
-  if (elem.name) {
-    if (elem.checked) {
-      setCheckedForAllWithName(elem.name, true);
-    } else {
-      setCheckedForAllWithName(elem.name, false);
-    }
-  }
-}
-
-function setCheckedForAllWithName (name, checked) {
-  $('.focusCheckbox[name=' + name + ']').prop('checked', checked);
-}
diff --git a/resources/assets/js/translations.js b/resources/assets/js/translations.js
index d0ca59cbcefc00be097dd56f8e3b9c44905014a6..1d6ce9a98d6929f976c4e91d3f6d555ca5627e09 100644
--- a/resources/assets/js/translations.js
+++ b/resources/assets/js/translations.js
@@ -21,7 +21,9 @@ var translations = {
     'result-saver.deleteAll': '<span class="hidden-xs">Ergebnisse</span> löschen</button>',
     'result-saver.save.this': 'ÖFFNEN',
     'result-saver.save.newtab': 'IN NEUEM TAB',
-    'result-saver.save.anonymous': 'ANONYM ÖFFNEN'
+    'result-saver.save.anonymous': 'ANONYM ÖFFNEN',
+    'close-dropdowns' : 'Alle zuklappen',
+    'open-dropdowns'  : 'Alle aufklappen'
   },
 
   'en': {
@@ -39,7 +41,9 @@ var translations = {
     'result-saver.deleteAll': 'delete <span class="hidden-xs">results</span>',
     'result-saver.save.this': 'OPEN',
     'result-saver.save.newtab': 'IN NEW TAB',
-    'result-saver.save.anonymous': 'OPEN ANONYMOUSLY'
+    'result-saver.save.anonymous': 'OPEN ANONYMOUSLY',
+    'close-dropdowns' : 'Collapse all',
+    'open-dropdowns'  : 'Expand all'
   },
 
   'es': {
@@ -64,7 +68,7 @@ var translations = {
 function t (key, lang) {
   if (arguments.length == 1) {
     var lang = $('html').attr('lang');
-    return translations[lang][key];
+    return t(key, lang);
   } else if (arguments.length == 2 && translations[lang] && translations[lang][key]) {
     return translations[lang][key];
   } else {
diff --git a/resources/assets/less/metager/foki.less b/resources/assets/less/metager/foki.less
index f280ae9e9423135e5b43c561b436705f75549345..53d7279892a2a4e5e7245d640d79a607b3be715f 100644
--- a/resources/assets/less/metager/foki.less
+++ b/resources/assets/less/metager/foki.less
@@ -12,8 +12,8 @@
     display: none;
     position: fixed;
     -webkit-box-pack: center;
-        -ms-flex-pack: center;
-            justify-content: center;
+    -ms-flex-pack: center;
+    justify-content: center;
     min-height: 100%;
     width: 100%;
     background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .7)), to(rgba(0, 0, 0, .7)));
@@ -39,6 +39,13 @@
                     }
                 }
             }
+            #toggle-dropdowns-label {
+                cursor: pointer;
+                -webkit-user-select: none;
+                -moz-user-select: none;
+                -ms-user-select: none;
+                user-select: none;
+            }
             .focus-dropdown-toggle {
                 display: none;
                 &:not(:checked) {
@@ -49,15 +56,17 @@
                 }
                 &:checked {
                     &~.focus-dropdown-label::after {
-                        content: "🡡";
+                        content: " âž– ";
                     }
                 }
             }
             .focus-dropdown-label {
+                cursor: pointer;
                 &::after {
                     font-size: 16px;
-                    content: "🡣";
+                    content: " âž• ";
                     margin-left: 3px;
+                    vertical-align: middle;
                 }
                 &~.row {
                     -webkit-transition: max-height 0.4s ease;
diff --git a/resources/lang/de/result.php b/resources/lang/de/result.php
index 833947b5df97e1fba0402cd0bd703ec0f3a8f163..7eec7c55cc387a1c895cb50b84d4bb708f198a06 100644
--- a/resources/lang/de/result.php
+++ b/resources/lang/de/result.php
@@ -7,6 +7,8 @@ return [
     'options.2' => ':host ausblenden',
     'options.3' => '*.:domain ausblenden',
     'options.4' => 'Partnershop',
-    'options.5' => 'anonym öffnen',
+    'options.5' => 'ANONYM ÖFFNEN',
+    'options.6' => 'IN NEUEM TAB ÖFFNEN',
+    'options.7' => 'ÖFFNEN',
     'proxytext' => 'Der Link wird anonymisiert geöffnet. Ihre Daten werden nicht zum Zielserver übertragen. Möglicherweise funktionieren manche Webseiten nicht wie gewohnt.',
 ];
diff --git a/resources/lang/en/result.php b/resources/lang/en/result.php
index 7f9b4ee0d19f9ca2b2e9bce61666c087f9f2a108..923e34995a981288887732a33df9394212630eff 100644
--- a/resources/lang/en/result.php
+++ b/resources/lang/en/result.php
@@ -1,12 +1,14 @@
 <?php
 
 return [
-    "options.headline"	=>	"Options",
-    "options.savetab"	=>	"Save result in TAB",
-    "options.1"	=>	"start a new search on this domain",
-    "options.2"	=>	"hide :host",
-    "options.3"	=>	"hide *.:domain",
-    "options.4"	=>	"partnershop",
-    "options.5"	=>	"open anonymously",
-    "proxytext"	=>	"Result link is opened anonymously. Your data will not be transfered to destination servers. Eventually some links will not work as usual."
+    'options.headline'	=>	'Options',
+    'options.savetab'	=>	'Save result in TAB',
+    'options.1'	=>	'start a new search on this domain',
+    'options.2'	=>	'hide :host',
+    'options.3'	=>	'hide *.:domain',
+    'options.4'	=>	'partnershop',
+    'options.5'	=>	'OPEN ANONYMOUSLY',
+    'options.6' =>  'OPEN IN NEW TAB',
+    'options.7' =>  'OPEN',
+    'proxytext'	=>	'Result link is opened anonymously. Your data will not be transfered to destination servers. Eventually some links will not work as usual.'
 ];
\ No newline at end of file
diff --git a/resources/lang/es/result.php b/resources/lang/es/result.php
index 8e67954d0f7724a0f9b1ace67748ddc6e10694c8..59b01b7125e33a36d87680f899446dbe5eda84b3 100644
--- a/resources/lang/es/result.php
+++ b/resources/lang/es/result.php
@@ -1,12 +1,14 @@
 <?php
 
 return [
-    "options.headline"	=>	"Opciónes",
-    "options.savetab"	=>	"Grabar resultado",
-    "options.1"	=>	"Nueva búsqueda en este dominio",
-    "options.2"	=>	"ocultar :host",
-    "options.3"	=>	"ocultar *.:domain",
-    "options.4"	=>	"Tienda asociada",
-    "options.5"	=>	"abrir anónimo",
-    "proxytext"	=>	"Abrirá el link anonimizado."
+    'options.headline'	=>	'Opciónes',
+    'options.savetab'	=>	'Grabar resultado',
+    'options.1'	=>	'Nueva búsqueda en este dominio',
+    'options.2'	=>	'ocultar :host',
+    'options.3'	=>	'ocultar *.:domain',
+    'options.4'	=>	'Tienda asociada',
+    'options.5'	=>	'ABRIR ANÓNIMO',
+    'options.6' => 'ABRIR NUEVA PESTAÑA',
+    'options.7' => 'ABRIR',
+    'proxytext'	=>	'Abrirá el link anonimizado.'
 ];
diff --git a/resources/views/layouts/result.blade.php b/resources/views/layouts/result.blade.php
index 9e69a0e5c6b157d33c3c3856e37e247a8f5b4a7b..6615b06b2ccc9c6d7273c1cae2e8f742716a0b0c 100644
--- a/resources/views/layouts/result.blade.php
+++ b/resources/views/layouts/result.blade.php
@@ -50,13 +50,13 @@
 	</div>
 	<div class="result-footer">
 		<a class="result-open" href="{{ $result->link }}" target="_self" rel="noopener">
-			ÖFFNEN
+			{!! trans('result.options.7') !!}
 		</a>
 		<a class="result-open-newtab" href="{{ $result->link }}" target="_blank" rel="noopener">
-			IN NEUEM TAB
+			{!! trans('result.options.6') !!}
 		</a>
 		<a class="result-open-proxy" onmouseover="$(this).popover('show');" onmouseout="$(this).popover('hide');" data-toggle="popover" data-placement="auto right" data-container="body" data-content="@lang('result.proxytext')" href="{{ $result->proxyLink }}" target="{{ $metager->getNewtab() }}" rel="noopener">
-			ANONYM ÖFFNEN
+			{!! trans('result.options.5') !!}
 		</a>
 		<label class="open-result-options" for="result-toggle-{{$result->number}}" role="button">
 			MEHR
diff --git a/resources/views/modals/create-focus-modal.blade.php b/resources/views/modals/create-focus-modal.blade.php
index 52d81837c9bffede2643b4982ae441d8efdf893f..7a355a3727cb62309059720a1cc9d9811f371a40 100644
--- a/resources/views/modals/create-focus-modal.blade.php
+++ b/resources/views/modals/create-focus-modal.blade.php
@@ -17,6 +17,8 @@
 				</div>
 			</div>
 			<div class="modal-body">
+				<input type="checkbox" class="hidden" id="toggle-dropdowns" checked>
+				<label id="toggle-dropdowns-label" for="toggle-dropdowns" class="js-only"></label>
 				<form id="customSearchForm" method="GET" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/meta/meta.ger3 ") }}" accept-charset="UTF-8">
 					<input type="hidden" name="eingabe" value="@if(isset($eingabe)){{$eingabe}}@endif">
 					<input type="hidden" name="encoding" value="utf8">