div.center{
	width:100%;
	text-align:center;
	font-size:1.2rem;
}
span.feedback{
	background-repeat:no-repeat;
	background-position:center;
	height: 145px;
	position: absolute;
	width: 126px;
	z-index: -1;
	left:0;
	right:0;
	margin-left:auto;
	margin-right:auto;
	top:-35px;
}
div.textfeedback{
	background-repeat:no-repeat;
	background-position:center;
	font-size:16px;
}
.quiz-container{
    max-width:900px;
    margin: 0 auto;
	background-color:#FFFFFF;
    box-shadow: rgba(0, 0, 0, 0.1) 0 4px 6px 0;
    border-radius: 10px;
    overflow: hidden;
    box-sizing: border-box;
}
.quiz-container .quiz-header{
    background-color: #3a6ea5;
    color: white;
    padding: 15px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.quiz-container .question-container{
    padding: 15px;
    border-bottom: 1px solid #eee;
    position: relative;
}
.quiz-container .quiz-footer{
    display: flex;
    justify-content: space-evenly;
    padding: 10px;
    align-items: center;
    flex-wrap: wrap;
    clear: both;
}
div.qrow{
    display:none;
	position:relative;
    }
div.qrow .allowHover{
	width:200px;
	min-height:80px;
	padding:5px;
	line-height:80px;
	overflow: visible;
	word-wrap:break-word;
    box-sizing: border-box;
    /*word-break: break-all;*/
     
	/*font-family: Georgia,Cambria,serif;*/
	vertical-align:middle;
	position:relative;
	font-family: 'ES Sans', 'Open Sans', Arial,Helvetica,sans-serif;
	font-size: 1.1rem;
	display: table-cell;
    height: 80px;
    border-radius: 8px;
    -webkit-touch-callout: none;
    -webkit-user-select: none; 
    -khtml-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
}
div.qrow .multipleChoices { transition: all .2s ease-in-out; }

.qrow > img, .questionCard img{
    max-height:300px;
    max-width:100%;
    margin-top:5px;
    
    border: 2px solid #3a6ea5;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  box-sizing: border-box;
}
div.choice{	
	display: inline-block;
    line-height: 100%;
    vertical-align: middle;
}
div.questionCard{
	/*max-width:600px;*/
	width:100%;
	min-height:154px;
	margin:5px auto;
	text-align: center;
	font-family: 'ES Sans', 'Open Sans', Arial,Helvetica,sans-serif;
	box-sizing:border-box;
}
.hideQuestion .questionCard, .hideAnswers .choice, .hideAnswers .linkItemContainer .linkBox{
    font-size:0;
}
.hideAnswers .choice::after{
    font-family: FontAwesome;
    content: "\f177";
    font-size: 3rem;
    left: 20px;
    top: 20px;
    position: absolute;
    color: #999999;
    line-height: 60px;
    transform: rotate(45deg);
}
.hideQuestion > .playAudioButton{
width:64px;
height:64px;
left: calc(50% - 32px);
top: 5px;
}
.hideQuestion > .playAudioButton::before{
    font-size: 64px;
    line-height: 64px;
}

.notClickable{
	cursor: default;
	background-color: #E6E6E6 !important;
	border-color: #AAAAAA !important;
    box-shadow: none !important;
}
.notClickable:hover{
	top:0 !important;
    cursor: default !important;
    
    
}

div.small{
		min-height:80px;
		margin:1px auto;
}

input.spelledinput{
    width:100%;
}
.cloze{
	background-color: #FFFFFF;
	border: 1px solid #E0E0E0;
    border-radius: 5px;
}
input.spelledinput, .cloze{
	text-align:center;
	/*vertical-align:middle;*/
	padding:2px 0;
	font-size:1.2rem;
    min-width: 5em;
	font-family: 'ES Sans', 'Open Sans', Arial,Helvetica,sans-serif;
}
.questionCard .cloze.success, .questionCard .cloze.error{
    border-color:#FFFFFF;
}

.clozeT{
	border:1px solid #AAAAAA;
	background-color: #ffffA0;
    /*font-weight:bold;*/
    color:#000000;
    padding: 0 5px;
    font-weight: normal;
    border-radius: 5px;
}

.infoIcon
{
   display: inline-block;
    font-family: sans-serif;
    font-weight: bold;
    text-align: center;
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1.3rem;
    line-height: 1.3rem;
    border-radius: 50%;
    margin: 0 3px;
    padding: 1px;
    color: #3498db;
    background: white;
    border: 1px solid #3498db;
    box-sizing: border-box;
    text-decoration: none;
    cursor:pointer;
}

.infoIcon:hover
{
    color: white;
    background: #3498db;
    border-color: #3498db;
    text-decoration: none;
}
.custom-tooltip {
    position: absolute;
    background-color: #FFFFFF;
    color:#333333;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 12px;
    z-index: 1000;
    display: none;
    max-width: 200px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.custom-tooltip.disabled {
    display: none !important;
}

/* Slidedown animation */
.custom-tooltip.slide-down {
    animation: slideDown 0.25s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.avplayer{
	width:400px;
	max-width:100%;
	margin:10px auto 0 auto;
	/*background-color: #000;*/
	
}
div.letter{
	font-family: 'ES Sans', 'Open Sans', Arial,Helvetica,sans-serif;
	line-height:30px;
	display:inline-block;
	width:30px;
	height:36px;
    border: 2px solid #4a6fa5;
    font-size: 1.8rem;
    margin: 0 1px 0 0;
    border-radius: 6px;
    box-sizing: border-box;
    font-weight: normal;
    background-color: #FFFFFF;
}

.imageDot{
    width:10px;
    height:10px;
    transform: translate(-50%,-50%);
    position: absolute;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid #000000;
    background-color: #8bd2fe;
    animation-duration: 2s;
    animation-timing-function: ease-in-out;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-delay: 0s;
}
.imageDotAvailable:hover{
    box-shadow: 0 0 10px 5px rgba(255, 255, 255, 0.5);
    background-color:#000000;
}
.imageDotCorrect{ /*Green*/
    border-color: #4CAF50;
	background-color:  #F2FAF3;
    cursor:default;
    animation-name: shadowPulseGreen;
    animation-duration: 1s;
    animation-iteration-count: 1;
    animation-delay: 0s;
    animation-timing-function: ease-out;
    
}
.imageDotCurrent{
    border-color: #4CAF50;
	background-color:  #F2FAF3;
    cursor:default;
    animation-name: shadowPulseGreen;
    animation-duration: 1s;
    animation-iteration-count:infinite;
    animation-delay: 0s;
    animation-timing-function: ease-out;
    
}
.imageDotWrong{ /*Red*/
    background-color:#fcd4db;
	border-color:#F44336;
    cursor:default;
    animation-name: expandsbig;
    
}
.imageDotMiss{ /*Orange*/
    background-color:#ffc505;
    border-color:#ec8611;	
    cursor:default;
    animation-name: expandsbig;
    
}
.imageDotTransfer{
    transform:  translate(50%,50%);
    animation-name: unset;
}
.qmimg{
    vertical-align: middle;
}
.annotate-edit{
    z-index:10;
    width:306px;
    box-sizing: border-box;
    background:#FFFFFF;
    position:absolute;
    border: 2px solid #4a6fa5;
}
.annotate-lefty{
    border-radius: 4px 4px 4px 0;
    left:5px;top:-45px;  
}
.annotate-righty{
    border-radius: 4px 4px 0 4px;
    right:5px;top:-45px;  
}
.qimagePlaceholderHelper{
    user-select: none;-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;width:100%;height:100%;
}
.qimagePlaceholder{
    display: flex;
    align-items: center;
    justify-content: center;
    position:relative;
    margin:5px auto;
    max-width:100%;
    background-color: #FFF;
    border: 1px solid #3a6ea5;
    border-radius: 4px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 700px;
    height: 100%;
    box-sizing: border-box;
    text-align: center;
    min-height: 300px;
}
.qimagePlaceholder img{
    max-width:100%;
}
.imagePlaceholder i, .qimagePlaceholder i{
    font-size: 5.1rem;color:#DDDDDD;
}
ul.qList{
    list-style: none;padding: 0;margin: 0;
    font-family: 'ES Sans', 'Open Sans', Arial,Helvetica,sans-serif;
}
ul.qList .bound{
    cursor:pointer;
    max-width:200px;
    padding:0 10px;
    margin:1px;
    border:1px solid #AAAAAA;
    font-weight:bold;
    font-size:14px;
    text-align:center;
    background:#DDDDDD;
    display:inline-block;
}
ul.qList .bound::before {
    content: "";
}
@keyframes shadowPulseRed {
  0% {
    box-shadow: 0 0 0 0 rgba(244, 67, 54, 0);
  }
  30% {
      box-shadow: 0 0 0 15px rgba(244, 67, 5451, 0);
  }
  100% {
      box-shadow: 0 0 0 0 rgba(244, 67, 54, 0.9);
  }
}
@keyframes shadowPulseGreen {
  0% {
      box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.9);
  }
  70% {
      box-shadow: 0 0 0 15px rgba(76, 175, 80, 0);
  }
  100% {
      box-shadow: 0 0 0 0 rgba(76, 175, 80, 0);
  }
}
/*@keyframes shadowPulse {
    from {box-shadow: 0 0 15px 10px rgba(210, 16, 51, 1);}
    to {box-shadow: 0 0 15px 10px rgba(210, 16, 51, 0);}
    
}*/
.shadow-pulse {
    animation-name: shadowPulseRed;
    animation-duration: 1s;
    animation-iteration-count: 3;
    animation-delay: 0s;
    animation-timing-function: ease-in;
}

#memory_wrap{
    position: relative;
    height: 600px;
    width:100%;
    margin-bottom: 20px;
    box-sizing: border-box;
}
#game_board{
    box-sizing: border-box;
    /*min-height: 100%;*/
    height: inherit;
    width:100%;
}
#game_board table {
    width:100%;height:100%;
}
#sfx_movie{
    width: 1px;
    height: 1px;
    float:left;
}


.card_container {
    perspective: 1000px;
}
.card {
    width:100%;
    height:100%;
    /*text-align: center;*/
    box-sizing: border-box;
    transition: all 0.3s ease 0s;
    transform-style: preserve-3d;
	position: relative;
    /*display: table;*/
}
.card_front, .card_back{
    backface-visibility: hidden;
    -webkit-backface-visibility:hidden;
	position: absolute;
	top: 0;
	left: 0;
    width: 100%;
    height: 100%;
    border:2px solid #3a6ea5;
    box-sizing:border-box;
    overflow: hidden; 
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
   transition: transform 0.3s ease;
}
.card_back{    
    cursor: pointer;
    visibility: visible;
    transform: rotateY(0deg);
}
.card_back.backtype1{
    background-color: #3a6ea5;
    background-image: url('/favicon_logo_45.png');
    background-position: center center;
    background-repeat: no-repeat;
}
.card_back.backtype2{
    background-color: #000000;
    border-color:#000000;
    background-image: url('/favicon_logo_45.png');
    background-position: center center;
    background-repeat: no-repeat;
}
.card_back.backtype3{
    background-color: #3a6ea5;
}
.card_back.backtype4{
    background: linear-gradient(135deg, #3a6ea5 0%, #4a7eb5 50%, #2d5a95 100%);
}
.card_back::before {
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    border: 2px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    pointer-events: none;
}
.card_back:hover {
    transform: scale(1.01);
    box-shadow: 0 4px 8px rgba(0,0,0,0.4);
}        
.card_front{
    font-size:1.2rem; /*1.6*/
    /*line-height:0.9;*/
    font-family: 'ES Sans', 'Open Sans', Arial,Helvetica,sans-serif;
    text-align:center;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    word-wrap:break-word;
    word-break: break-word;
    transform: rotateY(-180deg);
    background-color: #FFF;
}
.card_back_nr{
    background-image: none;
    font-size: 3rem;
    color: #FFFFFF;
    font-family: 'ES Sans', 'Open Sans', Arial,Helvetica,sans-serif;
    text-align: center;
    min-width:50px;
    padding: 10px;
}
.card_back.backtype1 .card_back_nr{
    background-color:#3a6ea5;
}
.card_back.backtype2 .card_back_nr{
    background-color:#000000;
}
.card_container.active .card_front {
   transform: rotateY(0deg);
}
.card_container.active .card_back {
    transform: rotateY(180deg);
}
.card_text{
    /*overflow:hidden;*/
    display: table-cell;vertical-align: middle;
    box-sizing:border-box;
    user-select: none; 
}
.card_text .playAudioButton{
    position:inherit;margin:0 auto;left:0;
}
.card_text .playAudioButton::before{
    position:relative;
    font-size:70px;
    left:-20px;
}
.card_text .lockedPlayAudio{
    width:100%;
    position:absolute;
    margin:0 auto;
    /*left:auto;*/
    top:auto;
}
.card_text .lockedPlayAudio::before{
    left:auto;
}
.card_text .lockedPlayAudio.playingAudioButton::before{
   left:auto;
}
.card_text .playingAudioButton::before{
    left:-15px;
}
.card .cardNumber{
    font-size: 12px;
    left: 2px;
    bottom: 2px;
    position: absolute;
    font-weight:normal;
    display:none;
    color:#999999;
}
.card .noShowCard{
    display:none;
}
.cardResult{
    position: relative;
}
.cardResult .noShowCard{
    margin-left:35px;
}
.cardResult .imgbg{
    min-height:100px;
    text-align:center;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.matched:not(.novisual) .card_front {
    background-color: #4CAF50;
    color: #FFFFFF;
    border-color: #4CAF50;
    position: relative;
    
}
.matched:not(.novisual){
    animation: matchPulse 0.6s ease;
    opacity:0;
}
.matched.novisual{
    animation: matchPulse 0.6s ease;
    opacity:0;
}
.matched:not(.novisual) .card_front::after {
    font-family: FontAwesome;
    content: "\f00c";
    font-size: 40px;
    right: 5px;
    position: absolute;
    bottom: 5px;
    opacity: 1;
    color: #FFFFFF;
    line-height: 40px;
}

@keyframes matchPulse {
    0%, 90% { opacity:1;}
    100% { opacity:0;}
}

.byline{
    font-size:10px;color:#888888;max-width:700px;margin:0 auto;font-style: italic;
}
.imageby{
    font-size:0.7rem;
    color:#888888;
    clear:both;
    display:inline-block;
    width:100%; font-style: italic;
    margin: 0;
    text-align:center;
}
.picsContainer{
    width:100%;min-height:244px;margin:0 auto;text-align: center;
}
.currency{
    display:inline;
    line-height:41px;
}

.balloonAnime, .heartAnime{
    clear:both;width:100%;
    margin:5px auto 0;
    box-sizing: border-box;
    padding: 22px 0 0 0;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.44), 0 3px 1px -2px rgba(0, 0, 0, 0.5), 0 0 2px 0 rgba(0, 0, 0, 0.42);
    position:relative;
}
.balloonAnime{
    background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);
    padding-bottom:35px;
}
.balloonAnime .motifBkg, .heartAnime .motifBkg{
    display:inline-block;
    width:80px;
    height:105px;
    margin:2px 3px;
    position:relative;
}

.balloonAnime .motif {
  width:100%;
  height:100%;
  border-radius:80%;
  margin: 0 auto;
  position:relative;
  box-shadow:inset -10px -10px 10px rgba(0,0,0,0.25), inset 10px 10px 10px rgba(255,255,255,0.25);
  transition:
      transform 0.5s ease,
      width .5s cubic-bezier(0,-1, 0, 1),
      height .5s cubic-bezier(0,-1,0,1),
      opacity .5s cubic-bezier(1,0,1,1);
  z-index:10;
  animation:balloons 4s ease-in-out infinite;
  transform-origin:bottom center;
}
@keyframes balloons {
  0%,100%{ transform:translateY(0) rotate(-4deg); }
  50%{ transform:translateY(-25px) rotate(4deg); }
}
.balloonAnime .motif:before {
  content:"▲";
  font-size:20px;
  color:inherit;
  display:block;
  text-align:center;
  width:100%;
  position:absolute;
  bottom:-12px;
  z-index:-100;
}
.balloonAnime .motif:after {
 display:inline-block;
 top:109px;
  position:absolute;
  height:50px;
  width:1px;
  left: 50%;
  margin:0 auto;
  content:"";
  background-color:rgba(0,0,0,0.2); 
}
.balloonAnime .motifBkg:nth-child(8n+1) .motif{ animation-duration:3.5s; }
.balloonAnime .motifBkg:nth-child(8n+2) .motif{ animation-duration:3.25s; }
.balloonAnime .motifBkg:nth-child(8n+3) .motif{ animation-duration:4.5s; }
.balloonAnime .motifBkg:nth-child(8n+4) .motif{ animation-duration:5.0s; }
.balloonAnime .motifBkg:nth-child(8n+5) .motif{ animation-duration:3.25s; }
.balloonAnime .motifBkg:nth-child(8n+6) .motif{ animation-duration:5.5s; }
.balloonAnime .motifBkg:nth-child(8n+7) .motif{ animation-duration:3.75s; }
.balloonAnime .motifBkg:nth-child(8n+8) .motif{ animation-duration:4.0s; }
.balloonAnime .isPopping{
    height:0;
    width:0;
    opacity:0;
    animation-name:none;
}
.balloonAnime .isPopping:before, .balloonAnime .isPopping:after{
    content:"";
    height:0;
}

.heartAnime {
 background-image: linear-gradient(to top, #fff1eb 0%, #ace0f9 100%);
}
.heartAnime .motif{
  display: inline-block;
  height: 46px;
  margin: 0 10px;
  position: relative;
  top: 0;
  width: 46px;
  transform: rotate(-45deg);
  box-shadow:inset -10px -10px 10px rgba(0,0,0,0.25);
  transition:
      transform 1s ease;
  animation: tinyPulse 2s ease infinite;
  transform-origin:center center;
}
@keyframes tinyPulse {
    0% { transform: rotate(-45deg) scale(1); opacity:1; }
	30% { transform: rotate(-45deg) scale(1); opacity:1; }
	40% { transform: rotate(-45deg) scale(1.05); opacity:0.8;}
	50% { transform: rotate(-45deg) scale(1); opacity:1; }
	60% { transform: rotate(-45deg) scale(1.05); opacity:0.8;}
	70% { transform: rotate(-45deg) scale(1); opacity:1;}
	80% { transform: rotate(-45deg) scale(1); opacity:1; }
	100% { transform: rotate(-45deg) scale(1); opacity:1;}
}
.heartAnime .motif:before,
.heartAnime .motif:after {
  content: "";
  background-color:inherit;
  border-radius: 50%;
  height: 46px;
  position: absolute;
  width: 46px;
}
.heartAnime .motif:before {
  top: -23px;
  left: 0;
  box-shadow:inset 0 10px 5px rgba(255,255,255,0.25);
}
.heartAnime .motif:after {
  left: 23px;
  top: 0;
  box-shadow:inset -15px -10px 10px rgba(0,0,0,0.25);
}
.heartAnime .isPopping{
    /*height:0;*/
    width:0;
    opacity:0;
    animation-name:none;
}
.heartAnime .isPopping:before, .heartAnime .isPopping:after{
    height:0;
}

.inputplace{
    padding:0 7px;
    border: 2px solid #4a6fa5;
    border-radius: 6px;
}

.MastermindBoard{
    width:100%;
    text-align:center;
    font-size:0.5rem;
}
.boardLine{
    display:inline-block;
}
.charBtns{
    position: relative;
    box-sizing: border-box;
    width: 100%;
    display: block;
    padding: 4px;
    
}
button.newLetter{
	line-height:40px;
    width:100%;
    box-sizing: border-box;
	font-family: 'ES Sans','Open Sans', Arial,Helvetica,sans-serif;
	text-align: center;
   	margin: 0;
   	outline:none;
    background-color:#FFFFFF;
    
    aspect-ratio: 1 / 1;
    border: none;
    border-radius: 10px;
    font-size: 2.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding:0;
}
button.newLetter:disabled{
    color: #999;
}
.square{
	border:2px solid #888888;
	width:55px;
	height:55px;
	float:left;
     box-sizing: border-box;
	font-size: 32px;
	font-family: 'ES Sans', 'Open Sans', Arial,Helvetica,sans-serif;
    font-weight: bold;
    line-height: 50px;
	text-transform: uppercase;
    user-select: none;
    margin:0 1px;
    background-color:#FFFFFF;
    transition: all 0.3s ease;
}
.square.error{
    
        border-radius: 0;
}
.squareInfo{
    border-width:1px;
    padding:0 4px;
    float:none;
    font-size: inherit;
    line-height: inherit;
}
#game_board{
    table-layout: fixed;
    max-width:980px;
    margin:0 auto;
}
.toast .square{
    width:25px;
    height:25px;
    text-align: center;
    font-size:18px;
    line-height:20px;
    margin-right: 5px;
}
.current.square{
    border-color: #1ca7ff;
    animation: cursor-blink 1.5s linear 0s infinite normal;
}
.current.boardLine .square{
    border-color:#333333;
}
.letterClickable{ transition: all .2s ease-in-out; }
.letterClickable:hover {
    transform: scale(1.1);
    cursor:pointer;
}

@keyframes cursor-blink {
  0%, 100% { 
      border-color: #1ca7ff; 
      background-color:#d1edff;
  }
  50% { 
      border-color: #333333;  
      background-color:transparent;
  }
}
@keyframes expands {
  0% { transform:scale(1.0);background-color:#FFFFFF !important;}
  50%{ transform:scale(1.1); }
  100%{ transform:scale(1.0);}
}
@keyframes expandsbig {
  0% { transform:scale(2) translate(-25%,-25%);}
  50%{ transform:scale(2) translate(-25%,-25%); }
  100%{ transform:scale(1.0) translate(-50%,-50%);
  }
}
.charAnimate{
    animation: expands 0.3s ease-in-out 0s 1 normal;
}
.charNotFound, button.charNotFound{
	background-color: #CCCCCC;
    border-color:#888888;
}
.charFound, button.charFound, button.charFound:disabled{
	color:#FFFFFF; /*#4CAF50;*/
	background-color:  #4CAF50; /*#F2FAF3;*/
    border-color: #4CAF50;
    
}
.charFoundElsewhere, button.charFoundElsewhere{
    background-color:#ffc505;
  	border-color:#ffc505; /*#ec8611;    */
}
.boardActionCont{
        height: 39px;
    text-align: center;
    max-width: 350px;
    margin: 12px auto 4px auto;
}
.boardActionCont .blueBtn{
    min-width:150px;float:left;
}
.boardActionCont .grayBtn{
    min-width:150px;
    float:right;
} 




.linkItemContainer{
    width:40%;float:left;
    display:flex;
    align-self: stretch;
    flex-direction:column;
    justify-content: space-between;
    box-sizing: border-box;
    user-select: none;
    -webkit-user-select: none;
}
.linkItemContainer .linkBox{
    white-space:normal;
    line-height:normal;
    width:100%;
    clear:both;
    /*margin:0 auto;*/
    padding:1px;
    margin: 0 0 10px 0;
    word-break: break-word;
	vertical-align:middle;
	position:relative;
	font-family: 'ES Sans', 'Open Sans', Arial,Helvetica,sans-serif;
	font-size: 1.0rem;
    text-align:left;
    user-select: none; 
    -webkit-user-select: none;
    box-sizing: border-box;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.44), 0 3px 1px -2px rgba(0, 0, 0, 0.5), 0 0 2px 0 rgba(0, 0, 0, 0.42);
    cursor: pointer;
    overflow: visible;
    background-color: #FFFFFF;
    border: 2px solid #000000;
    color: #000000;
    min-height:36px;
}
.levelResultContainer{
    display: flex; /* Make the container element behave like a table */
    width: 100%;
}
.linkItemContainer .connectDot.badlink{
   background-color:#FFFFFF;
   border-color:#333333;
}
.linkItemContainer .playAudioButton{
    float:left;
    position:unset;
    width:32px;
}
#rightLIC .linkBox .playAudioButton{
    float:right;
}

.linkItemContainer .playAudioButton::before{
    left:2px;
    top:1px;
}
#rightLIC .linkBox .playAudioButton::before{
    right:2px;
    left:unset;
}
.connectDot{
    width:10px;
    height:10px;
    left:-8px;
    position:absolute;
    border-radius: 10px;
    box-sizing: border-box;
    border:3px solid #000000;
    background-color:#FFFFFF;
}
.linkLine, #tentativeLine{
	width: 2px;
z-index:10;
	position: absolute;
	-webkit-transform-origin: top center;
	-moz-transform-origin: top center;
	-o-transform-origin: top center;
	-ms-transform-origin: top center;
	transform-origin: top center;
    background-image: linear-gradient(rgba(255,0,0,0) 50%, rgba(0,0,0,1) 50%);
    background-size: 1px 12px;
}
.levelResultContainer .goodvals{
    background-color: #F2FAF3;
    border-color:#4CAF50;
}
.goodvals::after, .badvals::after{
    font-family: FontAwesome;
    content: "\f00c";
    font-size: 40px;
    right: 1px;
    position: absolute;
    bottom: -3px;
    opacity: 0.5;
    color: #4CAF50;
    line-height: 40px;
}
.badvals::after{
    content: "\f00d";
    color: #F44336;
}
#rightLIC .goodvals::after, #rightLIC .badvals::after{
    left:1px;
    right:unset;
}

.qrow .inputWrapper .spelledinputContinuingError{
    background-color:#F44336;
    
}

@keyframes shadowPulseGray{
        50%{box-shadow:0 0 0 5px transparent;}
        75%{box-shadow:0 0 0 5px rgba(0,0,0,.1);}
        95%{box-shadow:0 0 0 20px rgba(0,0,0,.07);}
}
#elapsedTime{
    /*animation: shadowPulseGray 1s ease-out infinite;*/
}
.roundResponse{
    padding:0; /* 0 5px;*/
}
.roundResponse .activityLog{
    margin:10px 0;
}
.roundResponse .activityLog .num{
    padding: 0;
    /*text-shadow: 0 0 0.2em #999;*/
    margin:0 10px 0 0;
    position:relative;
    
    font-size:1.5rem;
    line-height: 32px;
    /*top:0;*/
    height:40px;
    float:left;
    width:40px;
    text-align:center;
      box-sizing: border-box;
    border-radius: 50%;
    border: 3px solid #F44336;
}
.roundResponse .levelFail .num{
    border-color: #F44336;
    color: #F44336;
}
.roundResponse .levelCompleted .num{
    border-color: #4CAF50;
    color: #4CAF50;
}
.roundResponse .activityLog .grey{
    margin-left: 0;
    font-size: 1rem;
    text-transform: uppercase;
    color: #888;
}
.roundResponse .question{
    font-size:1.4rem;
    line-height: 2.2rem;
    padding: 1px 0;
    font-family: 'ES Sans', 'Open Sans', Arial,Helvetica,sans-serif;
    min-height: 76px;
}
.roundResponse .question img{
    background-color: #FFF;
    border:1px solid #3a6ea5;
    border-radius:4px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin:0 10px 0 0;
    float:right;
    max-width:100px;
    max-height:75px;
}
.roundResponse .imgbg{
    border:1px solid #3a6ea5;
    border-radius:4px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    min-height: 75px;    
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #FFF;
    box-sizing: border-box;
    max-width: 100px;
    margin-left:55px;
}
.roundResponse .answer{
    font-size:1.2rem;
    width:calc(50% - 10px);
    display:inline-block;
    vertical-align: top;
    padding-left: 10px;
    box-sizing: border-box;
}
.roundResponse .answer.longanswer{
    width:100%;
}

.roundResponse .answer div{
    font-family: 'ES Sans', 'Open Sans', Arial,Helvetica,sans-serif;
    
}
.roundResponse .question span.error, .roundResponse .question span.success{
    padding:0 5px;
    font-weight: normal;
}

#performanceBar{
	border:1px solid #CCCCCC;
	width: 100%;
    max-width: 700px;
	margin: 0 auto 1px auto;
	height: 20px;
	background:#EEEEEE;
    box-sizing: border-box;
}
#barstep{
	width:0;
	height:19px;
	padding:0;
	background-color:#CCCCCC;
	float:left;
	border:1px solid #CCCCCC;
    box-sizing: border-box;
    transition: 1s;
}
#barstep.barRed{
    border-color: #F44336;
    background-color: #FEF7F8;
}
#barstep.barOrange{
    border-color: #ec8611;
    background-color: #f8ce9e;
}
#barstep.barGreen{
    border-color: #4CAF50;
    background-color:  #F2FAF3;
}


.timestable{
    font-size:19px;
    text-align: center;
    font-family: Helvetica, Arial, Sans-Serif;
    padding: 2px 2px 2px 5px;
    border-collapse: collapse;
    margin: 10px auto;
}
.timestable td, th{
    height: 30px;
    width: 30px;
    border:2px solid #4CAF50;
    box-sizing: border-box;
}
.timestable th{
    background-color: #4CAF50;
    color:  #F2FAF3;
    
}


.airesponse{
    display:none;
    width:100%;
    color:#2196F3;
    border: 2px solid #2196F3;
    border-radius: 1.2ex;
    padding:10px;
    box-sizing: border-box;
    position:relative;
}
.roundResponse .airesponse.errors{
    font-size: 0.875rem;
    font-family: 'Open Sans',Verdana,Helvetica,sans-serif;
    color:inherit;
    
}
.leveldialog  .airesponse.errors, .newExplContainer .airesponse.errors{
    margin: 10px 0; 
    color: #333333;
    text-align:left;
}
.aiFeedback{
    color:#666666;
    font-size:0.9rem;
    width: 100%;
    text-align: right;
    text-decoration:none;
    display: inline-block;
    font-style: italic;
}

.airesponse .loader{
    display: block;
    margin: 0 auto;
    position: relative;
    width: 160px; /* Utökad bredd för att rymma 11 staplar */
    height: 50px;
    background-repeat: no-repeat;
    background-image: linear-gradient(#2196F3 50px, transparent 0),
                      linear-gradient(#2196F3 50px, transparent 0),
                      linear-gradient(#2196F3 50px, transparent 0),
                      linear-gradient(#2196F3 50px, transparent 0),
                      linear-gradient(#2196F3 50px, transparent 0),
                      linear-gradient(#2196F3 50px, transparent 0),
                      linear-gradient(#2196F3 50px, transparent 0),
                      linear-gradient(#2196F3 50px, transparent 0),
                      linear-gradient(#2196F3 50px, transparent 0),
                      linear-gradient(#2196F3 50px, transparent 0),
                      linear-gradient(#2196F3 50px, transparent 0);
    background-position: 0 center, 15px center, 30px center, 45px center, 60px center, 75px center, 90px center, 105px center, 120px center, 135px center, 150px center;
    animation: rikSpikeRoll 1.1s linear infinite alternate; /* Anpassad timing för 11 staplar */
}

@keyframes rikSpikeRoll {
  0% { background-size:   10px 50px, 10px 30px,  10px 10px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px}
  10% { background-size:  10px 30px, 10px 50px, 10px 30px,  10px 10px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px}
  20% { background-size:  10px 10px, 10px 30px, 10px 50px, 10px 30px,  10px 10px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px}
  30% { background-size:  10px 3px,  10px 10px, 10px 30px, 10px 50px, 10px 30px,  10px 10px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px}
  40% { background-size:  10px 3px,  10px 3px,  10px 10px, 10px 30px, 10px 50px, 10px 30px,  10px 10px,  10px 3px,  10px 3px,  10px 3px,  10px 3px}
  50% { background-size:  10px 3px,  10px 3px,  10px 3px,  10px 10px, 10px 30px, 10px 50px, 10px 30px,  10px 10px,  10px 3px,  10px 3px,  10px 3px}
  60% { background-size:  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 10px, 10px 30px, 10px 50px, 10px 30px,  10px 10px,  10px 3px,  10px 3px}
  70% { background-size:  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 10px, 10px 30px, 10px 50px, 10px 30px,  10px 10px,  10px 3px}
  80% { background-size:  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 10px, 10px 30px, 10px 50px, 10px 30px,  10px 10px}
  90% { background-size:  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 10px, 10px 30px, 10px 50px, 10px 30px}
  100% { background-size: 10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 3px,  10px 10px, 10px 30px, 10px 50px}
}
.orange-ring{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #ec8611;
    color: #FFFFFF;
}
.prev-mistake {
    color:#ec8611;
    font-weight: bold;
    margin-bottom: 5px;
    padding: 3px 6px;
    border-radius: 3px;
    text-transform: uppercase;
}

.specialCharsPanel {
    background: #fff;
    border: 2px solid #3a6ea5;
    border-radius: 8px;
    padding: 10px;
    margin: 10px auto;
    max-width: 400px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    position: relative;
    z-index: 100;
}

.specialCharsGrid {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: center;
}

.charButton {
    background: #fff;
    border: 1px solid #3a6ea5;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 1.2em;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 40px;
}

.charButton:hover {
    background: #3a6ea5;
    color: #fff;
    transform: scale(1.1);
}

.charButton:active {
    transform: scale(0.95);
}

@media only screen and (max-width:767px) {
    .card_front{
        font-size:1.1rem;   
    }
    .card_back_nr{
        font-size: 2rem;
    }
    #memory_wrap{
        height: 400px;
    }
    button.newLetter{
		font-size: 30px;
		line-height:30px;
		padding:4px;
		
	}
    #game_board td{ 
        padding:1px;
    }
}
@media only screen and (max-width: 640px) {
    .card_front{
        font-size:1.0rem;   
    }
    .card_back_nr{
        font-size: 1.5rem;
    }
    #memory_wrap{
        height: 300px;
    }
    #game_board table {
        border-spacing:1px;
    }
    
    .balloonAnime .motifBkg, .heartAnime .motifBkg{
         width:58px;
        height:75px;
        margin:2px 3px;
    }
    .heartAnime .motif{
        height: 32px;
        margin: 0 11px;
        width: 32px;
        box-shadow:inset -5px -5px 5px rgba(0,0,0,0.25);
    }
    .heartAnime .motif:before,
    .heartAnime .motif:after {
        height: 32px;
        width: 32px;
    }
    .heartAnime .motif:before {
        top: -17px;
        box-shadow:inset 0 5px 2px rgba(255,255,255,0.25);
    }
    .heartAnime .motif:after {
        left: 17px;
        box-shadow:inset -10px -5px 5px rgba(0,0,0,0.25);
    }
    .balloonAnime .motif{
        box-shadow:inset -5px -5px 5px rgba(0,0,0,0.25), inset 5px 5px 5px rgba(255,255,255,0.25);
    }
    .balloonAnime .motif:before {
        font-size:14px;
        bottom:-8px;
    }
    .balloonAnime .motif:after {
        top:79px;
        height:30px;
    }
    .heartAnime .isPopping, .balloonAnime .isPopping{
        width:0;
    }    
    .balloonAnime .isPopping:before, .balloonAnime .isPopping:after, .heartAnime .isPopping:before, .heartAnime .isPopping:after{
        content:"";
        height:0;
    }
    button.newLetter{
		font-size: 20px;
		line-height:28px;
		padding: 2px;
        border-width: 1px;
	}
    div.square{
        width:30px;
        height:30px;
        font-size: 22px;
        line-height:26px;   
        border-width:1px;
    }
    .charBtns{
        padding:1px;
    }
    .roundResponse .answer{
        width:100%;
        font-size: 1.1rem;
    }
    .roundResponse .question {
        font-size: 1.2rem;
    }
    .specialCharsPanel {
        max-width: 100%;
        margin: 5px 0;
    }
    
    .charButton {
        padding: 10px 14px;
        font-size: 1.3em;
        min-width: 45px;
    }
}
@media only screen and (max-width: 400px) {
    .card_front{
        font-size:0.8rem;   
    }
    .card_back_nr{
        font-size: 1.2rem;
    }
    #memory_wrap{
        height: 240px;
    }
    #game_board td{
        padding:1px 0;
    }
    .imageDot{
        width:5px;
        height:5px;
        border-width: 1px;
    }
    .quiz-container .quiz-footer{
        padding: 1px;
    }
    .quiz-container .question-container {
        padding: 1px;
      }
}
