section.hidden {
    display: none;
}

.toc {
/*    display: none;*/
}


.display {
  
     margin-top: 1em;
    margin-bottom: 5em;
    border-top: 1px solid #ddd;
}

.display ul li {
   position: relative;
    padding-left: 30px;
}


.cathegories {
    display: flex; 
/*    flex-flow: wrap;*/
    width: 650px;
}
.cathegories li {
    flex: 1 1 auto;
    min-width: 15%;
/*    max-width: 25%;*/
/*    width: 25%;*/
/*    border: 1px solid #eee;*/
/*    padding: 0.5em !important;*/
    text-align: left;
    margin: 0.5em;
    background-color: #ddf;
    border: 1px solid #def;
}

.cathegories li:hover {
    background: #eefcff;
    cursor: pointer;
}

.cathegories h3 {
    color: #fff;
    background-color: #0D4B9B;
    padding: 0.2em;
}
/*
.cathegories li + li {
    border-left: 1px solid #ddd;
    padding-left: 0.5em;
}
*/
.cathegories p {
    margin: 0;
    padding: 0.5em;
    padding-left: 0.5em;
}

.toc li::before {
    display: none
}


.cases {
    display: flex; 
    flex-wrap: wrap;
    width: 650px;
    text-align: center;
}
.cases img { border: 0px none}

.cases figcaption {
    margin-top: 0;
}
.case {
    margin: 0.0em 0.2em;
    padding: 0.4em;
    border: 1px solid transparent;
}

.case:hover, .case.actual {
    border: 1px solid #ddd;
    background-color: #fafafa;
}

.toc p {
    text-align: left;
    color: #777;
}

.part /*+ .part*/ {
    margin-top: 1.8em;
}
.part img {
    max-width: 90%;
}
h2 + .part {
    margin-top: 0.0em;
}

.questions {
    margin-top: 1em;
    border-width: 1px 1px 1px 10px;
    border-style: solid;
    border-color: #393;
    padding-right: 1em;
    padding-bottom: 1em;
    
}

.questions h4 {
    padding-left: 30px;
}

.biblio {
margin-top: 2em;
    font-size: 80%;
    border: 1px solid #36f;
    border-left-width: 10px;
/*    padding: 0.5em;*/
}


.question {
    padding: 0.5em;
    padding-left: 30px;
/*    color: #999;*/
}

.question + .question {
    margin-top: 1em;
}

.question h3 {
    margin-left: 0;
    padding-left: 0;
}
.question p {
    padding-left: 0;
    text-indent: 0;
}

.task {
    font-weight: bold;
    border-bottom: 1px solid #ddd;
    position: relative;
    padding-right: 30px;
}

.task p {
    display: inline;
}
.answer {
    margin-left: 1.5em;
    margin-top: 0.3em;
    display: none;
    color: #666;
}
.answer-toggler {
    position: absolute;
    bottom: 2px; right: 0;
    width: 20px; height: 20px;
}


.toolbar {
    margin-top: 1em;
}

.toolbar input {
    display: inline-block;
    margin-right: 1em;
    padding: 0.3em;
}

.repeater {
    margin-top: 1.5em;
}

table p {
    text-indent: 0;
}

.search p {
    text-indent: 0;
    margin-top: 0.3em;
}

.search label, .search input[type="radio"] {
    display: inline-block;
    vertical-align: baseline;
    padding: 0.3em;
}

.search :checked + label {
    font-weight: bold;
}

.keywordLists ol {
    margin: 0; padding: 0;
    display: flex;
    flex-flow: wrap;
}

.keywordLists li {
    list-style: none;
    flex: 1 0 0;
    flex-grow: 0;
    white-space: nowrap;
    padding: 0.3em 0.5em;
    border: 1px solid #ddd;
    border-radius: 5px;
    margin-right: 0.3em;
    
/*    border: 1px solid #bbb;*/
}
.keywordLists li:hover {
    cursor: pointer;
    border-color: #bbb;
    background-color: #dfd;
}
.keywordLists .actual, .keywordLists li.actual:hover {
    color: #fff;
    border-color: #1c911c;
    font-weight: bold;
    background-color: #1c911c;
}

.mail { margin-top: 1em}