/* fix fonts */
.jsPanel,
.jsPanel .jsPanel-hdr,
.jsPanel .jsPanel-content,
#jsPanel-replacement-container .jsPanel-replacement, 
.jsPanel-minimized-box .jsPanel-replacement, 
.jsPanel-minimized-container .jsPanel-replacement {
    font-family: sans-serif;
}

/* panel status modifiers */
.jsPanel.max-fixed {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    position: fixed;
}
.jsPanel.maximized > .jsPanel-hdr .jsPanel-headerlogo,
.jsPanel.maximized > .jsPanel-hdr .jsPanel-titlebar {
    pointer-events: none;
}
/* control icons */
.jsPanel-headerbar {
    padding: 2px;
}
.jsPanel-title {
    font-size: 15px;
    margin: 0 5px 0 7px;
}
.jsPanel-headerlogo,
.jsPanel-controlbar {
    min-height: 26px;
    min-width: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.jsPanel-headerlogo i,
.jsPanel-headerlogo span {
	font-size: 20px;
}
.jsPanel-btn {
    display: flex;
    justify-content: center;
    align-items: center;
}
.jsPanel-controlbar .sb-ctrl-buttons {
    display: flex;
    flex: 1 1 auto;
}
.jsPanel-controlbar .jsPanel-btn {
    border-radius: 13px;
    text-align: center;
    min-width: 24px;
    min-height: 24px;
    height: 24px;
}
.jsPanel-controlbar .jsPanel-btn span {
    padding: 0 0 0 0 !important;
    width: auto !important;
    height: auto !important;
    display: inline-block;
}
.jsPanel-controlbar .jsPanel-btn span.material-icons {
    font-size: 16px !important;
}
/* replaced by material icons */
.custom-control-icon.custom-close::before{
    content: "×";
    /*content: url(../../images/close16x16.png);*/
	padding: 0 4px;
    font-size: 20px;
	/*vertical-align: middle;*/
}
.custom-control-icon.custom-maximize::before{
    content: "\025FB";
	padding: 0 4px;
    font-size: 20px;
}
.custom-control-icon.custom-normalize::before{
    content: "\029C9";
	padding: 0 4px;
    font-size: 15px;
}
.custom-control-icon.custom-minimize::before {
    content: "\02212";
	padding: 0 4px;
    font-size: 20px;
}
.custom-control-icon.custom-smallify::before{
    content: "\025B4";
	padding: 0 4px;
    font-size: 20px;
}
.custom-control-icon.custom-unsmallify::before{
    content: "\025BE";
	padding: 0 4px;
    font-size: 20px;
}

/* panel border shadow */
.jsPanel-depth-3 {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.33), inset 0px 0px 0px 1px rgba(255, 255, 255, 0.12);
    /*border: 1px solid #fff;*/
}
.jsPanel-content {
    border: 1px solid transparent !important;
    flex-basis: 100%;       /* safari fix */
}
/*.selbach-pm-container-panel > .jsPanel-content {
}*/
.flat.jsPanel-depth-3,
.flat-framed.jsPanel-depth-3,
.snapped.jsPanel-depth-3 {
    box-shadow: none;
}
/*.flat-framed.jsPanel-depth-3,
.snapped.jsPanel-depth-3 {
    box-shadow: none;
    border: 1px solid #eee;
}*/
.flat-framed.jsPanel-depth-3 > .jsPanel-content,
.snapped.jsPanel-depth-3 > .jsPanel-content {
    /*box-shadow: inset 0px 0px 0px 1px #eee;*/
    border: 1px solid #eee !important;
    /*border-color: #eee !important;*/
    /*outline: 1px solid #eee;
    outline-offset: -1px;*/
}
.jsPanel-content.highlight {
    /*border: 1px solid #0f0 !important;
    outline-color: #0f0;*/
    outline: 3px solid rgba(100, 100, 100, 0.5);
    outline-offset: -2px;
}
.flat-framed.jsPanel-depth-3 > .jsPanel-content.highlight,
.snapped.jsPanel-depth-3 > .jsPanel-content.highlight {
    /*box-shadow: inset 0px 0px 0px 1px #eee;*/
    border-color: #0f0 !important;
    outline-color: #0f0;
    /*outline-offset: -3px;*/
}
.selbach-pm-master-container .selbach-pm-main-app .jsPanel-content {
    border: 0 !important;
}

/* header overflow - we currently need overflow for the grid selector :-/
.jsPanel-headerbar {
    overflow: hidden;
}
*/

/* header buttons */
.sb-header-custom-menu-btn-1 {
    display: none !important;
}
.sb-header-custom-menu-btn-2 {
    display: none !important;
}
.jsPanel-btn-smallify.smallified {
    display: none !important;
}
/* Header buttons smallified */
.jsPanel-hdr.smallified .jsPanel-titlebar {
    display: none;
}
.jsPanel-controlbar {
    position: relative;
    margin: 0;
}
.jsPanel-hdr.smallified .jsPanel-controlbar .jsPanel-btn:not(.selbach-header-btn):not(.jsPanel-btn-smallify) {
    display: none !important;
}
.jsPanel-hdr .jsPanel-controlbar.ctrl-overflow .sb-header-custom-menu-btn-1,
.jsPanel-hdr.smallified .sb-header-custom-menu-btn-2.smallified {
    display: flex !important;
}

/* panel header (custom class smallified)*/
.jsPanel-hdr.hidden .jsPanel-controlbar {
    display: none;
}
.jsPanel-hdr.hidden .selbach-header-btn {
    display: none;
}
.jsPanel-controlbar.ctrl-overflow .sb-ctrl-buttons {
    display: none;
    position: absolute;
    border: 1px solid;
    border-radius: 3px;
    flex-wrap: wrap;
    flex: 1 1 50px;
    z-index: 200;
    top: 26px;
    left: -1px;
    width: 27px;
}
.jsPanel-controlbar .sb-ctrl-buttons:not(.open) {
    background: transparent !important;
    color: inherit !important;
}
.jsPanel-controlbar.ctrl-overflow .sb-ctrl-buttons.open {
    display: flex;
}
.jsPanel-hdr.smallified .sb-ctrl-buttons {
    display: none;
}
.jsPanel-controlbar.ctrl-overflow .selbach-header-btn {
    /*display: none;*/
}
/*
.w300 .selbach-header-btn,
.w200 .selbach-header-btn,
.w150 .selbach-header-btn {
    display: none;
}
*/
.w150 .jsPanel-controlbar .jsPanel-btn-smallify,
.w150 .jsPanel-controlbar .jsPanel-btn-minimize {
    display: none;
}
.very-small .jsPanel-controlbar .jsPanel-btn-smallify,
.very-small .jsPanel-controlbar .jsPanel-btn-minimize,
.very-small .jsPanel-controlbar .jsPanel-btn-maximize {
    display: none;
}
.jsPanel-hdr.hidden .jsPanel-headerbar {
    min-height: 30px;
}
.jsPanel-hdr.smallified {
    position: absolute;
    top: 5px;
    right: 5px;
    background: #fff;
    color: #000;
    border-radius: 10px;
    border: 1px solid #aaa;
    z-index: 2147483647;
    max-width: 62px;
}
.jsPanel-hdr.smallified.overlay-menu-auto-fade {
    animation: opacityFadeOut 0.5s;
    animation-delay: 5s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}
.jsPanel-hdr.smallified.overlay-menu-auto-fade:hover,
.jsPanel-hdr.smallified.overlay-menu-auto-fade.tmp-disable {
    /*opacity: 1.0;*/
    animation: none;
}
.jsPanel-hdr.smallified.hidden {
    /*opacity: 0.0;*/
    /*display: none;*/
    visibility: hidden;
}
.jsPanel-hdr.smallified .jsPanel-headerbar {
    justify-content: flex-end;
}
.selbach-pm-container-panel > .jsPanel-hdr.smallified { 
    right: auto;
    top: 6px;
    left: 6px;
    /*border-radius: 0 0 10px;*/
    border-radius: 0;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: calc(90% - 3px);
}
/* Smallified header buttons - active in taskbar */
.selbach-pm-taskbar .taskbar-actions .jsPanel-hdr.smallified {
    border: 2px solid currentColor;
    border-radius: 0;
}
/* Overlapping smallified container buttons - this is a bit tricky ... */
.selbach-pm-child-container .selbach-pm-container-panel > .jsPanel-hdr.smallified { 
    /*background: #186b8c;*/
    background: #175d79;
}
.selbach-pm-child-container .selbach-pm-child-container .selbach-pm-container-panel > .jsPanel-hdr.smallified { 
    background: #175d79;
}
.selbach-pm-container-panel.smallified > .selbach-pm-panel-content > .selbach-pm-child-container:not(.selbach-pm-taskbar) .selbach-pm-container-panel.first-panel > .jsPanel-hdr.smallified { 
    top: 32px;
    left: 5px;
}
.selbach-pm-container-panel.smallified > .selbach-pm-panel-content > .selbach-pm-child-container .selbach-pm-container-panel.first-panel.smallified > .selbach-pm-panel-content > .selbach-pm-child-container:not(.selbach-pm-taskbar) .selbach-pm-container-panel.first-panel > .jsPanel-hdr.smallified { 
    top: 58px;
    left: 4px;
}
.selbach-pm-container-panel.smallified > .selbach-pm-panel-content > .selbach-pm-child-container .selbach-pm-container-panel:not(.first-panel).smallified > .selbach-pm-panel-content > .selbach-pm-child-container:not(.selbach-pm-taskbar) .selbach-pm-container-panel.first-panel > .jsPanel-hdr.smallified { 
    top: 32px;
    left: 5px;
}

/* header controls lock */
.selbach-pm-panel > .header-controls-lock {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 15px;
    height: 15px;
    background: #fff;
    color: #000;
    outline: 1px solid #aaa;
    border-radius: 3px;
    font-size: 11px;
    cursor: pointer;
    display: none;
    justify-content: center;
    align-items: center;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
    z-index: 2147483647 !important;
    opacity: 0.25;
    transition: opacity .3s;
}
.selbach-pm-panel.selbach-pm-container-panel > .header-controls-lock {
    top: 6px;
    left: 6px;
    right: unset;
    background: #000;
    color: #fff;
}
.selbach-pm-panel > .header-controls-lock:hover {
    opacity: 1.0 !important;
}
.selbach-pm-panel.controls-locked > .header-controls-lock {
    display: inline-flex;
}
.selbach-pm-panel.controls-locked .jsPanel-hdr.smallified {
    /* NOTE: this will hide all smallified headers for all container children. Keep? */
    display: none;
}
.selbach-pm-panel.selbach-pm-container-panel.controls-locked .selbach-pm-panel .header-controls-lock {
    /* NOTE: this will hide all all locks for all container children. Keep? */
    display: none;
}

/* taskbar */
#jsPanel-replacement-container {
    right: 0;
    left: unset;
}
#jsPanel-replacement-container.left {
    left: 0;
    right: unset;
}
#jsPanel-replacement-container.top {
    top: 0;
    bottom: unset;
}
.selbach-pm-taskbar.vertical .jsPanel-replacement {
    width: 100%;
    max-width: 100%;
}
.selbach-pm-taskbar.floating-tb .jsPanel-replacement {
    flex: 1 1 auto;
    max-width: 100%;
}
.selbach-pm-taskbar .jsPanel-replacement .jsPanel-btn-normalize {
    display: block;
}
.selbach-pm-taskbar .jsPanel-replacement .jsPanel-controlbar {
    display: none;
}
.selbach-pm-taskbar .jsPanel-replacement .jsPanel-titlebar {
    cursor: pointer !important;
}
.selbach-pm-taskbar.vertical .jsPanel-replacement .jsPanel-titlebar {
    max-height: 50px;
    align-items: flex-end;
}
.selbach-pm-taskbar.small-icons .jsPanel-replacement .jsPanel-headerbar {
    justify-content: center;
}
.selbach-pm-taskbar.small-icons .jsPanel-replacement .jsPanel-titlebar {
    display: none;
}
.selbach-pm-taskbar:not(.vertical) .jsPanel-replacement .jsPanel-titlebar {
    flex-basis: auto;
}
.selbach-pm-taskbar .jsPanel-replacement .jsPanel-title {
    white-space: normal;
    font-size: 14px;
    margin: 0 8px 0 4px;
}
.selbach-pm-taskbar .jsPanel-replacement .jsPanel-headerbar {
    min-height: 34px;
    min-width: 41px;
    padding: 3px;
    border: 1px solid #ddd;
}
.selbach-pm-taskbar .jsPanel-replacement .jsPanel-headerlogo {
    cursor: pointer !important;
}
.selbach-pm-taskbar .jsPanel-hdr .jsPanel-controlbar.ctrl-overflow .sb-header-custom-menu-btn-1,
.selbach-pm-taskbar .jsPanel-hdr.smallified .sb-header-custom-menu-btn-2.smallified {
    display: none !important;
}
.selbach-pm-taskbar .jsPanel-hdr.smallified .jsPanel-controlbar {
    display: none;
}
/* taskbar container */
.selbach-pm-container.selbach-pm-taskbar .jsPanel-btn-smallify,
.selbach-pm-container.selbach-pm-taskbar .selbach-header-btn {
    display: none !important;
}
.selbach-pm-container.selbach-pm-taskbar > .jsPanel > .jsPanel-content .jsPanel-hdr {
    visibility: hidden;
}

/* iframe safety overlay */
.jsPanel-content .jsPanel-iframe-overlay {
    background: rgba(0, 0, 0, 0.00);
    cursor: crosshair;
    top: 0;
    left: 0;    /* fix for jsPanel */
}
.selbach-pm-panel.selbach-interface-enabled > .selbach-pm-panel-content > .jsPanel-iframe-overlay {
    display: none;
}

/* resize bars */
.jsPanel-resizeit-handle {
    z-index: 2147483647 !important;
}
.jsPanel-resizeit-handle.jsPanel-resizeit-n {
    height: 12px;
    top: -8px;
}
.jsPanel-resizeit-handle.jsPanel-resizeit-w {
    left: -9px;
    width: 14px;
}
.jsPanel-resizeit-handle.jsPanel-resizeit-s {
    bottom: -9px;
    height: 14px;
}
.jsPanel-resizeit-handle.jsPanel-resizeit-e {
    right: -9px;
    width: 14px;
}
.jsPanel-resizeit-handle.jsPanel-resizeit-ne,
.jsPanel-resizeit-handle.jsPanel-resizeit-sw,
.jsPanel-resizeit-handle.jsPanel-resizeit-nw {
    border-radius: 50%;
}
.jsPanel-resizeit-handle.jsPanel-resizeit-se {
    bottom: -11px;
    height: 23px;
    right: -11px;
    width: 23px;
    border-radius: 50%;
}
.selbach-pm-panel.static > .jsPanel-resizeit-handle,
.selbach-pm-panel.snapped > .jsPanel-resizeit-handle {
    display: none;
}
/* custom resize icon */
body.mobile .selbach-pm-panel:not(.static):not(.snapped) > .jsPanel-resizeit-handle.jsPanel-resizeit-se {
    bottom: -10px;
    height: 36px;
    right: -10px;
    width: 36px;
    border-radius: 50%;
    background: url(../img/ui/resize-handler-gray.svg) no-repeat 12px 12px;
    background-size: 35%;
}
body.mobile .selbach-pm-taskbar .jsPanel-resizeit-handle.jsPanel-resizeit-se {
    display: none;
}
body.mobile .jsPanel-resizeit-handle.jsPanel-resizeit-n,
body.mobile .jsPanel-resizeit-handle.jsPanel-resizeit-ne,
body.mobile .jsPanel-resizeit-handle.jsPanel-resizeit-nw {
    display: none;
}
/* active resize handle  */
.jsPanel-resizeit-handle:active,
.jsPanel-resizeit-handle.active {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    background: transparent !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
}