diff --git a/Icarus/HelpWnd/HelpWndV.xaml b/Icarus/HelpWnd/HelpWndV.xaml
index 757da59..9c654cd 100644
--- a/Icarus/HelpWnd/HelpWndV.xaml
+++ b/Icarus/HelpWnd/HelpWndV.xaml
@@ -11,7 +11,9 @@
+
diff --git a/Icarus/HelpWnd/HelpWndV.xaml.vb b/Icarus/HelpWnd/HelpWndV.xaml.vb
index 6c9ac7a..1fb972d 100644
--- a/Icarus/HelpWnd/HelpWndV.xaml.vb
+++ b/Icarus/HelpWnd/HelpWndV.xaml.vb
@@ -10,7 +10,9 @@
' Assegno al riferimento locale al VM il VM preso dal DataContext
m_HelpWndVM = HelpWndVM
'm_HelpWndVM.SetWebBrowser(WebBrowser)
- 'Browser.ResourceRequestHandlerFactory = New ResourceHandlerFactory
+ Browser.ResourceRequestHandlerFactory = New ResourceHandlerFactory
+ 'Dim x = New System.Reflection.Assembly.GetManifestResourceStream
+ Browser.Address = "index.html"
End Sub
'Private Sub CloseWindow(bDialogResult As Boolean) Handles m_HelpWndVM.m_CloseWindow
diff --git a/Icarus/HelpWnd/ResourceHandler.vb b/Icarus/HelpWnd/ResourceHandler.vb
index 39c55bd..7da318d 100644
--- a/Icarus/HelpWnd/ResourceHandler.vb
+++ b/Icarus/HelpWnd/ResourceHandler.vb
@@ -1,14 +1,50 @@
-Imports System.IO
+Imports System.Collections.Specialized
+Imports System.IO
+Imports System.Runtime.InteropServices
+Imports System.Windows.Forms
Imports CefSharp
Imports CefSharp.Callback
Public Class ResourceHandler
Implements IResourceHandler
+ Public Const DefaultMimeType As String = "text/html"
+ Private tempBuffer As Byte()
+ Public Property Charset As String
+ Public Property MimeType As String
+ Public Property Stream As Stream
+ Public Property StatusCode As Integer
+ Public Property StatusText As String
+ Public Property m_ResponseLength As Long?
+ Public Property Headers As NameValueCollection
+ Public Property AutoDisposeStream As Boolean
+ Public Property ErrorCode As CefErrorCode?
Private disposedValue As Boolean
Public Sub GetResponseHeaders(response As IResponse, ByRef responseLength As Long, ByRef redirectUrl As String) Implements IResourceHandler.GetResponseHeaders
- Throw New NotImplementedException()
+ redirectUrl = Nothing
+ responseLength = -1
+ response.MimeType = MimeType
+ response.StatusCode = StatusCode
+ response.StatusText = StatusText
+ response.Headers = Headers
+
+ If Not String.IsNullOrEmpty(Charset) Then
+ response.Charset = Charset
+ End If
+
+ If Not IsNothing(m_ResponseLength) Then
+ responseLength = m_ResponseLength
+ End If
+
+ If Stream IsNot Nothing AndAlso Stream.CanSeek Then
+
+ If m_ResponseLength Is Nothing OrElse responseLength = 0 Then
+ responseLength = Stream.Length
+ End If
+
+ Stream.Position = 0
+ End If
End Sub
Public Sub Cancel() Implements IResourceHandler.Cancel
@@ -20,7 +56,7 @@ Public Class ResourceHandler
End Function
Public Function ProcessRequest(request As IRequest, callback As ICallback) As Boolean Implements IResourceHandler.ProcessRequest
- Return True
+ Throw New NotImplementedException()
End Function
Public Function Skip(bytesToSkip As Long, ByRef bytesSkipped As Long, callback As IResourceSkipCallback) As Boolean Implements IResourceHandler.Skip
@@ -59,5 +95,4 @@ Public Class ResourceHandler
Dispose(disposing:=True)
GC.SuppressFinalize(Me)
End Sub
-
End Class
diff --git a/Icarus/HelpWnd/ResourceHandlerFactory.vb b/Icarus/HelpWnd/ResourceHandlerFactory.vb
index c8d924a..a7144ec 100644
--- a/Icarus/HelpWnd/ResourceHandlerFactory.vb
+++ b/Icarus/HelpWnd/ResourceHandlerFactory.vb
@@ -5,11 +5,12 @@ Public Class ResourceHandlerFactory
Public ReadOnly Property HasHandlers As Boolean Implements IResourceRequestHandlerFactory.HasHandlers
Get
- Throw New NotImplementedException()
+ Return True
End Get
End Property
Public Function GetResourceRequestHandler(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, isNavigation As Boolean, isDownload As Boolean, requestInitiator As String, ByRef disableDefaultHandling As Boolean) As IResourceRequestHandler Implements IResourceRequestHandlerFactory.GetResourceRequestHandler
- Return New ResourceHandler
+ Return New ResourceRequestHandler
End Function
+
End Class
diff --git a/Icarus/HelpWnd/ResourceRequestHandler.vb b/Icarus/HelpWnd/ResourceRequestHandler.vb
new file mode 100644
index 0000000..a30ee41
--- /dev/null
+++ b/Icarus/HelpWnd/ResourceRequestHandler.vb
@@ -0,0 +1,67 @@
+Imports System.IO
+Imports CefSharp
+Imports CefSharp.Callback
+
+Public Class ResourceRequestHandler
+ Implements IResourceRequestHandler
+
+ Private disposedValue As Boolean
+
+ Public Sub OnResourceRedirect(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, response As IResponse, ByRef newUrl As String) Implements IResourceRequestHandler.OnResourceRedirect
+ Throw New NotImplementedException()
+ End Sub
+
+ Public Sub OnResourceLoadComplete(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, response As IResponse, status As UrlRequestStatus, receivedContentLength As Long) Implements IResourceRequestHandler.OnResourceLoadComplete
+
+ End Sub
+
+ Public Function GetCookieAccessFilter(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest) As ICookieAccessFilter Implements IResourceRequestHandler.GetCookieAccessFilter
+ Return Nothing
+ End Function
+
+ Public Function OnBeforeResourceLoad(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, callback As IRequestCallback) As CefReturnValue Implements IResourceRequestHandler.OnBeforeResourceLoad
+ Return CefReturnValue.Continue
+ End Function
+
+ Public Function GetResourceHandler(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest) As IResourceHandler Implements IResourceRequestHandler.GetResourceHandler
+ Return New ResourceHandler
+ End Function
+
+ Public Function OnResourceResponse(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, response As IResponse) As Boolean Implements IResourceRequestHandler.OnResourceResponse
+ Throw New NotImplementedException()
+ End Function
+
+ Public Function GetResourceResponseFilter(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest, response As IResponse) As IResponseFilter Implements IResourceRequestHandler.GetResourceResponseFilter
+ Throw New NotImplementedException()
+ End Function
+
+ Public Function OnProtocolExecution(chromiumWebBrowser As IWebBrowser, browser As IBrowser, frame As IFrame, request As IRequest) As Boolean Implements IResourceRequestHandler.OnProtocolExecution
+ Throw New NotImplementedException()
+ End Function
+
+ Protected Overridable Sub Dispose(disposing As Boolean)
+ If Not disposedValue Then
+ If disposing Then
+ ' TODO: dispose managed state (managed objects)
+ End If
+
+ ' TODO: free unmanaged resources (unmanaged objects) and override finalizer
+ ' TODO: set large fields to null
+ disposedValue = True
+ End If
+ End Sub
+
+ ' ' TODO: override finalizer only if 'Dispose(disposing As Boolean)' has code to free unmanaged resources
+ ' Protected Overrides Sub Finalize()
+ ' ' Do not change this code. Put cleanup code in 'Dispose(disposing As Boolean)' method
+ ' Dispose(disposing:=False)
+ ' MyBase.Finalize()
+ ' End Sub
+
+ Public Sub Dispose() Implements IDisposable.Dispose
+ ' Do not change this code. Put cleanup code in 'Dispose(disposing As Boolean)' method
+ Dispose(disposing:=True)
+ GC.SuppressFinalize(Me)
+ End Sub
+
+End Class
diff --git a/Icarus/Icarus.vbproj b/Icarus/Icarus.vbproj
index dcddece..a9dacdd 100644
--- a/Icarus/Icarus.vbproj
+++ b/Icarus/Icarus.vbproj
@@ -164,6 +164,7 @@
+ ImportExportMachiningPanelV.xaml
@@ -572,6 +573,85 @@
Settings.Designer.vb
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -707,8 +787,25 @@
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Icarus/Resources/Manual/Demo/index.html b/Icarus/Resources/Manual/Demo/index.html
new file mode 100644
index 0000000..2224ca0
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/index.html
@@ -0,0 +1,756 @@
+
+
+
+
+
+
+
+
+
+ Egalware: Icarus Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Icarus is the Slicing & Printing software made by Egalware for the Large Additive Manufacturing.
In the picture below you can see the interface, which we will explain step by step in this documentation.
By clicking the upper left icon will appear a window containing all the software and system information. As showed in the below picture, It is used to check the installed version and the hardware build currently running the software.
If any support or assistance is needed, it is important to copy and transmit the information contained in the box so the technicians can have more information possible regarding the specific installation.
+.il-extended-color-variant-mixin(@background-color;){
+ &.il-extended-color-variant-standard{
+ color: darken(@background-color,@il-extended-text-color-factor-standard);
+ background-color: lighten(@background-color,@il-extended-color-factor-standard);
+ }
+
+ &.il-extended-color-variant-light{
+ color: darken(@background-color,@il-extended-text-color-factor-light);
+ background-color: lighten(@background-color,@il-extended-color-factor-light);
+ }
+ &.il-extended-color-variant-lighter{
+ color: darken(@background-color,@il-extended-text-color-factor-lighter);
+ background-color: lighten(@background-color,@il-extended-color-factor-lighter);
+ }
+ &.il-extended-color-variant-dark{
+ color: lighten(@background-color,@il-extended-text-color-factor-dark);
+ background-color: darken(@background-color,@il-extended-color-factor-light);
+ }
+ &.il-extended-color-variant-darker{
+ color: lighten(@background-color,@il-extended-text-color-factor-darker);
+ background-color: darken(@background-color,@il-extended-color-factor-darker);
+ }
+}
+
+
+
+//Concrete color variant classes
+.extended-color-variant-1{
+ .il-extended-color-variant-mixin(@il-extended-color-1);
+}
+.extended-color-variant-2{
+ .il-extended-color-variant-mixin(@il-extended-color-2);
+}
+.extended-color-variant-3{
+ .il-extended-color-variant-mixin(@il-extended-color-3);
+}
+.extended-color-variant-4{
+ .il-extended-color-variant-mixin(@il-extended-color-4);
+}
+.extended-color-variant-5{
+ .il-extended-color-variant-mixin(@il-extended-color-5);
+}
+.extended-color-variant-6{
+ .il-extended-color-variant-mixin(@il-extended-color-6);
+}
+.extended-color-variant-7{
+ .il-extended-color-variant-mixin(@il-extended-color-7);
+}
+.extended-color-variant-8{
+ .il-extended-color-variant-mixin(@il-extended-color-8);
+}
+.extended-color-variant-9{
+ .il-extended-color-variant-mixin(@il-extended-color-9);
+}
\ No newline at end of file
diff --git a/Icarus/Resources/Manual/Demo/templates/default/less/deprecated.less b/Icarus/Resources/Manual/Demo/templates/default/less/deprecated.less
new file mode 100644
index 0000000..4a53af0
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/templates/default/less/deprecated.less
@@ -0,0 +1,5 @@
+// ATTENTION: import this to your skin if your less-modifications use the names from
+// before the changes in github.com/ILIAS-eLearning/ILIAS/pull/253 were merged.
+
+@il-header-height: @il-fixed-menu-height;
+@il-top-bar-height: @il-fixed-menu-height-bar-only;
diff --git a/Icarus/Resources/Manual/Demo/templates/default/less/focus-mixin.less b/Icarus/Resources/Manual/Demo/templates/default/less/focus-mixin.less
new file mode 100644
index 0000000..737e787
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/templates/default/less/focus-mixin.less
@@ -0,0 +1,42 @@
+// In order not to manually overwrite the focus in all places, the following bootstrap focus mixin is overwritten ilias/libs/bower/bower_components/bootstrap/less/mixins/tab-focus.less.
+
+.tab-focus(){
+ // WebKit-specific. Other browsers will keep their default outline style.
+ // (Initially tried to also force default via `outline: initial`,
+ // but that seems to erroneously remove the outline in Firefox altogether.)
+ outline: none;
+ outline-offset: 0px;
+ &:focus-visible {
+ outline: @il-focus-outline-outer;
+ outline-offset: @il-focus-outline-inner-width + @il-focus-outline-outer-width;
+
+ .il-focus-after();
+ }
+ }
+
+.il-focus() {
+ &:focus-visible {
+ position: relative;
+ outline: @il-focus-outline-outer;
+ outline-offset: @il-focus-outline-inner-width + @il-focus-outline-outer-width - 1px;
+
+ .il-focus-after();
+ }
+
+ &:active,&.engaged{
+ outline: none;
+ }
+}
+
+.il-focus-after() {
+ &::after {
+ content: " ";
+ position: absolute;
+ top: -@il-focus-outline-outer-width;
+ left: -@il-focus-outline-outer-width;
+ right: -@il-focus-outline-outer-width;
+ bottom: -@il-focus-outline-outer-width;
+ border: @il-focus-outline-outer;
+ outline: @il-focus-outline-inner;
+ }
+}
\ No newline at end of file
diff --git a/Icarus/Resources/Manual/Demo/templates/default/less/font.less b/Icarus/Resources/Manual/Demo/templates/default/less/font.less
new file mode 100644
index 0000000..7037c23
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/templates/default/less/font.less
@@ -0,0 +1,97 @@
+@font-face {
+ font-family: 'Open Sans';
+ src: url('@{il-web-font-path}OpenSansWeb/OpenSans-Regular.woff2') format('woff2'),
+ url('@{il-web-font-path}OpenSansWeb/OpenSans-Regular.woff') format('woff');
+ font-weight: 400;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Open Sans';
+ src: url('@{il-web-font-path}OpenSansWeb/OpenSans-Bold.woff2') format('woff2'),
+ url('@{il-web-font-path}OpenSansWeb/OpenSans-Bold.woff') format('woff');
+ font-weight: 700;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Open Sans';
+ src: url('@{il-web-font-path}OpenSansWeb/OpenSans-Italic.woff2') format('woff2'),
+ url('@{il-web-font-path}OpenSansWeb/OpenSans-Italic.woff') format('woff');
+ font-weight: 400;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'Open Sans';
+ src: url('@{il-web-font-path}OpenSansWeb/OpenSans-BoldItalic.woff2') format('woff2'),
+ url('@{il-web-font-path}OpenSansWeb/OpenSans-BoldItalic.woff') format('woff');
+ font-weight: 700;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'Open Sans';
+ src: url('@{il-web-font-path}OpenSansWeb/OpenSans-Light.woff2') format('woff2'),
+ url('@{il-web-font-path}OpenSansWeb/OpenSans-Light.woff') format('woff');
+ font-weight: 300;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Open Sans';
+ src: url('@{il-web-font-path}OpenSansWeb/OpenSans-LightItalic.woff2') format('woff2'),
+ url('@{il-web-font-path}OpenSansWeb/OpenSans-LightItalic.woff') format('woff');
+ font-weight: 300;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'Open Sans';
+ src: url('@{il-web-font-path}OpenSansWeb/OpenSans-Semibold.woff2') format('woff2'),
+ url('@{il-web-font-path}OpenSansWeb/OpenSans-Semibold.woff') format('woff');
+ font-weight: 600;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Open Sans';
+ src: url('@{il-web-font-path}OpenSansWeb/OpenSans-SemiboldItalic.woff2') format('woff2'),
+ url('@{il-web-font-path}OpenSansWeb/OpenSans-SemiboldItalic.woff') format('woff');
+ font-weight: 600;
+ font-style: italic;
+}
+
+@font-face {
+ font-family: 'Open Sans';
+ src: url('@{il-web-font-path}OpenSansWeb/OpenSans-ExtraBold.woff2') format('woff2'),
+ url('@{il-web-font-path}OpenSansWeb/OpenSans-ExtraBold.woff') format('woff');
+ font-weight: 800;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'Open Sans';
+ src: url('@{il-web-font-path}OpenSansWeb/OpenSans-ExtraBoldItalic.woff2') format('woff2'),
+ url('@{il-web-font-path}OpenSansWeb/OpenSans-ExtraBoldItalic.woff') format('woff');
+ font-weight: 800;
+ font-style: italic;
+}
+
+// currently from https://github.com/MorbZ/OpenSansEmoji
+// under http://www.apache.org/licenses/LICENSE-2.0
+@font-face {
+ font-family: 'Open Sans Emoji';
+ src: url('@{il-web-font-path}OpenSansEmoji/OpenSansEmoji.ttf') format('truetype'),
+ url('@{il-web-font-path}OpenSansEmoji/OpenSansEmoji.otf') format('otf');
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'il-icons';
+ src: url('@{il-web-font-path}Iconfont/il-icons.woff') format('woff'),
+ url('@{il-web-font-path}Iconfont/il-icons.ttf') format('truetype');
+
+ font-weight: 300;
+ font-style: normal;
+}
diff --git a/Icarus/Resources/Manual/Demo/templates/default/less/multi-line-cap.less b/Icarus/Resources/Manual/Demo/templates/default/less/multi-line-cap.less
new file mode 100644
index 0000000..6f1a7ed
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/templates/default/less/multi-line-cap.less
@@ -0,0 +1,76 @@
+
+/*
+ These classes are used to limit the number of rows when displaying larger chunks of text.
+ The mixin receives @height-in-rows as an integer. The classes il-multi-line-cap-2,3,5,10
+ can be used to limit the number of rows for text to 2,3,5 or 10 lines in any template,
+ e.g. the Standard Listing Panels limit the property values to 3 lines using il-multi-line-cap-3
+
+ Technical discussion can be found in https://mantis.ilias.de/view.php?id=21583
+ The background/gradient fallback can be removed as soon as all browsers support line-clamp.
+ */
+.il-multi-line-cap-mixin(@height-in-rows;){
+ & {
+ position: relative;
+ max-height: @height-in-rows * @line-height-small * 1em;
+ overflow: hidden;
+ line-height: @line-height-small;
+ }
+
+ &:after {
+ content: "";
+ text-align: right;
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ width: 30%;
+ height: @line-height-small * 1em;
+ background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 80%);
+ }
+
+ /* edge, chrome, safari go here... */
+ @supports (-webkit-line-clamp: 2) {
+ & {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: @height-in-rows;
+ -webkit-box-orient: vertical;
+ }
+
+ &:after {
+ display: none;
+ }
+ }
+
+ /* may come with next firefox 68, https://caniuse.com/#search=clamp */
+ @supports (-moz-line-clamp: 2) {
+ & {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -moz-box;
+ -moz-line-clamp: @height-in-rows;
+ -moz-box-orient: vertical;
+ }
+
+ &:after {
+ display: none;
+ }
+ }
+
+}
+
+.il-multi-line-cap-2 {
+ .il-multi-line-cap-mixin(2);
+}
+
+.il-multi-line-cap-3 {
+ .il-multi-line-cap-mixin(3);
+}
+
+.il-multi-line-cap-5 {
+ .il-multi-line-cap-mixin(5);
+}
+
+.il-multi-line-cap-10 {
+ .il-multi-line-cap-mixin(10);
+}
\ No newline at end of file
diff --git a/Icarus/Resources/Manual/Demo/templates/default/less/reset.less b/Icarus/Resources/Manual/Demo/templates/default/less/reset.less
new file mode 100644
index 0000000..5fe8490
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/templates/default/less/reset.less
@@ -0,0 +1,53 @@
+/* --------------------------------------------------------------
+ RESET CSS (Eric Meyer's "Reset CSS" 2.0)
+-------------------------------------------------------------- */
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td,
+article, aside, canvas, details, embed,
+figure, figcaption, footer, header, hgroup,
+menu, nav, output, ruby, section, summary,
+time, mark, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline;
+}
+
+/* HTML5 display-role reset for older browsers */
+article, aside, details, figcaption, figure,
+footer, header, hgroup, menu, nav, section {
+ display: block;
+}
+
+body {
+ line-height: 1;
+}
+
+/*ol, ul {
+ list-style: none;
+}*/
+
+blockquote, q {
+ quotes: none;
+}
+
+blockquote:before, blockquote:after,
+q:before, q:after {
+ content: '';
+ content: none;
+}
+
+table {
+ border-collapse: separate;
+ border-spacing: 0;
+}
diff --git a/Icarus/Resources/Manual/Demo/templates/default/less/screenreader-only-mixins.less b/Icarus/Resources/Manual/Demo/templates/default/less/screenreader-only-mixins.less
new file mode 100644
index 0000000..244b2d4
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/templates/default/less/screenreader-only-mixins.less
@@ -0,0 +1,32 @@
+// From the Bootstrap 3 sr-only-focusable class
+// Only display content to screen readers
+//
+// See: http://a11yproject.com/posts/how-to-hide-content
+
+.sr-only() {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ margin: -1px;
+ padding: 0;
+ overflow: hidden;
+ clip: rect(0,0,0,0);
+ border: 0;
+}
+
+// From the Bootstrap 3 sr-only-focusable class
+// Use in conjunction with .sr-only to only display content when it's focused.
+// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
+// Credit: HTML5 Boilerplate
+
+.sr-only-focusable() {
+ &:active,
+ &:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ clip: auto;
+ }
+}
\ No newline at end of file
diff --git a/Icarus/Resources/Manual/Demo/templates/default/less/variables.less b/Icarus/Resources/Manual/Demo/templates/default/less/variables.less
new file mode 100644
index 0000000..ce8e2ca
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/templates/default/less/variables.less
@@ -0,0 +1,853 @@
+/**
+This file contains all less Variables set by ILIAS. Please do not overwrite bootstrap standard variables here.
+Set an ILIAS variable here with an il- prefix and overwrite the bootstrap variable in the bootstrap variables file
+with the il- variable set here.
+ */
+
+
+//== Main Colors
+//
+//## The Main Colors used in ILIAS along with their semantics
+//** For Standard Buttons, Main color used in various places, used to be @brand-primary
+@il-main-color: #4c6586;
+//** For Primary Buttons, used to point to interactions with a special importance, used to be @brand-secondary
+@il-secondary-color: #6ea03c;
+//** Used to indicate some success, used to be @brand-success
+@il-success-color: #6ea03c;
+//** Used to indicate some success, used to be @brand-info
+@il-info-color: #dcb496;
+//** Used to indicate some warning or to draw special focus to some element, used to be @brand-warning
+@il-warning-color: #B54F00;
+//** Used to indicate some warning or to draw special focus to some element, used to be @brand-danger
+@il-danger-color: #d00;
+
+//** Neutral Color for various Backgrounds, used to be @gray-dark and @il-neutral-color
+@il-neutral-color: #2c2c2c;
+//** Light version of the @il-neutral-color, used to be @gray-light
+@il-neutral-light-color: #737373;
+
+//** Base Border Color, e.g. applied to Meta Bar and Breadcrumbs in Default.
+@il-main-border-color: #dddddd;
+//** Darker version of Base Border Color. Used as e.g. Text Inputs.
+@il-main-border-dark-color: #757575;
+
+//** Base Background Color, e.g. applied to Meta Bar and Breadcrumbs in Default, but also to panels in main content area.
+@il-main-bg: white;
+//** Title area of various components such as Panels. Used as e.g. in containers as bg. Used to be @il-secondary-bg
+@il-main-dark-bg: #f9f9f9;
+//** Background of everything in the Content Area, which is the area bellow the Meta Bar and Breadcrumbs next to the Main Bar. Used to be @body-bg
+@il-content-bg: #f0f0f0;
+
+//** Currently used for several highlighting effects, such as hovering
+@il-highlight-bg: lighten(@il-main-color, 50%);
+
+//** Used to be @text-color. Can be used on all background colors.
+@il-text-color: #161616;
+//** Used if text is hovered in components such a Dropdowns
+@il-text-hover-color: darken(@il-text-color, 10%);
+//** Used e.g. for Bylines in Forms. Used to be @il-light-text-color. For accessibility reasons, the @il-text-color should only be used on the @il-main-bg.
+@il-text-light-color: lighten(@il-text-color, 35%);
+
+//** Used to be @link-color
+@il-link-color: @il-main-color;
+//** Used to be @link-hover-color
+@il-link-hover-color: darken(@il-link-color, 10%);
+
+//** Used to set focus on interactive elements for keyboard navigation.
+@il-focus-color: #0078D7;
+@il-focus-protection-color: #FFFFFF;
+
+//== Extended Colors
+//
+//## Extended Colors of ILIAS to be used to generate coloring for components like charts.
+
+//** Variant 1 of the extended color set in ILIAS
+@il-extended-color-1: #f3de2c;
+//** Variant 2 of the extended color set in ILIAS
+@il-extended-color-2: #d38000;
+//** Variant 3 of the extended color set in ILIAS
+@il-extended-color-3: #307C88;
+//** Variant 4 of the extended color set in ILIAS
+@il-extended-color-4: #86cb92;
+//** Variant 5 of the extended color set in ILIAS
+@il-extended-color-5: #ce73a8;
+//** Variant 6 of the extended color set in ILIAS
+@il-extended-color-6: #82639e;
+//** Variant 7 of the extended color set in ILIAS
+@il-extended-color-7: #9e7c7d;
+//** Variant 8 of the extended color set in ILIAS
+@il-extended-color-8: #f75e82;
+//** Variant 9 of the extended color set in ILIAS
+@il-extended-color-9: #ea4d54;
+
+//** Factor by witch a specific color variant is darkened in the standard coloring
+@il-extended-color-factor-standard: 0%;
+//** Factor by witch a specific color variant is lightened in the light coloring
+@il-extended-color-factor-light: 14%;
+//** Factor by witch a specific variant is lightened in the lighter coloring
+@il-extended-color-factor-lighter: 24%;
+//** Factor by witch a specific variant is darkened in the dark coloring
+@il-extended-color-factor-dark: 14%;
+//** Factor by witch a specific variant is darkened in the darker coloring
+@il-extended-color-factor-darker: 22%;
+
+//** Factor by witch text colored by a specific color variant in the standard coloring shown inside a background of this exact variant is lightened
+@il-extended-text-color-factor-standard: 30%;
+//** Factor by witch text colored by a specific color variant in the light coloring shown inside a background of this exact variant is darkened
+@il-extended-text-color-factor-light: 17%;
+//** Factor by witch text colored by a specific color variant in the lighter coloring shown inside a background of this exact variant is darkened
+@il-extended-text-color-factor-lighter: 15%;
+//** Factor by witch text colored by a specific color variant in the dark coloring shown inside a background of this exact variant is lightened
+@il-extended-text-color-factor-dark: 40%;
+//** Factor by witch text colored by a specific color variant in the darker coloring shown inside a background of this exact variant is lightened
+@il-extended-text-color-factor-darker: 60%;
+
+//== Typography
+//
+//##
+
+//** if left unchanged, you have to copy delos fonts folder to your skin folder. To use the delos fonts in your skin, please change this value (in custom less data or variables.less of your custom skin) to "../../../../templates/default/fonts/"
+@il-web-font-path: "fonts/";
+@il-font-family-sans-serif: 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
+
+//** Base font size used to calculate others
+@il-font-size-base: 14px;
+@il-font-size-large: ceil((@il-font-size-base * 1.25));
+@il-font-size-small: ceil((@il-font-size-base * 0.85));
+//** Unit-less `line-height` for use in components like buttons.
+@il-line-height-base: 1.428571429; // 20/14
+
+
+//== Base Padding and Border
+//
+//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
+@il-padding-base-vertical: 3px;
+@il-padding-base-horizontal: 8px;
+
+@il-padding-xlarge-vertical: 9px;
+@il-padding-xlarge-horizontal: 15px;
+
+@il-padding-large-vertical: 6px;
+@il-padding-large-horizontal: 12px;
+
+@il-padding-small-vertical: 4px;
+@il-padding-small-horizontal: 6px;
+
+@il-padding-xs-vertical: 1px;
+@il-padding-xs-horizontal: 5px;
+
+@il-border-radius-base: 0px;
+@il-border-radius-large: 0px;
+@il-border-radius-small: 0px;
+
+@il-focus-outline-inner: @il-focus-outline-inner-width solid @il-focus-color;
+@il-focus-outline-outer: @il-focus-outline-outer-width solid @il-focus-protection-color;
+// The offset should only be used if the contrast between the focus outline and the component is insufficient.
+@il-focus-outline-inner-width: 3px;
+@il-focus-outline-outer-width: 2px;
+
+//== Layout (UI Layout Page)
+//
+//## Variables to modify the appearance of the page generated by the UI Framework.
+//** header, footer and logo
+@il-grid-float-breakpoint-max: 768px;
+
+@il-standard-page-logo-height: 45px;
+@il-standard-page-logo-width: 45px;
+@il-standard-page-header-height: 60px;
+@il-standard-page-header-bg-color: @il-main-bg;
+@il-standard-page-header-page-title-color: @il-text-color;
+@il-standard-page-border-light-color: @il-main-border-color;
+@il-standard-page-content-padding: 20px;
+
+//** metabar
+@il-metabar-entry-height: 60px;
+@il-metabar-entry-width: 60px;
+@il-metabar-glyph-size: 2.3rem;
+@il-metabar-glyph-color: @il-neutral-light-color;
+@il-metabar-slates-width: 500px;
+
+//** breadcrumbs
+@il-standard-page-breadcrumbs-height: 33px;
+@il-standard-page-breadcrumbs-bg-color: @il-main-bg;
+@il-standard-page-breadcrumbs-color: @il-link-color;
+@il-standard-page-breadcrumbs-active-color: @il-link-hover-color;
+@il-standard-page-breadcrumbs-divider-color: @il-neutral-light-color;
+@il-standard-page-breadcrumbs-font-weight: 600;
+@il-standard-page-breadcrumbs-seperator: " \e606";
+
+//** mainbar
+@il-maincontrols-mainbar-bg-color: @il-main-bg;
+@il-mainbar-btn-height: 80px;
+@il-mainbar-btn-width: 80px;
+@il-mainbar-btn-color: white;
+@il-mainbar-btn-bg-color: @il-neutral-color;
+@il-mainbar-btn-color-engaged: @il-neutral-color;
+@il-mainbar-btn-bg-color-engaged: @il-main-bg;
+@il-mainbar-btn-border: 1px solid @il-standard-page-border-light-color;
+@il-mainbar-btn-label-size: .9rem;
+@il-mainbar-bulky-label-margin-top: 5px;
+@il-mainbar-tools-btn-bg: @il-warning-color;
+@il-mainbar-tools-bg: @il-content-bg;
+@il-mainbar-tools-item-gap: 3px;
+
+//** tools
+@il-mainbar-remove-tools-btn-height: 45px;
+
+//** modeinfo
+@il-mode-info-color: @il-warning-color;
+@il-mode-info-border: 3px solid @il-mode-info-color;
+@il-mode-info-height: 30px;
+@il-mode-info-shadow: 0px 2px 2px 0px rgba(128, 128, 128, 1);
+@il-mode-info-text-color: white;
+@il-mode-info-zindex: 1010;
+
+
+//** slates
+@il-slate-bulky-bg-color: #f2f2f2;
+@il-slate-bulky-level2-bg-color: #f9f9f9;
+@il-slate-bulky-bg-color-engaged: fade(@il-main-color, 30%);
+@il-slate-content-padding: 10px;
+@il-slate-tree-padding: 4px 0;
+@il-slate-bulky-padding: 10px 40px 15px 10px;
+@il-slate-bulky-link-padding: 10px 10px 15px 10px;
+@il-slate-bulky-glyph-size: 2rem;
+@il-slate-bulky-glyph-margin-right: 5px;
+@il-slate-bulky-label-size: 1.5rem;
+@il-slate-content-spacing: 2px;
+@il-standard-page-slate-width: 329px;
+@il-mainbar-slates-bg-color: @il-main-bg;
+@il-metabar-slates-bg-color: #fafafa;
+@il-mainbar-close-slate-btn-height: 45px;
+@il-metabar-close-slate-btn-height: 30px;
+
+//** shadows
+@il-standard-page-shadow-color: rgba(0, 0, 0, .1);
+@il-mainbar-shadow-right: 1px 3px 4px @il-standard-page-shadow-color;
+@il-mainbar-shadow-top: 0 0 4px @il-standard-page-shadow-color;
+@il-standard-page-header-shadow-bottom: 0 1px 2px @il-standard-page-shadow-color;
+
+//** for mobile (small devices)
+@il-standard-page-small-header-height: 45px;
+@il-standard-page-small-mainbar-height: 50px;
+@il-standard-page-small-mainbar-height-w-bottom-safe-area: calc(@il-standard-page-small-mainbar-height + 1.2 * env(safe-area-inset-bottom));
+@il-mainbar-small-btn-height: @il-standard-page-small-mainbar-height;
+@il-mainbar-small-btn-width: 75px;
+@il-metabar-small-entry-height: @il-standard-page-small-header-height;
+@il-metabar-small-entry-width: @il-standard-page-small-header-height;
+@il-metabar-small-glyph-size: 2rem;
+
+
+//== Header (Deprecated, use UI Layout Page Variables instead)
+//
+//## Variables that used to control the header. Note: Note the variables here are mostly deprecated and removed with ILIAS 8. Use the Variables listed in Layout (UI Layout Page).
+//** controls the height of the "logo" (that [ILIAS] thingy on top the page in the standard).
+@il-logo-height: 50px;
+//** controls the width of the "logo" (that [ILIAS] thingy on top the page in the standard).
+@il-logo-width: 50px;
+//** controls margin around the logo
+@il-logo-margin: 15px 15px 0;
+@il-logo-resp-margin: 10px;
+//** controls the height of the "logo" for small screens.
+@il-logo-resp-height: 40px;
+//** controls the width of the "logo" for small screens.
+@il-logo-resp-width: 40px;
+//** controls the height of the "main header" (that white thingy with the logo and the main menu in it).
+@il-main-header-height: 30px + @il-logo-height;
+//** controls the height of the border underneath the main header.
+@il-header-border-bottom-height: 3px;
+//** controls the color of the border underneath the main header.
+@il-header-border-bottom-color: @il-neutral-light-color;
+//** that is the height of the complete header, that is that thingy upon the real content of the page.
+@il-header-height: ceil((@il-main-header-height + @il-top-bar-height - @il-header-border-bottom-height));
+//** controls the bg color of the main header.
+@il-main-header-bg: @il-main-bg;
+//** controls the position of the top of the main menu.
+@il-main-menu-top: -38px;
+//** controls the position of the left side of the main menu.
+@il-main-menu-left: 15px + @il-logo-width;
+@il-main-menu-margin: @il-main-menu-top 0 0 @il-main-menu-left;
+//** controls background color of the former "topbar". Still used in some places. For the Background of the Header, use il-main-header-bg Will be removed in ILIAS 8
+@il-top-bar-bg: @il-neutral-color;
+//** Formarly controled the text color in ILIAS 8. Will be removed with ILIAS 8.
+@il-top-bar-color: white;
+//** Formarly controled the text color in ILIAS 8. Will be removed with ILIAS 8.
+@il-top-bar-height: 40px;
+//** controls colors and bg colors of the "topbar" buttons
+@il-top-bar-link-bg: lighten(@il-neutral-color, 20%);
+@il-top-bar-link-color: lighten(@il-neutral-color, 70%);
+@il-top-bar-link-hover-bg: lighten(@il-neutral-color, 42%);
+@il-top-bar-link-hover-color: white;
+//** controls colors and bg colors of the "topbar" dropdowns
+@il-top-bar-dropdown-bg: lighten(@il-neutral-color, 42%);
+@il-top-bar-dropdown-color: lighten(@il-neutral-color, 70%);
+@il-top-bar-dropdown-link-bg: transparent;
+@il-top-bar-dropdown-link-color: lighten(@il-neutral-color, 70%);
+@il-top-bar-dropdown-link-hover-bg: @il-highlight-bg;
+@il-top-bar-dropdown-link-hover-color: lighten(@il-neutral-color, 42%);
+
+//** Variables that used to control the header. Note: Note the variables here are mostly deprecated and removed with ILIAS 8. Use the Variables listed in Layout (UI Layout Page).
+@il-main-menu-bg: @il-main-header-bg;
+@il-main-menu-link-color: #808080;
+@il-main-menu-link-hover-color: #808080;
+@il-main-menu-link-active-color: #808080;
+@il-main-menu-link-bg: transparent;
+@il-main-menu-link-hover-bg: transparent;
+@il-main-menu-link-active-bg: #fafafa;
+@il-main-menu-dropdown-bg: @il-main-bg;
+@il-main-menu-dropdown-link-color: lighten(@il-neutral-color, 10%);
+@il-main-menu-dropdown-link-hover-color: darken(@il-neutral-color, 5%);
+@il-main-menu-dropdown-link-bg: transparent;
+@il-main-menu-dropdown-link-hover-bg: @il-highlight-bg;
+@il-main-menu-dropdown-header-bg: #f3f3f3;
+
+//== Footer
+//
+//## Variables to control the footer section of ILIAS.
+
+//** controls background color of the footer.
+@il-footer-bg-color: @il-main-color;
+//** controls the color of the text in the footer.
+@il-footer-color: white;
+@il-footer-height: 70px;
+@il-footer-padding: 20px 0 15px 5px;
+
+//== Buttons
+//
+//## For each of ILIAS's buttons, define text, background and border color.
+
+//** Size of the font displayed inside a button
+@il-button-font-size: @il-font-size-small;
+
+//** Text color of the standard button (most button instances)
+@il-btn-standard-color: white;
+//** Background color of the standard button (most button instances)
+@il-btn-standard-bg: @il-main-color;
+//** Border color of the standard button (most button instances)
+@il-btn-standard-border: @il-main-color;
+
+//** Text color of the primary button (most important button on the screen)
+@il-btn-primary-color: white;
+//** Background color of the primary button (most important button on the screen)
+@il-btn-primary-bg: darken(@il-secondary-color, 10%);
+//** Border color of the primary button (most important button on the screen)
+@il-btn-primary-border: darken(@il-secondary-color, 10%);
+
+//** Text color of inactive buttons
+@il-disabled-btn-color: white;
+//** Background color of inactive buttons
+@il-disabled-btn-bg: #b0b0b0;
+//** Border color of inactive buttons
+@il-disabled-btn-border: #e0e0e0;
+
+//** Text color of inactive buttons
+@il-engaged-btn-color: @il-text-color;
+//** Background color of inactive buttons
+@il-engaged-btn-bg: white;
+
+@il-disabled-btn-bg: #b0b0b0;
+@il-disabled-btn-border: #b0b0b0;
+@il-disabled-btn-color: darken(@il-text-color, 20%);
+//** Background color for tags with relevance 5; by default, color is desaturated in steps of 20%.
+@il-btn-tag-bg: #75deea;
+@il-btn-tag-bg-relevance-verylow: desaturate(@il-btn-tag-bg, 80%);
+@il-btn-tag-bg-relevance-low: desaturate(@il-btn-tag-bg, 60%);
+@il-btn-tag-bg-relevance-middle: desaturate(@il-btn-tag-bg, 40%);
+@il-btn-tag-bg-relevance-high: desaturate(@il-btn-tag-bg, 20%);
+@il-btn-tag-bg-relevance-veryhigh: @il-btn-tag-bg;
+//** Foreground colors for tags; usually black/white depending on the background color
+@il-btn-tag-fg-relevance-verylow: contrast(desaturate(@il-btn-tag-bg, 80%));
+@il-btn-tag-fg-relevance-low: contrast(desaturate(@il-btn-tag-bg, 60%));
+@il-btn-tag-fg-relevance-middle: contrast(desaturate(@il-btn-tag-bg, 40%));
+@il-btn-tag-fg-relevance-high: contrast(desaturate(@il-btn-tag-bg, 20%));
+@il-btn-tag-fg-relevance-veryhigh: contrast(@il-btn-tag-bg);
+//** Border radius of tags
+@il-btn-tag-border-radius: 3px;
+//** margin of tags
+@il-btn-tag-margin: 2px 4px 2px 0;
+
+//== Toggle Buttons
+//
+//##
+
+//** The Toggle Button without the Switch
+@il-btn-toggle-height: 19px;
+@il-btn-toggle-padding: 25px;
+@il-btn-toggle-border: 1px solid;
+@il-btn-toggle-border-color: rgba(0, 0, 0, 0.1);
+@il-btn-toggle-border-radius: 40px;
+@il-enabled-btn-toggle-bg: lighten(@il-enabled-btn-toggle-switch-color, 30%);
+@il-disabled-btn-toggle-bg: lighten(@il-disabled-btn-toggle-switch-color, 30%);
+
+//** The Switch of the Toggle Button
+@il-btn-toggle-switch-position-top: -4px;
+@il-btn-toggle-switch-size: 25px;
+@il-btn-toggle-switch-border-color: rgba(0, 0, 0, 0.2);
+@il-btn-toggle-switch-transition: all 0.25s ease-in-out;
+@il-enabled-btn-toggle-switch-color: @il-main-color;
+@il-enabled-btn-toggle-switch-position-left: 53%;
+@il-disabled-btn-toggle-switch-color: #808080;
+@il-disabled-btn-toggle-switch-position-left: -6%;
+
+//** The ON/OFF Label of the Toggle Button
+@il-btn-toggle-label-position-top: 0;
+@il-btn-toggle-label-on-position-left: 5px;
+@il-btn-toggle-label-off-position-left: 23px;
+@il-btn-toggle-label-font-weight: 600;
+@il-btn-toggle-label-font-size: 0.9em;
+@il-btn-toggle-label-on-color: @il-main-bg;
+
+//** on
+@il-btn-toggle-bg-color-on: @il-secondary-color;
+@il-btn-toggle-border-color-on: #bfbfbf;
+@il-btn-toggle-switch-bg-color-on: @il-main-dark-bg;
+@il-btn-toggle-switch-border-color-on: #bfbfbf;
+
+//** off
+@il-btn-toggle-bg-color-off: @il-main-dark-bg;
+@il-btn-toggle-border-color-off: #bfbfbf;
+@il-btn-toggle-switch-bg-color-off: @il-main-dark-bg;
+@il-btn-toggle-switch-border-color-off: #bfbfbf;
+
+//** unavailable
+@il-btn-toggle-bg-color-unavailable: #cdcdcd;
+@il-btn-toggle-border-color-unavailable: #bfbfbf;
+@il-btn-toggle-switch-bg-color-unavailable: lighten(@il-neutral-color, 30%);
+@il-btn-toggle-switch-border-color-unavailable: #bfbfbf;
+
+//== Standard Form
+//
+//## Variables used to style the ILIAS standard form used e.g. in the "Settings"-Tab
+
+//** Textcolor used in the forms sections bodies
+@il-standard-form-color: @il-text-color;
+//** Textcolor used in the bylines (descriptions) of the input fields of a form
+@il-standard-form-byline-color: @il-text-light-color;
+//** Textcolor used in the labels (identifiers) of the input fields of a form
+@il-standard-form-label-color: @il-text-color;
+//** Background color used in the
+@il-standard-form-bg: @il-main-bg;
+//** Textsize used in the forms body
+@il-standard-form-font-size: @il-font-size-small;
+//** Textsize used in the bylines (descriptions) of the input fields of a form
+@il-standard-form-byline-font-size: 85%;
+
+//** Textcolor used in the forms header, the sections header and the footer
+@il-standard-form-header-color: @il-text-color;
+//** Background color used in the forms header, the sections header and the footer
+@il-standard-form-header-bg: @il-content-bg;
+//** Textsize color used in the forms header and the sections header
+@il-standard-form-header-font-size: ceil((@il-font-size-base * 1.3));
+//** Textsize color used in the form headers the section headers byline (description)
+@il-standard-form-header-byline-font-size: @il-font-size-small;
+//** Background color used for dependant groups (sub forms) in standard forms
+@il-standard-form-dependant-group-bg: @il-main-dark-bg;
+
+//** Minimal size of non-empty buttons inside forms
+@il-button-min-width-forms: 60px;
+
+//== Standard Filter
+//
+//## Variables used to style the ILIAS Standard Filter
+
+//** Filter Bar
+@il-standard-filter-bar-btn-font-size: 1.2em;
+@il-standard-filter-bar-glyph-padding-right: 0.3em;
+@il-standard-filter-bar-toggle-padding-left: 10px;
+
+//** Input Fields Area
+@il-standard-filter-input-section-border-top: 1px solid @il-main-border-color;
+@il-standard-filter-input-section-padding-bottom: 40px;
+@il-standard-filter-input-section-margin: 0;
+@il-standard-filter-input-section-multiselect-margin: 0.8em;
+@il-standard-filter-input-group-width: 100%;
+@il-standard-filter-input-group-height: 25px;
+@il-standard-filter-select-input-border: 1px solid @il-main-border-dark-color;
+@il-standard-filter-label-width: 30%;
+@il-standard-filter-input-remove-width: 10%;
+@il-standard-filter-font-color-disabled: #b0b0b0;
+@il-standard-filter-controls-bottom: 0px;
+@il-standard-filter-controls-padding-left: 15px;
+@il-standard-filter-controls-padding-bottom: 6px;
+
+//** Division with active inputs under Filter Bar
+@il-standard-filter-active-inputs-margin-left: 0;
+@il-standard-filter-active-inputs-padding-vertical: 0;
+@il-standard-filter-active-inputs-font-size: 0.8em;
+
+//** Popovers
+@il-standard-filter-screen-sm-input-popover-padding: 4px;
+@il-standard-filter-screen-sm-input-popover-margin-top: 0;
+@il-standard-filter-screen-sm-input-popover-border: 0;
+@il-standard-filter-add-input-popover-list-margin: 0;
+@il-standard-filter-add-input-popover-list-padding: 0;
+@il-standard-filter-add-input-popover-list-button-width: 100%;
+
+//== Input Fields
+//
+//## Variables used to style the ILIAS input fields (e.g. Text Inputs etc.)
+@il-FormColor: @il-text-light-color;
+@il-FormBgColor: @il-main-bg;
+@il-FormInputFontSize: @il-font-size-small;
+@il-textarea-height: (floor(4 * (@il-standard-form-font-size * @il-line-height-base)) + (@padding-base-vertical * 2) + 2);
+
+//** Tag Input
+@il-input-tag-color-bg: @il-btn-standard-bg;
+@il-input-tag-color-text: @il-btn-standard-color;
+@il-input-tag-color-disabled: #EEEEEE;
+
+//** determines display of icons in dropdowns, 'none' for no display and 'inline' for display
+@il-nav-icons: inline;
+
+//== Tables
+//
+//##
+@il-table-head-bg: @il-main-bg;
+@il-data-table-bg: @il-main-bg;
+@il-table-cmd-bg: @il-main-dark-bg;
+
+//** Presentation Table borders
+@il-table-presentation-rowborder-top: 1px solid @table-border-color;
+;
+
+//** Presentation Table colum widths
+@il-table-presentation-rowcontrol-colwidth: 5%;
+@il-table-presentation-contents-colwidth: 95%;
+
+@il-table-presentation-details-viewcontrols-bg-color: @il-highlight-bg;
+@il-table-presentation-details-viewcontrols-btn-color: @il-main-color;
+@il-table-presentation-details-viewcontrols-btn-bg: white;
+
+//== Toolbar
+//
+//##
+@il-toolbar-margin: 15px; // Margin between toolbar items
+@il-toolbar-bg: @il-main-bg;
+@il-toolbar-height: 40px;
+@il-toolbar-border: 1px solid @il-main-border-color;
+
+//== Postings
+//
+//##
+@il-posting-by-moderator-bg: #ff9;
+@il-posting-needs-moderation-bg: #ffe4e4;
+
+//== Glyph
+//
+//##
+@il-glyph-color: @il-link-color;
+@il-glyph-hover-color: @il-link-hover-color;
+@il-glyph-highlighted-color: @il-warning-color;
+@il-glyph-highlighted-hover-color: @il-warning-color;
+@il-glyph-disabled-color: @il-neutral-light-color;
+
+//== Counter
+//
+//##
+@il-counter-padding: 2px 4px;
+@il-counter-font-size: 9px;
+@il-counter-margin-left: -4px;
+
+
+//== Status Counter
+//
+//##
+@il-counter-status-bg: @il-neutral-light-color;
+@il-counter-status-margin-top: 10px;
+
+
+//== Novelty Counter
+//
+//##
+@il-counter-novelty-bg: @il-warning-color;
+@il-counter-novelty-margin-top: -5px;
+
+
+//== Dropzones
+//
+//## Customizes the Drozpones component
+
+//** Default background color used for dropzones.
+@il-dropzone-bg: @il-main-bg;
+@il-dropzone-bg-inactive: #F4F4F4;
+//** Background color used when a dropzone is highlighted (not when hovered).
+@il-dropzone-highlight-bg: #FFFFD6;
+//** Background color used when a dropzone is hovered.
+@il-dropzone-hover-bg: #FFF9BC;
+@il-dropzone-border-radius: 0px;
+@il-dropzone-border-style: dashed;
+@il-dropzone-border-width: 1px;
+//** Default border color
+@il-dropzone-border-color: @il-main-border-dark-color;
+//** Border color used when a dropzone is hovered.
+@il-dropzone-border-color-hover: darken(@il-main-border-dark-color, 10%);
+//** Border of one file after dragging them to the dropzone
+@il-dropzone-filelist-border-color: @il-dropzone-border-color;
+@il-dropzone-filelist-border-type: solid;
+@il-dropzone-filelist-border-width: @il-dropzone-border-width;
+@il-dropzone-filelist-border-radius: @il-dropzone-border-radius;
+
+
+//== Popover
+//
+//## Customizes the Popover component
+
+//** Minimal width of the Popover
+@il-popover-min-width: 50px;
+//** Minimal height of the Popover
+@il-popover-min-height: 32px;
+//** Maximal width of the Popover
+@il-popover-max-width: 400px;
+//** Background color of the Popover
+@il-popover-background-color: @il-main-dark-bg;
+//** Background color of the title
+@il-popover-title-background-color: @il-popover-background-color;
+//** Border color of the Popover
+@il-popover-border-color: rgba(0, 0, 0, .2);
+//** Width of the arrow pointing from the Popover to its Triggerer component, e.g. a Button
+@il-popover-arrow-width: 10px;
+//** Background color of the arrow
+@il-popover-arrow-background-color: @il-popover-background-color;
+//** z-index used for the Popover
+@il-popover-z-index: 9999;
+//** Maximum Height of a popover (overflow scroll)
+@il-popover-max-height: 500px;
+
+
+//== Tooltips
+//
+//## Tooltips displayed by the online help
+//** Text color of those tooltips
+@il-tooltip-color: white;
+//** Background color of those tooltips
+@il-tooltip-bg-color: @il-main-color;
+//** Border color of those tooltips
+@il-tooltip-border-color: @il-main-color;
+//** Border radius of those tooltips
+@il-tooltip-border-radius: 4px;
+//** Shadow of those tooltips
+@il-tooltip-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.15);
+
+
+//== Divider
+//
+//##
+@il-divider-bg: @il-main-bg;
+
+@il-divider-color: @il-text-color;
+
+@il-divider-color: @il-text-color;
+
+//== Item
+//
+//##
+@il-item-divider-padding: 10px 0 0 0;
+@il-item-divider-margin: 0 0 10px 0;
+@il-item-divider-border-bottom: dashed 0.5px @il-main-border-color;
+@il-item-description-padding: 10px 0 0 0;
+@il-item-padding: @padding-large-horizontal;
+@il-item-marker-border-left: 5px solid;
+@il-item-h5-margin: 4px 0px 2px 0px;
+@il-item-border-bottom: 2px solid @il-content-bg;
+@il-item-border-bottom-small: 1px solid @il-content-bg;
+
+
+//== Charts
+//
+//## Charts are used to graphically represent data in various forms such as maps, graphs or diagrams.
+
+@il-chart-item-active-bg: @il-main-color;
+@il-chart-item-active-color: white;
+@il-chart-item-inactive-bg: #e0e0e0;
+@il-chart-item-inactive-color: @il-text-color;
+@il-chart-item-space: 2px;
+
+//** Progress Meter: minimal width
+@il-chart-progressmeter-min-width: 80px;
+//** Progress Meter: maximal width / height
+@il-chart-progressmeter-max-width: 800px;
+//** Progress Meter: background stroke width
+@il-chart-progressmeter-bg-stroke-width: 6;
+//** Progress Meter: multi bar progress stroke width
+@il-chart-progressmeter-multi-stroke-width: (@il-chart-progressmeter-mini-bg-stroke-width / 3);
+//** Progress Meter: single bar progress stroke width
+@il-chart-progressmeter-mono-stroke-width: (@il-chart-progressmeter-mini-bg-stroke-width - 1);
+//** Progress Meter: background color
+@il-chart-progressmeter-bg-color: #dddddd;
+//** Progress Meter: marker color
+@il-chart-progressmeter-marker-color: #efefef;
+//** Progress Meter: marker border color
+@il-chart-progressmeter-marker-shadow-color: #bcbcbc;
+//** Progress Meter main bar: success color
+@il-chart-progressmeter-success: #6ea03c;
+//** Progress Meter main bar: no-success color
+@il-chart-progressmeter-no-success: #d9534f;
+//** Progress Meter comparision bar: no-user-score color
+@il-chart-progressmeter-not-active: #f0ad4e;
+//** Progress Meter comparision bar: user-score color
+@il-chart-progressmeter-active: #aaaaaa;
+//** Progress Meter score text color
+@il-chart-progressmeter-score-text-color: #000000;
+//** Progress Meter info-text color
+@il-chart-progressmeter-info-text-color: #bcbcbc;
+
+//** Progress Meter Fixed-Size: width
+@il-chart-progressmeter-fixed-size: 350px;
+
+//** Progress Meter Mini: minimal width
+@il-chart-progressmeter-mini-min-width: 20px;
+//** Progress Meter Mini: maximal width / height
+@il-chart-progressmeter-mini-max-width: 250px;
+//** Progress Meter Mini: background stroke width
+@il-chart-progressmeter-mini-bg-stroke-width: 5;
+//** Progress Meter Mini: progress stroke width
+@il-chart-progressmeter-mini-stroke-width: @il-chart-progressmeter-mini-bg-stroke-width;
+//** Progress Meter Mini: marker stroke width
+@il-chart-progressmeter-mini-marker-stroke-width: 4;
+//** Progress Meter Mini: background color
+@il-chart-progressmeter-mini-bg-color: #dddddd;
+//** Progress Meter Mini: marker color
+@il-chart-progressmeter-mini-marker-color: #bcbcbc;
+//** Progress Meter Mini: progress stroke color (no success)
+@il-chart-progressmeter-mini-no-success: #d9534f;
+//** Progress Meter Mini: progress stroke color (success)
+@il-chart-progressmeter-mini-success: #6ea03c;
+
+//== Icons
+//
+//## Icons are used to represent (and quickly identify) objects.
+
+//** Path to the font of the glyphicons. Note that the path must be put in "" for less to compile.
+@il-icon-font-path: "../../node_modules/bootstrap/fonts/";
+//** if left unchanged, you have to copy all the background images to your skin/images folder. To use the delos background images in your skin, please change this value (in custom less data or in variables.less of your custom skin) to "../../../../templates/default/images/"
+@il-background-images-path: "images/";
+
+//** Size for icons: xsmall is used in the tree. e.g.
+@il-icon-size-xsmall: 15px;
+//** Size for icons: Small is used in the tree. e.g.
+@il-icon-size-small: 20px;
+//** Size for icons: Medium is used in the content-listing. e.g.
+@il-icon-size-medium: 35px;
+//** Size for icons: Large is used in the header. e.g.
+@il-icon-size-large: 45px;
+//** Path for standard icons in ILIAS
+@il-standard-icon-path: @il-background-images-path;
+//** Path for standard icons in ILIAS
+@il-standard-outlined-icon-path: "@{il-standard-icon-path}outlined/";
+//** Standard filter for the outlined icons to be used (rendering them with a black outline). This may be different in each context.
+@il-standard-outlined-icon-filter: brightness(0);
+//** Standard filter for the outlined icons to be used if disabled (rendering them with a grey outline).
+@il-standard-disabled-icon-filter: grayscale(100%);
+//** Standard filter for the outlined icons to be used if disabled (rendering them with a grey outline).
+@il-standard-outlined-disabled-icon-filter: contrast(0%);
+
+//== Avatar
+//
+//** Size for avatars: used in the header. e.g. standard (and recommended) is @il-icon-size-large
+@il-avatar-size: @il-icon-size-large;
+@il-avatar-size-small: @il-avatar-size / 2;
+@il-avatar-size-large: @il-avatar-size * 2;
+//** border-radius for image avatar
+@il-avatar-border-radius: 50%;
+//** border size for letter avatars
+@il-avatar-border-size: 2px;
+@il-avatar-small-border-size: 0px;
+//** border style for letter avatars
+@il-avatar-border-style: solid;
+//** border color for picture avatars
+@il-avatar-picture-border-color: @il-main-border-color;
+//** there are 26 colors for letter avatar backgrounds, this is for the abbreviation ant the border color
+@il-avatar-letter-border-color-contrast-lighten: 40%;
+@il-avatar-letter-border-color-contrast-darken: 20%;
+//** change the abbreviations font weight
+@il-avatar-letter-abbreviation-font-weight: lighter;
+//** change the abbreviations font transform
+@il-avatar-letter-abbreviation-font-transform: inherit;
+//** all variants of letter avatar background colors (MUST be 26), note for a11y reason, they must be in contrast 3x1 to white (foreground color)
+@il-avatar-letter-color-variants: #0e6252, #107360, #aa890a, #c87e0a, #176437, #196f3d, #bf6516, #a04000, #1d6fa5, #1b557a, #bf2718, #81261d, #713b87, #522764, #78848c, #34495e, #2c3e50, #566566, #90175a, #9e2b6e, #d22f10, #666d4e, #715a32, #83693a, #963a30, #e74c3c;
+
+
+//== System Info
+//
+//##
+/** headline text transform **/
+@il-standard-page-system-info-headline-transform: uppercase;
+@il-standard-page-system-info-headline-font-weight: bold;
+/** inline shadow of a message container **/
+@il-standard-page-system-info-shadow: inset 0px -10px 4px -10px rgba(0, 0, 0, 0.25);
+/** border configuration, the color is automatically computed from the three color variants **/
+@il-standard-page-system-info-border-color: @il-main-border-color;
+@il-standard-page-system-info-border-top-and-bottom: none;
+@il-standard-page-system-info-border-left-and-right: none;
+/** nagtive or positive contrast color for text and glyph **/
+@il-standard-page-system-info-contrast: 60%;
+/** contrast threshold for contrast color **/
+@il-standard-page-system-info-contrast-threshold: 43%;
+/** three color variants for neutral, important, breaking Head Infos **/
+@il-standard-page-system-info-color-variant-neutral: lighten(@il-main-color, 50%); // looks nice with @il-mainbar-btn-bg-color as well
+@il-standard-page-system-info-color-variant-important: lighten(@il-danger-color, 40%);
+@il-standard-page-system-info-color-variant-breaking: darken(@il-danger-color, 10%);
+
+//== View Control
+//
+//##
+@il-vc-glyph-padding-vertical: @padding-base-vertical+2;
+@il-vc-glyph-padding-horizontal: @padding-base-horizontal;
+@il-vc-glyph-hover-bg: lighten(@il-main-color, 5%);
+@il-vc-mode-btn-active: @il-vc-glyph-hover-bg;
+@il-vc-pagination-btn-active-bg: @il-main-bg;
+
+//== Card
+//
+//##
+@il-card-border: 1px solid @il-main-border-color;
+@il-card-background: @il-main-bg;
+@il-card-highlight-bg: @il-warning-color;
+@il-card-highlight-height: @il-padding-large-vertical;
+@il-card-list-key-color: @il-text-light-color;
+@il-card-repository-head-color: rgba(0, 0, 0, 0.5);
+@il-card-repository-dropdown-border: @il-main-border-color 1px solid;
+@il-card-repository-outlined-icon-filter: invert(1);
+@il-card-repository-outlined-disabled-icon-filter: @il-card-repository-outlined-icon-filter;
+//** Sets the maximum width of cards in small screens
+@il-card-max-width-xs: 350px;
+@il-card-box-shadow: 0 1px 2px rgba(0, 0, 0, 15%), 0 0px 0px rgba(0, 0, 0, 15%);
+
+
+//== Workflow
+//
+//##Workflow-steps have an icon indicating their status. The label changes color and size accordingly.
+@il-workflow-icon-size: 21px;
+@il-workflow-icon-font-color: white;
+@il-workflow-available-text-color: @il-text-color;
+@il-workflow-unavailable-text-color: @il-main-border-color;
+
+//== Message Boxes
+//
+//##
+@il-messagebox-link-bullet: "\00BB \0020";
+@il-messagebox-margin-top: 10px;
+@il-messagebox-link-list-margin-top: 15px;
+
+//== Modal
+//
+//## Variables that modify and minpulate the appearance of modals
+//** Controls the speed of the fade in/out of the modal
+@il-modal-transition-speed: 0.15s;
+
+//== Tree
+//
+//## Basic adjustments for the tree
+@il-tree-node-indentation: @il-font-size-base;
+//** Vertical Space between nodes
+@il-tree-node-vertical-spacing: 3px;
+//** Horizontal space between expand/collapse icon, an optional node icon and node label
+@il-tree-node-horizontal-spacing: 4px;
+//== Characteristic Value Listing
+//** item rows layout
+@il-characteristic-value-border-color: @il-main-border-color;
+
+//== DropDowns
+//
+//##
+@il-font-size-dropdown: @font-size-base;
diff --git a/Icarus/Resources/Manual/Demo/templates/default/template.xml b/Icarus/Resources/Manual/Demo/templates/default/template.xml
new file mode 100644
index 0000000..37c8f2f
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/templates/default/template.xml
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/Icarus/Resources/Manual/Demo/templates/default/tpl.adm_content.html b/Icarus/Resources/Manual/Demo/templates/default/tpl.adm_content.html
new file mode 100644
index 0000000..0aa616e
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/templates/default/tpl.adm_content.html
@@ -0,0 +1,123 @@
+{MAINMENU}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Icarus/Resources/Manual/Demo/templates/default/tpl.error.html b/Icarus/Resources/Manual/Demo/templates/default/tpl.error.html
new file mode 100644
index 0000000..13aab08
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/templates/default/tpl.error.html
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/Icarus/Resources/Manual/Demo/templates/default/tpl.table.html b/Icarus/Resources/Manual/Demo/templates/default/tpl.table.html
new file mode 100644
index 0000000..ff9bf99
--- /dev/null
+++ b/Icarus/Resources/Manual/Demo/templates/default/tpl.table.html
@@ -0,0 +1,142 @@
+
+
+