@charset "utf-8";

html {
	/*overflow-x: hidden;
	overflow-y: hidden;*/
}
body {
	margin: 0;
	padding: 0;
	color: black;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 20px;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 26px;
    background-color: #c9f2af;
    background-image: url(../app/images/jungle.png);
    background-repeat: no-repeat;
    background-position-y: top;
    transition: background-position-y 1s;
}
body.contentpage {
	
    background-image: url(../app/images/jungle.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position-y: bottom;
    transition: background-position-y 1s;
}
body.section {
	
    background-image: url(../app/images/jungle.png);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position-y: top;
    transition: background-position-y 1s;
}
body.light, body.intro, body.home {
	background-color: #c9f2af;
    background-image: none !important;
}

b, strong {
	font-weight: bold;
}
/* ~~ Element/tag selectors ~~ */
ul, ol, dl { /* Due to variations between browsers, it's best practices to zero padding and margin on lists. For consistency, you can either specify the amounts you want here, or on the list items (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list unless you write a more specific selector. */
	/*padding: 0;
	margin: 0;
	list-style-type: disc;
	text-indent: 50px;
	list-style-position: inside;*/
}
h1, h2, h3, h4, h5, h6, p {
	font-family: 'Source Sans Pro', sans-serif;
	margin-top: 0;	 /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
	padding-right: 0px;
	padding-left: 0px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
}
h1, h2, h3, h4, h5, h6 {
	text-transform: uppercase;}
h1 {
	font-size: 2.6em;
	font-weight: 300;
    text-align: center;
}
h2 {
	font-weight: 400;
	font-size: 2em;
    text-align: center;
}
h3 {
    font-size: 2em;
    font-weight: 600;
    text-align: center;
}
p {	
	
}
input, button, select, textarea {
   /* font-size: inherit;*/
    font-size: 2em;
    margin-bottom: 20px;
}
select {
    margin-right: 10px;
}
video {
	/*margin-top: 10px;*/
}
audio, video {
    display: block;
    float: right;
    width: 50%;
}
a img { /* this selector removes the default blue border displayed in some browsers around an image when it is surrounded by a link */
	border: none;
}

a:link {
	color: #3480ab;
	text-decoration: none; 
}
a:visited {
	text-decoration: none;
}
a:hover, a:active, a:focus { /* this group of selectors will give a keyboard navigator the same hover experience as the person using a mouse. */
	text-decoration: none;
	color: #E2741A;
}

.menu-button-text {
	color: #333;
	cursor: pointer;
}

.menu-button-text:hover, .button-text:active, .button-text:focus {
	color: #000;
}

.menu-button {
	cursor: pointer;	
	border-radius: 150px;
    border: 3px solid #E2741A;
}
.menu-button:hover, .menu-button:focus, .menu-button:active, .menu-button.active, .menu-button.disabled, .menu-button[disabled] {
	border-width: 10px;
	border-color: #E2741A;
	border-radius: 150px;
	border-style: solid;
}

button, .button {
	cursor: pointer;
	font-size: 2em;
	font-weight: normal; 
	text-align: center; 
	vertical-align: middle;
	line-height: 1.4em;
	padding: 0px 20px;
	color: #FFF;
	border: none;
	background: #E2741A;
	display: inline-block;
	min-width: 150px;
    margin-right: 10px;
}
button:hover, button:active, button.active,  {
	color: #000;
	outline: none;
	box-shadow: none;
}
button.disabled, button[disabled] {
	color: #FFF;
	outline: none;
	box-shadow: none;
	cursor:initial;
}



.smallBtnCorner {
	cursor: pointer;
	display: inline-block;		
	background-repeat: no-repeat;
	height: 26px;
	width: 26px;
	background-position: center top;	
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
	position: absolute;
	right: 5px;
	top: 5px;
}
.smallBtnClose {
	background-image: url('../app/images/btnClose.png');
}
.smallBtnClose:hover, .smallBtnClose:focus, .smallBtnClose:active, .smallBtnClose.active, .smallBtnClose.disabled, .smallBtnClose[disabled] {
	background-image: url('../app/images/btnClose_1.png');
	outline: none;
}
/**/

.imgBtn {
    cursor: pointer;
    height: 35px;
    width: 35px;
    font-size: 30px;
    line-height: 35px;
    border-radius: 20px;
    color: #ff6600;
    background-color: #FFF;
}

.imgBtnReady {
	cursor: pointer;
	display: inline;	
	background-image: url(../app/images/btnContinue.png);
	background-repeat: no-repeat;
	text-align: center;
	height: 50px;
	width: 70px;
	background-position: center top;	
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 1em;
	right: 0px;
	float: right;
}
.imgBtnReady:hover, .imgBtnReady:focus, .imgBtnReady:active, .imgBtnReady.active, .imgBtnReady.disabled, .imgBtnReady[disabled] {
	background-image: url(../app/images/btnContinue_1.png);
	outline: none;
}
#navigView div {
	position: absolute;
	cursor: pointer;
}
#navigView .navig-title img {
    margin: 25px 80px;
    width: 600px;
}
.compact #navigView .navig-title img {
    margin: 20px 17px;
    width: 415px;
}
.navig-title:hover, .navig-title:focus, .navig-title:active, .navig-title.active, .navig-title.disabled, .navig-title[disabled] {	
	outline: none;
}
.imgBtnHome {
	position: relative;
    margin: 11px 54px 10px -50px;
    float: left;
}
.imgBtnHome:hover, .imgBtnHome:focus, .imgBtnHome:active, .imgBtnHome.active, .imgBtnHome.disabled, .imgBtnHome[disabled] {	
	box-shadow: 1px 3px 4px rgba(0, 0, 0, 0.19);
	color: #8DCBEF;
	outline: none;
}
.imgBtnList {
    position: absolute;
    top: 22px;
    right: 16%;
    background-image: url(../app/images/leaf.png);
    background-size: contain;
    background-repeat: no-repeat;
    font-size: 40px;
    width: 274px;
    height: 200px;
    padding: 88px 59px;
    color: #c9f2af;
    font-weight: bold;
    cursor: pointer;
}
.compact .imgBtnList {
    top: 22px;
    right: 5%;
    font-size: 30px;
    width: 200px;
    height: 200px;
    padding: 61px 42px;
}
.compact .imgBtnList:hover, .compact .imgBtnList:focus, .compact .imgBtnList:active, .compact .imgBtnList.active, .compact .imgBtnList.disabled, .compact .imgBtnList[disabled] {
    width: 204px;
}
.imgBtnList:hover, .imgBtnList:focus, .imgBtnList:active, .imgBtnList.active, .imgBtnList.disabled, .imgBtnList[disabled] {
	color: #fff;
	outline: none;
    width: 279px;
    height: 204px;
}

.imgBtnLeft {
    left: 23%;
    top: 247px;
}

.imgBtnLeft:hover, .imgBtnLeft:focus, .imgBtnLeft:active, .imgBtnLeft.active, .imgBtnLeft.disabled, .imgBtnLeft[disabled] {
	outline: none;
}
.imgBtnRight {
    right: 23%;
    top: 247px;
}
.imgBtnRight:hover, .imgBtnRight:focus, .imgBtnRight:active, .imgBtnRight.active, .imgBtnRight.disabled, .imgBtnRight[disabled] {
	outline: none;
}
.compact .imgBtnLeft {
    left: 25%;
    top: 61px;
}
.compact .imgBtnRight {
    right: 25%;
    top: 61px;
}

.sound-button {
	cursor: pointer;
	float:right;
	/*height: 50px;
	width: 60px;
	background-image: url(../app/images/kuulokkeet_pieni.png);*/	
    background-color: #FFF;
    margin-left: 0px;
    min-width: 0px;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
    color: #ff6600;
    font-size: 55px;
    line-height: 0em;
    margin-top: -9px;
    border-radius: 30px;
}
.sound-button:hover, .sound-button:focus, .sound-button:active, .sound-button.active, .sound-button.disabled, .sound-button[disabled] {
	margin-top: -10px;
	margin-bottom: 1px;
	/*box-shadow: 1px 3px 4px rgba(0, 0, 0, 0.19);*/
	outline: none;
}
.sound-button.play  {
	opacity: 1;
}
.sound-button.pause  {
	opacity: 0.5;
}

.divider {
	clear: both;

}

.oph-logo {
    margin-top: -100px;    
    margin-left: 70px;
    position: relative;
}

.loading {
	background-image: url('../app/images/loading_image.png');
}

.page-fade-out {
	opacity: 0;
	transition: opacity 0.5s;
}
.page-fade-in {
	opacity: 1;
	transition: opacity 0.5s;
}


.page {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: transition 0.5s ease;
  transform: translate3d(100%, 0, 0);
}

.page.is-visible {
  transform: translate3d(0, 0, 0);
}

#wrapper {
	position: relative;
	/*width: 1024px;*/
	padding: 0;
	margin-left: auto;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	overflow: hidden;	
}
#navigView {
	height: 0px;
    width: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1;
}
#pagesContainer {
	width: 100%;
	position: relative;
	clear: both;
}
.content {
	padding-top: 20px;
	padding-left: 70px;
	padding-right: 70px;
	padding-bottom: 70px;
}
.pagesView {
	padding: 0px;
	padding-bottom: 40px;
	float: left;
	width: 100%;
}
.taskView {
	margin-top: 0px;
	clear: both;
	position: relative;
    width: 1000px;
    margin: auto;
    margin-bottom: 75px;
}
.intro .taskView {
    width: 100%;
}
.page-top {
    width: 665px;
    margin: auto;
    margin-top: 226px;
    margin-bottom: 20px;
    min-height: 140px;
}
.intro .page-top {
    margin-top: 0px;
    margin-bottom: 0px;
    min-height: 0px;
}
#infoView {
    width: 900px;
    margin: auto;
    margin-top: 250px;
}
#infoView h2, 
.page-top h2 {
    margin-bottom: 60px;
}
.compact .page-top {
    margin-top: 68px;
}
.pagesView img {
	max-width: 100%;
	margin-bottom: 20px;
	display: block;
}
.pagesView img.half-width {
	max-width: 50%;
	float: right;
}
.pagesView img.inline {
    display: inline-block;
    margin-left: 20px;
}
.page-top .short-text {
	text-align: center;
    width: 100%;
    display: inline-block;
    margin-bottom: 0px;
}
.song-col {
	width: 49.5%;
	margin: 0.5% 0.5%;
    display: inline-block;
    vertical-align: top;
}
.song-col.col-1 {
	padding-right: 2%;
	margin-right: 0;
}
.song-col.col-2 {
	padding-top: 57px;
	padding-left: 2%;
	margin-left: 0;
    border-left: 2px solid #898787;
}
.compact .taskView {
    width: 80%;
}
.song-col .keyboard {
    margin-top: 38px;
}

#controlView {
	text-align: center;
	clear: both;
	padding-top: 0px;
    width: 1000px;
    height: 75px;
    margin: auto;
    position: relative;
}
.control {
	display: inline-block;
}
.pointsContainer {
    float: left;
    width: 220px;
    margin-top: 12px;
    margin-left: 172px;
    font-size: 2em;
    color: #e2741a;
}

.feedbackContainer {	
    margin-left: 20px;
    float: left;
    width: 240px;
    margin-left: 172px;
    font-size: 1.2em;
    color: #e2741a;
}
.progresContainer {
	margin-right: 20px;	
	float: left;
    margin-left: 15px;
    margin-top: 12px;
    color: #999;
    font-size: 2em;
}
.progresContainer span {
    color: #e2741a;
}
#btnNext.control  {
	float: right;
	margin-left: 20px;
}
#btnAgain.control ,#btnCheck.control , #btnPrev.control  {
	float: left;
	margin-right: 20px;
}
#controlView #btnAgain {
	cursor: pointer;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    line-height: 1.4em;
    padding: 0px 20px;
    color: #FFF;
    border: none;
    background: #E2741A;
    display: inline-block;
    min-width: 100px;
    margin-right: 10px;
    left: 10px;
    padding-left: 20px;
    font-size: 3.5em;
    width: 150px;
    height: 150px;
    border-radius: 75px;
    position: absolute;
    margin-top: 137px;
    z-index: 2;
}
#btnAgain.control:hover, #btnAgain.control:active, #btnAgain.control:focus {	
    box-shadow: 1px 3px 4px rgba(0, 0, 0, 0.19);
	/*color: #8DCBEF;*/
	outline: none;
}
#btnAgain.control:hover:after {
	content: 'Aloita alusta';
	width: 200px;
    display: block;
    text-align: left;
	font-size: 0.8em;
}
.btnPrev.control {
    display: inline-block;
    min-width: 0px;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
    color: #ff6600;
    font-size: 33px;
    line-height: 0em;
    margin-top: -3px;
    background-color: #fff;
}
.btnNext.control {
}
.btnNext.control span {
	text-transform: uppercase;
}
button.control {	

}
#controlView button.next-btn-big {
	cursor: pointer;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    line-height: 1.4em;
    padding: 0px 20px;
    color: #FFF;
    border: none;
    background: #E2741A;
    display: inline-block;
    min-width: 150px;
    margin-right: 10px;
    font-size: 3.5em;
    width: 150px;
    height: 150px;
    border-radius: 75px;
    padding-left: 30px;
    position: absolute;
    margin-top: 137px;
    right: 0px;
    z-index: 2;
}
.extraControls button {	
    font-size: 3.5em;
    width: 150px;
    height: 150px;
    border-radius: 75px;
    padding-left: 30px;
    position:absolute;
    margin-top: 54px;
}
.extraControls button.start-btn-big {
	font-size: 7em;
    width: 250px;
    height: 250px;
    border-radius: 125px;
    position:absolute;
    margin-top: 106px;   
    padding: 0px;
    position: relative;
    margin: auto;
}
.extraControls button.again-btn-big {
	left:10px;
    padding-left: 20px;
}
.extraControls button.next-btn-big {
	right:0px;
}
.extraControls button:hover, .extraControls button:active, .extraControls button:focus  {
	outline: none;
}
.extraControls {
	position: absolute;
	width: 1000px;
	text-align: center;
    z-index: 1;
    top: 20px;

}
.extraControls .btn-container{
    
}
.extraControls .txt-container {
    position: absolute;
    width: 800px;
}
.extraControls .txt-container div {
    float: left;
    width: 220px;
    margin-top: 10px;
    margin-left: 172px;
    font-size: 2em;
    color: #f60;
}
.extraControls .txt-container .tasks {
    margin-left: 15px;
    color: #999;
}
.extraControls .txt-container .tasks span {    
    color: #f60;
}
.specialFeedbackContainer {
	width: 100%;
	display: block;
    margin-bottom: 20px;
    float: left;
}
.footer {
    clear: both;
    margin-bottom: 20px;
    font-size: 1.2em;
}
.footer div {
	float: left;
	display: inline-block;
	width:23%;
}
.footer img {
	float: left;
	display: inline-block;
}
.footer div.authors, .footer div.terms, .footer div.teachers-guide {
	margin-left: 20px;
	margin-top: 14px;
	text-align: right;
}
.footer div.terms {
	margin-left: 113px;
}
.footer .divider {
	padding-top: 40px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 40px;
    margin-left: 0px;
    width: 100%;
}
.home-page-texts {
	width: 100%;
	text-align: center;
}
.home-page-texts .publisher {
	margin-bottom: 70px;
	line-height: 1.2em;
}
.home-page-texts .authors {
	font-size: 1em;
	font-weight: 300;
	line-height: 1.5em;
	margin-bottom: 23px;
}
.home-page-texts .home-page-title {
	font-size: 3em;
	line-height: 1.5em;
	color: #ff6600;
	margin-bottom: 70px;    
	margin-top: 40px;
}

.section-link {
	min-height: 290px;
	width: 220px;
	display: inline-block;    
	text-align: center;
	float: left;
}
.section-link-text {
	font-size: 1.2em;
	font-style: normal;
    font-weight: bold;
    display: inline-block;
    width: 95%;
    margin-top: 17px;
}
.section-link-img {
	width: 190px;
	margin:auto;
}

.section-content {
    width: 1000px;
    margin: auto;
    margin-top: 250px;
}

.column-half {
	float: left;
	width: 50%;
	padding-top: 50px;
}
.section-page-left {
	width: 62%;
    text-align: center;

}
.section-page-right {
	padding-left: 35px;
	padding-right: 0px;
	width: 38%;
}
.section-page-img {
	max-width: 100%;
    max-height: 460px;
}
.start-section-button {
    margin-bottom: -20px;
    margin-left: 70px;
    z-index: 100;
    display: block;
    position: relative;
    height: 40px;
    padding: 20px;
    padding-top: 10px;
    font-size: 0.8em;
    line-height: 1.2em;
    border-radius: 10px;
    background-color: #ff6600;
    text-transform: uppercase;
}
.section-title {
     padding-left: 0px;
    padding-right: 30px;
    padding-bottom: 50px;
	font-size: 2em;
	font-weight: bold;
	line-height: 1em;
	color: #284613;
}
.section-page-dot {
	padding-top: 2px;
	margin-right: 20px;
	display: inline-block;
    cursor: pointer;
	border-radius: 15px;
	height: 30px;
	width: 30px;
	background-color: #000;
}
.section-page-difficulty {
	display: inline-block;
    float: right;
}
.section-page-difficulty-legend {
	display: block;
    float: right;
    height: 50px;
    /* color: #666; */
    font-style: italic;
}
.page-link-header-text {
	font-size: 1.2em;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;	
	display: inline-block;
	vertical-align: top;
	margin-right: 0px;	
	margin-top: 4px;
    cursor: pointer;
    max-width: 88%;
}
.page-link-header {
	padding: 20px;
	padding-bottom: 17px;
	border-top: 1px solid #CCC;
	width: 100%;
    position: relative;
    clear: both;
}
.page-link:hover .section-page-dot-inner, .page-link:active .section-page-dot-inner, .page-link:focus .section-page-dot-inner {
	background-color: #FFF;
}
.page-link-text {
	color: #4E0A10
    font-size: 30px;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;	
    cursor: pointer;
}
.page-link {
    padding: 17px;
    width: 100%;
    height: 67px;
    position: relative;
    background-image: url(../app/images/button.png);
    background-size: contain;
    background-repeat: no-repeat;
    text-align: center;
}
.page-link:hover, .page-link:active, .page-link:focus {

}
.page-link:hover .page-link-text, .page-link:active .page-link-text, .page-link:focus .page-link-text {
	color: #FFF;
}

#sectionsWrapper table {
	width: 100%;
}
#sectionsWrapper td, 
#sectionsWrapper th {
	padding: 5px;
	padding-left: 8px;
	padding-right: 8px;
} 
#sectionsWrapper th{
	color: #FFF;
    background-color: #525252;
}


/*//////////////// task //////////////*/


.choice-container #draggables-container {
    float: right;
    font-size: 1.2em;    
    border: 1px dashed #999;
    padding: 5px;
    margin-bottom: 10px;
}
.draggable-fill {
    margin-bottom: 20px;
    cursor: move;
}
.draggable-fill.ui-draggable {
	background-color: rgba(256, 256, 256, 0.8);
}
.draggable-fill.ui-draggable-dragging {
	box-shadow: 1px 3px 4px rgba(0, 0, 0, 0.19);
}
.choice-container input.ui-droppable {
	background-color: #eaeaea;
	color: #FFF;
}
.choice-container input.ui-state-active {
	background-color: #ffcd47;

}
.choice-container input.ui-state-highlight {
	background-color: #FFF;

}
.choice-container input.ui-state-hover {
	background-color: #FFF;
}
.choice-container input {
	color: #000;
}
.choice-container input.locked {
	color: #CCC;
}
.choice-container input.locked.ui-droppable {
	color: #000;
}


.choice-container {
	padding-bottom: 20px;
	margin-bottom: 10px;
    vertical-align: text-top;
    width: 620px;
    margin: auto;
}
.choice-fill {
	font-size: 1.2em;
    display: inline-block;
    float: left;
    margin-right: 20px;
    /*width: 100%;*/
}
.choice-fill input{
	font-size: 1em;
}
.letter-num-hint {
	font-style: italic;
	color: #999;
}
.choice-container .sound-button {
    float:left;
    display: inline-block;
    margin-right: 10px;
}
.choice-container #sortable.horizontal {
	padding-top: 20px;
    padding-bottom: 20px;
}
.choice-statement, .choice-question {
	font-size: 1.2em;
	vertical-align: top;
	display: block;
	margin-right: 20px;
	padding-bottom: 20px;
}
.choice-statement, .choice-question.inline {
    vertical-align: inherit;
	display: inline-block;
    margin-right: 10px;
}
.choice-question.floating {
    float:left;
}
.choice-question.inline {
    float:left;
}
.choice-question span.number{
    display: none;
}
.choice-container.choice-btn-container {	
	display: inline-block;
	float: right;
}
.choice-container.inline  .choice-btn-container.inline {	
	float: left;
}
.choice-container.select img {    
    margin-right: 20px;
    display: block;
    float: left;
}
.choice-container.select img.block-image {
	float: none;
}
.choice-container.select select{    
    float: left;
}
.choice-container button {
	font-size: 1.2em;
	font-weight: 400;
	margin-left: 20px;
	min-width: 150px;
	float: right;
	border: 5px solid #FFF;
	background-color: #ff6600;
	padding-left: 13px;
    padding-right: 13px;
}
.choice-container button:hover, .choice-container button:active  {
	text-decoration: none;
	outline: none;
}

.choice-container button.img-choice {
	background-color: transparent;
    padding: 10px;
    color: #000;
    background-color: #ffffff;
    min-height: 213px;
}
.choice-container button.img-choice img {
	background-color: transparent;
    margin-bottom: 0px;
}
.choice-container .choice-list-item {	
	display: block;
    float: left;
    clear: both;
    margin-bottom: 20px;
    margin-left: 50px;
    padding: 10px;
}

.choice-container.inline .choice-list-item {	
	display: inline-block;
	clear: none;
    margin-left: 0px;    
    margin-right: 20px;
}
.choice-container.right  .choice-list-item,  .choice-btn-container.right  .choice-list-item {
    clear: none;	
	float: right;
}
.choice-btn-container.inline button {	
	float: left;
}
.choice-container.correct button {
	opacity: 0.7;
}

.choice-container .selected {
	border: 5px solid #FFA810;
}
.choice-container.wrong button{
	/*border: 5px dashed #71E483;*/
}

.choice-container.wrong button.selected, .choice-container button.selected.wrong {
    border: 5px solid #ed1c24;
}
.choice-container button.selected.wrong-fade {
	border-color: #FFF;
	-webkit-transition: border-color 0.5s;
    transition: border-color 0.5s;
}
.choice-container.correct button.selected, .choice-container button.selected.correct {
	border: 5px solid #17b700;
	opacity: 1;
}

/*//////////////// memory //////////////*/


.choice-memory {
	display: block;
    float: left;
    text-align: center;
    position: relative;
    /*background-color: #ff6600;*/
    border: 1px solid #FFF;
	overflow: hidden;
}
.choice-memory img {
	max-height: 100%;
    display: inline-block;
}
.choice-memory .text {
	width: 100%;
    display: block;
    position: absolute;
    left: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, 0.4);
    color: #FFF;
    padding: 13px 2px 13px 2px;
}
.choice-memory.ready.disappear.effect-activated .text, .choice-memory.ready.disappear.effect-activated .text-only {
    display: none;
}
.choice-memory.ready.effect-activated .text.appear {
    display: initial;
}
.choice-memory .text.appear {
    display: none;
}
.choice-memory .text-only {
	width: 100%;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    color: #000;
    padding: 13px 2px 13px 2px;
}

.choice-memory .cover {
	position: absolute;
	top:0px;
	left:0px;
    display: block;
	background-color: #ff6600;
	cursor: pointer;
}
.choice-memory .cover.disabled {
	cursor: initial;
}
.choice-memory img {
	max-height: 100%;
    display: inline-block;
}
.choice-memory .text {
	width: 100%;
    display: block;
    position: absolute;
    left: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, 0.4);
    color: #FFF;
    padding: 13px 2px 13px 2px;
}
.choice-memory .text-only {
	width: 100%;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    color: #000;
    padding: 21px 2px 13px 2px;
}
.choice-memory.six-row .cover {
    width: 158px;
	height: 158px;
}
.choice-memory.six-row {
	width: 158px;
	height: 158px;
}
.choice-memory.six-row .text {
	padding: 13px 2px 13px 2px;;
}
.choice-memory.six-row img.horizontal {
	max-width: none;
	max-height: 158px;
	margin-left: -25%;
}
.choice-memory.six-row img.vertical {
	max-width: 158px;
	max-height: none;
	margin-top: -25%;
}
.choice-memory.six-row-low .cover {
    width: 158px;
	height: 90px;
}
.choice-memory.six-row-low {
	width: 158px;
	height: 90px;
}
.choice-memory.six-row-low .text {
	padding: 13px 2px 13px 2px;;
}
.choice-memory.six-row-low img.horizontal {
	max-width: none;
	max-height: 90px;
	margin-left: -25%;
}
.choice-memory.six-row-low img.vertical {
	max-width: 158px;
	max-height: none;
	margin-top: -25%;
}

.choice-memory.five-row .cover {
    width: 190px;
	height: 140px;
}
.choice-memory.five-row {
	width: 190px;
	height: 140px;
}
.choice-memory.five-row .text {
	padding: 13px 2px 13px 2px;;
}
.choice-memory.five-row img.horizontal {
	max-width: none;
	max-height: 140px;
	margin-left: -25%;
}
.choice-memory.five-row img.vertical {
	max-width: 190px;
	max-height: none;
	margin-top: -25%;
}

.choice-memory.five-row-low .cover {
    width: 190px;
	height: 90px;
}
.choice-memory.five-row-low {
	width: 190px;
	height: 90px;
}
.choice-memory.five-row-low .text {
	padding: 13px 2px 13px 2px;;
}
.choice-memory.five-row-low img.horizontal {
	max-width: none;
	max-height: 90px;
	margin-left: -25%;
}
.choice-memory.five-row-low img.vertical {
	max-width: 190px;
	max-height: none;
	margin-top: -25%;
}

.choice-memory.four-row .cover {
    width: 240px;
	height: 240px;
}
.choice-memory.four-row {
	width: 240px;
	height: 240px;
}
.choice-memory.four-row .text {
	padding: 13px 2px 13px 2px;;
}
.choice-memory.four-row img.horizontal {
	max-width: none;
	max-height: 240px;
	margin-left: -25%;
}
.choice-memory.four-row img.vertical {
	max-width: 240px;
	max-height: none;
	margin-top: -25%;
}

.choice-memory.four-row-low .cover {
    width: 240px;
	height: 90px;
}
.choice-memory.four-row-low {
	width: 240px;
	height: 90px;
}
.choice-memory.four-row-low .text {
	padding: 13px 2px 13px 2px;;
}
.choice-memory.four-row-low img.horizontal {
	max-width: none;
	max-height: 90px;
	margin-left: -25%;
}
.choice-memory.four-row-low img.vertical {
	max-width: 240px;
	max-height: none;
	margin-top: -25%;
}


/*//////////////// lightbox //////////////*/

.lightbox-image {
	cursor: zoom-in;
}
.lightbox {
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100%;
	text-align: center;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.7);
	cursor: pointer;
    cursor: zoom-out;
}

.lightbox img {
	max-width: 90%;
	max-height: 80%;
	margin-top: 2%;
}

.lightbox:hover {
	outline: none;
}


/*//////////////// page, common //////////////*/

.img-1-2 {
	max-width: 49%;	
	float: left;
}
.img-1-2:first-of-type, .img-1-2:nth-of-type(3), .img-1-2:nth-of-type(5), .img-1-2:nth-of-type(7) {
	margin-right: 2%;
}
.img-1-3 {
	margin-right: 1%;
	max-width: 31%;	
	float: left;
}
.img-1-3:nth-of-type(3), .img-1-3:nth-of-type(6), .img-1-3:nth-of-type(9) {
	margin-right: 0%;
}
.img-1-4 {
	margin-left: 24%;
	margin-right: 1%;
	float: left;
}
.img-1-4:nth-of-type(4), .img-1-4:nth-of-type(8), .img-1-4:nth-of-type(12) {
	margin-right: 0%;
}

.feedbackView {
    margin-bottom: 28px;
}
.feedback-text {
	float:right;
    font-size: 1.2em;

}
img.feedback-image  {
	margin-bottom: 30px;
}
.feedback img {
	max-width: 300px;	
	float: right;    
	margin-left: 20px;
}


.feedback .sound-button {
    margin-left: 20px;
    float: right;
}
.taskView.crossword .hint-container {
	float:right;
	margin-bottom: 10px;
}
.hint {
	float:right;
}
.choice-container .hint-container {
	float:left;
    margin-left: 20px;
}
.hint-text {
	background-color: #eee;
    padding: 10px;
    font-style: italic;
}
.hint-img {
	max-width: 300px;	
	float: right;
}
.hint button {	
	
    background-color: #FFF;
    margin-left: 0px;
    min-width: 0px;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
    color: #ff6600;
    font-size: 50px;
    line-height: 0em;
    margin-top: -9px;

}
.hint button:hover, .hint button:focus, .hint button:active, .hint button.active, .hint button.disabled, .hint button[disabled] {
	margin-top: -10px;
	margin-bottom: 1px;
	/*box-shadow: 1px 3px 4px rgba(0, 0, 0, 0.19);*/
	outline: none;
}
.hint-view .hint button {	
	margin-top: 0px;
}
.choice-container .hint button {	
	border: none;
	opacity: 1;
}

.example-answer {
	font-style: italic;
}
.input-field {	
	background-color: white;
	padding-left: 4px;
	padding-right: 4px;
}
.input-field.wrong, select.wrong {	
	background-color: #F99;
}
.input-field.correct, select.correct, .input-field.correct.ui-state-highlight, .input-field.correct.ui-state-active {	
	background-color: #CFC;
}
.input-field.correct[disabled], select.correct[disabled] {	
	color: #333;
}



/*//////////////// animsition //////////////*/

.animsition,
.animsition-overlay {
  position: relative;
  opacity: 0;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}


/* loading option */
.animsition-loading,
.animsition-loading:after {
  width: 32px;
  height: 32px;
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -16px;
  margin-left: -16px;
  border-radius: 50%;
  z-index: 100;
}

.animsition-loading {
  background-color: transparent;
  border-top: 5px solid rgba(0, 0, 0, 0.2);
  border-right: 5px solid rgba(0, 0, 0, 0.2);
  border-bottom: 5px solid rgba(0, 0, 0, 0.2);
  border-left: 5px solid #eee;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-animation-iteration-count:infinite;
          animation-iteration-count:infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-duration: .8s;
          animation-duration: .8s;
  -webkit-animation-name: animsition-loading;
          animation-name: animsition-loading;
}

@-webkit-keyframes animsition-loading {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes animsition-loading {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}


/*//////////////// order //////////////*/

#sortable { 
	list-style-type: none; 
	margin: 0; 
	padding: 0; 	 
	padding-left: 50px;
}
#sortable.horizontal { 
 	width: 100%;
	padding-left: 0px;
	overflow-x: hidden;
    overflow-y: hidden;
}
#sortable li { 
	margin: 10px 0px 0px 0px;
	font-size: 1em; 
	cursor: move;
}

#sortable li.disabled {  
	cursor: initial;
}
#sortable li.order-text.disabled {  
	border: none;
}
#sortable li.wrong {  
	border: 5px solid #F76565;
}
#sortable li.correct {  
	border: 5px solid #71E483;
}

#sortable.horizontal li { 
	display: inline-block;
	margin: 0px 10px 0px 0px;
}
#sortable li span { 
	position: absolute; 
	margin-left: -1.3em; 
}
#sortable li img.full-width {
	max-width: none;
}
#sortable.horizontal li img {
	max-width: 300px;
	margin-bottom: 0px; 
}
#sortable.horizontal li { 
	margin: 0px 10px 10px 0px;
	vertical-align: top;
}
#sortable li.order-text { 
	font-size: 2em; 
}



/*//////////////// crossword //////////////*/

.taskView.crossword table { 
	border-collapse: collapse; 
	border-spacing: 0; 
	max-width: 100%;
}
.taskView.crossword table tr{
	width: 100%;
}
.taskView.crossword table td {
	width: 3em;
	height: 3em;
	border: 1px solid #cdcdcd;
	padding: 0;
	margin: 0;
	background-color: #333;
	position: relative;
}
		
.taskView.crossword td input {
	width: 100%;
	height: 100%;
	padding: 0em;
	border: none;
	text-align: center;
	font-size: 2.2em;
	color: #666;
	background-color: #f4f4f4;
}

.taskView.crossword td input:focus {
	background-color: #fff;
}

.taskView.crossword td span {
	/*color: #444;
	font-size: 0.8em;
	position: absolute;
	top: -1px;
	left: 1px;*/
	display: none;
}

.taskView.crossword input.done {
	font-weight: bold;
	color: green;
}

.taskView.crossword .active,
.taskView.crossword .clues-active {
	background-color: #ddd;
}
.taskView.crossword .clue-done {
	color: #999;
	text-decoration: line-through;
}

#puzzle-wrapper {
	float: left;
	width: 54%;
	margin-right: 3%;
}
#puzzle-clues {
	float: left;
	width: 40%;
}

#puzzle-clues li{
	font-size: 1.2em;
	margin: .3em;
	line-height: 1.6em;
    margin-left: -10px;
}

/*.taskView.crossword.numbers #puzzle-clues li{
	list-style-type: disc;
}*/
.crossword #puzzle-clues li{
	list-style-type: none;
}
.crossword #puzzle-clues li .media-container{
	display: inline-block;
    vertical-align: top;
}
.crossword #puzzle-clues li.clue-done .media-container{
	text-decoration: line-through;
}
.crossword #puzzle-clues img {
    margin-bottom: 0px;
}
.media-container .text, .media-container img {
	float:left;
	margin-right: 10px;
}
.crossword .media-container .sound-button {
	margin-top: 0px;
}
.crossword h4 {
	font-style: italic;
    font-size: 1.2em;
}



/*//////////////// WordSeachGame //////////////*/


.wordmaze .wordmaze-container {
	position: relative;
	cursor: pointer;
}	
.wordmaze .wordmaze-container.with-canvas {
	position: absolute;
	top: 0px;
    left: 0px;
}
.wordmaze .cell {
	position:absolute;
	font-weight: 300;
    padding-top: 12px;
    font-size: 2em;
    text-align: center;
}
.wordmaze .cell.emphasis {
	font-weight: 700;
}
.wordmaze .cell.hint {
	font-style: italic;
}
.wordmaze .cell.wrong {
	background-color: #ffcccc;
}
.wordmaze .cell.normal {
	background-color: initial;
	transition: background-color 0.5s
}
.wordmaze .cell.correct {
	background-color: rgba(204,255,204,0.8);
}
.wordmaze .cell.selected {
	background-color: #cceaff;
}


/*/////////////////////////////*/



.score .btn-container {	
    height: 57px;
    width: 100%;
    text-align: right;
    position: relative;
    z-index: 2;
}
.song-name {
    background-color: #E2741A;
    color: #FFF;
    padding: 10px;
    padding-left: 20px;
    font-weight: bold;
    width: 53%;
}
.compact .song-name, .compact .song-credits {
    width: initial;
}
.song-credits {
    color: #E2741A;
    font-weight: bold;
    padding-left: 20px;
    width: 53%;
}
.song-credits.last-credit {
    margin-bottom: 30px;
}
input.song-tempo {
	width: 108px;
    padding-left: 20px;
}
.countdown {	
    background-color: #E2741A;
    vertical-align: top;
}
.countdown.fade {	
    transition: opacity 0.5s;
    opacity: 0;
}
.speeds {
    display: inline-block;
    width: 300px;
    float: left;
    margin-right: 20px;
}
.speeds i {    
    margin-left: 35px;
    font-size: 3em;
}
.speeds i:first-of-type {    
    margin-left: 2px;
}
input[type=range] {
    width: 300px;
    
}

button.off {	
    background-color: #b9b9b9;
}
.esitystapa {
    cursor: 'pointer';
}
.esitystapa-container #droppable-container {
    top: -407px;
    height: 355px;
    position: relative;
    opacity: 0;
}
.esitystapa-container #draggables-container {
    top: -407px;
    position: relative;
    font-size: 2em;
    line-height: 1.3em;
}
img.small-note {
    float: right;
}
.name-box .speeds img {
 	float:right;
 	width: 100px;
}
.name-box .speeds img:first-of-type {
	float:left;
}
.song-words-input {
    position: absolute;
    top: 325px;
    left: 160px;
    background: none;
    color: #000;
    border: none;
    width: 880px;
    text-transform: uppercase;
}
.song-words-input:focus {	
    outline: none;
}
.song-words-input.initial {
    color: #e1ffcd;
    text-transform: none;
}
button.jatka {
    margin-top: 30px;
    margin-left: 20px;
    margin-right: 0px;
    float: right;
}
button.valmis {
    margin-top: 30px;
    margin-right: 0px;
    float: right;
}
button.uusi {
    margin-top: 30px;
    margin-bottom: 60px;
    float: left;
    clear: both;
}

#songName.selector-container {
    float: right;
    width: 45%;
}
#songName select {
    width: 100%;
    font-weight: normal;
    padding-left: 20px;
    color: #999;
}
#songName label {
    margin-bottom: 10px;
    font-weight: normal; 
}
#songName select option {
    color: #000;
}
#songName select option[disabled] {
    color: #999;
    display: none;
}
.compact #songName.selector-container {    
    position: absolute;
    right: 0;
    width: initial;
}
@media print {
	button, select, .imgBtnRight, .imgBtnLeft, .imgBtnList,
    .print-song .page-top {
        display: none !important;
    }
    .print-song .taskView {
        margin-top: 210px;
    }
    .print-song .song-col.col-1 {
        padding-right: 1% !important;
    }
    .print-song .song-col {
        width: 100% !important;
    }
    .print-song .song-col.col-2 {
        padding-top: 0px !important;
        padding-left: 0.5% !important;
        padding-right: 0.5% !important;
        margin-left: 0 !important;
        border-left: none !important;
    }
    .print-song .song-col .keyboard {
        margin-top: 150px;
    }
}

#wrapper.touch-area {
	/*background-position: -16px 64px;
    background-repeat: repeat;
    background-image: url(../app/images/scroll.png);*/
    padding-right: 2%;
}
/*
#scoreView, #keyboardView {
	max-width: 900px;
	display: inline-block;	
    margin-right: 30px;
}
#wrapper {
	width: 100%;
}
*/

@media screen {
    .wrapper, #wrapper {margin-left: auto;}
}
@media only screen and (max-width: 1550px) {

    .taskView {
        width: 70%;
    }
    .page-top {
        width: 70%;
        max-width: 700px;
        margin-top: 150px;
    }
    .narrow .page-top {
        margin-top: 96px;
    }
    .song-words-input {
        top: 341px;
    }
    .extraControls .txt-container {
        font-size: 0.8em;
    }
    .extraControls .txt-container div {
        width: 220px;
        margin-left: 65px;
    }
    .section-page-img {
        max-height: 441px;
    }
    body.portrait .wrapper, #wrapper {
        margin-left: 0px;
        position: relative; 
        width: 100%;
    }
    body.portrait .pagesView {
        padding-top: 20px;
        padding-left: 0px;
        padding-right: 0px;
    }
    body.portrait .page-top {
        padding-left: 20px;
        padding-right: 20px;
    }
    body.portrait button, .button {
        min-width: 17%;
    }


    body.portrait .song-col {
        width: 100%;
    }
    body.portrait .song-col.col-1 {
        padding-right: 1%;
    }
    body.portrait .song-col.col-2 {
        padding-top: 0px;
        padding-left: 0.5%;
        padding-right: 0.5%;
        margin-left: 0;
        border-left: none;
    }
    body.portrait #navigView .navig-title img {
        margin: 12px 32px;
        width: 434px;
    }
    body #navigView .navig-title img {
        margin: 12px 32px;
        width: 434px;
    }
    .compact #navigView .navig-title img {
        margin: 12px 111px;
        width: 336px;
    }
    body.portrait .imgBtnList {
        top: 14px;
        right: 7%;
    }
    body .imgBtnList {
        top: 14px;
        right: 7%;
    }
    .compact .imgBtnList {
        top: 14px;
        right: 11%;
    }
    body.portrait .section-content {
        width: 942px;
        margin: auto;
        margin-top: 179px;
    }
    body .section-content {
        width: 942px;
        margin: auto;
        margin-top: 187px;
    }
    body.portrait.section {
        background-size: 140%;
        background-position-x: 87%;
        background-position-y: top;
    }
    body.section {
        background-size: 140%;
        background-position-x: 89%;
        background-position-y: top;
    }

    body.portrait .imgBtnLeft {
        left: 1%;
        top: 158px;
    }
    body .imgBtnLeft {
        left: 1%;
        top: 234px;
    }
    .compact .imgBtnLeft {
        left: 1%;
        top: 47px;
    }
    body.portrait .imgBtnRight {
        right: 1%;
        top: 158px;
    }
    body .imgBtnRight {
        right: 1%;
        top: 234px;
    }
    .compact .imgBtnRight {
        right: 1%;
        top: 47px;
    }
    body.portrait.compact .page-top {
        margin-top: 97px;
    }
    body.portrait.compact .song-words-input {
        top: 251px;
    }
}
@media only screen and (max-width: 1300px) {
    .compact .taskView {
        width: 99%;
    }
    .extraControls {
        width: 100%;
    }
    #infoView {
        width: 700px;
    }
    body #navigView .navig-title img {
        margin: 12px 19px;
        width: 423px;
    }
    .keyboard {
        width: 75%;
        margin: auto;
    }
    .song-col .keyboard {
        width: 100%;
    }
}
@media only screen and (max-width: 1270px) {
    .narrow .page-top {
        margin-top: 150px;
    }
}
@media only screen and (min-width: 1025px) {
    .intro .taskView {
        width: 85%;
    }
    .home #homeView {
        width: 89%;
        margin: auto;
    }
}
@media only screen and (max-width: 1025px) {
    .page-top, .narrow .page-top {
        margin-top: 260px;
    }
    .song-words-input {
        top: 251px;
    }
}
@media only screen and (max-width: 768px) {
    #wrapper {
        min-height: 950px;
    }
    body.portrait #navigView .navig-title img {
        margin: 12px 32px;
        width: 385px;
    }
    body.portrait .section-content {
        width: 98%;
    }
    body.portrait.section {
        background-size: 186%;
        background-position-x: 91%;
        background-position-y: bottom;
    }
    .page-link {
        padding: 17px 10px;
    }
    .taskView {
        width: 98%;
    }
    .section-page-right {
        padding-left: 20px;
        padding-right: 0px;
        width: 50%;
    }
    .section-page-left {
        width: 50%;
    }
    #homeView {
        max-width: 700px;
        margin: auto;
    }
    .intro .taskView {
        width: 100%;
        max-width: 700px;
    }
    body.portrait .pagesView {
        padding-top: 0px;
    }
    .oph-logo {
        margin-top: -97px;
        margin-left: 44px;
        width: 305px;
    }
    button.alkuun {
        float: left;
        margin-top: 30px;
    }
    button.valmis {
        float: right;
        clear: both;
        margin-top: 30px;
    }
    .page-top {
        width: 80%;
    }
    .extraControls .txt-container div {
        margin-left: 40px;
    }
    .keyboard {
        width: 100%;
    }
}

@media print {
    .wrapper, #wrapper {margin-left: 0px;}
}