

:root {
    --primary-color: rgb(255,209,0);
    --secondary-color: rgb(255,237,153);
    --accent-color: rgb(7,148,229);
    --font-color: rgb(77,77,77);
    --smoke-height: 40%;
    --smoke-opacity: 1;
    --flash-radius: 140px; /* flashlight radius when enabled */
    --flash-falloff: 40px; /* soft edge */
    --dark-alpha: 0.85; /* darkness level */
    --handle-offset: 22px; /* distance of handle below light center */
}

html{
    font-family: "klavika-web", "Arial", "Helvetica", sans-serif;
    -webkit-text-size-adjust:100%;
    -ms-text-size-adjust:100%;
    box-sizing: border-box;
	scroll-behavior: smooth;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body{
    margin:0;
    font-family: "klavika-web", "Arial", "Helvetica", sans-serif;
    color: var(--font-color);
    font-size: 16px;
    min-height: 100%;
    background-color: var(--primary-color);
    max-width:1000px;
    margin:0 auto;
    position:relative;
}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{
    display:block
}
audio,canvas,progress,video{
    display:inline-block;
    vertical-align:baseline
}
audio:not([controls]){
    display:none;
    height:0
}
[hidden],template{
    display:none
}
a{
    background-color:transparent;
    text-decoration: none;
}
a:active,a:hover{
    outline:0
}

a{
    font-weight:700;
    color:var(--accent);
    text-decoration:underline;
    -webkit-transition:all ease 0.5s;
    -moz-transition:all ease 0.5s;
    -ms-transition:all ease 0.5s;
    -o-transition:all ease 0.5s;
    transition:all ease 0.5s;
}

a:hover{

}
abbr[title]{
    border-bottom:1px dotted
}
b,strong{
    font-weight:700
}
dfn{
    font-style:italic
}
h1{
    margin:.67em 0;
    font-size:2em
}
mark{
    color:#000;
    background:#ff0
}
small{
    font-size:80%
}
sub,sup{
    position:relative;
    font-size:75%;
    line-height:0;
    vertical-align:baseline
}
sup{
    top:-.5em
}
sub{
    bottom:-.25em
}
img{
    border:0;
    max-width: 100%;
}
svg:not(:root){
    overflow:hidden
}
figure{
    margin:1em 40px
}
hr{
    height:0;
    -webkit-box-sizing:content-box;
    -moz-box-sizing:content-box;
    box-sizing:content-box
}
pre{
    overflow:auto
}
code,kbd,pre,samp{
    font-family:monospace,monospace;
    font-size:1em
}
button,input,optgroup,select,textarea{
    margin:0;
    font:inherit;
    color:inherit
}
button{
    overflow:visible
}
button,select{
    text-transform:none
}
button,html input[type=button],input[type=reset],input[type=submit]{
    -webkit-appearance:button;
    cursor:pointer
}
button[disabled],html input[disabled]{
    cursor:default
}
button::-moz-focus-inner,input::-moz-focus-inner{
    padding:0;
    border:0
}
input{
    line-height:normal;
}
input[type=checkbox],input[type=radio]{
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
    padding:0
}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{
    height:auto
}
input[type=search]{
    -webkit-box-sizing:content-box;
    -moz-box-sizing:content-box;
    box-sizing:content-box;
    -webkit-appearance:textfield
}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{
    -webkit-appearance:none
}
fieldset{
    padding:.35em .625em .75em;
    margin:0 2px;
    border:1px solid silver
}
legend{
    padding:0;
    border:0
}
textarea{
    overflow:auto
}
optgroup{
    font-weight:700
}
table{
    border-spacing:0;
    border-collapse:collapse
}
td,th{
    padding:0
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.login .blueHeader, .messageNotLoggedIn .blueHeader{
    background-color:rgb(235,34,50);
    height:30px;
}

.pageWidth{
    max-width: 100%;
    width:960px;
    margin:0 auto;
}

.header{
    background-color:rgb(255,255,255);
    color:var(--primary-color);
    overflow-x:hidden;
    position:relative;
    z-index:300;
}

.header .identity{
    padding:20px 0;
    border-bottom:1px solid rgb(238,238,238);
    box-shadow:0px 2px 2px rgba(0,0,0,0.2);
    margin-bottom:2px;
}


.header .identity .logo{
    display:inline-block;
    vertical-align: middle;
    margin-right:10px;
}

.header .identity .logo img{
    display:block;
}

.header .identity .naslov{
    display:inline-block;
    vertical-align: middle;
}

.header .identity .trainingTitleWrap{
	display:inline-block;
    vertical-align: middle;
    margin-left:15px;
    color:var(--font-color);
    position:relative;
}

.header .identity .trainingTitle{
	font-weight:600;
	font-size:16px;
}


.header .identity .trainingSubTitle{
	font-weight:300;
	font-size:12px;
}

.header .identity .trainingTitleWrap .endExercise{
    position:absolute;
    top:50%;
    right:-60%;
    transform: translateY(-50%);
    color:rgb(255,255,255);
    padding:5px;
    font-size:10px;
    font-weight:200;
    text-align:center;
    border-radius:5px;
    background-color: var(--accent-color);
    box-shadow:0px 0px 3px 1px rgba(0,0,0,0.5);
    border:1px solid var(--font-color);
    cursor: pointer;
}

.header .title{
    font-weight:bold;
    font-size:28px;
}

.header .subTitle{
    font-size:20px;
}

.pageTitle{
    background-color:rgb(238,238,238);
}

.pageTitle .title{
    font-weight:normal;
    padding:20px 0;
    font-size:26px;
    color:var(--font-color);
}

.blueWrap{
    background-color:var(--secondary-color);
    padding:20px;
}

.login .blueWrap, .messageNotLoggedIn .blueWrap{
    padding:40px 0;
}



.login .blueWrap .imageWrap{
    text-align:center;
    padding-top:20px;
}

.inputWrap{
    width:500px;
    margin:0 auto;
    max-width:90%;
    text-align:left;
    margin-bottom: 20px;
}

.inputWrapper{
    position:relative;
}

.inputWrap .title{
    font-weight:bold;
    font-size:14px;
    color:var(--accent-color);
    margin-bottom:5px;
}

.inputWrap input[type="text"], .inputWrap input[type="password"]{
    padding:10px 10px;
    font-size:14px;
    color:var(--font-color);
    line-height:20px;
    width:100%;
    outline:none;
    box-shadow:1px 1px 4px rgba(0,0,0,0);
    border:1px solid var(--accent-color);
    -webkit-transition:all ease 0.5s;
    -moz-transition:all ease 0.5s;
    -ms-transition:all ease 0.5s;
    -o-transition:all ease 0.5s;
    transition:all ease 0.5s;
}

.inputWrap input[type="text"]:focus{
    box-shadow:1px 1px 4px rgba(0,0,0,0.5);

}

.inputWrap input[type="password"]:focus{
    box-shadow:1px 1px 4px rgba(0,0,0,0.5);
}

.inputWrap textarea{
    padding:5px;
    font-size:14px;
    color:rgb(235,34,50);
    width:100%;
    outline:none;
    box-shadow:1px 1px 4px rgba(0,0,0,0);
    border:1px solid rgb(235,34,50);
    -webkit-transition:all ease 0.5s;
    -moz-transition:all ease 0.5s;
    -ms-transition:all ease 0.5s;
    -o-transition:all ease 0.5s;
    transition:all ease 0.5s;
    height:150px;
    resize:none;
}

.inputWrap textarea:focus{
    box-shadow:1px 1px 4px rgba(0,0,0,0.5);
}

.inputWrap .button .icon{
    display:inline-block;
    vertical-align: middle;
    width:30px;
}

.inputWrap .button .icon img{
    display:block;
}

.inputWrap .button .label{
    display:inline-block;
    vertical-align: middle;
    width:auto;
}

.inputWrap .note{
    font-size: 12px;
    margin-bottom:3px;
}

.inputWrap .button, .messageNotLoggedIn .button, .message .button{
    background-color:var(--accent-color);
    border:2px solid rgba(7,148,229,0);
    color:rgb(255,255,255);
    text-align:center;
    padding:15px 0;
    width:100%;
    font-weight:bold;
    font-size:20px;
    cursor:pointer;
    -webkit-transition:all ease 0.5s;
    -moz-transition:all ease 0.5s;
    -ms-transition:all ease 0.5s;
    -o-transition:all ease 0.5s;
    transition:all ease 0.5s;
}

.inputWrap .buttonDisabled{
    background-color:rgb(200,200,200);
    color:rgb(255,255,255);
    text-align:center;
    padding:15px 0;
    width:100%;
    font-weight:bold;
    font-size:20px;
    cursor:pointer;
    -webkit-transition:all ease 0.5s;
    -moz-transition:all ease 0.5s;
    -ms-transition:all ease 0.5s;
    -o-transition:all ease 0.5s;
    transition:all ease 0.5s;
}



.inputWrap .button a, .messageNotLoggedIn .button a, .message .button a{
    color:rgb(255,255,255);
    text-decoration: none;
}

.inputWrap .button:hover{
    border:2px solid rgba(7,148,229,1);
}

.messageNotLoggedIn .button:hover{
    border:2px solid rgba(7,148,229,1);
}

.message .button:hover{
    border:2px solid rgba(7,148,229,1);
}

.message .button{
    width:500px;
    margin:0 auto;
    max-width:100%;
}

.message .text{
	margin-top:30px;
	text-align: center;
	font-size:20px;
    padding-bottom:30px;
}

.messageNotLoggedIn .button a{
    display:block;
    color:rgb(255,255,255);
}

.login .inputWrapper .show{
    position:absolute;
    top:1px;
    right:1px;
    font-size:12px;
    padding:0 5px;
    line-height:40px;
    background-color:var(--primary-color);
    cursor:pointer;
    border-left:1px solid var(--accent-color);
}

#menu{
	overflow:hidden;
	width:100%;
}

#menu .topBlueBar{
    background-color:var(--primary-color);
    color:var(--font-color);
    text-align:left;
    padding:8px 0;
    position:relative;
    z-index: 300;
}

#menu .topBlueBar .pageWidth{
    position:relative;
}

#menu .topBlueBar a{
    color:var(--accent-color);
}

#menu .topBlueBar .user .icon, #menu .topBlueBar .user .name{
    display:inline-block;
    vertical-align: middle;
}

#menu .topBlueBar .user .name{
    font-size:14px;
}

#menu .topBlueBar .user .icon{
    width:25px;
}

#menu .topBlueBar .logout{
    width:20px;
    position:absolute;
    right:0;
    top:50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

#menu .topBlueBar .logout .wrap{
    position:relative;
    cursor:pointer;
}

#menu .topBlueBar .logout .wrap img{
    display:block;
    -webkit-transition:all ease 0.2s;
    -moz-transition:all ease 0.2s;
    -ms-transition:all ease 0.2s;
    -o-transition:all ease 0.2s;
    transition:all ease 0.2s;
}

#menu .topBlueBar .logout .wrap .white{
    opacity:1;
    position:relative;
    z-index:500;
} 

#menu .menuWrap{
    font-size:0;
    text-align:left;
    background-color:var(--font-color);
}

#menu .menuWrap .menuItem{
    display:inline-block;
    vertical-align: top;
    font-weight:500;
    font-size:18px;
    position:relative;
    background-color:rgba(213,230,254,0);
    -webkit-transition:all ease 0.2s;
    -moz-transition:all ease 0.2s;
    -ms-transition:all ease 0.2s;
    -o-transition:all ease 0.2s;
    transition:all ease 0.2s;
}

#menu .menuWrap .menuItem .carret{
    font-weight: 200;
    font-size: 14px;
    padding-left: 5px;
    top: -1px;
    position: relative;
} 

#menu .menuWrap .menuItem .rightBorder{
    position:absolute;
    top:50%;
    right:0;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    height:10px;
    width:1px;
    background-color:rgb(230,230,230);
}

#menu .menuWrap .menuItem .subMenu{
    position:absolute;
    z-index:1000;
    top:99%;
    width:200%;
    left:0;
    background-color:rgb(255,255,255);
    max-height:0px;
    -webkit-transition:all ease 0.5s;
    -moz-transition:all ease 0.5s;
    -ms-transition:all ease 0.5s;
    -o-transition:all ease 0.5s;
    transition:all ease 0.5s;
    overflow:hidden;
    border-bottom: 1px solid rgb(238,238,238);
}

#menu .menuWrap .menuItem:hover{
    background-color:rgba(255,255,255,1);
}

#menu .menuWrap .menuItem:hover .carret{
    color:white;
}

#menu .menuWrap .menuItem:hover .subMenu{
    max-height:400px;
    box-shadow: 0px 2px 2px rgba(0,0,0,0.2);
}

#menu .menuWrap .menuItem .subMenu .subMenuItem{
    position:relative;
    font-size:14px;
}

#menu .menuWrap .menuItem .subMenu .subMenuItem a{
    padding:9px;
    padding-left:22px;
}

#menu .menuWrap .menuItem .subMenu .subMenuItem .bottomBorder{
    position:absolute;
    top:100%;
    left:22px;
    width:20px;
    height:1px;
    background-color:rgb(230,230,230);
}

#menu .menuWrap .menuItem:hover .subMenu .subMenuItem:hover{
    background-color:rgba(213,230,254,1);
}


#menu .menuWrap .menuItem:hover .subMenu .subMenuItem:hover a{
    color:rgba(235,34,50,1);
}

#menu .menuWrap .menuItem a{
	display:block;
	color:rgba(255,255,255,1);
	padding:18px;
	font-weight:400;
	text-decoration: none;
}

#menu .menuWrap .menuItem:first-child{
    margin-left:-18px;
}

#menu .menuWrap .menuItem:hover a{
    color:var(--font-color);
}

#menu .menuWrap .menuItemActive{
    background-color:rgb(238,238,238) !important;
    cursor:default !important;
}

#menu .menuWrap .menuItemActive a{
    color:rgb(200,200,200) !important;
    cursor:default;
}

#menu .header .identity{
    box-shadow:none;
}

#menu .menuWrap{
    box-shadow:0px 2px 2px rgba(0,0,0,0.2);
    margin-bottom:3px;
}

.responsiveHandle{
    display:none;
    width:42px;
    height:30px;
    position:absolute;
    top:10px;
    right:10px;
    margin-left:10px;
    margin-top:10px;
    margin-bottom:10px;
}

.responsiveHandle .wrap{
    width:100%;
    height:100%;
}

.responsiveHandle .wrap .bar{
    height:4px;
    position:absolute;
    background-color:var(--font-color);
    border-radius:3px;
    width:100%;
    -webkit-transition: all ease 0.5s;
    -moz-transition: all ease 0.5s;
    -ms-transition: all ease 0.5s;
    -o-transition: all ease 0.5s;
    transition: all ease 0.5s;
}

.responsiveHandle .wrap .topBar{
    top:0;
    left:0;
    -webkit-transform:rotate(0deg);
    -moz-transform:rotate(0deg);
    -ms-transform:rotate(0deg);
    -o-transform:rotate(0deg);
    transform:rotate(0deg);
}

.responsiveHandle .wrap .middleBar{
    top:50%;
    left:0;
    margin-top:-2px;
}

.responsiveHandle .wrap .bottomBar{
    bottom:0;
    left:0;
}

.menuOpened .responsiveHandle .wrap .topBar{
    -webkit-transform:rotate(30deg);
    -moz-transform:rotate(30deg);
    -ms-transform:rotate(30deg);
    -o-transform:rotate(30deg);
    transform:rotate(30deg);
    top:44%;
    left:-7%;
    width:116%;
}

.menuOpened .responsiveHandle .wrap .bottomBar{
    -webkit-transform:rotate(-30deg);
    -moz-transform:rotate(-30deg);
    -ms-transform:rotate(-30deg);
    -o-transform:rotate(-30deg);
    transform:rotate(-30deg);
    top:44%;
    left:-9%;
    width:116%;
}

.menuOpened .responsiveHandle .wrap .middleBar{
    -webkit-transform:rotate(-30deg);
    -moz-transform:rotate(-30deg);
    -ms-transform:rotate(-30deg);
    -o-transform:rotate(-30deg);
    transform:rotate(-30deg);
    top:48%;
    left:-9%;
    width:116%;
}



.loginPage, .messagePage{
	position: relative;
	z-index:200;
}

.blueWrap .logoWrap{
	text-align: center;
}

.blueWrap .logoWrap img{
	display:block;
	margin:0 auto;
	margin-bottom:10px;
}

.blueWrap .logoWrap .title{
	font-size:32px;
	font-weight:700;
}

.fullPageParticles{
	position: fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:100;
}

.page2Title{
	font-size:32px;
	text-align: center;
	padding:10px 5px;
	margin-bottom:10px;
	font-weight:700;
	background-color: var(--font-color);
	color:rgb(255,255,255);
}

.page2Note{
	font-size:14px;
	text-align: center;
	padding:0px 5px;
	margin-bottom:5px;
}


.trainings .buttons{
	margin-top:15px;
}

.trainings .buttons .button{
	position:relative;
	padding:10px;
	border-radius:10px;
	background-color:var(--accent-color);
	border:2px solid var(--font-color);
	margin-bottom:15px;
	color:rgb(255,255,255);
	text-align: center;
	cursor:pointer;
}

.trainings .buttons .button .title{
	font-size:20px;
	font-weight:700;
	margin-bottom:5px;
}

.trainings .buttons .button .title{
	font-size:20px;
	font-weight:700;
	margin-bottom:5px;
}

.trainings .buttons .button .icons{
	position:absolute;
	top:5px;
	right:5px;
	font-size:0;
}

.trainings .buttons .button .icons .icon{
	display:inline-block;
	vertical-align: middle;
	width:20px;
}

.trainings .buttons .button .icons .icon img{
	display:block;
}

.trainings .buttons .button .difficulty{
	position:absolute;
	top:5px;
	left:5px;
}

.trainings .buttons .button .stars{
	font-size:0;
}

.trainings .buttons .button .stars .star{
	display:inline-block;
	vertical-align: middle;
	margin-right:3px;
}

.trainings .buttons .button .stars .star img{
	display:block;
	width:10px;
}

.trainings .buttons .button .fullStars{
	position:absolute;
	top:0;
	left:0;
}

.trainings .buttons .button .easy .fullStars .star:nth-child(2){
	opacity:0;
}

.trainings .buttons .button .easy .fullStars .star:nth-child(3){
	opacity:0;
}

.trainings .buttons .button .medium .fullStars .star:nth-child(3){
	opacity:0;
}

.toolboxWrap{
	position:absolute;
	top:50px;
	right:15px;
	z-index:100000;
	border-radius:5px;
	border:1px solid var(--font-color);
	box-shadow:0px 0px 2px rgba(0,0,0,0.6);
	background-color: rgb(255,255,255);
}

.toolboxWrap .toolboxIcon{
	position:relative;
	padding:8px;
    cursor: pointer;

}

.toolboxWrap .toolboxIcon img{width:50px;display:block}

.toolboxWrap .toolboxIcon .closed{
	position:relative;
	opacity:1;
}

.toolboxWrap .toolboxIcon .opened{
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}

.toolboxWrap .tools{
	height:0vh;
	overflow:hidden;
	transition:all ease 0.5s;
    padding-top: 25px;
    margin-top: -25px;
}

.toolboxWrap .tools .tool{
    position:relative;
}

.toolboxWrap .tools .tool .notification{
    position:absolute;
    top:-15px;
    right:10px;
    width:15px;
    text-align: center;
    font-size:10px;
    background-color:rgb(220,0,0);
    color:rgb(255,255,255);
    font-weight:600;
    padding:3px;
    border-radius:3px;
}

.toolboxWrap .toolsOpened{
	height:calc(100vh - 200px);
}

.toolboxWrap .tools .tool img{
	display:block;
	width:50px;
	margin:0 auto;
}


.training{
    max-width:960px;
    margin:0 auto;
}

.training .mainScheme{
	position:relative;
}

.training .mainScheme .imageWrap{
	position:relative;
	z-index:200;
}

.training  .clickableElements{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:200;
}

.training  .clickableElements .clickableElem, .training  .clickableElements .effect{
    position:absolute;
    top:0;
    left:0;
    z-index:200;
    /*background-color:rgba(37,78,118,0.3);
    border:2px solid rgb(0,255,255);*/
}

.training  .clickableElements .clicker{
    position:absolute;
    top:0;
    left:0;
    display:none;

}

.training  .clickableElements .clicker img{
    width:100%;
    display:block;

}

.training .installation{
    display:none;
    position:relative;
    user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.training .installation img{
    pointer-events: none;
}

.training .installation .unit{
    display:none;
    position: relative;
} 

.training .explanation .installation{
    display:block !important;
} 

.training .explanation .installation .unit{
    display:block !important;
}

.training .navigationMenu{
	position:absolute;
	top:96px;
	left:0;
	width:100%;
	background-color:rgba(0,0,0,0.6);
	padding:5px;
    z-index:300;
}

.training .navigationMenu .upArrow{
	display:inline-block;
	vertical-align: middle;
}

.training .navigationMenu .upArrow img{
	display:block;
	width:30px;
}



.training  .effects{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:190;
}

.training  .effects .effect{
    position:absolute;
    top:0;
    left:0;
    z-index:190;
    display:none;
    /*background-color:rgba(37,78,118,0.3);
    border:2px solid rgb(0,255,255);*/
}

.lightbox{
    top:0;
    left:0;
    right:0;
    bottom:0;
    background-color:rgba(0,0,0,0.8);
    position:fixed;
    z-index:1000000;
    display:none;
}

.lightbox .lightboxContent{
    width:90%;
    height:90%;
    left:5%;
    top:5%;
    position:fixed;
    z-index:1000001;
    background-color:rgb(255,255,255);
}

.notebook{
    width:95%;
    margin:0 auto;
}

.notebook .notebookContents{
    height:400px;
    margin:0 auto;
    margin-top:10px;
    border:1px solid var(--font-color);
    padding:10px;
    overflow-y:scroll;
    overflow-x:hidden;
}

.notebook .notebookContents .note{
    margin-bottom:5px;
    padding-bottom:5px;
    border-bottom:1px solid var(--font-color);
}

.notebook textarea{
    width:100%;
    height:100px;
    padding:5px;
    outline:none !important;
    border-radius:5px;
}

.notebook .controlButtons{
    font-size:0;
    text-align: center;
}

.notebook .controlButtons .button{
    width:50%;
    display:inline-block;
    vertical-align: top;
    background-color:var(--primary-color);
    color:var(--font-color);
    font-size:14px;
    font-weight:600;
    padding:10px;
    border-radius:10px;
}

.notebook .controlButtons .button:nth-child(2){
    background-color:var(--font-color);
    color:rgb(255,255,255);
}

#messages .controlButtons{
    font-size:0;
    text-align: center;
}

#messages .controlButtons .button{
    width:50%;
    display:inline-block;
    vertical-align: top;
    background-color:var(--font-color);
    color:rgb(255,255,255);
    font-size:14px;
    font-weight:600;
    padding:10px;
    border-radius:10px;
}

#messages .messages{
    width:90%;
    margin:20px auto;
    border:1px solid var(--font-color);
    padding:10px;
    border-radius:5px;
}


#messages .messages .message{
    text-align:center;
    border-bottom:1px solid var(--font-color);
    padding-bottom:10px;
    margin-bottom:10px;
}

.training .questions{
   display:none;
}

.training .questions .question{
    border:1px solid var(--font-color);
    padding:10px;
    border-radius:5px;
    width:90%;
    background-color:rgb(255,255,255);
    margin:0 auto;
    position:relative;
    display:none;
}

.training .questions .question .answer{
    position:relative;
}

.training .questions .question .text{
    font-size:20px;
    text-align: center;
}

.training .questions .question .correct{
    position:absolute;
    top:10px;
    left:10px;
    display:none;
}

.training .questions .question .chosen{
    position:absolute;
    top:10px;
    right:10px;
    color:var(--font-color);
    display:none;
}

.training .exerciseOver .question .correct{
    display:block;
}

.training .questions .question .answerSelected .chosen{
    display:block;
}

.training .questions .question .answers{
    width:90%;
    margin:0 auto;
    margin-top:15px;
}

.training .questions .question .answers .answer{
    border:2px solid var(--primary-color);
    background-color: var(--accent-color);
    color:rgb(255,255,255);
    text-align: center;
    padding:10px;
    border-radius: 5px;
    margin-bottom:20px;
    cursor: pointer;
}

.training .questions .question .answers .answerSelected{
    border:2px solid var(--accent-color);
    background-color: rgb(255,255,255);
    color:var(--font-color);
}

.training .questions .question .answers .answer .selectWrap{
    margin-top:5px;
}

.training .questions .question .answers .answer select{
    color:var(--font-color);
    border-radius:5px;

}



.training .questions .question .continueButton{
    border:2px solid var(--primary-color);
    background-color: var(--accent-color);
    color:rgb(255,255,255);
    text-align: center;
    padding:10px;
    border-radius: 5px;
    font-size:20px;
    cursor: pointer;
    font-weight:600;
}

.training .explanation{
    display:none;
}


.training .exerciseOver .question .continueButton{
    display:none;
}



#smoke {
    position: absolute;
    inset: 0 0 auto 0;
    height: var(--smoke-height);
    opacity: var(--smoke-opacity);
    pointer-events: none;
    mix-blend-mode: normal;
    border-top-left-radius:16px; border-top-right-radius:16px;
    -webkit-mask-image: linear-gradient(to bottom, #000 80%, rgba(0,0,0,0));
    mask-image: linear-gradient(to bottom, #000 80%, rgba(0,0,0,0));
    overflow: hidden;
    background: rgba(0,0,0,0.25);
}


#smoke::before, #smoke::after {
    content: "";
    position: absolute; left: -30%; right: -30%; top: -50%;
    height: 240%;
    filter: blur(16px) contrast(180%) brightness(1.1);
    background:
    radial-gradient(60% 90% at 20% 30%, rgba(0,0,0,.95), transparent 60%),
    radial-gradient(70% 80% at 70% 20%, rgba(0,0,0,.9), transparent 65%),
    radial-gradient(55% 85% at 40% 70%, rgba(0,0,0,.85), transparent 60%),
    radial-gradient(65% 75% at 85% 60%, rgba(0,0,0,.9), transparent 60%),
    radial-gradient(50% 70% at 10% 80%, rgba(0,0,0,.8), transparent 55%),
    radial-gradient(40% 60% at 50% 50%, rgba(255,255,255,0.15), transparent 70%);
    background-repeat: no-repeat;
    background-size: 55% 75%, 60% 70%, 50% 70%, 50% 65%, 45% 60%, 100% 100%;
    animation: rise 9s linear infinite alternate,
    drift 14s ease-in-out infinite alternate,
    glow 6s ease-in-out infinite alternate;
}


#smoke::after {
    filter: blur(26px) contrast(190%) brightness(1.2);
    opacity: .9;
    animation: rise 12s linear infinite alternate-reverse,
    drift 18s ease-in-out infinite alternate-reverse,
    glow 8s ease-in-out infinite alternate;
    transform: translateY(12%);
}

/* Overlay draws either: full dark (flashlight off) OR dark-with-hole (flashlight on) */
.flashlight-overlay{
    position:absolute; inset:0; pointer-events:none; z-index:200;
    --x: 50%;
    --y: 50%;
    /* Default: gradient with transparent center (flashlight on). We switch vars when flashlight off. */
    background: radial-gradient(
    circle at var(--x) var(--y),
    rgba(0,0,0,0) 0,
    rgba(0,0,0,0) calc(var(--flash-radius) - var(--flash-falloff)),
    rgba(0,0,0, calc(var(--dark-alpha) * 0.25)) var(--flash-radius),
    rgba(0,0,0, var(--dark-alpha)) calc(var(--flash-radius) + 1px)
    );
    opacity: 0; transition: opacity .25s ease;
}




/* 1) DARK TOGGLE — show/hide the entire overlay */
.installation[data-dark="true"] .flashlight-overlay{ opacity: 1; }


/* 2) FLASHLIGHT TOGGLE — when off, collapse the transparent center to 0 so it's fully dark */
.installation[data-flashlight="false"]{ --flash-radius: 0px; --flash-falloff: 0px; }


/* Handle that sits just below the light center; hide it when dark or flashlight are off */
.flash-handle{
position:absolute; z-index:3; width:22px; height:22px; border-radius:50%;
left: var(--x); top: calc(var(--y) + var(--handle-offset));
transform: translate(-50%, -50%);
background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), rgba(255,255,255,.65) 60%, rgba(240,240,255,.3) 61%);
border: 2px solid rgba(255,255,255,.9);
box-shadow: 0 6px 18px rgba(0,0,0,.45), inset 0 0 0 2px rgba(0,0,0,.25);
cursor: grab; touch-action: none; user-select:none;
opacity: 1; transition: opacity .2s ease;
}
.flash-handle:active{ cursor:grabbing; }
.flash-handle::after{ content:""; position:absolute; left:50%; top:-8px; width:2px; height:10px; transform:translateX(-50%); background:rgba(255,255,255,.7); }


/* Hide handle when not applicable */
.installation[data-dark="false"] .flash-handle,
.installation[data-flashlight="false"] .flash-handle{ opacity: 0; pointer-events: none; }

#flashHandle{
    display:none !important;
}



@keyframes rise {
    0% { transform: translateY(25%) }
    100% { transform: translateY(-25%) }
}
@keyframes drift {
    0% { background-position: 0% 0%, 60% 0%, 30% 30%, 90% 40%, 5% 65%, 50% 50%; }
    100% { background-position: 20% 10%, 40% -10%, 45% 25%, 65% 30%, 25% 70%, 55% 55%; }
}
@keyframes glow {
    0% { filter: blur(16px) contrast(170%) brightness(1.0); }
    100% { filter: blur(20px) contrast(200%) brightness(1.3); }
}


.training  .score{
    border: 1px solid var(--font-color);
    padding: 10px;
    font-weight:bold;
    font-size:20px;
    border-radius: 5px;
    width: 90%;
    background-color: rgb(255, 255, 255);
    margin: 0 auto;
    text-align:center;
    display:none;
}

.training  .score span{
    font-weight:300;
}

.exerciseOver .wrongAnswer{
    outline:4px solid rgb(225,0,0);
    border:2px solid rgb(255,255,255) !important;
}

.exerciseOver .correctAnswer{
    outline:4px solid rgb(0,225,0);
    border:2px solid rgb(255,255,255) !important;
}

.training  .stats{
    border: 1px solid var(--font-color);
    padding: 10px;
    font-size:16px;
    border-radius: 5px;
    width: 90%;
    background-color: rgb(255, 255, 255);
    margin: 0 auto;
    text-align:center;
    display:none;
}

.training  .stats span{
    font-weight:300;
}

.training  .stats .title{
    font-weight:bold;
    font-size:22px;
    margin-bottom:10px;
}

.training  .stats .button{
    border:2px solid var(--primary-color);
    background-color: var(--accent-color);
    color:rgb(255,255,255);
    text-align: center;
    padding:10px;
    border-radius: 5px;
    font-size:20px;
    cursor: pointer;
    font-weight:600;
    margin-top:20px;
}

.questionsOnly{
    background-color:rgb(255,255,255);
}

.questionsOnly .buttonWrap{
    position:fixed;
    width:100%;
    margin:0 auto;
    bottom:0;
    left:0;
    right:0;
    z-index:20000;
}

.questionsOnly .question{
    display:none;
    padding:0px 5px;
    font-size:14px;
}

.questionsOnly .questionActive{
    display:block;
}

.questionsOnly .buttonWrap .button{
    border:2px solid var(--primary-color);
    background-color: var(--accent-color);
    color:rgb(255,255,255);
    text-align: center;
    padding:10px;
    border-radius: 5px;
    font-size:20px;
    cursor: pointer;
    font-weight:600;
    margin-top:20px;
}

.questionsOnly .question .title{
    text-align: center;
    font-size:20px;
    margin-bottom:8px;
}

.questionsOnly .questionActive .imageWrap{
    text-align:center;
    margin:0 auto;
}

@media screen and (max-width: 1100px) {
    .pageWidth{
        padding-left:10px;
        padding-right:10px;
    }
    
    #menu .topBlueBar .logout{
        right:10px;
    }
}

@media screen and (max-width: 970px) {
    .pageWidth{
        padding-left:10px;
        padding-right:10px;
    }

    .responsiveHandle{
        display:block;
    }

    .header #site-meni{
        position:fixed;
        right:-100%;
        background-color:rgb(255,255,255);
        z-index:12000;
        width:150px;
        top:114px;
        padding-bottom:40px;
        -webkit-transition:all ease 0.5s;
        -moz-transition:all ease 0.5s;
        -ms-transition:all ease 0.5s;
        -o-transition:all ease 0.5s;
        transition:all ease 0.5s;
    }

    #page-wrap #menu .menuOpened #site-meni{
        right:0%;
    }

    .header #site-meni .pageWidth{
        
    }

    #menu .menuWrap .menuItem{
        display:block;
        border-bottom:1px solid rgb(100,100,100);
    }

    #menu .menuWrap .menuItem:first-child{
        margin-left:0;
    }

    #menu .menuWrap .menuItem .rightBorder{
        display:none;
    }

    #menu .menuWrap .menuItem .subMenu{
        position:relative;
        top:auto;
        left:auto;
        width:100%;
        max-height:none;
        padding-left:20px;
        margin-top:-15px;
    }

    #menu .menuWrap .menuItem .carret{
        display:none;
    }

    #menu .menuWrap .menuItem a{
    	color:var(--font-color);
    	text-align: right;
    }
}


@media screen and (max-width: 600px) {
    .pageTitle .title{
        font-size:20px;
        padding:10px 0;
    }

}