/*
Theme Name: Ploter
Text Domain: twentytwenty
Version: 1.0
Author: Jiří Mlnařík
*/

/*
dark green = #333333
light green = #333333
*/

* {
}

html, body {
}

#mainWrapper {
    margin:0 auto;
    background:white;
    text-align:left;
    //max-width:1200px;
    min-height:100vh;
}

.fontPlus {
    font-size:1.25em;
}

/******************************
POPUP 
*******************************/

#popupShader {
    z-index:999;
    position:fixed;
    top:0;
    bottom:0;
    left:0;
    right:0;
    background:rgba(0,0,0, 0.7);
    display:none;
    opacity:0;
}

#popupFrame {
    position:fixed;
    left:10vw;
    right:10vw;
    top:10vw;
    background:#E1e1e1;
    border:1px solid #515151;
    //border-radius:0em;
    color:rgb(34, 34, 34);
}

#popupHeader {
    height:2em;
    line-height:2em;
    text-align:center;
}

#popupCloser {
    float:right;
    height:2em;
    width:2em;
    cursor:pointer;
}

#popupCloser:hover {
    background:#ff9900;
}

#popupCloser img {
    margin-top:0.25em;
    height:1.5em;
    width:1.5em;
}

#popupContent {
    padding:1em;
    text-align:center;
}

#waiter {
    width:5em;
    height:5em;
    position:fixed;
    top:calc(50vh - 2.5em);
    left:calc(50vw - 2.5em);
    z-index:1001;
    display:none;
}

#waiter img {
    width:5em;
    height:5em;
}

#waiter.rotated img {
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-direction: normal;
  animation-name: waiterAnim;
}

@keyframes waiterAnim {
  0.00% { transform:rotate(0); }
  100% { transform:rotate(360deg); }
}

.validator {
    display:inline-block;
    border:1px solid #aaa;
    cursor:pointer;
    margin:0 0.5em;
    padding:0 0.5em;
    background:#eee;
}

/******************************
WARNING
*******************************/

#warning {
    z-index:1001;
    position:fixed;
    left:10vw;
    right:10vw;
    top:10vw;
    background:#FFAAAA;
    border:1px solid red;
    display:none;
    opacity:0;
}

#warningHeader {
    height:2em;
    line-height:2em;
    text-align:center;
}

#warningCloser {
    float:right;
    height:2em;
    width:2em;
    cursor:pointer;
}

#warningCloser:hover {
    background:#ff9900;
}

#warningCloser img {
    margin-top:0.25em;
    height:1.5em;
    width:1.5em;
}

#warningContent {
    padding:1em;
    text-align:center;
}

span.warning {
    margin-left:1em;
    display:inline-block;
    width:1.25em;
    height:1.25em;
    border-radius: 1em;
    color:red;
    background:yellow;
    padding:0;
}

/******************************
LICENCE MENU
*******************************/

ul#licenceMenu {
    list-style:none;
    margin:0;
    padding:0;
    font-size:0.75em;
}

ul#licenceMenu li {
    float:left;
}

ul#licenceMenu li.activeChoice, ul#licenceMenu li.passiveChoice:hover {
    background:#ff9900;
}

ul#licenceMenu li.activeChoice a, ul#licenceMenu li.passiveChoice a {
    display:block;
    text-decoration:none;
    color:#ffffff;
    padding-top:3em;
    padding-bottom:0.5em;
    padding-left:1em;
    padding-right:1em;
}

ul#licenceMenu li.activeChoice a, ul#licenceMenu li.passiveChoice:hover a {
    color:black;
}

ul#licenceMenu::after {
    content: "";
    display:block;
    height:1px;
    line-height:1px;
    overflow:hidden;
    clear:both;
}

/******************************
USER MENU
*******************************/

ul#userMenu::before {
    content: "";
    display:block;
    height:2em;
    line-height:2em;
    overflow:hidden;
    clear:both;
}

ul#userMenu {
    list-style:none;
    margin:0;
    padding:0;
    font-size:0.75em;
}

ul#userMenu li {
    float:right;
    margin-left:1em;
}

ul#userMenu li a {
    display:block;
    text-decoration:none;
    color:rgb(34, 34, 34);
    padding-top:0.5em;
    padding-bottom:0.5em;
    padding-left:1em;
    padding-right:1em;
    font-weight:bold;
}

ul#userMenu li a:hover {
    background:rgb(34, 34, 34);
    color:#D02129;
}

ul#userMenu::after {
    content: "";
    display:block;
    height:1px;
    line-height:1px;
    overflow:hidden;
    clear:both;
}

ul#userMenu li a.menuicon {
    padding-left:2.25em;
    background-position:0.25em center;
    background-size:1.5em 1.5em;
    background-repeat: no-repeat;
}

ul#userMenu li a.menuicon-basket {
    background-image:url(images/ico_shopping_basket.png);
}

ul#userMenu li a.menuicon-userlogged {
    background-image:url(images/ico_user_logged.png);
}

ul#userMenu li a.menuicon-usernologged {
    background-image:url(images/ico_user_nologged.png);
}

ul#userMenu li a.menuicon-configure {
    background-image:url(images/ico_config.png);
}

ul#userMenu li a.menuicon-others {
    background-image:url(images/ico_others.png);
}

ul#userMenu li a.menuicon-admin {
    background-image:url(images/ico_admin.png);
}

ul#userMenu li a.menuicon-users {
    background-image:url(images/ico_users.png);
}

ul#userMenu li a.menuicon-settings {
    background-image:url(images/ico_user_settings.png);
}

ul#userMenu li a.menuicon-gdpr {
    background-image:url(images/ico_gdpr.png);
}

ul#userMenu li a.menuicon-terms {
    background-image:url(images/ico_terms_of_use.png);
}

ul#userMenu li a.menuicon-logout {
    background-image:url(images/ico_logout.png);
}

ul#userMenu li a.admin {
    border-radius:1em;
    border-left:2px solid red;
    border-right:2px solid red;
}

ul#usermenu li ul {
    display:none;
    position:absolute;
    list-style:none;
    margin:0;
    padding:0;
    background:rgb(34, 34, 34);
    margin-top:2em;
    z-index:10000;
}

ul#usermenu li:hover ul {
    display:block;
}

ul#usermenu li ul li {
    display:block;
    margin:0;
    padding:0;
    float:none;
}

ul#userMenu li ul li a {
    display:block;
    height:2em;
    line-height:2em;
    padding:auto 2em;
    color:rgb(34, 34, 34);
}

/******************************
SYSTEM MENU FRAME
*******************************/

#systemMenuFrame {
    padding-left:2em;
    padding-right:2em;
    height:92px;
    display:block;
    background:white;
    color:rgb(34, 34, 34);
}

#swapmenu {
    position:absolute;
    right:0.5em;
    top:0.5em;
    width:2em;
    height:2em;
    display:none;
    cursor:pointer;
}

#swapmenu img {
    width:2em;
    height:2em;
}


/******************************
HEADER
*******************************/

.userlogo img {
    margin-top:1em;
    max-height:2em;
    max-width:10em;
    width:auto;
    height:auto;
}


/******************************
HEADINGS
*******************************/

h1, h2, h3 {
    font-weight:normal;
}

h1.homeTop {
    position:absolute;
    /*font-size:2.2vw;
    margin-top:20px;*/
    width:calc(100% - 23em);
    text-align: left;
}

/******************************
PIE 
*******************************/

@property --p{
    syntax: '<number>';
    inherits: true;
    initial-value: 1;
  }
  
  /*.piebackground {
    inset:0;
    background:
      radial-gradient(farthest-side, #666666 98%,#0000) top/22px 22px no-repeat,
      conic-gradient(#666666 100%,#0000 0);
    -webkit-mask:radial-gradient(farthest-side,#0000 calc(99% - 22px),#000 calc(100% - 22px));
            mask:radial-gradient(farthest-side,#0000 calc(99% - 22px),#000 calc(100% - 22px));
  }*/

  .piebackground {
    width:150px;
    margin:0 auto;
  }

  .pie {
    --p:20;      /* the percentage */
    --b:22px;    /* the thickness */
    --c:darkred; /* the color */
    --w:130px;   /* the size*/
    
    width:var(--w);
    aspect-ratio:1/1;
    position:relative;
    display:inline-grid;
    margin:5px;
    place-content:center;
    font-size:25px;
    font-weight:bold;
    font-family:sans-serif;
    transition:all 1s;
  }
  .pie:before,
  .pie:after {
    content:"";
    position:absolute;
    border-radius:50%;
  }
  .pie:before {
    inset:0;
    background:
      radial-gradient(farthest-side,var(--c) 98%,#0000) top/var(--b) var(--b) no-repeat,
      conic-gradient(var(--c) calc(var(--p)*1%),#0000 0);
    -webkit-mask:radial-gradient(farthest-side,#0000 calc(99% - var(--b)),#000 calc(100% - var(--b)));
            mask:radial-gradient(farthest-side,#0000 calc(99% - var(--b)),#000 calc(100% - var(--b)));
  }
  .pie:after {
    inset:calc(50% - var(--b)/2);
    background:var(--c);
    transform:rotate(calc(var(--p)*3.6deg - 90deg)) translate(calc(var(--w)/2 - 50%));
  }
  .animate {
    animation:p 1s .5s both;
  }
  .no-round:before {
    background-size:0 0,auto;
  }
  .no-round:after {
    content:none;
  }
  @keyframes p{
    from{--p:0;}
  }
  
  .pienumber {
    position:absolute;
    text-align:center;
    height:80px;
    line-height:80px;
    width:80px;
    margin-top:25px;
    margin-left:25px;
    border-radius:50px;
    background:#666666; 
  }

  .pieArrow {
    position:absolute;
    width:15px;
    height:13.12px;
    opacity:1;
    z-index:1;
  }

  .pieArrow img {
    width:15px;
    height:13.12px;
  }

/******************************
FORM 
*******************************/

#projectbase {
    background:#E1E1E1;
}

form {
    width:100%;
}

form .form-line {
    clear:both;
    margin-top:0.5em;
    text-align:center;
}

form .form-line .label {
    display:inline-block;
    text-align:left;
    margin-right:2%;
}

form .form-line .value {
    display:inline-block;    
    text-align:left;
}

form .form-line .value .small {
    font-size:0.75em;
}

form .required, input.required {
    border-right:2px solid red;
}

form .missing, input.missing {
    background:#FFAAAA;
}

.largeFont {
    font-size:1.2em !important;
}

input, select.inputLike {
    height:2.5em;
    line-height:2.5em;
    border:1px solid #808080;
    border-radius:0.2em;
    padding-left:1em;
    padding-right:1em;
}

#subsummary input {
    height: 2em;
    line-height:2em;
    padding-left:0.2em;
    padding-right:0.2em;
}

input[type="checkbox"] {
    height:1em;
    line-height:2.5em;
}

textarea,
input[type="text"],
input[type="password"],
select.inputLike {
    width:30em;
    max-width:100%;
}

input.passive {
    background: #eee;
    color:#999;
}

textarea.without5em,
input[type="text"].without5em,
input[type="password"].without5em,
select.inputLike.without5em {
    width:25em;
}

textarea.without10em,
input[type="text"].without10em,
input[type="password"].without10em,
select.inputLike.without10em {
    width:15em;
}

input.smallInput {
    height:1.75em;
    line-height:1.75em;
    border:1px solid #808080;
    border-radius:0.2em;
    padding-left:0.5em;
    padding-right:0.5em;
}

input.lowtext  {
    height:1.75em;
    line-height:1.75em;
    width:20em;
    max-width:80%;
}

.max60perc, .max60perc option {
    max-width:80%;
}

.max20em, .max20em option {
    max-width:20em;
}


select.inputLike {
    background:white;
}

form.fullwidth input,
form.fullwidth select {
    width:100%;
}

form #ComponentBindSelList option {
    display:none;
}

form #ComponentBindSelList option.selected {
    display:block;
}

input.bgOrange {
    background:#D02129;
    cursor:pointer;
    color:whtie;
}

form .formline {
    margin-bottom:0.5em;
}

.objectFiles ul {
    list-style:none;
    margin:0;
    padding:0;
}

.objectFiles ul li:nth-child(2n) {
    background:#eee;
}

.objectFiles ul li a {
    color:rgb(34, 34, 34);
    cursor:pointer;
    text-decoration:none;
}

.objectFiles ul li a:hover {
    color:#ff9900;
}

.filebuttons a {
    display:inline-block;
    width:1.5em;
    height:1.5em;
    line-height:1.5em;
    text-align:center;
    background:#bbb;
    margin:0.1em;
}

.filebuttons a.active {
    background:#cc6600;
}

.inlineico {
    width:1em;
    height:1em;
}
.inlineico.size2 {
    width:2em;
    height:2em;
}

.ico {
}

.ico img {
    height:1.25em;
    vertical-align: top;
}

.ico_small img {
    height:1.00em;
    vertical-align: middle;
}

/******************************
BUTTON 
*******************************/

a.button {
    display:inline-block;
    text-align:center;
    text-decoration:none;
    color:white;
    padding-top:0.5em;
    padding-bottom:0.5em;
    padding-left:1em;
    padding-right:1em;
    margin-top:1em;
    margin-left:1em;
    margin-right:1em;
    min-width:10em;
    border-radius:0.3em;
    background:#D02129;
    cursor:pointer;
}

a.button.red {
    background: #D02129;
    color:white;
}

a.button.small {
    display:inline-block;
    text-decoration:none;
    color:white;
    padding-top:0.25em;
    padding-bottom:0.25em;
    padding-left:1em;
    padding-right:1em;
    margin-top:1em;
    margin-left:1em;
    margin-right:1em;
    min-width:5em;
    border-radius:0.3em;
    background:#D02129;
}

a.button.ultrasmall {
    display:inline-block;
    text-decoration:none;
    color:white;
    padding:0;
    margin:0;
    min-width:1em;
    border-radius:0.3em;
    height:1.6em;
    line-height:1.6em;
    background:#D02129;
}

a.button.graph {
    display:inline-block;
    text-decoration:none;
    background:#ccc;
    padding:0.5em;
    margin:0;
    min-width:1em;
    border-radius:0.3em;
    line-height:1.6em;
}

a.button.graph img {
    width:2em;
    height:auto;
    vertical-align:middle;
}

a.button.graph.active {
    background:#0F0;
}

a.button.button-right {
    display:block;
    float:right;
    padding-left:2em;
    padding-right:1em;
    font-weight:bold;
}

a.button-add {
    background-image: url(images/polozka-pridat.png) !important;
    background-size: 1em 1em !important;
    background-repeat: no-repeat !important;
    background-position: 0.5em 0.3em !important;
}

a.button.ultrasmall img {
    width:1em;
}

a.button.resetbtn,
a.button.savebtn {
    background: none;
}

a.button.resetbtn,
a.button.resetbtn:hover,
a.button.savebtn,
a.button.savebtn:hover {
    background-position: center center;
    background-size: 1em auto;
    background-repeat: no-repeat;
    border-radius:2em;
}

a.button.resetbtn,
a.button.resetbtn:hover {
    background-image: url(images/ico_reset.png);
}

a.button.savebtn,
a.button.savebtn:hover {
    background-image: url(images/ico_save.png);
}

a.button.resetbtn:hover,
a.button.savebtn:hover {
    background-color:none;
    box-shadow: 0 0 5px #aaa;
}

a.button.orange {
    background:#D02129;
    color:white;
}

a.button:hover {
    background:#aaa;
}

#projectbase a.button {
    background:#D02129;
    color:white;
}

a.button.fullButton {
    width: 100%;
    min-width:auto;
    margin-left:0;
    margin:0;
    padding-left:0;
    padding-right:0;    
}

a.button.smallerFont {
    font-size:0.75em;
}

.onRightButtons {
    display:block; 
    float:right;
}

.onLeftButtons {
    display:block; 
    float:left;
} 

.onRightButtons a.button, .onRightButtons a.button.small
.onLeftButtons a.button, .onLeftButtons a.button.small {
    margin-top:0;
} 

/******************************
BUTTON BLOCK
*******************************/

ul#buttonBlock {
    list-style:none;
    margin:0;
    padding:0;
    opacity:1;
    font-size:1.25em;
    position:absolute;
    z-index:2;
    margin-top:1em;
}

ul#buttonBlock li {
    float:left;
    border:1px solid #515151;
    border-right:1px solid white;
}

ul#buttonBlock li {
    background:#E1E1E1;
}

ul#buttonBlock li:first-child {
    border-top-left-radius:2em;
    border-bottom-left-radius:2em;
}

ul#buttonBlock li:last-child {
    border-top-right-radius:2em;
    border-bottom-right-radius:2em;
    border-right:none;
}

ul#buttonBlock li a {
    display:block;
    text-decoration:none;
    color:rgb(34, 34, 34);
    padding-top:0.5em;
    padding-bottom:0.5em;
    padding-left:1em;
    padding-right:1em;
}

ul#buttonBlock li:hover {
    background:white;
}

/******************************
FADE GALLERY
*******************************/

.fadeGallery {
    display: block;
    position:relative;
    width:100%;
}

.fadeGallery div {
    max-width:90%;
    height:auto;
    position:absolute;
    opacity: 0;
    transition: all 1s;
}

.fadeGallery div.active {
    opacity: 1;
}

.fadeGallery div img {
    max-width:100%;
    max-height:70vh;
    height:auto;
}

.fadeGallery div p {
    text-align: center;
}

/******************************
MAIN FRAME
*******************************/

#mainFrame {
    margin-left:20em;
    //padding-left:2em;
    //padding-right:2em;
}

.partFrame {
    padding:0.5em;
    border:1px solid black;
    margin-bottom:0.5em;
}

.partFrame h3 {
    margin:0 0 0.2em 0;
}

.frameLeft, .frameHomeLeft, .frameLeftThin {
    float:left;
    width:47.5%;
}

.frameRight, .frameHomeRight, .frameRightThin {
    float:right;
    width:47.5%;
}

.frameQuarter {
    float:left;
    width:23%;
    margin-right:2%;
}

.frameHalf, .frameHalfIn {
    float:left;
    width:48%;
}

/******************************
LEFT FRAME, logo
*******************************/

#leftFrame {
    position:fixed;
    width:20em;
    top:0;
    bottom:0;
    background:rgb(34, 34, 34);
}

#leftFrame #topLogo {
    text-align: center;
    background:white;
    padding:1em 0;
}

#leftFrame #topLogo img {
    width:80%;
}

.leftfooterlogo { /* 893/248 */
    margin-top:2em;
}

.leftfooterlogo img {
    width:12em;
    height:3.34em;
}

.leftfooterlogo .withico span,
.button.withico span {
    display: inline-block;
    text-align: left;
    width:2em;
}

.leftfooterlogo .withico img,
.button.withico img {
    height:1em;
    width:auto;
}

.onlyico img {
    margin-left:0.5em;
    height:1.2em;
    width:auto;
    vertical-align: bottom;
}

#leftFrame .title {

}

#leftFrame ul, #leftFrame ul li {
    list-style:none;
    display:block;
    width:100%;
    margin:0;
    padding:0;
}

#leftFrame .passiveChoice {
}

#leftFrame .activeChoice {
}

#leftFrame a {
    text-decoration: none;
    color:rgb(34, 34, 34);
}

#leftFrame a:hover {
    color:#0F0;
}

#leftFrame h2 {
    padding-left:1.3em;
}

#leftFrame .title, #leftFrame li.passiveChoice, #leftFrame li.activeChoice {
    height:2em;
    line-height:2em;
    margin-bottom:1em;
    text-decoration: none;
}

#leftFrame li.passiveChoice a, #leftFrame li.activeChoice a {
    text-decoration: none;
    color:rgb(34, 34, 34);
    padding-left:2em;
    display:block;
}

#leftFrame li.activeChoice, #leftFrame li.passiveChoice:hover {
    background:#ff9900;
}

#leftFrame #bottom {
    text-align:center;
    /*position:absolute;
    padding-bottom:1em;
    bottom:0;
    */
    margin-top:3em;
}

#leftFrame #bottom img {
    width:60%;
}

#leftFrame #bottom p {
    text-align: center;
}

#leftFrame #bottom p a span {
    color:#0F0;
    font-weight: bolder;
}

#leftFrame #bottomContact {
    text-align:left;
    margin:0 10%;
    color:rgb(34, 34, 34);
}

/******************************
FRAME OPENER
*******************************/

.frameOpener {
    position:fixed;
    width:3em;
    height:5em;
    text-align:center;
    display:none;
    cursor:pointer;
    opacity:0.25;
    bottom:0;
}

.frameOpener img {
    margin-top:1.5em;
    width:2em;
    height:2em;
}

.frameOpenerL {
    left:0;
    background:rgb(34, 34, 34);
    border-top-right-radius:0.5em;
    border-bottom-right-radius:0.5em;
}

.frameOpenerR {
    right:0;
    border-top-left-radius:0.5em;
    border-bottom-left-radius:0.5em;
}

/******************************
MAIN CONTENT
*******************************/

#mainContent {
    padding-left:2em;
    padding-right:2em;
    padding-bottom:2em;
}

/******************************
TABLE
*******************************/

#mainContent table, #hint table {
    border-collapse:collapse;
    width:100%;
    max-width:100%;
}

.absorberLineLink {
    text-decoration: none;
    color:black;
}

#mainContent table td, #mainContent table th,
#hint table td, #hint table th {
    font-size:0.75em;
    padding:0.5em 0.5em;
    text-align:left;
    color:rgb(34, 34, 34);
}

#mainContent table td,
#hint table td {
    color:black;
}

#mainContent table th,
#hint table th {    
    border:1px solid rgb(34, 34, 34);
}

#mainContent thead tr,
#hint .cd-panel_container thead tr {
    background:#444444;/*#333333;*/
    color:black;
}

#mainContent table.bordered td,
#mainContent table.bordered th{
    border:1px solid black; 
}

#mainContent table.config td,
#mainContent table.config th {
    padding-top:0.1em;
    padding-bottom:0.1em;
}

#mainContent tr.nogreen th, 
#mainContent tr.nogreen td {
    padding-bottom:0.5em;
}

#mainContent thead tr.nogreen,
#hint .cd-panel_container thead tr.nogreen {
    background:white;;
    color:black;
}

#mainContent thead tr.nogreen td,
#mainContent thead tr.nogreen th {
    border:none;
}

#mainContent tbody tr,
#hint tbody tr {
    background:#F2F2F2;
    border-bottom:1px solid #333333; 
}

#mainContent tbody tr:hover, #mainContent tbody tr.markedLine {
    background:#D2D2D2;
}

#mainContent tbody tr:hover + tr.hoverToo {
    background:#D2D2D2;
}

#mainContent tbody tr:has(+ .hoverToo) {
    background:#D2D2D2;
}

#mainContent table th {
    background:#444444;
}

#mainContent table.nohover tbody tr:hover, #mainContent table.nohover tbody tr.markedLine {
    background:inherit;
}

#mainContent tbody tr.technology:hover,
#mainContent tbody tr.shim:hover
 {
    background:inherit;
}

#mainContent table th.sortable {
    cursor:pointer;
}

#mainContent table th.sortable:hover {
    color:yellow;
}

#mainContent table .order {
    font-weight:bold;
    margin-left:0.5em;
}

#mainContent table .orderPassive {
    color:#888;
}

#mainContent table .order i, #mainContent table .order b {
    font-style: normal;
}

#mainContent table .order i {
    display:none;
}


#mainContent table th:hover > .order b {
    display:none;
}

#mainContent table th:hover > .order i {
    display:inline;
}

#mainContent table tr.default-val {
    background:#ddd;
}

.tableNavi {
    font-size:0.85em;
    height:2em;
    line-height:2em;
    margin-bottom:0.25em;
}

.tableNavi a {
    display:inline-block;
    height:1.8em;
    line-height:1.8em;
    padding-left:1em;
    padding-right:1em;
    border:1px solid black;
    border-radius:0.5em;
    text-decoration: none;
    color:black;
    background:#E1E1E1;
}

.tableNavi a.activePage {
    background:#D02129;
    color:white;
}

#mainContent table.roomtable tr {
    border-bottom:none;
}

#mainContent table.roomtable .heading td, 
#mainContent table.roomtable .heading th{
    background:#555555;
    text-align:center;
    font-weight:normal;
}

#mainContent table.roomtable .heading td.noborderbottom, 
#mainContent table.roomtable .heading th.noborderbottom {
    border-bottom: none;
}

#mainContent table.noborder tr, 
#mainContent table.noborder th, 
#mainContent table.noborder td {
    border: none;
}

#mainContent table.nohover tr:hover,
#mainContent table.nohover td:hover,
#mainContent table.nohover th:hover {
    background: inherit !important;
}

#mainContent table.roomtable .heading td.nobordertop, 
#mainContent table.roomtable .heading th.nobordertop {
    border-top: none;
}

#mainContent table.roomtable .roomtitle td, 
#mainContent table.roomtable .roomtitle th {
    background:#404041;
    text-align:center;
    font-weight:bold;
    color:rgb(34, 34, 34);
}

#mainContent table.roomtable .roomtitle td a,
#mainContent table.roomtable .roomtitle th a {
    color:rgb(34, 34, 34);
}

#mainContent table tr.bordertop {
    border-top:1px solid #404041;
}

#mainContent table.projectHeader {
    margin:1em 0;
}

#mainContent table.projectHeader tr, 
#mainContent table.projectHeader tr td,
#mainContent table.projectHeader tr th {
    border:none !important;
    text-align: center;
    padding:0;
} 

#mainContent table.projectHeader tr:hover, 
#mainContent table.projectHeader tr td:hover,
#mainContent table.projectHeader tr th:hover {
    background:inherit;
} 

#mainContent table.projectHeader .numbers td {
    vertical-align: middle;
}

#mainContent table.projectHeader .number {
    font-size:2.5em;
    display:inline-block;
    width:2em;
    height:2em;
    line-height: 2em;
    font-weight: bold;
    text-align: center;
    background:white;
    border:2px solid #aaa;
    color:#aaa;
    border-radius:3em;
}

#mainContent table.projectHeader .active .number,
#mainContent table.projectHeader .lastactive .number {
    background:#cc6600;
    color:rgb(34, 34, 34);
    transition: all 0.3s;
    cursor: pointer;
}


#mainContent table.projectHeader .active .number:hover,
#mainContent table.projectHeader .lastactive .number:hover {
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

#mainContent table.projectHeader .numbers td.numberdock {
    background: url(images/progress-gray.png) center center;
    background-repeat: repeat-x;
}

#mainContent table.projectHeader .progress td,
#mainContent table.projectHeader .progress td:hover,
#mainContent table.projectHeader .numbers td.active {
    background: url(images/progress-orange.png) center center;
    background-repeat: repeat-x;
}

#mainContent table.projectHeader .numbers td.lastactive {
    background: url(images/progress-half.png) center center;
    background-repeat: repeat-x;
}

#mainContent table.projectHeader .labels td {
    padding:0.5em 0 0 0;
    font-weight: bold;
}

table.roomtable {
    margin-bottom:1em;
}

table.roomtable tr.technology {
    font-weight:bold;
}

#mainContent table.summary thead tr {
    background: inherit;
    color:black;
}

#mainContent table.summary tbody tr:hover {
    background: inherit;
}

#mainContent table.summary .imageCell {
    width:200px !important;
}

#mainContent table.summary .descCell{
    width:calc(40% - 50px) !important;
}

#mainContent table.summary .amountCell, 
#mainContent table.summary .unitCell, 
#mainContent table.summary .priceCell, 
#mainContent table.summary .tPriceCell {
    width:calc(15% - 30px) !important;
}

.editable {
    cursor:pointer;
}

.editable:hover {
    background: linear-gradient(to right, #ddd, #eee);
}

em.editable {
    font-style: normal;
}

.resetVal {
    display:inline-block;
    width:1em;
    height:1em;
    cursor:pointer;
}

.resetVal img {
    width:0.8em;
    height:0.8em;
}

.resetVal img {
    fill: #ff9900;
    vertical-align: bottom;
}

.resetVal img:hover {
    fill: #888;
}

.lpad0,
#mainContent table td.lpad0, 
#mainContent table th.lpad0 {
    padding-left:0;
} 

td.tabledivider {
    height:2px !important;
    line-height:2px !important;
    overflow:hidden;
    padding:0;
    border-top:1px solid black !important; 
}

.changed input {
    background:#FFFFAA;
}

.changed .savebtn {
    box-shadow: 0 0 5px red;
}

/******************************
DIALOGS
*******************************/

.warning {
    border: 1px solid red;
    background:yellow;
    padding:10px;
    color:black;
    font-weight:bold;
    text-align:center;
}

.message {
    border: 1px solid black;
    background:#FFFFDD;
    padding:10px;
    color:black;
    font-weight:bold;
    text-align:center;
}

/******************************
PANELS
*******************************/

.rightPanel {
    float:right;
    width:48%;
}

.rightPanel > div {
    padding:2em;
}

.leftPanel {
    float:left;
    width:48%;
}

.infoPanel {
    background:white;
    box-shadow:0 0 10px rgba(0,0,0,0.5);
    font-size:0.75em;
}

#newAbsorberJpg {
    float:right;
    height:16em;
    transition: all 0.5s;
    cursor:zoom-in;
}

#newAbsorberJpg.zoomOn {
    float:none;
    position:absolute;
    right:2em;
    top:2em;
    width:calc(100% - 4em);
    height:auto;
    max-width:800px;
    box-shadow:0 0 20px black;
    cursor:zoom-out;
}

#zoomedImage {
    position:fixed;
    left:50%;
    top:50%;
    display:none;
    cursor:zoom-out;
    box-shadow:0 0 20px black;
}

#zoomedImage.active {
    cursor:zoom-out;
}


/******************************
HINT
*******************************/

.shortHint {
    display: inline-block;
    width:12pt;
    height:12pt;
    line-height: 12pt;
    border-radius:12pt;
    font-size:9pt;
    background:green;
    color:rgb(34, 34, 34) !important;
    text-align: center;
}

.shortHintContents {
    position: absolute;
    display: none;
    padding: 0.5em;
    border-radius: 0.5em;
    background-color: rgba(255, 255, 255, 0.95); /* 90% bílá s 10% průhledností */
    border: 1px solid black;
    color: black;
    max-width: 400px; /* Maximální šířka hintu */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); /* Lehké stínování */
    z-index: 10000;
}

/******************************
Project tables
*******************************/

ul.floorSwitcher, ul.floorSwitcher li,
ul.techSwitcher, ul.techSwitcher li {
    margin:0;
    padding:0;
    list-style: none;
}

ul.floorSwitcher li,
ul.techSwitcher li {
    float:left;
    height:1.8em;
    line-height:1.8em;
}

ul.floorSwitcher >li a,
ul.techSwitcher >li a {
    display: block;
    height:1.8em;
    line-height:1.8em;
    text-align: center;
    padding-left:1em;
    padding-right:1em;
    border:1px solid #aaa;
    background:#ddd;
    border-top-left-radius: 0.5em;
    border-top-right-radius: 0.5em;
    color:black;
    cursor: pointer;
    text-decoration: none;
}

ul.floorSwitcher >li a:hover,
ul.floorSwitcher >li.active a,
ul.techSwitcher >li a:hover,
ul.techSwitcher >li.active a {
    background:#ff9900;
    color:rgb(34, 34, 34);
    border:1px solid #aaa;
}

ul.floorSwitcher li>a.button {
    margin-top:-2.5em;
}

.floorContent {
    clear: both;
}

.floorHead {
    margin-top:1em;
}
.floorHead::before {
    content:"";
    display: block;
    height:1em;
    background:#ddd;
} 

.floorContainer,
.techContainer {
    display:none;
}

.floorContainer.active,
.techContainer.active {
    display:block;
}

/******************************
SWITCHER
*******************************/

.switcher {
    position:relative;
    text-align:center;
    display:inline-block;
    width:2.5em;
    height:1.1em;
    border-radius:1em;
    background:#ddd;
    cursor: pointer;
}

.switcher::after {
    position:absolute;
    content:"";
    width:0.75em;
    height:0.75em;
    border-radius: 1em;
    background:#aaa;
    margin-left:-1em;
    margin-top:0.2em;
}

.switcher.switcherOn {
    background:green;
}

.switcher.switcherOn::after {
    background:white;
    margin-left:0.3em;
}

/******************************
MISC icons
*******************************/

span.circle {
    display:inline-block;
    width:0.75em;
    height:0.75em;
    background:#aaa;
    border-radius:0.5em;
    margin-right:0.5em;
}

/******************************
MISC
*******************************/

.cellError {
    background:#FFFF66;
    color:red;
    background-position:0.2em 0.2em;
    background-size:1em 1em;
    background-image:url(images/warning.svg);
    background-repeat: no-repeat;
}

p.important {
    padding:0.5em 1em;
    border:1px solid 808080;
    border-radius:0.2em;
    background:#FFFFAA;
}

.largeTopPad {
    margin-top:1.5em;
}

.fleft {float:left;}
.leftHalf {
    float:left;
    width:49%;
}
.rightHalf {
    float:right;
    width:49%;
}

span.tableval, span.tabledesc {
    display:block;
    float:left;
}
span.tabledesc {
    width:calc(60% - 3em);
}
span.tableval {
    width:calc(40% - 3em);
    font-weight: bold;
}
span.tableicons {
    width: 5em;
    display:block;
    float:right;
    text-align:right;
}

.fright {float:right;}

.clickable {cursor:pointer;}

.updown {
    display: inline-block;
    width:2em;
    height:1em;
    text-align:center;
}

.updown img {
    height:0.75em;
}

.tc, #mainContent table td.tc {text-align:center;}

.tj {text-align:justify;}

.tr {text-align:right !important;}

.tl,
#mainContent table.roomtable .heading td.tl, 
#mainContent table.roomtable .heading th.tl
 {text-align:left !important;}

.smallText {
    font-size:0.75em;
}

.clear {clear:both;height:1px;width:1px;overflow:hidden;}

.uniw {
    display:inline-block;
}

.hidden, a.hidden, a.button.hidden, a.button.small.hidden {display:none;}

.corrected:after {
    content:"!";
    position:absolute;
    margin-top:0em;
    margin-left:0.2em;
    width:1.2em;
    height:1.2em;
    text-align:center;
    border-radius:0.5em;
    background:rgb(252, 193, 32);
}

.correctedLink:after {
    content:"!";
    font-size:0.5em;
    position:absolute;
    margin-top:-1em;
    margin-left:0em;
    width:1.2em;
    height:1.2em;
    text-align:center;
    border-radius:0.5em;
    background:rgb(252, 193, 32);
}

.correctedLink:hover:after {
    content:"!";
    font-size:0.5em;
    position:absolute;
    margin-top:-1em;
    margin-left:0em;
    width:1.2em;
    height:1.2em;
    text-align:center;
    border-radius:0.5em;
    background:rgb(255, 100, 100);
}

.hashint {
    display:inline-block;
    background:url(images/ico_hint.png);
    background-size: cover;
    width:1.2em;
    height:1.2em;
    text-align:center;
    border-radius:0.5em;
    margin-left:0.5em;
    margin-right:0.5em;
    cursor:pointer;
    transition: all 0.3s;
}

.nowrap {
    white-space: nowrap;
}


.nvs {display:none;}

.norm {
    font-weight: normal;
}

.colorH {
    color:#ED1D2D;
}

.colorC {
    color:#2BB4E8;
}

.colorDG {
    color:#999;
}

.orange {
    color:#D02129;
}

.strong {
    font-weight:bold;
}

.bgH, 
span.circle.bgH {
    background:#ED1D2D;
}

.bgC, 
span.circle.bgC {
    background:#2BB4E8;
}

.techName a {
    color:#FF8400;
    font-size:1.5em;
    text-decoration: none;
}

.techCover {
    margin-top:0.5em;
    font-weight: normal;
}

.prisec {
    font-weight: normal;
    margin-top:1em;
}

.mainPower {
    margin-top:0.5em;
    font-size:1.5em;
    text-align: center;
}

.dladminpreview {
    max-width:100px;
    max-height:100px;
}
#leftPopup {
    position:fixed;
    right:-200px;
    top:0;
    height:100vh;
    width:200px;
    background:rgba(0,0,0,0.95);
    border-left:3px solid rgba(255,255,255,0.95);
    opacity:0;
    text-align: left;
}

#leftPopup .title {
    font-size:1.0em;
    margin:2em auto 1em auto;
}

#leftPopup .title, #leftPopup .contents {
    padding:0 1.5em;
}

#leftPopup h2 {
    font-weight: bold;
}

#leftPopup .popupCloser {
    float:right;
    height:2em;
    width:2em;
    cursor:pointer;
}

#leftPopup .popupCloser:hover {
    background:#ff9900;
}

#leftPopup .popupCloser img {
    margin-top:0.25em;
    height:1.5em;
    width:1.5em;

}

#leftPopup .preview {
    max-width:100%;
    max-height:50vh;
}

.noml, .button.noml {
    margin-left:0;
}

.globalHome {
    background-image:url(images/front_bg.jpg);
    background-size: cover;
    text-align: left;
    margin:0;
    padding:0;
}

#ghContainer {
    min-height:100vh;
    margin:0;
    padding:0;
}

#ghLeftFrame {
    background:rgba(255,255,255,0.9);
    float:left;
    min-height:100vh;
    width:30%;
    margin-left:5%;
    padding:2em;
} 

#ghLeftFrame li {
    line-height:3em;
    list-style-image: url(images/checkli.svg);      
}

.ghCCLogo {
    width:80%;
    max-width:400px;
    margin-top:3em;
    margin-bottom:3em;
}

.ghAALogo {
    width:80%;
    max-height:250px;
    margin-top:3em;
    margin-bottom:3em;
}

#footerLogos .fleft,
#footerLogos .fright {
    width:40%;
}

#ghRightFrame {
    position:fixed;
    top:20vh;
    right:0;
    width:40%;
    padding:0;
    max-width:800px;
    color:rgb(34, 34, 34);
} 

#ghRightFrameTop {
    background-image:url(images/lt_cornered_bg.png);
    background-position: top left;
    padding:0;
    height:50px;
}

#ghRightFrameBottom {
    background-image:url(images/lt_cornered_bg.png);
    background-position: bottom left;
    padding:0;
    height:25px;
}

#ghRightFramemID {
    background-image:url(images/lt_cornered_bg_mid.png);
    background-position: middle left;
    padding:1em 2em;
}

#ghRightFrame h2 {
    color:#70C168;
}

#ghRightFrame.ghGray {
    color:black;
    max-width:600px;
    width:30%;
    background:#eee;
    box-shadow:0 0 10px rgba(0,0,0,0.5);
}

.ghGray #ghRightFrameTop, 
.ghGray #ghRightFrameBottom,
.ghGray #ghRightFramemID {
    background:none;
}

.ghGray #ghRightFrameTop { 
    height:25px;
}

.buttonSelector p {
    margin:0.5em 0;
}

.buttonSelector a {
    display:inline-block;
    text-decoration:none;
    color:rgb(34, 34, 34);
    font-size:1.5em;
    padding:0.5em 2em;
    background:none;
    border-radius:2em;
    white-space: nowrap;
}

.buttonSelector a:hover {
    background:white;
    color:#333333;
}


.componentsummary th {
    background:white;
    color:rgb(34, 34, 34);
}
.componentsummary .imageCell { 
width:200px !important;
}

.componentsummary td, #mainContent table.componentsummary td {
    border-right:1px solid #ddd;
    border-bottom:1px solid #ddd;
}

#roomList div a {
    display:block;
    float:left;
    background:#ddd;
    color:black;
    text-align:left;
    border-radius:0.3em;
    text-decoration: none;
}
#roomList div a:nth-child(1) {
    padding-left:1em;
    width:60%;
    margin-right:5px;
}
#roomList div a:nth-child(2) {
    width:10%;
    text-align:center;
}
#roomList div::after {
    content:" ";
    display:block;
    height:10px;
    overflow:hidden;
    clear: both;
}
#roomList div a:hover {
    color:#333333;
}

.effectivityLine {
    display:block;
    height:1.5em;
    line-height:1.5em;
    margin-bottom:0.5em;
}

.efLabel, .efPerc {
    display:inline-block;
    padding-bottom:0.1em;
    font-size:0.75em;
    width:5em;
}

.efValue {
    display:inline-block;
    height:1.5em;
    width:15em;
    background:#ccc;
}

.efReduce {
    display:inline-block;
    height:1.5em;
    width:0em;
    background-color: #148B87;
    background-image: url(images/leftGrayArrow.png);
    background-size: 0.63em 0.73em;
    background-repeat: no-repeat;
    background-position: 0.5em center;
}

.efAfter {
    display:inline-block;
    width:2em;
}

.PMblockW7 {
    width:calc(7em + 5px) !important;
}

.PMval, .PMQtyVal {
    display:inline-block;
    height:2em;
    line-height:2em;
    border-radius:0;
    text-align: center;
    width:5em !important;
    border:1px solid #515151;
}

.PMbutton {
    display:inline-block;
    width:1em;
    height:2em;
    line-height:2em;
    text-align:center;
    border:1px solid #515151;
    background:#F3F2F4;
    cursor:pointer;
    transition:all 0.2s;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
  }

.PMbutton.PMwarn {
    background:red;
}

.PMbutton, .PMval, .PMQtyVal {
    vertical-align: middle;
}

.PMbutton + .PMval, .PMbutton + .PMQtyVal {
    border-left: none;
}

.PMval + .PMbutton, .PMQtyVal + .PMbutton {
    border-left: none;
}

.PMval.PMwarn, .PMQtyVal.PMwarn {
    background: rgb(247, 176, 176);
}

input.iw50, input.iw10, input.iw40 {
    padding-left:0.25em;
    padding-right:0.25em;
}

input.iw50 {
    width:50%;
    min-width:20em;
}

input.iw10 {
    width:10%;
    min-width:4em;
}

input.iw40 {
    width:40%;
    min-width:16em;
}

.half_block {
    display:block;
    width:47%;
}

.half_block:nth-of-type(2n+1) {
    float:right;
}

.half_block:nth-of-type(2n) {
    float:left;
}

.fullwidth {
    width: 100%;
}

table.whitebordered td,
table.whitebordered th {
    /*border:0.25em solid white;*/
    padding:0.1em;
} 

.custScrBox {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none; 
    
    width: 100%;
    height: 2em; 
    padding: 0 10px;
    padding-right: 2em;
    line-height:2em; 
    
    background: white url('images/scr_down.png') no-repeat right center;
    background-size: 2em; 
    border: 1px solid #515151; 
    border-radius: 0; 
    
    font-size: 16px;
    cursor: pointer;
}

.custScrBox::-ms-expand {
    display: none;
}

.productPriceTable td {
    border:1px solid #515151;
}

.productPriceTable thead td {
    background:#D02129;
    color:white;
}

.page-admin main {
    margin-top:2em;
    width:90%;
    margin-left:5%;

}

.page-admin table {
    width:100%;
    border:1px solid #515151;
}

.page-admin table td, .page-admin table th {
    border:1px solid #515151;
}

.page-admin table thead {
    background:#515151;
    color:white;
}

.page-admin table tbody tr:hover {
    background:#E1E1E1;
}

input:focus, textarea:focus, select:focus {
    outline: none;
}

.product-single__short-desc,
.product-single__short-desc table {
    font-size:0.8rem;
}

#fullPrice, .sumTotal, #piecePrice {
    font-size: 1.5em;
    font-weight: bold;
    color: D02129;
}

#priceDiscountTable .active {
    background:#e1e1e1;
}

table.fullColored {
    width:100%;
}

table.fullColored td,
table.fullColored th {
    border:1px solid #515151;
    padding:0.2em 0.5em;
}

table.fullColored th {
    color:white;
    background:#D02129;
}

.navigation__item {
    position: relative;
  }
  
  .default-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000; /* pro jistotu */
    display: none; /* nebo nechat skryté, pokud používáš hover */
  }
  
  .navigation__item:hover .default-menu {
    display: block;
  }
  .imageBlk {
    width:3em;
  }
  .imageBlk img {
    max-height:5em;
    max-width:5em;
    height:auto;
    width:auto;
  }
  .image-fit {
    max-width:700px; 
    max-height:700px;
  }

.swiper-wrapper {
    height: auto !important;
} 

.products-grid .pc__img-prev, 
.products-grid .pc__img-next {
    background:rgba(255,255,255,0.5);
    margin-top:-1.75rem;
    height:1.5rem;
    width:1.5rem;
    line-height:1.5rem;
    border-radius: 1rem;
}

.pc__img-prev, .pc__img-next {
  display: flex;
  align-items: center;
  justify-content: center;
}

.pc__img-prev svg, .pc__img-next svg {
  width: 0.75rem;
  height: auto;
}

.blnone {
    border-left:none !important;
}

.brnone {
    border-right:none !important;
}

.products-grid .pc__title {
    font-weight: 800 !important;
}

.imgIco {   
    height: 2.5rem;
    vertical-align: absmiddle;
    margin-right:0.25em;
}

.catbuttons {
    display:block !important;
    float:left;
    height:3.1rem;
    line-height:3.1rem;
    padding:0.25rem 0.5em !important;
    border:1px solid #ddd;
}

.catbuttons:hover {
    background:#ddd;
}