/* SASS-Themable stylesheet for iTasks Web Client You can use this to easily create branded iTask applications. Compile to CSS using 'sass itwc-theme.scss itwc-theme.css' */ /* Color definitions for the theme */ @import "colors.scss"; @import "options.scss"; body { width: 100%; height: 100%; margin: 0; overflow: hidden; font-family: tahoma, arial, verdana, sans-serif; } body, input, td, th, select { @if $touchscreen { font-size: 16pt; } @else { font-size: 9pt; } } .layer { position: absolute; top: 0; left: 0; display: flex; display: -webkit-flex; flex-direction: column; -webkit-flex-direction: column; align-items: stretch; -webkit-align-items: stretch; > .inner { overflow: auto; } } .inner { display: flex; display: -webkit-flex; flex: 1; -webkit-flex: 1; } .header { font-weight: bold; font-size: 11px; height: 25px; align-self: stretch; -webkit-align-self: stretch; a.close { float: right; color: $panel-header-text-color; display: inline-block; position: relative; margin: 4px 4px 0 0; top: 0px; font-weight: bold; font-size: 8px; line-height: 8px; background: $panel-header-base-color + #222; border: 1px solid $panel-header-text-color; border-radius: 2px; padding: 0 4px 2px 4px; text-decoration: none; } span { float: left; margin: 4px 0 0 4px; } } .panel { color: $canvas-text-color; background-color: $canvas-base-color; border: 1px solid $panel-border-color; display: flex; display: -webkit-flex; flex-direction: column; -webkit-flex-direction: column; > .header { color: $panel-header-text-color; background-color: $panel-header-base-color; background: -moz-linear-gradient(top, ($panel-header-base-color + #222) 0%, $panel-header-base-color 100%); background: -webkit-linear-gradient(top, ($panel-header-base-color + #222) 0%, $panel-header-base-color 100%); } > .inner { overflow: auto; } } .framed { border-radius: 5px; } .floating-window, .modal-window, .notification-bubble { position: absolute; top: 0px; left: 0px; z-index: 100; display: flex; display: -webkit-flex; > .inner { overflow: auto; } } .floating-window, .modal-window { color: $canvas-text-color; background-color: $canvas-base-color; border: 1px solid $window-border-color; border-radius: 5px; > .header { color: $window-header-text-color; background-color: $window-header-base-color; background: -moz-linear-gradient(top, ($window-header-base-color + #222) 0%, $window-header-base-color 100%); background: -webkit-linear-gradient(top, ($window-header-base-color + #222) 0%, $window-header-base-color 100%); } } .floating-window { box-shadow: 0 5px 5px rgba(0,0,0,0.5); } .notification-bubble { background-color: $canvas-base-color; border: 3px solid $window-header-base-color; border-radius: 10px; opacity: 0.9; > .header { color: $window-header-text-color; background-color: $window-header-base-color; } } .vcontainer, .hcontainer { display: flex; display: -webkit-flex; align-items: flex-start; -webkit-align-items: flex-start; } .vcontainer { flex-direction: column; -webkit-flex-direction: column; } .hcontainer { flex-direction: row; -webkit-flex-direction: row; } .modal-masker { position: absolute; background-color: #000; background-color: rgba(0, 0, 0, 0.7); z-index: 1000; } .button { @if $touchscreen { font-size: 24px; padding: 10px; font-weight: bold; } @else { font-size: 8pt; padding: 3px; } background: -moz-linear-gradient(top, $button-base-color + #101010, $button-base-color); background: -webkit-linear-gradient(top, $button-base-color + #101010, $button-base-color); background-repeat: none; border: 1px solid ($button-base-color - #333); border-radius: 3px; display: flex; display: -webkit-flex; flex-direction: row; -webkit-flex-direction: row; align-items: center; -webkit-align-items: center; text-decoration: none; color: $button-text-color; flex-shrink: 0; &:hover { border-color: $button-base-color - #333; } } .button-label { margin: 0 4px; @if not $touchscreen { height: 16px; } } .button-icon { width: 16px; height: 16px; } .button-disabled { color: $button-text-color - #666; background: -moz-linear-gradient(top, $button-base-color + #101010, $button-base-color - #222); background: -webkit-linear-gradient(top, $button-base-color + #101010, $button-base-color - #222); } .button-disabled:hover { border-color: $button-base-color - #333; } .button-disabled .button-icon { opacity: 0.5; } @if $touchscreen { .buttonbar { background: $panel-header-base-color; } } .vcontainer { display: flex; display: -webkit-flex; flex-direction: column; -webkit-flex-direction: column; } .hcontainer { display: flex; display: -webkit-flex; flex-direction: row; -webkit-flex-direction: row; flex-shrink: 0; -webkit-flex-shrink: 0; } .icon { width: 16px; height: 16px; } .fieldset { border: 1px solid ($canvas-base-color - #333); margin: 2px; padding: 1px; } .fieldset-header { font-weight: bold; } .view-html { } /* Tabs */ .tabset { display: flex; display: -webkit-flex; align-items: stretch; -webkit-align-items: stretch; flex-direction: column; -webkit-flex-direction: column; } .tabbar { text-align: left; list-style: none; margin: 0; padding: 0 10px; line-height: 24px; position: relative; min-height: 24px; background: -moz-linear-gradient(top, $panel-header-base-color + #323232, $panel-header-base-color); background: -webkit-linear-gradient(top, $panel-header-base-color + #323232, $panel-header-base-color); overflow: hidden; } .tabbar:after { position: absolute; content: ""; width: 100%; bottom: 0; left: 0; border-bottom: 1px solid $tab-border-color; z-index: 1; } .tabbar:before { z-index: 1; } .tabbar li { margin: 0; padding: 0 10px; border: 1px solid $tab-border-color; background: $tab-base-color - #131313; display: inline-block; position: relative; z-index: 0; border-top-left-radius: 5px; border-top-right-radius: 5px; } .tabbar li a { color: $tab-text-color; text-decoration: none; } .tabbar li:before, .tabbar li:after { position: absolute; bottom: -1px; width: 5px; height: 5px; content: " "; border: 1px solid $tab-border-color; } .tabbar li:before { left: -6px; border-bottom-right-radius: 5px; border-width: 0 1px 1px 0; box-shadow: 2px 2px 0 ($tab-base-color - #131313); } .tabbar li:after { right: -6px; border-bottom-left-radius: 5px; border-width: 0 0 1px 1px; box-shadow: -2px 2px 0 ($tab-base-color - #131313); } .tabbar li.selected { background: $tab-base-color; color: $tab-text-color; z-index: 2; border-bottom-color: $tab-base-color; } .tabbar li.selected:before { box-shadow: 2px 2px 0 $tab-base-color; } .tabbar li.selected:after { box-shadow: -2px 2px 0 $tab-base-color; } .tabitems { flex: 1; -webkit-flex: 1; align-self: stretch; -webkit-align: self; display: flex; display: -webkit-flex; flex-direction: column; -webkit-flex-direction: column; z-index: 2; border: 1px solid $tab-border-color; border-top-width: 0; } .tabitem { display: none; } .tabitem.selected { flex: 1; -webkit-flex: 1; display: flex; display: -webkit-flex; flex-direction: column; -webkit-flex-direction: column; > .inner { overflow: auto; } } .tabbar li a.tabclose { color: #aaa; display: inline-block; position: relative; top: -5px; left: 7px; font-weight: bold; font-size: 8px; line-height: 8px; background: #eee; border: 1px solid #ccc; border-radius: 2px; padding: 0 2px; } .tabicon { width: 16px; height: 16px; display: inline-block; margin: 0 3px 0 0; position: relative; top: 3px; } .choicegrid { display: flex; display: -webkit-flex; flex-direction: column; -webkit-flex-direction: column; } .choicegrid-header { color: $panel-header-text-color; background: $panel-header-base-color; background: -moz-linear-gradient(center top, $panel-header-base-color + #0a0a0a, $panel-header-base-color - #0a0907); background: -webkit-linear-gradient(center top, $panel-header-base-color + #0a0a0a, $panel-header-base-color - #0a0907); display: flex; display: -webkit-flex; flex-direction: row; -webkit-flex-direction: row; flex: none; } .choicegrid-header > div { $up-color: $panel-header-base-color + #111; $down-color: $panel-header-base-color + #222; border: 1px solid; border-color: $up-color $up-color $down-color $down-color; flex: 1; -webkit-flex: 1; padding: 3px 5px; font-size: 11px; height: 20px; } .choicegrid-body { flex: 1; -webkit-flex: 1; background: #fff; color: #000; overflow: auto; } .choicegrid-body > div { display: flex; display: -webkit-flex; flex-direction: row; -webkit-flex-direction: row; cursor: default; border: solid transparent; border-width: 1px 0; border-bottom-color: #ddd; } .choicegrid-body > div:nth-child(even) { background-color: #fafafa; } .choicegrid-body > div:hover { background-color: #eee; } .choicegrid-body > div.selected { background-color: $select-base-color; color: $select-text-color; border: 1px dotted #333; } .choicegrid-body > div > div { flex: 1; -webkit-flex: 1; padding: 3px 5px; } .choice-radiogroup, .choice-checkboxgroup { margin: 0; padding: 0; } .choice-radiogroup li, .choice-checkboxgroup li { list-style: none; } .choice-list { margin: 0; border: 1px solid $select-base-color; display: flex; display: -webkit-flex; overflow: auto; flex-direction: column; -webkit-flex-direction: column; align-items: stretch; -webkit-align-items: stretch; } .choice-list-option { border: solid $select-base-color; border-width: 0 0 1px 0; padding: 5px 10px; flex-shrink: 0; -webkit-flex-shrink: 0; &:last-child { border-width: 0; } } .choice-list-option.selected { background-color: $select-base-color; color: $select-text-color; } .choicetree { overflow: auto; min-width: 150px; -webkit-min-width: 150px; min-height: 100px; -webkit-min-height: 100px; background: #fff; color: #000; ol { margin: 5px 0 0 20px; padding: 0; } li { position: relative; margin: 0 0 2px -15px; list-style: none; input { position: absolute; top: 0; left: 0; margin-left: 0; opacity: 0; z-index: 2; cursor: pointer; height: 1em; width: 1em; + ol { margin: -15px 0 0 -44px; display: block; height: 1em; background: url(img/toggle-small-expand.png) 42px -3px no-repeat; > li { display: none; margin-left: -24px !important; padding-left: 1px; } } &:checked + ol { margin: -20px 0 0 -44px; padding: 20px 0 0 80px; height: auto; background: url(img/toggle-small.png) 42px 0 no-repeat; > li { display: block; margin: 0 0 2px; &:last-child { margin: 0 0 1px; } } } } &.leaf > label { background-position: 16px 0px; background-repeat: no-repeat; } &.selected > label { font-weight: bold; } label { cursor: pointer; display: block; white-space: nowrap; font-size: 12px; padding-left: 37px; background-color: #fff; background-position: 15px 1px; background-repeat: no-repeat; } label.default-folder { background-image: url('img/folder-horizontal.png'); } label.default-leaf { background-image: url('img/document.png'); } } } .toolbar { display: flex; display: -webkit-flex; flex-direction: row; -webkit-flex-direction: row; justify-content: flex-start; -webkit-justify-content: flex-start; align-items: center; -webkit-align-items: center; margin: 0; padding: 2px 5px; background: $canvas-base-color; background: -moz-linear-gradient(center top, $canvas-base-color + #0a0a0a, $canvas-base-color - #0a0907); background: -webkit-linear-gradient(center top, $canvas-base-color + #0a0a0a, $canvas-base-color - #0a0907); > .menu-item > a { background-image: url('img/menu-down.png'); background-repeat: no-repeat; background-position: 95% center; } } .menu-item { display: block; position: relative; border: 1px solid transparent; margin: 1px 0; &:hover { > .menu { display: block; } } a { font-size: 8pt; background: -moz-linear-gradient(top, $button-base-color + #101010, $button-base-color); background: -webkit-linear-gradient(top, $button-base-color + #101010, $button-base-color); background-repeat: none; border: 1px solid ($button-base-color - #333); border-radius: 3px; text-decoration: none; float: left; color: #000; padding: 4px 20px 4px 10px; } } .submenu-item { float: left; position: relative; &:hover { > a { background: #ddd; } > .menu { display: block; } } } .menu { z-index: 10; top: 23px; margin: 0; padding: 0; display: none; position: absolute; background: #eee; box-shadow: 0 5px 5px rgba(0,0,0,0.5); border: 1px solid ($button-base-color - #333); a { border: none; border-radius: 0; min-width: 100px; padding: 5px; height: 10px; height: auto; line-height: 1; display: block; float: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .menu { top: 0; left: 99%; margin: 2px 0 0 -2px; } .submenu-item { float: none; margin: 0; padding: 0; display: block; border-top: 1px solid #efefef; border-bottom: 1px solid #ddd; } } .vsplitter, .hsplitter { background-color: $panel-header-base-color + #222; flex-shrink: 0; -webkit-flex-shrink: 0; align-self: stretch; -webkit-align-self: stretch; &:hover { background-color: $panel-header-base-color; } } .vsplitter { height: 5px; cursor: row-resize; } .hsplitter { width: 5px; cursor: col-resize; }