
.instructions {
    display: block;
    padding-left: 0.5em;
    margin: 0 0 0.25em;
    color: #565765;
    line-height: 1.25em;
}

.iol-audio-icon {
    height: 24px;
    margin-bottom: 3px;
    border-radius: 100% !important;
    box-shadow: 0 1px 2px rgba(215, 215, 215, 0.66);
    background-color: #73db7d; /*This a terrible hack to control the background of the icon. Reason: svg inside img*/
    cursor: pointer;
}
.iol-audio-icon:hover {
    border: 1px solid rgba(95, 181, 103, 0.56);;
}

.iol-audio-icon-playing {
    background-color: #78cef7;
    /*box-shadow: inset 0 1px 1px rgb(125, 125, 125);*/
}

.iol-special-chars {
    background-color: rgba(255, 255, 255, 0.50);
    position: relative;
    text-align: center;
}
.iol-special-chars span {
    cursor: pointer;
    background: #36a4f3;
    color: white;
    display: inline-block;
    padding: 0.2em 0.5em;
    min-width: 1.9em;
    margin: 0 0.1em 0.1em 0.15em;
    text-align: center;
    box-shadow: 0 1px 2px rgba(85, 85, 85, 0.3);
    touch-action: manipulation;
    border-radius: 100% 100% 0 0;
}
.iol-special-chars span:hover {
    opacity: 0.85;
}

#exercise p, #exercise span, #exercise strong, #exercise input,
#exercise td, #exercise th, #exercise b, #exercise em  {
    font-size: 1.15em;
}
#exercise select { font-size: 1.05em; }
#exercise em {
    margin-right: 2px;
}
.inherit-font-size {
    font-size: inherit !important;
}

span.glyphicon.glyphicon-ok {
    color: green;
}

#exercise img {
    border-radius: 2px;
}

/* colors for correct and wrong */
.correct {
    background-color: #c6e6b9 !important;
    border-radius: 2px;
}
.wrong {
    background-color: #f2c7bd !important;
    border-radius: 2px;
}
.missing {
    background-color: #f2e794 !important;
    border-radius: 2px;
}


/* colors for warning and success */
.warning {
    background-color: #f2cac8 !important;
}
.success {
    background-color: #c6e6b9 !important;
}

/*.horizontal-margin-center {*/
    /*margin: 0 auto;*/
/*}*/

.flex-center-container {
    display: flex;
    align-items: center; /* This might not be needed */
    justify-content: center;
}

.iol-red-font {
    color: firebrick;
}

.iol-small-text {
    font-size: 0.875em !important;
}


/***************************************/
/****CUSTOM GLOBAL RADIO BUTTON LOOK****/
/***************************************/

#exercise input[type="radio"]{
    display: none;
}

/*For some reason this css style appears two times in the dev tools. Why you do dis?*/
#exercise input[type="radio"] + label {
    margin-bottom: 0; /*Bootstrap gives all labels a value of 5px*/
}

#exercise input[type="radio"] + label span {
    display: inline-block;
    width: 23px;
    height: 23px;
    margin-right: 0.25em;
    vertical-align: middle;
    cursor: pointer;
    -moz-border-radius: 50%;
    border-radius: 50%;
    touch-action: manipulation;

    background-color: #dfdede;
    border: #d0cfcf solid 3px;
}

#exercise input[type="radio"]:checked + label span {
    background-color: #51b1f3;
    border: #d0cfcf solid 3px;
}

#exercise input[type="radio"] + label span,
#exercise input[type="radio"]:checked + label span {
    -webkit-transition: background-color 0.4s cubic-bezier(0.15, 1.1, 1, 1);
    -o-transition: background-color 0.4s cubic-bezier(0.15, 1.1, 1, 1);
    -moz-transition: background-color 0.4s cubic-bezier(0.15, 1.1, 1, 1);
    transition: background-color 0.4s cubic-bezier(0.15, 1.1, 1, 1);
}



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

/*TODO remove, this is will not be used*/
#debug {
    margin-top: 1em;
    margin-left: 15px;
    margin-right: 15px;
    font-family: "Courier New", Courier, monospace;
    padding: 1em;
    border: solid 1px lightgray;
}

.shake:hover,
.shake:focus {
    -webkit-animation-name: spaceboots;
    -webkit-animation-duration: 2s;
    -webkit-transform-origin:50% 50%;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
}

@-webkit-keyframes spaceboots {
    0% { -webkit-transform: translate(2px, 1px) rotate(0deg); }
    10% { -webkit-transform: translate(-1px, -2px) rotate(-1deg); }
    20% { -webkit-transform: translate(-3px, 0px) rotate(1deg); }
    30% { -webkit-transform: translate(0px, 2px) rotate(0deg); }
    40% { -webkit-transform: translate(1px, -1px) rotate(1deg); }
    50% { -webkit-transform: translate(-1px, 2px) rotate(-1deg); }
    60% { -webkit-transform: translate(-3px, 1px) rotate(0deg); }
    70% { -webkit-transform: translate(2px, 1px) rotate(-1deg); }
    80% { -webkit-transform: translate(-1px, -1px) rotate(1deg); }
    90% { -webkit-transform: translate(2px, 2px) rotate(0deg); }
    100% { -webkit-transform: translate(1px, -2px) rotate(-1deg); }
}

.small-jiggle {
    -webkit-animation: jiggle 1s infinite;
    -o-animation: jiggle 1s infinite;
    animation: jiggle 1s infinite;

    -webkit-transform: rotate(-2deg);
    -moz-transform: rotate(-2deg);
    -ms-transform: rotate(-2deg);
    -o-transform: rotate(-2deg);
    transform: rotate(-2deg);
}

@-moz-keyframes jiggle {
    0% { -webkit-transform: rotate(-2deg); }
    50% { -webkit-transform: rotate(2deg); }
}

@-webkit-keyframes jiggle {
    0% { -webkit-transform: rotate(-2deg); }
    50% { -webkit-transform: rotate(2deg); }
}

@keyframes jiggle {
    0% { -webkit-transform: rotate(-2deg); }
    50% { -webkit-transform: rotate(2deg); }
}


.iol-green-blink {
    animation-duration: 1s;
    animation-name: greenBlink;
    animation-iteration-count: 1;
    -webkit-animation: greenBlink 1s 1;
}
@keyframes greenBlink {
    0% {
        background-color: #c6e6b9;
    }
    100% {
        /*Original color, auto, initial or inherit did not have consistent behavior between devices*/
        background-color: #36a4f3;
    }
}
@-webkit-keyframes greenBlink {
    0% {
        background-color: #c6e6b9;
    }
    100% {
        /*Original color, auto, initial or inherit did not have consistent behavior between devices*/
        background-color: #36a4f3;
    }
}


/************
MEDIA QUERIES
*************/

/************ TABLET *************/
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
    #exercise p,
    #exercise span,
    #exercise strong,
    #exercise input,
    #exercise selector,
    #exercise td,
    #exercise th,
    #exercise select,
    #exercise b,
    #exercise em {
        font-size: 1.4em;
    }

    .iol-audio-icon { height:28px; }

    .iol-small-text {  font-size: 1.15em !important; }
}


/************ MOBILE *************/
@media only screen and (max-device-width : 767px) {
    #exercise p,
    #exercise span,
    #exercise strong,
    #exercise input,
    #exercise selector,
    #exercise td,
    #exercise th,
    #exercise select,
    #exercise em {
        font-size: 1.25em;
    }

    .instructions {
        padding-left: 0.35em;
        font-size: 1.15em !important;
    }

    .iol-audio-icon { height: 26px; }

    .iol-small-text { font-size: 1em !important;  }

    .iol-special-chars span {
        padding: 0.1em 0.25em;
        min-width: 1.75em;
        margin-bottom: 0.2em;
    }

}

@media (max-width: 364px) {
    .iol-special-chars {
        width:90%;
        text-align: left;
    }
}
