diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/ar.js b/OpenRobertaServer/staticResources/blockly/msg/js/ar.js
index 7d452fc724..b9d608af43 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/ar.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/ar.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/az.js b/OpenRobertaServer/staticResources/blockly/msg/js/az.js
index d963b1dbab..24a9bc29bb 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/az.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/az.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/ba.js b/OpenRobertaServer/staticResources/blockly/msg/js/ba.js
index 514119aa63..dba7a45b00 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/ba.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/ba.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/bcc.js b/OpenRobertaServer/staticResources/blockly/msg/js/bcc.js
index 0d1d36e939..6ea66f78a6 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/bcc.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/bcc.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/be-tarask.js b/OpenRobertaServer/staticResources/blockly/msg/js/be-tarask.js
index 6733cc37f5..eaa6db2062 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/be-tarask.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/be-tarask.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/be.js b/OpenRobertaServer/staticResources/blockly/msg/js/be.js
index 141ff12664..6a2e0d36dd 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/be.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/be.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "Выпаўненне гэтага блоку не прынясе ніякіх вынікаў!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/bg.js b/OpenRobertaServer/staticResources/blockly/msg/js/bg.js
index ba2cb71188..5ae216ccf0 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/bg.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/bg.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/bn.js b/OpenRobertaServer/staticResources/blockly/msg/js/bn.js
index 95652245d0..6f3c57a91e 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/bn.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/bn.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/br.js b/OpenRobertaServer/staticResources/blockly/msg/js/br.js
index f0959c556b..6c63506efa 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/br.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/br.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/ca.js b/OpenRobertaServer/staticResources/blockly/msg/js/ca.js
index 95ce832638..608a0d96c3 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/ca.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/ca.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/cs.js b/OpenRobertaServer/staticResources/blockly/msg/js/cs.js
index 1081d99901..f5f2641658 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/cs.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/cs.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "Provedení tohoto bloku nebude mít žádný efekt!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/da.js b/OpenRobertaServer/staticResources/blockly/msg/js/da.js
index b725e64b89..3bdd320190 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/da.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/da.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/de.js b/OpenRobertaServer/staticResources/blockly/msg/js/de.js
index bb57a3c4e9..4ad3c7c176 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/de.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/de.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "hinten links";
Blockly.Msg.BACK_RIGHT = "hinten rechts";
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Liest die aktuelle Spannung der Batterie.";
Blockly.Msg.BELOW = "unten";
+Blockly.Msg.BLE_ADAPTER_DISABLED = "Wir konnten auf keinen Bluetooth Adapter zugreifen. Schau mal in unser Open Roberta Wiki< für weitere Informationen unter: Spike Prime / Robot Inventor -> Pybricks -> Vorbereitung.'";
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "Wir sind grade damit beschäftigt, dein Programm auf den Roboter zu übertragen. Warte ein paar Sekunden und starte den Upload neu.";
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Deine Hub-Version kann nicht mit dem Lab verbunden werden. Schau in unser Open Roberta Wiki< unter: Spike Prime / Robot Inventor -> Pybricks -> Vorbereitung.'";
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops etwas ist schiefgelaufen. Versuche deinen Roboter neu zu starten und übertrage das Programm nochmal.";
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Sieht so aus als wäre dein Roboter bereits mit dem Open Roberta Lab verbunden (vielleicht in einem anderen Browsertab?). Schließe den anderen Browsertab oder starte deinen Roboter neu.";
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "Dein Programm ist zu groß für den Spike Prime. Schau in unser Open Roberta Wiki< für weitere Informationen.";
+Blockly.Msg.BLE_ERROR_STOP = "Das Stoppen des Programmes hat nicht geklappt, vielleicht ist dein Roboter nicht mehr verbunden?. Du kannst kannst das Programm auf dem Roboter stoppen, indem du die mittlere Taste des Hubs drückst.";
+Blockly.Msg.BLE_FEATURE_DISABLED = "Scheint, als wäre Webble nicht aktiviert. Schau mal in das Open Roberta Wiki< für weitere Informationen unter: Spike Prime / Robot Inventor -> Pybricks -> Vorbereitung.'";
+Blockly.Msg.BLE_NOT_SUPPORTED = "Dein Browser unterstützt kein Web Bluetooth. Schau mal in unser Open Roberta Wiki< für weitere Informationen unter: Spike Prime / Robot Inventor -> Pybricks -> Vorbereitung.'";
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Du hast kein Gerät ausgewählt. Wenn dein Hub nicht angezeigt wurde schaue in unser Open Roberta Wiki< unter: Spike Prime / Robot Inventor -> Pybricks -> Vorbereitung.'";
Blockly.Msg.BLOCK_NOT_EXECUTED = "Überprüfe die Einstellungen bei diesem Block. Er wird so nichts ausführen können.";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "Dieser Block wird von diesem Roboter nicht unterstützt!";
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Dieser Block kann leider nicht auf diese Weise verwendet werden!";
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/el.js b/OpenRobertaServer/staticResources/blockly/msg/js/el.js
index 2106cc0869..93622518e3 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/el.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/el.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/en.js b/OpenRobertaServer/staticResources/blockly/msg/js/en.js
index 7043c8f842..494f876600 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/en.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/en.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left";
Blockly.Msg.BACK_RIGHT = "back right";
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery.";
Blockly.Msg.BELOW = "below";
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up.";
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again.";
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up.";
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again.";
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab.";
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks";
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself.";
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up.";
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up.";
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up.";
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!";
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way.";
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/es.js b/OpenRobertaServer/staticResources/blockly/msg/js/es.js
index 7fb12ac431..9fd48d591e 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/es.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/es.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "atrás izquierda";
Blockly.Msg.BACK_RIGHT = "atrás derecha";
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Obtiene el voltaje actual de la batería.";
Blockly.Msg.BELOW = "abajo";
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "¡La ejecución de este bloque no tendrá efecto!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "¡Este robot no admite este bloque!";
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Lamentablemente, este bloque no se puede usar de esta manera.";
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/eu.js b/OpenRobertaServer/staticResources/blockly/msg/js/eu.js
index 0ef3dc05f6..f7d0dc233e 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/eu.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/eu.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "Bloke honen exekuzioak ez du efekturik izango!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/fa.js b/OpenRobertaServer/staticResources/blockly/msg/js/fa.js
index 19e525b4bb..70e534016a 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/fa.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/fa.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/fi.js b/OpenRobertaServer/staticResources/blockly/msg/js/fi.js
index d4358be42e..548f5d062b 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/fi.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/fi.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/fr.js b/OpenRobertaServer/staticResources/blockly/msg/js/fr.js
index cb30fa2e33..251fcaca4d 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/fr.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/fr.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "Le bloc n'a pas été exécuté !";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/he.js b/OpenRobertaServer/staticResources/blockly/msg/js/he.js
index a13095328c..15fced4e93 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/he.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/he.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery.";
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/hi.js b/OpenRobertaServer/staticResources/blockly/msg/js/hi.js
index ee02896c7c..b28c44efed 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/hi.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/hi.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/hrx.js b/OpenRobertaServer/staticResources/blockly/msg/js/hrx.js
index e87803e671..e8f91903bd 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/hrx.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/hrx.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/hu.js b/OpenRobertaServer/staticResources/blockly/msg/js/hu.js
index c40d167d3a..5e4c388c2d 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/hu.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/hu.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery.";
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/ia.js b/OpenRobertaServer/staticResources/blockly/msg/js/ia.js
index 80f1fa09e6..511472a083 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/ia.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/ia.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/id.js b/OpenRobertaServer/staticResources/blockly/msg/js/id.js
index 9e4ab5d9e0..4dc9e8fc3a 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/id.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/id.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/is.js b/OpenRobertaServer/staticResources/blockly/msg/js/is.js
index 701b4a193a..756ae8308d 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/is.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/is.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/it.js b/OpenRobertaServer/staticResources/blockly/msg/js/it.js
index 50d7926352..1c743ddda9 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/it.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/it.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "L'esecuzione di questo blocco non avrà nessun effetto!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/ja.js b/OpenRobertaServer/staticResources/blockly/msg/js/ja.js
index 57d1c77ae4..1772878fd0 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/ja.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/ja.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/ko.js b/OpenRobertaServer/staticResources/blockly/msg/js/ko.js
index b978ac873e..a0d79da8ea 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/ko.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/ko.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/lb.js b/OpenRobertaServer/staticResources/blockly/msg/js/lb.js
index 1ab057e012..5c34b97b0f 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/lb.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/lb.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/lki.js b/OpenRobertaServer/staticResources/blockly/msg/js/lki.js
index b5eb030e2c..9cc5021d21 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/lki.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/lki.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/lrc.js b/OpenRobertaServer/staticResources/blockly/msg/js/lrc.js
index 5bd53f5f97..872d8f0bff 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/lrc.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/lrc.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/lt.js b/OpenRobertaServer/staticResources/blockly/msg/js/lt.js
index a914dfde34..f11852999e 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/lt.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/lt.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/mk.js b/OpenRobertaServer/staticResources/blockly/msg/js/mk.js
index 72f27074e9..a71af65556 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/mk.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/mk.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery.";
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/ms.js b/OpenRobertaServer/staticResources/blockly/msg/js/ms.js
index 4de7598d49..60ed30ff29 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/ms.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/ms.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/nb.js b/OpenRobertaServer/staticResources/blockly/msg/js/nb.js
index 9b3eb6c4fd..441770afa7 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/nb.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/nb.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery.";
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/nl.js b/OpenRobertaServer/staticResources/blockly/msg/js/nl.js
index 7c9c314da9..5da548560c 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/nl.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/nl.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/oc.js b/OpenRobertaServer/staticResources/blockly/msg/js/oc.js
index 6d2d480d3b..aecc6da76f 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/oc.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/oc.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/pl.js b/OpenRobertaServer/staticResources/blockly/msg/js/pl.js
index 758c8ec523..c401d35a0e 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/pl.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/pl.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "Uruchomienie tego bloku nie będzie miało żadnego skutku!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/pms.js b/OpenRobertaServer/staticResources/blockly/msg/js/pms.js
index 6e82eefc4f..d66eba2078 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/pms.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/pms.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/pt-br.js b/OpenRobertaServer/staticResources/blockly/msg/js/pt-br.js
index 75b99a087d..4780c49ba9 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/pt-br.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/pt-br.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/pt.js b/OpenRobertaServer/staticResources/blockly/msg/js/pt.js
index 36f7c4151e..8690c80769 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/pt.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/pt.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/ro.js b/OpenRobertaServer/staticResources/blockly/msg/js/ro.js
index dc22b92b38..c7503f6667 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/ro.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/ro.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "Extragerea acestui bloc nu va avea efect!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/ru.js b/OpenRobertaServer/staticResources/blockly/msg/js/ru.js
index 985223a4ce..d55ea252c8 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/ru.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/ru.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "Выполнение этого блока не принесет никакого результата!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/sc.js b/OpenRobertaServer/staticResources/blockly/msg/js/sc.js
index e944f7e913..4caac31e27 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/sc.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/sc.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/sd.js b/OpenRobertaServer/staticResources/blockly/msg/js/sd.js
index f31de07dc8..019dd61751 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/sd.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/sd.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/shn.js b/OpenRobertaServer/staticResources/blockly/msg/js/shn.js
index a22e368876..8f9bd563cc 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/shn.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/shn.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/sk.js b/OpenRobertaServer/staticResources/blockly/msg/js/sk.js
index 4bed8765ee..8c9e9d84ad 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/sk.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/sk.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/sl.js b/OpenRobertaServer/staticResources/blockly/msg/js/sl.js
index 51e4e8ac2e..026c3a154f 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/sl.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/sl.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/sq.js b/OpenRobertaServer/staticResources/blockly/msg/js/sq.js
index 7d420c88a6..fbca730a32 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/sq.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/sq.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/sr.js b/OpenRobertaServer/staticResources/blockly/msg/js/sr.js
index bf447d5e1f..98882143ee 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/sr.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/sr.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/sv.js b/OpenRobertaServer/staticResources/blockly/msg/js/sv.js
index be067b8d1b..774f717898 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/sv.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/sv.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "Körningen av detta block har ingen effekt!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/ta.js b/OpenRobertaServer/staticResources/blockly/msg/js/ta.js
index 0942ca2086..13e81a9d07 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/ta.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/ta.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/tcy.js b/OpenRobertaServer/staticResources/blockly/msg/js/tcy.js
index 6d9656d741..36e5332adb 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/tcy.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/tcy.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/th.js b/OpenRobertaServer/staticResources/blockly/msg/js/th.js
index 5a0f70c276..12691751e2 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/th.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/th.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/tl.js b/OpenRobertaServer/staticResources/blockly/msg/js/tl.js
index 25a15ca1de..7b8d68c422 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/tl.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/tl.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/tlh.js b/OpenRobertaServer/staticResources/blockly/msg/js/tlh.js
index a393435400..f8ba1414a7 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/tlh.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/tlh.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/tr.js b/OpenRobertaServer/staticResources/blockly/msg/js/tr.js
index 40f615be24..b918a78487 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/tr.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/tr.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/uk.js b/OpenRobertaServer/staticResources/blockly/msg/js/uk.js
index f46df7545b..58289daf72 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/uk.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/uk.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "Виконання цього блоку не принесе ніякого результату!";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/vi.js b/OpenRobertaServer/staticResources/blockly/msg/js/vi.js
index 673839ee09..a1ffbb12a1 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/vi.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/vi.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "The exection of this block will have no effect!"; // untranslated
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/zh-hans.js b/OpenRobertaServer/staticResources/blockly/msg/js/zh-hans.js
index 0d6dfc9509..68c7f5ba3e 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/zh-hans.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/zh-hans.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "此方块的执行没有效果";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/js/zh-hant.js b/OpenRobertaServer/staticResources/blockly/msg/js/zh-hant.js
index 36c38b762b..3e82b11cca 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/js/zh-hant.js
+++ b/OpenRobertaServer/staticResources/blockly/msg/js/zh-hant.js
@@ -107,6 +107,16 @@ Blockly.Msg.BACK_LEFT = "back left"; // untranslated
Blockly.Msg.BACK_RIGHT = "back right"; // untranslated
Blockly.Msg.BATTERY_GETSAMPLE_TOOLTIP = "Gets the current voltage from the battery."; // untranslated
Blockly.Msg.BELOW = "below"; // untranslated
+Blockly.Msg.BLE_ADAPTER_DISABLED = "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_DOWNLOAD_IN_PROGRESS = "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again."; // untranslated
+Blockly.Msg.BLE_ERROR_CAPABILITIES = "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_ERROR_COMMUNICATION = "Whoops something went wrong. Try restarting your robot and upload the program again."; // untranslated
+Blockly.Msg.BLE_ERROR_DEVICE_BUSY = "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab."; // untranslated
+Blockly.Msg.BLE_ERROR_PROGRAM_SIZE = "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks"; // untranslated
+Blockly.Msg.BLE_ERROR_STOP = "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."; // untranslated
+Blockly.Msg.BLE_FEATURE_DISABLED = "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NOT_SUPPORTED = "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
+Blockly.Msg.BLE_NO_DEVICE_SELECTED = "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up."; // untranslated
Blockly.Msg.BLOCK_NOT_EXECUTED = "此方塊的執行沒有效果";
Blockly.Msg.BLOCK_NOT_SUPPORTED = "This robot does not support this block!"; // untranslated
Blockly.Msg.BLOCK_USED_INCORRECTLY = "Unfortunately, this block cannot be used in this way."; // untranslated
diff --git a/OpenRobertaServer/staticResources/blockly/msg/json/en.json b/OpenRobertaServer/staticResources/blockly/msg/json/en.json
index 5da2019f07..a78cca77dd 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/json/en.json
+++ b/OpenRobertaServer/staticResources/blockly/msg/json/en.json
@@ -1,7 +1,7 @@
{
"@metadata": {
"author": "Ellen Spertus ",
- "lastupdated": "2024-06-27 14:00:31.206144",
+ "lastupdated": "2024-06-27 15:00:09.751393",
"locale": "en",
"messagedocumentation" : "qqq"
},
@@ -2161,5 +2161,15 @@
"START_FORMATSEARCH": "search robots/systems",
"START_BOOKMARK_TOOLTIP": "Create a bookmark directly to your favourite robot/system.",
"START_STARTUP_TITLE": "Welcome to Open Roberta Lab",
- "PROGRAM_IMPORT_ERROR_MISSING_ROBOT_TYPE": "You have tried to import a program that is suitable for »$«, a group of robots/systems. Please first select the desired robot/system here on the start page."
+ "PROGRAM_IMPORT_ERROR_MISSING_ROBOT_TYPE": "You have tried to import a program that is suitable for »$«, a group of robots/systems. Please first select the desired robot/system here on the start page.",
+ "BLE_NOT_SUPPORTED": "Your browser does not support Web Bluetooth. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up.",
+ "BLE_FEATURE_DISABLED": "Looks like Web Bluetooth is not enabled. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up.",
+ "BLE_ADAPTER_DISABLED": "There is no Bluetooth adapter on your device. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up.",
+ "BLE_NO_DEVICE_SELECTED": "Looks like you didn't select a device. If your hub was not listed, check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up.",
+ "BLE_DOWNLOAD_IN_PROGRESS": "The system is busy uploading your program to the robot. Wait a couple of seconds before uploading again.",
+ "BLE_ERROR_PROGRAM_SIZE": "The program is too long for the Spike Prime. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks",
+ "BLE_ERROR_COMMUNICATION": "Whoops something went wrong. Try restarting your robot and upload the program again.",
+ "BLE_ERROR_DEVICE_BUSY": "Looks like your robot is already connected to another instance of the Open Roberta Lab (in another browser tab?). Try to restart your robot or close the other tab.",
+ "BLE_ERROR_CAPABILITIES": "Looks like the firmware version of your robot is not compatible with the Open Roberta Lab. Check out the Open Roberta Wiki for more information under: Spike Prime / Robot Inventor -> Pybricks -> Set Up.",
+ "BLE_ERROR_STOP": "Stopping the program execution does not work, your robot is maybe disconnected? You can always use the Center Button on the hub to stop the program yourself."
}
diff --git a/OpenRobertaServer/staticResources/blockly/msg/json/qqq.json b/OpenRobertaServer/staticResources/blockly/msg/json/qqq.json
index 98d8592d51..26b67c271d 100644
--- a/OpenRobertaServer/staticResources/blockly/msg/json/qqq.json
+++ b/OpenRobertaServer/staticResources/blockly/msg/json/qqq.json
@@ -2155,5 +2155,15 @@
"START_FORMATSEARCH": "",
"START_BOOKMARK_TOOLTIP": "",
"START_STARTUP_TITLE": "",
- "PROGRAM_IMPORT_ERROR_MISSING_ROBOT_TYPE": ""
+ "PROGRAM_IMPORT_ERROR_MISSING_ROBOT_TYPE": "",
+ "BLE_NOT_SUPPORTED": "",
+ "BLE_FEATURE_DISABLED": "",
+ "BLE_ADAPTER_DISABLED": "",
+ "BLE_NO_DEVICE_SELECTED": "",
+ "BLE_DOWNLOAD_IN_PROGRESS": "",
+ "BLE_ERROR_PROGRAM_SIZE": "",
+ "BLE_ERROR_COMMUNICATION": "",
+ "BLE_ERROR_DEVICE_BUSY": "",
+ "BLE_ERROR_CAPABILITIES": "",
+ "BLE_ERROR_STOP": ""
}
diff --git a/OpenRobertaServer/staticResources/css/roberta.css b/OpenRobertaServer/staticResources/css/roberta.css
index 97bf58bde9..3394200c90 100644
--- a/OpenRobertaServer/staticResources/css/roberta.css
+++ b/OpenRobertaServer/staticResources/css/roberta.css
@@ -1 +1 @@
-:active,:focus,:hover,:visited,a:focus{outline:0;outline:none}ol,ul{margin:0}dl.grid{display:grid;grid-template-columns:1fr 100%}dd{margin:0;padding-left:1em}dl.grid dd{margin-bottom:1em}dl.grid dt{min-width:140px}@font-face{font-family:Roboto;src:url(fonts/Roboto-Regular.ttf) format("truetype")}@font-face{font-family:Roboto;font-style:italic;src:url(fonts/Roboto-Italic.ttf) format("truetype")}@font-face{font-family:Roboto;font-weight:700;src:url(fonts/Roboto-Bold.ttf) format("truetype")}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:url(fonts/Roboto-BoldItalic.ttf) format("truetype")}body,html{display:flex;font-family:Roboto,sans-serif;font-size:1em;height:100%;margin:0;padding:0;width:100%}.pace{animation:pace-theme-center-circle-spin 2s linear infinite;background-color:transparent!important;background-image:url(../css/img/Nepo_N.png);background-repeat:no-repeat;background-size:cover;bottom:0;color:transparent;font-size:2rem;font-weight:100;height:12rem;left:0;line-height:12rem;margin:auto;pointer-events:none;position:fixed;right:0;text-align:center;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:12rem;z-index:3000}@keyframes pace-theme-center-circle-spin{0%{transform:perspective(12rem) rotateY(0deg)}to{transform:perspective(12rem) rotateY(1turn)}}body.blocklyMinimalBody *{opacity:1!important;overflow:hidden;transform:none}#header{background-color:#fff;border:0;margin:0}#header>.navbar{padding-bottom:0}.navbar-toggler{border:none;padding:12px}.navbar-toggler:focus{box-shadow:none}.nav-item:hover,button#navbarButtonsHead:hover{background-color:#bacc1e;border:0;border-radius:2px}#head-navigation-tabs>li>a.active{border-bottom:4px solid #bacc1e}.blocklyToolboxDiv{top:0!important}#iconDisplayLogin,#iconDisplayRobotState{cursor:pointer;float:left;font-size:24px;height:24px;margin:0 6px;width:24px}.robertaLogo{background:url(../css/svg/logo-word.svg) no-repeat}.fraunhoferLogo{background:url(../css/img/iais_logo.gif) no-repeat}.googleLogo{background:url(../css/svg/Google_logo.svg) no-repeat;background-size:contain}.NRWMinLogo{background:url(../css/img/AK_Schule.png) no-repeat;background-size:contain}.imgFloatLeft{float:left;height:65px;margin:4px 16px 0 0;padding:0;width:210px}#language.nav>li>a{color:#333;margin:6px;padding:0}#language.nav>li>a:focus,#language.nav>li>a:hover{background-color:#fff}#logoShowStart img{display:block;height:60px;margin:18px;width:146px}.invisible{visibility:hidden}.hidden{display:none}.img-beta,.img-deprecated{left:10px;position:absolute;top:-5px;transform:rotate(-10deg);width:auto;z-index:5}.new{background-color:#fdc300;border-radius:5px 0;font-size:14px;left:0;max-width:-moz-fit-content;max-width:fit-content;padding:5px 10px;position:absolute;top:0;z-index:99}.menuTab{font-weight:700;text-transform:uppercase}.navigation-row{margin:0;width:100%}.scroller{background-color:#fff;cursor:pointer;float:left;font-size:24px;margin:0;padding:8px 2px 0 28px}#main-section{background:#e9ecef;bottom:0;left:0;margin:0;overflow:hidden;padding:0;position:absolute;right:0;top:96px}#headNavigation.show{max-height:335px;overflow-y:auto}.navbar-nav ul{max-height:calc(100vh - 100px);overflow:hidden;overflow-y:auto}.btn-default{background-color:#fff;border-color:#ccc;color:#333;margin-right:2px}.btn-default:hover{background-color:#ddd;border-color:#ccc}#blocklyDiv,#bricklyDiv{background-size:100%;height:100%;overflow:hidden;touch-action:none}.log{bottom:50px;margin:16px 68px 32px;overflow:auto;position:fixed;top:152px}.canvasSim{left:0;position:absolute;top:0}canvas.border{border:2px solid grey}#webotsDiv{height:100%}#canvasDiv,#webotsDiv{left:0;position:absolute;top:0;width:100%;z-index:1}#sliderDiv{cursor:col-resize;width:20px;z-index:11}#sliderBorder{background-color:silver;width:6px;z-index:8}.codeActive>pre{word-wrap:inherit;height:100%;width:100%}.fromRight{background-color:#d8d8d8;display:none;float:right;height:100%;position:relative;user-select:none;-webkit-user-select:none;-moz-user-select:none;width:0;z-index:10}#infoDiv.fromRight{background-color:#eee}.fromRight.rightActive{display:block;height:100%;overflow:hidden}#codeContainer{height:100%;overflow-y:auto}#codeContent{background-color:#eee;overflow-y:auto;padding-bottom:60px;padding-top:12px}#infoContent{background-color:#fff;border:10px solid #eee;border-top:none;height:inherit;overflow:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text;width:inherit}#infoContent[data-placeholder]:before{color:#555;padding:0 12px}#infoToolbar{border:10px solid #eee}#legalDiv{background-color:#fff;overflow-y:scroll;padding-top:1.5rem}#legalDiv>:not(#legalDivHeader){-webkit-touch-callout:default;padding:1rem;-webkit-user-select:text;-moz-user-select:text;user-select:text}#legalDiv>#legalDivHeader{font-size:1.25em;text-align:center}#legalDiv>#legalDivHeader>a{padding:0 1rem}#helpDiv ul{display:table;list-style-type:none}#helpDiv li{display:table-row}#helpDiv li:before{display:table-cell;padding-right:6px}#helpContent{-webkit-touch-callout:none;background-color:#fff;height:100%;overflow-y:auto;padding:10px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}#helpContent h2,#helpContent h3{border-top:1px solid #f29400;padding-left:10px;padding-top:25px}#helpContent h4,#helpContent p{margin-left:8px;margin-right:12px}#helpContent h4{margin-top:18px}.selectedHelp{background-color:#f0f0f0}#rightMenuDiv{position:absolute;right:0;top:32px;z-index:9}#mbedContent,#valuesContent{background-color:#fff;border:2px solid #33b8ca;border-radius:2px;display:inline-block;padding:12px 14px 12px 12px}#valuesContent{min-width:330px;overflow-y:auto}.customDropdown{background-color:#fff;border:1px solid #333;border-radius:2px}.rightMenuButton{background:silver;border-radius:2px;height:40px;margin-bottom:6px;position:relative;width:40px;z-index:12}.rightMenuButton:before{border-bottom:5px solid transparent;border-right:6px solid #333;border-top:5px solid transparent;content:"";height:0;position:absolute;right:100%;top:14px;width:0}.rightMenuButton.rightActive{color:#e2001a}.rightMenuButton.rightActive:before{border-bottom:5px solid transparent;border-left:6px solid #333;border-top:5px solid transparent;right:-6px}.rightMenuButton:active,div.rightMenuButton:hover{cursor:pointer}.rightMenuButton>.typcn{font-size:24px;left:7px;position:relative;top:8px}#infoButton.notEmpty,#tutorialButton.rightMenuButton{background-color:#bacc1e}#infoButton.notEmpty:before,#tutorialButton.rightMenuButton:before{border-right:6px solid #bacc1e}.menu-icons{border:0;color:#fff;font-size:24px;line-height:24px;margin:0}#toastContainer{left:50%;position:absolute;top:0}#toastLeftContainer{left:-50%;margin:0;padding:0;position:relative;top:0}#toastLeftContainer span{background-color:#fff;color:#333;font-size:16px;padding:8px;white-space:nowrap;z-index:9999}#show-startup-message{z-index:1039}#show-startup-message #popup-robot-container{margin-left:100px;margin-right:100px}#show-startup-message .popup-robot{background-color:#fff;color:#333}#show-startup-message .popup-robot.robotSpecial{background-color:transparent;color:#000}#slick-container{background:#33b8ca}.slick-list{padding-bottom:12px!important;padding-top:12px!important}.slick-dots{bottom:inherit;top:160px}#show-startup-message .slick-slide{opacity:1;transform:scale(1);transition:all .3s ease-in-out}#show-startup-message .slick-slide.slick-center{transform:scale(1.2)}#show-startup-message .slick-prev{left:-100px;top:45%}#show-startup-message .slick-next{right:-100px;top:45%}#show-startup-message .slick-next:before,#show-startup-message .slick-prev:before{color:#000;font-size:25px}#show-startup-message .popup-robot a{bottom:20px;color:#000;font-size:25px;position:relative;right:75px}#show-startup-message .popup-robot.robotSpecial a{left:86px;top:20px}#show-startup-message .robot-info{font-size:24px;position:relative}#startPopupBack{bottom:50px;color:#333;font-size:36px;position:relative;text-decoration:none}#show-startup-message .modal-dialog{border:2px solid #33b8ca}.ok,.wait{color:#33b8ca}.error{color:#333}@keyframes blinker{0%{color:#f29400}to{color:#e2001a}}.busy{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:blinker;animation-name:blinker;-webkit-animation-timing-function:cubic-bezier(1,0,0,1);animation-timing-function:cubic-bezier(1,0,0,1)}.menuDisabled{background-color:#fff}.dropdown-toggle.disabled:focus,.dropdown-toggle.disabled:hover{background-color:#fff!important;background-image:none;cursor:default;text-decoration:none}.bottomLeftButtons{bottom:6px;display:flex}#simEditButtons,.bottomLeftButtons{left:12px;position:absolute;z-index:99}#simEditButtons{top:10px}#simEditButtons button span:before{font-size:36px}.simAddMarker span{display:inline-block;font-size:12px;min-width:16px}button#simCustomColorObject span.typcn:before{color:#fbed00}button#simCustomObstacle.typcn:before{color:#009ee3}.huebee__container{background:#e7e7e7;border-radius:2px;box-shadow:none;left:0;padding:24px 10px 10px;position:absolute;top:6px}.huebee__cursor{border:5px solid #fff;border-radius:2px;height:30px;width:30px}.huebee{transition:none}.huebee__close-button{background:none;border-radius:0;display:block;height:24px;position:absolute;right:0;top:0;width:24px}.huebee__close-button__x{stroke-width:2;stroke:#bbb}.huebee__close-button__x:focus,.huebee__close-button__x:hover{stroke:#333}.huebee__close-button:focus,.huebee__close-button:hover{background:#e7e7e7}#codeButtons{background-color:#eee;bottom:0;height:70px;left:12px;padding-top:10px;position:absolute;width:100%;z-index:99}.btn-group-vertical>.btn.simbtn{margin:8px 0}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-bottom:5px}.btn-group.open .dropdown-toggle{box-shadow:none}.tooltip>.tooltip-inner{background-color:#333}.tooltip>.tooltip-arrow{border-right-color:#333}.nav-tabs>li+li{margin:0}#toolboxDiv{-webkit-overflow-scrolling:touch}#toolboxDiv>.nav-tabs{border:0}#toolboxDiv>.nav-tabs li{border:none;text-align:center;width:50%}#toolboxDiv>.blocklyToolboxDiv{position:relative!important}#toolboxDiv>.nav-tabs li>a.active{background-color:#e9ecef;color:#333}#toolboxDiv>.nav-tabs li>a{background-color:silver;border:none;border-radius:0;color:#fff;margin:0;padding:6px 0}.blocklyFlyoutBackground{fill-opacity:.925!important}.head-navi-icons:before{margin-right:2px}.dropdown-menu:not(.editor){border-radius:2px}.dropdown-menu>li>a>span.kbd{bottom:.4em;float:right;font-size:.8em;position:absolute;right:20px}#head-navigation-configuration-edit .dropdown-menu>li>a,#head-navigation-program-edit .dropdown-menu>li>a{padding-right:70px;position:relative}.dropdown-menu>li:not(.disabled)>a:focus,.dropdown-menu>li:not(.disabled)>a:hover{background-color:#bacc1e!important}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#bbb}#tokenValue{text-transform:uppercase}#roberta{background-image:url(/css/img/Roberta_ears_up.png);background-repeat:no-repeat;background-size:contain;bottom:-12px;height:180px;position:absolute;right:-20px;width:160px}#version-info{font-size:24px;font-weight:500;position:absolute;right:60px;top:16px}.cover{background-color:#ddd;height:100%;left:0;position:fixed;top:0;width:100%;z-index:2000}.connector{fill:#bacc1e;margin-top:19px;position:absolute;right:5%;z-index:900}.border-dotted{border-right:1px dashed #afca04}.popupTitel{margin-bottom:10px;margin-top:20px;text-align:center}.popup-checkbox{color:#bbb;font-size:14px;padding:0 0 16px!important}.download-checkbox{color:#bbb;font-size:14px;padding-bottom:16px!important;padding-left:16px!important;width:100%}.download-checkbox input,.popup-checkbox input{margin-bottom:6px;margin-right:6px;position:relative;top:2px}.download-checkbox label,.popup-checkbox label{display:initial;font-weight:400}.download-checkbox ul{list-style:none}#download-instructions{list-style-type:none;margin:32px 16px 0;padding:0}#download-instructions li{font-size:20px;margin-bottom:48px;padding-left:2em;position:relative}#download-instructions .typcn-Roberta:before{left:0;padding-top:4px;position:absolute}#programLink a{color:#337ab7;text-decoration:underline}.clearer{clear:both}.simWindow{display:none;left:50px;position:absolute;top:200px;z-index:99}.simWindow#simValuesWindow button.close{position:absolute;right:14px;top:4px}.simWindow#simRobotWindow button.close{position:absolute;right:16px;top:4px;z-index:99999}#VariablesContent{height:300px;overflow:auto;width:auto}#simValuesContent label{display:inline-block;margin-left:10px;margin-right:6px;width:150px}#simValuesContent div>div{max-height:70vh;white-space:nowrap}#simValuesContent span{display:inline-block;padding:0 6px;width:60px}.bigNumber{color:#8fa402;font-size:large;font-weight:700}.simWindow .modal-dialog{margin:0;min-width:-moz-max-content;min-width:max-content;pointer-events:all;width:-moz-max-content;width:max-content}.simWindow text{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.simWindow div{width:100%}.modal-backdrop.in{opacity:.3}.modal-content{border:0;border-radius:2px}.modal-body{padding:0 16px}.modal-body.left-inner-addon{word-break:break-word}#startup-message-statustext h4{font-weight:500}.modal-footer,.modal-header{border:0;padding:16px 16px 20px;text-align:left}.form-control:focus,.form-select:focus{border:1px solid #afca04;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;-moz-transition:none;-webkit-transition:none}.modal-footer{justify-content:space-between}.with-devider{margin-top:10px}.btn-toolbar.editor{background-color:#eee;padding:10px 0 0}.btn-default.show,.btn-info{background-color:#afca04;border-color:#afca04}.btn.btn-link.btn-user{background-color:transparent;color:var(--bs-btn-color);padding:0;text-decoration:none}.btn.btn-link.btn-user:focus,.btn.btn-link.btn-user:hover,.btn.btn-link.btn-user:hover:focus{background-color:transparent;color:var(--bs-btn-hover-color);text-decoration:underline}.btn{border-radius:2px}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{background-color:#afca04;border-color:#afca04}a.btn.editor{align-items:center;display:flex}.btn .active:not(.editor,.start),.btn .focus:not(.editor,.start),.btn:active:focus:not(.editor,.start),.btn:active:not(.editor,.start),.btn:focus:not(.editor,.start),.btn:hover:not(.editor,.start),.open>.dropdown-toggle .btn:not(.editor,.start){background-color:#c7d92b;box-shadow:none;color:#fff;outline:none}.btn:not(.editor,.galleryLike,.start){background-color:#bacc1e;border:none;border-radius:2px;box-shadow:none;color:#fff;cursor:pointer;font-size:16px;margin-left:0;margin-right:16px}button.editor{background-color:#dedede;border-radius:2px}button.editor:hover{background-color:#eee}.open>.dropdown-toggle.simbtn.btn,.simbtn.btn.active,.simbtn.btn.focus,.simbtn.btn:active,.simbtn.btn:active:focus,.simbtn.btn:focus,.simbtn.btn:hover{background-color:#f29400}#simEditButtons>.typcn-chart-line-outline{fill:#bacc1e}.simKey:hover{cursor:pointer}.fixed-table-toolbar .btn:not(.start){background-color:#bacc1e;border:none;border-radius:2px;box-shadow:none;color:#fff;cursor:pointer;font-size:24px;height:48px;margin-left:0;margin-right:4px;width:48px}.fixed-table-toolbar button.btn:last-child{margin-right:0}.fixed-table-toolbar .btn:hover:not(.start){background-color:#c7d92b}.btn-group.pull-right>.btn:last-child{margin-right:0}table .typcn-chevron-left:before,table .typcn-chevron-right:before,table .typcn-flow-merge:before{display:inline-block;transform:rotate(-90deg)}table:not(#robotTable) [data-bs-toggle=collapse]:after{content:url("data:image/svg+xml;utf8,");float:right}.fixed-table-container thead th .both{background-image:url(../css/svg/arrow-unsorted.svg)}.fixed-table-container thead th .asc{background-image:url(../css/svg/arrow-sorted-up.svg)}.fixed-table-container thead th .desc{background-image:url(../css/svg/arrow-sorted-down.svg)}table:not(#robotTable) [data-bs-toggle=collapse].collapsed:after{transform:rotate(180deg)}.modal-body>.bootstrap-table{margin:0}.blbtn{background-color:#fff;border:1px solid #d8d8d8;border-radius:2px;box-shadow:none;color:#333;cursor:pointer;font-size:0;height:48px;margin-bottom:6px;margin-left:0;margin-right:2px;width:48px}.blbtn:hover{background-color:#bacc1e}.modal-footer .btn+.btn{margin-left:0;margin-right:0}.btn-close{--bs-btn-close-focus-shadow:0}.close:focus,.close:hover{color:#333;opacity:1}#popup-robot-main{visibility:hidden}#popup-robot-main.slick-initialized{visibility:visible}.robot-container{border:1px solid #ddd;border-radius:4px;cursor:pointer;display:inline-grid;height:88px;margin:20px;padding:13px 0;text-align:center;width:140px}.startupImages{margin-top:0;position:relative;top:50%}.robot-label{display:block;line-height:14px}.robot-icon{font-size:40px;position:relative;right:-16px}.typcn.robot-icon:before{margin:0}.bootstrap-tagsinput{border:10px solid #eee;color:#555;-webkit-hyphens:auto;hyphens:auto;overflow-x:auto;padding:4px 6px;white-space:nowrap;width:100%;word-break:break-word}.bootstrap-tagsinput .tag{background-color:#bbb;border-radius:.25em;color:#fff;display:inline;font-size:75%;font-weight:700;line-height:1;margin-right:2px;padding:.2em .6em .3em;text-align:center;vertical-align:baseline;white-space:nowrap}.dropdown-menu .typcn:before{margin-right:6px}#toolboxDiv>.nav-tabs .typcn:before{position:relative;top:1px}.blbtn.typcn:before{font-size:36px;margin-right:0}.bootstrap-table .typcn:before{margin-right:0}.bootstrap-table .no-records-found td{color:#333}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading{background-color:#e9ecef}.input-typcn:before{font-size:22px;left:-1px;position:relative;top:4px}label.form-invalid{background:#ddd;background:hsla(0,0%,87%,.9);border-radius:2px;color:#e2001a;font-size:16px;font-weight:400;padding:6px;position:relative;width:100%;z-index:10}label.form-invalid:after{border:6px solid transparent;border-top-color:#e2001a;content:" ";height:0;margin-top:28px;pointer-events:none;position:absolute;right:10%;width:0;z-index:20}#div-login-forms .form-group{position:relative}.form-group{width:100%}.form-group .hint{background:#ddd;background:hsla(0,0%,87%,.9);border-radius:2px;color:#333;font-size:16px;margin-top:12px;padding:6px;position:relative;width:100%;z-index:11}.hint:before{border-color:transparent transparent #8fa402;border-style:solid;border-width:0 6px 6px;content:"";height:0;position:absolute;right:75%;top:-6px;width:0}.capitalLetters{text-transform:uppercase}.input-group-addon{background:#fff;border:1px solid #afca04;border-radius:2px;padding:6px 6px 0 10px}.inner-addon{position:relative}.inner-addon .typcn{color:#c7c7c7;font-size:20px;left:0;padding:0 6px;position:absolute}#programShareWith{margin-right:15px}input.shareLabelInput.form-control,select.shareLabelInput.form-control{margin:0}legend{margin-bottom:0}.progName:before{margin-right:0}.bootstrap-table,.table{--bs-table-color:#333}.bootstrap-table:not(#start .bootstrap-table),.table:not(#robotTable){cursor:pointer}.bootstrap-table a{color:#333;margin-left:4px;margin-right:4px;text-decoration:none}.bootstrap-table a.disabled{color:#bbb;pointer-events:none}.bootstrap-table .fixed-table-toolbar .float-left,.bootstrap-table .fixed-table-toolbar .float-right{margin-top:0}.bs-bars.float-left{width:100%}td.bs-checkbox{padding:14px 8px 0!important}.bootstrap-table a:focus,.bootstrap-table a:hover{color:#000;text-decoration:none}.bootstrap-table a>span{padding:0}.galleryTable{position:absolute}.galleryTable tbody{display:flex;flex-wrap:wrap;overflow-x:hidden;overflow-y:auto}.galleryTable tr>td{background-color:transparent}.galleryTable .typcn:before{color:#eee;font-size:80px;left:50%;margin-left:-40px;position:absolute;top:10px}a.bookmark.typcn:before{color:#39378b;font-size:34px;left:40px;opacity:.8;padding:16px;position:relative;top:16px;z-index:30}a.bookmark{border-radius:50%;display:block;height:66px;margin:0;position:absolute;right:0;top:0;width:66px}a.bookmark.typcn:hover:before{font-size:30px;opacity:1;padding:18px;top:18px}#start .nav-link{background:none;border-bottom:.1875rem solid rgba(57,55,139,0);color:rgba(0,0,0,.5);margin-right:1.25rem;padding:0 0 .625rem}#start .nav-link.active{border-bottom:.1875rem solid #39378b;color:#39378b;font-weight:700}#start .nav-link:hover{color:#39378b}#start .dropdown-menu{border-radius:5px}#start .dropdown-toggle.show:after{transform:rotate(180deg)}button.btnFilter.start{background-color:#fff;border:none;border-radius:5px!important;color:#39378b;display:inline-block;font-weight:700;margin-left:6px!important;padding:.9375rem;text-decoration:none}button.btnFilter.start:hover,button.filter.start.show{background:#39378b;color:#fff}#start .fixed-table-toolbar{min-height:74px}#start .galleryTable button.pick.start{border-radius:5px 0;float:right;margin:12px -9px -9px 0;padding:10px 50px 10px 15px}#start .galleryTable button.pick.start,button#more.start{background-color:#39378b;color:#fff;display:inline-block;position:relative;text-decoration:none}button#more.start{border-radius:5px;margin:0 0 20px;padding:10px;width:auto}#start div.start.typcn{position:relative}#start .galleryTable button.pick.start:before{font-size:24px;margin:0;position:absolute;right:0;transform:translate(0);transition-duration:.3s}#start .galleryTable button.pick.start:hover:before{transform:translate(5px);transition-duration:.3s}#start .galleryTable div.start.typcn:hover{background-color:red}#start .fixed-table-body,#start .fixed-table-container.fixed-height{border:none;height:auto!important;margin:0 -1.5em}#start .galleryTable.table{position:relative}#start .galleryTable td{background-color:#fff;border-radius:5px;color:#333}.table-hover>tbody>tr:hover>*{--bs-table-color-state:0;--bs-table-bg-state:0}a.page-link{--bs-pagination-active-bg:#bacc1e;--bs-pagination-active-border-color:#bacc1e}a.page-link:focus,a.page-link:hover{box-shadow:none}.galleryIcon.typcn:before{color:#fff;font-size:24px;font-weight:700;left:40px;position:relative;top:4px}.fixed-table-container.fixed-height.has-card-view{overflow:auto}span.card-view-title{min-width:auto!important}.tutorialIcon.typcn:before{color:#fff;display:inline-block;font-size:24px;left:0;margin-left:0;margin-right:12px;position:relative;top:0;width:1.5em}div.imgSol img,div.imgSol svg{max-width:100%;overflow:hidden}#galleryList .fixed-table-toolbar .pull-left{flex:1}#galleryList .pull-right.search{display:none}.listToolbar{display:flex;justify-content:space-between;position:absolute;top:10px}.filter,.form-control:not(#start .fixed-table-toolbar>.float-right>.form-control){background-color:#fff;border:1px solid #afca04;border-radius:2px;height:48px;padding-bottom:0;padding-top:0}.form-control:not(#start .fixed-table-toolbar>.float-right>.form-control){-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}#start .fixed-table-toolbar>.float-right>.form-control{border-color:#39378b;height:54px;margin-left:6px}.search>label{margin-left:6px;margin-top:12px;max-width:100%;white-space:nowrap}.search.float-right{max-width:calc(100% - 100px)}.cardViewName{font-size:24px;-webkit-hyphens:auto;hyphens:auto;margin-bottom:12px;margin-top:80px;max-height:34px;min-height:34px;overflow:hidden;text-overflow:ellipsis;width:100%;word-break:break-all}.cardViewName,.robotName{font-weight:700;text-align:center}.robotName{font-size:20px;max-height:52px;min-height:52px}.robotImage{cursor:pointer;height:0;padding-bottom:60%;position:relative;width:100%}.robotImage img{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}#start button.accordion-button{padding:6px 12px}#start label.form-check-label{margin-left:12px;margin-top:4px}.button,.button-big,.button-big--arrow,.button-big--primary:after,.button-big--quaternary:after,.button-big--secondary:after,.button-big--tertiary:after,.button-big.icon:after,.transition{transition:all .3s}h1,h2,h3,h4,h5{font-weight:700}h1{margin-bottom:30px}h1,h2{font-size:30px;line-height:40px}h2{margin-bottom:20px}h3{font-size:30px;line-height:40px;margin-bottom:30px}h4,h5{font-size:20px;line-height:30px}.tint{color:#fff;display:inline-block;margin:0 -10px;mix-blend-mode:multiply;padding:10px 20px}.tint--primary{background:#39378b;position:relative;top:5px;transform:rotate(1deg)}.tint--secondary{background:#fdc300;transform:rotate(-1deg)}.tint--tertiary{background:#33b8ca;transform:rotate(-2deg)}.tint--quaternary{background:#88bce2;position:relative;top:-8px;transform:rotate(1deg)}p{font-size:16px;line-height:24px;margin-bottom:15px}p:last-child{margin-bottom:0}p.teaser{font-size:20px;line-height:30px}p.teaser:last-child{margin-bottom:15px}p.teaser+.button{margin-top:20px}a{color:#39378b;text-decoration:underline}@media (hover:hover){a:hover{cursor:pointer;text-decoration:none}}.button-big--arrow,.button-big--primary:after,.button-big--quaternary:after,.button-big--secondary:after,.button-big--tertiary:after,.button-big.icon:after{background-repeat:no-repeat;background-size:contain;bottom:15px;content:"";height:30px;position:absolute;right:20px;width:30px}@media (hover:hover){.button-big--arrow:hover,.button-big--primary:hover:after,.button-big--quaternary:hover:after,.button-big--secondary:hover:after,.button-big--tertiary:hover:after,.button-big.icon:hover:after{right:15px}}.button{border-radius:5px;display:inline-block;font-weight:700;padding:15px;text-decoration:none}.button--light{background:#fff;color:#39378b}.button.show{background:#39378b;color:#fff}@media (hover:hover){.button:hover{background:#39378b;color:#fff}}.button-big{border-radius:5px;color:#000;display:flex;flex-direction:column;height:100%;padding:10px 80px 10px 15px;text-decoration:none}@media (min-width:768px){.button-big{padding:15px 15px 50px}}@media (min-width:992px){.button-big{padding:15px 80px 15px 20px}}.button-big--primary{background:rgba(57,55,139,.1);border:1px solid rgba(57,55,139,.5);position:relative}.button-big--primary:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@media (hover:hover){.button-big--primary:hover{background:rgba(57,55,139,.2);border:1px solid #39378b}}.button-big--primary.icon{background:#39378b}.button-big--secondary{background:rgba(253,195,0,.1);border:1px solid rgba(253,195,0,.5);position:relative}.button-big--secondary:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@media (hover:hover){.button-big--secondary:hover{background:rgba(253,195,0,.2);border:1px solid #fdc300}}.button-big--secondary.icon{background:#fdc300}.button-big--tertiary{background:rgba(51,184,202,.1);border:1px solid rgba(51,184,202,.5);position:relative}.button-big--tertiary:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@media (hover:hover){.button-big--tertiary:hover{background:rgba(51,184,202,.2);border:1px solid #33b8ca}}.button-big--tertiary.icon{background:#33b8ca}.button-big--quaternary{background:rgba(136,188,226,.1);border:1px solid rgba(136,188,226,.5);position:relative}.button-big--quaternary:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@media (hover:hover){.button-big--quaternary:hover{background:rgba(136,188,226,.2);border:1px solid #88bce2}}.button-big--quaternary.icon{background:#88bce2}.button-big.icon{border:none;color:#fff;padding:15px 80px 10px 15px}@media (min-width:992px){.button-big.icon{padding:40px 80px 40px 40px}}.button-big.icon:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@media (hover:hover){.button-big.icon:hover{box-shadow:0 20px 50px rgba(0,0,0,.05)}}.button-big.icon svg{fill:#fff;align-self:flex-start;height:25px;margin-bottom:20px;width:auto}section{width:100%}.section--white{background:#fff}.section--light{background:#e9ecef}#start{background:#fff}#startup-message-statustext{background:#39378b;border-radius:5px;bottom:50px;box-shadow:0 0 20px rgba(0,0,0,.25);color:#fff;max-width:450px;position:absolute;right:50px;width:100%;z-index:999}#startup-message-statustext h4,#startup-message-statustext p{padding:20px}.nepo,.nepo:before{display:inline-block}.nepo:before{background-image:url(img/nepo.svg);background-position:0 100%;background-repeat:no-repeat;background-size:contain;content:"";height:20px;margin-right:5px;width:85px}.teaser-news{background:#e9ecef;border-radius:5px;display:flex;padding:15px}@media (min-width:992px){.teaser-news{padding:40px}}.teaser-news--header{font-size:20px;font-weight:700;line-height:30px;margin-bottom:10px}.teaser-news--body h3{color:#39378b}.teaser-news--image{height:auto;width:100%}#start footer{border-top:1px solid rgba(0,0,0,.2);padding-bottom:96px;width:100%}#start footer img{width:100%}#start footer .nav-link,#start footer p{font-size:14px;line-height:20px;margin-right:0}#start footer .nav-item,#start footer .nav-item:hover{background:none}#start footer .nav-link{color:#6c757d;padding:5px 0}@supports (background:-webkit-named-image(i)){.flexbox-fix{display:flex}}.galleryTable tr,.galleryTable.table{border:.75em solid #e9ecef;border-collapse:collapse}#share-with-gallery .galleryTable tr,#share-with-gallery .galleryTable.table{border-color:#fff}div.galleryLike{bottom:-20px;color:#fff;text-align:center}div.galleryLike a>span{color:#fff}button.galleryLike.btn{border:2px solid #fff;border-radius:2px;color:#fff;opacity:.75}button.galleryLike.btn:active,button.galleryLike.btn:focus,button.galleryLike.btn:focus:active,button.galleryLike.btn:hover{background-color:inherit;font-weight:600;opacity:1}div.cardViewDescription{-webkit-line-clamp:2;margin-bottom:12px;min-height:42px}div.cardViewDescription,div.cardViewInfo{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;position:relative;text-overflow:ellipsis;word-break:break-word}div.cardViewInfo{-webkit-line-clamp:1}div.cardViewLabel{display:inline-block;min-width:30%}.galleryDescription:before,.tutorialOverview:before{bottom:0;content:"...";position:absolute;right:0}.galleryDescription:after,.tutorialOverview:after{content:"";height:2.5em;margin-top:-.3em;position:absolute;right:0;width:1em}.galleryDescription.color0:after,.tutorialOverview.color0:after{background:#33b8ca}.galleryDescription.color1:after,.tutorialOverview.color1:after{background:#ebc300}.galleryDescription.color2:after,.tutorialOverview.color2:after{background:#005a94}.galleryDescription.color3:after,.tutorialOverview.color3:after{background:#179c7d}.galleryDescription.color4:after,.tutorialOverview.color4:after{background:#f29400}.galleryDescription.color5:after,.tutorialOverview.color5:after{background:#e2001a}.galleryDescription.color6:after,.tutorialOverview.color6:after{background:#eb6a0a}.galleryDescription.color7:after,.tutorialOverview.color7:after{background:#8fa402}.galleryDescription.color8:after,.tutorialOverview.color8:after{background:#bacc1e}.galleryDescription.color9:after,.tutorialOverview.color9:after{background:#9085ba}.galleryDescription.color10:after,.tutorialOverview.color10:after{background:#ff69b4}.galleryDescription.color11:after,.tutorialOverview.color11:after{background:#df01d7}.galleryAuthor{height:22px;overflow:hidden;word-break:break-all}.galleryLike.typcn:before{color:#fff;font-size:16px;position:inherit}.galleryTags{background-color:inherit;border:none;box-shadow:none;height:34px;line-height:34px;overflow:hidden;padding:0;text-decoration:none;white-space:normal}.galleryTags input{height:0}.galleryTags>.tag{background-color:#bbb;line-height:34px;white-space:normal}.galleryTable td{border:none!important;color:#fff;position:relative;width:100vw}#galleryPreview tr{width:100%}.dataTables_wrapper{margin:0 68px}#confList table tbody tr.selected,#confList table tbody tr:hover td:not(td:last-child),#progList .fixed-table-container tbody .selected td,#progList table tbody tr.selected,#progList table tbody tr:hover td:not(td:last-child),#relationsList table tbody tr.selected,#relationsList table tbody tr:hover,#userGroupList .fixed-table-container tbody .selected td,#userGroupList table tbody tr.selected,#userGroupList table tr:hover td:not(td:last-child),#userGroupMemberList .fixed-table-container tbody .selected td,#userGroupMemberList table tbody tr.selected{background-color:#bacc1e}a.delete:hover{color:#e2001a}a.gallery:hover,a.load:hover,a.share:hover{color:#bacc1e}.float-right.search.btn-group{max-width:calc(100% - 150px)}input[type=range]{-webkit-appearance:none;margin:10px 0;width:100%}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{animate:.2s;background:#bacc1e;border:0 solid #000;border-radius:2px;box-shadow:0 0 0 #000;cursor:pointer;height:8px;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:1px solid #333;border-radius:2px;box-shadow:0 0 0 #000;cursor:pointer;height:24px;margin-top:-8.5px;width:12px}input[type=range]:focus::-webkit-slider-runnable-track{background:#bacc1e}input[type=range]::-moz-range-track{animate:.2s;background:#bacc1e;border:0 solid #000;border-radius:2px;box-shadow:0 0 0 #000;cursor:pointer;height:8px;width:100%}input[type=range]::-moz-range-thumb{background:#fff;border:1px solid #333;border-radius:2px;box-shadow:0 0 0 #000;cursor:pointer;height:24px;width:12px}input[type=range]::-ms-track{animate:.2s;background:transparent;border-color:transparent;color:transparent;cursor:pointer;height:8px;width:100%}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:#bacc1e;border:0 solid #000;border-radius:4px;box-shadow:0 0 0 #000}input[type=range]::-ms-thumb{background:#fff;border:1px solid #333;border-radius:2px;box-shadow:0 0 0 #000;cursor:pointer;height:24px;width:12px}input[type=range]:focus::-ms-fill-lower,input[type=range]:focus::-ms-fill-upper{background:#bacc1e}.table-dark{--bs-table-bg:#898989;--bs-table-border-color:none;text-transform:uppercase}#confList table,#progList table,#show-relations table,#showMultipleSimPrograms table thead{margin:0;width:100%}.updatedRow{color:#bacc1e}.table>tbody>tr>td,.table>tbody>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:9px}.dataTables_scrollBody{border-bottom:none!important}#confList .configurations,#progList .programs,#relationsList .relations{border-bottom:1px solid #eee}#relationsListing{margin-bottom:15px}#confList>h2,#logList>h2,#progList>h2{margin-left:68px}#create-user-group .modal-body{margin-bottom:1em}#userGroupList .btn-group>.btn:not(.dropdown-toggle),#userGroupMemberList .btn-group>.btn:not(.dropdown-toggle){border-radius:2px}#userGroupMemberTable .edit-member-name:not(.active),#userGroupMemberTable .member-name:not(.active){display:none}#userGroupMemberTable .btn{border:none;display:inline-block;font-size:16px;height:calc(1.25em + 12px);margin-right:0;vertical-align:top}#userGroupMemberTable.table-hover>tbody>tr:hover{background-color:transparent}#userGroupMemberTable .btn:active,#userGroupMemberTable .btn:focus{box-shadow:none;outline:none}#userGroupMemberTable .member-name-column{display:inline-block;margin:-8px;padding:8px;position:relative}#userGroupMemberTable tr.selected .member-name-column.active{background-color:hsla(0,0%,100%,.5)}#userGroupMemberTable .member-name{display:inline-block;font-size:16px;line-height:1.25;margin-left:16px;padding:7px 0}#userGroupMemberTable .edit-member-name,#userGroupMemberTable .edit-member-name form{display:inline-block}#userGroupMemberTable .edit-member-name form{margin:0;padding:0}#userGroupMemberTable .edit-member-name form label.form-invalid{bottom:0;left:0;margin-bottom:0;position:absolute;right:0;transform:translateY(100%)}#userGroupMemberTable .edit-member-name form label.form-invalid:after{border-bottom-color:red;border-top-color:transparent;margin-top:0;right:25%;top:0;transform:translateY(-100%)}#userGroupMemberTable .edit-member-name input.form-control{font-size:16px;line-height:1.25;margin:0;padding:4px 12px 4px 15px}#userGroupMemberTable .edit-member-name .btn.iais-loading-spin:before{animation:iais-loading-spin 1.2s linear infinite;display:inline-block}#simEditButtons>.btn-group{height:48px;vertical-align:top;width:48px}#simEditButtons>.btn-group.open button{background-color:#e7e7e7}#simEditButtons>.btn-group>.dropdown-menu{margin-top:6px;min-width:48px;width:48px}#simEditButtons>.btn-group>.dropdown-menu>li>a{font-size:28px;height:35px;padding-left:5px;padding-right:0;text-align:center;text-decoration:none}.simChangeObject.disabled{color:#bbb;cursor:not-allowed}#simControl.typcn-media-stop,#simStop{color:#e2001a!important}#simStop.disabled{color:#f6b3b9!important;cursor:not-allowed}.disabled a,li.disabled{color:#bbb;cursor:not-allowed;pointer-events:none}.disabled :hover,.disabled:hover{background:inherit}#simButtons>.debug{color:#1c5a94}.typcn-media-play-outline.rotated:before{display:inline-block;transform:rotate(-90deg)}@keyframes iais-loading-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pull-none .pull-right{margin-left:3px}.pull-none .pull-left{margin-right:3px}@media only screen and (max-width:992px){#main-section{top:60px}#logoShowStart img{height:44px;margin-top:8px;width:auto}#head-navigation-tabs>li>a.active{border-bottom:none}#head-navigation{padding-bottom:8px}#roberta{bottom:-6px;height:90px;right:-10px;width:80px}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 36px}.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:inherit}.modal-dialog.bigModal{min-width:300px;width:80%}#head-navigation-tabs li{float:none;overflow:hidden;width:auto}.log{margin:16px}.dataTables_wrapper{margin:0 16px}#confList>h2,#logList>h2,#progList>h2,#relationsList>h2{margin-left:16px}.navbar-fixed-bottom{border:0;margin-bottom:0;padding:16px}.simWindow{left:6px;top:60px}.border-dotted{border-right:0}}img.img-responsive{height:140px;margin:0 auto}@media only screen and (max-width:768px){#show-startup-message .slick-prev{left:-25px}#show-startup-message .slick-next{right:-25px}#show-startup-message #popup-robot-container{margin-left:25px;margin-right:25px}}@media only screen and (max-width:480px){#show-startup-message .slick-slide.slick-center{transform:scale(1)}.robot-container{margin:20px 8px}}.enjoyhint_close_btn{border:2px solid #bacc1e}.enjoyhint_close_btn:active,.enjoyhint_close_btn:hover{background:#c7d92b}@media print{div#show-startup-message{display:none!important}svg.blocklySvg{overflow:visible}.nav,.navbar{display:block}.headNavigationTabs{margin-top:59px;z-index:1}.navbar-collapse{padding-left:10px;padding-right:10px}.collapse{display:block;visibility:visible}#blocklyDiv{border:none}div#simButtonsCollapse{display:none}.blocklyToolboxDiv{display:none!important}.blocklyMainBackground{stroke:none!important}#rightMenuDiv,g.blocklyButtons{display:none}.blocklyMainBackground{stroke:none}a#tabConfiguration{display:none}.nav-tabs>li{width:100%}#headNavigationTabs{border:none}#head-navigation-tabs>li>a.active{border-bottom:2px solid #000}g.blocklyBlockCanvas{transform:translate(-200px,-50px)}div#releaseInfo{display:none}}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:inherit!important}#tutorialRoberta{background-image:url(../css/svg/Roberta_zwinkernd.svg);background-repeat:no-repeat;background-size:200px;bottom:-15%;height:200px;position:absolute;right:-5%;width:200px}.tutorialLevelStars{position:relative}.tutorialLevel.typcn:before{color:#fff;display:table-cell;font-size:24px;left:0;position:relative;top:0}#tutorialOverview .modal-dialog{border:2px solid #33b8ca;font-size:18px}#tutorial-navigation,#tutorialEnd{display:none}#tutorial-navigation ul{margin:16px}ul#tutorial-close{float:right}#tutorialEnd a:before{font-size:1.5em;line-height:42px}#tutorial-close,#tutorial-header,.step{color:#333}#tutorial-navigation li{text-align:center}#tutorial-navigation li:last-child a:before{position:absolute;right:3px;top:3px}#tutorial-navigation li.step{background:#eaf0bb;float:left;height:48px;list-style:none;padding:0;text-align:center}#tutorial-navigation li.step.active{background:#bacc1e}#tutorial-navigation li a{box-sizing:border-box;color:inherit;display:inline-block;float:left;font-size:24px;font-weight:700;height:48px;margin:0 0 0 -15px;padding:6px 8px 6px 16px;text-decoration:none;width:48px}#tutorial-navigation li:first-child a{margin-left:0;width:48px}#tutorial-navigation li.step:after{background-image:url(../css/svg/step_connector.svg);content:" ";display:inline-block;height:48px;width:17px}#tutorial-navigation li.step.last:after{background-image:url(../css/svg/step_connector_last.svg)}#tutorial-navigation li.step.active:after{background-image:url(../css/svg/step_connector_active.svg)}#tutorial-navigation li.step.preActive:after{background-image:url(../css/svg/step_connector_before_active.svg)}#tutorial-navigation li.step.last.active:after{background-image:url(../css/svg/step_connector_active_last.svg)}#tutorial-navigation .navbar-nav>.active>a,#tutorial-navigation .navbar-nav>li>a:hover{background-color:transparent;color:#333}#tutorialNavs{left:60px;position:relative}#tutorial-navigation a.typcn.typcn-delete{background:#fff;border:6px solid #fff;color:#333;font-size:36px;position:absolute;text-decoration:none;top:24px}#tutorial-header{height:92px;line-height:76px;margin:0;overflow:hidden;vertical-align:middle}#tutorialOverview>.modal-backdrop.fade.in{opacity:.6}#tutorialDiv.fromRight{background-color:#eee}#tutorialContent{background-color:#fff;font-size:18px;height:100%;margin:10px;overflow-y:auto;padding:16px}#tutorialContent .tip{list-style-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzAiIHdpZHRoPSIzMiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMxYTFhMTh9LmNscy0ye2ZpbGw6I2ZmZn08L3N0eWxlPjwvZGVmcz48ZyB0cmFuc2Zvcm09InNjYWxlKC4xKSIgaWQ9IkViZW5lXzIiIGRhdGEtbmFtZT0iRWJlbmUgMiI+PGcgaWQ9IkViZW5lXzEtMiIgZGF0YS1uYW1lPSJFYmVuZSAxIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMDQuNDUgMTgyLjYxYTIxLjE5IDIxLjE5IDAgMSAxIDYuMjEtMTUgMjEuMTggMjEuMTggMCAwIDEtNi4yMSAxNW0yLjcxLTMyLjY4YTI1IDI1IDAgMSAwIDUuNDMgOC4xMiAyNS4wOSAyNS4wOSAwIDAgMC01LjQzLTguMTIiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zMTYgMTYuN2ExLjc1IDEuNzUgMCAwIDEtLjk0LjIzaC0yMy42M3YtMy41OEgzMTVhMS43OSAxLjc5IDAgMCAxIDEgMy4zNW0tMzIuMjEtMTBhOS4xIDkuMSAwIDAgMC0xLjgtLjMxSDI1OC41M2E3LjkzIDcuOTMgMCAwIDEgNC0yLjM1IDExLjA3IDExLjA3IDAgMCAxIDIuODYtLjJoMTQuNzhhNy43NiA3Ljc2IDAgMCAxIDEuMzIuMiA4IDggMCAwIDEgNC40IDIuODQgOC4xMyA4LjEzIDAgMCAxIC44NiAxLjM3IDguNjEgOC42MSAwIDAgMC0zLTEuNTRtMi4xMSAxNi43MmE3Ljk0IDcuOTQgMCAwIDEtNC40MyAyLjggMTEuMTkgMTEuMTkgMCAwIDEtMi44Ni4yaC0xNC43NmE3LjI2IDcuMjYgMCAwIDEtMS4zMi0uMiA3LjkyIDcuOTIgMCAwIDEtNC0yLjMzaDIyLjM5YTExLjUxIDExLjUxIDAgMCAwIDEuNjktLjA5IDguNjQgOC42NCAwIDAgMCAxLjc4LS40NCA4LjU0IDguNTQgMCAwIDAgMi40Mi0xLjM3IDcuMzEgNy4zMSAwIDAgMS0uODkgMS40bS0yOS40Ny01di02LjYyYTggOCAwIDAgMSAuMTYtMS41NmgyMy44M2E3LjQ3IDcuNDcgMCAwIDEgMi4zMi4xOCA0LjkyIDQuOTIgMCAwIDEgLjM1IDkuMzYgNC44NiA0Ljg2IDAgMCAxLTEgLjI1IDcuMzcgNy4zNyAwIDAgMS0xLjE3IDBoLTI0LjMzYTggOCAwIDAgMS0uMTYtMS42Nm0tMy43MSAxLjY2aC00Ny40OGwtNC45LTkuODRoNTIuMzhhMTEuOTQgMTEuOTQgMCAwIDAtLjEyIDEuNTZ2Ni42N2ExMS42IDExLjYgMCAwIDAgLjExIDEuNjZtLTg3LjkxIDI1Ljc3YTM3LjExIDM3LjExIDAgMCAwLTE4LjQ0LTEwLjk0Yy0uODEtLjItMS42NC0uMzctMi40Ny0uNTFsNTEuNDUtMjUuNjFMMjA0IDI2LjI4Wm0zMC41NyAxMzIuOTVhMjkuNSAyOS41IDAgMCAxLS4zMSAzLjUxIDIxLjM0IDIxLjM0IDAgMCAxLTUuODQgMTIuMjcgMjAuODUgMjAuODUgMCAwIDEtMTIuNDUgNS40NCAzNC4xOCAzNC4xOCAwIDAgMS0zLjU2LjIzaC01NC42di02LjA2Yy4yNC0uMjYuNDYtLjUzLjctLjhoNDVjMS4xIDAgMi4zMSAwIDMuNDktLjA4YTI5IDI5IDAgMCAwIDMuNTctLjQzIDIzLjA5IDIzLjA5IDAgMCAwIDYuOTItMi40MSAxOC42OSAxOC42OSAwIDAgMCA1LjczLTQuODUgMjEuMDYgMjEuMDYgMCAwIDAgMy40My02LjUyIDI2Ljg0IDI2Ljg0IDAgMCAwIDEuMjktNy4xM1YzOC4ybDYuNjItMy4yOXYxNDMuODdtLTc3Ljg2IDEwLjc1aC0uMzd2LjQ3YTM2Ljc4IDM2Ljc4IDAgMCAxLTIuNSAyLjc5IDM2LjUgMzYuNSAwIDEgMSAyLjg3LTMuMjZNNjQuMTUgMjYzLjJ2LTY1LjM4YTM5LjMyIDM5LjMyIDAgMCAwIDUwLjYxIDB2NjUuMzhINjQuMTVabTY1IDMuODNhMzAuNzEgMzAuNzEgMCAwIDEgMzAuMzUgMjUuNzFjLjEzLjc5LjIzIDEuNTguMyAyLjM4bC4wNS43NUgxOS4wOHYtLjM3bC4wNS0uNmEzMC43NyAzMC43NyAwIDAgMSAyOC40NC0yNy44Yy44My0uMSAxLjYxLS4xIDIuNDMtLjFoNzkuMTNaTTUwLjA5IDE2Ni40NmE2MC40MSA2MC40MSAwIDAgMS0yNC45LTEwNC44NUEzNi41MiAzNi41MiAwIDAgMCAyNCA3MC44NmEzNyAzNyAwIDAgMCAyOC4xNyAzNiAzNy40MSAzNy40MSAwIDAgMCA2LjA3IDFjMSAuMDggMi4wNi4xIDMuMDYuMWg3NS44OGMxIDAgMiAwIDMuMDYtLjFhMzcuNDIgMzcuNDIgMCAwIDAgNi4wNy0xIDM1LjM4IDM1LjM4IDAgMCAwIDQuNTMtMS40M3Y2MC4zMWgtMjIuMDNhMzkuMzkgMzkuMzkgMCAwIDAtNzguNzMuNzVtMTM0Ljc5IDUuMzFhMjAuMTggMjAuMTggMCAwIDEtMy44NyAxMS40MyAxNC44MyAxNC44MyAwIDAgMS00LjUzIDMuODUgMTguOTIgMTguOTIgMCAwIDEtNS43NiAyIDI2IDI2IDAgMCAxLTMuMTIuMzljLTEuMDUuMDctMi4wOS4wNy0zLjI0LjA2aC00Mi4xYTM5LjE2IDM5LjE2IDAgMCAwIDYuNTktMjBoMjUuODh2LTY1Ljg3YTM3IDM3IDAgMCAwIDEyLjU4LTU0LjhsMTcuNi04Ljc2djEzMS42N1ptLTE1MC0xMjEuNGEzMy4xNiAzMy4xNiAwIDAgMSAyMy42OC0xMi42NmMuOTItLjA3IDEuODMtLjA5IDIuNzctLjFoNzUuODljLjk1IDAgMS44NSAwIDIuNzcuMWEzMy4yMiAzMy4yMiAwIDAgMSA1LjQ0IDY1LjM4IDM0IDM0IDAgMCAxLTUuNDIuODhjLS45Mi4wNy0xLjgyLjA5LTIuNzcuMDloLTc1LjljLTEgMC0xLjg1IDAtMi43Ny0uMDlhMzMuOTQgMzMuOTQgMCAwIDEtNS40NC0uODcgMzMuMjMgMzMuMjMgMCAwIDEtMTguMi01Mi43NG0yODIuOTQtNDAuMTVhNS42NSA1LjY1IDAgMCAwLTIuODYtLjcyaC0yMy44YTExLjc2IDExLjc2IDAgMCAwLTguNzgtOS4xOSAxMS44OSAxMS44OSAwIDAgMC0yLS4zaC0xNi43NmExMi4yIDEyLjIgMCAwIDAtMiAuMjggMTEuNzQgMTEuNzQgMCAwIDAtNi41NiA0LjE0IDExLjI0IDExLjI0IDAgMCAwLTEuMjUgMS45NGgtNTUuNDRMMTk3IDMuNjRsLTYwLjUxIDMwLjEzSDYxLjMzYy0xIDAtMiAwLTMuMDYuMUEzNyAzNyAwIDAgMCAzMS45MSA0OGEzNi4yMiAzNi4yMiAwIDAgMC00LjQzIDcuMjNsLS4xMS0uMTVhNjQuMjYgNjQuMjYgMCAwIDAgMjIuOCAxMTUuMzIgMzkuMTQgMzkuMTQgMCAwIDAgMTAuMTYgMjMuNzV2NjlINTBjLS44OCAwLTEuNzkgMC0yLjY4LjA5YTM0LjU0IDM0LjU0IDAgMCAwLTMyIDMxLjI2bC0uMDYuNjctLjA1LjkxYzAgLjg0IDAgMS42OC0uMDUgMi41M3YuOTRjMCAuMDguMDUuMDYuMS4wNmgxNDguNDFjLjA3IDAgLjA5IDAgLjA4LS4wOHYtNC43OWMtLjA3LS45LS4xOS0xLjc5LS4zNC0yLjY4YTMzLjg0IDMzLjg0IDAgMCAwLTEuMjktNS4yNCAzNC42MSAzNC42MSAwIDAgMC0zMi44My0yMy42N2gtMTAuN1YyMDRoNTQuNjVhMzkuNDUgMzkuNDUgMCAwIDAgNC0uMjUgMjguNzEgMjguNzEgMCAwIDAgNy44LTIgMjEuODEgMjEuODEgMCAwIDAgNi44Ni00LjUgMjIuNDYgMjIuNDYgMCAwIDAgNC43LTYuNzEgMjguNDcgMjguNDcgMCAwIDAgMi4yNy03LjczIDMyLjI2IDMyLjI2IDAgMCAwIC4zNC00VjE3Ny4xNWMwLS4wNiAwIDAgMCAwVjMzbDEwLTUtMi4wNS00LjEyaDQ2Ljc0YTEwLjcgMTAuNyAwIDAgMCAxLjE4IDEuODUgMTEuNzggMTEuNzggMCAwIDAgNi41MiA0LjIxIDExLjUgMTEuNSAwIDAgMCAyIC4yOWgxNi44NWExMS41NCAxMS41NCAwIDAgMCAyLS4yOCAxMS43NiAxMS43NiAwIDAgMCA4Ljg5LTkuMjFIMzE1YTUuNjIgNS42MiAwIDAgMCAyLjgyLTEwLjUyIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNjcuOTQgOTYuMjZBMjQuNzYgMjQuNzYgMCAxIDEgOTIuNyA3MS40OWEyNC43NiAyNC43NiAwIDAgMS0yNC43NiAyNC43NyIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTQxLjQyIDcxLjVBMjYuNTEgMjYuNTEgMCAwIDEgNjcuOTQgNDVhMjYuNTEgMjYuNTEgMCAwIDEgMjYuNTEgMjYuNUEyNi41MSAyNi41MSAwIDAgMSA2Ny45NCA5OHYtMy41YTIzIDIzIDAgMCAwIDIzLTIzIDIzIDIzIDAgMCAwLTIzLTIzIDIzIDIzIDAgMCAwLTIzIDIzIDIzIDIzIDAgMCAwIDIzIDIzVjk4YTI2LjUxIDI2LjUxIDAgMCAxLTI2LjUyLTI2LjVaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjEgNjQuNTlhOS43NiA5Ljc2IDAgMSAxLTIuODYgNi45IDkuNzggOS43OCAwIDAgMSAyLjg2LTYuOU02Ny45NCA4NWExMy41IDEzLjUgMCAxIDAtOS41NS00IDEzLjQ4IDEzLjQ4IDAgMCAwIDkuNTUgNCIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTY3Ljk0IDc3LjY4YTYuMjkgNi4yOSAwIDAgMCAxLjY2LTEyLjM2djdoLTMuMzJ2LTdhNi4yOSA2LjI5IDAgMCAwIDEuNjYgMTIuMzYiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMzAuNyA5Ni4yNmEyNC43NiAyNC43NiAwIDEgMSAyNC43Ni0yNC43NiAyNC43NiAyNC43NiAwIDAgMS0yNC43NiAyNC43NiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEwNC4xOSA3MS40OUEyNi41MSAyNi41MSAwIDAgMSAxMzAuNyA0NWEyNi41MSAyNi41MSAwIDAgMSAyNi41MSAyNi41MUEyNi41MSAyNi41MSAwIDAgMSAxMzAuNyA5OHYtMy41YTIzIDIzIDAgMCAwIDIzLTIzIDIzIDIzIDAgMCAwLTIzLTIzIDIzIDIzIDAgMCAwLTIzIDIzIDIzIDIzIDAgMCAwIDIzIDIzVjk4YTI2LjUyIDI2LjUyIDAgMCAxLTI2LjUyLTI2LjUyWiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEyMy44IDY0LjU5YTkuNzcgOS43NyAwIDEgMS0yLjg2IDYuOSA5Ljc4IDkuNzggMCAwIDEgMi44Ni02LjlNMTMwLjcgODVhMTMuNSAxMy41IDAgMSAwLTkuNTUtNCAxMy40NyAxMy40NyAwIDAgMCA5LjU1IDQiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMzAuNyA3Ny42OGE2LjI5IDYuMjkgMCAwIDAgMS42Ni0xMi4zNnY3SDEyOXYtN2E2LjI5IDYuMjkgMCAwIDAgMS42NiAxMi4zNiIvPjwvZz48L2c+PC9zdmc+)}#tutorialContent ul{list-style-image:none}#tutorialContent a{color:#f29400;font-weight:700;text-decoration:none}.quiz.continue,div#helpDiv{margin-top:24px}.quiz.continue{border-top:1px solid #eee;padding-top:10px;text-align:right}.quiz.footer,p.quiz{margin-top:16px}.quiz.footer>.btn.right{margin-left:16px}.quiz.answer{cursor:pointer;display:block;margin-top:16px;padding-left:34px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.quiz.answer input{cursor:pointer;opacity:0;position:absolute}.checkmark{background-color:#eee;border-radius:2px;height:25px;left:2px;position:absolute;top:2px;width:25px}.quiz.answer input:checked~.checkmark,.quiz.answer:hover input~.checkmark{background-color:#ccc}.quiz.answer>.checkmark:after{content:"";display:none;position:absolute}.quiz.answer input:checked~.checkmark:after{display:block}.quiz.answer>.checkmark:after{border:solid #fff;border-width:0 3px 3px 0;height:14px;left:10px;top:5px;transform:rotate(45deg);width:6px}label.quiz.answer{border-radius:4px;padding:6px 10px 6px 36px}label.quiz.answer.correct{background-color:#c7d92b;border:2px solid #c7d92b;padding:4px 8px 4px 34px}label.quiz.answer.fail{border:2px solid #e2001a;padding:4px 8px 4px 34px}#welcomeHaribo{z-index:9999}#welcomeHaribo .modal-dialog{width:40vw}#simModal .fixed-table-header{background-color:#898989;color:#fff}#simModal .fixed-table-header table{color:#fff}.lds-ellipsis{display:inline-block;height:100px;position:relative;width:64px}.lds-ellipsis div{animation-timing-function:cubic-bezier(0,1,1,0);background:#333;border-radius:50%;height:11px;position:absolute;top:27px;width:11px}.lds-ellipsis div:first-child{animation:lds-ellipsis1 .6s infinite;left:6px}.lds-ellipsis div:nth-child(2){animation:lds-ellipsis2 .6s infinite;left:6px}.lds-ellipsis div:nth-child(3){animation:lds-ellipsis2 .6s infinite;left:26px}.lds-ellipsis div:nth-child(4){animation:lds-ellipsis3 .6s infinite;left:45px}@keyframes lds-ellipsis1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes lds-ellipsis3{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes lds-ellipsis2{0%{transform:translate(0)}to{transform:translate(19px)}}#simModal .fixed-table-header{background-color:#b3bfb8}td[lkey="Blockly.Msg.POPUP_DOWNLOAD_STEP_A_SENSEBOX"]{padding-bottom:2.5em}#flaskEditor{height:100%}#sourceCodeEditor pre{background-color:transparent;border:0 solid #ccc;border-radius:0;color:#000;font-family:Roboto,sans-serif;line-height:18px;padding:0;position:absolute;top:0}#sourceCodeEditor .codeflask{height:calc(100% - 80px);height:-webkit-calc(100% - 80px);position:relative}#sourceCodeEditor textarea{color:transparent;font-size:13px;top:0;z-index:5}#codeDiv pre,#sourceCodeEditor textarea{line-height:18px;padding:0;position:absolute}#codeDiv pre{background-color:transparent;background-image:linear-gradient(transparent 50%,#f7f7f7 0);background-repeat:repeat;background-size:100% 2.77em;border:0 solid #ccc;border-radius:0;color:#000;font-family:Roboto,sans-serif;margin-top:0;width:100%}#sourceCodeEditor .codeflask__flatten{line-height:18px;padding-top:0!important}#codeDiv textarea{color:hsla(0,0%,100%,0)!important;height:calc(100% - 82px);line-height:18px;margin-top:0;padding:0;position:absolute;z-index:8}#codeDiv .codeflask__flatten{background-color:#fff0;line-height:18px;padding-top:0!important}#codeDiv .codeflask__lines,.codeflask__lines{background-color:#eee;z-index:5!important}.codeflask__lines{padding-top:0!important}.codeflask__lines__line{color:#333;line-height:18px!important}.codeflask--has-line-numbers:before{z-index:4!important}pre code{white-space:inherit}#confirm,#confirmCancel{text-transform:capitalize}.blinking{animation:blinkingBackground 1.2s infinite}.blinking>span{animation:blinkingForeground 1.2s infinite}@keyframes blinkingBackground{0%{background-color:#e2001a;border-bottom:4px solid #e2001a}49%{background-color:#e2001a;border-bottom:4px solid #e2001a}60%{background-color:transparent;border-bottom:4px solid transparent}99%{background-color:transparent;border-bottom:4px solid transparent}to{background-color:#e2001a;border-bottom:4px solid #e2001a}}@keyframes blinkingForeground{0%{color:#fff}49%{color:#fff}60%{color:#333}99%{color:#333}to{color:#fff}}#blocklyDiv.debug path.blocklyPath{fill-opacity:.3}#blocklyDiv.debug path.blocklyPath.selectedBreakpoint{stroke-opacity:1;stroke:purple;stroke-width:2px;transition:none}#blocklyDiv.debug path.blocklyPath.breakpoint{stroke-opacity:1;stroke:red;stroke-width:2px;transition:none}.badge-primary{background-color:#f29400}#releaseInfo{background-color:#fbde00;border:1px solid #d8d8d8;bottom:60px;left:70%;padding:16px;position:fixed;right:8px;z-index:2999}#releaseInfo>span{display:inline-block!important;padding-right:16px;vertical-align:middle}#releaseInfo>.no-button{position:absolute;right:0;top:0}@media (max-width:60em),(max-width:800px){#releaseInfo{left:40%}}.port{cursor:default!important}#valuesContent .panel-heading{background-color:#ddd}#valuesContent .panel-group{margin:20px 0 0}.panel-title>a:before{background-image:url('data:image/svg+xml;charset=utf-8,');position:relative}.panel-title>a.collapsed:before,.panel-title>a:before{background-size:10px;content:"";display:inline-block;height:10px;margin:0 4px;width:10px}.panel-title>a.collapsed:before{background-image:url('data:image/svg+xml;charset=utf-8,')}.panel-title>a{color:inherit;display:inline-block;height:100%;line-height:1.5;text-decoration:none;width:100%}#accordion .panel-body{border:none;max-height:50vh;overflow:auto}input,textarea{border:1px solid #e9ecef;box-sizing:border-box;margin:0;outline:none;padding:10px}input[type=button]{-webkit-appearance:button;cursor:pointer}.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none}.input-group{clear:both;position:relative}.input-group input[type=button]{background-color:#ddd;transition:all .3s ease}.input-group .button-minus,.input-group .button-plus{font-weight:700;height:32px;padding:0;width:32px}.input-group .quantity-field{display:inline-block;font-size:14px;height:32px;position:relative;resize:vertical;text-align:center;width:32px}input[type=number]{-moz-appearance:textfield}#nn,#nn-learn{height:100%;width:100%}#nn .nn-middle-size{font-size:20px}#nn .nn-bold,#nn-learn .nn-bold{font-weight:700}#nn .nn-large-size{font-size:28px}#nn-epoch-num{width:80px}#nn-top-controls{-webkit-justify-content:space-around}#nn-learn-top-controls,#nn-top-controls{background:#fff;border-bottom:1px solid #ddd;box-shadow:0 1px 4px rgba(0,0,0,.08);display:flex;padding:16px 0;width:100%}#nn-learn-top-controls{justify-content:space-between}#nn-learn-top-controls .nn-control,#nn-top-controls .nn-control{flex-grow:0;margin-left:10px;margin-top:6px}#nn-show-math-all.nn-control{flex:0 0 15%;margin-right:10px}#nn-learn-show-iteration-all.nn-control,#nn-show-iteration-all.nn-control,#nn-show-next-neuron-all.nn-control{align-items:stretch;display:flex;flex-direction:column;justify-content:space-evenly;margin:0 10px}#nn-learn-show-activation{padding:8px;width:100px}#nn-top-controls .nn-control .label{color:#777;display:block;font-size:13px;font-weight:300;margin-bottom:6px}#nn-top-controls .nn-control .value{font-size:24px;font-weight:300;margin:0}#nn-top-controls .nn-control .select,.nn-input-div{position:relative}.nn-input-div{height:36px}#goto-sim,#learn-goto-sim{background-color:#fff;bottom:10px;box-shadow:0 2px 5px rgba(0,0,0,.2);color:#333;font-size:36px;margin:0;max-width:48px;min-height:48px;min-width:48px;padding:2px 0 0;position:absolute;right:10px;z-index:9999}#goto-sim:hover,#learn-goto-sim:hover{background-color:#bacc1e}.nn-selection{background-color:#23b6ac;border:none;color:#fff}#nn-show-math,.nn-selection{border-radius:2px;min-height:36px;padding:6px}#nn-show-math{background-color:#f0f0f0}#nn-learn-show-iteration,#nn-show-iteration,#nn-show-next-neuron{background-color:#fafafa;color:rgba(0,0,0,.6);font-weight:300;text-align:center}#nn-learn-main-part,#nn-main-part{display:flex;justify-content:space-between;margin-bottom:50px;margin-top:30px;padding-top:2px;position:relative}#nn-learn-main-part .output .mdl-checkbox__label.label,#nn-main-part .output .mdl-checkbox__label.label{line-height:1.7em}#nn-features,#nn-learn-features{position:relative;width:10%}#nn-features .nn-plus-minus-neurons{height:44px;line-height:28px;position:absolute;top:-58px;width:120px}.nn-modal-content{background-color:#fff;border:1px solid}.nn-popup-modal{bottom:0;display:none;left:50%;max-width:90%;position:fixed;transform:translate(-50%);z-index:1}.nn-modal-dialog{width:auto}button.nn-btn{background-color:#23b6ac;border:none;border-radius:2px;color:#fff;font-size:20px;height:36px;margin-right:inherit;padding:0;width:36px}.nn-btn.nn-top-control-button{height:27px;width:27px}.nn-btn.nn-cancel{background-color:#cd5c5c}.nn-btn.nn-cancel:hover{background-color:#e8c0c0}#nn-features .nn-plus-minus-neuron-button.active-input{background-color:#bacc1e;box-shadow:inset 0 0 2px 2px #000}#nn-features .nn-plus-minus-neuron-button.active-hidden{background-color:#c7b7b7;box-shadow:inset 0 0 2px 2px #000}#nn-features .nn-plus-minus-neuron-button.active-output{background-color:#f29400;box-shadow:inset 0 0 2px 2px #000}#nn-test-data-upload,#nn-training-data-upload{display:none}.nn-table-input{width:100px}.nn-user-input-table-header{display:inline-block;width:100%}.nn-input-background-color{background:#8fa40266}.nn-output-background-color{background:#f2940066}button.nn-btn:hover{background-color:#ade7e4}.nn-selection option{background-color:#fff;color:#333}#nn-top-controls .nn-num-layers-group{font-weight:700}#nn-features .nn-plus-minus-neurons .nn-plus-minus-neuron-button{margin-right:4px}#nn-features svg .main-label,#nn-learn-features svg .main-label{fill:#333;font-size:13px;font-weight:300}#nn-features .nn-showval,#nn-learn-features .nn-showval{text-anchor:start;cursor:pointer;display:block;font-size:16px;font-weight:700}#nn-features svg #markerArrow,#nn-learn-features svg #markerArrow{fill:#000;stroke:#000;stroke-opacity:.2}#nn-features .node_input rect,#nn-learn-features .node_input rect{fill:#8fa402;cursor:default}#nn-features .node_hidden rect,#nn-learn-features .node_hidden rect{fill:#d3d3d3;cursor:default}#nn-features .node_output rect,#nn-learn-features .node_output rect{fill:#f29400;cursor:default}#nn-features .core .link,#nn-learn-features .core .link{stroke-dasharray:9 1;stroke-dashoffset:1}#nn-features .core .nn-weight-click{stroke-width:14;stroke:#000;fill:none;cursor:pointer;opacity:0}.nn-input{border:2px solid #23b6ac;height:100%;position:relative;top:-4px;width:6em}#nn-learn-features .core .nn-weight-click{stroke-width:14;stroke:#000;fill:none;cursor:pointer;opacity:0}#nn-features .core .nn-weight-show-click,#nn-learn-features .core .nn-weight-show-click{stroke-width:14;stroke:gray;fill:none;cursor:pointer;opacity:.3}.nn-bias-click{cursor:pointer}#nn-features .canvas canvas,#nn-learn-features .canvas canvas{border:2px solid #000;border-radius:3px;box-shadow:0 2px 5px rgba(0,0,0,.2);left:-2px;position:absolute;top:-2px}#nn-network{left:0;position:absolute;top:50px}#nn-editCard{background:#fff;border:1px solid #aaa;border-radius:5px;cursor:default;display:none;left:240px;padding:5px;position:absolute;z-index:10}#nn-learn-training-bias-linechart,#nn-learn-training-weight-linechart{height:65px;width:200px}#nn-learn-training-bias-linechart,#nn-learn-training-weight-linechart,#nn-nameCard{background:#fff;border:1px solid #aaa;cursor:default;display:none;position:absolute;z-index:10}#nn-nameCard{border-radius:5px;left:240px;padding:5px}#nn-name-message{background:#fff;border:12px 4px 4px;color:#333}#nn-table-user-input input{width:100px}.nn-type-button{position:relative;top:5px}.nn-btn.nn-finish-button{left:-4px;position:relative}.nn-metrics{align-content:center;display:flex;flex-basis:25%;flex-wrap:nowrap;font-weight:300;height:60px;justify-content:space-evenly;margin-right:10px;position:relative}#nn-learn-training-loss-linechart{border:1px solid #333;flex:0 0 40%;height:100%;max-width:200px}.nn-output-stats{padding:10px}#nn-random-values-from-to{height:36px;position:relative}#nn-random-values-from-to>input{width:50px}#nn-random-values-from-to>span{position:relative;top:-4px}#nn-random-values-from-to>.nn-random-values-finished-button{padding-left:5px;position:relative;top:0}.nn-output-stats .value{color:rgba(0,0,0,.6);font-weight:300;text-align:center}.nn-type{style:"font-size: 14px";height:40px}canvas{display:block}.link{fill:none;stroke:#aaa;stroke-width:1}g.column rect{stroke:none}#downloadType{padding:8px 20px 20px;text-align:center}.downloadType{border:1px solid #bacc1e;border-radius:2px;cursor:pointer;font-size:18px;margin:12px;padding:12px;text-align:center;text-decoration:none;width:100%}#progressBar{height:10px;width:0}#progressBar,.downloadType:hover{background-color:#bacc1e}/*# sourceMappingURL=roberta.css.map */
+:active,:focus,:hover,:visited,a:focus{outline:0;outline:none}ol,ul{margin:0}dl.grid{display:grid;grid-template-columns:1fr 100%}dd{margin:0;padding-left:1em}dl.grid dd{margin-bottom:1em}dl.grid dt{min-width:140px}@font-face{font-family:Roboto;src:url(fonts/Roboto-Regular.ttf) format("truetype")}@font-face{font-family:Roboto;font-style:italic;src:url(fonts/Roboto-Italic.ttf) format("truetype")}@font-face{font-family:Roboto;font-weight:700;src:url(fonts/Roboto-Bold.ttf) format("truetype")}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:url(fonts/Roboto-BoldItalic.ttf) format("truetype")}body,html{display:flex;font-family:Roboto,sans-serif;font-size:1em;height:100%;margin:0;padding:0;width:100%}.pace{animation:pace-theme-center-circle-spin 2s linear infinite;background-color:transparent!important;background-image:url(../css/img/Nepo_N.png);background-repeat:no-repeat;background-size:cover;bottom:0;color:transparent;font-size:2rem;font-weight:100;height:12rem;left:0;line-height:12rem;margin:auto;pointer-events:none;position:fixed;right:0;text-align:center;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:12rem;z-index:3000}@keyframes pace-theme-center-circle-spin{0%{transform:perspective(12rem) rotateY(0deg)}to{transform:perspective(12rem) rotateY(1turn)}}body.blocklyMinimalBody *{opacity:1!important;overflow:hidden;transform:none}#header{background-color:#fff;border:0;margin:0}#header>.navbar{padding-bottom:0}.navbar-toggler{border:none;padding:12px}.navbar-toggler:focus{box-shadow:none}.nav-item:hover,button#navbarButtonsHead:hover{background-color:#bacc1e;border:0;border-radius:2px}#head-navigation-tabs>li>a.active{border-bottom:4px solid #bacc1e}.blocklyToolboxDiv{top:0!important}#iconDisplayLogin,#iconDisplayRobotState{cursor:pointer;float:left;font-size:24px;height:24px;margin:0 6px;width:24px}.robertaLogo{background:url(../css/svg/logo-word.svg) no-repeat}.fraunhoferLogo{background:url(../css/img/iais_logo.gif) no-repeat}.googleLogo{background:url(../css/svg/Google_logo.svg) no-repeat;background-size:contain}.NRWMinLogo{background:url(../css/img/AK_Schule.png) no-repeat;background-size:contain}.imgFloatLeft{float:left;height:65px;margin:4px 16px 0 0;padding:0;width:210px}#language.nav>li>a{color:#333;margin:6px;padding:0}#language.nav>li>a:focus,#language.nav>li>a:hover{background-color:#fff}#logoShowStart img{display:block;height:60px;margin:18px;width:146px}.invisible{visibility:hidden}.hidden{display:none}.img-beta,.img-deprecated{left:10px;position:absolute;top:-5px;transform:rotate(-10deg);width:auto;z-index:5}.new{background-color:#fdc300;border-radius:5px 0;font-size:14px;left:0;max-width:-moz-fit-content;max-width:fit-content;padding:5px 10px;position:absolute;top:0;z-index:99}.menuTab{font-weight:700;text-transform:uppercase}.navigation-row{margin:0;width:100%}.scroller{background-color:#fff;cursor:pointer;float:left;font-size:24px;margin:0;padding:8px 2px 0 28px}#main-section{background:#e9ecef;bottom:0;left:0;margin:0;overflow:hidden;padding:0;position:absolute;right:0;top:96px}#headNavigation.show{max-height:335px;overflow-y:auto}.navbar-nav ul{max-height:calc(100vh - 100px);overflow:hidden;overflow-y:auto}.btn-default{background-color:#fff;border-color:#ccc;color:#333;margin-right:2px}.btn-default:hover{background-color:#ddd;border-color:#ccc}#blocklyDiv,#bricklyDiv{background-size:100%;height:100%;overflow:hidden;touch-action:none}.log{bottom:50px;margin:16px 68px 32px;overflow:auto;position:fixed;top:152px}.canvasSim{left:0;position:absolute;top:0}canvas.border{border:2px solid grey}#webotsDiv{height:100%}#canvasDiv,#webotsDiv{left:0;position:absolute;top:0;width:100%;z-index:1}#sliderDiv{cursor:col-resize;width:20px;z-index:11}#sliderBorder{background-color:silver;width:6px;z-index:8}.codeActive>pre{word-wrap:inherit;height:100%;width:100%}.fromRight{background-color:#d8d8d8;display:none;float:right;height:100%;position:relative;user-select:none;-webkit-user-select:none;-moz-user-select:none;width:0;z-index:10}#infoDiv.fromRight{background-color:#eee}.fromRight.rightActive{display:block;height:100%;overflow:hidden}#codeContainer{height:100%;overflow-y:auto}#codeContent{background-color:#eee;overflow-y:auto;padding-bottom:60px;padding-top:12px}#infoContent{background-color:#fff;border:10px solid #eee;border-top:none;height:inherit;overflow:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text;width:inherit}#infoContent[data-placeholder]:before{color:#555;padding:0 12px}#infoToolbar{border:10px solid #eee}#legalDiv{background-color:#fff;overflow-y:scroll;padding-top:1.5rem}#legalDiv>:not(#legalDivHeader){-webkit-touch-callout:default;padding:1rem;-webkit-user-select:text;-moz-user-select:text;user-select:text}#legalDiv>#legalDivHeader{font-size:1.25em;text-align:center}#legalDiv>#legalDivHeader>a{padding:0 1rem}#helpDiv ul{display:table;list-style-type:none}#helpDiv li{display:table-row}#helpDiv li:before{display:table-cell;padding-right:6px}#helpContent{-webkit-touch-callout:none;background-color:#fff;height:100%;overflow-y:auto;padding:10px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}#helpContent h2,#helpContent h3{border-top:1px solid #f29400;padding-left:10px;padding-top:25px}#helpContent h4,#helpContent p{margin-left:8px;margin-right:12px}#helpContent h4{margin-top:18px}.selectedHelp{background-color:#f0f0f0}#rightMenuDiv{position:absolute;right:0;top:32px;z-index:9}#mbedContent,#valuesContent{background-color:#fff;border:2px solid #33b8ca;border-radius:2px;display:inline-block;padding:12px 14px 12px 12px}#valuesContent{min-width:330px;overflow-y:auto}.customDropdown{background-color:#fff;border:1px solid #333;border-radius:2px}.rightMenuButton{background:silver;border-radius:2px;height:40px;margin-bottom:6px;position:relative;width:40px;z-index:12}.rightMenuButton:before{border-bottom:5px solid transparent;border-right:6px solid #333;border-top:5px solid transparent;content:"";height:0;position:absolute;right:100%;top:14px;width:0}.rightMenuButton.rightActive{color:#e2001a}.rightMenuButton.rightActive:before{border-bottom:5px solid transparent;border-left:6px solid #333;border-top:5px solid transparent;right:-6px}.rightMenuButton:active,div.rightMenuButton:hover{cursor:pointer}.rightMenuButton>.typcn{font-size:24px;left:7px;position:relative;top:8px}#infoButton.notEmpty,#tutorialButton.rightMenuButton{background-color:#bacc1e}#infoButton.notEmpty:before,#tutorialButton.rightMenuButton:before{border-right:6px solid #bacc1e}.menu-icons{border:0;color:#fff;font-size:24px;line-height:24px;margin:0}#toastContainer{left:50%;position:absolute;top:0}#toastLeftContainer{left:-50%;margin:0;padding:0;position:relative;top:0}#toastLeftContainer span{background-color:#fff;color:#333;font-size:16px;padding:8px;white-space:nowrap;z-index:9999}#show-startup-message{z-index:1039}#show-startup-message #popup-robot-container{margin-left:100px;margin-right:100px}#show-startup-message .popup-robot{background-color:#fff;color:#333}#show-startup-message .popup-robot.robotSpecial{background-color:transparent;color:#000}#slick-container{background:#33b8ca}.slick-list{padding-bottom:12px!important;padding-top:12px!important}.slick-dots{bottom:inherit;top:160px}#show-startup-message .slick-slide{opacity:1;transform:scale(1);transition:all .3s ease-in-out}#show-startup-message .slick-slide.slick-center{transform:scale(1.2)}#show-startup-message .slick-prev{left:-100px;top:45%}#show-startup-message .slick-next{right:-100px;top:45%}#show-startup-message .slick-next:before,#show-startup-message .slick-prev:before{color:#000;font-size:25px}#show-startup-message .popup-robot a{bottom:20px;color:#000;font-size:25px;position:relative;right:75px}#show-startup-message .popup-robot.robotSpecial a{left:86px;top:20px}#show-startup-message .robot-info{font-size:24px;position:relative}#startPopupBack{bottom:50px;color:#333;font-size:36px;position:relative;text-decoration:none}#show-startup-message .modal-dialog{border:2px solid #33b8ca}.ok,.wait{color:#33b8ca}.error{color:#333}@keyframes blinker{0%{color:#f29400}to{color:#e2001a}}.busy{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:blinker;animation-name:blinker;-webkit-animation-timing-function:cubic-bezier(1,0,0,1);animation-timing-function:cubic-bezier(1,0,0,1)}.menuDisabled{background-color:#fff}.dropdown-toggle.disabled:focus,.dropdown-toggle.disabled:hover{background-color:#fff!important;background-image:none;cursor:default;text-decoration:none}.bottomLeftButtons{bottom:6px;display:flex}#simEditButtons,.bottomLeftButtons{left:12px;position:absolute;z-index:99}#simEditButtons{top:10px}#simEditButtons button span:before{font-size:36px}.simAddMarker span{display:inline-block;font-size:12px;min-width:16px}button#simCustomColorObject span.typcn:before{color:#fbed00}button#simCustomObstacle.typcn:before{color:#009ee3}.huebee__container{background:#e7e7e7;border-radius:2px;box-shadow:none;left:0;padding:24px 10px 10px;position:absolute;top:6px}.huebee__cursor{border:5px solid #fff;border-radius:2px;height:30px;width:30px}.huebee{transition:none}.huebee__close-button{background:none;border-radius:0;display:block;height:24px;position:absolute;right:0;top:0;width:24px}.huebee__close-button__x{stroke-width:2;stroke:#bbb}.huebee__close-button__x:focus,.huebee__close-button__x:hover{stroke:#333}.huebee__close-button:focus,.huebee__close-button:hover{background:#e7e7e7}#codeButtons{background-color:#eee;bottom:0;height:70px;left:12px;padding-top:10px;position:absolute;width:100%;z-index:99}.btn-group-vertical>.btn.simbtn{margin:8px 0}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-bottom:5px}.btn-group.open .dropdown-toggle{box-shadow:none}.tooltip>.tooltip-inner{background-color:#333}.tooltip>.tooltip-arrow{border-right-color:#333}.nav-tabs>li+li{margin:0}#toolboxDiv{-webkit-overflow-scrolling:touch}#toolboxDiv>.nav-tabs{border:0}#toolboxDiv>.nav-tabs li{border:none;text-align:center;width:50%}#toolboxDiv>.blocklyToolboxDiv{position:relative!important}#toolboxDiv>.nav-tabs li>a.active{background-color:#e9ecef;color:#333}#toolboxDiv>.nav-tabs li>a{background-color:silver;border:none;border-radius:0;color:#fff;margin:0;padding:6px 0}.blocklyFlyoutBackground{fill-opacity:.925!important}.head-navi-icons:before{margin-right:2px}.dropdown-menu:not(.editor){border-radius:2px}.dropdown-menu>li>a>span.kbd{bottom:.4em;float:right;font-size:.8em;position:absolute;right:20px}#head-navigation-configuration-edit .dropdown-menu>li>a,#head-navigation-program-edit .dropdown-menu>li>a{padding-right:70px;position:relative}.dropdown-menu>li:not(.disabled)>a:focus,.dropdown-menu>li:not(.disabled)>a:hover{background-color:#bacc1e!important}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#bbb}#tokenValue{text-transform:uppercase}#roberta{background-image:url(/css/img/Roberta_ears_up.png);background-repeat:no-repeat;background-size:contain;bottom:-12px;height:180px;position:absolute;right:-20px;width:160px}#version-info{font-size:24px;font-weight:500;position:absolute;right:60px;top:16px}.cover{background-color:#ddd;height:100%;left:0;position:fixed;top:0;width:100%;z-index:2000}.connector{fill:#bacc1e;margin-top:19px;position:absolute;right:5%;z-index:900}.border-dotted{border-right:1px dashed #afca04}.popupTitel{margin-bottom:10px;margin-top:20px;text-align:center}.popup-checkbox{color:#bbb;font-size:14px;padding:0 0 16px!important}.download-checkbox{color:#bbb;font-size:14px;padding-bottom:16px!important;padding-left:16px!important;width:100%}.download-checkbox input,.popup-checkbox input{margin-bottom:6px;margin-right:6px;position:relative;top:2px}.download-checkbox label,.popup-checkbox label{display:initial;font-weight:400}.download-checkbox ul{list-style:none}#download-instructions{list-style-type:none;margin:32px 16px 0;padding:0}#download-instructions li{font-size:20px;margin-bottom:48px;padding-left:2em;position:relative}#download-instructions .typcn-Roberta:before{left:0;padding-top:4px;position:absolute}#programLink a{color:#337ab7;text-decoration:underline}.clearer{clear:both}.simWindow{display:none;left:50px;position:absolute;top:200px;z-index:99}.simWindow#simValuesWindow button.close{position:absolute;right:14px;top:4px}.simWindow#simRobotWindow button.close{position:absolute;right:16px;top:4px;z-index:99999}#VariablesContent{height:300px;overflow:auto;width:auto}#simValuesContent label{display:inline-block;margin-left:10px;margin-right:6px;width:150px}#simValuesContent div>div{max-height:70vh;white-space:nowrap}#simValuesContent span{display:inline-block;padding:0 6px;width:60px}.bigNumber{color:#8fa402;font-size:large;font-weight:700}.simWindow .modal-dialog{margin:0;min-width:-moz-max-content;min-width:max-content;pointer-events:all;width:-moz-max-content;width:max-content}.simWindow text{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.simWindow div{width:100%}.modal-backdrop.in{opacity:.3}.modal-content{border:0;border-radius:2px}.modal-body{padding:0 16px}.modal-body.left-inner-addon{word-break:break-word}#startup-message-statustext h4{font-weight:500}.modal-footer,.modal-header{border:0;padding:16px 16px 20px;text-align:left}.form-control:focus,.form-select:focus{border:1px solid #afca04;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;-moz-transition:none;-webkit-transition:none}.modal-footer{justify-content:space-between}.with-devider{margin-top:10px}.btn-toolbar.editor{background-color:#eee;padding:10px 0 0}.btn-default.show,.btn-info{background-color:#afca04;border-color:#afca04}.btn.btn-link.btn-user{background-color:transparent;color:var(--bs-btn-color);padding:0;text-decoration:none}.btn.btn-link.btn-user:focus,.btn.btn-link.btn-user:hover,.btn.btn-link.btn-user:hover:focus{background-color:transparent;color:var(--bs-btn-hover-color);text-decoration:underline}.btn{border-radius:2px}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{background-color:#afca04;border-color:#afca04}a.btn.editor{align-items:center;display:flex}.btn .active:not(.editor,.start),.btn .focus:not(.editor,.start),.btn:active:focus:not(.editor,.start),.btn:active:not(.editor,.start),.btn:focus:not(.editor,.start),.btn:hover:not(.editor,.start),.open>.dropdown-toggle .btn:not(.editor,.start){background-color:#c7d92b;box-shadow:none;color:#fff;outline:none}.btn:not(.editor,.galleryLike,.start){background-color:#bacc1e;border:none;border-radius:2px;box-shadow:none;color:#fff;cursor:pointer;font-size:16px;margin-left:0;margin-right:16px}button.editor{background-color:#dedede;border-radius:2px}button.editor:hover{background-color:#eee}.open>.dropdown-toggle.simbtn.btn,.simbtn.btn.active,.simbtn.btn.focus,.simbtn.btn:active,.simbtn.btn:active:focus,.simbtn.btn:focus,.simbtn.btn:hover{background-color:#f29400}#simEditButtons>.typcn-chart-line-outline{fill:#bacc1e}.simKey:hover{cursor:pointer}.fixed-table-toolbar .btn:not(.start){background-color:#bacc1e;border:none;border-radius:2px;box-shadow:none;color:#fff;cursor:pointer;font-size:24px;height:48px;margin-left:0;margin-right:4px;width:48px}.fixed-table-toolbar button.btn:last-child{margin-right:0}.fixed-table-toolbar .btn:hover:not(.start){background-color:#c7d92b}.btn-group.pull-right>.btn:last-child{margin-right:0}table .typcn-chevron-left:before,table .typcn-chevron-right:before,table .typcn-flow-merge:before{display:inline-block;transform:rotate(-90deg)}table:not(#robotTable) [data-bs-toggle=collapse]:after{content:url("data:image/svg+xml;utf8,");float:right}.fixed-table-container thead th .both{background-image:url(../css/svg/arrow-unsorted.svg)}.fixed-table-container thead th .asc{background-image:url(../css/svg/arrow-sorted-up.svg)}.fixed-table-container thead th .desc{background-image:url(../css/svg/arrow-sorted-down.svg)}table:not(#robotTable) [data-bs-toggle=collapse].collapsed:after{transform:rotate(180deg)}.modal-body>.bootstrap-table{margin:0}.blbtn{background-color:#fff;border:1px solid #d8d8d8;border-radius:2px;box-shadow:none;color:#333;cursor:pointer;font-size:0;height:48px;margin-bottom:6px;margin-left:0;margin-right:2px;width:48px}.blbtn:hover{background-color:#bacc1e}.modal-footer .btn+.btn{margin-left:0;margin-right:0}.btn-close{--bs-btn-close-focus-shadow:0}.close:focus,.close:hover{color:#333;opacity:1}#popup-robot-main{visibility:hidden}#popup-robot-main.slick-initialized{visibility:visible}.robot-container{border:1px solid #ddd;border-radius:4px;cursor:pointer;display:inline-grid;height:88px;margin:20px;padding:13px 0;text-align:center;width:140px}.startupImages{margin-top:0;position:relative;top:50%}.robot-label{display:block;line-height:14px}.robot-icon{font-size:40px;position:relative;right:-16px}.typcn.robot-icon:before{margin:0}.bootstrap-tagsinput{border:10px solid #eee;color:#555;-webkit-hyphens:auto;hyphens:auto;overflow-x:auto;padding:4px 6px;white-space:nowrap;width:100%;word-break:break-word}.bootstrap-tagsinput .tag{background-color:#bbb;border-radius:.25em;color:#fff;display:inline;font-size:75%;font-weight:700;line-height:1;margin-right:2px;padding:.2em .6em .3em;text-align:center;vertical-align:baseline;white-space:nowrap}.dropdown-menu .typcn:before{margin-right:6px}#toolboxDiv>.nav-tabs .typcn:before{position:relative;top:1px}.blbtn.typcn:before{font-size:36px;margin-right:0}.bootstrap-table .typcn:before{margin-right:0}.bootstrap-table .no-records-found td{color:#333}.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading{background-color:#e9ecef}.input-typcn:before{font-size:22px;left:-1px;position:relative;top:4px}label.form-invalid{background:#ddd;background:hsla(0,0%,87%,.9);border-radius:2px;color:#e2001a;font-size:16px;font-weight:400;padding:6px;position:relative;width:100%;z-index:10}label.form-invalid:after{border:6px solid transparent;border-top-color:#e2001a;content:" ";height:0;margin-top:28px;pointer-events:none;position:absolute;right:10%;width:0;z-index:20}#div-login-forms .form-group{position:relative}.form-group{width:100%}.form-group .hint{background:#ddd;background:hsla(0,0%,87%,.9);border-radius:2px;color:#333;font-size:16px;margin-top:12px;padding:6px;position:relative;width:100%;z-index:11}.hint:before{border-color:transparent transparent #8fa402;border-style:solid;border-width:0 6px 6px;content:"";height:0;position:absolute;right:75%;top:-6px;width:0}.capitalLetters{text-transform:uppercase}.input-group-addon{background:#fff;border:1px solid #afca04;border-radius:2px;padding:6px 6px 0 10px}.inner-addon{position:relative}.inner-addon .typcn{color:#c7c7c7;font-size:20px;left:0;padding:0 6px;position:absolute}#programShareWith{margin-right:15px}input.shareLabelInput.form-control,select.shareLabelInput.form-control{margin:0}legend{margin-bottom:0}.progName:before{margin-right:0}.bootstrap-table,.table{--bs-table-color:#333}.bootstrap-table:not(#start .bootstrap-table),.table:not(#robotTable){cursor:pointer}.bootstrap-table a{color:#333;margin-left:4px;margin-right:4px;text-decoration:none}.bootstrap-table a.disabled{color:#bbb;pointer-events:none}.bootstrap-table .fixed-table-toolbar .float-left,.bootstrap-table .fixed-table-toolbar .float-right{margin-top:0}.bs-bars.float-left{width:100%}td.bs-checkbox{padding:14px 8px 0!important}.bootstrap-table a:focus,.bootstrap-table a:hover{color:#000;text-decoration:none}.bootstrap-table a>span{padding:0}.galleryTable{position:absolute}.galleryTable tbody{display:flex;flex-wrap:wrap;overflow-x:hidden;overflow-y:auto}.galleryTable tr>td{background-color:transparent}.galleryTable .typcn:before{color:#eee;font-size:80px;left:50%;margin-left:-40px;position:absolute;top:10px}a.bookmark.typcn:before{color:#39378b;font-size:34px;left:40px;opacity:.8;padding:16px;position:relative;top:16px;z-index:30}a.bookmark{border-radius:50%;display:block;height:66px;margin:0;position:absolute;right:0;top:0;width:66px}a.bookmark.typcn:hover:before{font-size:30px;opacity:1;padding:18px;top:18px}#start .nav-link{background:none;border-bottom:.1875rem solid rgba(57,55,139,0);color:rgba(0,0,0,.5);margin-right:1.25rem;padding:0 0 .625rem}#start .nav-link.active{border-bottom:.1875rem solid #39378b;color:#39378b;font-weight:700}#start .nav-link:hover{color:#39378b}#start .dropdown-menu{border-radius:5px}#start .dropdown-toggle.show:after{transform:rotate(180deg)}button.btnFilter.start{background-color:#fff;border:none;border-radius:5px!important;color:#39378b;display:inline-block;font-weight:700;margin-left:6px!important;padding:.9375rem;text-decoration:none}button.btnFilter.start:hover,button.filter.start.show{background:#39378b;color:#fff}#start .fixed-table-toolbar{min-height:74px}#start .galleryTable button.pick.start{border-radius:5px 0;float:right;margin:12px -9px -9px 0;padding:10px 50px 10px 15px}#start .galleryTable button.pick.start,button#more.start{background-color:#39378b;color:#fff;display:inline-block;position:relative;text-decoration:none}button#more.start{border-radius:5px;margin:0 0 20px;padding:10px;width:auto}#start div.start.typcn{position:relative}#start .galleryTable button.pick.start:before{font-size:24px;margin:0;position:absolute;right:0;transform:translate(0);transition-duration:.3s}#start .galleryTable button.pick.start:hover:before{transform:translate(5px);transition-duration:.3s}#start .galleryTable div.start.typcn:hover{background-color:red}#start .fixed-table-body,#start .fixed-table-container.fixed-height{border:none;height:auto!important;margin:0 -1.5em}#start .galleryTable.table{position:relative}#start .galleryTable td{background-color:#fff;border-radius:5px;color:#333}.table-hover>tbody>tr:hover>*{--bs-table-color-state:0;--bs-table-bg-state:0}a.page-link{--bs-pagination-active-bg:#bacc1e;--bs-pagination-active-border-color:#bacc1e}a.page-link:focus,a.page-link:hover{box-shadow:none}.galleryIcon.typcn:before{color:#fff;font-size:24px;font-weight:700;left:40px;position:relative;top:4px}.fixed-table-container.fixed-height.has-card-view{overflow:auto}span.card-view-title{min-width:auto!important}.tutorialIcon.typcn:before{color:#fff;display:inline-block;font-size:24px;left:0;margin-left:0;margin-right:12px;position:relative;top:0;width:1.5em}div.imgSol img,div.imgSol svg{max-width:100%;overflow:hidden}#galleryList .fixed-table-toolbar .pull-left{flex:1}#galleryList .pull-right.search{display:none}.listToolbar{display:flex;justify-content:space-between;position:absolute;top:10px}.filter,.form-control:not(#start .fixed-table-toolbar>.float-right>.form-control){background-color:#fff;border:1px solid #afca04;border-radius:2px;height:48px;padding-bottom:0;padding-top:0}.form-control:not(#start .fixed-table-toolbar>.float-right>.form-control){-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}#start .fixed-table-toolbar>.float-right>.form-control{border-color:#39378b;height:54px;margin-left:6px}.search>label{margin-left:6px;margin-top:12px;max-width:100%;white-space:nowrap}.search.float-right{max-width:calc(100% - 100px)}.cardViewName{font-size:24px;-webkit-hyphens:auto;hyphens:auto;margin-bottom:12px;margin-top:80px;max-height:34px;min-height:34px;overflow:hidden;text-overflow:ellipsis;width:100%;word-break:break-all}.cardViewName,.robotName{font-weight:700;text-align:center}.robotName{font-size:20px;max-height:52px;min-height:52px}.robotImage{cursor:pointer;height:0;padding-bottom:60%;position:relative;width:100%}.robotImage img{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}#start button.accordion-button{padding:6px 12px}#start label.form-check-label{margin-left:12px;margin-top:4px}.button,.button-big,.button-big--arrow,.button-big--primary:after,.button-big--quaternary:after,.button-big--secondary:after,.button-big--tertiary:after,.button-big.icon:after,.transition{transition:all .3s}h1,h2,h3,h4,h5{font-weight:700}h1{margin-bottom:30px}h1,h2{font-size:30px;line-height:40px}h2{margin-bottom:20px}h3{font-size:30px;line-height:40px;margin-bottom:30px}h4,h5{font-size:20px;line-height:30px}.tint{color:#fff;display:inline-block;margin:0 -10px;mix-blend-mode:multiply;padding:10px 20px}.tint--primary{background:#39378b;position:relative;top:5px;transform:rotate(1deg)}.tint--secondary{background:#fdc300;transform:rotate(-1deg)}.tint--tertiary{background:#33b8ca;transform:rotate(-2deg)}.tint--quaternary{background:#88bce2;position:relative;top:-8px;transform:rotate(1deg)}p{font-size:16px;line-height:24px;margin-bottom:15px}p:last-child{margin-bottom:0}p.teaser{font-size:20px;line-height:30px}p.teaser:last-child{margin-bottom:15px}p.teaser+.button{margin-top:20px}a{color:#39378b;text-decoration:underline}@media (hover:hover){a:hover{cursor:pointer;text-decoration:none}}.button-big--arrow,.button-big--primary:after,.button-big--quaternary:after,.button-big--secondary:after,.button-big--tertiary:after,.button-big.icon:after{background-repeat:no-repeat;background-size:contain;bottom:15px;content:"";height:30px;position:absolute;right:20px;width:30px}@media (hover:hover){.button-big--arrow:hover,.button-big--primary:hover:after,.button-big--quaternary:hover:after,.button-big--secondary:hover:after,.button-big--tertiary:hover:after,.button-big.icon:hover:after{right:15px}}.button{border-radius:5px;display:inline-block;font-weight:700;padding:15px;text-decoration:none}.button--light{background:#fff;color:#39378b}.button.show{background:#39378b;color:#fff}@media (hover:hover){.button:hover{background:#39378b;color:#fff}}.button-big{border-radius:5px;color:#000;display:flex;flex-direction:column;height:100%;padding:10px 80px 10px 15px;text-decoration:none}@media (min-width:768px){.button-big{padding:15px 15px 50px}}@media (min-width:992px){.button-big{padding:15px 80px 15px 20px}}.button-big--primary{background:rgba(57,55,139,.1);border:1px solid rgba(57,55,139,.5);position:relative}.button-big--primary:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@media (hover:hover){.button-big--primary:hover{background:rgba(57,55,139,.2);border:1px solid #39378b}}.button-big--primary.icon{background:#39378b}.button-big--secondary{background:rgba(253,195,0,.1);border:1px solid rgba(253,195,0,.5);position:relative}.button-big--secondary:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@media (hover:hover){.button-big--secondary:hover{background:rgba(253,195,0,.2);border:1px solid #fdc300}}.button-big--secondary.icon{background:#fdc300}.button-big--tertiary{background:rgba(51,184,202,.1);border:1px solid rgba(51,184,202,.5);position:relative}.button-big--tertiary:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@media (hover:hover){.button-big--tertiary:hover{background:rgba(51,184,202,.2);border:1px solid #33b8ca}}.button-big--tertiary.icon{background:#33b8ca}.button-big--quaternary{background:rgba(136,188,226,.1);border:1px solid rgba(136,188,226,.5);position:relative}.button-big--quaternary:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@media (hover:hover){.button-big--quaternary:hover{background:rgba(136,188,226,.2);border:1px solid #88bce2}}.button-big--quaternary.icon{background:#88bce2}.button-big.icon{border:none;color:#fff;padding:15px 80px 10px 15px}@media (min-width:992px){.button-big.icon{padding:40px 80px 40px 40px}}.button-big.icon:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@media (hover:hover){.button-big.icon:hover{box-shadow:0 20px 50px rgba(0,0,0,.05)}}.button-big.icon svg{fill:#fff;align-self:flex-start;height:25px;margin-bottom:20px;width:auto}section{width:100%}.section--white{background:#fff}.section--light{background:#e9ecef}#start{background:#fff}#startup-message-statustext{background:#39378b;border-radius:5px;bottom:50px;box-shadow:0 0 20px rgba(0,0,0,.25);color:#fff;max-width:450px;position:absolute;right:50px;width:100%;z-index:999}#startup-message-statustext h4,#startup-message-statustext p{padding:20px}.nepo,.nepo:before{display:inline-block}.nepo:before{background-image:url(img/nepo.svg);background-position:0 100%;background-repeat:no-repeat;background-size:contain;content:"";height:20px;margin-right:5px;width:85px}.teaser-news{background:#e9ecef;border-radius:5px;display:flex;padding:15px}@media (min-width:992px){.teaser-news{padding:40px}}.teaser-news--header{font-size:20px;font-weight:700;line-height:30px;margin-bottom:10px}.teaser-news--body h3{color:#39378b}.teaser-news--image{height:auto;width:100%}#start footer{border-top:1px solid rgba(0,0,0,.2);padding-bottom:96px;width:100%}#start footer img{width:100%}#start footer .nav-link,#start footer p{font-size:14px;line-height:20px;margin-right:0}#start footer .nav-item,#start footer .nav-item:hover{background:none}#start footer .nav-link{color:#6c757d;padding:5px 0}@supports (background:-webkit-named-image(i)){.flexbox-fix{display:flex}}.galleryTable tr,.galleryTable.table{border:.75em solid #e9ecef;border-collapse:collapse}#share-with-gallery .galleryTable tr,#share-with-gallery .galleryTable.table{border-color:#fff}div.galleryLike{bottom:-20px;color:#fff;text-align:center}div.galleryLike a>span{color:#fff}button.galleryLike.btn{border:2px solid #fff;border-radius:2px;color:#fff;opacity:.75}button.galleryLike.btn:active,button.galleryLike.btn:focus,button.galleryLike.btn:focus:active,button.galleryLike.btn:hover{background-color:inherit;font-weight:600;opacity:1}div.cardViewDescription{-webkit-line-clamp:2;margin-bottom:12px;min-height:42px}div.cardViewDescription,div.cardViewInfo{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;position:relative;text-overflow:ellipsis;word-break:break-word}div.cardViewInfo{-webkit-line-clamp:1}div.cardViewLabel{display:inline-block;min-width:30%}.galleryDescription:before,.tutorialOverview:before{bottom:0;content:"...";position:absolute;right:0}.galleryDescription:after,.tutorialOverview:after{content:"";height:2.5em;margin-top:-.3em;position:absolute;right:0;width:1em}.galleryDescription.color0:after,.tutorialOverview.color0:after{background:#33b8ca}.galleryDescription.color1:after,.tutorialOverview.color1:after{background:#ebc300}.galleryDescription.color2:after,.tutorialOverview.color2:after{background:#005a94}.galleryDescription.color3:after,.tutorialOverview.color3:after{background:#179c7d}.galleryDescription.color4:after,.tutorialOverview.color4:after{background:#f29400}.galleryDescription.color5:after,.tutorialOverview.color5:after{background:#e2001a}.galleryDescription.color6:after,.tutorialOverview.color6:after{background:#eb6a0a}.galleryDescription.color7:after,.tutorialOverview.color7:after{background:#8fa402}.galleryDescription.color8:after,.tutorialOverview.color8:after{background:#bacc1e}.galleryDescription.color9:after,.tutorialOverview.color9:after{background:#9085ba}.galleryDescription.color10:after,.tutorialOverview.color10:after{background:#ff69b4}.galleryDescription.color11:after,.tutorialOverview.color11:after{background:#df01d7}.galleryAuthor{height:22px;overflow:hidden;word-break:break-all}.galleryLike.typcn:before{color:#fff;font-size:16px;position:inherit}.galleryTags{background-color:inherit;border:none;box-shadow:none;height:34px;line-height:34px;overflow:hidden;padding:0;text-decoration:none;white-space:normal}.galleryTags input{height:0}.galleryTags>.tag{background-color:#bbb;line-height:34px;white-space:normal}.galleryTable td{border:none!important;color:#fff;position:relative;width:100vw}#galleryPreview tr{width:100%}.dataTables_wrapper{margin:0 68px}#confList table tbody tr.selected,#confList table tbody tr:hover td:not(td:last-child),#progList .fixed-table-container tbody .selected td,#progList table tbody tr.selected,#progList table tbody tr:hover td:not(td:last-child),#relationsList table tbody tr.selected,#relationsList table tbody tr:hover,#userGroupList .fixed-table-container tbody .selected td,#userGroupList table tbody tr.selected,#userGroupList table tr:hover td:not(td:last-child),#userGroupMemberList .fixed-table-container tbody .selected td,#userGroupMemberList table tbody tr.selected{background-color:#bacc1e}a.delete:hover{color:#e2001a}a.gallery:hover,a.load:hover,a.share:hover{color:#bacc1e}.float-right.search.btn-group{max-width:calc(100% - 150px)}input[type=range]{-webkit-appearance:none;margin:10px 0;width:100%}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{animate:.2s;background:#bacc1e;border:0 solid #000;border-radius:2px;box-shadow:0 0 0 #000;cursor:pointer;height:8px;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:1px solid #333;border-radius:2px;box-shadow:0 0 0 #000;cursor:pointer;height:24px;margin-top:-8.5px;width:12px}input[type=range]:focus::-webkit-slider-runnable-track{background:#bacc1e}input[type=range]::-moz-range-track{animate:.2s;background:#bacc1e;border:0 solid #000;border-radius:2px;box-shadow:0 0 0 #000;cursor:pointer;height:8px;width:100%}input[type=range]::-moz-range-thumb{background:#fff;border:1px solid #333;border-radius:2px;box-shadow:0 0 0 #000;cursor:pointer;height:24px;width:12px}input[type=range]::-ms-track{animate:.2s;background:transparent;border-color:transparent;color:transparent;cursor:pointer;height:8px;width:100%}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:#bacc1e;border:0 solid #000;border-radius:4px;box-shadow:0 0 0 #000}input[type=range]::-ms-thumb{background:#fff;border:1px solid #333;border-radius:2px;box-shadow:0 0 0 #000;cursor:pointer;height:24px;width:12px}input[type=range]:focus::-ms-fill-lower,input[type=range]:focus::-ms-fill-upper{background:#bacc1e}.table-dark{--bs-table-bg:#898989;--bs-table-border-color:none;text-transform:uppercase}#confList table,#progList table,#show-relations table,#showMultipleSimPrograms table thead{margin:0;width:100%}.updatedRow{color:#bacc1e}.table>tbody>tr>td,.table>tbody>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:9px}.dataTables_scrollBody{border-bottom:none!important}#confList .configurations,#progList .programs,#relationsList .relations{border-bottom:1px solid #eee}#relationsListing{margin-bottom:15px}#confList>h2,#logList>h2,#progList>h2{margin-left:68px}#create-user-group .modal-body{margin-bottom:1em}#userGroupList .btn-group>.btn:not(.dropdown-toggle),#userGroupMemberList .btn-group>.btn:not(.dropdown-toggle){border-radius:2px}#userGroupMemberTable .edit-member-name:not(.active),#userGroupMemberTable .member-name:not(.active){display:none}#userGroupMemberTable .btn{border:none;display:inline-block;font-size:16px;height:calc(1.25em + 12px);margin-right:0;vertical-align:top}#userGroupMemberTable.table-hover>tbody>tr:hover{background-color:transparent}#userGroupMemberTable .btn:active,#userGroupMemberTable .btn:focus{box-shadow:none;outline:none}#userGroupMemberTable .member-name-column{display:inline-block;margin:-8px;padding:8px;position:relative}#userGroupMemberTable tr.selected .member-name-column.active{background-color:hsla(0,0%,100%,.5)}#userGroupMemberTable .member-name{display:inline-block;font-size:16px;line-height:1.25;margin-left:16px;padding:7px 0}#userGroupMemberTable .edit-member-name,#userGroupMemberTable .edit-member-name form{display:inline-block}#userGroupMemberTable .edit-member-name form{margin:0;padding:0}#userGroupMemberTable .edit-member-name form label.form-invalid{bottom:0;left:0;margin-bottom:0;position:absolute;right:0;transform:translateY(100%)}#userGroupMemberTable .edit-member-name form label.form-invalid:after{border-bottom-color:red;border-top-color:transparent;margin-top:0;right:25%;top:0;transform:translateY(-100%)}#userGroupMemberTable .edit-member-name input.form-control{font-size:16px;line-height:1.25;margin:0;padding:4px 12px 4px 15px}#userGroupMemberTable .edit-member-name .btn.iais-loading-spin:before{animation:iais-loading-spin 1.2s linear infinite;display:inline-block}#simEditButtons>.btn-group{height:48px;vertical-align:top;width:48px}#simEditButtons>.btn-group.open button{background-color:#e7e7e7}#simEditButtons>.btn-group>.dropdown-menu{margin-top:6px;min-width:48px;width:48px}#simEditButtons>.btn-group>.dropdown-menu>li>a{font-size:28px;height:35px;padding-left:5px;padding-right:0;text-align:center;text-decoration:none}.simChangeObject.disabled{color:#bbb;cursor:not-allowed}#simControl.typcn-media-stop,#simStop{color:#e2001a!important}#simStop.disabled{color:#f6b3b9!important;cursor:not-allowed}.disabled a,li.disabled{color:#bbb;cursor:not-allowed;pointer-events:none}.disabled :hover,.disabled:hover{background:inherit}#simButtons>.debug{color:#1c5a94}.typcn-media-play-outline.rotated:before{display:inline-block;transform:rotate(-90deg)}@keyframes iais-loading-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pull-none .pull-right{margin-left:3px}.pull-none .pull-left{margin-right:3px}@media only screen and (max-width:992px){#main-section{top:60px}#logoShowStart img{height:44px;margin-top:8px;width:auto}#head-navigation-tabs>li>a.active{border-bottom:none}#head-navigation{padding-bottom:8px}#roberta{bottom:-6px;height:90px;right:-10px;width:80px}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 36px}.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:inherit}.modal-dialog.bigModal{min-width:300px;width:80%}#head-navigation-tabs li{float:none;overflow:hidden;width:auto}.log{margin:16px}.dataTables_wrapper{margin:0 16px}#confList>h2,#logList>h2,#progList>h2,#relationsList>h2{margin-left:16px}.navbar-fixed-bottom{border:0;margin-bottom:0;padding:16px}.simWindow{left:6px;top:60px}.border-dotted{border-right:0}}img.img-responsive{height:140px;margin:0 auto}@media only screen and (max-width:768px){#show-startup-message .slick-prev{left:-25px}#show-startup-message .slick-next{right:-25px}#show-startup-message #popup-robot-container{margin-left:25px;margin-right:25px}}@media only screen and (max-width:480px){#show-startup-message .slick-slide.slick-center{transform:scale(1)}.robot-container{margin:20px 8px}}.enjoyhint_close_btn{border:2px solid #bacc1e}.enjoyhint_close_btn:active,.enjoyhint_close_btn:hover{background:#c7d92b}@media print{div#show-startup-message{display:none!important}svg.blocklySvg{overflow:visible}.nav,.navbar{display:block}.headNavigationTabs{margin-top:59px;z-index:1}.navbar-collapse{padding-left:10px;padding-right:10px}.collapse{display:block;visibility:visible}#blocklyDiv{border:none}div#simButtonsCollapse{display:none}.blocklyToolboxDiv{display:none!important}.blocklyMainBackground{stroke:none!important}#rightMenuDiv,g.blocklyButtons{display:none}.blocklyMainBackground{stroke:none}a#tabConfiguration{display:none}.nav-tabs>li{width:100%}#headNavigationTabs{border:none}#head-navigation-tabs>li>a.active{border-bottom:2px solid #000}g.blocklyBlockCanvas{transform:translate(-200px,-50px)}div#releaseInfo{display:none}}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:inherit!important}#tutorialRoberta{background-image:url(../css/svg/Roberta_zwinkernd.svg);background-repeat:no-repeat;background-size:200px;bottom:-15%;height:200px;position:absolute;right:-5%;width:200px}.tutorialLevelStars{position:relative}.tutorialLevel.typcn:before{color:#fff;display:table-cell;font-size:24px;left:0;position:relative;top:0}#tutorialOverview .modal-dialog{border:2px solid #33b8ca;font-size:16px}#tutorial-navigation,#tutorialEnd{display:none}#tutorial-navigation ul{margin:16px}ul#tutorial-close{float:right}#tutorialEnd a:before{font-size:1.5em;line-height:42px}#tutorial-close,#tutorial-header,.step{color:#333}#tutorial-navigation li{text-align:center}#tutorial-navigation li:last-child a:before{position:absolute;right:3px;top:3px}#tutorial-navigation li.step{background:#eaf0bb;float:left;height:48px;list-style:none;padding:0;text-align:center}#tutorial-navigation li.step.active{background:#bacc1e}#tutorial-navigation li a{box-sizing:border-box;color:inherit;display:inline-block;float:left;font-size:24px;font-weight:700;height:48px;margin:0 0 0 -15px;padding:6px 8px 6px 16px;text-decoration:none;width:48px}#tutorial-navigation li:first-child a{margin-left:0;width:48px}#tutorial-navigation li.step:after{background-image:url(../css/svg/step_connector.svg);content:" ";display:inline-block;height:48px;width:17px}#tutorial-navigation li.step.last:after{background-image:url(../css/svg/step_connector_last.svg)}#tutorial-navigation li.step.active:after{background-image:url(../css/svg/step_connector_active.svg)}#tutorial-navigation li.step.preActive:after{background-image:url(../css/svg/step_connector_before_active.svg)}#tutorial-navigation li.step.last.active:after{background-image:url(../css/svg/step_connector_active_last.svg)}#tutorial-navigation .navbar-nav>.active>a,#tutorial-navigation .navbar-nav>li>a:hover{background-color:transparent;color:#333}#tutorialNavs{left:60px;position:relative}#tutorial-navigation a.typcn.typcn-delete{background:#fff;border:6px solid #fff;color:#333;font-size:36px;position:absolute;text-decoration:none;top:24px}#tutorial-header{height:92px;line-height:76px;margin:0;overflow:hidden;vertical-align:middle}#tutorialOverview>.modal-backdrop.fade.in{opacity:.6}#tutorialDiv.fromRight{background-color:#eee}#tutorialContent{background-color:#fff;font-size:16px;height:100%;margin:10px;overflow-y:auto;padding:16px}#tutorialContent .tip{list-style-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzAiIHdpZHRoPSIzMiI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMxYTFhMTh9LmNscy0ye2ZpbGw6I2ZmZn08L3N0eWxlPjwvZGVmcz48ZyB0cmFuc2Zvcm09InNjYWxlKC4xKSIgaWQ9IkViZW5lXzIiIGRhdGEtbmFtZT0iRWJlbmUgMiI+PGcgaWQ9IkViZW5lXzEtMiIgZGF0YS1uYW1lPSJFYmVuZSAxIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMDQuNDUgMTgyLjYxYTIxLjE5IDIxLjE5IDAgMSAxIDYuMjEtMTUgMjEuMTggMjEuMTggMCAwIDEtNi4yMSAxNW0yLjcxLTMyLjY4YTI1IDI1IDAgMSAwIDUuNDMgOC4xMiAyNS4wOSAyNS4wOSAwIDAgMC01LjQzLTguMTIiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zMTYgMTYuN2ExLjc1IDEuNzUgMCAwIDEtLjk0LjIzaC0yMy42M3YtMy41OEgzMTVhMS43OSAxLjc5IDAgMCAxIDEgMy4zNW0tMzIuMjEtMTBhOS4xIDkuMSAwIDAgMC0xLjgtLjMxSDI1OC41M2E3LjkzIDcuOTMgMCAwIDEgNC0yLjM1IDExLjA3IDExLjA3IDAgMCAxIDIuODYtLjJoMTQuNzhhNy43NiA3Ljc2IDAgMCAxIDEuMzIuMiA4IDggMCAwIDEgNC40IDIuODQgOC4xMyA4LjEzIDAgMCAxIC44NiAxLjM3IDguNjEgOC42MSAwIDAgMC0zLTEuNTRtMi4xMSAxNi43MmE3Ljk0IDcuOTQgMCAwIDEtNC40MyAyLjggMTEuMTkgMTEuMTkgMCAwIDEtMi44Ni4yaC0xNC43NmE3LjI2IDcuMjYgMCAwIDEtMS4zMi0uMiA3LjkyIDcuOTIgMCAwIDEtNC0yLjMzaDIyLjM5YTExLjUxIDExLjUxIDAgMCAwIDEuNjktLjA5IDguNjQgOC42NCAwIDAgMCAxLjc4LS40NCA4LjU0IDguNTQgMCAwIDAgMi40Mi0xLjM3IDcuMzEgNy4zMSAwIDAgMS0uODkgMS40bS0yOS40Ny01di02LjYyYTggOCAwIDAgMSAuMTYtMS41NmgyMy44M2E3LjQ3IDcuNDcgMCAwIDEgMi4zMi4xOCA0LjkyIDQuOTIgMCAwIDEgLjM1IDkuMzYgNC44NiA0Ljg2IDAgMCAxLTEgLjI1IDcuMzcgNy4zNyAwIDAgMS0xLjE3IDBoLTI0LjMzYTggOCAwIDAgMS0uMTYtMS42Nm0tMy43MSAxLjY2aC00Ny40OGwtNC45LTkuODRoNTIuMzhhMTEuOTQgMTEuOTQgMCAwIDAtLjEyIDEuNTZ2Ni42N2ExMS42IDExLjYgMCAwIDAgLjExIDEuNjZtLTg3LjkxIDI1Ljc3YTM3LjExIDM3LjExIDAgMCAwLTE4LjQ0LTEwLjk0Yy0uODEtLjItMS42NC0uMzctMi40Ny0uNTFsNTEuNDUtMjUuNjFMMjA0IDI2LjI4Wm0zMC41NyAxMzIuOTVhMjkuNSAyOS41IDAgMCAxLS4zMSAzLjUxIDIxLjM0IDIxLjM0IDAgMCAxLTUuODQgMTIuMjcgMjAuODUgMjAuODUgMCAwIDEtMTIuNDUgNS40NCAzNC4xOCAzNC4xOCAwIDAgMS0zLjU2LjIzaC01NC42di02LjA2Yy4yNC0uMjYuNDYtLjUzLjctLjhoNDVjMS4xIDAgMi4zMSAwIDMuNDktLjA4YTI5IDI5IDAgMCAwIDMuNTctLjQzIDIzLjA5IDIzLjA5IDAgMCAwIDYuOTItMi40MSAxOC42OSAxOC42OSAwIDAgMCA1LjczLTQuODUgMjEuMDYgMjEuMDYgMCAwIDAgMy40My02LjUyIDI2Ljg0IDI2Ljg0IDAgMCAwIDEuMjktNy4xM1YzOC4ybDYuNjItMy4yOXYxNDMuODdtLTc3Ljg2IDEwLjc1aC0uMzd2LjQ3YTM2Ljc4IDM2Ljc4IDAgMCAxLTIuNSAyLjc5IDM2LjUgMzYuNSAwIDEgMSAyLjg3LTMuMjZNNjQuMTUgMjYzLjJ2LTY1LjM4YTM5LjMyIDM5LjMyIDAgMCAwIDUwLjYxIDB2NjUuMzhINjQuMTVabTY1IDMuODNhMzAuNzEgMzAuNzEgMCAwIDEgMzAuMzUgMjUuNzFjLjEzLjc5LjIzIDEuNTguMyAyLjM4bC4wNS43NUgxOS4wOHYtLjM3bC4wNS0uNmEzMC43NyAzMC43NyAwIDAgMSAyOC40NC0yNy44Yy44My0uMSAxLjYxLS4xIDIuNDMtLjFoNzkuMTNaTTUwLjA5IDE2Ni40NmE2MC40MSA2MC40MSAwIDAgMS0yNC45LTEwNC44NUEzNi41MiAzNi41MiAwIDAgMCAyNCA3MC44NmEzNyAzNyAwIDAgMCAyOC4xNyAzNiAzNy40MSAzNy40MSAwIDAgMCA2LjA3IDFjMSAuMDggMi4wNi4xIDMuMDYuMWg3NS44OGMxIDAgMiAwIDMuMDYtLjFhMzcuNDIgMzcuNDIgMCAwIDAgNi4wNy0xIDM1LjM4IDM1LjM4IDAgMCAwIDQuNTMtMS40M3Y2MC4zMWgtMjIuMDNhMzkuMzkgMzkuMzkgMCAwIDAtNzguNzMuNzVtMTM0Ljc5IDUuMzFhMjAuMTggMjAuMTggMCAwIDEtMy44NyAxMS40MyAxNC44MyAxNC44MyAwIDAgMS00LjUzIDMuODUgMTguOTIgMTguOTIgMCAwIDEtNS43NiAyIDI2IDI2IDAgMCAxLTMuMTIuMzljLTEuMDUuMDctMi4wOS4wNy0zLjI0LjA2aC00Mi4xYTM5LjE2IDM5LjE2IDAgMCAwIDYuNTktMjBoMjUuODh2LTY1Ljg3YTM3IDM3IDAgMCAwIDEyLjU4LTU0LjhsMTcuNi04Ljc2djEzMS42N1ptLTE1MC0xMjEuNGEzMy4xNiAzMy4xNiAwIDAgMSAyMy42OC0xMi42NmMuOTItLjA3IDEuODMtLjA5IDIuNzctLjFoNzUuODljLjk1IDAgMS44NSAwIDIuNzcuMWEzMy4yMiAzMy4yMiAwIDAgMSA1LjQ0IDY1LjM4IDM0IDM0IDAgMCAxLTUuNDIuODhjLS45Mi4wNy0xLjgyLjA5LTIuNzcuMDloLTc1LjljLTEgMC0xLjg1IDAtMi43Ny0uMDlhMzMuOTQgMzMuOTQgMCAwIDEtNS40NC0uODcgMzMuMjMgMzMuMjMgMCAwIDEtMTguMi01Mi43NG0yODIuOTQtNDAuMTVhNS42NSA1LjY1IDAgMCAwLTIuODYtLjcyaC0yMy44YTExLjc2IDExLjc2IDAgMCAwLTguNzgtOS4xOSAxMS44OSAxMS44OSAwIDAgMC0yLS4zaC0xNi43NmExMi4yIDEyLjIgMCAwIDAtMiAuMjggMTEuNzQgMTEuNzQgMCAwIDAtNi41NiA0LjE0IDExLjI0IDExLjI0IDAgMCAwLTEuMjUgMS45NGgtNTUuNDRMMTk3IDMuNjRsLTYwLjUxIDMwLjEzSDYxLjMzYy0xIDAtMiAwLTMuMDYuMUEzNyAzNyAwIDAgMCAzMS45MSA0OGEzNi4yMiAzNi4yMiAwIDAgMC00LjQzIDcuMjNsLS4xMS0uMTVhNjQuMjYgNjQuMjYgMCAwIDAgMjIuOCAxMTUuMzIgMzkuMTQgMzkuMTQgMCAwIDAgMTAuMTYgMjMuNzV2NjlINTBjLS44OCAwLTEuNzkgMC0yLjY4LjA5YTM0LjU0IDM0LjU0IDAgMCAwLTMyIDMxLjI2bC0uMDYuNjctLjA1LjkxYzAgLjg0IDAgMS42OC0uMDUgMi41M3YuOTRjMCAuMDguMDUuMDYuMS4wNmgxNDguNDFjLjA3IDAgLjA5IDAgLjA4LS4wOHYtNC43OWMtLjA3LS45LS4xOS0xLjc5LS4zNC0yLjY4YTMzLjg0IDMzLjg0IDAgMCAwLTEuMjktNS4yNCAzNC42MSAzNC42MSAwIDAgMC0zMi44My0yMy42N2gtMTAuN1YyMDRoNTQuNjVhMzkuNDUgMzkuNDUgMCAwIDAgNC0uMjUgMjguNzEgMjguNzEgMCAwIDAgNy44LTIgMjEuODEgMjEuODEgMCAwIDAgNi44Ni00LjUgMjIuNDYgMjIuNDYgMCAwIDAgNC43LTYuNzEgMjguNDcgMjguNDcgMCAwIDAgMi4yNy03LjczIDMyLjI2IDMyLjI2IDAgMCAwIC4zNC00VjE3Ny4xNWMwLS4wNiAwIDAgMCAwVjMzbDEwLTUtMi4wNS00LjEyaDQ2Ljc0YTEwLjcgMTAuNyAwIDAgMCAxLjE4IDEuODUgMTEuNzggMTEuNzggMCAwIDAgNi41MiA0LjIxIDExLjUgMTEuNSAwIDAgMCAyIC4yOWgxNi44NWExMS41NCAxMS41NCAwIDAgMCAyLS4yOCAxMS43NiAxMS43NiAwIDAgMCA4Ljg5LTkuMjFIMzE1YTUuNjIgNS42MiAwIDAgMCAyLjgyLTEwLjUyIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNjcuOTQgOTYuMjZBMjQuNzYgMjQuNzYgMCAxIDEgOTIuNyA3MS40OWEyNC43NiAyNC43NiAwIDAgMS0yNC43NiAyNC43NyIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTQxLjQyIDcxLjVBMjYuNTEgMjYuNTEgMCAwIDEgNjcuOTQgNDVhMjYuNTEgMjYuNTEgMCAwIDEgMjYuNTEgMjYuNUEyNi41MSAyNi41MSAwIDAgMSA2Ny45NCA5OHYtMy41YTIzIDIzIDAgMCAwIDIzLTIzIDIzIDIzIDAgMCAwLTIzLTIzIDIzIDIzIDAgMCAwLTIzIDIzIDIzIDIzIDAgMCAwIDIzIDIzVjk4YTI2LjUxIDI2LjUxIDAgMCAxLTI2LjUyLTI2LjVaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjEgNjQuNTlhOS43NiA5Ljc2IDAgMSAxLTIuODYgNi45IDkuNzggOS43OCAwIDAgMSAyLjg2LTYuOU02Ny45NCA4NWExMy41IDEzLjUgMCAxIDAtOS41NS00IDEzLjQ4IDEzLjQ4IDAgMCAwIDkuNTUgNCIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTY3Ljk0IDc3LjY4YTYuMjkgNi4yOSAwIDAgMCAxLjY2LTEyLjM2djdoLTMuMzJ2LTdhNi4yOSA2LjI5IDAgMCAwIDEuNjYgMTIuMzYiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMzAuNyA5Ni4yNmEyNC43NiAyNC43NiAwIDEgMSAyNC43Ni0yNC43NiAyNC43NiAyNC43NiAwIDAgMS0yNC43NiAyNC43NiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEwNC4xOSA3MS40OUEyNi41MSAyNi41MSAwIDAgMSAxMzAuNyA0NWEyNi41MSAyNi41MSAwIDAgMSAyNi41MSAyNi41MUEyNi41MSAyNi41MSAwIDAgMSAxMzAuNyA5OHYtMy41YTIzIDIzIDAgMCAwIDIzLTIzIDIzIDIzIDAgMCAwLTIzLTIzIDIzIDIzIDAgMCAwLTIzIDIzIDIzIDIzIDAgMCAwIDIzIDIzVjk4YTI2LjUyIDI2LjUyIDAgMCAxLTI2LjUyLTI2LjUyWiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEyMy44IDY0LjU5YTkuNzcgOS43NyAwIDEgMS0yLjg2IDYuOSA5Ljc4IDkuNzggMCAwIDEgMi44Ni02LjlNMTMwLjcgODVhMTMuNSAxMy41IDAgMSAwLTkuNTUtNCAxMy40NyAxMy40NyAwIDAgMCA5LjU1IDQiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMzAuNyA3Ny42OGE2LjI5IDYuMjkgMCAwIDAgMS42Ni0xMi4zNnY3SDEyOXYtN2E2LjI5IDYuMjkgMCAwIDAgMS42NiAxMi4zNiIvPjwvZz48L2c+PC9zdmc+)}#tutorialContent ul{list-style-image:none}#tutorialContent a{color:#f29400;font-weight:700;text-decoration:none}.quiz.continue,div#helpDiv{margin-top:24px}.quiz.continue{border-top:1px solid #eee;padding-top:10px;text-align:right}.quiz.footer,p.quiz{margin-top:16px}.quiz.footer>.btn.right{margin-left:16px}.quiz.answer{cursor:pointer;display:block;margin-top:16px;padding-left:34px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.quiz.answer input{cursor:pointer;opacity:0;position:absolute}.checkmark{background-color:#eee;border-radius:2px;height:25px;left:2px;position:absolute;top:2px;width:25px}.quiz.answer input:checked~.checkmark,.quiz.answer:hover input~.checkmark{background-color:#ccc}.quiz.answer>.checkmark:after{content:"";display:none;position:absolute}.quiz.answer input:checked~.checkmark:after{display:block}.quiz.answer>.checkmark:after{border:solid #fff;border-width:0 3px 3px 0;height:14px;left:10px;top:5px;transform:rotate(45deg);width:6px}label.quiz.answer{border-radius:4px;padding:6px 10px 6px 36px}label.quiz.answer.correct{background-color:#c7d92b;border:2px solid #c7d92b;padding:4px 8px 4px 34px}label.quiz.answer.fail{border:2px solid #e2001a;padding:4px 8px 4px 34px}#welcomeHaribo{z-index:9999}#welcomeHaribo .modal-dialog{width:40vw}#simModal .fixed-table-header{background-color:#898989;color:#fff}#simModal .fixed-table-header table{color:#fff}.lds-ellipsis{display:inline-block;height:100px;position:relative;width:64px}.lds-ellipsis div{animation-timing-function:cubic-bezier(0,1,1,0);background:#333;border-radius:50%;height:11px;position:absolute;top:27px;width:11px}.lds-ellipsis div:first-child{animation:lds-ellipsis1 .6s infinite;left:6px}.lds-ellipsis div:nth-child(2){animation:lds-ellipsis2 .6s infinite;left:6px}.lds-ellipsis div:nth-child(3){animation:lds-ellipsis2 .6s infinite;left:26px}.lds-ellipsis div:nth-child(4){animation:lds-ellipsis3 .6s infinite;left:45px}@keyframes lds-ellipsis1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes lds-ellipsis3{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes lds-ellipsis2{0%{transform:translate(0)}to{transform:translate(19px)}}#simModal .fixed-table-header{background-color:#b3bfb8}td[lkey="Blockly.Msg.POPUP_DOWNLOAD_STEP_A_SENSEBOX"]{padding-bottom:2.5em}#flaskEditor{height:100%}#sourceCodeEditor pre{background-color:transparent;border:0 solid #ccc;border-radius:0;color:#000;font-family:Roboto,sans-serif;line-height:18px;padding:0;position:absolute;top:0}#sourceCodeEditor .codeflask{height:calc(100% - 80px);height:-webkit-calc(100% - 80px);position:relative}#sourceCodeEditor textarea{color:transparent;font-size:13px;top:0;z-index:5}#codeDiv pre,#sourceCodeEditor textarea{line-height:18px;padding:0;position:absolute}#codeDiv pre{background-color:transparent;background-image:linear-gradient(transparent 50%,#f7f7f7 0);background-repeat:repeat;background-size:100% 2.77em;border:0 solid #ccc;border-radius:0;color:#000;font-family:Roboto,sans-serif;margin-top:0;width:100%}#sourceCodeEditor .codeflask__flatten{line-height:18px;padding-top:0!important}#codeDiv textarea{color:hsla(0,0%,100%,0)!important;height:calc(100% - 82px);line-height:18px;margin-top:0;padding:0;position:absolute;z-index:8}#codeDiv .codeflask__flatten{background-color:#fff0;line-height:18px;padding-top:0!important}#codeDiv .codeflask__lines,.codeflask__lines{background-color:#eee;z-index:5!important}.codeflask__lines{padding-top:0!important}.codeflask__lines__line{color:#333;line-height:18px!important}.codeflask--has-line-numbers:before{z-index:4!important}pre code{white-space:inherit}#confirm,#confirmCancel{text-transform:capitalize}.blinking{animation:blinkingBackground 1.2s infinite}.blinking>span{animation:blinkingForeground 1.2s infinite}@keyframes blinkingBackground{0%{background-color:#e2001a;border-bottom:4px solid #e2001a}49%{background-color:#e2001a;border-bottom:4px solid #e2001a}60%{background-color:transparent;border-bottom:4px solid transparent}99%{background-color:transparent;border-bottom:4px solid transparent}to{background-color:#e2001a;border-bottom:4px solid #e2001a}}@keyframes blinkingForeground{0%{color:#fff}49%{color:#fff}60%{color:#333}99%{color:#333}to{color:#fff}}#blocklyDiv.debug path.blocklyPath{fill-opacity:.3}#blocklyDiv.debug path.blocklyPath.selectedBreakpoint{stroke-opacity:1;stroke:purple;stroke-width:2px;transition:none}#blocklyDiv.debug path.blocklyPath.breakpoint{stroke-opacity:1;stroke:red;stroke-width:2px;transition:none}.badge-primary{background-color:#f29400}#releaseInfo{background-color:#fbde00;border:1px solid #d8d8d8;bottom:60px;left:70%;padding:16px;position:fixed;right:8px;z-index:2999}#releaseInfo>span{display:inline-block!important;padding-right:16px;vertical-align:middle}#releaseInfo>.no-button{position:absolute;right:0;top:0}@media (max-width:60em),(max-width:800px){#releaseInfo{left:40%}}.port{cursor:default!important}#valuesContent .panel-heading{background-color:#ddd}#valuesContent .panel-group{margin:20px 0 0}.panel-title>a:before{background-image:url('data:image/svg+xml;charset=utf-8,');position:relative}.panel-title>a.collapsed:before,.panel-title>a:before{background-size:10px;content:"";display:inline-block;height:10px;margin:0 4px;width:10px}.panel-title>a.collapsed:before{background-image:url('data:image/svg+xml;charset=utf-8,')}.panel-title>a{color:inherit;display:inline-block;height:100%;line-height:1.5;text-decoration:none;width:100%}#accordion .panel-body{border:none;max-height:50vh;overflow:auto}input,textarea{border:1px solid #e9ecef;box-sizing:border-box;margin:0;outline:none;padding:10px}input[type=button]{-webkit-appearance:button;cursor:pointer}.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none}.input-group{clear:both;position:relative}.input-group input[type=button]{background-color:#ddd;transition:all .3s ease}.input-group .button-minus,.input-group .button-plus{font-weight:700;height:32px;padding:0;width:32px}.input-group .quantity-field{display:inline-block;font-size:14px;height:32px;position:relative;resize:vertical;text-align:center;width:32px}input[type=number]{-moz-appearance:textfield}#nn,#nn-learn{height:100%;width:100%}#nn .nn-middle-size{font-size:20px}#nn .nn-bold,#nn-learn .nn-bold{font-weight:700}#nn .nn-large-size{font-size:28px}#nn-epoch-num{width:80px}#nn-top-controls{-webkit-justify-content:space-around}#nn-learn-top-controls,#nn-top-controls{background:#fff;border-bottom:1px solid #ddd;box-shadow:0 1px 4px rgba(0,0,0,.08);display:flex;padding:16px 0;width:100%}#nn-learn-top-controls{justify-content:space-between}#nn-learn-top-controls .nn-control,#nn-top-controls .nn-control{flex-grow:0;margin-left:10px;margin-top:6px}#nn-show-math-all.nn-control{flex:0 0 15%;margin-right:10px}#nn-learn-show-iteration-all.nn-control,#nn-show-iteration-all.nn-control,#nn-show-next-neuron-all.nn-control{align-items:stretch;display:flex;flex-direction:column;justify-content:space-evenly;margin:0 10px}#nn-learn-show-activation{padding:8px;width:100px}#nn-top-controls .nn-control .label{color:#777;display:block;font-size:13px;font-weight:300;margin-bottom:6px}#nn-top-controls .nn-control .value{font-size:24px;font-weight:300;margin:0}#nn-top-controls .nn-control .select,.nn-input-div{position:relative}.nn-input-div{height:36px}#goto-sim,#learn-goto-sim{background-color:#fff;bottom:10px;box-shadow:0 2px 5px rgba(0,0,0,.2);color:#333;font-size:36px;margin:0;max-width:48px;min-height:48px;min-width:48px;padding:2px 0 0;position:absolute;right:10px;z-index:9999}#goto-sim:hover,#learn-goto-sim:hover{background-color:#bacc1e}.nn-selection{background-color:#23b6ac;border:none;color:#fff}#nn-show-math,.nn-selection{border-radius:2px;min-height:36px;padding:6px}#nn-show-math{background-color:#f0f0f0}#nn-learn-show-iteration,#nn-show-iteration,#nn-show-next-neuron{background-color:#fafafa;color:rgba(0,0,0,.6);font-weight:300;text-align:center}#nn-learn-main-part,#nn-main-part{display:flex;justify-content:space-between;margin-bottom:50px;margin-top:30px;padding-top:2px;position:relative}#nn-learn-main-part .output .mdl-checkbox__label.label,#nn-main-part .output .mdl-checkbox__label.label{line-height:1.7em}#nn-features,#nn-learn-features{position:relative;width:10%}#nn-features .nn-plus-minus-neurons{height:44px;line-height:28px;position:absolute;top:-58px;width:120px}.nn-modal-content{background-color:#fff;border:1px solid}.nn-popup-modal{bottom:0;display:none;left:50%;max-width:90%;position:fixed;transform:translate(-50%);z-index:1}.nn-modal-dialog{width:auto}button.nn-btn{background-color:#23b6ac;border:none;border-radius:2px;color:#fff;font-size:20px;height:36px;margin-right:inherit;padding:0;width:36px}.nn-btn.nn-top-control-button{height:27px;width:27px}.nn-btn.nn-cancel{background-color:#cd5c5c}.nn-btn.nn-cancel:hover{background-color:#e8c0c0}#nn-features .nn-plus-minus-neuron-button.active-input{background-color:#bacc1e;box-shadow:inset 0 0 2px 2px #000}#nn-features .nn-plus-minus-neuron-button.active-hidden{background-color:#c7b7b7;box-shadow:inset 0 0 2px 2px #000}#nn-features .nn-plus-minus-neuron-button.active-output{background-color:#f29400;box-shadow:inset 0 0 2px 2px #000}#nn-test-data-upload,#nn-training-data-upload{display:none}.nn-table-input{width:100px}.nn-user-input-table-header{display:inline-block;width:100%}.nn-input-background-color{background:#8fa40266}.nn-output-background-color{background:#f2940066}button.nn-btn:hover{background-color:#ade7e4}.nn-selection option{background-color:#fff;color:#333}#nn-top-controls .nn-num-layers-group{font-weight:700}#nn-features .nn-plus-minus-neurons .nn-plus-minus-neuron-button{margin-right:4px}#nn-features svg .main-label,#nn-learn-features svg .main-label{fill:#333;font-size:13px;font-weight:300}#nn-features .nn-showval,#nn-learn-features .nn-showval{text-anchor:start;cursor:pointer;display:block;font-size:16px;font-weight:700}#nn-features svg #markerArrow,#nn-learn-features svg #markerArrow{fill:#000;stroke:#000;stroke-opacity:.2}#nn-features .node_input rect,#nn-learn-features .node_input rect{fill:#8fa402;cursor:default}#nn-features .node_hidden rect,#nn-learn-features .node_hidden rect{fill:#d3d3d3;cursor:default}#nn-features .node_output rect,#nn-learn-features .node_output rect{fill:#f29400;cursor:default}#nn-features .core .link,#nn-learn-features .core .link{stroke-dasharray:9 1;stroke-dashoffset:1}#nn-features .core .nn-weight-click{stroke-width:14;stroke:#000;fill:none;cursor:pointer;opacity:0}.nn-input{border:2px solid #23b6ac;height:100%;position:relative;top:-4px;width:6em}#nn-learn-features .core .nn-weight-click{stroke-width:14;stroke:#000;fill:none;cursor:pointer;opacity:0}#nn-features .core .nn-weight-show-click,#nn-learn-features .core .nn-weight-show-click{stroke-width:14;stroke:gray;fill:none;cursor:pointer;opacity:.3}.nn-bias-click{cursor:pointer}#nn-features .canvas canvas,#nn-learn-features .canvas canvas{border:2px solid #000;border-radius:3px;box-shadow:0 2px 5px rgba(0,0,0,.2);left:-2px;position:absolute;top:-2px}#nn-network{left:0;position:absolute;top:50px}#nn-editCard{background:#fff;border:1px solid #aaa;border-radius:5px;cursor:default;display:none;left:240px;padding:5px;position:absolute;z-index:10}#nn-learn-training-bias-linechart,#nn-learn-training-weight-linechart{height:65px;width:200px}#nn-learn-training-bias-linechart,#nn-learn-training-weight-linechart,#nn-nameCard{background:#fff;border:1px solid #aaa;cursor:default;display:none;position:absolute;z-index:10}#nn-nameCard{border-radius:5px;left:240px;padding:5px}#nn-name-message{background:#fff;border:12px 4px 4px;color:#333}#nn-table-user-input input{width:100px}.nn-type-button{position:relative;top:5px}.nn-btn.nn-finish-button{left:-4px;position:relative}.nn-metrics{align-content:center;display:flex;flex-basis:25%;flex-wrap:nowrap;font-weight:300;height:60px;justify-content:space-evenly;margin-right:10px;position:relative}#nn-learn-training-loss-linechart{border:1px solid #333;flex:0 0 40%;height:100%;max-width:200px}.nn-output-stats{padding:10px}#nn-random-values-from-to{height:36px;position:relative}#nn-random-values-from-to>input{width:50px}#nn-random-values-from-to>span{position:relative;top:-4px}#nn-random-values-from-to>.nn-random-values-finished-button{padding-left:5px;position:relative;top:0}.nn-output-stats .value{color:rgba(0,0,0,.6);font-weight:300;text-align:center}.nn-type{style:"font-size: 14px";height:40px}canvas{display:block}.link{fill:none;stroke:#aaa;stroke-width:1}g.column rect{stroke:none}#downloadType{padding:8px 20px 20px;text-align:center}.downloadType{border:1px solid #bacc1e;border-radius:2px;cursor:pointer;font-size:18px;margin:12px;padding:12px;text-align:center;text-decoration:none;width:100%}#progressBar{height:10px;width:0}#progressBar,.downloadType:hover{background-color:#bacc1e}/*# sourceMappingURL=roberta.css.map */
diff --git a/OpenRobertaServer/staticResources/css/roberta.css.map b/OpenRobertaServer/staticResources/css/roberta.css.map
index c1c202fa92..57d27b14aa 100644
--- a/OpenRobertaServer/staticResources/css/roberta.css.map
+++ b/OpenRobertaServer/staticResources/css/roberta.css.map
@@ -1 +1 @@
-{"version":3,"sources":["roberta.css"],"names":[],"mappings":"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","file":"roberta.css","sourcesContent":["@charset \"UTF-8\";\n*:hover,\n*:active,\n*:visited,\n*:focus,\na:focus {\n outline: 0;\n outline: none;\n}\n\nul,\nol {\n margin: 0;\n}\n\ndl.grid {\n display: grid;\n grid-template-columns: 1fr 100%;\n}\n\ndd {\n margin: 0;\n padding-left: 1em;\n}\n\ndl.grid dd {\n margin-bottom: 1em;\n}\n\ndl.grid dt {\n min-width: 140px;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url('fonts/Roboto-Regular.ttf') format('truetype');\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url('fonts/Roboto-Italic.ttf') format('truetype');\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url('fonts/Roboto-Bold.ttf') format('truetype');\n font-weight: bold;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url('fonts/Roboto-BoldItalic.ttf') format('truetype');\n font-weight: bold;\n font-style: italic;\n}\n\nhtml,\nbody {\n display: flex;\n margin: 0;\n padding: 0;\n height: 100%;\n width: 100%;\n font-family: 'Roboto', sans-serif;\n font-size: 1em;\n}\n\n.pace {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n z-index: 3000;\n position: fixed;\n height: 12rem;\n width: 12rem;\n margin: auto;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n line-height: 12rem;\n font-size: 2rem;\n color: transparent;\n font-weight: 100;\n text-align: center;\n -webkit-animation: pace-theme-center-circle-spin linear infinite 2s;\n -moz-animation: pace-theme-center-circle-spin linear infinite 2s;\n -o-animation: pace-theme-center-circle-spin linear infinite 2s;\n animation: pace-theme-center-circle-spin linear infinite 2s;\n background-image: url(../css/img/Nepo_N.png);\n background-color: transparent !important;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n@-ms-keyframes pace-theme-center-circle-spin {\n 0% {\n -ms-transform: perspective(12rem) rotateY(0deg);\n }\n 100% {\n -ms-transform: perspective(12rem) rotateY(360deg);\n }\n}\n\n@keyframes pace-theme-center-circle-spin {\n 0% {\n transform: perspective(12rem) rotateY(0deg);\n }\n 100% {\n transform: perspective(12rem) rotateY(360deg);\n }\n}\n\nbody.blocklyMinimalBody * {\n opacity: 1 !important;\n overflow: hidden;\n transform: none;\n}\n\n/*#head-navigation, #tutorial-navigation {\n box-shadow: 0 3px 5px #aeaeaf;\n -webkit-box-shadow: 0 3px 5px #aeaeaf;\n border: 0;\n margin: 0;\n}*/\n#header {\n background-color: #ffffff;\n border: 0;\n margin: 0;\n}\n\n#header > .navbar {\n padding-bottom: 0;\n}\n\n.navbar-toggler {\n padding: 12px;\n border: none;\n}\n\n.navbar-toggler:focus {\n box-shadow: none;\n}\n\n.nav-item:hover, button#navbarButtonsHead:hover {\n background-color: #BACC1E;\n border-radius: 2px;\n border: 0;\n}\n\n#head-navigation-tabs > li > a.active {\n border-bottom: 4px solid #BACC1E;\n}\n\n/* TODO remove this when hardcoded in blockly is removed */\n.blocklyToolboxDiv {\n top: 0 !important;\n}\n\n#iconDisplayLogin,\n#iconDisplayRobotState {\n float: left;\n font-size: 24px;\n height: 24px;\n width: 24px;\n cursor: pointer;\n margin: 0 6px;\n}\n\n.robertaLogo {\n background: url(../css/svg/logo-word.svg) no-repeat;\n}\n\n.fraunhoferLogo {\n background: url(../css/img/iais_logo.gif) no-repeat;\n}\n\n.googleLogo {\n background: url(../css/svg/Google_logo.svg) no-repeat;\n background-size: contain;\n}\n\n.NRWMinLogo {\n background: url(../css/img/AK_Schule.png) no-repeat;\n background-size: contain;\n}\n\n.imgFloatLeft {\n float: left;\n width: 210px;\n height: 65px;\n padding: 0;\n margin: 4px 16px 0 0;\n}\n\n#language.nav > li > a {\n color: #333333;\n padding: 0;\n margin: 6px;\n}\n\n#language.nav > li > a:hover,\n#language.nav > li > a:focus {\n background-color: #fff;\n}\n\n#logoShowStart img {\n display: block;\n height: 60px;\n width: 146px;\n margin: 18px;\n}\n\n.invisible {\n visibility: hidden;\n}\n\n.hidden {\n display: none;\n}\n\n\n.img-beta, .img-deprecated {\n position: absolute;\n width: auto;\n left: 10px;\n top: -5px;\n -ms-transform: rotate(-10deg);\n transform: rotate(-10deg);\n z-index: 5;\n}\n\n.new {\n background-color: #fdc300;\n max-width: fit-content;\n position: absolute;\n z-index: 99;\n top: 0;\n left: 0;\n padding: 5px 10px;\n font-size: 14px;\n border-radius: 5px 0;\n}\n\n.menuTab {\n text-transform: uppercase;\n font-weight: bold;\n}\n\n.navigation-row {\n width: 100%;\n margin: 0;\n}\n\n.scroller {\n margin: 0;\n font-size: 24px;\n cursor: pointer;\n background-color: #fff;\n padding: 8px 2px 0 28px;\n float: left;\n}\n\n#main-section {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n margin: 0;\n background: #E9ECEF;\n overflow: hidden;\n top: 96px;\n padding: 0;\n}\n\n#headNavigation.show {\n max-height: 335px;\n overflow-y: auto;\n}\n\n.navbar-nav ul {\n overflow: hidden;\n overflow-y: auto;\n max-height: calc(100vh - 100px);\n}\n\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n margin-right: 2px;\n}\n\n.btn-default:hover {\n background-color: #ddd;\n border-color: #ccc;\n}\n\n#blocklyDiv, #bricklyDiv {\n /*float: left;*/\n /*width: 100%;*/\n height: 100%;\n overflow: hidden;\n background-size: 100%;\n touch-action: none;\n}\n\n.log {\n overflow: auto;\n position: fixed;\n top: 152px;\n bottom: 50px;\n margin: 16px 68px 32px 68px;\n}\n\n.canvasSim {\n position: absolute;\n left: 0;\n top: 0;\n}\n\ncanvas.border {\n border: 2px solid grey;\n}\n\n#webotsDiv {\n position: absolute;\n left: 0;\n top: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n}\n\n#canvasDiv {\n position: absolute;\n left: 0;\n top: 0;\n z-index: 1;\n width: 100%\n}\n\n#sliderDiv {\n width: 20px;\n cursor: col-resize;\n z-index: 11;\n}\n\n#sliderBorder {\n width: 6px;\n z-index: 8;\n background-color: #C0C0C0;\n}\n\n.codeActive > pre {\n width: 100%;\n height: 100%;\n word-wrap: inherit;\n}\n\n.fromRight {\n float: right;\n height: 100%;\n width: 0;\n background-color: #d8d8d8;\n display: none;\n position: relative;\n z-index: 10;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n}\n\n#infoDiv.fromRight {\n background-color: #eee;\n}\n\n.fromRight.rightActive {\n height: 100%;\n overflow: hidden;\n display: block;\n}\n\n#codeContainer {\n overflow-y: auto;\n height: 100%;\n}\n\n#codeContent {\n overflow-y: auto;\n padding-bottom: 60px;\n padding-top: 12px;\n background-color: #eee;\n}\n\n#infoContent {\n border: solid 10px #eee;\n border-top: none;\n background-color: #fff;\n overflow: auto;\n height: inherit;\n width: inherit;\n -webkit-user-select: text;\n user-select: text;\n}\n\n#infoContent[data-placeholder]:before {\n color: #555;\n padding: 0 12px;\n}\n\n#infoToolbar {\n border: solid 10px #eee;\n}\n\n#legalDiv {\n overflow-y: scroll;\n background-color: #fff;\n padding-top: 1.5rem;\n}\n\n#legalDiv > *:not(#legalDivHeader) {\n padding: 1rem;\n -webkit-touch-callout: default;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n}\n\n#legalDiv > #legalDivHeader {\n text-align: center;\n font-size: 1.25em;\n}\n\n#legalDiv > #legalDivHeader > a {\n padding: 0 1rem;\n}\n\n#helpDiv ul {\n list-style-type: none;\n display: table;\n}\n\n#helpDiv li {\n display: table-row;\n}\n\n#helpDiv li:before {\n display: table-cell;\n padding-right: 6px;\n}\n\n#helpContent {\n padding: 10px 0;\n overflow-y: auto;\n height: 100%;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: #fff;\n}\n\n#helpContent h3,\n#helpContent h2 {\n padding-left: 10px;\n padding-top: 25px;\n border-top: 1px solid #F29400;\n}\n\n#helpContent p,\n#helpContent h4 {\n margin-left: 8px;\n margin-right: 12px;\n}\n\n#helpContent h4 {\n margin-top: 18px;\n}\n\n.selectedHelp {\n background-color: #f0f0f0;\n}\n\n#rightMenuDiv {\n position: absolute;\n top: 32px;\n right: 0;\n z-index: 9;\n}\n\n#mbedContent,\n#valuesContent {\n background-color: #fff;\n border: 2px solid #33b8ca;\n padding: 12px 14px 12px 12px;\n border-radius: 2px;\n display: inline-block;\n}\n\n#valuesContent {\n min-width: 330px;\n overflow-y: auto;\n}\n\n.customDropdown {\n border: 1px solid #333;\n border-radius: 2px;\n background-color: #fff;\n}\n\n.rightMenuButton {\n width: 40px;\n height: 40px;\n background: #C0C0C0;\n position: relative;\n margin-bottom: 6px;\n -moz-border-radius: 2px;\n -webkit-border-radius: 2px;\n border-radius: 2px;\n z-index: 12;\n}\n\n.rightMenuButton:before {\n content: \"\";\n position: absolute;\n right: 100%;\n top: 14px;\n width: 0;\n height: 0;\n border-top: 5px solid transparent;\n border-right: 6px solid #333;\n border-bottom: 5px solid transparent;\n}\n\n.rightMenuButton.rightActive {\n color: #E2001A;\n}\n\n.rightMenuButton.rightActive:before {\n border-top: 5px solid transparent;\n border-left: 6px solid #333;\n border-bottom: 5px solid transparent;\n right: -6px;\n}\n\ndiv.rightMenuButton:hover,\n.rightMenuButton:active {\n cursor: pointer;\n}\n\n.rightMenuButton > .typcn {\n position: relative;\n top: 8px;\n font-size: 24px;\n left: 7px;\n}\n\n#tutorialButton.rightMenuButton, #infoButton.notEmpty {\n background-color: #BACC1E;\n}\n\n#tutorialButton.rightMenuButton:before, #infoButton.notEmpty:before {\n border-right: 6px solid #BACC1E;\n}\n\n.menu-icons {\n font-size: 24px;\n line-height: 24px;\n color: #fff;\n border: 0;\n margin: 0;\n}\n\n#toastContainer {\n position: absolute;\n top: 0;\n left: 50%;\n}\n\n#toastLeftContainer {\n position: relative;\n top: 0;\n left: -50%;\n padding: 0;\n margin: 0;\n}\n\n#toastLeftContainer span {\n font-size: 16px;\n z-index: 9999;\n color: #333333;\n white-space: nowrap;\n background-color: #fff;\n padding: 8px;\n}\n\n#show-startup-message {\n z-index: 1039;\n}\n\n#show-startup-message #popup-robot-container {\n margin-left: 100px;\n margin-right: 100px;\n}\n\n#show-startup-message .popup-robot {\n background-color: #fff;\n color: #333;\n}\n\n#show-startup-message .popup-robot.robotSpecial {\n background-color: transparent;\n color: #000;\n}\n\n#slick-container {\n background: #33B8CA;\n}\n\n.slick-list {\n padding-top: 12px !important;\n padding-bottom: 12px !important;\n}\n\n.slick-dots {\n bottom: inherit;\n top: 160px;\n}\n\n#show-startup-message .slick-slide {\n transform: scale(1);\n transition: .3s ease-in-out all;\n opacity: 1;\n}\n\n#show-startup-message .slick-slide.slick-center {\n transform: scale(1.2);\n}\n\n#show-startup-message .slick-prev {\n left: -100px;\n top: 45%;\n}\n\n#show-startup-message .slick-next {\n right: -100px;\n top: 45%;\n}\n\n#show-startup-message .slick-next:before,\n#show-startup-message .slick-prev:before {\n color: #000;\n font-size: 25px;\n}\n\n#show-startup-message .popup-robot a {\n position: relative;\n bottom: 20px;\n right: 75px;\n color: #000;\n font-size: 25px;\n}\n\n#show-startup-message .popup-robot.robotSpecial a {\n left: 86px;\n top: 20px;\n}\n\n#show-startup-message .robot-info {\n font-size: 24px;\n position: relative;\n}\n\n#startPopupBack {\n font-size: 36px;\n position: relative;\n bottom: 50px;\n text-decoration: none;\n color: #333;\n}\n\n#show-startup-message .modal-dialog {\n border: 2px solid #33B8CA;\n}\n\n.wait,\n.ok {\n color: #33B8CA;\n}\n\n.error {\n color: #333;\n}\n\n@-webkit-keyframes blinker {\n from {\n color: #afca04;\n }\n to {\n color: #e2001a;\n }\n}\n\n@keyframes blinker {\n from {\n color: #F29400;\n }\n to {\n color: #e2001a;\n }\n}\n\n.busy {\n -webkit-animation-name: blinker;\n -webkit-animation-iteration-count: infinite;\n -webkit-animation-timing-function: cubic-bezier(1.0, 0, 0, 1.0);\n -webkit-animation-duration: 1s;\n animation-name: blinker;\n animation-duration: 1s;\n animation-timing-function: cubic-bezier(1.0, 0, 0, 1.0);\n animation-iteration-count: infinite;\n}\n\n.menuDisabled {\n background-color: #fff;\n}\n\n.dropdown-toggle.disabled:hover,\n.dropdown-toggle.disabled:focus {\n text-decoration: none;\n cursor: default;\n background-color: white !important;\n background-image: none;\n}\n\n.bottomLeftButtons {\n left: 12px;\n position: absolute;\n bottom: 6px;\n z-index: 99;\n display: flex;\n}\n\n#simEditButtons {\n left: 12px;\n top: 10px;\n position: absolute;\n z-index: 99;\n}\n\n#simEditButtons button span:before {\n font-size: 36px;\n}\n\n.simAddMarker span {\n font-size: 12px;\n display: inline-block;\n min-width: 16px;\n}\n\nbutton#simCustomColorObject span.typcn:before {\n color: #FBED00;\n}\n\nbutton#simCustomObstacle.typcn:before {\n color: #009EE3;\n}\n\n.huebee__container {\n position: absolute;\n left: 0;\n top: 6px;\n padding: 24px 10px 10px;\n background: #e7e7e7;\n border-radius: 2px;\n box-shadow: none;\n}\n\n.huebee__cursor {\n border: 5px solid #fff;\n border-radius: 2px;\n width: 30px;\n height: 30px;\n}\n\n.huebee {\n /* disable reveal/hide transition */\n transition: none;\n}\n\n.huebee__close-button {\n display: block;\n position: absolute;\n width: 24px;\n height: 24px;\n top: 0;\n right: 0;\n border-radius: 0;\n background: none;\n}\n\n.huebee__close-button__x {\n stroke-width: 2;\n stroke: #bbb;\n}\n\n.huebee__close-button__x:hover, .huebee__close-button__x:focus {\n stroke: #333;\n}\n\n.huebee__close-button:hover, .huebee__close-button:focus {\n background: #e7e7e7;\n}\n\n#codeButtons {\n left: 12px;\n bottom: 0;\n position: absolute;\n z-index: 99;\n width: 100%;\n background-color: #EEE;\n height: 70px;\n padding-top: 10px;\n}\n\n.btn-group-vertical > .btn.simbtn {\n margin: 8px 0;\n}\n\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-bottom: 5px;\n}\n\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n\n/***** BEGIN Overwrite Bootstrap-CSS *****/\n\n/* .tab-content > .tab-pane:not(.active),\n.pill-content > .pill-pane:not(.active) {\n display: block;\n height: 0;\n overflow-y: hidden;\n} */\n.tooltip > .tooltip-inner {\n background-color: #333;\n}\n\n.tooltip > .tooltip-arrow {\n border-right-color: #333;\n}\n\n/*.container-fluid {\n padding-right: 16px;\n padding-left: 16px;\n}*/\n\n.nav-tabs > li + li {\n margin: 0;\n}\n\n#toolboxDiv {\n -webkit-overflow-scrolling: touch;\n}\n\n#toolboxDiv > .nav-tabs {\n border: 0;\n}\n\n#toolboxDiv > .nav-tabs li {\n width: 50%;\n text-align: center;\n border: none;\n}\n\n#toolboxDiv > .blocklyToolboxDiv {\n position: relative !important;\n}\n\n#toolboxDiv > .nav-tabs li > a.active {\n background-color: #E9ECEF;\n color: #333333;\n}\n\n#toolboxDiv > .nav-tabs li > a {\n background-color: #C0C0C0;\n color: #fff;\n margin: 0;\n padding: 6px 0;\n border: none;\n border-radius: 0;\n}\n\n/*#blocklyDiv .blocklyTreeRoot {\n padding: 6px 0;\n}*/\n\n.blocklyFlyoutBackground {\n fill-opacity: 0.925 !important;\n}\n\n.head-navi-icons:before {\n margin-right: 2px;\n}\n\n\n/*.nav#head-navigation-tabs {\n position: relative;\n width: auto;\n white-space: nowrap;\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.nav#head-navigation-tabs > li > a {\n margin: 0;\n border: 0;\n padding: 8px 16px 4px 16px;\n border-radius: 2px 2px 0 0;\n border-bottom: 4px solid #fff;\n background-color: #fff;\n}\n\n.nav#head-navigation-tabs > li > a:hover,\n.nav#head-navigation-tabs > li > a:active,\n.nav#head-navigation-tabs > li > a:focus {\n border-bottom: 4px solid #eee;\n background-color: #eee;\n}\n\n\n.nav#head-navigation-tabs > li.active > a:hover,\n.nav#head-navigation-tabs > li.active > a:active,\n.nav#head-navigation-tabs > li.active > a.focus {\n background-color: #BACC1E;\n border-bottom: 4px solid #BACC1E;\n}\n\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n padding: 12px;\n margin: 4px 4px 4px 16px;\n}\n\n.navbar-toggle ~ .navbar-toggle {\n margin: 4px 4px 4px 0;\n}\n\n.navbar-default .navbar-toggle:not(:first-child) {\n margin: 4px 4px 4px 4px;\n}\n\n.navbar-default {\n background-color: #fff;\n}\n\n.navbar-default .navbar-nav > li > a:hover {\n background-color: #BACC1E;\n}\n\n.navbar-default .navbar-toggle:hover {\n background-color: #BACC1E;\n}\n\n.navbar-fixed-bottom {\n border: 0;\n padding: 16px 68px;\n margin-bottom: 20;\n}\n\n.head-navi-title {\n margin-left: 6px;\n}\n\n.collapse.in > .nav li a {\n color: #333;\n}\n\n.collapse.in > .nav li.disabled a {\n color: #bbb;\n}*/\n\n.dropdown-menu:not(.editor) {\n border-radius: 2px;\n}\n\n.dropdown-menu > li > a > span.kbd {\n position: absolute;\n right: 20px;\n bottom: 0.4em;\n font-size: 0.8em;\n float: right;\n}\n\n#head-navigation-program-edit .dropdown-menu > li > a, #head-navigation-configuration-edit .dropdown-menu > li > a {\n position: relative;\n padding-right: 70px;\n}\n\n.dropdown-menu > li:not(.disabled) > a:hover,\n.dropdown-menu > li:not(.disabled) > a:focus {\n background-color: #BACC1E !important;\n}\n\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #bbb;\n}\n\n#tokenValue {\n text-transform: uppercase\n}\n\n#roberta {\n background-image: url(/css/img/Roberta_ears_up.png);\n width: 160px;\n height: 180px;\n background-repeat: no-repeat;\n position: absolute;\n bottom: -12px;\n right: -20px;\n background-size: contain;\n}\n\n#version-info {\n position: absolute;\n top: 16px;\n right: 60px;\n font-size: 24px;\n font-weight: 500;\n}\n\n.cover {\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n z-index: 2000;\n background-color: #ddd;\n}\n\n.connector {\n margin-top: 19px;\n position: absolute;\n right: 5%;\n z-index: 900;\n fill: #BACC1E;\n}\n\n.border-dotted {\n border-right: 1px dashed #afca04;\n}\n\n.popupTitel {\n margin-top: 20px;\n margin-bottom: 10px;\n text-align: center;\n}\n\n.popup-checkbox {\n color: #bbb;\n font-size: 14px;\n padding: 0 !important;\n padding-bottom: 16px !important;\n}\n\n.download-checkbox {\n color: #bbb;\n font-size: 14px;\n padding-bottom: 16px !important;\n padding-left: 16px !important;\n width: 100%;\n}\n\n.popup-checkbox input,\n.download-checkbox input {\n position: relative;\n top: 2px;\n margin-right: 6px;\n margin-bottom: 6px;\n}\n\n.popup-checkbox label,\n.download-checkbox label {\n font-weight: normal;\n display: initial;\n}\n\n.download-checkbox ul {\n list-style: none;\n}\n\n#download-instructions {\n list-style-type: none;\n padding: 0;\n margin: 32px 16px 0 16px;\n}\n\n#download-instructions li {\n font-size: 20px;\n margin-bottom: 48px;\n padding-left: 2em;\n position: relative;\n}\n\n#download-instructions .typcn-Roberta::before {\n position: absolute;\n left: 0;\n padding-top: 4px;\n}\n\n#programLink a {\n text-decoration: underline;\n color: #337ab7;\n}\n\n.clearer {\n clear: both;\n}\n\n.simWindow {\n position: absolute;\n left: 50px;\n top: 200px;\n z-index: 99;\n display: none;\n}\n\n.simWindow#simValuesWindow button.close {\n top: 4px;\n right: 14px;\n position: absolute;\n}\n\n.simWindow#simRobotWindow button.close {\n top: 4px;\n right: 16px;\n position: absolute;\n z-index: 99999;\n}\n\n#VariablesContent {\n height: 300px;\n overflow: auto;\n width: auto;\n}\n\n#simValuesContent label {\n display: inline-block;\n width: 150px;\n margin-right: 6px;\n margin-left: 10px;\n}\n\n#simValuesContent div > div {\n white-space: nowrap;\n max-height: 70vh;\n}\n\n#simValuesContent span {\n display: inline-block;\n padding: 0 6px;\n width: 60px;\n}\n\n.bigNumber {\n color: #8fa402;\n font-size: large;\n font-weight: bold;\n}\n\n.simWindow .modal-dialog {\n width: max-content;\n min-width: max-content;\n margin: 0;\n pointer-events: all;\n}\n\n.simWindow text {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.simWindow div {\n width: 100%;\n}\n\n.modal-backdrop.in {\n opacity: .3;\n}\n\n.modal-content {\n border: 0;\n border-radius: 2px;\n}\n\n.modal-body {\n padding: 0 16px;\n}\n\n.modal-body.left-inner-addon {\n word-break: break-word;\n}\n\n#startup-message-statustext h4 {\n font-weight: 500;\n}\n\n.modal-header,\n.modal-footer {\n border: 0;\n padding: 16px 16px 20px;\n text-align: left;\n}\n\n.form-control:focus, .form-select:focus {\n box-shadow: none;\n -webkit-box-shadow: none;\n -moz-box-shadow: none;\n -moz-transition: none;\n -webkit-transition: none;\n border: 1px solid #afca04;\n}\n\n.modal-footer {\n justify-content: space-between;\n}\n\n.with-devider {\n margin-top: 10px;\n}\n\n.btn-toolbar.editor {\n padding: 10px 0 0 0;\n background-color: #eee;\n}\n\n.btn-info, .btn-default.show {\n background-color: #afca04;\n border-color: #afca04;\n}\n\n.btn.btn-link.btn-user {\n background-color: transparent;\n color: var(--bs-btn-color);\n text-decoration: none;\n padding: 0\n}\n\n.btn.btn-link.btn-user:hover, .btn.btn-link.btn-user:focus, .btn.btn-link.btn-user:hover:focus {\n text-decoration: underline;\n background-color: transparent;\n color: var(--bs-btn-hover-color);;\n}\n\n.btn {\n border-radius: 2px;\n}\n\n.btn-info:hover,\n.btn-info:focus,\n.btn-info.focus,\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-color: #afca04;\n border-color: #afca04;\n}\n\na.btn.editor {\n display: flex;\n align-items: center;\n}\n\n.btn:hover:not(.editor, .start),\n.btn:active:focus:not(.editor, .start),\n.btn:focus:not(.editor, .start),\n.btn .focus:not(.editor, .start),\n.btn:active:not(.editor, .start),\n.btn .active:not(.editor, .start),\n.open > .dropdown-toggle .btn:not(.editor, .start) {\n background-color: #C7D92B;\n color: #fff;\n -webkit-box-shadow: none;\n box-shadow: none;\n outline: none;\n}\n\n.btn:not(.editor, .galleryLike, .start) {\n margin-right: 16px;\n margin-left: 0;\n background-color: #BACC1E;\n color: #fff;\n font-size: 16px;\n border: none;\n border-radius: 2px;\n -webkit-box-shadow: none;\n box-shadow: none;\n cursor: pointer;\n}\n\nbutton.editor {\n background-color: #dedede;\n border-radius: 2px;\n}\n\nbutton.editor:hover {\n background-color: #eee;\n}\n\n.simbtn.btn:hover,\n.simbtn.btn:active:focus,\n.simbtn.btn:focus,\n.simbtn.btn.focus,\n.simbtn.btn:active,\n.simbtn.btn.active,\n.open > .dropdown-toggle.simbtn.btn {\n background-color: #f29400;\n}\n\n#simEditButtons > .typcn-chart-line-outline {\n fill: #BACC1E;\n}\n\n.simKey:hover {\n cursor: pointer;\n}\n\n.fixed-table-toolbar .btn:not(.start) {\n width: 48px;\n height: 48px;\n margin-right: 4px;\n margin-left: 0;\n background-color: #BACC1E;\n color: #fff;\n font-size: 24px;\n border: none;\n border-radius: 2px;\n -webkit-box-shadow: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.fixed-table-toolbar button.btn:last-child {\n margin-right: 0;\n}\n\n.fixed-table-toolbar .btn:hover:not(.start) {\n background-color: #C7D92B;\n}\n\n.btn-group.pull-right > .btn:last-child {\n margin-right: 0;\n}\n\ntable .typcn-flow-merge:before,\ntable .typcn-chevron-left:before,\ntable .typcn-chevron-right:before {\n display: inline-block;\n transform: rotate(-90deg);\n}\n\ntable:not(#robotTable) [data-bs-toggle=\"collapse\"]:after {\n content: url(\"data:image/svg+xml;utf8,\");\n float: right;\n}\n\n.fixed-table-container thead th .both {\n background-image: url(\"../css/svg/arrow-unsorted.svg\");\n}\n\n.fixed-table-container thead th .asc {\n background-image: url(\"../css/svg/arrow-sorted-up.svg\");\n}\n\n.fixed-table-container thead th .desc {\n background-image: url(\"../css/svg/arrow-sorted-down.svg\");\n}\n\ntable:not(#robotTable) [data-bs-toggle=\"collapse\"].collapsed:after {\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.modal-body > .bootstrap-table {\n margin: 0;\n}\n\n.blbtn {\n width: 48px;\n height: 48px;\n margin-right: 2px;\n margin-left: 0;\n margin-bottom: 6px;\n background-color: #fff;\n color: #333;\n font-size: 0;\n border: 1px solid #D8D8D8;\n border-radius: 2px;\n -webkit-box-shadow: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.blbtn:hover {\n background-color: #BACC1E;\n}\n\n.modal-footer .btn + .btn {\n margin-left: 0;\n margin-right: 0;\n}\n\n.btn-close {\n --bs-btn-close-focus-shadow: 0;\n}\n\n.close:hover,\n.close:focus {\n color: #333;\n opacity: 1;\n}\n\n#popup-robot-main {\n visibility: hidden;\n}\n\n#popup-robot-main.slick-initialized {\n visibility: visible;\n}\n\n.robot-container {\n border-radius: 4px;\n border: 1px solid #ddd;\n width: 140px;\n height: 88px;\n display: inline-grid;\n margin: 20px;\n padding: 13px 0;\n text-align: center;\n cursor: pointer;\n}\n\n.startupImages {\n top: 50%;\n position: relative;\n margin-top: 0;\n}\n\n.robot-label {\n display: block;\n line-height: 14px;\n}\n\n.robot-icon {\n position: relative;\n font-size: 40px;\n right: -16px;\n}\n\n.typcn.robot-icon:before {\n margin: 0;\n}\n\n.bootstrap-tagsinput {\n border: 10px solid #eee;\n padding: 4px 6px;\n color: #555;\n white-space: nowrap;\n overflow-x: auto;\n width: 100%;\n word-break: break-word;\n -webkit-hyphens: auto;\n -moz-hyphens: auto;\n hyphens: auto;\n}\n\n.bootstrap-tagsinput .tag {\n background-color: #bbb;\n margin-right: 2px;\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n\n}\n\n/***** END Overwrite Bootstrap-CSS *****/\n\n/***** BEGIN typicons *****/\n\n.dropdown-menu .typcn:before {\n margin-right: 6px;\n}\n\n#toolboxDiv > .nav-tabs .typcn:before {\n position: relative;\n top: 1px;\n}\n\n.blbtn.typcn:before {\n margin-right: 0;\n font-size: 36px;\n}\n\n.bootstrap-table .typcn:before {\n margin-right: 0;\n}\n\n.bootstrap-table .no-records-found td {\n color: #333333;\n}\n\n.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {\n background-color: #E9ECEF;\n}\n\n.input-typcn:before {\n font-size: 22px;\n position: relative;\n top: 4px;\n left: -1px;\n}\n\n/***** END typicons *****/\n\nlabel.form-invalid {\n position: relative;\n width: 100%;\n padding: 6px 6px;\n background: rgb(221, 221, 221);\n background: rgba(221, 221, 221, 0.9);\n color: #E2001A;\n border-radius: 2px;\n font-size: 16px;\n font-weight: normal;\n z-index: 10;\n}\n\nlabel.form-invalid:after {\n right: 10%;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n border: 6px solid transparent;\n border-top-color: #E2001A;\n margin-top: 28px;\n z-index: 20;\n}\n\n#div-login-forms .form-group {\n position: relative;\n}\n\n.form-group {\n width: 100%;\n}\n\n.form-group .hint {\n position: relative;\n border-radius: 2px;\n margin-top: 12px;\n color: #333;\n background: rgb(221, 221, 221);\n background: rgba(221, 221, 221, 0.9);\n font-size: 16px;\n padding: 6px;\n z-index: 11;\n width: 100%;\n}\n\n.hint:before {\n position: absolute;\n content: '';\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 6px 6px 6px;\n border-color: transparent transparent #8FA402 transparent;\n right: 75%;\n top: -6px;\n}\n\n/***** BEGIN Input-Fields *****/\n\n.capitalLetters {\n text-transform: uppercase;\n}\n\n.input-group-addon {\n border: 1px solid #afca04;\n background: #fff;\n padding: 6px 6px 0 10px;\n border-radius: 2px;\n}\n\n/* enable absolute positioning */\n\n.inner-addon {\n position: relative;\n}\n\n/* style icon */\n\n.inner-addon .typcn {\n position: absolute;\n padding: 0 6px;\n left: 0;\n color: #c7c7c7;\n font-size: 20px;\n}\n\n#programShareWith {\n margin-right: 15px;\n}\n\ninput.shareLabelInput.form-control, select.shareLabelInput.form-control {\n margin: 0;\n}\n\nlegend {\n margin-bottom: 0;\n}\n\n.progName:before {\n margin-right: 0;\n}\n\n/***** END JQuery-Popup-Input-Fields *****/\n\n.bootstrap-table, .table {\n --bs-table-color: #333333;\n}\n\n.bootstrap-table:not(#start .bootstrap-table), .table:not(#robotTable) {\n cursor: pointer;\n}\n\n.bootstrap-table a {\n color: #333;\n margin-right: 4px;\n margin-left: 4px;\n text-decoration: none;\n}\n\n/*.bootstrap-table .extend:a {\n margin-right: 0;\n margin-left: 0;\n}*/\n\n.bootstrap-table a.disabled {\n color: #bbb;\n pointer-events: none;\n}\n\n/*.filters select {\n appearance: auto;\n}*/\n\n.bootstrap-table .fixed-table-toolbar .float-left, .bootstrap-table .fixed-table-toolbar .float-right {\n margin-top: 0;\n}\n\n.bs-bars.float-left {\n width: 100%;\n}\n\ntd.bs-checkbox {\n padding: 14px 8px 0 8px !important;\n}\n\n.bootstrap-table a:hover,\n.bootstrap-table a:focus {\n color: #000;\n text-decoration: none;\n}\n\n.bootstrap-table a > span {\n padding: 0;\n}\n\n.galleryTable {\n position: absolute;\n}\n\n.galleryTable tbody {\n display: flex;\n flex-wrap: wrap;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.galleryTable tr > td {\n background-color: transparent;\n}\n\n.galleryTable .typcn:before {\n position: absolute;\n left: 50%;\n margin-left: -40px;\n color: #eee;\n font-size: 80px;\n top: 10px;\n}\n\na.bookmark.typcn:before {\n color: #39378b;\n font-size: 34px;\n opacity: .8;\n padding: 16px;\n position: relative;\n left: 40px;\n top: 16px;\n z-index: 30;\n}\n\na.bookmark {\n width: 66px;\n height: 66px;\n display: block;\n right: 0;\n top: 0;\n margin: 0;\n position: absolute;\n border-radius: 50%;\n}\n\na.bookmark.typcn:hover:before {\n font-size: 30px;\n padding: 18px;\n opacity: 1;\n top: 18px;\n}\n\n#start .nav-link {\n background: none;\n border-bottom: 0.1875rem solid rgba(57, 55, 139, 0);\n color: rgba(0, 0, 0, .5);\n margin-right: 1.25rem;\n padding: 0 0 0.625rem;\n}\n\n#start .nav-link.active {\n border-bottom: 0.1875rem solid rgba(57, 55, 139, 1);\n color: #39378b;\n font-weight: 700;\n}\n\n#start .nav-link:hover {\n color: #39378b;\n}\n\n#start .dropdown-menu {\n border-radius: 5px;\n}\n\n#start .dropdown-toggle.show::after {\n transform: rotate(180deg);\n}\n\nbutton.btnFilter.start {\n display: inline-block;\n font-weight: 700;\n padding: 0.9375rem;\n text-decoration: none;\n color: #39378b;\n background-color: #ffffff;\n margin-left: 6px !important;\n border: none;\n border-radius: 5px !important;\n}\n\nbutton.btnFilter.start:hover, button.filter.start.show {\n background: #39378b;\n color: #fff;\n}\n\n#start .fixed-table-toolbar {\n min-height: 74px;\n}\n\n#start .galleryTable button.pick.start {\n display: inline-block;\n padding: 10px 50px 10px 15px;\n text-decoration: none;\n background-color: #39378b;\n color: #ffffff;\n float: right;\n margin: 12px -9px -9px 0;\n position: relative;\n border-radius: 5px 0;\n}\n\nbutton#more.start {\n display: inline-block;\n padding: 10px 50px 10px 15px;\n text-decoration: none;\n background-color: #39378b;\n color: #ffffff;\n margin: 0 0 20px;\n position: relative;\n border-radius: 5px;\n width: auto;\n padding: 10px;\n}\n\n\n#start div.start.typcn {\n position: relative;\n}\n\n#start .galleryTable button.pick.start:before {\n position: absolute;\n font-size: 24px;\n transform: translate(0px, 0px);\n transition-duration: 0.3s;\n margin: 0;\n right: 0;\n}\n\n#start .galleryTable button.pick.start:hover:before {\n transform: translate(5px, 0);\n transition-duration: 0.3s;\n}\n\n#start .galleryTable div.start.typcn:hover {\n background-color: red;\n}\n\n#start .fixed-table-container.fixed-height, #start .fixed-table-body {\n border: none;\n height: auto !important;\n margin: 0 -1.5em;\n}\n\n#start .galleryTable.table {\n position: relative;\n}\n\n#start .galleryTable td {\n color: #333;\n background-color: #ffffff;\n border-radius: 5px;\n}\n\n.table-hover > tbody > tr:hover > * {\n --bs-table-color-state: 0;\n --bs-table-bg-state: 0;\n}\n\na.page-link {\n --bs-pagination-active-bg: #BACC1E;\n --bs-pagination-active-border-color: #BACC1E;\n}\n\na.page-link:focus, a.page-link:hover {\n box-shadow: none;\n}\n\n.galleryIcon.typcn:before {\n position: relative;\n color: #fff;\n font-size: 24px;\n font-weight: 700;\n top: 4px;\n left: 40px;\n}\n\n.fixed-table-container.fixed-height.has-card-view {\n overflow: auto;\n}\n\nspan.card-view-title {\n min-width: auto !important;\n}\n\n.tutorialIcon.typcn:before {\n position: relative;\n color: #fff;\n font-size: 24px;\n top: 0;\n left: 0;\n margin-left: 0;\n margin-right: 12px;\n width: 1.5em;\n display: inline-block;\n}\n\ndiv.imgSol img, div.imgSol svg {\n max-width: 100%;\n overflow: hidden;\n}\n\n/*#galleryList .fixed-table-toolbar {\n display: flex;\n align-items: center;\n}*/\n\n#galleryList .fixed-table-toolbar .pull-left {\n flex: 1;\n}\n\n#galleryList .pull-right.search {\n display: none;\n}\n\n.listToolbar {\n display: flex;\n /* align-items: center;*/\n justify-content: space-between;\n position: absolute;\n top: 10px;\n}\n\n/*#galleryListToolbar .filters, #tutorialListToolbar .filters {\n display: flex;\n align-items: center;\n margin-top: 5px;\n}\n\n#galleryListToolbar .filters .form-control, #tutorialListToolbar .filters .form-control {\n margin: 0 4px; !*TODO a*!\n top: 5px;\n}\n\n#galleryListToolbar .filters .form-group {\n display: flex;\n}\n\n#galleryListToolbar .filters .form-group label {\n text-align: right;\n top: 5px;\n justify-content: right;\n display: flex;\n align-items: center;\n width: 100%;\n}*/\n\n/*#galleryTable .galleryNode {\n padding: 24px;\n float: left;\n}\n\n#galleryTable .listNode td {\n display: grid;\n grid-template-columns: 150px 1fr 300px;\n grid-template-rows: 0.4fr 0.6fr 0.5fr 0.5fr;\n gap: 16px;\n grid-template-areas: \"logo description likes\" \"logo description views\" \"name author tags\" \"name date like_btn\";\n padding: 16px;\n justify-content: center;\n align-items: center;\n max-height: 200px;\n}\n\n#galleryTable .listNode td .card-view:nth-child(1) {\n grid-area: logo;\n position: relative;\n align-self: flex-start;\n}\n\n#galleryTable .listNode td .card-view:nth-child(2) {\n grid-area: name;\n align-self: flex-end;\n}\n\n#galleryTable .listNode td .card-view:nth-child(3) {\n grid-area: description;\n}\n\n#galleryTable .listNode td .card-view:nth-child(4) {\n grid-area: author;\n}\n\n#galleryTable .listNode td .card-view:nth-child(5) {\n grid-area: date;\n}\n\n#galleryTable .listNode td .card-view:nth-child(6) {\n grid-area: likes;\n}\n\n#galleryTable .listNode td .card-view:nth-child(7) {\n grid-area: views;\n}\n\n#galleryTable .listNode td .card-view:nth-child(8) {\n grid-area: tags;\n}\n\n#galleryTable .listNode td .card-view:nth-child(9) {\n grid-area: like_btn;\n}\n\n#galleryTable .listNode td .card-view:nth-child(9) .galleryLike {\n bottom: 0;\n}*/\n\n.filter, .form-control:not(#start .fixed-table-toolbar>.float-right>.form-control) {\n border: 1px solid #afca04;\n background-color: #ffffff;\n border-radius: 2px;\n height: 48px;\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.form-control:not(#start .fixed-table-toolbar>.float-right>.form-control) {\n appearance: auto;\n}\n\n#start .fixed-table-toolbar > .float-right > .form-control {\n height: 54px;\n border-color: #39378b;\n margin-left: 6px;\n}\n\n.search > label {\n white-space: nowrap;\n margin-top: 12px;\n margin-left: 6px;\n max-width: 100%;\n}\n\n.search.float-right {\n max-width: calc(100% - 100px);\n}\n\n.cardViewName {\n font-weight: bold;\n font-size: 24px;\n text-align: center;\n margin-top: 80px;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n max-height: 34px;\n min-height: 34px;\n margin-bottom: 12px;\n -webkit-hyphens: auto;\n -moz-hyphens: auto;\n hyphens: auto;\n word-break: break-all;\n}\n\n.robotName {\n font-weight: bold;\n font-size: 20px;\n text-align: center;\n min-height: 52px;\n max-height: 52px;\n}\n\n.robotImage {\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 60%;\n cursor: pointer;\n}\n\n.robotImage img {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n#start button.accordion-button {\n padding: 6px 12px;\n}\n\n#start label.form-check-label {\n margin-left: 12px;\n margin-top: 4px;\n}\n\n/*************************************\n***** New Start Page 2024 ***** \n*************************************/\n\n.transition, .button-big, .button, .button-big--arrow, .button-big.icon::after, .button-big--quaternary::after, .button-big--tertiary::after, .button-big--secondary::after, .button-big--primary::after {\n transition: all 0.3s;\n}\n\n/*************************************\n***** Typography *****\n*************************************/\n\n/*************************************\n***** Headlines *****\n*************************************/\n\nh1, h2, h3, h4, h5 {\n font-weight: 700;\n}\n\nh1 {\n font-size: 30px;\n line-height: 40px;\n margin-bottom: 30px;\n}\n\nh2 {\n font-size: 30px;\n line-height: 40px;\n margin-bottom: 20px;\n}\n\nh3 {\n font-size: 30px;\n line-height: 40px;\n margin-bottom: 30px;\n}\n\nh4 {\n font-size: 20px;\n line-height: 30px;\n}\n\nh5 {\n font-size: 20px;\n line-height: 30px;\n}\n\n.tint {\n display: inline-block;\n padding: 10px 20px;\n margin: 0 -10px 0 -10px;\n mix-blend-mode: multiply;\n color: #fff;\n}\n\n.tint--primary {\n background: #39378B;\n transform: rotate(1deg);\n position: relative;\n top: 5px;\n}\n\n.tint--secondary {\n background: #FDC300;\n transform: rotate(-1deg);\n}\n\n.tint--tertiary {\n background: #33B8CA;\n transform: rotate(-2deg);\n}\n\n.tint--quaternary {\n background: #88BCE2;\n transform: rotate(1deg);\n position: relative;\n top: -8px;\n}\n\n/*************************************\n***** Paragraph & Lists *****\n*************************************/\n\np {\n font-size: 16px;\n line-height: 24px;\n margin-bottom: 15px;\n}\n\np:last-child {\n margin-bottom: 0;\n}\n\np.teaser {\n font-size: 20px;\n line-height: 30px;\n}\n\np.teaser:last-child {\n margin-bottom: 15px;\n}\n\np.teaser + .button {\n margin-top: 20px;\n}\n\n/*************************************\n***** Links *****\n*************************************/\n\na {\n color: #39378B;\n text-decoration: underline;\n}\n\n@media (hover: hover) {\n a:hover {\n cursor: pointer;\n text-decoration: none;\n }\n}\n\n/*************************************\n***** Buttons *****\n*************************************/\n\n.button-big--arrow, .button-big.icon::after, .button-big--quaternary::after, .button-big--tertiary::after, .button-big--secondary::after, .button-big--primary::after {\n content: \"\";\n height: 30px;\n width: 30px;\n background-repeat: no-repeat;\n background-size: contain;\n position: absolute;\n bottom: 15px;\n right: 20px;\n}\n\n@media (hover: hover) {\n .button-big--arrow:hover, .button-big.icon:hover::after, .button-big--quaternary:hover::after, .button-big--tertiary:hover::after, .button-big--secondary:hover::after, .button-big--primary:hover::after {\n right: 15px;\n }\n}\n\n.button {\n display: inline-block;\n border-radius: 5px;\n text-decoration: none;\n font-weight: 700;\n padding: 15px;\n}\n\n.button--light {\n color: #39378B;\n background: #fff;\n}\n\n.button.show {\n background: #39378b;\n color: #fff;\n}\n\n@media (hover: hover) {\n .button:hover {\n background: #39378b;\n color: #fff;\n }\n}\n\n.button-big {\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: 10px 80px 10px 15px;\n color: #000;\n text-decoration: none;\n border-radius: 5px;\n}\n\n@media (min-width: 768px) {\n .button-big {\n padding: 15px 15px 50px 15px;\n }\n}\n\n@media (min-width: 992px) {\n .button-big {\n padding: 15px 80px 15px 20px;\n }\n}\n\n.button-big--primary {\n background: rgba(57, 55, 139, 0.1);\n border: 1px solid rgba(57, 55, 139, 0.5);\n position: relative;\n}\n\n.button-big--primary::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n\n@media (hover: hover) {\n .button-big--primary:hover {\n background: rgba(57, 55, 139, 0.2);\n border: 1px solid #39378b;\n }\n}\n\n.button-big--primary.icon {\n background: #39378b;\n}\n\n.button-big--secondary {\n background: rgba(253, 195, 0, 0.1);\n border: 1px solid rgba(253, 195, 0, 0.5);\n position: relative;\n}\n\n.button-big--secondary::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n\n@media (hover: hover) {\n .button-big--secondary:hover {\n background: rgba(253, 195, 0, 0.2);\n border: 1px solid #fdc300;\n }\n}\n\n.button-big--secondary.icon {\n background: #fdc300;\n}\n\n.button-big--tertiary {\n background: rgba(51, 184, 202, 0.1);\n border: 1px solid rgba(51, 184, 202, 0.5);\n position: relative;\n}\n\n.button-big--tertiary::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n\n@media (hover: hover) {\n .button-big--tertiary:hover {\n background: rgba(51, 184, 202, 0.2);\n border: 1px solid #33b8ca;\n }\n}\n\n.button-big--tertiary.icon {\n background: #33b8ca;\n}\n\n.button-big--quaternary {\n background: rgba(136, 188, 226, 0.1);\n border: 1px solid rgba(136, 188, 226, 0.5);\n position: relative;\n}\n\n.button-big--quaternary::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n\n@media (hover: hover) {\n .button-big--quaternary:hover {\n background: rgba(136, 188, 226, 0.2);\n border: 1px solid #88bce2;\n }\n}\n\n.button-big--quaternary.icon {\n background: #88bce2;\n}\n\n.button-big.icon {\n border: none;\n color: #fff;\n padding: 15px 80px 10px 15px;\n}\n\n@media (min-width: 992px) {\n .button-big.icon {\n padding: 40px 80px 40px 40px;\n }\n}\n\n.button-big.icon::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n\n@media (hover: hover) {\n .button-big.icon:hover {\n box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);\n }\n}\n\n.button-big.icon svg {\n fill: #fff;\n height: 25px;\n width: auto;\n margin-bottom: 20px;\n align-self: flex-start;\n}\n\n/*************************************\n***** Sections *****\n*************************************/\n\nsection {\n width: 100%;\n}\n\n.section--white {\n background: #fff;\n}\n\n.section--light {\n background: #e9ecef;\n}\n\n#start {\n background: #fff;\n}\n\n/*************************************\n***** Banner *****\n*************************************/\n\n#startup-message-statustext {\n background: #39378B;\n color: #fff;\n position: absolute;\n z-index: 999;\n bottom: 50px;\n right: 50px;\n width: 100%;\n max-width: 450px;\n border-radius: 5px;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);\n}\n\n#startup-message-statustext h4, #startup-message-statustext p {\n padding: 20px;\n}\n\n/*************************************\n***** NEPO Block in Colors *****\n*************************************/\n\n.nepo {\n display: inline-block;\n}\n\n.nepo::before {\n content: \"\";\n display: inline-block;\n width: 85px;\n height: 20px;\n background-image: url(\"img/nepo.svg\");\n background-position: left bottom;\n background-repeat: no-repeat;\n background-size: contain;\n margin-right: 5px;\n}\n\n/*************************************\n***** News *****\n*************************************/\n\n.teaser-news {\n display: flex;\n background: #e9ecef;\n padding: 15px;\n border-radius: 5px;\n}\n\n@media (min-width: 992px) {\n .teaser-news {\n padding: 40px;\n }\n}\n\n.teaser-news--header {\n font-weight: 700;\n font-size: 20px;\n line-height: 30px;\n margin-bottom: 10px;\n}\n\n.teaser-news--body h3 {\n color: #39378B;\n}\n\n.teaser-news--image {\n width: 100%;\n height: auto;\n}\n\n/*************************************\n***** Footer *****\n*************************************/\n\n#start footer {\n border-top: 1px solid rgba(0, 0, 0, 0.2);\n padding-bottom: 96px;\n width: 100%;\n}\n\n#start footer img {\n width: 100%;\n}\n\n#start footer p,\n#start footer .nav-link {\n font-size: 14px;\n line-height: 20px;\n margin-right: 0;\n}\n\n#start footer .nav-item {\n background: none;\n}\n\n#start footer .nav-item:hover {\n background: none;\n}\n\n#start footer .nav-link {\n padding: 5px 0;\n color: #6c757d;\n}\n\n/*************************************\n***** Safari Flexbox Fix for 100% Height *****\n*************************************/\n@supports (background: -webkit-named-image(i)) {\n .flexbox-fix {\n display: flex;\n }\n}\n\n.galleryTable.table, .galleryTable tr {\n border: 0.75em solid #E9ECEF;\n border-collapse: collapse;\n}\n\n#share-with-gallery .galleryTable tr, #share-with-gallery .galleryTable.table {\n border-color: #fff;\n}\n\ndiv.galleryLike {\n color: #fff;\n text-align: center;\n bottom: -20px;\n}\n\ndiv.galleryLike a > span {\n color: #fff;\n}\n\nbutton.galleryLike.btn {\n color: white;\n border: 2px solid white;\n border-radius: 2px;\n opacity: 0.75;\n}\n\nbutton.galleryLike.btn:hover, button.galleryLike.btn:focus, button.galleryLike.btn:active, button.galleryLike.btn:focus:active {\n background-color: inherit;\n font-weight: 600;\n opacity: 1;\n}\n\ndiv.cardViewDescription {\n overflow: hidden;\n text-overflow: ellipsis;\n margin-bottom: 12px;\n position: relative;\n min-height: 42px;\n word-break: break-word;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\ndiv.cardViewInfo {\n overflow: hidden;\n text-overflow: ellipsis;\n position: relative;\n word-break: break-word;\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n}\n\ndiv.cardViewLabel {\n display: inline-block;\n min-width: 30%;\n}\n\n.galleryDescription:before, .tutorialOverview:before {\n content: '...';\n position: absolute;\n right: 0;\n bottom: 0;\n}\n\n.galleryDescription:after, .tutorialOverview:after {\n content: '';\n position: absolute;\n right: 0;\n width: 1em;\n height: 2.5em;\n margin-top: -0.3em;\n}\n\n.galleryDescription.color0:after, .tutorialOverview.color0:after {\n background: #33B8CA;\n}\n\n.galleryDescription.color1:after, .tutorialOverview.color1:after {\n background: #EBC300;\n}\n\n.galleryDescription.color2:after, .tutorialOverview.color2:after {\n background: #005A94;\n}\n\n.galleryDescription.color3:after, .tutorialOverview.color3:after {\n background: #179C7D;\n}\n\n.galleryDescription.color4:after, .tutorialOverview.color4:after {\n background: #F29400;\n}\n\n.galleryDescription.color5:after, .tutorialOverview.color5:after {\n background: #E2001A;\n}\n\n.galleryDescription.color6:after, .tutorialOverview.color6:after {\n background: #EB6A0A;\n}\n\n.galleryDescription.color7:after, .tutorialOverview.color7:after {\n background: #8FA402;\n}\n\n.galleryDescription.color8:after, .tutorialOverview.color8:after {\n background: #BACC1E;\n}\n\n.galleryDescription.color9:after, .tutorialOverview.color9:after {\n background: #9085BA;\n}\n\n.galleryDescription.color10:after, .tutorialOverview.color10:after {\n background: #FF69B4;\n}\n\n.galleryDescription.color11:after, .tutorialOverview.color11:after {\n background: #DF01D7;\n}\n\n.galleryAuthor {\n overflow: hidden;\n word-break: break-all;\n height: 22px;\n}\n\n.galleryLike.typcn:before {\n position: inherit;\n font-size: 16px;\n color: #fff;\n}\n\n.galleryTags {\n background-color: inherit;\n border: none;\n box-shadow: none;\n text-decoration: none;\n overflow: hidden;\n white-space: normal;\n padding: 0;\n height: 34px;\n line-height: 34px;\n}\n\n.galleryTags input {\n height: 0;\n}\n\n.galleryTags > .tag {\n background-color: #bbb;\n line-height: 34px;\n white-space: normal;\n}\n\n.galleryTable td {\n border: none !important;\n color: #FFFFFF;\n width: 100vw;\n position: relative;\n}\n\n#galleryPreview tr {\n width: 100%;\n}\n\n.dataTables_wrapper {\n margin: 0 68px;\n}\n\n#progList table tbody tr.selected,\n#confList table tbody tr.selected,\n#relationsList table tbody tr.selected,\n#userGroupList table tbody tr.selected,\n#userGroupMemberList table tbody tr.selected {\n background-color: #BACC1E;\n}\n\n#progList .fixed-table-container tbody .selected td,\n#userGroupList .fixed-table-container tbody .selected td,\n#userGroupMemberList .fixed-table-container tbody .selected td {\n background-color: #BACC1E;\n}\n\n#progList table tbody tr:hover td:not(td:last-child),\n#confList table tbody tr:hover td:not(td:last-child),\n#relationsList table tbody tr:hover,\n#userGroupList table tr:hover td:not(td:last-child) {\n background-color: #BACC1E;\n}\n\na.delete:hover {\n color: #E2001A;;\n}\n\na.share:hover, a.gallery:hover, a.load:hover {\n color: #BACC1E;\n}\n\n.float-right.search.btn-group {\n max-width: calc(100% - 150px);\n}\n\n/*@media only screen and (max-width: 767px) {\n !* Manually set bootstrap < sm rules *!\n !*#progListToolbar .bars.pull-left {\n margin-bottom: 68px;\n }*!\n #progListScopeSelect {\n position: absolute;\n right: 0;\n bottom: calc(-100% - 10px);\n width: calc(100vw - 32px);\n margin: 0;\n }\n}*/\n\ninput[type=range] {\n -webkit-appearance: none;\n margin: 10px 0;\n width: 100%;\n}\n\ninput[type=range]:focus {\n outline: none;\n}\n\ninput[type=range]::-webkit-slider-runnable-track {\n width: 100%;\n height: 8px;\n cursor: pointer;\n animate: 0.2s;\n box-shadow: 0 0 0 #000000;\n background: #BACC1E;\n border-radius: 2px;\n border: 0 solid #000000;\n}\n\ninput[type=range]::-webkit-slider-thumb {\n box-shadow: 0 0 0 #000000;\n border: 1px solid #333333;\n height: 24px;\n width: 12px;\n border-radius: 2px;\n background: #FFFFFF;\n cursor: pointer;\n -webkit-appearance: none;\n margin-top: -8.5px;\n}\n\ninput[type=range]:focus::-webkit-slider-runnable-track {\n background: #BACC1E;\n}\n\ninput[type=range]::-moz-range-track {\n width: 100%;\n height: 8px;\n cursor: pointer;\n animate: 0.2s;\n box-shadow: 0 0 0 #000000;\n background: #BACC1E;\n border-radius: 2px;\n border: 0 solid #000000;\n}\n\ninput[type=range]::-moz-range-thumb {\n box-shadow: 0 0 0 #000000;\n border: 1px solid #333333;\n height: 24px;\n width: 12px;\n border-radius: 2px;\n background: #FFFFFF;\n cursor: pointer;\n}\n\ninput[type=range]::-ms-track {\n width: 100%;\n height: 8px;\n cursor: pointer;\n animate: 0.2s;\n background: transparent;\n border-color: transparent;\n color: transparent;\n}\n\ninput[type=range]::-ms-fill-lower {\n background: #BACC1E;\n border: 0 solid #000000;\n border-radius: 4px;\n box-shadow: 0 0 0 #000000;\n}\n\ninput[type=range]::-ms-fill-upper {\n background: #BACC1E;\n border: 0 solid #000000;\n border-radius: 4px;\n box-shadow: 0 0 0 #000000;\n}\n\ninput[type=range]::-ms-thumb {\n box-shadow: 0 0 0 #000000;\n border: 1px solid #333333;\n height: 24px;\n width: 12px;\n border-radius: 2px;\n background: #FFFFFF;\n cursor: pointer;\n}\n\ninput[type=range]:focus::-ms-fill-lower {\n background: #BACC1E;\n}\n\ninput[type=range]:focus::-ms-fill-upper {\n background: #BACC1E;\n}\n\n.table-dark {\n text-transform: uppercase;\n --bs-table-bg: #898989;\n --bs-table-border-color: none;\n /* color: #ffffff;\n text-align: left;\n padding-left: 10px;*/\n}\n\n#progList table,\n#confList table,\n#showMultipleSimPrograms table thead,\n#show-relations table {\n margin: 0;\n width: 100%;\n}\n\n.updatedRow {\n color: #BACC1E;\n}\n\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td {\n padding: 9px;\n}\n\n.dataTables_scrollBody {\n border-bottom: none !important;\n}\n\n#progList .programs,\n#confList .configurations,\n#relationsList .relations {\n border-bottom: 1px solid #eee;\n}\n\n#relationsListing {\n margin-bottom: 15px;\n}\n\n#progList > h2,\n#confList > h2,\n#logList > h2 {\n margin-left: 68px;\n}\n\n\n#create-user-group .modal-body {\n margin-bottom: 1em;\n}\n\n#userGroupList .btn-group > .btn:not(.dropdown-toggle),\n#userGroupMemberList .btn-group > .btn:not(.dropdown-toggle) {\n border-radius: 2px;\n}\n\n#userGroupMemberTable .member-name:not(.active),\n#userGroupMemberTable .edit-member-name:not(.active) {\n display: none;\n}\n\n#userGroupMemberTable .btn {\n display: inline-block;\n font-size: 16px;\n height: calc(1.25em + 12px);\n vertical-align: top;\n border: none;\n margin-right: 0;\n}\n\n#userGroupMemberTable.table-hover > tbody > tr:hover {\n background-color: transparent;\n}\n\n#userGroupMemberTable .btn:focus,\n#userGroupMemberTable .btn:active {\n outline: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n\n#userGroupMemberTable .member-name-column {\n position: relative;\n display: inline-block;\n padding: 8px;\n margin: -8px;\n}\n\n#userGroupMemberTable tr.selected .member-name-column.active {\n background-color: rgba(255, 255, 255, .5);\n}\n\n#userGroupMemberTable .member-name {\n display: inline-block;\n padding: 7px 0;\n line-height: 1.25;\n font-size: 16px;\n margin-left: 16px;\n}\n\n#userGroupMemberTable .edit-member-name,\n#userGroupMemberTable .edit-member-name form {\n display: inline-block;\n}\n\n#userGroupMemberTable .edit-member-name form {\n margin: 0;\n padding: 0;\n}\n\n#userGroupMemberTable .edit-member-name form label.form-invalid {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n margin-bottom: 0;\n transform: translateY(100%);\n}\n\n#userGroupMemberTable .edit-member-name form label.form-invalid:after {\n top: 0;\n right: 25%;\n margin-top: 0;\n transform: translateY(-100%);\n border-bottom-color: red;\n border-top-color: transparent;\n}\n\n#userGroupMemberTable .edit-member-name input.form-control {\n font-size: 16px;\n line-height: 1.25;\n padding: 4px 12px 4px 15px;\n margin: 0;\n}\n\n#userGroupMemberTable .edit-member-name .btn.iais-loading-spin:before {\n display: inline-block;\n animation: iais-loading-spin 1.2s linear infinite;\n}\n\n#simEditButtons > .btn-group {\n width: 48px;\n height: 48px;\n vertical-align: top;\n}\n\n#simEditButtons > .btn-group.open button {\n background-color: #e7e7e7;\n}\n\n#simEditButtons > .btn-group > .dropdown-menu {\n width: 48px;\n min-width: 48px;\n margin-top: 6px;\n}\n\n#simEditButtons > .btn-group > .dropdown-menu > li > a {\n padding-left: 5px;\n padding-right: 0;\n text-align: center;\n height: 35px;\n font-size: 28px;\n text-decoration: none;\n}\n\n.simChangeObject.disabled {\n color: #bbb;\n cursor: not-allowed;\n}\n\n#simStop, #simControl.typcn-media-stop {\n color: #E2001A !important;\n}\n\n#simStop.disabled {\n color: #F6B3B9 !important;\n cursor: not-allowed;\n}\n\n.disabled a, li.disabled {\n color: #bbb; /* TODO check where this is used: color: #F6B3B9 !important;*/\n cursor: not-allowed;\n pointer-events: none\n}\n\n.disabled:hover, .disabled *:hover {\n background: inherit;\n}\n\n#simButtons > .debug {\n color: #1C5A94;\n}\n\n.typcn-media-play-outline.rotated:before {\n display: inline-block;\n transform: rotate(-90deg);\n}\n\n@keyframes iais-loading-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.pull-none .pull-right {\n margin-left: 3px;\n}\n\n.pull-none .pull-left {\n margin-right: 3px;\n}\n\n@media only screen and (max-width: 992px) {\n #main-section {\n top: 60px;\n }\n\n #logoShowStart img {\n height: 44px;\n margin-top: 8px;\n width: auto;\n }\n\n #head-navigation-tabs > li > a.active {\n border-bottom: none;\n }\n\n #head-navigation {\n padding-bottom: 8px;\n }\n\n #roberta {\n width: 80px;\n height: 90px;\n bottom: -6px;\n right: -10px;\n }\n\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 36px;\n }\n\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: inherit;\n }\n\n .modal-dialog.bigModal {\n width: 80%;\n min-width: 300px;\n }\n\n #head-navigation-tabs li {\n float: none;\n width: auto;\n overflow: hidden;\n }\n\n .log {\n margin: 16px 16px;\n }\n\n .dataTables_wrapper {\n margin: 0 16px;\n }\n\n #progList > h2,\n #confList > h2,\n #relationsList > h2,\n #logList > h2 {\n margin-left: 16px;\n }\n\n .navbar-fixed-bottom {\n border: 0;\n padding: 16px 16px;\n margin-bottom: 0;\n }\n\n .simWindow {\n left: 6px;\n top: 60px;\n }\n}\n\n@media only screen and (max-width: 992px) {\n .border-dotted {\n border-right: 0;\n }\n}\n\n/*.modal-header h4 {\n font-size: 1em;\n}*/\n\nimg.img-responsive {\n height: 140px;\n margin: 0 auto;\n}\n\n@media only screen and (max-width: 768px) {\n #show-startup-message .slick-prev {\n left: -25px;\n }\n\n #show-startup-message .slick-next {\n right: -25px;\n }\n\n #show-startup-message #popup-robot-container {\n margin-left: 25px;\n margin-right: 25px;\n }\n}\n\n@media only screen and (max-width: 480px) {\n #show-startup-message .slick-slide.slick-center {\n transform: scale(1);\n }\n\n .robot-container {\n margin: 20px 8px;\n }\n}\n\n.enjoyhint_close_btn {\n border: 2px solid #BACC1E;\n}\n\n.enjoyhint_close_btn:active, .enjoyhint_close_btn:hover {\n background: #C7D92B;\n}\n\n@media print {\n div#show-startup-message {\n display: none !important;\n }\n\n svg.blocklySvg {\n overflow: visible;\n }\n\n .navbar {\n display: block;\n }\n\n .nav {\n display: block;\n }\n\n .headNavigationTabs {\n margin-top: 59px;\n z-index: 1\n }\n\n .navbar-collapse {\n padding-right: 10px;\n padding-left: 10px;\n }\n\n .collapse {\n display: block;\n visibility: visible;\n }\n\n #blocklyDiv {\n border: none;\n }\n\n div#simButtonsCollapse {\n display: none;\n }\n\n .blocklyToolboxDiv {\n display: none !important;\n }\n\n .blocklyMainBackground {\n stroke: none !important;\n }\n\n #rightMenuDiv {\n display: none;\n }\n\n g.blocklyButtons {\n display: none;\n }\n\n .blocklyMainBackground {\n stroke: none;\n }\n\n a#tabConfiguration {\n display: none;\n }\n\n .nav-tabs > li {\n width: 100%;\n }\n\n #headNavigationTabs {\n border: none;\n }\n\n #head-navigation-tabs > li > a.active {\n border-bottom: 2px solid #000;\n }\n\n g.blocklyBlockCanvas {\n transform: translate(-200px, -50px);\n }\n\n div#releaseInfo {\n display: none;\n }\n}\n\n/***** Overwrite prettify-CSS *****/\n\nli.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 {\n list-style-type: inherit !important;\n}\n\n#tutorialRoberta {\n width: 200px;\n height: 200px;\n position: absolute;\n bottom: -15%;\n right: -5%;\n background-image: url(../css/svg/Roberta_zwinkernd.svg);\n background-repeat: no-repeat;\n background-size: 200px;\n}\n\n.tutorialLevelStars {\n position: relative;\n}\n\n.tutorialLevel.typcn::before {\n position: relative;\n left: 0;\n font-size: 24px;\n top: 0;\n color: #FFFFFF;\n display: table-cell;\n}\n\n#tutorialOverview .modal-dialog {\n border: 2px solid #33B8CA;\n font-size: 18px;\n}\n\n#tutorial-navigation, #tutorialEnd {\n display: none;\n}\n\n#head-navigation, #tutorial-navigation {\n /* box-shadow: 0 3px 5px #aeaeaf;\n -webkit-box-shadow: 0 3px 5px #aeaeaf;\n border: 0;\n margin: 0;\n}\n\n#head-navigation {\n /* display: none; /* not needed in the tutorial form*/\n}\n\n#tutorial-navigation ul {\n margin: 16px;\n}\n\nul#tutorial-close {\n float: right;\n}\n\n#tutorialEnd a:before {\n line-height: 42px;\n font-size: 1.5em;\n}\n\n#tutorial-header, .step, #tutorial-close {\n color: #333;\n}\n\n#tutorial-navigation li {\n text-align: center;\n}\n\n#tutorial-navigation li:last-child a:before {\n position: absolute;\n top: 3px;\n right: 3px;\n}\n\n#tutorial-navigation li.step {\n text-align: center;\n float: left;\n background: #EAF0BB;\n list-style: none;\n padding: 0;\n height: 48px;\n}\n\n#tutorial-navigation li.step.active {\n background: #BACC1E;\n}\n\n#tutorial-navigation li a {\n width: 48px;\n height: 48px;\n padding: 6px 8px 6px 16px;\n font-size: 24px;\n display: inline-block;\n font-weight: bold;\n box-sizing: border-box;\n float: left;\n margin: 0 0 0 -15px;\n color: inherit;\n text-decoration: none;\n}\n\n#tutorial-navigation li:first-child a {\n width: 48px;\n margin-left: 0;\n}\n\n#tutorial-navigation li.step:after {\n background-image: url(../css/svg/step_connector.svg);\n content: \" \";\n width: 17px;\n height: 48px;\n display: inline-block;\n}\n\n#tutorial-navigation li.step.last:after {\n background-image: url(../css/svg/step_connector_last.svg);\n}\n\n#tutorial-navigation li.step.active:after {\n background-image: url(../css/svg/step_connector_active.svg);\n}\n\n#tutorial-navigation li.step.preActive:after {\n background-image: url(../css/svg/step_connector_before_active.svg);\n}\n\n#tutorial-navigation li.step.last.active:after {\n background-image: url(../css/svg/step_connector_active_last.svg);\n}\n\n#tutorial-navigation .navbar-nav > .active > a, #tutorial-navigation .navbar-nav > li > a:hover {\n color: #333;\n background-color: transparent;\n}\n\n#tutorialNavs {\n left: 60px;\n position: relative;\n}\n\n#tutorial-navigation a.typcn.typcn-delete {\n color: #333;\n font-size: 36px;\n position: absolute;\n border: white solid 6px;\n background: white;\n top: 24px;\n text-decoration: none;\n}\n\n#tutorial-header { /**/\n overflow: hidden;\n height: 92px;\n margin: 0;\n line-height: 76px;\n vertical-align: middle;\n}\n\n#tutorialOverview > .modal-backdrop.fade.in {\n opacity: 0.6;\n}\n\n#tutorialDiv.fromRight {\n background-color: #eee;\n}\n\n#tutorialContent {\n background-color: #fff;\n height: 100%;\n margin: 10px;\n padding: 16px;\n font-size: 18px;\n overflow-y: auto;\n}\n\n#tutorialContent .tip {\n list-style-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzAiIHdpZHRoPSIzMiIgdmlld0JveD0iMCAwIDMyIDMwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzFhMWExODt9LmNscy0ye2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPkZsb3JpYW48L3RpdGxlPjxnIHRyYW5zZm9ybT0ic2NhbGUoMC4xKSIgaWQ9IkViZW5lXzIiIGRhdGEtbmFtZT0iRWJlbmUgMiI+PGcgaWQ9IkViZW5lXzEtMiIgZGF0YS1uYW1lPSJFYmVuZSAxIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMDQuNDUsMTgyLjYxYTIxLjE5LDIxLjE5LDAsMSwxLDYuMjEtMTUsMjEuMTgsMjEuMTgsMCwwLDEtNi4yMSwxNW0yLjcxLTMyLjY4YTI1LDI1LDAsMSwwLDUuNDMsOC4xMiwyNS4wOSwyNS4wOSwwLDAsMC01LjQzLTguMTIiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zMTYsMTYuN2ExLjc1LDEuNzUsMCwwLDEtLjk0LjIzSDI5MS40M1YxMy4zNUgzMTVBMS43OSwxLjc5LDAsMCwxLDMxNiwxNi43bS0zMi4yMS0xMGE5LjEsOS4xLDAsMCwwLTEuOC0uMzFjLS42NywwLTEuMDYsMC0xLjU2LDBIMjU4LjUzYTcuOTMsNy45MywwLDAsMSw0LTIuMzUsMTEuMDcsMTEuMDcsMCwwLDEsMi44Ni0uMmgxNC4wOGMuMjksMCwuNDcsMCwuNywwYTcuNzYsNy43NiwwLDAsMSwxLjMyLjIsOCw4LDAsMCwxLDQuNCwyLjg0LDguMTMsOC4xMywwLDAsMSwuODYsMS4zNyw4LjYxLDguNjEsMCwwLDAtMy0xLjU0bTIuMTEsMTYuNzJhNy45NCw3Ljk0LDAsMCwxLTQuNDMsMi44LDExLjE5LDExLjE5LDAsMCwxLTIuODYuMkgyNjQuNTFsLS43LDBhNy4yNiw3LjI2LDAsMCwxLTEuMzItLjIsNy45Miw3LjkyLDAsMCwxLTQtMi4zM2gyMi4zOWExMS41MSwxMS41MSwwLDAsMCwxLjY5LS4wOSw4LjY0LDguNjQsMCwwLDAsMS43OC0uNDRBOC41NCw4LjU0LDAsMCwwLDI4Ni43NywyMmE3LjMxLDcuMzEsMCwwLDEtLjg5LDEuNG0tMjkuNDctNVYxMS43OGE4LDgsMCwwLDEsLjE2LTEuNTZoMjMuODNhNy40Nyw3LjQ3LDAsMCwxLDIuMzIuMTgsNC45Miw0LjkyLDAsMCwxLC4zNSw5LjM2LDQuODYsNC44NiwwLDAsMS0xLC4yNSw3LjM3LDcuMzcsMCwwLDEtMS4xNywwSDI1Ni41N2E4LDgsMCwwLDEtLjE2LTEuNjZtLTMuNzEsMS42NkgyMDUuMjJsLTQuOS05Ljg0SDI1Mi43YTExLjk0LDExLjk0LDAsMCwwLS4xMiwxLjU2VjE4LjRhMTEuNiwxMS42LDAsMCwwLC4xMSwxLjY2TTE2NC43OCw0NS44M2EzNy4xMSwzNy4xMSwwLDAsMC0xOC40NC0xMC45NGMtLjgxLS4yLTEuNjQtLjM3LTIuNDctLjUxTDE5NS4zMiw4Ljc3LDIwNCwyNi4yOFptMzAuNTcsMTMyLjk1YTI5LjUsMjkuNSwwLDAsMS0uMzEsMy41MSwyMS4zNCwyMS4zNCwwLDAsMS01Ljg0LDEyLjI3QTIwLjg1LDIwLjg1LDAsMCwxLDE3Ni43NSwyMDBhMzQuMTgsMzQuMTgsMCwwLDEtMy41Ni4yM2gtNTQuNnYtNi4wNmMuMjQtLjI2LjQ2LS41My43LS44aDQ1YzEuMSwwLDIuMzEsMCwzLjQ5LS4wOGEyOSwyOSwwLDAsMCwzLjU3LS40MywyMy4wOSwyMy4wOSwwLDAsMCw2LjkyLTIuNDFBMTguNjksMTguNjksMCwwLDAsMTg0LDE4NS42YTIxLjA2LDIxLjA2LDAsMCwwLDMuNDMtNi41MiwyNi44NCwyNi44NCwwLDAsMCwxLjI5LTcuMTNWMzguMmw2LjYyLTMuMjlWMTc3LjE5YzAsLjA3LDAsLjE5LDAsLjIxdi4wOWwwLC40MmMwLC4yOSwwLC41NywwLC44N20tNzcuODYsMTAuNzVoLS4zN1YxOTBhMzYuNzgsMzYuNzgsMCwwLDEtMi41LDIuNzksMzYuNSwzNi41LDAsMSwxLDIuODctMy4yNk02NC4xNSwyNjMuMlYxOTcuODJhMzkuMzIsMzkuMzIsMCwwLDAsNTAuNjEsMFYyNjMuMkg2NC4xNVptNjUsMy44M2EzMC43MSwzMC43MSwwLDAsMSwzMC4zNSwyNS43MWMuMTMuNzkuMjMsMS41OC4zLDIuMzhsLjA1Ljc1SDE5LjA4bDAtLjM3LjA1LS42YTMwLjc3LDMwLjc3LDAsMCwxLDI4LjQ0LTI3LjhDNDguNCwyNjcsNDkuMTgsMjY3LDUwLDI2N2g3OS4xM1pNNTAuMDksMTY2LjQ2QTYwLjQxLDYwLjQxLDAsMCwxLDI1LjE5LDYxLjYxLDM2LjUyLDM2LjUyLDAsMCwwLDI0LDcwLjg2YTM3LDM3LDAsMCwwLDI4LjE3LDM2LDM3LjQxLDM3LjQxLDAsMCwwLDYuMDcsMWMxLC4wOCwyLjA2LjEsMy4wNi4xaDc1Ljg4YzEsMCwyLDAsMy4wNi0uMWEzNy40MiwzNy40MiwwLDAsMCw2LjA3LTEsMzUuMzgsMzUuMzgsMCwwLDAsNC41My0xLjQzdjYwLjMxSDEyOC44MWEzOS4zOSwzOS4zOSwwLDAsMC03OC43My43NW0xMzQuNzksNS4zMUEyMC4xOCwyMC4xOCwwLDAsMSwxODEsMTgzLjIzYTE0LjgzLDE0LjgzLDAsMCwxLTQuNTMsMy44NSwxOC45MiwxOC45MiwwLDAsMS01Ljc2LDIsMjYsMjYsMCwwLDEtMy4xMi4zOWMtMS4wNS4wNy0yLjA5LjA3LTMuMjQuMDZoLTQyLjFhMzkuMTYsMzkuMTYsMCwwLDAsNi41OS0yMGgyNS44OFYxMDMuNjZhMzcsMzcsMCwwLDAsMTIuNTgtNTQuOGwxNy42LTguNzZWMTcxLjc3Wm0tMTUwLTEyMS40QTMzLjE2LDMzLjE2LDAsMCwxLDU4LjU1LDM3Ljc0Yy45Mi0uMDcsMS44My0uMDksMi43Ny0uMWg3NS44OWMuOTUsMCwxLjg1LDAsMi43Ny4xYTMzLjIyLDMzLjIyLDAsMCwxLDUuNDQsNjUuMzhBMzQsMzQsMCwwLDEsMTQwLDEwNGMtLjkyLjA3LTEuODIuMDktMi43Ny4wOUg2MS4zM2MtMSwwLTEuODUsMC0yLjc3LS4wOWEzMy45NCwzMy45NCwwLDAsMS01LjQ0LS44NywzMy4yMywzMy4yMywwLDAsMS0xOC4yLTUyLjc0TTMxNy44NiwxMC4yNEE1LjY1LDUuNjUsMCwwLDAsMzE1LDkuNTJIMjkxLjJBMTEuNzYsMTEuNzYsMCwwLDAsMjgyLjQyLjMzYTExLjg5LDExLjg5LDAsMCwwLTItLjNjLS4zMiwwLS42OSwwLTEsMEgyNjUuNDNjLS41NSwwLTEuMDYsMC0xLjc3LDBhMTIuMiwxMi4yLDAsMCwwLTIsLjI4LDExLjc0LDExLjc0LDAsMCwwLTYuNTYsNC4xNCwxMS4yNCwxMS4yNCwwLDAsMC0xLjI1LDEuOTRIMTk4LjQxTDE5NywzLjY0LDEzNi40OSwzMy43N2wwLDBINjEuMzNjLTEsMC0yLDAtMy4wNi4xQTM3LDM3LDAsMCwwLDMxLjkxLDQ4YTM2LjIyLDM2LjIyLDAsMCwwLTQuNDMsNy4yM2wtLjExLS4xNUE2NC4yNiw2NC4yNiwwLDAsMCw1MC4xNywxNzAuNGEzOS4xNCwzOS4xNCwwLDAsMCwxMC4xNiwyMy43NXY2OUg1MGMtLjg4LDAtMS43OSwwLTIuNjguMDlhMzQuNTQsMzQuNTQsMCwwLDAtMzIsMzEuMjZsLS4wNi42Ny0uMDUuOTFjMCwuODQsMCwxLjY4LS4wNSwyLjUzdi45NGMwLC4wOC4wNS4wNi4xLjA2aDEuNDJsMi40NiwwSDE2My42N2MuMDcsMCwuMDksMCwuMDgtLjA4di0uNDhsMC0yLjUyYzAtLjIxLDAtLjQyLDAtLjYzbDAtLjQ5YzAtLjIyLDAtLjQ1LDAtLjY3LS4wNy0uOS0uMTktMS43OS0uMzQtMi42OGEzMy44NCwzMy44NCwwLDAsMC0xLjI5LTUuMjQsMzQuNjEsMzQuNjEsMCwwLDAtMzIuODMtMjMuNjdIMTE4LjU5VjIwNGg1NC42NWEzOS40NSwzOS40NSwwLDAsMCw0LS4yNSwyOC43MSwyOC43MSwwLDAsMCw3LjgtMiwyMS44MSwyMS44MSwwLDAsMCw2Ljg2LTQuNSwyMi40NiwyMi40NiwwLDAsMCw0LjctNi43MSwyOC40NywyOC40NywwLDAsMCwyLjI3LTcuNzMsMzIuMjYsMzIuMjYsMCwwLDAsLjM0LTRjMC0uMzQsMC0uNjgsMC0xbDAtLjUydi0uMTRjMC0uMDYsMCwwLDAsMFYzM2wxMC01LTIuMDUtNC4xMkgyNTMuOWExMC43LDEwLjcsMCwwLDAsMS4xOCwxLjg1LDExLjc4LDExLjc4LDAsMCwwLDYuNTIsNC4yMSwxMS41LDExLjUsMCwwLDAsMiwuMjljLjMxLDAsLjY4LDAsMSwwaDE0LjA4Yy41NiwwLDEuMDYsMCwxLjc3LDBhMTEuNTQsMTEuNTQsMCwwLDAsMi0uMjgsMTEuNzYsMTEuNzYsMCwwLDAsOC44OS05LjIxSDMxNWE1LjYyLDUuNjIsMCwwLDAsMi44Mi0xMC41MiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTY3Ljk0LDk2LjI2QTI0Ljc2LDI0Ljc2LDAsMSwxLDkyLjcsNzEuNDksMjQuNzYsMjQuNzYsMCwwLDEsNjcuOTQsOTYuMjYiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik00MS40Miw3MS41QTI2LjUxLDI2LjUxLDAsMCwxLDY3Ljk0LDQ1aDBBMjYuNTEsMjYuNTEsMCwwLDEsOTQuNDUsNzEuNWgwQTI2LjUxLDI2LjUxLDAsMCwxLDY3Ljk0LDk4aDB2LTMuNWEyMywyMywwLDAsMCwyMy0yM2gwYTIzLDIzLDAsMCwwLTIzLTIzaDBhMjMsMjMsMCwwLDAtMjMsMjNoMGEyMywyMywwLDAsMCwyMywyM2gwVjk4QTI2LjUxLDI2LjUxLDAsMCwxLDQxLjQyLDcxLjVaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjEsNjQuNTlhOS43Niw5Ljc2LDAsMSwxLTIuODYsNi45QTkuNzgsOS43OCwwLDAsMSw2MSw2NC41OU02Ny45NCw4NWExMy41LDEzLjUsMCwxLDAtOS41NS00LDEzLjQ4LDEzLjQ4LDAsMCwwLDkuNTUsNCIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTY3Ljk0LDc3LjY4QTYuMjksNi4yOSwwLDAsMCw2OS42LDY1LjMydjdINjYuMjh2LTdhNi4yOSw2LjI5LDAsMCwwLDEuNjYsMTIuMzYiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMzAuNyw5Ni4yNmEyNC43NiwyNC43NiwwLDEsMSwyNC43Ni0yNC43NkEyNC43NiwyNC43NiwwLDAsMSwxMzAuNyw5Ni4yNiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEwNC4xOSw3MS40OUEyNi41MSwyNi41MSwwLDAsMSwxMzAuNyw0NWgwYTI2LjUxLDI2LjUxLDAsMCwxLDI2LjUxLDI2LjUxaDBBMjYuNTEsMjYuNTEsMCwwLDEsMTMwLjcsOThoMHYtMy41YTIzLDIzLDAsMCwwLDIzLTIzaDBhMjMsMjMsMCwwLDAtMjMtMjNoMGEyMywyMywwLDAsMC0yMywyM2gwYTIzLDIzLDAsMCwwLDIzLDIzaDBWOThhMjYuNTIsMjYuNTIsMCwwLDEtMjYuNTItMjYuNTJaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIzLjgsNjQuNTlhOS43Nyw5Ljc3LDAsMSwxLTIuODYsNi45LDkuNzgsOS43OCwwLDAsMSwyLjg2LTYuOU0xMzAuNyw4NWExMy41LDEzLjUsMCwxLDAtOS41NS00LDEzLjQ3LDEzLjQ3LDAsMCwwLDkuNTUsNCIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEzMC43LDc3LjY4YTYuMjksNi4yOSwwLDAsMCwxLjY2LTEyLjM2djdIMTI5di03YTYuMjksNi4yOSwwLDAsMCwxLjY2LDEyLjM2Ii8+PC9nPjwvZz48L3N2Zz4K)\n}\n\n#tutorialContent ul {\n list-style-image: none;\n}\n\n#tutorialContent a {\n color: #F29400;\n font-weight: bold;\n text-decoration: none;\n}\n\ndiv#helpDiv {\n margin-top: 24px;\n}\n\n.quiz.continue {\n margin-top: 24px;\n border-top: 1px solid #eee;\n padding-top: 10px;\n text-align: right;\n}\n\np.quiz {\n margin-top: 16px;\n}\n\n.quiz.footer {\n margin-top: 16px;\n}\n\n.quiz.footer > .btn.right {\n margin-left: 16px;\n}\n\n.quiz.answer {\n display: block;\n position: relative;\n padding-left: 34px;\n margin-top: 16px;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/* Hide the browser's default checkbox */\n\n.quiz.answer input {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n}\n\n/* Create a custom checkbox */\n\n.checkmark {\n position: absolute;\n top: 2px;\n left: 2px;\n height: 25px;\n width: 25px;\n background-color: #eee;\n border-radius: 2px;\n}\n\n/* On mouse-over, add a grey background color */\n\n.quiz.answer:hover input ~ .checkmark {\n background-color: #ccc;\n}\n\n/* When the checkbox is checked, add a blue background */\n\n.quiz.answer input:checked ~ .checkmark {\n background-color: #ccc;\n}\n\n/* Create the checkmark/indicator (hidden when not checked) */\n\n.quiz.answer > .checkmark:after {\n content: \"\";\n position: absolute;\n display: none;\n}\n\n/* Show the checkmark when checked */\n\n.quiz.answer input:checked ~ .checkmark:after {\n display: block;\n}\n\n/* Style the checkmark/indicator */\n\n.quiz.answer > .checkmark:after {\n left: 10px;\n top: 5px;\n width: 6px;\n height: 14px;\n border: solid white;\n border-width: 0 3px 3px 0;\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\nlabel.quiz.answer {\n padding: 6px 10px 6px 36px;\n border-radius: 4px;\n}\n\nlabel.quiz.answer.correct {\n border: solid 2px #C7D92B;\n background-color: #C7D92B;\n padding: 4px 8px 4px 34px;\n}\n\nlabel.quiz.answer.fail {\n border: solid 2px #E2001A;\n padding: 4px 8px 4px 34px;\n}\n\n#welcomeHaribo {\n z-index: 9999;\n}\n\n#welcomeHaribo .modal-dialog {\n width: 40vw;\n}\n\n/*CSS FOR MULTIPLE SIMULATION POPUP*/\n\n#simModal .fixed-table-header {\n background-color: rgb(137, 137, 137);\n color: white;\n}\n\n#simModal .fixed-table-header table {\n color: white;\n}\n\n.lds-ellipsis {\n display: inline-block;\n position: relative;\n width: 64px;\n height: 100px;\n}\n\n.lds-ellipsis div {\n position: absolute;\n top: 27px;\n width: 11px;\n height: 11px;\n border-radius: 50%;\n background: #333;\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n}\n\n.lds-ellipsis div:nth-child(1) {\n left: 6px;\n animation: lds-ellipsis1 0.6s infinite;\n}\n\n.lds-ellipsis div:nth-child(2) {\n left: 6px;\n animation: lds-ellipsis2 0.6s infinite;\n}\n\n.lds-ellipsis div:nth-child(3) {\n left: 26px;\n animation: lds-ellipsis2 0.6s infinite;\n}\n\n.lds-ellipsis div:nth-child(4) {\n left: 45px;\n animation: lds-ellipsis3 0.6s infinite;\n}\n\n@keyframes lds-ellipsis1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes lds-ellipsis3 {\n 0% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0);\n }\n}\n\n@keyframes lds-ellipsis2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(19px, 0);\n }\n}\n\n/*CSS FOR MULTIPLE SIMULATION POPUP*/\n\n#simModal .fixed-table-header {\n background-color: #B3BFB8;\n}\n\n/* distance between steps in mbed/sensebox download modal: */\n\ntd[lkey=\"Blockly.Msg.POPUP_DOWNLOAD_STEP_A_SENSEBOX\"] {\n padding-bottom: 2.5em;\n}\n\n#flaskEditor {\n height: 100%; /*fix for FF calc thing*/\n}\n\n#sourceCodeEditor pre {\n position: absolute;\n top: 0;\n padding: 0;\n line-height: 18px;\n background-color: transparent;\n border: 0 solid #ccc;\n border-radius: 0;\n color: #000;\n font-family: 'Roboto', sans-serif;\n}\n\n#sourceCodeEditor .codeflask {\n height: calc(100% - 80px);\n height: -moz-calc(100% - 80px);\n height: -webkit-calc(100% - 80px);\n position: relative;\n}\n\n#sourceCodeEditor textarea {\n position: absolute;\n top: 0;\n line-height: 18px;\n font-size: 13px;\n padding: 0;\n z-index: 5;\n color: transparent;\n}\n\n#codeDiv pre {\n position: absolute;\n background-color: transparent;\n border: 0 solid #ccc;\n border-radius: 0;\n color: #000;\n font-family: 'Roboto', sans-serif;\n background-image: linear-gradient(transparent 50%, rgba(247, 247, 247, 1) 0%);\n background-size: 100% 2.77em;\n background-repeat: repeat;\n width: 100%;\n margin-top: 0;\n line-height: 18px;\n padding: 0;\n}\n\n#sourceCodeEditor .codeflask__flatten {\n padding-top: 0 !important;\n line-height: 18px;\n}\n\n#codeDiv textarea {\n position: absolute;\n z-index: 8;\n color: rgba(255, 255, 255, 0) !important;\n height: calc(100% - 82px);\n margin-top: 0;\n line-height: 18px;\n padding: 0;\n}\n\n#codeDiv .codeflask__flatten {\n background-color: #FFF0;\n padding-top: 0 !important;\n line-height: 18px;\n}\n\n#codeDiv .codeflask__lines {\n background-color: #EEE;\n z-index: 5 !important;\n}\n\n.codeflask__lines {\n background-color: #EEE;\n padding-top: 0 !important;\n z-index: 5 !important;\n}\n\n.codeflask__lines__line {\n color: #333;\n line-height: 18px !important;\n}\n\n.codeflask--has-line-numbers::before {\n z-index: 4 !important;\n}\n\npre code {\n white-space: inherit;\n}\n\n#confirm, #confirmCancel {\n text-transform: capitalize;\n}\n\n.blinking {\n animation: blinkingBackground 1.2s infinite;\n}\n\n.blinking > span {\n animation: blinkingForeground 1.2s infinite;\n}\n\n@keyframes blinkingBackground {\n 0% {\n background-color: #E2001A;\n border-bottom: 4px solid #E2001A;\n }\n 49% {\n background-color: #E2001A;\n border-bottom: 4px solid #E2001A;\n }\n 60% {\n background-color: transparent;\n border-bottom: 4px solid transparent;\n }\n 99% {\n background-color: transparent;\n border-bottom: 4px solid transparent;\n }\n 100% {\n background-color: #E2001A;\n border-bottom: 4px solid #E2001A;\n }\n}\n\n@keyframes blinkingForeground {\n 0% {\n color: #fff;\n }\n 49% {\n color: #fff;\n }\n 60% {\n color: #333;\n }\n 99% {\n color: #333;\n }\n 100% {\n color: #fff;\n }\n}\n\n#blocklyDiv.debug path.blocklyPath {\n fill-opacity: 0.3;\n}\n\n#blocklyDiv.debug path.blocklyPath.selectedBreakpoint {\n stroke-opacity: 1;\n transition: none;\n stroke: purple;\n stroke-width: 2px;\n}\n\n#blocklyDiv.debug path.blocklyPath.breakpoint {\n stroke-opacity: 1;\n transition: none;\n stroke: red;\n stroke-width: 2px;\n}\n\n.badge-primary {\n background-color: #F29400;\n}\n\n#releaseInfo {\n position: fixed;\n left: 70%;\n right: 8px;\n bottom: 60px;\n z-index: 2999;\n padding: 16px;\n background-color: #FBDE00;\n border: 1px solid #d8d8d8;\n}\n\n#releaseInfo > span {\n display: inline-block !important;\n vertical-align: middle;\n padding-right: 16px;\n}\n\n#releaseInfo > .no-button {\n position: absolute;\n top: 0;\n right: 0;\n}\n\n@media (max-width: 60em), (max-width: 800px) {\n #releaseInfo {\n left: 40%;\n }\n}\n\n.port {\n cursor: default !important;\n}\n\n#valuesContent .panel-heading {\n background-color: #dddddd;\n}\n\n#valuesContent .panel-group {\n margin: 20px 0 0 0;\n}\n\n.panel-title > a:before {\n position: relative;\n background-size: 10px;\n display: inline-block;\n width: 10px;\n height: 10px;\n content: \"\";\n margin: 0 4px 0 4px;\n background-image: url('data:image/svg+xml,');\n}\n\n.panel-title > a.collapsed:before {\n background-size: 10px;\n display: inline-block;\n width: 10px;\n height: 10px;\n content: \"\";\n margin: 0 4px 0 4px;\n background-image: url('data:image/svg+xml,');\n}\n\n.panel-title > a {\n text-decoration: none;\n display: inline-block;\n width: 100%;\n height: 100%;\n color: inherit;\n line-height: 1.5;\n}\n\n#accordion .panel-body {\n overflow: auto;\n max-height: 50vh;\n border: none;\n}\n\n/****************************/\n\ninput,\ntextarea {\n border: 1px solid #E9ECEF;\n box-sizing: border-box;\n margin: 0;\n outline: none;\n padding: 10px;\n}\n\ninput[type=\"button\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\n\n.btn input[type=radio] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n}\n\n.input-group {\n clear: both;\n position: relative;\n}\n\n.input-group input[type='button'] {\n background-color: #dddddd;\n transition: all 300ms ease;\n}\n\n.input-group .button-minus,\n.input-group .button-plus {\n font-weight: bold;\n height: 32px;\n width: 32px;\n padding: 0;\n}\n\n.input-group .quantity-field {\n position: relative;\n height: 32px;\n width: 32px;\n text-align: center;\n display: inline-block;\n font-size: 14px;\n resize: vertical;\n}\n\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\n#nn, #nn-learn {\n width: 100%;\n height: 100%;\n}\n\n#nn .nn-middle-size {\n font-size: 20px;\n}\n\n#nn .nn-bold, #nn-learn .nn-bold {\n font-weight: bold;\n}\n\n#nn .nn-large-size {\n font-size: 28px;\n}\n\n#nn-epoch-num {\n width: 80px;\n}\n\n#nn-top-controls {\n width: 100%;\n border-bottom: 1px solid #ddd;\n padding: 16px 0;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);\n background: white;\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-around;\n}\n\n#nn-learn-top-controls {\n width: 100%;\n border-bottom: 1px solid #ddd;\n padding: 16px 0;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);\n background: white;\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n justify-content: space-between;\n}\n\n#nn-top-controls .nn-control, #nn-learn-top-controls .nn-control {\n flex-grow: 0;\n margin-left: 10px;\n margin-top: 6px;\n}\n\n#nn-show-math-all.nn-control {\n flex: 0 0 15%;\n margin-right: 10px;\n}\n\n#nn-show-next-neuron-all.nn-control, #nn-show-iteration-all.nn-control, #nn-learn-show-iteration-all.nn-control {\n margin: 0 10px;\n display: flex;\n flex-direction: column;\n justify-content: space-evenly;\n align-items: stretch;\n}\n\n#nn-learn-show-activation {\n width: 100px;\n padding: 8px;\n}\n\n#nn-top-controls .nn-control .label {\n color: #777;\n font-size: 13px;\n display: block;\n margin-bottom: 6px;\n font-weight: 300;\n}\n\n#nn-top-controls .nn-control .value {\n font-size: 24px;\n margin: 0;\n font-weight: 300;\n}\n\n#nn-top-controls .nn-control .select {\n position: relative;\n}\n\n.nn-input-div {\n position: relative;\n height: 36px;\n}\n\n/*.nn-explore-btns, .nn-learn-btns {\n position: absolute;\n left: 10px;\n bottom: 10px;\n z-index: 9999;\n display: flex;\n}*/\n\n/*.nn-explore-btn {\n min-height: 48px;\n max-width: 48px;\n min-width: 48px;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\n border: 0;\n margin: 0;\n background: white;\n}\n\n.nn-explore-btn > span, .nn-learn-btn > span {\n font-size: 36px;\n}\n\n.nn-explore-btn:hover, .nn-learn-btn:hover {\n background-color: #BACC1E;\n}*/\n\n#goto-sim, #learn-goto-sim {\n position: absolute;\n min-height: 48px;\n max-width: 48px;\n min-width: 48px;\n right: 10px;\n bottom: 10px;\n font-size: 36px;\n background-color: #ffffff;\n color: #333333;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\n padding: 2px 0 0 0;\n margin: 0;\n z-index: 9999;\n}\n\n#goto-sim:hover, #learn-goto-sim:hover {\n background-color: #BACC1E;\n}\n\n.nn-selection {\n min-height: 36px;\n border: none;\n border-radius: 2px;\n background-color: #23b6ac;\n color: #ffffff;\n padding: 6px;\n}\n\n#nn-show-math {\n background-color: #f0f0f0;\n min-height: 36px;\n padding: 6px;\n border-radius: 2px;\n}\n\n#nn-show-next-neuron, #nn-show-iteration, #nn-learn-show-iteration {\n color: rgba(0, 0, 0, 0.6);\n background-color: #fafafa;\n font-weight: 300;\n text-align: center;\n}\n\n#nn-main-part, #nn-learn-main-part {\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n justify-content: space-between;\n margin-top: 30px;\n margin-bottom: 50px;\n padding-top: 2px;\n position: relative;\n}\n\n#nn-main-part .output .mdl-checkbox__label.label, #nn-learn-main-part .output .mdl-checkbox__label.label {\n line-height: 1.7em;\n}\n\n#nn-features, #nn-learn-features {\n width: 10%;\n position: relative;\n}\n\n#nn-features .nn-plus-minus-neurons {\n position: absolute;\n line-height: 28px;\n top: -58px;\n width: 120px;\n height: 44px;\n}\n\n.nn-modal-content {\n border: 1px solid;\n background-color: #ffffff;\n}\n\n.nn-popup-modal {\n position: fixed;\n display: none;\n bottom: 0;\n left: 50%;\n transform: translate(-50%);\n max-width: 90%;\n z-index: 1;\n}\n\n.nn-modal-dialog {\n width: auto;\n}\n\nbutton.nn-btn {\n background-color: #23b6ac;\n width: 36px;\n height: 36px;\n border-radius: 2px;\n padding: 0;\n font-size: 20px;\n margin-right: inherit;\n border: none;\n color: #ffffff;\n}\n\n.nn-btn.nn-top-control-button {\n width: 27px;\n height: 27px;\n}\n\n.nn-btn.nn-cancel {\n background-color: #CD5C5C;\n}\n\n.nn-btn.nn-cancel:hover {\n background-color: #E8C0C0;\n}\n\n#nn-features .nn-plus-minus-neuron-button.active-input {\n background-color: #BACC1E;\n box-shadow: inset 0 0 2px 2px black;\n}\n\n#nn-features .nn-plus-minus-neuron-button.active-hidden {\n background-color: #c7b7b7;\n box-shadow: inset 0 0 2px 2px black;\n}\n\n#nn-features .nn-plus-minus-neuron-button.active-output {\n background-color: #f29400;\n box-shadow: inset 0 0 2px 2px black;\n}\n\n#nn-training-data-upload, #nn-test-data-upload {\n display: none;\n}\n\n/*.nn-popup-modal > .modal-backdrop {\n background-color: transparent;\n}*/\n\n.nn-table-input {\n width: 100px;\n}\n\n.nn-user-input-table-header {\n display: inline-block;\n width: 100%;\n}\n\n.nn-input-background-color {\n background: #8fa40266;\n}\n\n.nn-output-background-color {\n background: #f2940066;\n}\n\nbutton.nn-btn:hover {\n background-color: #ade7e4;\n}\n\n.nn-selection option {\n background-color: #ffffff;\n color: #333333;\n}\n\n#nn-top-controls .nn-num-layers-group {\n font-weight: bold;\n}\n\n#nn-features .nn-plus-minus-neurons .nn-plus-minus-neuron-button {\n margin-right: 4px;\n}\n\n#nn-features .nn-plus-minus-neurons .nn-plus-minus-neuron-button {\n margin-right: 4px;\n}\n\n#nn-features svg .main-label, #nn-learn-features svg .main-label {\n font-size: 13px;\n fill: #333;\n font-weight: 300;\n}\n\n#nn-features .nn-showval, #nn-learn-features .nn-showval {\n display: block;\n font-size: 16px;\n font-weight: bold;\n text-anchor: start;\n cursor: pointer;\n}\n\n#nn-features svg #markerArrow, #nn-learn-features svg #markerArrow {\n fill: black;\n stroke: black;\n stroke-opacity: 0.2;\n}\n\n#nn-features .node_input rect, #nn-learn-features .node_input rect {\n cursor: default;\n fill: rgb(143, 164, 2);\n}\n\n#nn-features .node_hidden rect, #nn-learn-features .node_hidden rect {\n cursor: default;\n fill: lightgrey;\n}\n\n#nn-features .node_output rect, #nn-learn-features .node_output rect {\n cursor: default;\n fill: rgb(242, 148, 0);\n}\n\n#nn-features .core .link, #nn-learn-features .core .link {\n stroke-dasharray: 9 1;\n stroke-dashoffset: 1;\n /* webkit-animation: 0.5s linear 0s infinite flowing; */\n}\n\n/** Invisible thick links used for showing weight values on mouse click. */\n\n#nn-features .core .nn-weight-click {\n stroke-width: 14;\n stroke: black;\n fill: none;\n opacity: 0;\n cursor: pointer;\n}\n\n.nn-input {\n position: relative;\n border: 2px solid #23b6ac;\n height: 100%;\n top: -4px;\n width: 6em;\n}\n\n#nn-learn-features .core .nn-weight-click {\n stroke-width: 14;\n stroke: black;\n fill: none;\n opacity: 0;\n cursor: pointer;\n}\n\n#nn-features .core .nn-weight-show-click {\n stroke-width: 14;\n stroke: gray;\n fill: none;\n opacity: 0.3;\n cursor: pointer;\n}\n\n#nn-learn-features .core .nn-weight-show-click {\n stroke-width: 14;\n stroke: gray;\n fill: none;\n opacity: 0.3;\n cursor: pointer;\n}\n\n.nn-bias-click {\n cursor: pointer;\n}\n\n#nn-features .canvas canvas, #nn-learn-features .canvas canvas {\n position: absolute;\n top: -2px;\n left: -2px;\n border: 2px solid black;\n border-radius: 3px;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\n}\n\n#nn-network {\n position: absolute;\n top: 50px;\n left: 0;\n}\n\n#nn-editCard {\n display: none;\n position: absolute;\n padding: 5px;\n border: 1px solid #aaa;\n z-index: 10;\n background: #fff;\n cursor: default;\n border-radius: 5px;\n left: 240px;\n}\n\n#nn-learn-training-bias-linechart, #nn-learn-training-weight-linechart {\n display: none;\n position: absolute;\n width: 200px;\n height: 65px;\n border: 1px solid #aaa;\n z-index: 10;\n background: #fff;\n cursor: default;\n}\n\n#nn-nameCard {\n display: none;\n position: absolute;\n padding: 5px;\n border: 1px solid #aaa;\n z-index: 10;\n background: #fff;\n cursor: default;\n border-radius: 5px;\n left: 240px;\n}\n\n#nn-name-message {\n border: 12px 4px 4px 4px;\n background: #fff;\n color: #333;\n}\n\n#nn-table-user-input input {\n width: 100px;\n}\n\n.nn-type-button {\n position: relative;\n top: 5px;\n}\n\n.nn-btn.nn-finish-button {\n position: relative;\n left: -4px;\n}\n\n.nn-metrics {\n position: relative;\n font-weight: 300;\n height: 60px;\n margin-right: 10px;\n display: flex;\n flex-basis: 25%;\n flex-wrap: nowrap;\n align-content: center;\n justify-content: space-evenly;\n}\n\n#nn-learn-training-loss-linechart {\n flex: 0 0 40%;\n max-width: 200px;\n height: 100%;\n border: 1px solid #333333;\n}\n\n.nn-output-stats {\n padding: 10px;\n}\n\n#nn-random-values-from-to {\n position: relative;\n height: 36px;\n}\n\n#nn-random-values-from-to > input {\n width: 50px;\n}\n\n#nn-random-values-from-to > span {\n position: relative;\n top: -4px;\n}\n\n#nn-random-values-from-to > .nn-random-values-finished-button {\n position: relative;\n padding-left: 5px;\n top: 0;\n}\n\n.nn-output-stats .value {\n color: rgba(0, 0, 0, 0.6);\n font-weight: 300;\n text-align: center;\n}\n\n.nn-type {\n height: 40px;\n style: \"font-size: 14px\"\n}\n\ncanvas {\n display: block;\n}\n\n.link {\n fill: none;\n stroke: #aaa;\n stroke-width: 1;\n}\n\ng.column rect {\n stroke: none;\n}\n\n@-webkit-keyframes flowing {\n from {\n stroke-dashoffset: 0;\n }\n to {\n stroke-dashoffset: -10;\n }\n}\n\n#downloadType {\n padding: 8px 20px 20px;\n text-align: center;\n}\n\n.downloadType {\n font-size: 18px;\n text-align: center;\n text-decoration: none;\n padding: 12px;\n margin: 12px;\n border: 1px solid #BACC1E;\n border-radius: 2px;\n cursor: pointer;\n width: 100%;\n}\n\n#progressBar {\n background-color: #BACC1E;\n height: 10px;\n width: 0%;\n\n}\n\n.downloadType:hover {\n background-color: #BACC1E;\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["roberta.css"],"names":[],"mappings":"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","file":"roberta.css","sourcesContent":["@charset \"UTF-8\";\n*:hover,\n*:active,\n*:visited,\n*:focus,\na:focus {\n outline: 0;\n outline: none;\n}\n\nul,\nol {\n margin: 0;\n}\n\ndl.grid {\n display: grid;\n grid-template-columns: 1fr 100%;\n}\n\ndd {\n margin: 0;\n padding-left: 1em;\n}\n\ndl.grid dd {\n margin-bottom: 1em;\n}\n\ndl.grid dt {\n min-width: 140px;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url('fonts/Roboto-Regular.ttf') format('truetype');\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url('fonts/Roboto-Italic.ttf') format('truetype');\n font-style: italic;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url('fonts/Roboto-Bold.ttf') format('truetype');\n font-weight: bold;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url('fonts/Roboto-BoldItalic.ttf') format('truetype');\n font-weight: bold;\n font-style: italic;\n}\n\nhtml,\nbody {\n display: flex;\n margin: 0;\n padding: 0;\n height: 100%;\n width: 100%;\n font-family: 'Roboto', sans-serif;\n font-size: 1em;\n}\n\n.pace {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n z-index: 3000;\n position: fixed;\n height: 12rem;\n width: 12rem;\n margin: auto;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n line-height: 12rem;\n font-size: 2rem;\n color: transparent;\n font-weight: 100;\n text-align: center;\n -webkit-animation: pace-theme-center-circle-spin linear infinite 2s;\n -moz-animation: pace-theme-center-circle-spin linear infinite 2s;\n -o-animation: pace-theme-center-circle-spin linear infinite 2s;\n animation: pace-theme-center-circle-spin linear infinite 2s;\n background-image: url(../css/img/Nepo_N.png);\n background-color: transparent !important;\n background-repeat: no-repeat;\n background-size: cover;\n}\n\n@-ms-keyframes pace-theme-center-circle-spin {\n 0% {\n -ms-transform: perspective(12rem) rotateY(0deg);\n }\n 100% {\n -ms-transform: perspective(12rem) rotateY(360deg);\n }\n}\n\n@keyframes pace-theme-center-circle-spin {\n 0% {\n transform: perspective(12rem) rotateY(0deg);\n }\n 100% {\n transform: perspective(12rem) rotateY(360deg);\n }\n}\n\nbody.blocklyMinimalBody * {\n opacity: 1 !important;\n overflow: hidden;\n transform: none;\n}\n\n/*#head-navigation, #tutorial-navigation {\n box-shadow: 0 3px 5px #aeaeaf;\n -webkit-box-shadow: 0 3px 5px #aeaeaf;\n border: 0;\n margin: 0;\n}*/\n#header {\n background-color: #ffffff;\n border: 0;\n margin: 0;\n}\n\n#header > .navbar {\n padding-bottom: 0;\n}\n\n.navbar-toggler {\n padding: 12px;\n border: none;\n}\n\n.navbar-toggler:focus {\n box-shadow: none;\n}\n\n.nav-item:hover, button#navbarButtonsHead:hover {\n background-color: #BACC1E;\n border-radius: 2px;\n border: 0;\n}\n\n#head-navigation-tabs > li > a.active {\n border-bottom: 4px solid #BACC1E;\n}\n\n/* TODO remove this when hardcoded in blockly is removed */\n.blocklyToolboxDiv {\n top: 0 !important;\n}\n\n#iconDisplayLogin,\n#iconDisplayRobotState {\n float: left;\n font-size: 24px;\n height: 24px;\n width: 24px;\n cursor: pointer;\n margin: 0 6px;\n}\n\n.robertaLogo {\n background: url(../css/svg/logo-word.svg) no-repeat;\n}\n\n.fraunhoferLogo {\n background: url(../css/img/iais_logo.gif) no-repeat;\n}\n\n.googleLogo {\n background: url(../css/svg/Google_logo.svg) no-repeat;\n background-size: contain;\n}\n\n.NRWMinLogo {\n background: url(../css/img/AK_Schule.png) no-repeat;\n background-size: contain;\n}\n\n.imgFloatLeft {\n float: left;\n width: 210px;\n height: 65px;\n padding: 0;\n margin: 4px 16px 0 0;\n}\n\n#language.nav > li > a {\n color: #333333;\n padding: 0;\n margin: 6px;\n}\n\n#language.nav > li > a:hover,\n#language.nav > li > a:focus {\n background-color: #fff;\n}\n\n#logoShowStart img {\n display: block;\n height: 60px;\n width: 146px;\n margin: 18px;\n}\n\n.invisible {\n visibility: hidden;\n}\n\n.hidden {\n display: none;\n}\n\n\n.img-beta, .img-deprecated {\n position: absolute;\n width: auto;\n left: 10px;\n top: -5px;\n -ms-transform: rotate(-10deg);\n transform: rotate(-10deg);\n z-index: 5;\n}\n\n.new {\n background-color: #fdc300;\n max-width: fit-content;\n position: absolute;\n z-index: 99;\n top: 0;\n left: 0;\n padding: 5px 10px;\n font-size: 14px;\n border-radius: 5px 0;\n}\n\n.menuTab {\n text-transform: uppercase;\n font-weight: bold;\n}\n\n.navigation-row {\n width: 100%;\n margin: 0;\n}\n\n.scroller {\n margin: 0;\n font-size: 24px;\n cursor: pointer;\n background-color: #fff;\n padding: 8px 2px 0 28px;\n float: left;\n}\n\n#main-section {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n margin: 0;\n background: #E9ECEF;\n overflow: hidden;\n top: 96px;\n padding: 0;\n}\n\n#headNavigation.show {\n max-height: 335px;\n overflow-y: auto;\n}\n\n.navbar-nav ul {\n overflow: hidden;\n overflow-y: auto;\n max-height: calc(100vh - 100px);\n}\n\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n margin-right: 2px;\n}\n\n.btn-default:hover {\n background-color: #ddd;\n border-color: #ccc;\n}\n\n#blocklyDiv, #bricklyDiv {\n /*float: left;*/\n /*width: 100%;*/\n height: 100%;\n overflow: hidden;\n background-size: 100%;\n touch-action: none;\n}\n\n.log {\n overflow: auto;\n position: fixed;\n top: 152px;\n bottom: 50px;\n margin: 16px 68px 32px 68px;\n}\n\n.canvasSim {\n position: absolute;\n left: 0;\n top: 0;\n}\n\ncanvas.border {\n border: 2px solid grey;\n}\n\n#webotsDiv {\n position: absolute;\n left: 0;\n top: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n}\n\n#canvasDiv {\n position: absolute;\n left: 0;\n top: 0;\n z-index: 1;\n width: 100%\n}\n\n#sliderDiv {\n width: 20px;\n cursor: col-resize;\n z-index: 11;\n}\n\n#sliderBorder {\n width: 6px;\n z-index: 8;\n background-color: #C0C0C0;\n}\n\n.codeActive > pre {\n width: 100%;\n height: 100%;\n word-wrap: inherit;\n}\n\n.fromRight {\n float: right;\n height: 100%;\n width: 0;\n background-color: #d8d8d8;\n display: none;\n position: relative;\n z-index: 10;\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n}\n\n#infoDiv.fromRight {\n background-color: #eee;\n}\n\n.fromRight.rightActive {\n height: 100%;\n overflow: hidden;\n display: block;\n}\n\n#codeContainer {\n overflow-y: auto;\n height: 100%;\n}\n\n#codeContent {\n overflow-y: auto;\n padding-bottom: 60px;\n padding-top: 12px;\n background-color: #eee;\n}\n\n#infoContent {\n border: solid 10px #eee;\n border-top: none;\n background-color: #fff;\n overflow: auto;\n height: inherit;\n width: inherit;\n -webkit-user-select: text;\n user-select: text;\n}\n\n#infoContent[data-placeholder]:before {\n color: #555;\n padding: 0 12px;\n}\n\n#infoToolbar {\n border: solid 10px #eee;\n}\n\n#legalDiv {\n overflow-y: scroll;\n background-color: #fff;\n padding-top: 1.5rem;\n}\n\n#legalDiv > *:not(#legalDivHeader) {\n padding: 1rem;\n -webkit-touch-callout: default;\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n}\n\n#legalDiv > #legalDivHeader {\n text-align: center;\n font-size: 1.25em;\n}\n\n#legalDiv > #legalDivHeader > a {\n padding: 0 1rem;\n}\n\n#helpDiv ul {\n list-style-type: none;\n display: table;\n}\n\n#helpDiv li {\n display: table-row;\n}\n\n#helpDiv li:before {\n display: table-cell;\n padding-right: 6px;\n}\n\n#helpContent {\n padding: 10px 0;\n overflow-y: auto;\n height: 100%;\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: #fff;\n}\n\n#helpContent h3,\n#helpContent h2 {\n padding-left: 10px;\n padding-top: 25px;\n border-top: 1px solid #F29400;\n}\n\n#helpContent p,\n#helpContent h4 {\n margin-left: 8px;\n margin-right: 12px;\n}\n\n#helpContent h4 {\n margin-top: 18px;\n}\n\n.selectedHelp {\n background-color: #f0f0f0;\n}\n\n#rightMenuDiv {\n position: absolute;\n top: 32px;\n right: 0;\n z-index: 9;\n}\n\n#mbedContent,\n#valuesContent {\n background-color: #fff;\n border: 2px solid #33b8ca;\n padding: 12px 14px 12px 12px;\n border-radius: 2px;\n display: inline-block;\n}\n\n#valuesContent {\n min-width: 330px;\n overflow-y: auto;\n}\n\n.customDropdown {\n border: 1px solid #333;\n border-radius: 2px;\n background-color: #fff;\n}\n\n.rightMenuButton {\n width: 40px;\n height: 40px;\n background: #C0C0C0;\n position: relative;\n margin-bottom: 6px;\n -moz-border-radius: 2px;\n -webkit-border-radius: 2px;\n border-radius: 2px;\n z-index: 12;\n}\n\n.rightMenuButton:before {\n content: \"\";\n position: absolute;\n right: 100%;\n top: 14px;\n width: 0;\n height: 0;\n border-top: 5px solid transparent;\n border-right: 6px solid #333;\n border-bottom: 5px solid transparent;\n}\n\n.rightMenuButton.rightActive {\n color: #E2001A;\n}\n\n.rightMenuButton.rightActive:before {\n border-top: 5px solid transparent;\n border-left: 6px solid #333;\n border-bottom: 5px solid transparent;\n right: -6px;\n}\n\ndiv.rightMenuButton:hover,\n.rightMenuButton:active {\n cursor: pointer;\n}\n\n.rightMenuButton > .typcn {\n position: relative;\n top: 8px;\n font-size: 24px;\n left: 7px;\n}\n\n#tutorialButton.rightMenuButton, #infoButton.notEmpty {\n background-color: #BACC1E;\n}\n\n#tutorialButton.rightMenuButton:before, #infoButton.notEmpty:before {\n border-right: 6px solid #BACC1E;\n}\n\n.menu-icons {\n font-size: 24px;\n line-height: 24px;\n color: #fff;\n border: 0;\n margin: 0;\n}\n\n#toastContainer {\n position: absolute;\n top: 0;\n left: 50%;\n}\n\n#toastLeftContainer {\n position: relative;\n top: 0;\n left: -50%;\n padding: 0;\n margin: 0;\n}\n\n#toastLeftContainer span {\n font-size: 16px;\n z-index: 9999;\n color: #333333;\n white-space: nowrap;\n background-color: #fff;\n padding: 8px;\n}\n\n#show-startup-message {\n z-index: 1039;\n}\n\n#show-startup-message #popup-robot-container {\n margin-left: 100px;\n margin-right: 100px;\n}\n\n#show-startup-message .popup-robot {\n background-color: #fff;\n color: #333;\n}\n\n#show-startup-message .popup-robot.robotSpecial {\n background-color: transparent;\n color: #000;\n}\n\n#slick-container {\n background: #33B8CA;\n}\n\n.slick-list {\n padding-top: 12px !important;\n padding-bottom: 12px !important;\n}\n\n.slick-dots {\n bottom: inherit;\n top: 160px;\n}\n\n#show-startup-message .slick-slide {\n transform: scale(1);\n transition: .3s ease-in-out all;\n opacity: 1;\n}\n\n#show-startup-message .slick-slide.slick-center {\n transform: scale(1.2);\n}\n\n#show-startup-message .slick-prev {\n left: -100px;\n top: 45%;\n}\n\n#show-startup-message .slick-next {\n right: -100px;\n top: 45%;\n}\n\n#show-startup-message .slick-next:before,\n#show-startup-message .slick-prev:before {\n color: #000;\n font-size: 25px;\n}\n\n#show-startup-message .popup-robot a {\n position: relative;\n bottom: 20px;\n right: 75px;\n color: #000;\n font-size: 25px;\n}\n\n#show-startup-message .popup-robot.robotSpecial a {\n left: 86px;\n top: 20px;\n}\n\n#show-startup-message .robot-info {\n font-size: 24px;\n position: relative;\n}\n\n#startPopupBack {\n font-size: 36px;\n position: relative;\n bottom: 50px;\n text-decoration: none;\n color: #333;\n}\n\n#show-startup-message .modal-dialog {\n border: 2px solid #33B8CA;\n}\n\n.wait,\n.ok {\n color: #33B8CA;\n}\n\n.error {\n color: #333;\n}\n\n@-webkit-keyframes blinker {\n from {\n color: #afca04;\n }\n to {\n color: #e2001a;\n }\n}\n\n@keyframes blinker {\n from {\n color: #F29400;\n }\n to {\n color: #e2001a;\n }\n}\n\n.busy {\n -webkit-animation-name: blinker;\n -webkit-animation-iteration-count: infinite;\n -webkit-animation-timing-function: cubic-bezier(1.0, 0, 0, 1.0);\n -webkit-animation-duration: 1s;\n animation-name: blinker;\n animation-duration: 1s;\n animation-timing-function: cubic-bezier(1.0, 0, 0, 1.0);\n animation-iteration-count: infinite;\n}\n\n.menuDisabled {\n background-color: #fff;\n}\n\n.dropdown-toggle.disabled:hover,\n.dropdown-toggle.disabled:focus {\n text-decoration: none;\n cursor: default;\n background-color: white !important;\n background-image: none;\n}\n\n.bottomLeftButtons {\n left: 12px;\n position: absolute;\n bottom: 6px;\n z-index: 99;\n display: flex;\n}\n\n#simEditButtons {\n left: 12px;\n top: 10px;\n position: absolute;\n z-index: 99;\n}\n\n#simEditButtons button span:before {\n font-size: 36px;\n}\n\n.simAddMarker span {\n font-size: 12px;\n display: inline-block;\n min-width: 16px;\n}\n\nbutton#simCustomColorObject span.typcn:before {\n color: #FBED00;\n}\n\nbutton#simCustomObstacle.typcn:before {\n color: #009EE3;\n}\n\n.huebee__container {\n position: absolute;\n left: 0;\n top: 6px;\n padding: 24px 10px 10px;\n background: #e7e7e7;\n border-radius: 2px;\n box-shadow: none;\n}\n\n.huebee__cursor {\n border: 5px solid #fff;\n border-radius: 2px;\n width: 30px;\n height: 30px;\n}\n\n.huebee {\n /* disable reveal/hide transition */\n transition: none;\n}\n\n.huebee__close-button {\n display: block;\n position: absolute;\n width: 24px;\n height: 24px;\n top: 0;\n right: 0;\n border-radius: 0;\n background: none;\n}\n\n.huebee__close-button__x {\n stroke-width: 2;\n stroke: #bbb;\n}\n\n.huebee__close-button__x:hover, .huebee__close-button__x:focus {\n stroke: #333;\n}\n\n.huebee__close-button:hover, .huebee__close-button:focus {\n background: #e7e7e7;\n}\n\n#codeButtons {\n left: 12px;\n bottom: 0;\n position: absolute;\n z-index: 99;\n width: 100%;\n background-color: #EEE;\n height: 70px;\n padding-top: 10px;\n}\n\n.btn-group-vertical > .btn.simbtn {\n margin: 8px 0;\n}\n\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-bottom: 5px;\n}\n\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n\n/***** BEGIN Overwrite Bootstrap-CSS *****/\n\n/* .tab-content > .tab-pane:not(.active),\n.pill-content > .pill-pane:not(.active) {\n display: block;\n height: 0;\n overflow-y: hidden;\n} */\n.tooltip > .tooltip-inner {\n background-color: #333;\n}\n\n.tooltip > .tooltip-arrow {\n border-right-color: #333;\n}\n\n/*.container-fluid {\n padding-right: 16px;\n padding-left: 16px;\n}*/\n\n.nav-tabs > li + li {\n margin: 0;\n}\n\n#toolboxDiv {\n -webkit-overflow-scrolling: touch;\n}\n\n#toolboxDiv > .nav-tabs {\n border: 0;\n}\n\n#toolboxDiv > .nav-tabs li {\n width: 50%;\n text-align: center;\n border: none;\n}\n\n#toolboxDiv > .blocklyToolboxDiv {\n position: relative !important;\n}\n\n#toolboxDiv > .nav-tabs li > a.active {\n background-color: #E9ECEF;\n color: #333333;\n}\n\n#toolboxDiv > .nav-tabs li > a {\n background-color: #C0C0C0;\n color: #fff;\n margin: 0;\n padding: 6px 0;\n border: none;\n border-radius: 0;\n}\n\n/*#blocklyDiv .blocklyTreeRoot {\n padding: 6px 0;\n}*/\n\n.blocklyFlyoutBackground {\n fill-opacity: 0.925 !important;\n}\n\n.head-navi-icons:before {\n margin-right: 2px;\n}\n\n\n/*.nav#head-navigation-tabs {\n position: relative;\n width: auto;\n white-space: nowrap;\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.nav#head-navigation-tabs > li > a {\n margin: 0;\n border: 0;\n padding: 8px 16px 4px 16px;\n border-radius: 2px 2px 0 0;\n border-bottom: 4px solid #fff;\n background-color: #fff;\n}\n\n.nav#head-navigation-tabs > li > a:hover,\n.nav#head-navigation-tabs > li > a:active,\n.nav#head-navigation-tabs > li > a:focus {\n border-bottom: 4px solid #eee;\n background-color: #eee;\n}\n\n\n.nav#head-navigation-tabs > li.active > a:hover,\n.nav#head-navigation-tabs > li.active > a:active,\n.nav#head-navigation-tabs > li.active > a.focus {\n background-color: #BACC1E;\n border-bottom: 4px solid #BACC1E;\n}\n\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n padding: 12px;\n margin: 4px 4px 4px 16px;\n}\n\n.navbar-toggle ~ .navbar-toggle {\n margin: 4px 4px 4px 0;\n}\n\n.navbar-default .navbar-toggle:not(:first-child) {\n margin: 4px 4px 4px 4px;\n}\n\n.navbar-default {\n background-color: #fff;\n}\n\n.navbar-default .navbar-nav > li > a:hover {\n background-color: #BACC1E;\n}\n\n.navbar-default .navbar-toggle:hover {\n background-color: #BACC1E;\n}\n\n.navbar-fixed-bottom {\n border: 0;\n padding: 16px 68px;\n margin-bottom: 20;\n}\n\n.head-navi-title {\n margin-left: 6px;\n}\n\n.collapse.in > .nav li a {\n color: #333;\n}\n\n.collapse.in > .nav li.disabled a {\n color: #bbb;\n}*/\n\n.dropdown-menu:not(.editor) {\n border-radius: 2px;\n}\n\n.dropdown-menu > li > a > span.kbd {\n position: absolute;\n right: 20px;\n bottom: 0.4em;\n font-size: 0.8em;\n float: right;\n}\n\n#head-navigation-program-edit .dropdown-menu > li > a, #head-navigation-configuration-edit .dropdown-menu > li > a {\n position: relative;\n padding-right: 70px;\n}\n\n.dropdown-menu > li:not(.disabled) > a:hover,\n.dropdown-menu > li:not(.disabled) > a:focus {\n background-color: #BACC1E !important;\n}\n\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #bbb;\n}\n\n#tokenValue {\n text-transform: uppercase\n}\n\n#roberta {\n background-image: url(/css/img/Roberta_ears_up.png);\n width: 160px;\n height: 180px;\n background-repeat: no-repeat;\n position: absolute;\n bottom: -12px;\n right: -20px;\n background-size: contain;\n}\n\n#version-info {\n position: absolute;\n top: 16px;\n right: 60px;\n font-size: 24px;\n font-weight: 500;\n}\n\n.cover {\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n z-index: 2000;\n background-color: #ddd;\n}\n\n.connector {\n margin-top: 19px;\n position: absolute;\n right: 5%;\n z-index: 900;\n fill: #BACC1E;\n}\n\n.border-dotted {\n border-right: 1px dashed #afca04;\n}\n\n.popupTitel {\n margin-top: 20px;\n margin-bottom: 10px;\n text-align: center;\n}\n\n.popup-checkbox {\n color: #bbb;\n font-size: 14px;\n padding: 0 !important;\n padding-bottom: 16px !important;\n}\n\n.download-checkbox {\n color: #bbb;\n font-size: 14px;\n padding-bottom: 16px !important;\n padding-left: 16px !important;\n width: 100%;\n}\n\n.popup-checkbox input,\n.download-checkbox input {\n position: relative;\n top: 2px;\n margin-right: 6px;\n margin-bottom: 6px;\n}\n\n.popup-checkbox label,\n.download-checkbox label {\n font-weight: normal;\n display: initial;\n}\n\n.download-checkbox ul {\n list-style: none;\n}\n\n#download-instructions {\n list-style-type: none;\n padding: 0;\n margin: 32px 16px 0 16px;\n}\n\n#download-instructions li {\n font-size: 20px;\n margin-bottom: 48px;\n padding-left: 2em;\n position: relative;\n}\n\n#download-instructions .typcn-Roberta::before {\n position: absolute;\n left: 0;\n padding-top: 4px;\n}\n\n#programLink a {\n text-decoration: underline;\n color: #337ab7;\n}\n\n.clearer {\n clear: both;\n}\n\n.simWindow {\n position: absolute;\n left: 50px;\n top: 200px;\n z-index: 99;\n display: none;\n}\n\n.simWindow#simValuesWindow button.close {\n top: 4px;\n right: 14px;\n position: absolute;\n}\n\n.simWindow#simRobotWindow button.close {\n top: 4px;\n right: 16px;\n position: absolute;\n z-index: 99999;\n}\n\n#VariablesContent {\n height: 300px;\n overflow: auto;\n width: auto;\n}\n\n#simValuesContent label {\n display: inline-block;\n width: 150px;\n margin-right: 6px;\n margin-left: 10px;\n}\n\n#simValuesContent div > div {\n white-space: nowrap;\n max-height: 70vh;\n}\n\n#simValuesContent span {\n display: inline-block;\n padding: 0 6px;\n width: 60px;\n}\n\n.bigNumber {\n color: #8fa402;\n font-size: large;\n font-weight: bold;\n}\n\n.simWindow .modal-dialog {\n width: max-content;\n min-width: max-content;\n margin: 0;\n pointer-events: all;\n}\n\n.simWindow text {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.simWindow div {\n width: 100%;\n}\n\n.modal-backdrop.in {\n opacity: .3;\n}\n\n.modal-content {\n border: 0;\n border-radius: 2px;\n}\n\n.modal-body {\n padding: 0 16px;\n}\n\n.modal-body.left-inner-addon {\n word-break: break-word;\n}\n\n#startup-message-statustext h4 {\n font-weight: 500;\n}\n\n.modal-header,\n.modal-footer {\n border: 0;\n padding: 16px 16px 20px;\n text-align: left;\n}\n\n.form-control:focus, .form-select:focus {\n box-shadow: none;\n -webkit-box-shadow: none;\n -moz-box-shadow: none;\n -moz-transition: none;\n -webkit-transition: none;\n border: 1px solid #afca04;\n}\n\n.modal-footer {\n justify-content: space-between;\n}\n\n.with-devider {\n margin-top: 10px;\n}\n\n.btn-toolbar.editor {\n padding: 10px 0 0 0;\n background-color: #eee;\n}\n\n.btn-info, .btn-default.show {\n background-color: #afca04;\n border-color: #afca04;\n}\n\n.btn.btn-link.btn-user {\n background-color: transparent;\n color: var(--bs-btn-color);\n text-decoration: none;\n padding: 0\n}\n\n.btn.btn-link.btn-user:hover, .btn.btn-link.btn-user:focus, .btn.btn-link.btn-user:hover:focus {\n text-decoration: underline;\n background-color: transparent;\n color: var(--bs-btn-hover-color);;\n}\n\n.btn {\n border-radius: 2px;\n}\n\n.btn-info:hover,\n.btn-info:focus,\n.btn-info.focus,\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-color: #afca04;\n border-color: #afca04;\n}\n\na.btn.editor {\n display: flex;\n align-items: center;\n}\n\n.btn:hover:not(.editor, .start),\n.btn:active:focus:not(.editor, .start),\n.btn:focus:not(.editor, .start),\n.btn .focus:not(.editor, .start),\n.btn:active:not(.editor, .start),\n.btn .active:not(.editor, .start),\n.open > .dropdown-toggle .btn:not(.editor, .start) {\n background-color: #C7D92B;\n color: #fff;\n -webkit-box-shadow: none;\n box-shadow: none;\n outline: none;\n}\n\n.btn:not(.editor, .galleryLike, .start) {\n margin-right: 16px;\n margin-left: 0;\n background-color: #BACC1E;\n color: #fff;\n font-size: 16px;\n border: none;\n border-radius: 2px;\n -webkit-box-shadow: none;\n box-shadow: none;\n cursor: pointer;\n}\n\nbutton.editor {\n background-color: #dedede;\n border-radius: 2px;\n}\n\nbutton.editor:hover {\n background-color: #eee;\n}\n\n.simbtn.btn:hover,\n.simbtn.btn:active:focus,\n.simbtn.btn:focus,\n.simbtn.btn.focus,\n.simbtn.btn:active,\n.simbtn.btn.active,\n.open > .dropdown-toggle.simbtn.btn {\n background-color: #f29400;\n}\n\n#simEditButtons > .typcn-chart-line-outline {\n fill: #BACC1E;\n}\n\n.simKey:hover {\n cursor: pointer;\n}\n\n.fixed-table-toolbar .btn:not(.start) {\n width: 48px;\n height: 48px;\n margin-right: 4px;\n margin-left: 0;\n background-color: #BACC1E;\n color: #fff;\n font-size: 24px;\n border: none;\n border-radius: 2px;\n -webkit-box-shadow: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.fixed-table-toolbar button.btn:last-child {\n margin-right: 0;\n}\n\n.fixed-table-toolbar .btn:hover:not(.start) {\n background-color: #C7D92B;\n}\n\n.btn-group.pull-right > .btn:last-child {\n margin-right: 0;\n}\n\ntable .typcn-flow-merge:before,\ntable .typcn-chevron-left:before,\ntable .typcn-chevron-right:before {\n display: inline-block;\n transform: rotate(-90deg);\n}\n\ntable:not(#robotTable) [data-bs-toggle=\"collapse\"]:after {\n content: url(\"data:image/svg+xml;utf8,\");\n float: right;\n}\n\n.fixed-table-container thead th .both {\n background-image: url(\"../css/svg/arrow-unsorted.svg\");\n}\n\n.fixed-table-container thead th .asc {\n background-image: url(\"../css/svg/arrow-sorted-up.svg\");\n}\n\n.fixed-table-container thead th .desc {\n background-image: url(\"../css/svg/arrow-sorted-down.svg\");\n}\n\ntable:not(#robotTable) [data-bs-toggle=\"collapse\"].collapsed:after {\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.modal-body > .bootstrap-table {\n margin: 0;\n}\n\n.blbtn {\n width: 48px;\n height: 48px;\n margin-right: 2px;\n margin-left: 0;\n margin-bottom: 6px;\n background-color: #fff;\n color: #333;\n font-size: 0;\n border: 1px solid #D8D8D8;\n border-radius: 2px;\n -webkit-box-shadow: none;\n box-shadow: none;\n cursor: pointer;\n}\n\n.blbtn:hover {\n background-color: #BACC1E;\n}\n\n.modal-footer .btn + .btn {\n margin-left: 0;\n margin-right: 0;\n}\n\n.btn-close {\n --bs-btn-close-focus-shadow: 0;\n}\n\n.close:hover,\n.close:focus {\n color: #333;\n opacity: 1;\n}\n\n#popup-robot-main {\n visibility: hidden;\n}\n\n#popup-robot-main.slick-initialized {\n visibility: visible;\n}\n\n.robot-container {\n border-radius: 4px;\n border: 1px solid #ddd;\n width: 140px;\n height: 88px;\n display: inline-grid;\n margin: 20px;\n padding: 13px 0;\n text-align: center;\n cursor: pointer;\n}\n\n.startupImages {\n top: 50%;\n position: relative;\n margin-top: 0;\n}\n\n.robot-label {\n display: block;\n line-height: 14px;\n}\n\n.robot-icon {\n position: relative;\n font-size: 40px;\n right: -16px;\n}\n\n.typcn.robot-icon:before {\n margin: 0;\n}\n\n.bootstrap-tagsinput {\n border: 10px solid #eee;\n padding: 4px 6px;\n color: #555;\n white-space: nowrap;\n overflow-x: auto;\n width: 100%;\n word-break: break-word;\n -webkit-hyphens: auto;\n -moz-hyphens: auto;\n hyphens: auto;\n}\n\n.bootstrap-tagsinput .tag {\n background-color: #bbb;\n margin-right: 2px;\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n\n}\n\n/***** END Overwrite Bootstrap-CSS *****/\n\n/***** BEGIN typicons *****/\n\n.dropdown-menu .typcn:before {\n margin-right: 6px;\n}\n\n#toolboxDiv > .nav-tabs .typcn:before {\n position: relative;\n top: 1px;\n}\n\n.blbtn.typcn:before {\n margin-right: 0;\n font-size: 36px;\n}\n\n.bootstrap-table .typcn:before {\n margin-right: 0;\n}\n\n.bootstrap-table .no-records-found td {\n color: #333333;\n}\n\n.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {\n background-color: #E9ECEF;\n}\n\n.input-typcn:before {\n font-size: 22px;\n position: relative;\n top: 4px;\n left: -1px;\n}\n\n/***** END typicons *****/\n\nlabel.form-invalid {\n position: relative;\n width: 100%;\n padding: 6px 6px;\n background: rgb(221, 221, 221);\n background: rgba(221, 221, 221, 0.9);\n color: #E2001A;\n border-radius: 2px;\n font-size: 16px;\n font-weight: normal;\n z-index: 10;\n}\n\nlabel.form-invalid:after {\n right: 10%;\n content: \" \";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n border: 6px solid transparent;\n border-top-color: #E2001A;\n margin-top: 28px;\n z-index: 20;\n}\n\n#div-login-forms .form-group {\n position: relative;\n}\n\n.form-group {\n width: 100%;\n}\n\n.form-group .hint {\n position: relative;\n border-radius: 2px;\n margin-top: 12px;\n color: #333;\n background: rgb(221, 221, 221);\n background: rgba(221, 221, 221, 0.9);\n font-size: 16px;\n padding: 6px;\n z-index: 11;\n width: 100%;\n}\n\n.hint:before {\n position: absolute;\n content: '';\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0 6px 6px 6px;\n border-color: transparent transparent #8FA402 transparent;\n right: 75%;\n top: -6px;\n}\n\n/***** BEGIN Input-Fields *****/\n\n.capitalLetters {\n text-transform: uppercase;\n}\n\n.input-group-addon {\n border: 1px solid #afca04;\n background: #fff;\n padding: 6px 6px 0 10px;\n border-radius: 2px;\n}\n\n/* enable absolute positioning */\n\n.inner-addon {\n position: relative;\n}\n\n/* style icon */\n\n.inner-addon .typcn {\n position: absolute;\n padding: 0 6px;\n left: 0;\n color: #c7c7c7;\n font-size: 20px;\n}\n\n#programShareWith {\n margin-right: 15px;\n}\n\ninput.shareLabelInput.form-control, select.shareLabelInput.form-control {\n margin: 0;\n}\n\nlegend {\n margin-bottom: 0;\n}\n\n.progName:before {\n margin-right: 0;\n}\n\n/***** END JQuery-Popup-Input-Fields *****/\n\n.bootstrap-table, .table {\n --bs-table-color: #333333;\n}\n\n.bootstrap-table:not(#start .bootstrap-table), .table:not(#robotTable) {\n cursor: pointer;\n}\n\n.bootstrap-table a {\n color: #333;\n margin-right: 4px;\n margin-left: 4px;\n text-decoration: none;\n}\n\n/*.bootstrap-table .extend:a {\n margin-right: 0;\n margin-left: 0;\n}*/\n\n.bootstrap-table a.disabled {\n color: #bbb;\n pointer-events: none;\n}\n\n/*.filters select {\n appearance: auto;\n}*/\n\n.bootstrap-table .fixed-table-toolbar .float-left, .bootstrap-table .fixed-table-toolbar .float-right {\n margin-top: 0;\n}\n\n.bs-bars.float-left {\n width: 100%;\n}\n\ntd.bs-checkbox {\n padding: 14px 8px 0 8px !important;\n}\n\n.bootstrap-table a:hover,\n.bootstrap-table a:focus {\n color: #000;\n text-decoration: none;\n}\n\n.bootstrap-table a > span {\n padding: 0;\n}\n\n.galleryTable {\n position: absolute;\n}\n\n.galleryTable tbody {\n display: flex;\n flex-wrap: wrap;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.galleryTable tr > td {\n background-color: transparent;\n}\n\n.galleryTable .typcn:before {\n position: absolute;\n left: 50%;\n margin-left: -40px;\n color: #eee;\n font-size: 80px;\n top: 10px;\n}\n\na.bookmark.typcn:before {\n color: #39378b;\n font-size: 34px;\n opacity: .8;\n padding: 16px;\n position: relative;\n left: 40px;\n top: 16px;\n z-index: 30;\n}\n\na.bookmark {\n width: 66px;\n height: 66px;\n display: block;\n right: 0;\n top: 0;\n margin: 0;\n position: absolute;\n border-radius: 50%;\n}\n\na.bookmark.typcn:hover:before {\n font-size: 30px;\n padding: 18px;\n opacity: 1;\n top: 18px;\n}\n\n#start .nav-link {\n background: none;\n border-bottom: 0.1875rem solid rgba(57, 55, 139, 0);\n color: rgba(0, 0, 0, .5);\n margin-right: 1.25rem;\n padding: 0 0 0.625rem;\n}\n\n#start .nav-link.active {\n border-bottom: 0.1875rem solid rgba(57, 55, 139, 1);\n color: #39378b;\n font-weight: 700;\n}\n\n#start .nav-link:hover {\n color: #39378b;\n}\n\n#start .dropdown-menu {\n border-radius: 5px;\n}\n\n#start .dropdown-toggle.show::after {\n transform: rotate(180deg);\n}\n\nbutton.btnFilter.start {\n display: inline-block;\n font-weight: 700;\n padding: 0.9375rem;\n text-decoration: none;\n color: #39378b;\n background-color: #ffffff;\n margin-left: 6px !important;\n border: none;\n border-radius: 5px !important;\n}\n\nbutton.btnFilter.start:hover, button.filter.start.show {\n background: #39378b;\n color: #fff;\n}\n\n#start .fixed-table-toolbar {\n min-height: 74px;\n}\n\n#start .galleryTable button.pick.start {\n display: inline-block;\n padding: 10px 50px 10px 15px;\n text-decoration: none;\n background-color: #39378b;\n color: #ffffff;\n float: right;\n margin: 12px -9px -9px 0;\n position: relative;\n border-radius: 5px 0;\n}\n\nbutton#more.start {\n display: inline-block;\n padding: 10px 50px 10px 15px;\n text-decoration: none;\n background-color: #39378b;\n color: #ffffff;\n margin: 0 0 20px;\n position: relative;\n border-radius: 5px;\n width: auto;\n padding: 10px;\n}\n\n\n#start div.start.typcn {\n position: relative;\n}\n\n#start .galleryTable button.pick.start:before {\n position: absolute;\n font-size: 24px;\n transform: translate(0px, 0px);\n transition-duration: 0.3s;\n margin: 0;\n right: 0;\n}\n\n#start .galleryTable button.pick.start:hover:before {\n transform: translate(5px, 0);\n transition-duration: 0.3s;\n}\n\n#start .galleryTable div.start.typcn:hover {\n background-color: red;\n}\n\n#start .fixed-table-container.fixed-height, #start .fixed-table-body {\n border: none;\n height: auto !important;\n margin: 0 -1.5em;\n}\n\n#start .galleryTable.table {\n position: relative;\n}\n\n#start .galleryTable td {\n color: #333;\n background-color: #ffffff;\n border-radius: 5px;\n}\n\n.table-hover > tbody > tr:hover > * {\n --bs-table-color-state: 0;\n --bs-table-bg-state: 0;\n}\n\na.page-link {\n --bs-pagination-active-bg: #BACC1E;\n --bs-pagination-active-border-color: #BACC1E;\n}\n\na.page-link:focus, a.page-link:hover {\n box-shadow: none;\n}\n\n.galleryIcon.typcn:before {\n position: relative;\n color: #fff;\n font-size: 24px;\n font-weight: 700;\n top: 4px;\n left: 40px;\n}\n\n.fixed-table-container.fixed-height.has-card-view {\n overflow: auto;\n}\n\nspan.card-view-title {\n min-width: auto !important;\n}\n\n.tutorialIcon.typcn:before {\n position: relative;\n color: #fff;\n font-size: 24px;\n top: 0;\n left: 0;\n margin-left: 0;\n margin-right: 12px;\n width: 1.5em;\n display: inline-block;\n}\n\ndiv.imgSol img, div.imgSol svg {\n max-width: 100%;\n overflow: hidden;\n}\n\n/*#galleryList .fixed-table-toolbar {\n display: flex;\n align-items: center;\n}*/\n\n#galleryList .fixed-table-toolbar .pull-left {\n flex: 1;\n}\n\n#galleryList .pull-right.search {\n display: none;\n}\n\n.listToolbar {\n display: flex;\n /* align-items: center;*/\n justify-content: space-between;\n position: absolute;\n top: 10px;\n}\n\n/*#galleryListToolbar .filters, #tutorialListToolbar .filters {\n display: flex;\n align-items: center;\n margin-top: 5px;\n}\n\n#galleryListToolbar .filters .form-control, #tutorialListToolbar .filters .form-control {\n margin: 0 4px; !*TODO a*!\n top: 5px;\n}\n\n#galleryListToolbar .filters .form-group {\n display: flex;\n}\n\n#galleryListToolbar .filters .form-group label {\n text-align: right;\n top: 5px;\n justify-content: right;\n display: flex;\n align-items: center;\n width: 100%;\n}*/\n\n/*#galleryTable .galleryNode {\n padding: 24px;\n float: left;\n}\n\n#galleryTable .listNode td {\n display: grid;\n grid-template-columns: 150px 1fr 300px;\n grid-template-rows: 0.4fr 0.6fr 0.5fr 0.5fr;\n gap: 16px;\n grid-template-areas: \"logo description likes\" \"logo description views\" \"name author tags\" \"name date like_btn\";\n padding: 16px;\n justify-content: center;\n align-items: center;\n max-height: 200px;\n}\n\n#galleryTable .listNode td .card-view:nth-child(1) {\n grid-area: logo;\n position: relative;\n align-self: flex-start;\n}\n\n#galleryTable .listNode td .card-view:nth-child(2) {\n grid-area: name;\n align-self: flex-end;\n}\n\n#galleryTable .listNode td .card-view:nth-child(3) {\n grid-area: description;\n}\n\n#galleryTable .listNode td .card-view:nth-child(4) {\n grid-area: author;\n}\n\n#galleryTable .listNode td .card-view:nth-child(5) {\n grid-area: date;\n}\n\n#galleryTable .listNode td .card-view:nth-child(6) {\n grid-area: likes;\n}\n\n#galleryTable .listNode td .card-view:nth-child(7) {\n grid-area: views;\n}\n\n#galleryTable .listNode td .card-view:nth-child(8) {\n grid-area: tags;\n}\n\n#galleryTable .listNode td .card-view:nth-child(9) {\n grid-area: like_btn;\n}\n\n#galleryTable .listNode td .card-view:nth-child(9) .galleryLike {\n bottom: 0;\n}*/\n\n.filter, .form-control:not(#start .fixed-table-toolbar>.float-right>.form-control) {\n border: 1px solid #afca04;\n background-color: #ffffff;\n border-radius: 2px;\n height: 48px;\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.form-control:not(#start .fixed-table-toolbar>.float-right>.form-control) {\n appearance: auto;\n}\n\n#start .fixed-table-toolbar > .float-right > .form-control {\n height: 54px;\n border-color: #39378b;\n margin-left: 6px;\n}\n\n.search > label {\n white-space: nowrap;\n margin-top: 12px;\n margin-left: 6px;\n max-width: 100%;\n}\n\n.search.float-right {\n max-width: calc(100% - 100px);\n}\n\n.cardViewName {\n font-weight: bold;\n font-size: 24px;\n text-align: center;\n margin-top: 80px;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n max-height: 34px;\n min-height: 34px;\n margin-bottom: 12px;\n -webkit-hyphens: auto;\n -moz-hyphens: auto;\n hyphens: auto;\n word-break: break-all;\n}\n\n.robotName {\n font-weight: bold;\n font-size: 20px;\n text-align: center;\n min-height: 52px;\n max-height: 52px;\n}\n\n.robotImage {\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 60%;\n cursor: pointer;\n}\n\n.robotImage img {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n\n#start button.accordion-button {\n padding: 6px 12px;\n}\n\n#start label.form-check-label {\n margin-left: 12px;\n margin-top: 4px;\n}\n\n/*************************************\n***** New Start Page 2024 ***** \n*************************************/\n\n.transition, .button-big, .button, .button-big--arrow, .button-big.icon::after, .button-big--quaternary::after, .button-big--tertiary::after, .button-big--secondary::after, .button-big--primary::after {\n transition: all 0.3s;\n}\n\n/*************************************\n***** Typography *****\n*************************************/\n\n/*************************************\n***** Headlines *****\n*************************************/\n\nh1, h2, h3, h4, h5 {\n font-weight: 700;\n}\n\nh1 {\n font-size: 30px;\n line-height: 40px;\n margin-bottom: 30px;\n}\n\nh2 {\n font-size: 30px;\n line-height: 40px;\n margin-bottom: 20px;\n}\n\nh3 {\n font-size: 30px;\n line-height: 40px;\n margin-bottom: 30px;\n}\n\nh4 {\n font-size: 20px;\n line-height: 30px;\n}\n\nh5 {\n font-size: 20px;\n line-height: 30px;\n}\n\n.tint {\n display: inline-block;\n padding: 10px 20px;\n margin: 0 -10px 0 -10px;\n mix-blend-mode: multiply;\n color: #fff;\n}\n\n.tint--primary {\n background: #39378B;\n transform: rotate(1deg);\n position: relative;\n top: 5px;\n}\n\n.tint--secondary {\n background: #FDC300;\n transform: rotate(-1deg);\n}\n\n.tint--tertiary {\n background: #33B8CA;\n transform: rotate(-2deg);\n}\n\n.tint--quaternary {\n background: #88BCE2;\n transform: rotate(1deg);\n position: relative;\n top: -8px;\n}\n\n/*************************************\n***** Paragraph & Lists *****\n*************************************/\n\np {\n font-size: 16px;\n line-height: 24px;\n margin-bottom: 15px;\n}\n\np:last-child {\n margin-bottom: 0;\n}\n\np.teaser {\n font-size: 20px;\n line-height: 30px;\n}\n\np.teaser:last-child {\n margin-bottom: 15px;\n}\n\np.teaser + .button {\n margin-top: 20px;\n}\n\n/*************************************\n***** Links *****\n*************************************/\n\na {\n color: #39378B;\n text-decoration: underline;\n}\n\n@media (hover: hover) {\n a:hover {\n cursor: pointer;\n text-decoration: none;\n }\n}\n\n/*************************************\n***** Buttons *****\n*************************************/\n\n.button-big--arrow, .button-big.icon::after, .button-big--quaternary::after, .button-big--tertiary::after, .button-big--secondary::after, .button-big--primary::after {\n content: \"\";\n height: 30px;\n width: 30px;\n background-repeat: no-repeat;\n background-size: contain;\n position: absolute;\n bottom: 15px;\n right: 20px;\n}\n\n@media (hover: hover) {\n .button-big--arrow:hover, .button-big.icon:hover::after, .button-big--quaternary:hover::after, .button-big--tertiary:hover::after, .button-big--secondary:hover::after, .button-big--primary:hover::after {\n right: 15px;\n }\n}\n\n.button {\n display: inline-block;\n border-radius: 5px;\n text-decoration: none;\n font-weight: 700;\n padding: 15px;\n}\n\n.button--light {\n color: #39378B;\n background: #fff;\n}\n\n.button.show {\n background: #39378b;\n color: #fff;\n}\n\n@media (hover: hover) {\n .button:hover {\n background: #39378b;\n color: #fff;\n }\n}\n\n.button-big {\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: 10px 80px 10px 15px;\n color: #000;\n text-decoration: none;\n border-radius: 5px;\n}\n\n@media (min-width: 768px) {\n .button-big {\n padding: 15px 15px 50px 15px;\n }\n}\n\n@media (min-width: 992px) {\n .button-big {\n padding: 15px 80px 15px 20px;\n }\n}\n\n.button-big--primary {\n background: rgba(57, 55, 139, 0.1);\n border: 1px solid rgba(57, 55, 139, 0.5);\n position: relative;\n}\n\n.button-big--primary::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n\n@media (hover: hover) {\n .button-big--primary:hover {\n background: rgba(57, 55, 139, 0.2);\n border: 1px solid #39378b;\n }\n}\n\n.button-big--primary.icon {\n background: #39378b;\n}\n\n.button-big--secondary {\n background: rgba(253, 195, 0, 0.1);\n border: 1px solid rgba(253, 195, 0, 0.5);\n position: relative;\n}\n\n.button-big--secondary::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n\n@media (hover: hover) {\n .button-big--secondary:hover {\n background: rgba(253, 195, 0, 0.2);\n border: 1px solid #fdc300;\n }\n}\n\n.button-big--secondary.icon {\n background: #fdc300;\n}\n\n.button-big--tertiary {\n background: rgba(51, 184, 202, 0.1);\n border: 1px solid rgba(51, 184, 202, 0.5);\n position: relative;\n}\n\n.button-big--tertiary::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n\n@media (hover: hover) {\n .button-big--tertiary:hover {\n background: rgba(51, 184, 202, 0.2);\n border: 1px solid #33b8ca;\n }\n}\n\n.button-big--tertiary.icon {\n background: #33b8ca;\n}\n\n.button-big--quaternary {\n background: rgba(136, 188, 226, 0.1);\n border: 1px solid rgba(136, 188, 226, 0.5);\n position: relative;\n}\n\n.button-big--quaternary::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n\n@media (hover: hover) {\n .button-big--quaternary:hover {\n background: rgba(136, 188, 226, 0.2);\n border: 1px solid #88bce2;\n }\n}\n\n.button-big--quaternary.icon {\n background: #88bce2;\n}\n\n.button-big.icon {\n border: none;\n color: #fff;\n padding: 15px 80px 10px 15px;\n}\n\n@media (min-width: 992px) {\n .button-big.icon {\n padding: 40px 80px 40px 40px;\n }\n}\n\n.button-big.icon::after {\n background-image: url('data:image/svg+xml;charset=UTF-8,');\n}\n\n@media (hover: hover) {\n .button-big.icon:hover {\n box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);\n }\n}\n\n.button-big.icon svg {\n fill: #fff;\n height: 25px;\n width: auto;\n margin-bottom: 20px;\n align-self: flex-start;\n}\n\n/*************************************\n***** Sections *****\n*************************************/\n\nsection {\n width: 100%;\n}\n\n.section--white {\n background: #fff;\n}\n\n.section--light {\n background: #e9ecef;\n}\n\n#start {\n background: #fff;\n}\n\n/*************************************\n***** Banner *****\n*************************************/\n\n#startup-message-statustext {\n background: #39378B;\n color: #fff;\n position: absolute;\n z-index: 999;\n bottom: 50px;\n right: 50px;\n width: 100%;\n max-width: 450px;\n border-radius: 5px;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);\n}\n\n#startup-message-statustext h4, #startup-message-statustext p {\n padding: 20px;\n}\n\n/*************************************\n***** NEPO Block in Colors *****\n*************************************/\n\n.nepo {\n display: inline-block;\n}\n\n.nepo::before {\n content: \"\";\n display: inline-block;\n width: 85px;\n height: 20px;\n background-image: url(\"img/nepo.svg\");\n background-position: left bottom;\n background-repeat: no-repeat;\n background-size: contain;\n margin-right: 5px;\n}\n\n/*************************************\n***** News *****\n*************************************/\n\n.teaser-news {\n display: flex;\n background: #e9ecef;\n padding: 15px;\n border-radius: 5px;\n}\n\n@media (min-width: 992px) {\n .teaser-news {\n padding: 40px;\n }\n}\n\n.teaser-news--header {\n font-weight: 700;\n font-size: 20px;\n line-height: 30px;\n margin-bottom: 10px;\n}\n\n.teaser-news--body h3 {\n color: #39378B;\n}\n\n.teaser-news--image {\n width: 100%;\n height: auto;\n}\n\n/*************************************\n***** Footer *****\n*************************************/\n\n#start footer {\n border-top: 1px solid rgba(0, 0, 0, 0.2);\n padding-bottom: 96px;\n width: 100%;\n}\n\n#start footer img {\n width: 100%;\n}\n\n#start footer p,\n#start footer .nav-link {\n font-size: 14px;\n line-height: 20px;\n margin-right: 0;\n}\n\n#start footer .nav-item {\n background: none;\n}\n\n#start footer .nav-item:hover {\n background: none;\n}\n\n#start footer .nav-link {\n padding: 5px 0;\n color: #6c757d;\n}\n\n/*************************************\n***** Safari Flexbox Fix for 100% Height *****\n*************************************/\n@supports (background: -webkit-named-image(i)) {\n .flexbox-fix {\n display: flex;\n }\n}\n\n.galleryTable.table, .galleryTable tr {\n border: 0.75em solid #E9ECEF;\n border-collapse: collapse;\n}\n\n#share-with-gallery .galleryTable tr, #share-with-gallery .galleryTable.table {\n border-color: #fff;\n}\n\ndiv.galleryLike {\n color: #fff;\n text-align: center;\n bottom: -20px;\n}\n\ndiv.galleryLike a > span {\n color: #fff;\n}\n\nbutton.galleryLike.btn {\n color: white;\n border: 2px solid white;\n border-radius: 2px;\n opacity: 0.75;\n}\n\nbutton.galleryLike.btn:hover, button.galleryLike.btn:focus, button.galleryLike.btn:active, button.galleryLike.btn:focus:active {\n background-color: inherit;\n font-weight: 600;\n opacity: 1;\n}\n\ndiv.cardViewDescription {\n overflow: hidden;\n text-overflow: ellipsis;\n margin-bottom: 12px;\n position: relative;\n min-height: 42px;\n word-break: break-word;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\ndiv.cardViewInfo {\n overflow: hidden;\n text-overflow: ellipsis;\n position: relative;\n word-break: break-word;\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n}\n\ndiv.cardViewLabel {\n display: inline-block;\n min-width: 30%;\n}\n\n.galleryDescription:before, .tutorialOverview:before {\n content: '...';\n position: absolute;\n right: 0;\n bottom: 0;\n}\n\n.galleryDescription:after, .tutorialOverview:after {\n content: '';\n position: absolute;\n right: 0;\n width: 1em;\n height: 2.5em;\n margin-top: -0.3em;\n}\n\n.galleryDescription.color0:after, .tutorialOverview.color0:after {\n background: #33B8CA;\n}\n\n.galleryDescription.color1:after, .tutorialOverview.color1:after {\n background: #EBC300;\n}\n\n.galleryDescription.color2:after, .tutorialOverview.color2:after {\n background: #005A94;\n}\n\n.galleryDescription.color3:after, .tutorialOverview.color3:after {\n background: #179C7D;\n}\n\n.galleryDescription.color4:after, .tutorialOverview.color4:after {\n background: #F29400;\n}\n\n.galleryDescription.color5:after, .tutorialOverview.color5:after {\n background: #E2001A;\n}\n\n.galleryDescription.color6:after, .tutorialOverview.color6:after {\n background: #EB6A0A;\n}\n\n.galleryDescription.color7:after, .tutorialOverview.color7:after {\n background: #8FA402;\n}\n\n.galleryDescription.color8:after, .tutorialOverview.color8:after {\n background: #BACC1E;\n}\n\n.galleryDescription.color9:after, .tutorialOverview.color9:after {\n background: #9085BA;\n}\n\n.galleryDescription.color10:after, .tutorialOverview.color10:after {\n background: #FF69B4;\n}\n\n.galleryDescription.color11:after, .tutorialOverview.color11:after {\n background: #DF01D7;\n}\n\n.galleryAuthor {\n overflow: hidden;\n word-break: break-all;\n height: 22px;\n}\n\n.galleryLike.typcn:before {\n position: inherit;\n font-size: 16px;\n color: #fff;\n}\n\n.galleryTags {\n background-color: inherit;\n border: none;\n box-shadow: none;\n text-decoration: none;\n overflow: hidden;\n white-space: normal;\n padding: 0;\n height: 34px;\n line-height: 34px;\n}\n\n.galleryTags input {\n height: 0;\n}\n\n.galleryTags > .tag {\n background-color: #bbb;\n line-height: 34px;\n white-space: normal;\n}\n\n.galleryTable td {\n border: none !important;\n color: #FFFFFF;\n width: 100vw;\n position: relative;\n}\n\n#galleryPreview tr {\n width: 100%;\n}\n\n.dataTables_wrapper {\n margin: 0 68px;\n}\n\n#progList table tbody tr.selected,\n#confList table tbody tr.selected,\n#relationsList table tbody tr.selected,\n#userGroupList table tbody tr.selected,\n#userGroupMemberList table tbody tr.selected {\n background-color: #BACC1E;\n}\n\n#progList .fixed-table-container tbody .selected td,\n#userGroupList .fixed-table-container tbody .selected td,\n#userGroupMemberList .fixed-table-container tbody .selected td {\n background-color: #BACC1E;\n}\n\n#progList table tbody tr:hover td:not(td:last-child),\n#confList table tbody tr:hover td:not(td:last-child),\n#relationsList table tbody tr:hover,\n#userGroupList table tr:hover td:not(td:last-child) {\n background-color: #BACC1E;\n}\n\na.delete:hover {\n color: #E2001A;;\n}\n\na.share:hover, a.gallery:hover, a.load:hover {\n color: #BACC1E;\n}\n\n.float-right.search.btn-group {\n max-width: calc(100% - 150px);\n}\n\n/*@media only screen and (max-width: 767px) {\n !* Manually set bootstrap < sm rules *!\n !*#progListToolbar .bars.pull-left {\n margin-bottom: 68px;\n }*!\n #progListScopeSelect {\n position: absolute;\n right: 0;\n bottom: calc(-100% - 10px);\n width: calc(100vw - 32px);\n margin: 0;\n }\n}*/\n\ninput[type=range] {\n -webkit-appearance: none;\n margin: 10px 0;\n width: 100%;\n}\n\ninput[type=range]:focus {\n outline: none;\n}\n\ninput[type=range]::-webkit-slider-runnable-track {\n width: 100%;\n height: 8px;\n cursor: pointer;\n animate: 0.2s;\n box-shadow: 0 0 0 #000000;\n background: #BACC1E;\n border-radius: 2px;\n border: 0 solid #000000;\n}\n\ninput[type=range]::-webkit-slider-thumb {\n box-shadow: 0 0 0 #000000;\n border: 1px solid #333333;\n height: 24px;\n width: 12px;\n border-radius: 2px;\n background: #FFFFFF;\n cursor: pointer;\n -webkit-appearance: none;\n margin-top: -8.5px;\n}\n\ninput[type=range]:focus::-webkit-slider-runnable-track {\n background: #BACC1E;\n}\n\ninput[type=range]::-moz-range-track {\n width: 100%;\n height: 8px;\n cursor: pointer;\n animate: 0.2s;\n box-shadow: 0 0 0 #000000;\n background: #BACC1E;\n border-radius: 2px;\n border: 0 solid #000000;\n}\n\ninput[type=range]::-moz-range-thumb {\n box-shadow: 0 0 0 #000000;\n border: 1px solid #333333;\n height: 24px;\n width: 12px;\n border-radius: 2px;\n background: #FFFFFF;\n cursor: pointer;\n}\n\ninput[type=range]::-ms-track {\n width: 100%;\n height: 8px;\n cursor: pointer;\n animate: 0.2s;\n background: transparent;\n border-color: transparent;\n color: transparent;\n}\n\ninput[type=range]::-ms-fill-lower {\n background: #BACC1E;\n border: 0 solid #000000;\n border-radius: 4px;\n box-shadow: 0 0 0 #000000;\n}\n\ninput[type=range]::-ms-fill-upper {\n background: #BACC1E;\n border: 0 solid #000000;\n border-radius: 4px;\n box-shadow: 0 0 0 #000000;\n}\n\ninput[type=range]::-ms-thumb {\n box-shadow: 0 0 0 #000000;\n border: 1px solid #333333;\n height: 24px;\n width: 12px;\n border-radius: 2px;\n background: #FFFFFF;\n cursor: pointer;\n}\n\ninput[type=range]:focus::-ms-fill-lower {\n background: #BACC1E;\n}\n\ninput[type=range]:focus::-ms-fill-upper {\n background: #BACC1E;\n}\n\n.table-dark {\n text-transform: uppercase;\n --bs-table-bg: #898989;\n --bs-table-border-color: none;\n /* color: #ffffff;\n text-align: left;\n padding-left: 10px;*/\n}\n\n#progList table,\n#confList table,\n#showMultipleSimPrograms table thead,\n#show-relations table {\n margin: 0;\n width: 100%;\n}\n\n.updatedRow {\n color: #BACC1E;\n}\n\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td {\n padding: 9px;\n}\n\n.dataTables_scrollBody {\n border-bottom: none !important;\n}\n\n#progList .programs,\n#confList .configurations,\n#relationsList .relations {\n border-bottom: 1px solid #eee;\n}\n\n#relationsListing {\n margin-bottom: 15px;\n}\n\n#progList > h2,\n#confList > h2,\n#logList > h2 {\n margin-left: 68px;\n}\n\n\n#create-user-group .modal-body {\n margin-bottom: 1em;\n}\n\n#userGroupList .btn-group > .btn:not(.dropdown-toggle),\n#userGroupMemberList .btn-group > .btn:not(.dropdown-toggle) {\n border-radius: 2px;\n}\n\n#userGroupMemberTable .member-name:not(.active),\n#userGroupMemberTable .edit-member-name:not(.active) {\n display: none;\n}\n\n#userGroupMemberTable .btn {\n display: inline-block;\n font-size: 16px;\n height: calc(1.25em + 12px);\n vertical-align: top;\n border: none;\n margin-right: 0;\n}\n\n#userGroupMemberTable.table-hover > tbody > tr:hover {\n background-color: transparent;\n}\n\n#userGroupMemberTable .btn:focus,\n#userGroupMemberTable .btn:active {\n outline: none;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n\n#userGroupMemberTable .member-name-column {\n position: relative;\n display: inline-block;\n padding: 8px;\n margin: -8px;\n}\n\n#userGroupMemberTable tr.selected .member-name-column.active {\n background-color: rgba(255, 255, 255, .5);\n}\n\n#userGroupMemberTable .member-name {\n display: inline-block;\n padding: 7px 0;\n line-height: 1.25;\n font-size: 16px;\n margin-left: 16px;\n}\n\n#userGroupMemberTable .edit-member-name,\n#userGroupMemberTable .edit-member-name form {\n display: inline-block;\n}\n\n#userGroupMemberTable .edit-member-name form {\n margin: 0;\n padding: 0;\n}\n\n#userGroupMemberTable .edit-member-name form label.form-invalid {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n margin-bottom: 0;\n transform: translateY(100%);\n}\n\n#userGroupMemberTable .edit-member-name form label.form-invalid:after {\n top: 0;\n right: 25%;\n margin-top: 0;\n transform: translateY(-100%);\n border-bottom-color: red;\n border-top-color: transparent;\n}\n\n#userGroupMemberTable .edit-member-name input.form-control {\n font-size: 16px;\n line-height: 1.25;\n padding: 4px 12px 4px 15px;\n margin: 0;\n}\n\n#userGroupMemberTable .edit-member-name .btn.iais-loading-spin:before {\n display: inline-block;\n animation: iais-loading-spin 1.2s linear infinite;\n}\n\n#simEditButtons > .btn-group {\n width: 48px;\n height: 48px;\n vertical-align: top;\n}\n\n#simEditButtons > .btn-group.open button {\n background-color: #e7e7e7;\n}\n\n#simEditButtons > .btn-group > .dropdown-menu {\n width: 48px;\n min-width: 48px;\n margin-top: 6px;\n}\n\n#simEditButtons > .btn-group > .dropdown-menu > li > a {\n padding-left: 5px;\n padding-right: 0;\n text-align: center;\n height: 35px;\n font-size: 28px;\n text-decoration: none;\n}\n\n.simChangeObject.disabled {\n color: #bbb;\n cursor: not-allowed;\n}\n\n#simStop, #simControl.typcn-media-stop {\n color: #E2001A !important;\n}\n\n#simStop.disabled {\n color: #F6B3B9 !important;\n cursor: not-allowed;\n}\n\n.disabled a, li.disabled {\n color: #bbb; /* TODO check where this is used: color: #F6B3B9 !important;*/\n cursor: not-allowed;\n pointer-events: none\n}\n\n.disabled:hover, .disabled *:hover {\n background: inherit;\n}\n\n#simButtons > .debug {\n color: #1C5A94;\n}\n\n.typcn-media-play-outline.rotated:before {\n display: inline-block;\n transform: rotate(-90deg);\n}\n\n@keyframes iais-loading-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.pull-none .pull-right {\n margin-left: 3px;\n}\n\n.pull-none .pull-left {\n margin-right: 3px;\n}\n\n@media only screen and (max-width: 992px) {\n #main-section {\n top: 60px;\n }\n\n #logoShowStart img {\n height: 44px;\n margin-top: 8px;\n width: auto;\n }\n\n #head-navigation-tabs > li > a.active {\n border-bottom: none;\n }\n\n #head-navigation {\n padding-bottom: 8px;\n }\n\n #roberta {\n width: 80px;\n height: 90px;\n bottom: -6px;\n right: -10px;\n }\n\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 36px;\n }\n\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: inherit;\n }\n\n .modal-dialog.bigModal {\n width: 80%;\n min-width: 300px;\n }\n\n #head-navigation-tabs li {\n float: none;\n width: auto;\n overflow: hidden;\n }\n\n .log {\n margin: 16px 16px;\n }\n\n .dataTables_wrapper {\n margin: 0 16px;\n }\n\n #progList > h2,\n #confList > h2,\n #relationsList > h2,\n #logList > h2 {\n margin-left: 16px;\n }\n\n .navbar-fixed-bottom {\n border: 0;\n padding: 16px 16px;\n margin-bottom: 0;\n }\n\n .simWindow {\n left: 6px;\n top: 60px;\n }\n}\n\n@media only screen and (max-width: 992px) {\n .border-dotted {\n border-right: 0;\n }\n}\n\n/*.modal-header h4 {\n font-size: 1em;\n}*/\n\nimg.img-responsive {\n height: 140px;\n margin: 0 auto;\n}\n\n@media only screen and (max-width: 768px) {\n #show-startup-message .slick-prev {\n left: -25px;\n }\n\n #show-startup-message .slick-next {\n right: -25px;\n }\n\n #show-startup-message #popup-robot-container {\n margin-left: 25px;\n margin-right: 25px;\n }\n}\n\n@media only screen and (max-width: 480px) {\n #show-startup-message .slick-slide.slick-center {\n transform: scale(1);\n }\n\n .robot-container {\n margin: 20px 8px;\n }\n}\n\n.enjoyhint_close_btn {\n border: 2px solid #BACC1E;\n}\n\n.enjoyhint_close_btn:active, .enjoyhint_close_btn:hover {\n background: #C7D92B;\n}\n\n@media print {\n div#show-startup-message {\n display: none !important;\n }\n\n svg.blocklySvg {\n overflow: visible;\n }\n\n .navbar {\n display: block;\n }\n\n .nav {\n display: block;\n }\n\n .headNavigationTabs {\n margin-top: 59px;\n z-index: 1\n }\n\n .navbar-collapse {\n padding-right: 10px;\n padding-left: 10px;\n }\n\n .collapse {\n display: block;\n visibility: visible;\n }\n\n #blocklyDiv {\n border: none;\n }\n\n div#simButtonsCollapse {\n display: none;\n }\n\n .blocklyToolboxDiv {\n display: none !important;\n }\n\n .blocklyMainBackground {\n stroke: none !important;\n }\n\n #rightMenuDiv {\n display: none;\n }\n\n g.blocklyButtons {\n display: none;\n }\n\n .blocklyMainBackground {\n stroke: none;\n }\n\n a#tabConfiguration {\n display: none;\n }\n\n .nav-tabs > li {\n width: 100%;\n }\n\n #headNavigationTabs {\n border: none;\n }\n\n #head-navigation-tabs > li > a.active {\n border-bottom: 2px solid #000;\n }\n\n g.blocklyBlockCanvas {\n transform: translate(-200px, -50px);\n }\n\n div#releaseInfo {\n display: none;\n }\n}\n\n/***** Overwrite prettify-CSS *****/\n\nli.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 {\n list-style-type: inherit !important;\n}\n\n#tutorialRoberta {\n width: 200px;\n height: 200px;\n position: absolute;\n bottom: -15%;\n right: -5%;\n background-image: url(../css/svg/Roberta_zwinkernd.svg);\n background-repeat: no-repeat;\n background-size: 200px;\n}\n\n.tutorialLevelStars {\n position: relative;\n}\n\n.tutorialLevel.typcn::before {\n position: relative;\n left: 0;\n font-size: 24px;\n top: 0;\n color: #FFFFFF;\n display: table-cell;\n}\n\n#tutorialOverview .modal-dialog {\n border: 2px solid #33B8CA;\n font-size: 16px;\n}\n\n#tutorial-navigation, #tutorialEnd {\n display: none;\n}\n\n#head-navigation, #tutorial-navigation {\n /* box-shadow: 0 3px 5px #aeaeaf;\n -webkit-box-shadow: 0 3px 5px #aeaeaf;\n border: 0;\n margin: 0;\n}\n\n#head-navigation {\n /* display: none; /* not needed in the tutorial form*/\n}\n\n#tutorial-navigation ul {\n margin: 16px;\n}\n\nul#tutorial-close {\n float: right;\n}\n\n#tutorialEnd a:before {\n line-height: 42px;\n font-size: 1.5em;\n}\n\n#tutorial-header, .step, #tutorial-close {\n color: #333;\n}\n\n#tutorial-navigation li {\n text-align: center;\n}\n\n#tutorial-navigation li:last-child a:before {\n position: absolute;\n top: 3px;\n right: 3px;\n}\n\n#tutorial-navigation li.step {\n text-align: center;\n float: left;\n background: #EAF0BB;\n list-style: none;\n padding: 0;\n height: 48px;\n}\n\n#tutorial-navigation li.step.active {\n background: #BACC1E;\n}\n\n#tutorial-navigation li a {\n width: 48px;\n height: 48px;\n padding: 6px 8px 6px 16px;\n font-size: 24px;\n display: inline-block;\n font-weight: bold;\n box-sizing: border-box;\n float: left;\n margin: 0 0 0 -15px;\n color: inherit;\n text-decoration: none;\n}\n\n#tutorial-navigation li:first-child a {\n width: 48px;\n margin-left: 0;\n}\n\n#tutorial-navigation li.step:after {\n background-image: url(../css/svg/step_connector.svg);\n content: \" \";\n width: 17px;\n height: 48px;\n display: inline-block;\n}\n\n#tutorial-navigation li.step.last:after {\n background-image: url(../css/svg/step_connector_last.svg);\n}\n\n#tutorial-navigation li.step.active:after {\n background-image: url(../css/svg/step_connector_active.svg);\n}\n\n#tutorial-navigation li.step.preActive:after {\n background-image: url(../css/svg/step_connector_before_active.svg);\n}\n\n#tutorial-navigation li.step.last.active:after {\n background-image: url(../css/svg/step_connector_active_last.svg);\n}\n\n#tutorial-navigation .navbar-nav > .active > a, #tutorial-navigation .navbar-nav > li > a:hover {\n color: #333;\n background-color: transparent;\n}\n\n#tutorialNavs {\n left: 60px;\n position: relative;\n}\n\n#tutorial-navigation a.typcn.typcn-delete {\n color: #333;\n font-size: 36px;\n position: absolute;\n border: white solid 6px;\n background: white;\n top: 24px;\n text-decoration: none;\n}\n\n#tutorial-header { /**/\n overflow: hidden;\n height: 92px;\n margin: 0;\n line-height: 76px;\n vertical-align: middle;\n}\n\n#tutorialOverview > .modal-backdrop.fade.in {\n opacity: 0.6;\n}\n\n#tutorialDiv.fromRight {\n background-color: #eee;\n}\n\n#tutorialContent {\n background-color: #fff;\n height: 100%;\n margin: 10px;\n padding: 16px;\n font-size: 16px;\n overflow-y: auto;\n}\n\n#tutorialContent .tip {\n list-style-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzAiIHdpZHRoPSIzMiIgdmlld0JveD0iMCAwIDMyIDMwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzFhMWExODt9LmNscy0ye2ZpbGw6I2ZmZjt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPkZsb3JpYW48L3RpdGxlPjxnIHRyYW5zZm9ybT0ic2NhbGUoMC4xKSIgaWQ9IkViZW5lXzIiIGRhdGEtbmFtZT0iRWJlbmUgMiI+PGcgaWQ9IkViZW5lXzEtMiIgZGF0YS1uYW1lPSJFYmVuZSAxIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMDQuNDUsMTgyLjYxYTIxLjE5LDIxLjE5LDAsMSwxLDYuMjEtMTUsMjEuMTgsMjEuMTgsMCwwLDEtNi4yMSwxNW0yLjcxLTMyLjY4YTI1LDI1LDAsMSwwLDUuNDMsOC4xMiwyNS4wOSwyNS4wOSwwLDAsMC01LjQzLTguMTIiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zMTYsMTYuN2ExLjc1LDEuNzUsMCwwLDEtLjk0LjIzSDI5MS40M1YxMy4zNUgzMTVBMS43OSwxLjc5LDAsMCwxLDMxNiwxNi43bS0zMi4yMS0xMGE5LjEsOS4xLDAsMCwwLTEuOC0uMzFjLS42NywwLTEuMDYsMC0xLjU2LDBIMjU4LjUzYTcuOTMsNy45MywwLDAsMSw0LTIuMzUsMTEuMDcsMTEuMDcsMCwwLDEsMi44Ni0uMmgxNC4wOGMuMjksMCwuNDcsMCwuNywwYTcuNzYsNy43NiwwLDAsMSwxLjMyLjIsOCw4LDAsMCwxLDQuNCwyLjg0LDguMTMsOC4xMywwLDAsMSwuODYsMS4zNyw4LjYxLDguNjEsMCwwLDAtMy0xLjU0bTIuMTEsMTYuNzJhNy45NCw3Ljk0LDAsMCwxLTQuNDMsMi44LDExLjE5LDExLjE5LDAsMCwxLTIuODYuMkgyNjQuNTFsLS43LDBhNy4yNiw3LjI2LDAsMCwxLTEuMzItLjIsNy45Miw3LjkyLDAsMCwxLTQtMi4zM2gyMi4zOWExMS41MSwxMS41MSwwLDAsMCwxLjY5LS4wOSw4LjY0LDguNjQsMCwwLDAsMS43OC0uNDRBOC41NCw4LjU0LDAsMCwwLDI4Ni43NywyMmE3LjMxLDcuMzEsMCwwLDEtLjg5LDEuNG0tMjkuNDctNVYxMS43OGE4LDgsMCwwLDEsLjE2LTEuNTZoMjMuODNhNy40Nyw3LjQ3LDAsMCwxLDIuMzIuMTgsNC45Miw0LjkyLDAsMCwxLC4zNSw5LjM2LDQuODYsNC44NiwwLDAsMS0xLC4yNSw3LjM3LDcuMzcsMCwwLDEtMS4xNywwSDI1Ni41N2E4LDgsMCwwLDEtLjE2LTEuNjZtLTMuNzEsMS42NkgyMDUuMjJsLTQuOS05Ljg0SDI1Mi43YTExLjk0LDExLjk0LDAsMCwwLS4xMiwxLjU2VjE4LjRhMTEuNiwxMS42LDAsMCwwLC4xMSwxLjY2TTE2NC43OCw0NS44M2EzNy4xMSwzNy4xMSwwLDAsMC0xOC40NC0xMC45NGMtLjgxLS4yLTEuNjQtLjM3LTIuNDctLjUxTDE5NS4zMiw4Ljc3LDIwNCwyNi4yOFptMzAuNTcsMTMyLjk1YTI5LjUsMjkuNSwwLDAsMS0uMzEsMy41MSwyMS4zNCwyMS4zNCwwLDAsMS01Ljg0LDEyLjI3QTIwLjg1LDIwLjg1LDAsMCwxLDE3Ni43NSwyMDBhMzQuMTgsMzQuMTgsMCwwLDEtMy41Ni4yM2gtNTQuNnYtNi4wNmMuMjQtLjI2LjQ2LS41My43LS44aDQ1YzEuMSwwLDIuMzEsMCwzLjQ5LS4wOGEyOSwyOSwwLDAsMCwzLjU3LS40MywyMy4wOSwyMy4wOSwwLDAsMCw2LjkyLTIuNDFBMTguNjksMTguNjksMCwwLDAsMTg0LDE4NS42YTIxLjA2LDIxLjA2LDAsMCwwLDMuNDMtNi41MiwyNi44NCwyNi44NCwwLDAsMCwxLjI5LTcuMTNWMzguMmw2LjYyLTMuMjlWMTc3LjE5YzAsLjA3LDAsLjE5LDAsLjIxdi4wOWwwLC40MmMwLC4yOSwwLC41NywwLC44N20tNzcuODYsMTAuNzVoLS4zN1YxOTBhMzYuNzgsMzYuNzgsMCwwLDEtMi41LDIuNzksMzYuNSwzNi41LDAsMSwxLDIuODctMy4yNk02NC4xNSwyNjMuMlYxOTcuODJhMzkuMzIsMzkuMzIsMCwwLDAsNTAuNjEsMFYyNjMuMkg2NC4xNVptNjUsMy44M2EzMC43MSwzMC43MSwwLDAsMSwzMC4zNSwyNS43MWMuMTMuNzkuMjMsMS41OC4zLDIuMzhsLjA1Ljc1SDE5LjA4bDAtLjM3LjA1LS42YTMwLjc3LDMwLjc3LDAsMCwxLDI4LjQ0LTI3LjhDNDguNCwyNjcsNDkuMTgsMjY3LDUwLDI2N2g3OS4xM1pNNTAuMDksMTY2LjQ2QTYwLjQxLDYwLjQxLDAsMCwxLDI1LjE5LDYxLjYxLDM2LjUyLDM2LjUyLDAsMCwwLDI0LDcwLjg2YTM3LDM3LDAsMCwwLDI4LjE3LDM2LDM3LjQxLDM3LjQxLDAsMCwwLDYuMDcsMWMxLC4wOCwyLjA2LjEsMy4wNi4xaDc1Ljg4YzEsMCwyLDAsMy4wNi0uMWEzNy40MiwzNy40MiwwLDAsMCw2LjA3LTEsMzUuMzgsMzUuMzgsMCwwLDAsNC41My0xLjQzdjYwLjMxSDEyOC44MWEzOS4zOSwzOS4zOSwwLDAsMC03OC43My43NW0xMzQuNzksNS4zMUEyMC4xOCwyMC4xOCwwLDAsMSwxODEsMTgzLjIzYTE0LjgzLDE0LjgzLDAsMCwxLTQuNTMsMy44NSwxOC45MiwxOC45MiwwLDAsMS01Ljc2LDIsMjYsMjYsMCwwLDEtMy4xMi4zOWMtMS4wNS4wNy0yLjA5LjA3LTMuMjQuMDZoLTQyLjFhMzkuMTYsMzkuMTYsMCwwLDAsNi41OS0yMGgyNS44OFYxMDMuNjZhMzcsMzcsMCwwLDAsMTIuNTgtNTQuOGwxNy42LTguNzZWMTcxLjc3Wm0tMTUwLTEyMS40QTMzLjE2LDMzLjE2LDAsMCwxLDU4LjU1LDM3Ljc0Yy45Mi0uMDcsMS44My0uMDksMi43Ny0uMWg3NS44OWMuOTUsMCwxLjg1LDAsMi43Ny4xYTMzLjIyLDMzLjIyLDAsMCwxLDUuNDQsNjUuMzhBMzQsMzQsMCwwLDEsMTQwLDEwNGMtLjkyLjA3LTEuODIuMDktMi43Ny4wOUg2MS4zM2MtMSwwLTEuODUsMC0yLjc3LS4wOWEzMy45NCwzMy45NCwwLDAsMS01LjQ0LS44NywzMy4yMywzMy4yMywwLDAsMS0xOC4yLTUyLjc0TTMxNy44NiwxMC4yNEE1LjY1LDUuNjUsMCwwLDAsMzE1LDkuNTJIMjkxLjJBMTEuNzYsMTEuNzYsMCwwLDAsMjgyLjQyLjMzYTExLjg5LDExLjg5LDAsMCwwLTItLjNjLS4zMiwwLS42OSwwLTEsMEgyNjUuNDNjLS41NSwwLTEuMDYsMC0xLjc3LDBhMTIuMiwxMi4yLDAsMCwwLTIsLjI4LDExLjc0LDExLjc0LDAsMCwwLTYuNTYsNC4xNCwxMS4yNCwxMS4yNCwwLDAsMC0xLjI1LDEuOTRIMTk4LjQxTDE5NywzLjY0LDEzNi40OSwzMy43N2wwLDBINjEuMzNjLTEsMC0yLDAtMy4wNi4xQTM3LDM3LDAsMCwwLDMxLjkxLDQ4YTM2LjIyLDM2LjIyLDAsMCwwLTQuNDMsNy4yM2wtLjExLS4xNUE2NC4yNiw2NC4yNiwwLDAsMCw1MC4xNywxNzAuNGEzOS4xNCwzOS4xNCwwLDAsMCwxMC4xNiwyMy43NXY2OUg1MGMtLjg4LDAtMS43OSwwLTIuNjguMDlhMzQuNTQsMzQuNTQsMCwwLDAtMzIsMzEuMjZsLS4wNi42Ny0uMDUuOTFjMCwuODQsMCwxLjY4LS4wNSwyLjUzdi45NGMwLC4wOC4wNS4wNi4xLjA2aDEuNDJsMi40NiwwSDE2My42N2MuMDcsMCwuMDksMCwuMDgtLjA4di0uNDhsMC0yLjUyYzAtLjIxLDAtLjQyLDAtLjYzbDAtLjQ5YzAtLjIyLDAtLjQ1LDAtLjY3LS4wNy0uOS0uMTktMS43OS0uMzQtMi42OGEzMy44NCwzMy44NCwwLDAsMC0xLjI5LTUuMjQsMzQuNjEsMzQuNjEsMCwwLDAtMzIuODMtMjMuNjdIMTE4LjU5VjIwNGg1NC42NWEzOS40NSwzOS40NSwwLDAsMCw0LS4yNSwyOC43MSwyOC43MSwwLDAsMCw3LjgtMiwyMS44MSwyMS44MSwwLDAsMCw2Ljg2LTQuNSwyMi40NiwyMi40NiwwLDAsMCw0LjctNi43MSwyOC40NywyOC40NywwLDAsMCwyLjI3LTcuNzMsMzIuMjYsMzIuMjYsMCwwLDAsLjM0LTRjMC0uMzQsMC0uNjgsMC0xbDAtLjUydi0uMTRjMC0uMDYsMCwwLDAsMFYzM2wxMC01LTIuMDUtNC4xMkgyNTMuOWExMC43LDEwLjcsMCwwLDAsMS4xOCwxLjg1LDExLjc4LDExLjc4LDAsMCwwLDYuNTIsNC4yMSwxMS41LDExLjUsMCwwLDAsMiwuMjljLjMxLDAsLjY4LDAsMSwwaDE0LjA4Yy41NiwwLDEuMDYsMCwxLjc3LDBhMTEuNTQsMTEuNTQsMCwwLDAsMi0uMjgsMTEuNzYsMTEuNzYsMCwwLDAsOC44OS05LjIxSDMxNWE1LjYyLDUuNjIsMCwwLDAsMi44Mi0xMC41MiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTY3Ljk0LDk2LjI2QTI0Ljc2LDI0Ljc2LDAsMSwxLDkyLjcsNzEuNDksMjQuNzYsMjQuNzYsMCwwLDEsNjcuOTQsOTYuMjYiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik00MS40Miw3MS41QTI2LjUxLDI2LjUxLDAsMCwxLDY3Ljk0LDQ1aDBBMjYuNTEsMjYuNTEsMCwwLDEsOTQuNDUsNzEuNWgwQTI2LjUxLDI2LjUxLDAsMCwxLDY3Ljk0LDk4aDB2LTMuNWEyMywyMywwLDAsMCwyMy0yM2gwYTIzLDIzLDAsMCwwLTIzLTIzaDBhMjMsMjMsMCwwLDAtMjMsMjNoMGEyMywyMywwLDAsMCwyMywyM2gwVjk4QTI2LjUxLDI2LjUxLDAsMCwxLDQxLjQyLDcxLjVaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjEsNjQuNTlhOS43Niw5Ljc2LDAsMSwxLTIuODYsNi45QTkuNzgsOS43OCwwLDAsMSw2MSw2NC41OU02Ny45NCw4NWExMy41LDEzLjUsMCwxLDAtOS41NS00LDEzLjQ4LDEzLjQ4LDAsMCwwLDkuNTUsNCIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTY3Ljk0LDc3LjY4QTYuMjksNi4yOSwwLDAsMCw2OS42LDY1LjMydjdINjYuMjh2LTdhNi4yOSw2LjI5LDAsMCwwLDEuNjYsMTIuMzYiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMzAuNyw5Ni4yNmEyNC43NiwyNC43NiwwLDEsMSwyNC43Ni0yNC43NkEyNC43NiwyNC43NiwwLDAsMSwxMzAuNyw5Ni4yNiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEwNC4xOSw3MS40OUEyNi41MSwyNi41MSwwLDAsMSwxMzAuNyw0NWgwYTI2LjUxLDI2LjUxLDAsMCwxLDI2LjUxLDI2LjUxaDBBMjYuNTEsMjYuNTEsMCwwLDEsMTMwLjcsOThoMHYtMy41YTIzLDIzLDAsMCwwLDIzLTIzaDBhMjMsMjMsMCwwLDAtMjMtMjNoMGEyMywyMywwLDAsMC0yMywyM2gwYTIzLDIzLDAsMCwwLDIzLDIzaDBWOThhMjYuNTIsMjYuNTIsMCwwLDEtMjYuNTItMjYuNTJaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIzLjgsNjQuNTlhOS43Nyw5Ljc3LDAsMSwxLTIuODYsNi45LDkuNzgsOS43OCwwLDAsMSwyLjg2LTYuOU0xMzAuNyw4NWExMy41LDEzLjUsMCwxLDAtOS41NS00LDEzLjQ3LDEzLjQ3LDAsMCwwLDkuNTUsNCIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEzMC43LDc3LjY4YTYuMjksNi4yOSwwLDAsMCwxLjY2LTEyLjM2djdIMTI5di03YTYuMjksNi4yOSwwLDAsMCwxLjY2LDEyLjM2Ii8+PC9nPjwvZz48L3N2Zz4K)\n}\n\n#tutorialContent ul {\n list-style-image: none;\n}\n\n#tutorialContent a {\n color: #F29400;\n font-weight: bold;\n text-decoration: none;\n}\n\ndiv#helpDiv {\n margin-top: 24px;\n}\n\n.quiz.continue {\n margin-top: 24px;\n border-top: 1px solid #eee;\n padding-top: 10px;\n text-align: right;\n}\n\np.quiz {\n margin-top: 16px;\n}\n\n.quiz.footer {\n margin-top: 16px;\n}\n\n.quiz.footer > .btn.right {\n margin-left: 16px;\n}\n\n.quiz.answer {\n display: block;\n position: relative;\n padding-left: 34px;\n margin-top: 16px;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/* Hide the browser's default checkbox */\n\n.quiz.answer input {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n}\n\n/* Create a custom checkbox */\n\n.checkmark {\n position: absolute;\n top: 2px;\n left: 2px;\n height: 25px;\n width: 25px;\n background-color: #eee;\n border-radius: 2px;\n}\n\n/* On mouse-over, add a grey background color */\n\n.quiz.answer:hover input ~ .checkmark {\n background-color: #ccc;\n}\n\n/* When the checkbox is checked, add a blue background */\n\n.quiz.answer input:checked ~ .checkmark {\n background-color: #ccc;\n}\n\n/* Create the checkmark/indicator (hidden when not checked) */\n\n.quiz.answer > .checkmark:after {\n content: \"\";\n position: absolute;\n display: none;\n}\n\n/* Show the checkmark when checked */\n\n.quiz.answer input:checked ~ .checkmark:after {\n display: block;\n}\n\n/* Style the checkmark/indicator */\n\n.quiz.answer > .checkmark:after {\n left: 10px;\n top: 5px;\n width: 6px;\n height: 14px;\n border: solid white;\n border-width: 0 3px 3px 0;\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\nlabel.quiz.answer {\n padding: 6px 10px 6px 36px;\n border-radius: 4px;\n}\n\nlabel.quiz.answer.correct {\n border: solid 2px #C7D92B;\n background-color: #C7D92B;\n padding: 4px 8px 4px 34px;\n}\n\nlabel.quiz.answer.fail {\n border: solid 2px #E2001A;\n padding: 4px 8px 4px 34px;\n}\n\n#welcomeHaribo {\n z-index: 9999;\n}\n\n#welcomeHaribo .modal-dialog {\n width: 40vw;\n}\n\n/*CSS FOR MULTIPLE SIMULATION POPUP*/\n\n#simModal .fixed-table-header {\n background-color: rgb(137, 137, 137);\n color: white;\n}\n\n#simModal .fixed-table-header table {\n color: white;\n}\n\n.lds-ellipsis {\n display: inline-block;\n position: relative;\n width: 64px;\n height: 100px;\n}\n\n.lds-ellipsis div {\n position: absolute;\n top: 27px;\n width: 11px;\n height: 11px;\n border-radius: 50%;\n background: #333;\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n}\n\n.lds-ellipsis div:nth-child(1) {\n left: 6px;\n animation: lds-ellipsis1 0.6s infinite;\n}\n\n.lds-ellipsis div:nth-child(2) {\n left: 6px;\n animation: lds-ellipsis2 0.6s infinite;\n}\n\n.lds-ellipsis div:nth-child(3) {\n left: 26px;\n animation: lds-ellipsis2 0.6s infinite;\n}\n\n.lds-ellipsis div:nth-child(4) {\n left: 45px;\n animation: lds-ellipsis3 0.6s infinite;\n}\n\n@keyframes lds-ellipsis1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes lds-ellipsis3 {\n 0% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0);\n }\n}\n\n@keyframes lds-ellipsis2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(19px, 0);\n }\n}\n\n/*CSS FOR MULTIPLE SIMULATION POPUP*/\n\n#simModal .fixed-table-header {\n background-color: #B3BFB8;\n}\n\n/* distance between steps in mbed/sensebox download modal: */\n\ntd[lkey=\"Blockly.Msg.POPUP_DOWNLOAD_STEP_A_SENSEBOX\"] {\n padding-bottom: 2.5em;\n}\n\n#flaskEditor {\n height: 100%; /*fix for FF calc thing*/\n}\n\n#sourceCodeEditor pre {\n position: absolute;\n top: 0;\n padding: 0;\n line-height: 18px;\n background-color: transparent;\n border: 0 solid #ccc;\n border-radius: 0;\n color: #000;\n font-family: 'Roboto', sans-serif;\n}\n\n#sourceCodeEditor .codeflask {\n height: calc(100% - 80px);\n height: -moz-calc(100% - 80px);\n height: -webkit-calc(100% - 80px);\n position: relative;\n}\n\n#sourceCodeEditor textarea {\n position: absolute;\n top: 0;\n line-height: 18px;\n font-size: 13px;\n padding: 0;\n z-index: 5;\n color: transparent;\n}\n\n#codeDiv pre {\n position: absolute;\n background-color: transparent;\n border: 0 solid #ccc;\n border-radius: 0;\n color: #000;\n font-family: 'Roboto', sans-serif;\n background-image: linear-gradient(transparent 50%, rgba(247, 247, 247, 1) 0%);\n background-size: 100% 2.77em;\n background-repeat: repeat;\n width: 100%;\n margin-top: 0;\n line-height: 18px;\n padding: 0;\n}\n\n#sourceCodeEditor .codeflask__flatten {\n padding-top: 0 !important;\n line-height: 18px;\n}\n\n#codeDiv textarea {\n position: absolute;\n z-index: 8;\n color: rgba(255, 255, 255, 0) !important;\n height: calc(100% - 82px);\n margin-top: 0;\n line-height: 18px;\n padding: 0;\n}\n\n#codeDiv .codeflask__flatten {\n background-color: #FFF0;\n padding-top: 0 !important;\n line-height: 18px;\n}\n\n#codeDiv .codeflask__lines {\n background-color: #EEE;\n z-index: 5 !important;\n}\n\n.codeflask__lines {\n background-color: #EEE;\n padding-top: 0 !important;\n z-index: 5 !important;\n}\n\n.codeflask__lines__line {\n color: #333;\n line-height: 18px !important;\n}\n\n.codeflask--has-line-numbers::before {\n z-index: 4 !important;\n}\n\npre code {\n white-space: inherit;\n}\n\n#confirm, #confirmCancel {\n text-transform: capitalize;\n}\n\n.blinking {\n animation: blinkingBackground 1.2s infinite;\n}\n\n.blinking > span {\n animation: blinkingForeground 1.2s infinite;\n}\n\n@keyframes blinkingBackground {\n 0% {\n background-color: #E2001A;\n border-bottom: 4px solid #E2001A;\n }\n 49% {\n background-color: #E2001A;\n border-bottom: 4px solid #E2001A;\n }\n 60% {\n background-color: transparent;\n border-bottom: 4px solid transparent;\n }\n 99% {\n background-color: transparent;\n border-bottom: 4px solid transparent;\n }\n 100% {\n background-color: #E2001A;\n border-bottom: 4px solid #E2001A;\n }\n}\n\n@keyframes blinkingForeground {\n 0% {\n color: #fff;\n }\n 49% {\n color: #fff;\n }\n 60% {\n color: #333;\n }\n 99% {\n color: #333;\n }\n 100% {\n color: #fff;\n }\n}\n\n#blocklyDiv.debug path.blocklyPath {\n fill-opacity: 0.3;\n}\n\n#blocklyDiv.debug path.blocklyPath.selectedBreakpoint {\n stroke-opacity: 1;\n transition: none;\n stroke: purple;\n stroke-width: 2px;\n}\n\n#blocklyDiv.debug path.blocklyPath.breakpoint {\n stroke-opacity: 1;\n transition: none;\n stroke: red;\n stroke-width: 2px;\n}\n\n.badge-primary {\n background-color: #F29400;\n}\n\n#releaseInfo {\n position: fixed;\n left: 70%;\n right: 8px;\n bottom: 60px;\n z-index: 2999;\n padding: 16px;\n background-color: #FBDE00;\n border: 1px solid #d8d8d8;\n}\n\n#releaseInfo > span {\n display: inline-block !important;\n vertical-align: middle;\n padding-right: 16px;\n}\n\n#releaseInfo > .no-button {\n position: absolute;\n top: 0;\n right: 0;\n}\n\n@media (max-width: 60em), (max-width: 800px) {\n #releaseInfo {\n left: 40%;\n }\n}\n\n.port {\n cursor: default !important;\n}\n\n#valuesContent .panel-heading {\n background-color: #dddddd;\n}\n\n#valuesContent .panel-group {\n margin: 20px 0 0 0;\n}\n\n.panel-title > a:before {\n position: relative;\n background-size: 10px;\n display: inline-block;\n width: 10px;\n height: 10px;\n content: \"\";\n margin: 0 4px 0 4px;\n background-image: url('data:image/svg+xml,');\n}\n\n.panel-title > a.collapsed:before {\n background-size: 10px;\n display: inline-block;\n width: 10px;\n height: 10px;\n content: \"\";\n margin: 0 4px 0 4px;\n background-image: url('data:image/svg+xml,');\n}\n\n.panel-title > a {\n text-decoration: none;\n display: inline-block;\n width: 100%;\n height: 100%;\n color: inherit;\n line-height: 1.5;\n}\n\n#accordion .panel-body {\n overflow: auto;\n max-height: 50vh;\n border: none;\n}\n\n/****************************/\n\ninput,\ntextarea {\n border: 1px solid #E9ECEF;\n box-sizing: border-box;\n margin: 0;\n outline: none;\n padding: 10px;\n}\n\ninput[type=\"button\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\n\n.btn input[type=radio] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n}\n\n.input-group {\n clear: both;\n position: relative;\n}\n\n.input-group input[type='button'] {\n background-color: #dddddd;\n transition: all 300ms ease;\n}\n\n.input-group .button-minus,\n.input-group .button-plus {\n font-weight: bold;\n height: 32px;\n width: 32px;\n padding: 0;\n}\n\n.input-group .quantity-field {\n position: relative;\n height: 32px;\n width: 32px;\n text-align: center;\n display: inline-block;\n font-size: 14px;\n resize: vertical;\n}\n\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\n#nn, #nn-learn {\n width: 100%;\n height: 100%;\n}\n\n#nn .nn-middle-size {\n font-size: 20px;\n}\n\n#nn .nn-bold, #nn-learn .nn-bold {\n font-weight: bold;\n}\n\n#nn .nn-large-size {\n font-size: 28px;\n}\n\n#nn-epoch-num {\n width: 80px;\n}\n\n#nn-top-controls {\n width: 100%;\n border-bottom: 1px solid #ddd;\n padding: 16px 0;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);\n background: white;\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-around;\n}\n\n#nn-learn-top-controls {\n width: 100%;\n border-bottom: 1px solid #ddd;\n padding: 16px 0;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);\n background: white;\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n justify-content: space-between;\n}\n\n#nn-top-controls .nn-control, #nn-learn-top-controls .nn-control {\n flex-grow: 0;\n margin-left: 10px;\n margin-top: 6px;\n}\n\n#nn-show-math-all.nn-control {\n flex: 0 0 15%;\n margin-right: 10px;\n}\n\n#nn-show-next-neuron-all.nn-control, #nn-show-iteration-all.nn-control, #nn-learn-show-iteration-all.nn-control {\n margin: 0 10px;\n display: flex;\n flex-direction: column;\n justify-content: space-evenly;\n align-items: stretch;\n}\n\n#nn-learn-show-activation {\n width: 100px;\n padding: 8px;\n}\n\n#nn-top-controls .nn-control .label {\n color: #777;\n font-size: 13px;\n display: block;\n margin-bottom: 6px;\n font-weight: 300;\n}\n\n#nn-top-controls .nn-control .value {\n font-size: 24px;\n margin: 0;\n font-weight: 300;\n}\n\n#nn-top-controls .nn-control .select {\n position: relative;\n}\n\n.nn-input-div {\n position: relative;\n height: 36px;\n}\n\n/*.nn-explore-btns, .nn-learn-btns {\n position: absolute;\n left: 10px;\n bottom: 10px;\n z-index: 9999;\n display: flex;\n}*/\n\n/*.nn-explore-btn {\n min-height: 48px;\n max-width: 48px;\n min-width: 48px;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\n border: 0;\n margin: 0;\n background: white;\n}\n\n.nn-explore-btn > span, .nn-learn-btn > span {\n font-size: 36px;\n}\n\n.nn-explore-btn:hover, .nn-learn-btn:hover {\n background-color: #BACC1E;\n}*/\n\n#goto-sim, #learn-goto-sim {\n position: absolute;\n min-height: 48px;\n max-width: 48px;\n min-width: 48px;\n right: 10px;\n bottom: 10px;\n font-size: 36px;\n background-color: #ffffff;\n color: #333333;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\n padding: 2px 0 0 0;\n margin: 0;\n z-index: 9999;\n}\n\n#goto-sim:hover, #learn-goto-sim:hover {\n background-color: #BACC1E;\n}\n\n.nn-selection {\n min-height: 36px;\n border: none;\n border-radius: 2px;\n background-color: #23b6ac;\n color: #ffffff;\n padding: 6px;\n}\n\n#nn-show-math {\n background-color: #f0f0f0;\n min-height: 36px;\n padding: 6px;\n border-radius: 2px;\n}\n\n#nn-show-next-neuron, #nn-show-iteration, #nn-learn-show-iteration {\n color: rgba(0, 0, 0, 0.6);\n background-color: #fafafa;\n font-weight: 300;\n text-align: center;\n}\n\n#nn-main-part, #nn-learn-main-part {\n display: -webkit-box;\n display: -moz-box;\n display: -ms-flexbox;\n display: -webkit-flex;\n display: flex;\n -webkit-justify-content: space-between;\n justify-content: space-between;\n margin-top: 30px;\n margin-bottom: 50px;\n padding-top: 2px;\n position: relative;\n}\n\n#nn-main-part .output .mdl-checkbox__label.label, #nn-learn-main-part .output .mdl-checkbox__label.label {\n line-height: 1.7em;\n}\n\n#nn-features, #nn-learn-features {\n width: 10%;\n position: relative;\n}\n\n#nn-features .nn-plus-minus-neurons {\n position: absolute;\n line-height: 28px;\n top: -58px;\n width: 120px;\n height: 44px;\n}\n\n.nn-modal-content {\n border: 1px solid;\n background-color: #ffffff;\n}\n\n.nn-popup-modal {\n position: fixed;\n display: none;\n bottom: 0;\n left: 50%;\n transform: translate(-50%);\n max-width: 90%;\n z-index: 1;\n}\n\n.nn-modal-dialog {\n width: auto;\n}\n\nbutton.nn-btn {\n background-color: #23b6ac;\n width: 36px;\n height: 36px;\n border-radius: 2px;\n padding: 0;\n font-size: 20px;\n margin-right: inherit;\n border: none;\n color: #ffffff;\n}\n\n.nn-btn.nn-top-control-button {\n width: 27px;\n height: 27px;\n}\n\n.nn-btn.nn-cancel {\n background-color: #CD5C5C;\n}\n\n.nn-btn.nn-cancel:hover {\n background-color: #E8C0C0;\n}\n\n#nn-features .nn-plus-minus-neuron-button.active-input {\n background-color: #BACC1E;\n box-shadow: inset 0 0 2px 2px black;\n}\n\n#nn-features .nn-plus-minus-neuron-button.active-hidden {\n background-color: #c7b7b7;\n box-shadow: inset 0 0 2px 2px black;\n}\n\n#nn-features .nn-plus-minus-neuron-button.active-output {\n background-color: #f29400;\n box-shadow: inset 0 0 2px 2px black;\n}\n\n#nn-training-data-upload, #nn-test-data-upload {\n display: none;\n}\n\n/*.nn-popup-modal > .modal-backdrop {\n background-color: transparent;\n}*/\n\n.nn-table-input {\n width: 100px;\n}\n\n.nn-user-input-table-header {\n display: inline-block;\n width: 100%;\n}\n\n.nn-input-background-color {\n background: #8fa40266;\n}\n\n.nn-output-background-color {\n background: #f2940066;\n}\n\nbutton.nn-btn:hover {\n background-color: #ade7e4;\n}\n\n.nn-selection option {\n background-color: #ffffff;\n color: #333333;\n}\n\n#nn-top-controls .nn-num-layers-group {\n font-weight: bold;\n}\n\n#nn-features .nn-plus-minus-neurons .nn-plus-minus-neuron-button {\n margin-right: 4px;\n}\n\n#nn-features .nn-plus-minus-neurons .nn-plus-minus-neuron-button {\n margin-right: 4px;\n}\n\n#nn-features svg .main-label, #nn-learn-features svg .main-label {\n font-size: 13px;\n fill: #333;\n font-weight: 300;\n}\n\n#nn-features .nn-showval, #nn-learn-features .nn-showval {\n display: block;\n font-size: 16px;\n font-weight: bold;\n text-anchor: start;\n cursor: pointer;\n}\n\n#nn-features svg #markerArrow, #nn-learn-features svg #markerArrow {\n fill: black;\n stroke: black;\n stroke-opacity: 0.2;\n}\n\n#nn-features .node_input rect, #nn-learn-features .node_input rect {\n cursor: default;\n fill: rgb(143, 164, 2);\n}\n\n#nn-features .node_hidden rect, #nn-learn-features .node_hidden rect {\n cursor: default;\n fill: lightgrey;\n}\n\n#nn-features .node_output rect, #nn-learn-features .node_output rect {\n cursor: default;\n fill: rgb(242, 148, 0);\n}\n\n#nn-features .core .link, #nn-learn-features .core .link {\n stroke-dasharray: 9 1;\n stroke-dashoffset: 1;\n /* webkit-animation: 0.5s linear 0s infinite flowing; */\n}\n\n/** Invisible thick links used for showing weight values on mouse click. */\n\n#nn-features .core .nn-weight-click {\n stroke-width: 14;\n stroke: black;\n fill: none;\n opacity: 0;\n cursor: pointer;\n}\n\n.nn-input {\n position: relative;\n border: 2px solid #23b6ac;\n height: 100%;\n top: -4px;\n width: 6em;\n}\n\n#nn-learn-features .core .nn-weight-click {\n stroke-width: 14;\n stroke: black;\n fill: none;\n opacity: 0;\n cursor: pointer;\n}\n\n#nn-features .core .nn-weight-show-click {\n stroke-width: 14;\n stroke: gray;\n fill: none;\n opacity: 0.3;\n cursor: pointer;\n}\n\n#nn-learn-features .core .nn-weight-show-click {\n stroke-width: 14;\n stroke: gray;\n fill: none;\n opacity: 0.3;\n cursor: pointer;\n}\n\n.nn-bias-click {\n cursor: pointer;\n}\n\n#nn-features .canvas canvas, #nn-learn-features .canvas canvas {\n position: absolute;\n top: -2px;\n left: -2px;\n border: 2px solid black;\n border-radius: 3px;\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\n}\n\n#nn-network {\n position: absolute;\n top: 50px;\n left: 0;\n}\n\n#nn-editCard {\n display: none;\n position: absolute;\n padding: 5px;\n border: 1px solid #aaa;\n z-index: 10;\n background: #fff;\n cursor: default;\n border-radius: 5px;\n left: 240px;\n}\n\n#nn-learn-training-bias-linechart, #nn-learn-training-weight-linechart {\n display: none;\n position: absolute;\n width: 200px;\n height: 65px;\n border: 1px solid #aaa;\n z-index: 10;\n background: #fff;\n cursor: default;\n}\n\n#nn-nameCard {\n display: none;\n position: absolute;\n padding: 5px;\n border: 1px solid #aaa;\n z-index: 10;\n background: #fff;\n cursor: default;\n border-radius: 5px;\n left: 240px;\n}\n\n#nn-name-message {\n border: 12px 4px 4px 4px;\n background: #fff;\n color: #333;\n}\n\n#nn-table-user-input input {\n width: 100px;\n}\n\n.nn-type-button {\n position: relative;\n top: 5px;\n}\n\n.nn-btn.nn-finish-button {\n position: relative;\n left: -4px;\n}\n\n.nn-metrics {\n position: relative;\n font-weight: 300;\n height: 60px;\n margin-right: 10px;\n display: flex;\n flex-basis: 25%;\n flex-wrap: nowrap;\n align-content: center;\n justify-content: space-evenly;\n}\n\n#nn-learn-training-loss-linechart {\n flex: 0 0 40%;\n max-width: 200px;\n height: 100%;\n border: 1px solid #333333;\n}\n\n.nn-output-stats {\n padding: 10px;\n}\n\n#nn-random-values-from-to {\n position: relative;\n height: 36px;\n}\n\n#nn-random-values-from-to > input {\n width: 50px;\n}\n\n#nn-random-values-from-to > span {\n position: relative;\n top: -4px;\n}\n\n#nn-random-values-from-to > .nn-random-values-finished-button {\n position: relative;\n padding-left: 5px;\n top: 0;\n}\n\n.nn-output-stats .value {\n color: rgba(0, 0, 0, 0.6);\n font-weight: 300;\n text-align: center;\n}\n\n.nn-type {\n height: 40px;\n style: \"font-size: 14px\"\n}\n\ncanvas {\n display: block;\n}\n\n.link {\n fill: none;\n stroke: #aaa;\n stroke-width: 1;\n}\n\ng.column rect {\n stroke: none;\n}\n\n@-webkit-keyframes flowing {\n from {\n stroke-dashoffset: 0;\n }\n to {\n stroke-dashoffset: -10;\n }\n}\n\n#downloadType {\n padding: 8px 20px 20px;\n text-align: center;\n}\n\n.downloadType {\n font-size: 18px;\n text-align: center;\n text-decoration: none;\n padding: 12px;\n margin: 12px;\n border: 1px solid #BACC1E;\n border-radius: 2px;\n cursor: pointer;\n width: 100%;\n}\n\n#progressBar {\n background-color: #BACC1E;\n height: 10px;\n width: 0%;\n\n}\n\n.downloadType:hover {\n background-color: #BACC1E;\n}\n"]}
\ No newline at end of file
diff --git a/OpenRobertaWeb/css/roberta.css b/OpenRobertaWeb/css/roberta.css
index bfa8965771..ed320492a8 100644
--- a/OpenRobertaWeb/css/roberta.css
+++ b/OpenRobertaWeb/css/roberta.css
@@ -3314,7 +3314,7 @@ li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 {
#tutorialOverview .modal-dialog {
border: 2px solid #33B8CA;
- font-size: 18px;
+ font-size: 16px;
}
#tutorial-navigation, #tutorialEnd {
@@ -3456,7 +3456,7 @@ ul#tutorial-close {
height: 100%;
margin: 10px;
padding: 16px;
- font-size: 18px;
+ font-size: 16px;
overflow-y: auto;
}