:root {
  --unit: 8px;
}

/******************* CONTENT BACKGROUND ********************************/

#content{
  background-color: #F1F1F2;  
  overflow: visible;
  padding-top: 1px;
}

/******************* CONTENT BOX ********************************/

.content-stripe{
  max-width: 1050px;
  margin: 0px auto;
  background-image: url('https://www.umimeto.org/asset/global/img/kniha.png');
  background-position:left bottom;
  background-repeat: no-repeat;
  padding-top: 20px;
  padding-bottom: 150px;
  min-width: 300px;
}

.content-box{
  min-width: 300px;
  padding-top: 20px;
  padding-left:30px;
  padding-right:30px;
  padding-bottom: 20px;
  margin:0px 5px;
  margin-bottom: 20px;
  background-color: white;
  font-weight: 400;  
  text-align: left;
  border: 1px solid var(--lightGrayHover);
  border-radius: 8px;    
  box-shadow: 0px 0px 32px 0px rgba(0,0,0,0.1);
  position: relative;
}

.content-box.wide30{
  width: 28%;
  min-width: 300px;
  padding-bottom: 20px;
}

.content-box.wide50{
  width: 50%;
  min-width: 350px;
  padding-bottom: 40px;
}

.content-box.wide60{
  width: 60%;
  min-width: 350px;
  padding-bottom: 40px;
}

.content-box.wide70{
  width: 70%;
  min-width: 350px;
  padding-bottom: 40px;
}

.content-box.wide80{
  width: 80%;
  min-width: 350px;
  padding-bottom: 40px;
}

.content-box.no-padding{
  padding: 0px;
  padding-bottom: 0px;
}

.content-box.narrow {
	max-width: 600px; 
	margin-left: auto; 
	margin-right: auto;	
}

.normalize-width {max-width: 1000px; width: 100%; align-self: center; justify-self: center; margin-left: auto; margin-right: auto;}

/******************* CLOSE CONTENT BUTTON ********************************/

.close-button {width: 30px; height: 30px; float: right; display: block; background: url("https://www.umimeto.org/asset/global/img/icons/x-cropped.svg") no-repeat center center; cursor: pointer; background-size: 70%; border-radius: calc(var(--unit) / 2);}
.close-button:hover {background-color: var(--lightGray);}

/******************* RULE BOX ********************************/
/*
.content-box .rule-box em { 
  color: #16a085;
}

.content-box .rule-box p {
  font-size: 18px;
  margin-bottom: 0px;
  margin-top: 12px;
}

.content-box .rule-box ul{
  list-style: none;
}

.content-box .rule-box li{
  font-size: 18px;  
}

.content-box .rule-box li p {
  margin-top: 0px;
  display: inline;
}

.content-box .rule-box ul li::before{
  content: "\25CF";
  color: gray;
  font-weight: bold;
  display: inline-block; 
  width: 1em;
  margin-left: -1em;
}

.content-box .rule-box td, th {
  font-size: 18px;  
}

.content-box .rule-box table {
  border-top: 1px solid #dfdfe1;
}

.content-box .rule-box img {

   margin-top: 10px;
   margin-bottom: 5px;

}
*/

/******************* BANNER ********************************/
/*
.banner-row{

  font-size: 16px;
  line-height: 1.2em;    
  padding:5px;
  color:white;

  background-color: white;        
  font-weight: 400;    
  
  text-align: center;    
  border-bottom: 1px solid #ecedee;

  box-shadow: 0px 0px 32px 0px rgba(0,0,0,0.1);

}

.banner-row.red{
  background-color: #e55043;
}

.banner-row.blue{
  background-color: #3897d9;
}
*/

/******************* GRAY BOX ********************************/

.content-color-box{  
  margin:0px 0px;
  margin-bottom: 15px;  /*uprava  20-> 15*/
  margin-top: 10px;  /*uprava Radek, nove pravidlo*/
  padding:15px; /*uprava Radek 20-> 15*/
  border-radius: 8px;    
}

.content-box .gray{
  background-color: var(--faintGray);
}

.content-box .green{
  background-color: var(--faintGreen);
}

.content-color-box.blue{
  /* padding:20px 20px; */
  background-color: var(--faintBlue)
}

.content-color-box.yellow{
  background-color: var(--faintYellow)
}

.content-color-box.wide100{
  width:100%;
}

.content-color-box.wide25{
  display: inline-block;
  width:25%;  
  margin:10px;
  min-width: 250px;
}

.content-color-box.wide40{
  display: inline-block;
  width: 40%;   
  margin:10px;
}

 

/********************************** FLEXES ************************************/
/*  SMER - ZAROVNANI HORIZONTALNI (justify content) - ZAROVNANI VERTIKALNI (justify items) - WRAP */

.flex-horizontal{
  display: flex;  
}
.flex-vertical{
  display: flex;  
  flex-direction:column; 
}

.jc-flex-start{  justify-content: flex-start; }
.jc-space-between, .jc-between {  justify-content: space-between; }
.jc-space-around{  justify-content: space-around; }
.jc-center{  justify-content: center; }
.jc-flex-end{  justify-content: flex-end; }

.ai-flex-start{ align-items: flex-start; }
.ai-center{ align-items: center; }
.ai-stretch{ align-items: stretch; }
.ai-flex-end{ align-items: flex-end; }

.ac-flex-start{ align-content:flex-start; }

.wrap{ flex-wrap:wrap; }
.nowrap{ flex-wrap:nowrap; }

/********************************** DISPLAY ************************************/

.d-none {display: none;}

/********************************** GRID ************************************/

.d-grid {display: grid;}
.grid-2 {grid-template-columns: repeat(2, 1fr);}
.span-2 {grid-column: 1 / span 2;}
.span-3 {grid-column: 1 / span 3;}

/********************************** GAPS ************************************/

.gap-3px {gap: 4px;}
.gap-05 {gap: calc(var(--unit) * 0.5);}
.gap-1 {gap: var(--unit);}
.gap-2 {gap: calc(var(--unit) * 1.5);}
.gap-3 {gap: calc(var(--unit) * 2);}
.gap-4 {gap: calc(var(--unit) * 2.5);}

/********************************** ROUNDED BORDER ************************************/

.rounded {
  border-radius: var(--unit);
}

.rounded50 {
  border-radius: 50%;
}

/********************************** PADDING CLASSES ************************************/
.p-0 {padding: 0 !important;}
.p-1 {padding: var(--unit) !important;}
.p-2 {padding: calc(var(--unit) * 1.5) !important;}
.p-3 {padding: calc(var(--unit) * 2) !important;}
.p-4 {padding: calc(var(--unit) * 2.5) !important;}

.pr-1 {padding-right: var(--unit) !important;}
.pr-2 {padding-right: calc(var(--unit) * 1.5) !important;}
.pr-3 {padding-right: calc(var(--unit) * 2) !important;}
.pr-4 {padding-right: calc(var(--unit) * 2.5) !important;}

.px-1 {
  padding-left: var(--unit) !important;
  padding-right: var(--unit) !important;
}

.px-2 {
  padding-left: calc(var(--unit) * 1.5) !important;
  padding-right: calc(var(--unit) * 1.5) !important;
}

.px-3 {
  padding-left: calc(var(--unit) * 2) !important;
  padding-right: calc(var(--unit) * 2);
}
.px-4 {
  padding-left: calc(var(--unit) * 2.5) !important;
  padding-right: calc(var(--unit) * 2.5) !important;
}

.py-0 {padding-top: 0 !important; padding-bottom: 0 !important;}

.py-1 {
  padding-top: var(--unit) !important;
  padding-bottom: var(--unit) !important;
}

.py-2 {
  padding-top: calc(var(--unit) * 1.5) !important;
  padding-bottom: calc(var(--unit) * 1.5) !important;
}

.py-3 {
  padding-top: calc(var(--unit) * 2) !important;
  padding-bottom: calc(var(--unit) * 2) !important;
}

.py-4 {
  padding-top: calc(var(--unit) * 2.5) !important;
  padding-bottom: calc(var(--unit) * 2.5) !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-4 {
  padding-bottom: calc(var(--unit) * 2.5) !important;
}

/********************************** MARGIN CLASSES ************************************/

.m-0 {margin: 0 !important;}

.mt-0 {margin-top: 0 !important;}
.mt-1 {margin-top: var(--unit) !important;}
.mt-2 {margin-top: calc(var(--unit) * 1.5) !important;}
.mt-3 {margin-top: calc(var(--unit) * 2) !important;}
.mt-4 {margin-top: calc(var(--unit) * 2.5) !important;}
.mt-5 {margin-top: calc(var(--unit) * 3) !important;}

.mb-0 {margin-bottom: 0 !important;}
.mb-05 {margin-bottom: calc(var(--unit) * 0.5) !important;}
.mb-1 {margin-bottom: var(--unit) !important;}
.mb-2 {margin-bottom: calc(var(--unit) * 1.5) !important;}
.mb-3 {margin-bottom: calc(var(--unit) * 2) !important;}
.mb-4 {margin-bottom: calc(var(--unit) * 2.5) !important;}

.my-05 {margin-top: calc(var(--unit) * 0.5); margin-bottom: calc(var(--unit) * 0.5) !important;}
.my-1 {margin-top: var(--unit) !important; margin-bottom: var(--unit) !important;}
.my-2 {margin-top: calc(var(--unit) * 1.5) !important; margin-bottom: calc(var(--unit) * 1.5) !important;}
.my-3 {margin-top: calc(var(--unit) * 2) !important; margin-bottom: calc(var(--unit) * 2) !important;}
.my-4 {margin-top: calc(var(--unit) * 2.5) !important; margin-bottom: calc(var(--unit) * 2.5) !important;}

.mr-05 {margin-right: calc(var(--unit) * 0.5) !important;}
.mr-1 {margin-right: var(--unit) !important;}
.mr-2 {margin-right: calc(var(--unit) * 1.5) !important;}
.mr-3 {margin-right: calc(var(--unit) * 2) !important;}
.mr-4 {margin-right: calc(var(--unit) * 2.5) !important;}

/********************************** IMAGES ************************************/

#content img.height20{ height: 20px; }
#content img.height30{ height: 30px; }
#content img.height40{ height: 40px; }
#content img.height50{ height: 50px; }
#content img.height70{ height: 70px; }
#content img.height100{ height: 100px; }
#content img.height150{ height: 150px; }

#content img.shadow{
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

#content img.margin10{ margin: 10px; }
#content img.rmargin10{ margin-right: 10px; }
#content img.lmargin10{ margin-left: 10px; }
#content img.rmargin20{ margin-right: 20px; }
#content img.rmargin40{ margin-right: 40px; }

#content img.round20{ border-radius: 20px; }
#content img.round{ border-radius: 150px; }

/********************************** MESSAGES ************************************/

.message{
  border-radius: var(--unit);      
  padding: 0;
  font-size: 16px;
  display: flex;  
  align-items: stretch;    
  justify-content: flex-start;
  text-align: left;
  overflow: hidden;
  background: white;
  margin-left: 5px;
  margin-right: 5px;
  margin-bottom: calc(var(--unit) * 3);
}
.content-box .message, .secondary-box .message, .exercises .message {margin-left: 0; margin-right: 0;}
.message span {font-weight: 500;}
.message > div:first-of-type {padding: 11px 13px; align-items: center; display: flex;}
.message > div:nth-of-type(2) {padding: calc(var(--unit) * 2); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; align-content: flex-start; flex-grow: 1;}
.message img {width: 30px; height: 30px;}

@container (width < 400px){
  .message > div:first-of-type {padding: var(--unit);}
  .message > div:nth-of-type(2) {padding: var(--unit);}
}

.message.success{
  border: 1px solid var(--green);
  color: #1c8046ff;
}
.message.success div:first-of-type {
  background-color: var(--green);
}

.message.error{
  border: 1px solid var(--red);
  color: #992d22ff;  
}
.message.error > div:first-of-type {
  background-color: var(--red);
}

.message.warning, .message.bulb{
  border: 1px solid var(--orange);  
  color: #8c4c12;   
}
.message.warning > div:first-of-type, .message.bulb > div:first-of-type {
  background-color: var(--orange);
}

.message.info{
  border: 1px solid var(--blue);
  color: #1a4866;
}
.message.info > div:first-of-type {background-color: var(--blue);}

.message.help{
  border: 1px solid var(--yellow);  
  background-color: var(--faintYellow);    
  /* opacity: 0.9;   */
}

.message.green{
  border: 1px solid var(--green);
  background-color: var(--faintGreen);
  color: #46AD78;
}

.message.red{
  border: 1px solid var(--red);
  background-color: var(--faintRed);
  color: #C03F54;
  color: var(--redHover);
}

.message.orange{
  border: 1px solid var(--orange);  
  background-color: var(--faintOrange);  
  color: #b8651b; 
  justify-content: flex-start;  
}

.message.blue{
  border: 1px solid var(--blue);  
  background-color: #d4f3f5;
  color: var(--darkBlue);  
  justify-content: flex-start;  
}


/* ZAROVKA */
.message.blue img,.message.orange img{
  padding-bottom:5px;
  opacity:0.9; 
  height:30px; 
  width: auto;
  margin:0px;
  margin-right:20px;    
}

#content .flash-messages {
  max-width: 1050px;
  margin: 0 auto;
  padding-top: 20px;
  min-width: 300px;
}

#content .flash-messages .message {
  margin-bottom: var(--unit);
}

/********************* TABS ********************************/


/* legacy */

/* #content .tabs{            
  display:inline-flex;
  justify-content: flex-start;
  align-items: center; 
  flex-wrap: wrap;
  gap: 3px;
  border-radius: 10px;    
  margin-bottom: 20px;  
  border-radius: 6px;
  overflow: hidden;    
}

#content a.tab{  
  font-size: 16px;   
  display: inline-block;    
  padding: 7px 20px;  
  text-align: center;
  text-decoration: none;
  color: var(--black);     
  background-color: var(--lightGray);  
  margin: 0px;
  flex-grow: 1;
  flex-basis: 100px;
  white-space: nowrap;  
} 

#content a.tab.right{  
  border-right:0px solid var(--lightGrayHover);
}

#content a.tab.blank{
  background-color: transparent;  
  border-width:0px;
  text-decoration: none;
}
#content a.tab.blank:hover{  
  background-color: var(--lightGrayHover);  
  color: var(--black);    
  text-decoration: none;
}

#content a.tab.selected, #content .tabs2 a.selected{  
  font-weight: 700;
  background-color: var(--grayHover);
  background-color: var(--blue);  
  color: white;
}

#content a.tab.selected:hover, #content .tabs2 a.selected:hover{ 
  color: white;
  background-color: var(--blueHover);  
}

#content a.tab:hover, #content .tabs2 a:hover{  
  background-color: var(--lightGrayHover);  
  color: var(--black);    
  text-decoration: none;  
}

*/

#content .tabs{            
  display:inline-flex;
  justify-content: flex-start;
  align-items: center; 
  flex-wrap: wrap;
  gap: 3px; 
}

#content .tabs input {appearance: none; display: none;}

#content .tabs a, #content .tabs input+label {
  display: inline-block;    
  padding: 7px 15px;
  text-align: center;
  text-decoration: none;
  color: var(--black); 
  background-color: var(--lightGray);
  border: 1px solid var(--lightGrayHover);
  white-space: nowrap;
  border-radius: 5px;
  cursor: pointer;
}

#content .tabs.small a, #content .tabs.small input+label {    
  padding: 2px 8px;
  line-height: 20px;
  font-size: 14px;
}

#content .tabs a:hover, #content .tabs input:hover+label {  
  background: var(--lightGrayHover);
  border-color: var(--gray);
}

#content .tabs.nowrap {
  flex-wrap: nowrap;
}

#content .tabs a.selected, #content .tabs input:checked+label{  
  color: white;
  background: var(--black);
  border: 1px solid var(--blackHover);
  font-weight: 700;
}

/********************* SEGMENT CONTROL ********************************/

select {font-size: inherit; border: 1px solid var(--gray); font-family: inherit; border-radius: 3px; background-color: white;}
.segment-vertical-layout {display: grid; grid-template-columns: 2fr 1fr; min-width: 305px; gap: var(--unit); align-items: center;}
select.select-segment {flex-grow: 1; padding: 4px 10px;}
select.selected {border: 1px solid var(--blackHover); background-color: var(--black); color: var(--white); font-weight: 600;}
select option {color: var(--black); background: var(--white);}
@media (max-width: 550px) {select.select-segment {padding: 6px 16px; } .filter-by-grade {width: min-content; justify-content: flex-start !important;} .sm-jc-center {justify-content: center !important;}}

#content .segmentWrapper{
  display: flex;
  flex-direction: row;
  gap: calc(var(--unit) * 0.5);
  align-items: center;
}

#content .segmentWrapper > span {display: flex; gap: 2px;}

#content .segment-classes .segmentWrapper{
  align-items: stretch;
  gap: 2px;
}

#content .segmentWrapper .segment{
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  margin: 0;
  padding: 8px;
  cursor: pointer;
  color: var(--black);
  background-color: var(--lightGray);
  border: 1px solid var(--lightGrayHover);
  gap: 4px;
}

#content .segment.passive{  
  color: var(--gray);
}

#content .segment.selected, #content .segment.selected:hover {  
  background-color: var(--black);  
  font-weight: 600;
  color: white; 
  border: 1px solid var(--blackHover);
}

#content .segment:hover{
  background-color: var(--lightGrayHover);  
  color: var(--black);
  border-color: var(--gray);
  text-decoration: none;
}

#content .segment-dropdown-button{  
  display: inline-block;
  color: var(--grayHover);
  color: var(--black);
  background-color: var(--lightGray);  
  border-bottom:1px solid var(--lightGrayHover);
  padding: 5px 10px;
  cursor: pointer;
}

#content .segment-dropdown-button:hover{
  background-color: var(--lightGrayHover);  
  color: var(--black);
  text-decoration: none;
}

#content .segment-dropdown-button:last-child {
  border-bottom: none;
}

#content .segmentWrapper .dropdown-content{
  min-width: auto;
  border-radius: 6px;
  overflow: hidden;
  border:1px solid var(--lightGrayHover);
}

.hidden {visibility: hidden;}


/********************* CONTENT BOX TITLE ********************************/

#content .content-box-title{
  margin-top: -20px;
  margin-left:-30px; 
  margin-right:-30px; 
  border-top-left-radius: 6px; 
  border-top-right-radius: 6px;   
  margin-bottom: 0px;
  padding-bottom: 20px;  
  background-color: var(--faintGray);
  overflow: auto;
  padding:30px;  
}

#content .content-box-title.edges{
  margin-bottom:-40px;
}

#content .content-box-title p, #content .content-box-title h1{
  margin:0px;
  margin-bottom:5px;  
}

/********************* CONTENT BOX TITLE SMALL ********************************/

#content .content-box-title-small{
  margin-top: -10px;
  margin-left:-30px; 
  margin-right:-30px; 
  margin-bottom: 20px; 
  border-top-left-radius: 6px; 
  border-top-right-radius: 6px;   
  border-bottom: 1px solid #ecedee;  
  padding:10px 20px;
}

#content .content-box-title-small h2, #content .content-box-title-small h3{
  margin:0px;
}

/********************* LINE HEADER ********************************/

#content .line-header{  
  display: flex;  
  align-items: center;
  justify-content: space-between; 
  width: 100%;  
  margin-top: 20px;
  margin-bottom: 10px;
}

#content .line-header .line{
  margin:0px 7px;
  height: 0px;
  border-top:2px solid var(--lightGrayHover);
  flex-basis: 30px;
  flex-grow: 1;
}

.line-header h1, .line-header h2, .line-header h3, .line-header p{  
  margin:0px; 
}


/********************* DIVIDER ********************************/
#content .divider{
  display: block;
  height: 0px;  
  margin:15px 0px;
  border-bottom: 1px solid #eeeeee;  
}

#content .space{
  margin:20px 0px;
}


/********************** DROPDOWNS *****************************/
#content .dropdown {
    position: relative;
    display: inline-block;  
}

#content .dropdown-content{    
    display: none;
    position: absolute;    
    background-color: white;
    min-width: 260px;
    box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.2);
    padding: 10px 16px;    
    z-index: 15;
    text-align: left;
    left:-30px;
    border-radius: 7px;   
}

#content .dropdown-content.wide {
  min-width: 360px;
  left: 50%;
  transform: translateX(-50%);  
}

#content .dropdown-content.center {
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 1300px) {
  #content .item3 .dropdown-content.wide {
    transform: none;
    left: auto;
    right: 0;
  }
}

@media (max-width: 550px) {
  #content .dropdown {position: static;}

  #content .dropdown-content.wide {
    transform: none;
    margin: auto var(--unit);
    left: 0; right: 0;
  }
}

#content .dropdown-content.narrow {
  min-width: 160px;    
  padding: 0px 16px;    
  left:0px;
}

/* striktni left, pouzivam u segment control trida */
#content .dropdown-content.strictLeft {
    left:0px;    
    padding: 0px;
    background-color: transparent;
    box-shadow: 0px 0px 16px 0px rgba(0,0,0,0);
}

/* pro prave menu ucitel trochu jine nastaveni */ 
#content .dropdown-content.right {
    left:-140px;
}

#content .dropdown-content .divider{
  display: block;
  height: 0px;  
  margin:5px 0px;
  border-bottom: 1px solid #ecedee;
}

#content .dropdown-content img{  
  max-height:200px;  
  max-width: 100%;
}

#content .dropdown-content img.wide{  
  display: inline-block;
  max-height:200px;
  max-width: 100%;
  border:0px;
  margin-top:7px;
  border-radius: 5px;
  display: block;
}

/*
#content .dropdown-content.right::after {
    content: " ";
    position: absolute;
    top: 15px;
    right: 100%; 
    margin-top: -10px;
    border-width: 10px;
    border-style: solid;
    border-color: transparent white transparent transparent;
}
*/

#content .dropdown-content h3{
  margin:10px 0px;  
}

#content .dropdown-content p{
  margin:10px 0px;  
}

#content .dropdown:hover .dropdown-content{        
  display: block;
}

/********************** RESPONSIVE GRID VIEW *****************************/

/*.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}

[class*="col-"] {
    float: left;
    padding: 15px;
}

.row::after {
    content: "";
    clear: both;
    display: table;
}*/

/********************** HOMEPAGE SUBJECTS GRID *******************/
.homepage-subjects-grid {display: grid; grid-auto-rows: auto; grid-template-columns: repeat(auto-fill, minmax(65px, 1fr)); row-gap: 15px; column-gap: 1px;}

/********************** TOPIC RESPONSIVE LAYOUT -- TREE *******************/

:root {--tree-line-2: 15px; --anchor-line-2: 20px;}
.topic-tree-2 li, .topic-tree-2 ul {list-style-type: none; padding: 0; margin: 0;}
.topic-tree-2, .topic-tree-2 ul {display: flex; flex-direction: column; gap: 2px; position: relative;}
.topic-tree-2 li {display: flex; position: relative; flex-direction: row; justify-content: flex-start; gap: 4px;}
/* segment stromu */
.topic-tree-2 ul {padding-left: var(--tree-line-2); margin-left: 12px;}
/* linie vlevo, vespod, zaoblení */
.topic-tree-2 ul:before {display: block; content: ''; border-left: 2px solid var(--gray); border-bottom: 2px solid var(--gray); border-bottom-left-radius: var(--unit); position: absolute; top: calc(var(--anchor-line-2) * -0.75 - 2px); left: 0; width: var(--tree-line-2); height: 100%; margin-bottom: 25px;}

/* kulaté rozbalovací šipky */
.bullet-arrow {display: block; border-radius: 100%; background: var(--lightGray); border: 1px solid var(--gray); width: 26px; height: 26px; min-height: auto; z-index: 10; background: var(--lightGray) url('<?=$SYSTEM_ASSET?>/img/icons/arrow-right.svg') center center no-repeat; background-size: 70%; position: absolute; left: calc((var(--tree-line-2) + 13px - 1px) * -1); top: 0; bottom: 0; margin: auto;}
.bullet-arrow:hover {background-color: var(--lightGrayHover); border: 1px solid var(--grayHover);}

/* odkazy a čáry před */
.topic-tree-2 a, .topic-tree-2 span {min-height: calc(var(--anchor-line-2) * 1.5); display: inline-flex; align-items: center; position: relative; padding: 3px 6px; background: white; border-radius: var(--unit);}
.topic-tree-2 a:last-child, .topic-tree-2 > a:first-child {margin-right: auto;}
.topic-tree-2 a:hover, a.pill-anchor:hover {text-decoration: none; background-color: #ebf5fb;}

.topic-tree-2 li:not(:last-child) > a:first-child:before, .topic-tree-2 li:not(:last-child) > span:first-of-type:before {content:''; display: block; width: var(--tree-line-2); height: 2px; background: var(--gray); position: absolute; left: calc(var(--tree-line-2) * -1);}
.topic-tree-2 li span {font-weight: 600; background: var(--lightGray);}

.topic-tree-2 ul.no-line:before {top: calc(var(--anchor-line-2) * -0.75 + 1px); height: calc(var(--anchor-line-2) * 1.5);}
.topic-tree-2 ul.no-line > li > a.above:before, .topic-tree-2 > ul.no-line > li > span:first-child:before {display: none;}

/* před prvním linkem není vodorovná čára */
.topic-tree-2 > a:first-child:before {display: none;}
.topic-tree-2 .above {z-index: 10;} /* z-index pak vypisovat natvrdo při výpisu stromu */

.topic-tree-2 a.inactive {color: var(--gray);}
.topic-tree-2 a.inactive:hover {background: var(--lightGray);}

.topic-tree-2 > *:first-child > a:before {display: none !important}

/********************** TOPIC RESPONSIVE LAYOUT -- LAYOUT *******************/

#kotva-cviceni {display: flex; flex-direction: column; gap: 18px; container-type: inline-size;}
  .rl-notices {max-width: 1300px; margin-left: auto; margin-right: auto; margin-top: calc(var(--unit) * 3);}
  .rl-main {max-width: 1300px; background-image: url('https://www.umimeto.org/asset/global/img/kniha.png');
  background-position:10px bottom; background-repeat: no-repeat; padding-bottom: 150px; padding-left: 5px; padding-right: 5px; margin-top: 16px; margin-left: auto; margin-right: auto;}

  .kc-grid {display: grid; grid-template-columns: 365px auto; grid-template-rows: repeat(auto-fill, minmax(0, auto)); column-gap: 18px;}

  .rl-main > div:not(.exercises), .single-exercise {padding: 30px; border: 1px solid var(--lightGrayHover); box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.1); background: white;}
  @media (max-width: 550px) {.rl-main > div:not(.exercises), .single-exercise {padding: calc(var(--unit) * 2);} .rl-main > .content {overflow-x: hidden;}}

  .rl-main .heading > div {flex-wrap: nowrap; align-items: flex-start}
  @media (max-width: 550px) {.rl-main .heading > div {flex-wrap: wrap;}}


  .content-box-title-a p {margin-bottom: 0;}
  .content-box-title-a {margin-bottom: var(--unit);}
  .rl-main .single-exercise {border-radius: var(--unit);}
  .rl-main .single-exercise > h2:nth-of-type(1) {margin-top: calc(var(--unit) * 0.2);}
  .rl-main .single-exercise > h2 {margin-bottom: calc(var(--unit) * 0.75);}
	.rl-main .heading {order: 4; border-top-left-radius: var(--unit); border-top-right-radius: var(--unit);}
	.rl-main .heading .tlacitko.medium, .rl-main .toggled-content-message .tlacitko.medium, .rl-main .content .tlacitko.medium {padding: 3px 6px;}
	
	/* .rl-main .toggle-summary.hidden-summary {display: none;} */
	.rl-main > .content {position: relative; order: 5; border-bottom-left-radius: var(--unit); border-bottom-right-radius: var(--unit);}
	.rl-main > .sidebar {order: 1; grid-row: 1 / span 3; border-radius: var(--unit); display: flex; flex-direction: column; justify-content: flex-start; gap: calc(var(--unit) * 3);
    padding-left: calc(var(--unit)*3);
    padding-right: calc(var(--unit)*3);}

  /* varianta odvážnější */
	.rl-main .sidebar h3, .filter-by-grade h3 {text-transform: uppercase; font-weight: 300; color: var(--grayHover); /* color: #869595 */}
	.rl-main .exercises {order: 6; border-radius: var(--unit); margin-top: 18px;}

  /* skrytí summary */
  .rl-main > .heading.hidden-summary {border-radius: var(--unit);}
  .rl-main > .content.hidden-summary {display: none;}
  .toggled-content-message {display: none;}

	@media (min-width: 950px) {
  .rl-main > .content:after {content: ''; position: absolute; top: -15px; left: 0; width: 100%; height: 15px; background: white;}
  .rl-main > div.content {padding-top: 0;}
  .tlacitko.show-only-lg {display: flex;}
  .tlacitko.show-only-sm {display: none;}
	}

	@media (max-width: 950px) {
  .tlacitko.show-only-lg {display: none;}
  .tlacitko.show-only-sm {display: flex;}
  .rl-main {display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(4, auto-fit);}
	.rl-main .heading {order: 1;}
  .rl-main .single-exercise {padding-left: calc(var(--unit) * 2); padding-right: calc(var(--unit) * 2);}
	.rl-main div.sidebar {position: relative; order: 2;  grid-row: auto; padding-top: 0;}
  .rl-main .sidebar:after {content: ''; position: absolute; top: -15px; left: 0; width: 100%; height: 15px; background: white;}
	.rl-main div.content {order: 3; margin-top: 15px;}
	.rl-main .toggled-content-message.hidden-summary {order: 6; margin-top: 15px; display: flex;}
	.rl-main .toggled-content-message.no-summary {display: none;}
	.rl-main .exercises {order: 7; margin-top: 15px;}

  .rl-main {padding-left: 0px; padding-right: 0px;}
  .rl-main > div, .single-exercise {border-left: 0 !important; border-right: 0 !important; border-radius: 0 !important;}
	}

  @media (max-width: 550px) {
  .narrow-hidden {display: none !important;}
  }

  .hidden-summary .toggle-summary .button-image {-webkit-mask-image: url("https://www.umimeto.org/asset/global/img/icons-umime/eye.svg"); mask-image: url("https://www.umimeto.org/asset/global/img/icons-umime/eye.svg");}
  .toggle-summary .button-image {-webkit-mask-image: url("https://www.umimeto.org/asset/global/img/icons-umime/eye-hidden.svg"); mask-image: url("https://www.umimeto.org/asset/global/img/icons-umime/eye-hidden.svg");}
  .tlacitko.no-summary {display: none;}

/********************** MOBILNI VERZE *****************************/

@media screen and (max-width: 450px) {
#content img.image-responsive {width: 100% !important;}
}

@media screen and (max-width: 550px) {

  /* #content */
  .mobileHide{
    display: none;
  }

  .content-box{
    padding-top:10px;
    padding-left:15px;
    padding-right:15px;
    padding-bottom:10px;  
    margin-left: 0; margin-right: 0; border-left: 0; border-right: 0; border-radius: 0; 
  }

  #content .content-box-title{
    margin-top: -10px;
    margin-left: -10px; 
    margin-right:-10px; 
    padding:10px 10px;
  }

  #content .content-box-title-small{  
    margin-left: -10px; 
    margin-right: 0px; 
  }

  .content-color-box{
    padding: 10px;
    margin: 10px 0px;
  }
  	
  #content .dropdown-content.right {  	
    left:-60px;    
    
  }

  .grid-2, .grid-3 {grid-template-columns: 1fr;}
  /* .span-2, .span-3 {grid-column: 1;} */
}
