* {
 box-sizing: border-box;   
}

h1 + section {
    margin-top: 1.5em;
}

.toc {
	margin: 1em 0;
	display: flex;
	flex-flow: row wrap;
}

.toc p {
	flex: 1 0 100%;
	text-indent: 0;
}

.toc input {
	display: none;
}

.toc label {
	flex: 0 0 25%;
	padding: 0.5em;
	border: 1px solid #fff;
	background-color: #f9f9f9;
	cursor: pointer;
}

.toc label:hover {
	background-color: #eee;
}

.toc :checked + label {
/*	text-shadow: 1px 0 0 #999;*/
	font-weight: bold;
background-color: #ddd;
}

#test {
    display: flex; 
    flex-wrap: wrap;
    margin-right: 20px;
    margin-top: 2em;
}

#test h2 {
    flex: 1 0 auto;
    width: 100%;
}

#test .feedback {
    width: 100%;
    font-size: 120%;
}


.testimage {
    flex: 1 1 auto;
    width: 704px;
    position: relative;
    order: 0;
    height: 404px;
    margin-bottom: 1em;
     border: 1px solid #bbb;
    overflow: hidden;
    
}

.testimage img {
   /* 
    width: 700px;
    max-height: 400px;
*/
    position: absolute;
    left: 0; top: 0;
}

.helper {
	position: absolute;
	right: 0; bottom: 0;
	width: 100%;
	display: none;
	
	flex-flow: row;
	justify-content: flex-end;
	padding: 0.5em;
}

.helper-content {
/*	display: none;*/
	flex: 0 1 100%;
	text-indent: 0;
	background-color: #ffd;
	padding: 0.5em;
	border: 1px solid #bbb;
	color: #999;
}

.helper-content:empty {
	display: none;
}

.checked .helper {
	display: flex;
}

.shown > .helper-content {
	display: block;
}

.helper-switch {	
	flex: 0 0 32px;
	margin: 0.5em;
	align-self: flex-end;
}


#prep-image2 {
    top: 800px;
}
.testimage figcaption {
    position: absolute;
    left: 0em;
    top: 0em;
    font-size: 200%;
    font-weight: bold;
    padding: 0.5em;
    background: rgba(150, 0, 0, 0.4);
    color: #fff;
}

.testimage figcaption:empty {
	display: none;
}

.selLists {
	flex: 1 0 100%;
	display: flex;
	order: 2;
}
.checked + .selLists {
	display: none;
}

ol.selList {
    flex: 1 1 auto;
    order: 2;
    list-style: none;
    margin: 0; padding: 0;
/*    width: 200px;*/
    text-align: left;
    font-size: 125%;
}

.selList li {
    margin: 0;
    padding: 0em;
/*    padding-left: 0*/
    cursor: pointer;
}

.selList input {
    display: none;
}

.selList label {
       padding: 0.2em;
    color: #999;
    cursor: pointer;
	display: block;
}
.selList :checked + label {
 
   color: #a00;
    background-color: #f3d9f3;
}

.selList label:hover {
    color: #e00;
   background-color: #fef; 
}

.thumbs {
    flex: 1 1 auto;
    width: 210px;
    height: 300px;
    order: 1;
    display: flex;
    flex-wrap: wrap;
}
.thumb {
    position: relative;
    border: 4px solid #ddd;
    padding: 1px;
    flex: 1 1 auto;
/*    min-width: 44%;*/
    width: 49%;
    margin-right: 1px;
margin-bottom: 1px;
     cursor: pointer;
}
.thumb:hover {
    border-color: #c00;
}

.thumb img {
    display: block;
    width: 94px;
    margin: auto auto;
    height: 70px;
    object-fit: cover;
    object-position: 50% 50%;
}

.thumb figcaption {
    position: absolute;
    top: 2px;
    left: 2px;
    background: rgba(150,0,0,0.3);
    padding: 0.3em;
    font-size: 85%;
    text-shadow: 1px 1px 1px #330;
    color: #fff;
    text-align: left;
    line-height: 1.3em;
}

.thumb.correct {
    border-color: #6c6;
}

.thumb.correct::after {

    position: absolute;
    right: 3px;
    bottom: 2px;
    content: url(f-check.png);
	background-color: rgba(255,255,255,0.8);
	padding: 0.1em;
}

.thumb.wrong {
    border-color: red;
}

.thumb.wrong::after {

    position: absolute;
    right: 3px;
    bottom: 2px;
    content: url(f-cross.png);
	background-color: rgba(255,255,255,0.8);
	padding: 0.1em;

}

.thumb.actual {
    border-color: #800;
}

.thumb.inactive {
    cursor:no-drop;
}



.toolbar {
    text-indent: 0;
    order: 20;
}
.btn-normal {
    font-size: 120%;
    padding: 0.3em;
/*    font-weight: bold;*/
    
}

.feedback {
    margin: 0.8em 0;
    order: 19;
	
}

.feedback p {
	text-indent: 0;
}

.fbImage {
	width: 700px;
}

#test.hidden, .hidden {
    display: none;
}

.selector {
    margin-top: 2em;
    margin-bottom: 1em;
}

.selector input {
    display: none;
}

 .selector label {
    display: inline-block; 
    margin-right: 0.5em;
     padding: 0.5em;
    text-indent: 0;
     cursor: pointer;
     border: 1px solid transparent;
}
.selector label:hover {
    background-color: #eee;
}

.selector :checked + label {
    font-weight: bold;
    background-color: #ddd;
}

.bi {
	font-weight: bold;
	font-style: italic;
}

.answer {
    margin-top: 1.5em;
    padding-top: 1em;
    border-top: 1px solid #bbb;
}


#lang-switch {
	display: inline-block;
	vertical-align: top;
	width: auto; height: auto;
	margin: 0.3em;
	padding: 0;
	background: transparent;
	
}

main h1::before, main h2::before {
	display: none;
}

main h1 {
	padding-left: 0; 
	padding-top: 0;
	margin-top: 0;
	text-indent: 0;
	font-size: 200%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

main h2 {
	padding-left: 0; 
	padding-top: 0;
	margin-top: 1em;
	margin-bottom: 0.1em;
	text-indent: 0;
	font-size: 150%;
	
}

.langswitch {
	
	display: inline-flex;
	justify-content: space-between;
	margin-top: 0em;
	margin-bottom: 0.3em;
/*	margin-right: 1em;*/
	width: 235px;
}

.langswitch a {
	width: 49%;
	border: 5px solid #eee;
	padding: 5px;
	background: linear-gradient(135deg, #ddd 0, #fff 30%, #fff 60%, #ddd 100%);
	text-align: center;
		
}

.langswitch img {
	opacity: 0.3;
}
.act img, .langswitch a:hover img {
	opacity: 1
}

p {text-indent: 0;}
