@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');
@charset "UTF-8";
@import url(font-awesome.min.css);
@import "https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600";
@font-face {
    font-family: 'Manrope-Regular';
    src: url('../fonts/Manrope-Regular.woff2');
}

/*light
#ebe9fb

lighter tint
#f9f8fd

text url
#4D45BB
*/
html, body {
    font-family: 'Manrope-Regular',FontAwesome, "Source Sans Pro", Arial, Helvetica, sans-serif;
    /*font-size: 14px;*/
}

.btn-link {
    color: #4D45BB;
    text-decoration:none;
}
    .btn-link:hover {
        color: #4D45BB !important;
        text-decoration: none !important;
    }

p {
    margin-top: 0;
    margin-bottom: .5rem;
}

.btn-primary {
    color: #fff;
    background-color: #4D45BB;
    border-color: #4D45BB;
}

    .btn-primary:hover {
        color: #fff;
        background-color: #000;
        border-color: #000;
    }

app {
    position: relative;
    display: flex;
    flex-direction: column;
}

.top-row {
    height: 4.5rem;
    display: flex;
    align-items: center;
    z-index:1;
}

.main {
    flex: 1;
}

    .main .top-row {
        background-color: #f7f7f7;
        border-bottom: 1px solid #d6d5d5;
        justify-content: flex-end;
    }

        .main .top-row > a, .main .top-row .btn-link {
            white-space: nowrap;
            margin-left: 0.5rem;
        }

.main .top-row a:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar {
    /*background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #6cc091 95%);*/
    /*background: linear-gradient(to bottom left, #3339E2 35%, #DD4178 99%);*/
    background-color: #4D45BB;
}

    .sidebar .top-row {
        /*background-color: rgba(0,0,0,0.4);*/
        background-color: #4D45BB;
    }

    .sidebar .navbar-brand {
        font-size: 1.1rem;
    }

    .sidebar .oi {
        width: 2rem;
        font-size: 1.1rem;
        vertical-align: text-top;
        top: -2px;
    }

    .sidebar .nav-item {
        font-size: 0.8rem;
        padding-bottom: 0.5rem;
    }

        .sidebar .nav-item:first-of-type {
            padding-top: 1rem;
        }

        .sidebar .nav-item:last-of-type {
            padding-bottom: 1rem;
        }

        .sidebar .nav-item a {
            color: #d7d7d7;
            border-radius: 4px;
            height: 3rem;
            display: flex;
            align-items: center;
            line-height: 3rem;
        }

            .sidebar .nav-item a.active {
                background-color: rgba(255,255,255,0.25);
                color: white;
            }

            .sidebar .nav-item a:hover {
                background-color: rgba(255,255,255,0.1);
                color: white;
            }

.content {
    padding-top: 1.1rem;
}

.navbar-toggler {
    background-color: rgba(255, 255, 255, 0.1);
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

div.hidden {
    display: none;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

@media (max-width: 767.98px) {
    .main .top-row:not(.auth) {
        display: none;
    }

    .main .top-row.auth {
        justify-content: flex-end;
    }

    .main .top-row a, .main .top-row .btn-link {
        margin-left: 0;
    }

    .main > div {
        padding-left: 0.4rem !important;
        padding-right: 0.4rem !important;
    }
}

/*@media (min-width: 768px) {
    app {
        flex-direction: row;
    }

    .sidebar {
        width: 200px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .main .top-row {
        position: sticky;
        top: 0;
    }

    .main > div {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .navbar-toggler {
        display: none;
    }

    .sidebar .collapse {*/
        /* Never collapse the sidebar for wide screens */
        /*display: block;
    }
}*/

.nav-square {
    text-align: center;
    padding: 10px 0px 10px 0px;
    border-bottom: 1px solid #d7d7d7;
    /*border-left: 4px solid #212529;*/
}

.nav-icon {
    color: #d7d7d7;
    font-family: sans-serif;
    font-weight: 200;
    font-size: 10px;
}

    .nav-icon:hover {
        color: White;
        font-family: sans-serif;
        text-decoration: none;
    }

.nav-text {
}
.padded-content {
    padding-left: 0.7rem !important;
    padding-right: 0.7rem !important;
}
.ir-button-area {
    margin: 0 auto;
    position: relative;
    width: 100%;
}

.ir-button-small {
    position: absolute;
    right: 5px;
    top: 5px;
}


table.table {
    width: 100%;
    border-collapse: separate;
    border: solid lightgray 1px;
    border-radius: 10px;
    -moz-border-radius: 10px;
}
th.title {
    width: 40%
}

th.smallcolumn {
    width: 15%
}

th {
    background-color: #ebe9fb;    
}

tr:nth-child(odd) {
    background-color: white;    
}

tr:nth-child(even) {
    background-color: #f5f4fd;
    border-radius: 10px;
}

.floatRight {
    text-align:right;   
}

.fullWidth {
    width: 100%;    
    background-color: red;
}

#container {
    width: 100%;
    vertical-align: middle;
}

#left {
    float: left;
    width: 260px;
    vertical-align: middle;
}

#right {
    float: right;
    width: 60px;
    text-align:right;
    padding-top:4px;
}

#search-right {    
    float: right;
    width: 300px;
}
#filter-right {
    float: right; 
}
#center {
    margin: 0 auto;
    width: 100px;
}

#vertical-center {
    vertical-align:middle;
}

.icon {
    font-size:18px;
}

.icon-back {
    font-size: 22px;
}

.indentation {
    margin: 3px;
}

.CollapseHeaderMyList {
    border-radius: .2rem;
    background-image: linear-gradient(#230e25, #57225d);
    /*background-color: #46180d;*/
    height: 40px;
    padding-top: 5px;
    text-align: center;
    margin-bottom: 2px;
    color: white;
    font-weight: 300;
}

.CollapseHeader {
    border-radius: .2rem;
    background-image: linear-gradient(#0d0f59, #4D45BB);
    /*background-color: #212529;*/
    height: 40px;
    padding-top: 5px;
    text-align: center;
    margin-bottom: 2px;
    color: white;
    font-weight: 300;
}
.CollapseGroupHeader {
    border-radius: .2rem;
    background-image: linear-gradient(to bottom right, #4D45BB, #6367e9);
    /*background-image: linear-gradient(180deg, rgb(5, 39, 103) 50%, #4D45BB 95%);*/
    /*background-color: #4D45BB;*/
    height: 40px;
    padding: 5px 0px 0px 7px;
    margin-bottom: 10px;
    color: white;
    font-weight:300;
}

.CollapseListHeader {
    background-color: ghostwhite;
    height: 40px;
    padding: 5px 0px 0px 7px;
    margin-bottom: 2px;
    color: #173624;
}
.gray {    
    color: #64738A !important;
    font-weight:400;
    text-decoration: none;
}
.link {
    text-decoration: underline;
    color: #130a8f !important;
    text-decoration: none;
}

    .link:hover {
        text-decoration: underline;
        color: #130a8f !important;
        text-decoration: none;
    }

.icon-link {    
    color: #4D45BB;
}

.reading-type {
    /*background-color: #f5f4fd;*/
    background: #f9f8fd;
    padding: 1em;
    border-radius:5px;
}


.tooltip-wrapper-bottom {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
    cursor: help;
}

    .tooltip-wrapper-bottom .tooltiptext-bottom {
        visibility: hidden;
        width: 315px;
        background-color: black;
        color: #fff;
        text-align: left;
        border-radius: 6px;
        padding: 8px;
        /* Position the tooltip */
        position: absolute;
        z-index: 1;
        top: 25px;
        left: -30%;
    }

    .tooltip-wrapper-bottom:hover .tooltiptext-bottom {
        visibility: visible;
    }


.tooltip-wrapper-left {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
    cursor: help;
}

    .tooltip-wrapper-left .tooltiptext-left {
        visibility: hidden;
        width: 400px;
        background-color: black;
        color: #fff;
        text-align: left;
        border-radius: 6px;
        padding: 8px;
        /* Position the tooltip */
        position: absolute;
        z-index: 1;
        top: -5px;
        right: 105%;
    }

    .tooltip-wrapper-left:hover .tooltiptext-left {
        visibility: visible;
    }





.tooltip-wrapper-right {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
    cursor: help;
}

    .tooltip-wrapper-right .tooltiptext-right {
        visibility: hidden;
        width: 400px;
        background-color: black;
        color: #fff;
        text-align: left;
        border-radius: 6px;
        padding: 8px;
        /* Position the tooltip */
        position: absolute;
        z-index: 1;
        top: -5px;
        left: 105%;
    }

    .tooltip-wrapper-right:hover .tooltiptext-right {
        visibility: visible;
    }

book-img {
    border-radius: 7%;
    max-width:100px;
}

.reading {
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-size: 24px;
    line-height: 200%;
    margin: 7px;
}

.reading-type-item {
    padding-bottom: 5em;    
}

.tool-tip {

}

.anchor-bottom {
    position: absolute;
    bottom: 0;
}

.checkbox-style {
    position: absolute;
    left: -100vw;
    /* Note, you may want to position the checkbox over top the label and set the opacity to zero instead. It can be better for accessibilty on some touch devices for discoverability. */
}
.score-label {
    border-radius: 4px;
    border: 1px solid #D1D1D1;
    padding: 4px 12px 4px 12px;
    margin: 12px 4px 0px 4px;
    background-color: white;
    text-align: center;
    font-size: 24px;
    font-weight: 900;
}
.checkbox-label {
    border-radius: 4px;
    border: 1px solid #D1D1D1;
    padding: 4px 12px 4px 12px;
    margin: 12px 4px 0px 4px;
    background-color: white;
}

.checkbox-label-checked {
    font-weight: bold;
    border-radius: 4px;
    border: 1px solid #D1D1D1;
    padding: 4px 12px 4px 12px;
    margin: 12px 4px 0px 4px;
    /*box-shadow: 5px 5px 5px 5px lightgray;*/
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    background-color: #dedede;
}

.checkbox-label-disabled {
    border-radius: 4px;
    color: white;
    border: 1px solid #D1D1D1;
    padding: 4px 12px 4px 12px;
    margin: 12px 4px 0px 4px;
    background-color: lightgray;
}

.checkbox-xs-label {
    font-size: small;
    border-radius: 4px;
    border: 1px solid #D1D1D1;
    padding: 4px 4px 4px 4px;
    margin: 2px 2px 2px 2px;
    background-color: white;
}

.checkbox-xs-label-checked {
    font-size: small;
    font-weight: bold;
    border-radius: 4px;
    border: 1px solid #D1D1D1;
    padding: 4px 4px 4px 4px;
    margin: 2px 2px 2px 2px;
    background-color: #ebe9fb;
}

.checkbox-xs-label-disabled {
    font-size: small;
    border-radius: 4px;
    color: white;
    border: 1px solid #D1D1D1;
    padding: 4px 4px 4px 4px;
    margin: 2px 2px 2px 2px;
    background-color: lightgray;
}
.checkbox-image {
    border-radius: 4px;
    border: 1px solid #D1D1D1;
    padding: 4px 12px 4px 12px;
    margin: 12px 4px 0px 4px;
    background-color: white;
    opacity:.6;
}

.checkbox-image-checked {
    border-radius: 4px;
    border: 1px solid black;
    padding: 4px 12px 4px 12px;
    margin: 12px 4px 0px 4px;
    background-color: white;
}
.report-div{
    max-width:700px;
}
.google-signin-button {
    border: none;
}

.login-layout {
    /*border:1px solid lightgray; */
    border-radius: 8px;
    align-items: center;
    /*text-align: center; */
    padding: 30px 10px 25px 10px;
}

.auth-box {
    /*background-color: #f9f8fd;*/
    /*background: linear-gradient(to top left, #f9f8fd, transparent);*/
    padding: 5px;
    /*border: 1px solid lightgray;*/
    border-radius: 5px;
    min-width: 300px;
    margin: 0 auto;
    max-width:350px
}

    .auth-box h3 {
        color: #4D45BB;
    }

.border-empty {
    border: 1px solid rgba(0,0,0,.1);
    border-radius: 5px;
    background-color: white;
}

.border-filled {
    border: 1px solid rgba(0,0,0,.1);
    background-color: rgba(0,0,0,.1);
}
.reading-box {
    /*background-color: #f9f8fd;*/
    /*background: linear-gradient(to top left, #f9f8fd, transparent);*/
    margin: 5px;
    /*border: 1px solid lightgray;*/
    border-radius: 5px;
    min-width: 300px;
}

    .reading-box h3 {
        color: #4D45BB;
    }
/* dialog::backdrop, */
/*.dialog-backdrop {
    /*width: 100%;
    height: 100%;
    position: absolute;
    opacity: 0.2;
}

    .dialog-backdrop.active {
        z-index: 9;
    }*/
@media (min-width: 576px) {
    .modal-dialog {
        max-width:100%;
    }
}

.modal-title {
    font-size: 1.2em;
    max-width:295px;
}

.homepage-title {
    font-size: 1.2em;
}

.modal-content {
    box-shadow: 2px 2px #EAEAEA;
    margin: auto;
    width: 95%;
    min-width: 350px;
    top:10px;
}
.modal-content-small {
    box-shadow: 2px 2px #EAEAEA;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0.3rem;
    outline: 0;

    max-height: calc(100vh - 1rem);
    overflow: hidden;
    max-height: none;
    width: 100%;
}
.modal {
    overflow-y: scroll;
}


@media (min-width: 576px) {
    .modal-content-small {
        max-height: calc(100vh - 3.5rem);
    }
}

.my-reconnect-modal > div {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1100;
    overflow: hidden;
    opacity: 0.90;
    text-align: center;
    
    font-size: large;
    padding-top: 5px;

    background-color: #ebe9fb;
    
    border: 1px solid lightgray;
    border-radius: 20px;
}

.components-reconnect-hide > div {
    display: none;
}

.components-reconnect-show > div {
    display: none;
}

.components-reconnect-show > .show {
    display: block;
}

.components-reconnect-failed > div {
    display: none;
}

.components-reconnect-failed > .failed {
    display: block;
}

.components-reconnect-rejected > div {
    display: none;
}

.components-reconnect-rejected > .rejected {
    display: block;
}

.working {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9999;
    overflow: hidden;
    opacity: 0.95;
    text-align: center;
    font-size: large;
    padding-top: 100px;
    background-color: #FFF;
    border: 1px solid lightgray;
    border-radius: 20px;
}

.button {
    display: inline-block;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    text-decoration: none;
    background-color: #f5f4fd;
    color: black;
    padding: .375rem .75rem;
    margin: 30px;
}
    .button:hover {
        display: inline-block;
        font-weight: 400;
        font-size: 1rem;
        line-height: 1.5;
        border-radius: .25rem;
        text-decoration: none;
        background-color: #ebe9fb;
        color: black;
        padding: .375rem .75rem;
        margin: 30px;
    }

.button-dark {
    display: inline-block;
    line-height: 1.5;
    border-radius: .25rem;
    text-decoration: none;
    background-color: #333333;
    color: white;
    padding: .375rem .75rem;
}

    .button-dark:hover {
        display: inline-block;
        line-height: 1.5;
        border-radius: .25rem;
        text-decoration: none;
        background-color: grey;
        color: white;
        padding: .375rem .75rem;
    }

.session-box {
    background-color: black;
    border-radius: 20px;
    border: 1px solid lightgray;
    background-color: #00001a;
    font-weight: 400;
    font-size: 1rem;
    top: 100px;
    margin: auto;
    padding: 20px;
    opacity: 1;
    width: 40%;
    min-width:300px;
    z-index: 1150;
    text-align: center;
}

    .session-box .button {
        background: #ebe9fb;
    }

.clock, .clock:not([href]):not([tabindex]):hover {
    display: inline-block;
    font-weight:100;
    font-size: 60px;
    color: white;
    margin:20px
}

.session-text, .session-text:not([href]):not([tabindex]) {
    font-size: large;
    color: white;
    font-size:large
}

#myModal {
    z-index: 1060;
}

.library-row {
    width: 100%;
    /*flex-wrap: wrap;
    display: flex;
    justify-content: center;*/
    align-content:center;
}

.column-profile {
    float: left;
    width: 50%;
    margin-bottom: 16px;
    padding: 0 7px;
}

/* Three columns side by side */
.column {
    float: left;
    /*width: 16%;*/
    width: 300px;
    margin-bottom: 16px;
    padding: 0 16px;
    border-radius: 25px;
}

.book-image {
    width: 100%;
    border-radius: 25px;
    height: 280px;
    object-fit:cover;

}

@media screen and (max-width: 1526px) {
    .column {
        float: left;
        /*width: 18%;*/
        width: 230px;
        margin-bottom: 16px;
        padding: 0 7px;
    }

    .book-image {
        width: 100%;
        border-radius: 25px;
        height: 210px;
    }
}

@media screen and (max-width: 1126px) {
    .column {
        float: left;
        /*width: 25%;*/
        width: 200px;
        margin-bottom: 16px;
        padding: 0 7px;
    }

    .book-image {
        width: 100%;
        border-radius: 25px;
        height: 180px;
    }
}

@media screen and (max-width: 830px) {
    .column {
        float: left;
        /*width: 33.3%;*/
        width: 180px;
        margin-bottom: 16px;
        padding: 0 7px;
    }

    .book-image {
        width: 100%;
        border-radius: 25px;
        height: 180px;
    }
}

@media screen and (max-width: 500px) {
    .column {
        float: left;
        /*width: 50%;*/
        /*width: 180px;*/
        margin-bottom: 16px;
        padding: 0 7px;
    }

    .book-image {
        width: 100%;
        border-radius: 25px;
        height: 180px;
    }
}

/* Display the columns below each other instead of side by side on small screens */
@media screen and (max-width: 550px) {
    .column {
        /*width: 50%;*/
        width: 180px !important;
        display: block;
    }
}




.title-image, .text-title-image {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 18px;
    padding: 7px 7px 0px 7px;
    opacity: 0.3;
}
.passage-title-image {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 18px;
    padding: 7px 7px 0px 7px;
    /*opacity: 0.4;*/
}

.story-title-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 18px;
    padding: 7px 7px 0px 7px;
    /*opacity: 0.4;*/
}

/* Add some shadows to create a card effect */
.card {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
    border-radius: 25px;
}

/* Some left and right padding inside the container */
.reading-container {
    padding: 0 8px;
    font-size:12px;
}

.myReading {
    margin:0px;
}

/* Clear floats */
.reading-container::after, .row::after {
    content: "";
    clear: both;
    display: table;
}

.title {
    color: grey;
}



/* Container holding the image and the text */
.img-container {
    position: relative;
    text-align: left;
    font-size: 16px;
    color: white;
    /*text-shadow: 1px 1px black;*/
    font-weight: bold;    
}

.img-avatar-center {
    position: relative;
    text-align: left;
    /*text-shadow: 1px 1px black;*/
    font-weight: bold;
    border: 2px solid #f7f7f7;
    border-radius: 15px;
    width: 172px;
    height: 172px;
    margin-left: auto;
    margin-right: auto;
}

.img-avatar {
    position: relative;
    text-align: left;
    /*text-shadow: 1px 1px black;*/
    font-weight: bold;
    border: 2px solid #f7f7f7;
    border-radius: 15px;
    width: 172px;
    height: 172px;
    margin-left: auto;
    /*margin-right: auto;*/
}
.img-avatar-family {
    position: relative;
    text-align: left;
    /*text-shadow: 1px 1px black;*/
    font-weight: bold;
    /*border: 2px solid #f7f7f7;
    border-radius: 25px;*/
    width: 152px;
    height: 152px;
    margin-left: auto;
    margin-right: auto;
}
.img-avatar-family-small {
    position: relative;
    text-align: left;
    /*text-shadow: 1px 1px black;*/
    font-weight: bold;
    /*border: 2px solid #f7f7f7;
    border-radius: 25px;*/
    width: 52px;
    height: 52px;
    border-radius: 10px;
    margin-right: 8px;
}

.img-avatar-class {
    position: relative;
    text-align: left;
    /*text-shadow: 1px 1px black;*/
    font-weight: bold;
    border: 2px solid #f7f7f7;
    border-radius: 15px;
    width: 82px;
    height: 82px;
    margin-left: auto;
    margin-right: auto;
}
.img-avatar-header {
    position: relative;
    text-align: left;
    /*text-shadow: 1px 1px black;*/
    font-weight: bold;
    border: 2px solid #f7f7f7;
    border-radius: 15px;
    width: 52px;
    height: 52px;
    float:right;
    margin-right:7px;
    /*margin-left: auto;
    margin-right: auto;*/
}

.img-avatar-class-selected {
    position: relative;
    text-align: left;
    /*text-shadow: 1px 1px black;*/
    font-weight: bold;
    border: 10px solid #6367e9;
    border-radius: 25px;
    width: 94px;
    height: 94px;
    margin-left: auto;
    margin-right: auto;
    background-color: #6367e9;
}

.img-feature-class {
    position: relative;
    text-align: left;
    /*text-shadow: 1px 1px black;*/
    font-weight: bold;
    border: 2px solid #f7f7f7;
    border-radius: 15px;
    width: 62px;
    height: 62px;
    margin-left: auto;
    margin-right: auto;
}

.img-feature-class-selected {
    position: relative;
    text-align: left;
    /*text-shadow: 1px 1px black;*/
    font-weight: bold;
    border: 6px solid #6367e9;
    border-radius: 18px;
    width: 70px;
    height: 70px;
    margin-left: auto;
    margin-right: auto;
    background-color: #6367e9;
}

.avatar-header {
    font-size:14px;
    text-align: left;
    line-height: 2.6;
    margin-right: auto;
    padding: 5px 3px 5px 10px;
}

.avatar-header-center {
    font-size: 14px;    
    line-height: 2.6;
    margin-right: auto;
    padding: 5px 3px 5px 10px;
}

.avatar-header-left {
    font-size: 14px;
    line-height: 2.6;
    margin-right: auto;
    padding: 5px 3px 5px 10px;
    clear: both;
    float: left;
    display: block;
    position: relative;
}
.overlay {
    position: absolute;
    padding-bottom: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35), transparent);
    z-index: 1;
    width: 100%;
    border-radius: 25px;
}

.img-monster {
    margin: 10px;
    border-radius: 15px;
    font-size:14px;
}

.img-monster-group {
    text-align: center;
    background: linear-gradient(to top, rgba(146,127,255, 0.50), transparent);
    min-height:400px;
}

.tutorial-group2 {
    text-align: center;
    background: linear-gradient(to bottom, rgba(138,86,210, 0.50), transparent);
    min-height: 400px;
}

.tutorial-group1 {
    text-align: center;
    background: linear-gradient(to bottom, rgba(102,133,236, 0.50), transparent);
    min-height: 400px;
}

.tutorial-group3 {
    text-align: center;
    background: linear-gradient(to bottom, rgba(206,125,171, 0.50), transparent);
    min-height: 400px;
}


.tutorial-group4 {
    text-align: center;
    background: linear-gradient(to bottom, rgba(100,166,47, 0.50), transparent);
    min-height: 400px;
}

.tutorial-group5 {
    text-align: center;
    background: linear-gradient(to bottom, rgba(255,107,78, 0.50), transparent);
    min-height: 400px;
}

.overlay-added {
    position: absolute;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45), transparent);
    z-index: 1;
    width: 100%;
    border-radius: 15px;
}

.feature {
    width: 100%;
    border-radius: 15px;
}

.overlay1 {
    position: absolute;    
    z-index: 1;
    width: 100%;
    border-radius: 15px;
}

.overlay2 {
    position: absolute;
    z-index: 2;
    width: 100%;
    border-radius: 15px;
}

.overlay3 {
    position: absolute;
    z-index: 3;
    width: 100%;
    border-radius: 15px;
}

.overlay4 {
    position: absolute;
    z-index: 4;
    width: 100%;
    border-radius: 15px;
}

.overlay5 {
    position: absolute;
    z-index: 5;
    width: 100%;
    border-radius: 15px;
}

.overlay6 {
    position: absolute;
    z-index: 6;
    width: 100%;
    border-radius: 15px;
}

.overlay7 {
    position: absolute;
    z-index: 7;
    width: 100%;
    border-radius: 15px;
}

.overlay8 {
    position: absolute;
    z-index: 8;
    width: 100%;
    border-radius: 15px;
}

.overlay9 {
    position: absolute;
    z-index: 9;
    width: 100%;
    border-radius: 15px;
}


/* Bottom left text */
.bottom-left-passage {
    position: absolute;
    bottom: 4px;
    left: 16px;
    color: white;
    padding: 2px 8px 2px 8px;
    font-size: 14px;
    background: linear-gradient(to top, rgba(76, 82, 255, 1), rgba(76, 82, 255, .60));
    opacity: 0.9;
    border-radius: .8rem;
}

.bottom-left-story {
    position: absolute;
    bottom: 4px;
    left: 16px;
    color: white;
    padding: 2px 8px 2px 8px;
    font-size: 14px;
    background: linear-gradient(to top, rgba(195, 0, 255, .95), rgba(195, 0, 255, .50));
    opacity: 0.9;
    border-radius: .8rem;
}

.bottom-left2 {
    position: absolute;
    bottom: 30px;
    left: 16px;
    color: white;
    padding: 2px 8px 2px 8px;
    font-size: 14px;
    background: linear-gradient(to top, rgba(38, 38, 38, .85), transparent);
    /*background-color: #527a7a;*/
    opacity: 0.9;
    border-radius: .8rem;
}

.bottom-left3 {
    position: absolute;
    bottom: 55px;
    left: 16px;
    color: white;
    padding: 2px 8px 2px 8px;
    font-size: 14px;
    background: linear-gradient(to top, rgba(38, 38, 38, .85), transparent);
    opacity: 0.9;
    border-radius: .8rem;
}

.bottom-right3 {
    position: absolute;
    bottom: 0px;
    right: 0px;
    color: white;
    padding: 2px 8px 2px 8px;
    font-size: 14px;
    /*background: linear-gradient(to left, rgba(13, 8, 0, 1), transparent);*/
    background: linear-gradient(to left, rgba(13, 8, 0, .95), rgba(13, 8, 0, .25));
    opacity: 0.9;
    /*border-radius: .6rem;*/
    /*border:0.1rem solid white;*/
}



/* Top left text */
.top-left {
    position: absolute;
    top: 10px;
    left: 17px;
    color: white;
    z-index:2;
    padding-right:17px;
}

/* Top right text */
.top-right {
    position: absolute;
    top: 8px;
    right: 16px;
    color: white;
}

/* Bottom right text */
.bottom-right {
    position: absolute;
    bottom: 8px;
    right: 16px;
    color: white;
    z-index: 2;
}

/* Centered text */
.centered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
}

.centered-bottom {
    position: absolute;
    top: 86%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: lightgray;
}

.centered-phonics {
    position: absolute;
    top: 86%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: black;
}

.centered-top {
    position: absolute;
    top: 12%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    z-index:20;
}

.h-centered {      
    width:100%;
    text-align:center;      
}
.h-right {
    width: 100%;
    height:70px;
    text-align: right;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 5px;
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
}





















#library {
    color: #fff;
    cursor: default;
    height: 8.25em;
    left: 0;
    line-height: 3.25em;
    text-align: right;
    width: 100%;
    z-index: 10001;
}

/* Header */

.subpage {
    padding-top: 44px;
}

    .subpage #header {
        background: #4D45BB;
        top: 0;
        height: 44px;
        line-height: 44px;
        position: fixed;
    }

#header {
    color: #fff;
    cursor: default;
    height: 3.25em;
    left: 0;
    
    position: absolute;
    text-align: right;
    top: 1.1em;
    width: 100%;
    z-index: 100;
}

    #header .inner {
        margin: 0 auto;
        position: relative;
    }

    #header .logo {
        color: #ffffff;
        display: inline-block;
        font-weight: 400;
        height: inherit;
        left: 0;
        line-height: inherit;
        margin: 0;
        padding: 0;
        padding-left: 1.5rem !important;
        position: absolute;
        top: 0;
        font-size: 1em;
    /*}

        #header .logo strong {
            color: #ffffff;
            font-weight: 600;
        }

    #header a {
        -moz-transition: color 0.2s ease-in-out;
        -webkit-transition: color 0.2s ease-in-out;
        -ms-transition: color 0.2s ease-in-out;
        transition: color 0.2s ease-in-out;
        display: inline-block;
        padding: 0 0.75em;
        color: inherit;
        font-weight: 400;
        text-decoration: none;
        /*font-size: 1em;*/
    }

        #header a:hover {
            color: #ffffff;
        }

        #header a:last-child {
            /*padding-right: 0;*/
        }

        #header a.navPanelToggle {
            display: none;
            text-decoration: none;
            height: 4em;
            width: 4em;
            z-index: 10003;
        }

            #header a.navPanelToggle .fa {
                font-size: 1.25em;
            }

/*@media screen and (max-width: 980px) {

    #header a.navPanelToggle {
        display: inline-block;
    }
}

@media screen and (max-width: 736px) {

    #header a {
        padding: 0 0.5em;
    }
}

@media screen and (max-width: 980px) {

    #header {
        top: 1em;
    }
}

@media screen and (max-width: 736px) {

    #header {
        top: 1em;
    }
}

@media screen and (max-width: 480px) {

    #header {
        font-size: .9em;
    }
}*/

/* Nav */

@media screen and (max-width: 980px) {

    #nav {
        display: none;
    }
}

#navPanel {
    -moz-transform: translatex(20em);
    -webkit-transform: translatex(20em);
    -ms-transform: translatex(20em);
    transform: translatex(20em);
    -moz-transition: -moz-transform 0.2s ease-in-out, visibility 0.2s ease-in-out;
    -webkit-transition: -webkit-transform 0.2s ease-in-out, visibility 0.2s ease-in-out;
    -ms-transition: -ms-transform 0.2s ease-in-out, visibility 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, visibility 0.2s ease-in-out;
    -webkit-overflow-scrolling: touch;
    visibility: hidden;
    overflow-y: auto;
    position: fixed;
    right: 0;
    top: 0;
    background: #6cc091;
    color: #daefe3;
    height: 100%;
    max-width: 80%;
    width: 20em;
    padding: 0.5em 1.25em;
    z-index: 10010;
}

    #navPanel.visible {
        -moz-transform: translatex(0);
        -webkit-transform: translatex(0);
        -ms-transform: translatex(0);
        transform: translatex(0);
        box-shadow: 0 0 1.5em 0 rgba(0, 0, 0, 0.2);
        visibility: visible;
    }

    #navPanel a:not(.close) {
        border-top: solid 1px #8dcca9;
        color: #daefe3;
        box-shadow: none;
        display: block;
        padding: 0.75em 0;
        text-decoration: none;
        font-weight: 300;
    }

        #navPanel a:not(.close):first-child {
            border: none;
        }

        #navPanel a:not(.close):last-child {
            padding: 0;
            box-shadow: none;
        }

    #navPanel .close {
        text-decoration: none;
        -moz-transition: color 0.2s ease-in-out;
        -webkit-transition: color 0.2s ease-in-out;
        -ms-transition: color 0.2s ease-in-out;
        transition: color 0.2s ease-in-out;
        -webkit-tap-highlight-color: transparent;
        border: 0;
        color: #daefe3;
        cursor: pointer;
        display: block;
        height: 4em;
        padding-right: 1.25em;
        position: absolute;
        right: 0;
        text-align: right;
        top: 0;
        vertical-align: middle;
        width: 5em;
    }

        #navPanel .close:before {
            -moz-osx-font-smoothing: grayscale;
            -webkit-font-smoothing: antialiased;
            font-family: FontAwesome;
            font-style: normal;
            font-weight: normal;
            text-transform: none !important;
            content: '\f00d';
            width: 3em;
            height: 3em;
            line-height: 3em;
            display: block;
            position: absolute;
            right: 0;
            top: 0;
            text-align: center;
        }

        #navPanel .close:hover {
            color: inherit;
        }

/* Banner */

#banner {
    padding: 8em 0 1em 0;
    background-image: url(../images/banner.jpg);
    background-size: cover;
    background-position: bottom;
    background-attachment: fixed;
    background-repeat: no-repeat;
    text-align: center;
    position: relative;
}

    #banner:before {
        content: '';
        background: rgba(75, 75, 93, 0.85);
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }

    #banner .inner {
        border-top: 2px solid rgba(255, 255, 255, 0.2);
        position: relative;
        z-index: 10005;
        padding-top: 8em;
    }

    #banner h1 {
        font-size: 3.5em;
        font-weight: 400;
        color: #fff;
        line-height: 1em;
        margin: 0 0 1em 0;
        padding: 0;
    }

    #banner h3 {
        font-weight: 400;
        color: #fff;
        margin: 0;
        font-size: 1.5em;
    }

    #banner .icon {
        color: #6cc091;
        font-size: 2em;
    }

    #banner p {
        font-size: 1em;
        color: rgba(255, 255, 255, 0.55);
        margin-bottom: 1.75em;
    }

    #banner .flex {
        -ms-flex-pack: center;
        -moz-justify-content: center;
        -webkit-justify-content: center;
        -ms-justify-content: center;
        justify-content: center;
        text-align: center;
        margin: 0 auto 4em auto;
    }

        #banner .flex div {
            border-right: 2px solid rgba(255, 255, 255, 0.2);
            padding: 0 8em;
        }

            #banner .flex div:last-child {
                border: none;
                padding-right: 0;
            }

            #banner .flex div:first-child {
                padding-left: 0;
            }

            #banner .flex div p {
                margin: 0;
            }

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {

    #banner {
        background-attachment: scroll;
    }
}

@media screen and (max-width: 1680px) {

    #banner .flex div {
        padding: 0 6em;
    }
}

@media screen and (max-width: 1280px) {

    #banner {
        padding: 7em 0 6em 0;
    }

        #banner .inner {
            padding-top: 6em;
        }

        #banner h1 {
            font-size: 3em;
        }

        #banner h3 {
            font-size: 1.25em;
        }

        #banner .flex div {
            padding: 0 3em;
        }
}

@media screen and (max-width: 980px) {

    #banner {
        background-attachment: scroll;
        padding: 5em 0 4em 0;
    }

        #banner .inner {
            padding-top: 4em;
        }

        #banner h1 {
            font-size: 2.5em;
        }

        #banner h3 {
            font-size: 1.25em;
        }

        #banner .flex div {
            font-size: .85em;
            padding: 0 1.5em;
        }
}

@media screen and (max-width: 736px) {

    #banner {
        padding: 4em 0 3em 0;
    }

        #banner .inner {
            padding-top: 3em;
        }

        #banner h1 {
            font-size: 2em;
        }

        #banner h3 {
            font-size: 1.25em;
        }

        #banner .flex {
            -moz-flex-direction: column;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column;
            margin: 0 auto 2em auto;
        }

            #banner .flex div {
                font-size: .85em;
                padding: 0;
                border: none;
                margin-bottom: 1em;
            }
}

@media screen and (max-width: 480px) {

    #banner h1 {
        font-size: 1.5em;
    }
}



/* End Banner */








/* Begin Banner-header */

#banner-header {
    /*padding: 8em 0 1em 0;*/
    height: 4.5rem;
    /*background: url(../../assets/images/banner-header-bg.jpg);*/
    /*background: url(../../assets/images/book3.png);*/
    /*background: linear-gradient(to bottom right, #3339E2, #DD4178);*/
    background-color: #4d45bb;
    background-repeat: no-repeat;
    background-size: auto;
    background-size: cover;
    background-position: bottom;
    background-attachment: fixed;
    background-repeat: no-repeat;
    text-align: center;
    position: relative;
}

    #banner-header:before {
        content: '';
        /*background: rgba(75, 75, 93, 0.85);*/
        /*background: rgba(86, 86, 98, .85);*/

        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
    }

    #banner-header .inner {
        border-top: 2px solid rgba(255, 255, 255, 0.2);
        position: relative;
        z-index: 10005;
        padding-top: 4em;
    }

    #banner-header h1 {
        font-size: 3.5em;
        font-weight: 400;
        color: #fff;
        line-height: 1em;
        margin: 0 0 1em 0;
        padding: 0;
    }

    #banner-header h3 {
        font-weight: 400;
        color: #fff;
        margin: 0;
        font-size: 1.5em;
    }

    #banner-header .icon {
        color: #4D45BB;
        font-size: 2em;
    }

    #banner-header p {
        font-size: 1em;
        color: rgba(255, 255, 255, 0.55);
        margin-bottom: 1.75em;
        text-align: center;
    }

    #banner-header .flex {
        -ms-flex-pack: center;
        -moz-justify-content: center;
        -webkit-justify-content: center;
        -ms-justify-content: center;
        justify-content: center;
        text-align: center;
        margin: 0 auto 4em auto;
    }

        #banner-header .flex div {
            border-right: 2px solid rgba(255, 255, 255, 0.2);
            padding: 0 8em;
        }

            #banner-header .flex div:last-child {
                border: none;
                padding-right: 0;
            }

            #banner-header .flex div:first-child {
                padding-left: 0;
            }

            #banner-header .flex div p {
                margin: 0;
            }

/*@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {

    #banner-header {
        background-attachment: scroll;
    }
}

@media screen and (max-width: 1680px) {

    #banner-header .flex div {
        padding: 0 6em;
    }
}

@media screen and (max-width: 1280px) {

    #banner-header {
        padding: 2em 0 6em 0;
    }

        #banner-header .inner {
            padding-top: 6em;
        }

        #banner-header h1 {
            font-size: 3em;
        }

        #banner-header h3 {
            font-size: 1.25em;
        }

        #banner-header .flex div {
            padding: 0 3em;
        }
}

@media screen and (max-width: 980px) {

    #banner-header {
        background-attachment: scroll;
        padding: 1.4em 0 4em 0;
    }

        #banner-header .inner {
            padding-top: 4em;
        }

        #banner-header h1 {
            font-size: 2.5em;
        }

        #banner-header h3 {
            font-size: 1.25em;
        }

        #banner-header .flex div {
            font-size: .85em;
            padding: 0 1.5em;
        }
}

@media screen and (max-width: 736px) {

    #banner-header {
        padding: 1.2em 0 3em 0;
    }

        #banner-header .inner {
            padding-top: 3em;
        }

        #banner-header h1 {
            font-size: 2em;
        }

        #banner-header h3 {
            font-size: 1.25em;
        }

        #banner-header .flex {
            -moz-flex-direction: column;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column;
            margin: 0 auto 2em auto;
        }

            #banner-header .flex div {
                font-size: .85em;
                padding: 0;
                border: none;
                margin-bottom: 1em;
            }
}

@media screen and (max-width: 480px) {

    #banner-header h1 {
        font-size: 1.5em;
    }
}*/

/* End Banner-header */











.whitetext {
    color: #fff;
}

#about {
    padding: 6em 0;
    background: #ebe9fb;
    /*color: #fff;*/
    text-align: center;
}

    #about h3 {
        /*color: #FFF;*/
        margin-bottom: 2em !important;
    }

    #about h2 {
        color: #000000;
        margin-bottom: 2em !important;
    }

    #about p {
        color: #000000;
        margin-bottom: 2em !important;
    }

/* Footer */

#footer {
    padding: 6em 0;
    background: #6cc091;
    color: #fff;
    text-align: center;
    height: 290px;
    margin-top: -290px;
}

    #footer h3 {
        color: #FFF;
        margin-bottom: 2em !important;
    }

    #footer label {
        text-align: left;
        color: #FFF;
    }

    #footer .copyright {
        color: rgba(255, 255, 255, 0.5);
        font-size: 1.0em;
        margin: 0 0 2em 0;
        padding: 0;
    }

        #footer .copyright a {
            color: rgba(255, 255, 255, 0.5);
            text-decoration: none;
        }

            #footer .copyright a:hover {
                color: #FFF;
            }

@media screen and (max-width: 980px) {

    #footer {
        padding: 4em 0;
    }
}

@media screen and (max-width: 736px) {

    #footer {
        padding: 3em 0;
    }
}

.add-reading {
    width:100%;
    text-align:center;
    margin-bottom:2em;
}

.login-button {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    background-color: #4D45BB;
    /*box-shadow: inset 0 0 0 2px #4D45BB;*/
    color: #FFF !important;
    border-radius: 4px;
    border: 0;
    cursor: pointer;
    display: inline-block;
    font-size: 1.2em;
    font-weight: 900;    
    line-height: 3.0em;
    letter-spacing: 2px;
    padding: 0 0em;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    min-width:205px;
    margin:5px;
}

    .login-button:hover {
        background-color: #000;
        color: #fff !important;
    }

.login-button-gray {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    background-color: #6c757d;
    box-shadow: inset 0 0 0 2px #6c757d;
    color: #FFF !important;
    border-radius: 4px;
    border: 0;
    min-width: 205px;
    cursor: pointer;
    display: inline-block;
    font-size: 1.2em;
    font-weight: 900;
    line-height: 3.0em;
    letter-spacing: 2px;
    padding: 0 0em;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    margin: 5px
}

    .login-button-gray:hover {
        background-color: #000;
        color: #fff !important;
    }

.login-button-grayedout {
    -moz-appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    background-color: #e8ebed;
    color: #6c757d !important;
    border-radius: 4px;
    border: 0;
    cursor: pointer;
    display: inline-block;
    font-size: 1.2em;
    font-weight: 900;    
    line-height: 3.0em;
    /*letter-spacing: 2px;*/
    padding: 0 0em;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    min-width:205px;
    margin:5px;
}

a {
    font-weight: 400;
    text-decoration: none;
}

.img-fullscreen {
    width: 100%;
}

.shaded {
    background-color: #ebe9fb;
}

.white {
    background-color: #FFF;
}
.login-footer {    
    
}
h3 {
    font-weight:600;
    color: #4D45BB;
    font-size:1.55rem;
}
.row {
    margin: 20px 0 0 0;    
    display:flex;
    justify-content:center;
}

.row-left-justify {
    margin: 20px 0 0 0;
    display: flex;
    justify-content: left;
}
.center-text {
    text-align:center;
    padding:0 20px;
}

.report-row {    
}
.report-left {
    float: left;
    width: 50%;
    padding:10px 0px 10px 10px;
}
.report-right {
    float: left;
    width: 50%;
    padding: 10px 0px 10px 10px;
}

div.filtermenu {
    border: 1px solid lightgray;
}

div.scrollmenu {
    background-color: #EFEDFF;
    padding: 12px 5px;
    overflow: auto;
    white-space: nowrap;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
    text-wrap: wrap;
}

/* Hide scrollbar for Chrome, Safari and Opera */
    div.scrollmenu::-webkit-scrollbar {
        display: none;
    }

div.searchbox input[type=search] {
    padding: 10px;
    font-size: 17px;
    border: 1px solid lightgrey;
    float: left;
    width: 67%;
    background: #FFFFFF;
}

div.searchbox div {
    float: left;
    width: auto;   
    padding: 10px;
    background: #ebe9fb;
    color: grey;
    font-size: 17px;
    border: 1px solid lightgrey;
    cursor: pointer;
    margin-right: 2px;
}

div.clickbox div {
    width: 200px;
    padding: 10px;
    background: #ebe9fb;
    color: grey;
    font-size: 17px;
    border: 1px solid lightgrey;
    cursor: pointer;
    margin-right: 2px;
}

.result-perfect {
    background-image: url(../images/confetti2.gif);
    height: 500px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.result-pass {    
    height: 500px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.result-almostpass {    
    height: 500px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.result-text {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: currentColor;
    width:100%;
}














#carousel {
    width: 100%;
    height: 150px;
    background-color: #ff0000;
    overflow: auto;
    white-space: nowrap;
}

    #carousel .slide {
        display: inline-block;
    }

#outer-container,
#outer-container1,
#outer-container2,
#outer-container3,
#outer-container4,
#outer-container5,
#outer-container6,
#outer-container7,
#outer-container8,
#outer-container9,
#outer-container10,
#outer-container11,
#outer-container12,
#outer-container13,
#outer-container14,
#outer-container15,
#outer-container16,
#outer-container17,
#outer-container18,
#outer-container19,
#outer-container20,
#outer-container21,
#outer-container22,
#outer-container23,
#outer-container24,
#outer-container25,
#outer-container26,
#outer-container27,
#outer-container28,
#outer-container29,
#outer-container30
{
    display: flex;
    flex-wrap: nowrap;
    overflow: auto;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

/* Hide scrollbar for Chrome, Safari and Opera */
    #outer-container::-webkit-scrollbar,
    #outer-container1::-webkit-scrollbar,
    #outer-container2::-webkit-scrollbar,
    #outer-container3::-webkit-scrollbar,
    #outer-container4::-webkit-scrollbar,
    #outer-container5::-webkit-scrollbar,
    #outer-container6::-webkit-scrollbar,
    #outer-container7::-webkit-scrollbar,
    #outer-container8::-webkit-scrollbar,
    #outer-container9::-webkit-scrollbar,
    #outer-container10::-webkit-scrollbar,
    #outer-container11::-webkit-scrollbar,
    #outer-container12::-webkit-scrollbar,
    #outer-container13::-webkit-scrollbar,
    #outer-container14::-webkit-scrollbar,
    #outer-container15::-webkit-scrollbar,
    #outer-container16::-webkit-scrollbar,
    #outer-container17::-webkit-scrollbar,
    #outer-container18::-webkit-scrollbar,
    #outer-container19::-webkit-scrollbar,
    #outer-container20::-webkit-scrollbar,
    #outer-container21::-webkit-scrollbar,
    #outer-container22::-webkit-scrollbar,
    #outer-container23::-webkit-scrollbar,
    #outer-container24::-webkit-scrollbar,
    #outer-container25::-webkit-scrollbar,
    #outer-container26::-webkit-scrollbar,
    #outer-container27::-webkit-scrollbar,
    #outer-container28::-webkit-scrollbar,
    #outer-container29::-webkit-scrollbar,
    #outer-container30::-webkit-scrollbar
    {
        display: none;
    }

.image-scroll {
    vertical-align: top;
    height: 180px;
    width: 180px;
    border-radius: 25px;
    object-fit: cover;
}
.image-grid {
    vertical-align: top;
    height: 180px;
    width: 100%;
    border-radius: 25px;
    object-fit: cover;
}
.scroll-header {    
    margin: 0 0 5px 12px;
}
.scroll-container {
    position: relative;
    left: -12px;
    background: linear-gradient(to top, rgba(146,127,255, 0.50), transparent);
    margin-right: -30px;
    padding: 23px 0px 22px 12px;
    margin-top: 10px;
}

.scroll-div {
    flex: 0 0 auto;
    height: auto;
    padding: 7px;
    border-radius: 25px;
}

.center-left {
    position: absolute;
    bottom: 40px;
    width: 32px;
    line-height: 2em;
    color: black;
    padding: 2px 8px 2px 8px;
    font-size: 14px;
    background: linear-gradient(to top, rgba(255,255,255, .75), white);
    /*background-color: #527a7a;*/
    opacity: 0.9;
    text-align: center;
    border-radius: 1rem;
    margin: 0 0px 0 15px;
    z-index:200;
}

.center-right {
    position: absolute;
    right: 15px;
    bottom: 40px;
    width: 32px;
    line-height: 2em;
    color: black;
    padding: 2px 8px 2px 8px;
    font-size: 14px;
    background: linear-gradient(to top, rgba(255,255,255, .75), white);
    /*background-color: #527a7a;*/
    text-align: center;
    opacity: 0.9;
    border-radius: 1rem;
    margin: 0;
    z-index: 200;
}

.left-indent {
    margin-left:10px;
}

.io-size12 {
    font-size: 12px;
}
.img-add-reading {
    width: 100%;
    border-radius: 25px;
    border: 1px dotted #4C008E;
    /*background-color: #F7F7FF*/
    height:180px;
    object-fit:cover;
}

.column1 {
    float: left;
    width:180px;
    margin-bottom: 10px;
    /*margin:10px auto;*/
    padding: 0 0 0 10px;
    border-radius: 25px;
}
@media screen and (max-width: 400px) {
    .column1 {
        float: left;
        width: 170px;
        margin-bottom: 10px;
        padding: 0 0 0 10px;
        border-radius: 25px;
    }
}

.btn-font-size-small {
    float: right;
    width: 32px;
    line-height: 1.9em;
    color: black;
    padding: 2px 8px 2px 8px;
    font-size: 16px;
    background: linear-gradient(to top, rgba(255,255,255, .75), white);
    background-color: #c6c6c6;
    text-align: center;
    border-radius: 1rem;
    z-index: 200;
}

.btn-font-size-medium {
    float: right;
    width: 32px;
    line-height: 1.5em;
    color: black;
    padding: 2px 8px 2px 8px;
    font-size: 20px;
    background: linear-gradient(to top, rgba(255,255,255, .75), white);
    background-color: #c6c6c6;
    text-align: center;
    border-radius: 1rem;
    z-index: 200;
}

.btn-font-size-large {
    float: right;
    width: 32px;
    line-height: 1.2em;
    color: black;
    padding: 2px 8px 2px 8px;
    font-size: 25px;
    background: linear-gradient(to top, rgba(255,255,255, .75), white);
    background-color: #c6c6c6;
    text-align: center;
    border-radius: 1rem;
    z-index: 200;
}

.btn-font-size-small-selected {
    float: right;
    width: 32px;
    line-height: 1.9em;
    color: black;
    padding: 2px 8px 2px 8px;
    font-size: 16px;
    background: linear-gradient(to top, rgba(255,255,255, .1), white);
    background-color: #c6c6c6;
    text-align: center;
    border-radius: 1rem;
    z-index: 200;
}

.btn-font-size-medium-selected {
    float: right;
    width: 32px;
    line-height: 1.5em;
    color: black;
    padding: 2px 8px 2px 8px;
    font-size: 20px;
    background: linear-gradient(to top, rgba(255,255,255, .1), white);
    background-color: #c6c6c6;
    text-align: center;
    border-radius: 1rem;
    z-index: 200;
}

.btn-font-size-large-selected {
    float: right;
    width: 32px;
    line-height: 1.2em;
    color: black;
    padding: 2px 8px 2px 8px;
    font-size: 25px;
    background: linear-gradient(to top, rgba(255,255,255, .1), white);
    background-color: #c6c6c6;
    text-align: center;
    border-radius: 1rem;
    z-index: 200;
}

.earning {
    border:1px dotted lightgrey;
    padding:10px;
    width: 180px;
    border-radius:25px;
    margin:auto;
    margin-bottom:15px;
    text-align:left;
    padding-left:20px;
}

.earning-top {
    float:right;
    border: 1px dotted lightgrey;
    padding: 3px 10px 3px 5px;
    width: auto;
    border-radius: 15px;
    height:auto;
    vertical-align:middle;
    margin-left:5px;
}

.cart {
    float: left;
    border: 1px dotted lightgrey;
    padding: 3px 10px 3px 5px;
    min-width: 100px;
    border-radius: 15px;
    height: auto;
    text-align:center;
    vertical-align: middle;
    margin-left: 5px;
}

.stats {
 height:70px;
 vertical-align:middle;
 margin:auto;
 overflow:hidden;
}


.thin {
    font-weight:400;
}
.fillbar {
    background-color: forestgreen;
    height: 10px;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
}
.remainingbar {
   
}
.bar {
    width: 200px;
    background-color: lightgrey;
    border: 1px solid lightgrey;
    height: 11px;
    margin: auto;
    border-radius: 25px;
}

.tab {
    text-align: center;
    height:30px;
    margin:auto;
    margin-bottom:10px;
    width: 95%;
}
.tab-left {
    float: left;
    margin: auto;
    width: 50%;
    border: 1px solid lightgrey;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    background-color: white;
}

.tab-left-selected {
    float: left;
    margin: auto;
    width: 50%;
    border: 1px solid lightgrey;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    font-weight:600;
    background-color: lavender;
}

.tab-right {
    float: right;
    margin: auto;
    width: 50%;
    border: 1px solid lightgrey;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    background-color: white;
}

.tab-right-selected {
    float: right;
    margin: auto;
    width: 50%;
    border: 1px solid lightgrey;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    font-weight: 600;
    background-color: lavender;
}

.story-page-row {
    margin: 0 auto;
}

.story-page-left {
    position: absolute;
    top: 170px; 
    /*top: 275px;*/
    width: 35px;
    line-height: 2em;
    color: black;
    padding: 2px 8px 2px 8px;
    font-size: 14px;
    background: linear-gradient(to top, rgba(146,127,255, 1), white);
    /*background-color: #527a7a;*/    
    text-align: center;
    border-radius: 1rem;
    margin: 0 0px 0 0px;
    z-index: 200;
}

.story-page-right {
    position: absolute;
    right: 15px;
    top: 170px;
    /*top: 275px;*/
    width: 35px;
    line-height: 2em;
    color: black;
    padding: 2px 8px 2px 8px;
    font-size: 14px;
    background: linear-gradient(to top, rgba(146,127,255, 1), white);
    /*background-color: #527a7a;*/
    text-align: center;    
    border-radius: 1rem;
    margin: 0;
    z-index: 200;
}



.story-page-img {
    width: 100%;    
    display: flex;
    justify-content: center;
    padding: 0 28px 0 37px;
}

.story-page-content {
    text-align: center;
    padding: 0 28px 0 37px;
}

.tutorial {
    width:100%;
    padding:10%;
}

.added-profile-error{
    color:red;    
    text-align:center;
    padding: 7px;
}

.phonics-word-purple {
    color: white !important;
    padding: 0px 1px 8px 1px;    
    background: linear-gradient(to top, rgba(76, 82, 255, 1), rgba(76, 82, 255, .60));    
    border-radius: 0.3rem;
}

.center-img {
    margin-left: auto;
    margin-right: auto;
}

.phonics-program {
    text-align: center;
    font-size: 20px;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    border-collapse: separate;
    border: solid lightgray 1px;
    border-radius: 10px;
    -moz-border-radius: 10px;
}

.phonics-program-index {
    text-align: center;
    font-size: 20px;
    width: 15%;
    margin-left: auto;
    margin-right: auto;
    border-collapse: separate;
    border: solid lightgray 1px;
    border-radius: 10px;
    -moz-border-radius: 10px;
}
.alpha-letter {
    font-weight: bold;
    padding: 2px;
    font-size:36px;
}

.alpha-letter-Large {
    font-weight: bold;
    padding: 2px;
    font-size: 48px !important;
}
.number {
    font-weight: bold;
    padding: 2px;
    font-size: 26px;
}

.phonics-button {
    color: white !important;
    padding: 4px 15px 8px 15px;

    background: linear-gradient(to top, rgba(76, 82, 255, 1), rgba(76, 82, 255, .60));
    border-radius: 0.3rem;
}

.open-reading {
    font-weight: bold;
}

    .open-reading:hover {
    color: #4D45BB !important;
    text-decoration: none !important;
    }


/* API Portal Stuff */
.API-subheader{
    margin-left:25px;
    text-decoration:none;
}
.API-subheader:hover {
    margin-left: 25px;
    text-decoration: none;
}

.code-background {
    background-color: #e8e6df;
    padding: 5px;
}

.home-header {
    background-color: #5D3FD3;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    justify-content: center;
    color: white;
    max-width: 1000px;
    padding: 80px 48px;;
    border-radius: 25px;
    margin-left: 10px;
    margin-right: 10px;
}

@media screen and (max-width: 800px) {
    .home-header {
        padding: 40px 24px;
    }

    .header-caption{
        font-size: 16px;
        text-align: center;
    }

    .api-services{
        padding-top: 40px;
    }

    .api-header {
        font-size: 24px;
        line-height: 28px;
        padding-bottom: 16px;
    }
}
.home-container{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;

}

.header-wrapper{
    align-self: stretch;
    width: 100%;
}

.header-caption {
    line-height: 22px;
    font-size: 24px;
    text-align: center;
}

.api-services{
    padding-top: 80px;
}

.api-header{
    text-align: center;
    font-size: 32px;
    line-height: 40px;
    font-weight: 700;
    padding-bottom: 28px;
}

.api-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    flex: 1;

}

.api-card {
    text-align: center;
    padding: 20px;
    display: flex;
    flex-direction: column;
    min-width: 300px;
    max-width: 400px;
    box-sizing: border-box;

    background: #fff;
    border: 1px solid #dadada;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgb(0 0 0 / 15%);
}

.api-card-content{
    flex: 1;
    padding-bottom: 16px;
}

.api-tiers {
    padding-top: 80px;
}

.api-footer {
    display: flex;
    justify-content: space-between;
    padding: 16px;
    background: #4d45bb;
}

.left-links, .right-links {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}


/* This part is all copied over from the main site */

/* The flip card container - set the width and height to whatever you want. We have added the border property to demonstrate that the flip itself goes out of the box on hover (remove perspective if you don't want the 3D effect */
.flip-card {
    background-color: transparent;
    width: 300px;
    height: 400px;
    border: 1px solid #f1f1f1;
    perspective: 1000px; /* Remove this if you don't want the 3D effect */
}

/* This container is needed to position the front and back side */
.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}

/* Do an horizontal flip when you move the mouse over the flip box container */
.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

/* Position the front and back side */
.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 93%;
    -webkit-backface-visibility: hidden; /* Safari */
    backface-visibility: hidden;
}

/* Style the front side (fallback if image is missing) */
.flip-card-front {
    color: black;
}

/* Style the back side */
.flip-card-back {
    background-color: white;
    color: #64738A;
    padding: 0 26px;
    font-size: 0.75em;
    text-align: left;
    transform: rotateY(180deg);
    border-radius: 25px;
}

/* centered columns styles */
.row-centered {
    text-align: center;
}

.col-centered {
    display: inline-block;
    float: none;
    /* reset the text-align */
    text-align: left;
    /* inline-block space fix */
    margin-right: -4px;
}

.whitebackground {
    background-color: white;
    height: 100px;
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
}

.flip-card-ul {
    list-style: disc;
    margin: 0 0 2em 0;
    padding-left: 1em;
}

.textbox-copy {
    width: 350px !important;
}

.chart {
    max-width:800px;
}

.btn-like {
    background-color: black;
    color: white;
    box-shadow: none;
    width:150px;
}

.btn-delete {
    background-color: darkred;
    color: black;
    box-shadow: none;
    padding-left: 3px;
    padding-right: 3px;
}

.btn-unlike {
    background-color: white;
    color: black !important;
    box-shadow: none;
}

.numberCard {    
    width: 200px;
    height: 200px;
    padding: 20px;
    align-content:center;
    vertical-align:middle;
    color:white;
    font-weight:600;
    font-size:52px;
    border-radius:5px;
}
.numberContainer {
    display: inline-block;
    align-content: center;
    vertical-align: middle;
    margin:50px;
}

#textbox {
    border-radius: 10px;
    background-color: #eae8fa;
    border: 1px solid lightgrey;
    padding: 15px;
    width: 100%;
    font-size: 16px;
}

    #textbox:focus {
        outline: none !important;
        border: 1px solid grey;
    }

#textbox-gray {
    border-radius: 10px;
    background-color: #e8ebed;
    border: 1px solid lightgrey;
    padding: 15px;
    width: 100%;
    font-size: 16px;
}

    #textbox-gray:focus {
        outline: none !important;
        border: 1px solid grey;
    }

.assessmentBtn {
    border-radius: 10px;
    background-color: #eae8fa;
    border: 1px solid lightgrey;
    padding: 10px;
    width: 140px;
    font-size: 18px;
    margin: 10px 10px 10px 10px;
    font-weight: bold;
    display:inline-block
}

[data-tooltip]:before {
    position: absolute;
    content: attr(data-tooltip);
    opacity: 0;
}
[data-tooltip]:hover:before {
    opacity: 1;
}

.image-preview {
    vertical-align: top;
    height: 250px;
    width: 350px;
    border-radius: 25px;
    object-fit: cover;
}
.passage-title-preview {
    height: 250px;
    width: 350px;
    object-fit: cover;
    border-radius: 18px;
    padding: 7px 7px 0px 7px;
    /*opacity: 0.4;*/
}

.story-title-preview {
    height: 250px;
    width: 350px;
    object-fit: cover;
    border-radius: 18px;
    padding: 7px 7px 0px 7px;
    /*opacity: 0.4;*/
}
.modal-image {
    margin: auto;
    width: 350px;
}
#phonicsImageUrl {
    border-radius:25px;
}

video {
    width:100%;
    max-width: 700px;    
}

.vid-section {
    text-align: center;    
}

.vid-section-inner {
    text-align: center;
}

.generating-assessment-body {
    text-align:center;
    align-content:center;
}
.generating-assessment {
    margin: auto;
    width: 250px;
    border: 2px solid #4D45BB;
    border-radius: 7px;
}
.assessment-question {
    font-size:1.8em;
    font-weight:900;
}
.close-rtl {
    border: 0;
    font-size: 1.5rem;
    background-color: transparent;
    color:gray;
}
.rtl {
    direction: rtl;
    text-align: right;
    letter-spacing: normal;
}

.no-spacing {
    letter-spacing: normal !important;
}

.tip {
    font-size: 14px;
    color: #6c757d;
    font-style: italic;
    margin-bottom: 20px;
}
.selectable {
    cursor: pointer
}


.dropdown-list {
    border: 1px solid #ccc;
    border-radius: 4px;
    max-height: 200px;
    overflow-y: auto;
    position: absolute;
    width: 100%;
    background-color: white;
    z-index: 1000;
}

.dropdown-item {
    padding: 8px;
    cursor: pointer;
    font-size: 10px;
}

    .dropdown-item:hover {
        background-color: #f0f0f0;
    }