body {
    font-family: 'Lexend Deca','Roboto',verdana, helvetica, arial, sans-serif;
    margin: 0px;
    max-height: -webkit-fill-available;
}

body.page-sitelogin,
body.page-eval,
body.page-eval-single,
body.page-purchase{
    display: flex;
    flex-direction: column;
    height: 100vh;
}

body.page-classlogin{
    display: flex;
    flex-direction: column;
    height: 100vh;
}

header,
body.page-eval header,
body.page-eval-single header { 
    display: flex;
    height:90px;
    justify-content: center;    
    align-items: center;
}

.page-classlogin header {display: none;}

main {
    flex:1;
}

A {
    text-decoration: none;
    color: #0373AB;
    font-weight: 500;
}

a.link-loginswitch {
    margin-top: 20px;
    margin-bottom: auto;
}

.silk.embedded #button-login-with-google-auth-id {display: none;}

/*.apple.embedded #button-login-with-google-auth-id {display: none;}
.iphone.embedded #button-login-with-google-auth-id {display: none;}
.ipad.embedded #button-login-with-google-auth-id {display: none;}
.apple.embedded #button-login-with-clever-auth-id {display: none;}
.iphone.embedded #button-login-with-clever-auth-id {display: none;}
.ipad.embedded #button-login-with-clever-auth-id {display: none;}*/

.embedded :focus {
    outline: none;
}

form { margin: 0px; padding: 0px; }

select {background-color:white;}

input[type="checkbox"] {
    height: 16px;
    width: 16px;
    border-radius: 2px;
    vertical-align: middle;
}

label {
   font-size: .9em;
   font-weight: normal;
}

.page-row.eval h1 {
    font-size: 1.75em;
    margin: 0;
    text-align: center;
}

.page-row.eval .row-item.eval-form {
    margin:20px auto;
    max-width: 400px;
}

form.eval-form .formrow {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    justify-content: center;
}

form.eval-form label {
   width:80px;
   min-width:80px;
   text-align: right;
}

.google-signup .formrow {
    text-align:center;
}

button {cursor:pointer;}

::-webkit-input-placeholder { font-style:italic;}
input:-moz-placeholder { font-style:italic;}

dl {
    overflow:visible;
}
dl > * {
    display:inline-block;
    float:left;
    height:24px;
    line-height:24px;
    margin:0;
    width:50%;
}

dl > *.newline {
    display:block;
    width:100%;
}

iframe {border:none;}

label.nocolon:after {content:"";}

textarea {
    overflow:auto;
}

input {
    font-family: verdana, arial, sans-serif;
    font-size: 1em;
}

.wxLogo img {
    height: 60px;
    margin: 0;
}

/**  END TAGS  **/

.inform {
    font-size: .8em;
    color: grey;
    font-style: italic;
}

.iphone .inform,
.ipad .inform,
.android .inform {display: none;}

.browser-fail {
    width: 96%;
    border: 1px solid red;
    background-color: #fbefef;
    padding: 10px;
    text-align: center;
    margin-bottom: 10px;
}

.small {
    font-size:.8em;
}

.caption {text-align:center;}

.anyFormField { 
    font-size: 1.0em; 
    font-family: verdana, helvetica, arial, sans-serif; 
    background: #FFFFFF; 
    border: 1px solid #039BE5; 
    border-radius: 2px; 
    color: #000000; 
    padding: 4px 8px; 
    margin: 0; 
    height: 22px; 
    width: 90%;
}

.anyFormField:focus {
    outline:none;
    border: 1px solid #025e8b;
}

.android.google ::-webkit-input-placeholder {
    line-height:16px;
}

.hide {
    display:none!important;
}

.error {
    clear:both;
    color:red;
    display:block;
    font-size:12px;
}

.flex-container {
    display:flex;
    display:-webkit-flex;
    justify-content: space-between; 
}

.flex-left {
    flex: 1;
    text-align: left;
}

.flex-right {
    flex: 1;
    text-align: right;
}

.show-password {
    margin-top: 5px;
}

button.link, 
.link {
    background:none;
    color:#039BE5;
    cursor:pointer;
    border: none;
    text-decoration: none;
    font-size: 1em;
    font-family: 'Roboto',verdana, helvetica, arial, sans-serif;
}

.loginButton[disabled="disabled"],
.loginButton.disabled,
button[disabled="disabled"]{
    opacity:.5;
    cursor:default !important;
}

.holder.buttons > button,
.button.holder > button {
    display:inline-block;
    width:100px;
}

/**  ROW CLASSES  ***** **/
.row {min-height:30px;}

.row > * > * {width:98%;}
.row > * > .row {width:100%;}
.row .right {float:right;}
.row.buttons button {margin-right:4px;}

.row.textarea {
    height:auto;
    min-height:60px;
    padding-bottom:1px;
}

form .row > label.left {
    display:none;
}

/**  END ROW CLASSES  **/


/*- Links */

.links{
font-size: 0.875em;/*14px*/
margin-top: 1em;
clear: both;
}

.blackScreen { background-color: #000000; opacity: 0.4; }

/** PAGE LOGIN STYLES  **/

.page-sitelogin h1 {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight:normal;
    font-family: 'Lexend Deca','Roboto',verdana, helvetica, arial, sans-serif;
}

.page-sitelogin .pageBottom,
.page-classlogin .pageBottom,
.page-sitelogin .headerLinks,
.page-classlogin .headerLinks,
.page-sitelogin #navButton,
.page-classlogin #navButton,
.page-sitelogin .navButtonMenu,
.page-classlogin .navButtonMenu{
    display: none;
}

.page-sitelogin #content {
    flex: 1;
    background: #FFFFFF;
    text-align: center;
    overflow: hidden;
}

.page-sitelogin .pageSection {
    padding: 20px;
}

.page-sitelogin .pageSection:last {
    padding-bottom: 20px;
}

.page-sitelogin .pageSection.top {
    margin-top:auto;
}

.page-sitelogin .pageSection.main {
    padding-top: 0px;
    display: flex;
    flex-direction: column;
    overflow:auto;
    margin-bottom: auto;
}

.page-sitelogin .login-sub-org {
    color: #999999;
    font-size: 1.1em;
    margin-bottom: 10px;
}

.page-sitelogin .tabs-flex-container {
    display: flex;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.page-sitelogin .tabs-flex-container.bottom {
    margin-top:20px;
}

.page-sitelogin .forms-flex-container.username.hide,
.page-sitelogin .forms-flex-container.class.hide{
    display: none;
}

.page-sitelogin .forms-main a:only-child {
    margin: 0 auto 0 0;
    width: 300px;
    padding: 6px;
}

.page-sitelogin .forms-main a:only-child img{
    padding: 8px;
    margin-right: 20px;
}

.page-sitelogin .select-login-school {
    padding: 10px 0px 10px 10px;
    font-family: 'Roboto Condensed','Roboto', verdana, arial, sans-serif;
    font-size:1.1em;
    color:grey;
}

.page-sitelogin .select-login-username {
    cursor: pointer;
    color: steelblue;
}

.page-sitelogin .select-login-username.option {
    margin:0 auto;
    text-align: center;
    padding: 6px 14px;
    background: #00c300;
    border-color: #00c300;
    cursor: pointer;
    box-sizing: border-box;
    color:#ffffff;
}

.page-sitelogin ul.school-select > li {
    padding: 10px;
    cursor: pointer;
}

.page-sitelogin ul.school-select > li:hover {
    background-color: #e5effb;
}

.page-sitelogin .option-headline {
    font-size: 1em;
    font-weight: normal;
    color: #4c4c4c;
}

.page-sitelogin .option-detail {
    font-size: .8em;
    color: grey;
}

.page-sitelogin .error:not(:empty)  {
    color: #af0000;
    font-weight: 500;
    font-size: 1em;
    padding: 10px 0;
}

.page-sitelogin .error button.link.error {
    color: steelblue;
    display: inline;
    font-family: 'Roboto',verdana, helvetica, arial, sans-serif;
    border-bottom: none;
}

.page-sitelogin form .row {
    position:relative;
}


.page-sitelogin form .row.button.login {
    display:flex;
    align-items: center;
    padding:0;
    background:none;
}

.page-sitelogin form .row.button.login > label:not(.hide) {
    display:flex; 
    align-items: center;
}

.page-sitelogin form .row.button.login > label:first-child,
.page-sitelogin form .row.button.login > select {
    flex:1;
    text-align: left;
}

.page-sitelogin form .row.button.login > select {
    border-color:darkgrey;
    height: 40px;
    outline:none;
    padding-left: 4px;    
    position: relative;
    top: 1px;    
}

.page-sitelogin form .row.button.login > select::-ms-value {
    background-color:white;
    color:black;
}

.page-sitelogin form .row.button.login > label:first-child > * {
    cursor:pointer;
}

.page-sitelogin form .row.button.login > label:first-child > span {
    margin-left: 5px;
    color:#4C4C4C;
}

.page-sitelogin form .row.button.login > .loginButton {
    margin-left:.5em;
    width: max-content;
    padding: 0 14px;
    margin-bottom:0;
}

.page-sitelogin .loading {
    display: none;
    float: left;
    height: 16px;
    left: 0;
    position: absolute;
    top: 8px;
    width: 16px;
}

.page-classlogin h1 {
    margin:0px;
    line-height: 1em;
    text-align:left;
    font-weight: normal;
}

.page-classlogin .flex-left button.link {
    padding:0;
    margin-top: 5px;
}

.page-classlogin .flex-left button.link.change-teacher {
    font-size:.8em;
}

.page-sitelogin input.username {  
    border: 1px solid darkgrey;
    border-radius: 3px;
    line-height: 2em;
    margin-bottom: 12px;
    padding: 3px 12px;
    width: 100%;
    box-sizing:border-box;
    border-radius:20px;
}

.page-sitelogin form input.hide {
    display:none;
}

.android.page-sitelogin form input {
    line-height:0;
}

.page-sitelogin  form .row select {
    float:left;
    height:34px;
    width:70%;
}

.page-sitelogin form .link {
    display:none;
    float: left;
    text-align: left;
    width: 335px;
}

.page-sitelogin .everything .content {
    height: 99.5%;
    margin: 0 auto;
    max-width: 1100px;
    position: relative;
    left:-8px;
    width: 97%;
}

.page-sitelogin .or-divider {
    clear:both;
    color:#0373AB;
    font-size:1.3em;
    margin:30px 0 30px;
    overflow:hidden;
    text-align:center;   
    line-height:1.3em;
    font-weight: 500;
}

.page-sitelogin .or-divider:before, 
.page-sitelogin .or-divider:after {
    content:"";
    vertical-align:top;
    display:inline-block;
    width:50%;
    height:0.65em;
    border-bottom:1px solid #0373AB;
    margin:0 2% 0 -55%;
}

.page-sitelogin .or-divider:after{
    margin:0 -55% 0 2%;
}

.pageBottom.white > .boxApps > p {
    padding:0;
}

.bottomHeading{
    padding-bottom: 10px;
}

.loginButton:hover {
    background-color: #c14e02;
}
    
.loginButton,
button.primary,
button.submitButton {
    color: #ffffff;
    background-color: #CE4703;
    border: none;
    border-radius: 19px;
    cursor: pointer;
    display: inline-block;
    font-size: 1em;
    font-weight:500;
    font-family: 'Lexend Deca','Roboto',verdana, helvetica, arial, sans-serif;
    line-height: 12px;
    padding: 12px 20px 14px;
}

.linkAltLogin {
    display: inline-flex;	
    align-items:center;
    background: #039BE5;
    border:3px solid #039BE5;
    font-size:1em;
    font-weight:500;
    font-family: 'Lexend Deca','Roboto',verdana, helvetica, arial, sans-serif;
    text-decoration: none;
    color: #FFFFFF;
    height: 40px;
    border-radius: 20px;
    padding: 0 20px 0 0;
    margin:0 auto 20px auto;
    cursor:pointer;
    width: 100%;
    max-width: 300px;
    box-sizing: border-box;
}

.linkAltLogin.currentuser {
    justify-content: center;
    margin-top: 20px;
}

.page-classlogin .linkAltLogin.qrcode {
    margin:0;
}

.page-classlogin .linkAltLogin.google {
    margin:0 0 0 20px;
}

.linkAltLogin:hover {
	background: #366bc1;
        border-color: #366bc1;
}

.linkAltLogin:active {
	background: #366bc1;
        border-color: #366bc1;
}

.linkAltLogin img {
    height: 30px;
    width: 30px;
    margin-right:15px;
}

.linkAltLogin.username {
    border:1px solid lightgrey;
    color:#808080;
    background:#ffffff;
    margin-bottom: 0;
}

.linkAltLogin.qrcode .qrimage{
    display: flex;
    box-sizing: border-box;
    background: #ffffff;
    border-radius: 16px 0 0 16px;
    height: 100%;
    width: 60px;
    align-items: center;
    justify-content: center;
    margin-right: 15px;   
}

.linkAltLogin.qrcode .qrimage img {
    height:28px;
    width:28px;
    margin-left: 6px;
    margin-right: 0;
}

.linkAltLogin.search {
    background: #9a03e5;
    border-color: #9a03e5;
    padding: 0 20px 0 12px;
}

.linkAltLogin.search img{
    margin-right: 10px;
}

.linkAltLogin.search:hover {
    background: #69039c;
    border-color: #69039c;
}

.linkAltLogin.search.hide,
.linkAltLogin.username.hide{
    display: none;
}

.linkAltLogin.classlink {
    background: #ffffff;
    border-color: transparent;
    color:#0a4d7f;
    padding:0 10px 0 0;
    margin-top: 20px;
}

.linkAltLogin.classlink:hover {
    border-color: #0a4d7f;
}

.linkAltLogin.classlink img{
    height:32px;
    width:32px;
    border-radius: 50%;
    padding: 6px;
    background-color: #0a4d7f;
    border:1px solid #0a4d7f;
}

.linkAltLogin.qrcode {
    border-color: #03872F;
    background: #03872F;
}

.linkAltLogin.qrcode:hover {
    border-color: #00c140;
    background: #00c140;
}

.linkAltLogin.google {
    border-color: #1C6EF2;
    background: #1C6EF2;
}

.linkAltLogin.google:hover {
    border-color: #225ec2;
    background: #225ec2;
}

.linkAltLogin.google img {
    height: 28px;
    width: 28px;
    border-radius: 18px 0 0 18px;
    padding: 2px 12px 2px 18px;
    background-color: #ffffff;
    border: 1px solid #039BE5;
}

.linkAltLogin.lti {
    width: 100%;
    box-sizing:border-box;
}

.linkAltLogin.lti svg{
    height: 34px;
    width: 34px;
    fill:#ffffff;
    margin-right: 10px;
}


.linkAltLogin a {
	position:absolute;
        width:100%;
        height:100%;
}

.page-sitelogin footer,
.page-classlogin footer {
   text-align:center;
}

.page-sitelogin footer h4 a:not(:last-child),
.page-classlogin footer h4 a:not(:last-child){
   margin-right:25px;
}

.page-classlogin .page-row.footer a.wixie{ 
       display:none;
    }
    
.page-classlogin .page-row.footer {
    display: flex;
    align-items: center;
    border-top: 1px solid lightgrey;
}

.page-sitelogin .service,
.page-classlogin .service {
    display: none;
}

.page-sitelogin .forms-flex-container {
    display: flex;
    flex-direction:column;
    align-items: center;
}

.page-sitelogin .forms-flex-container.class.lists {
    border: 1px solid lightgrey;
    flex: 1;
    overflow: auto;
}

.page-sitelogin .forms-main {
    display: block;    
    order: 2;   
    max-width: 300px;
}

.page-sitelogin .forms-main form{
    margin-top:10px;
}

.page-sitelogin .forms-secondary {
    display: block;
    order:1;
}

.page-sitelogin .class .forms-secondary {
    order:3;
    max-width: 300px;
}

.page-sitelogin .create-account {
    display: block;
    order:4;
    margin-top:20px;
    padding-top:40px;
    width: 325px;
    border-top: 1px solid #039BE5;
}

/* classlogin styles */

.page-classlogin #page,
.page-classlogin #content {
    background-color: #ffffff;
}

.page-classlogin #content {
    display:flex;
    flex-direction: column;
    align-items: center;
    overflow: auto;
}

.page-classlogin .pageSection {
    text-align: left;
    width: 100%;
    margin:0;
    box-sizing: border-box;
}

.page-classlogin .loginbuttons {
    display: flex;
    align-items: center;
    justify-content: center;
    order: 1;
    padding: 30px 0;
}

.page-classlogin .pageSection.student {
    flex-direction: column;
    flex: 1;
    overflow: auto;
}

.page-classlogin .pageSection.teacher {
    display: flex;
    align-items: flex-start;
    border-bottom: 1px solid lightgrey;
    padding: 10px 20px;
}

.page-classlogin .teacher-info {
    display: block;
    margin-left:auto;
}

.page-classlogin .teacher-info .login {
    width:250px;
}

.page-classlogin .classes,
.page-classlogin .students {
    flex: 1;
    order:2;
    overflow: auto;
    display:flex;
}

.page-classlogin .pageSection.students .link {
    margin-top:0;
}

.page-classlogin .students .link {
    text-align:center;
}

.page-classlogin .forms-secondary.qrcode-holder {
    width: 300px;
    display: inline-flex;
}

.page-classlogin #content > .pageSection.not-teacher {
    min-height: initial;
}

.page-classlogin .error.login {
    color: red;
    margin: 10px 0 0;
    max-width: 800px;
    text-align: center;
}

.page-classlogin h2 {
    margin: 0px;
    font-weight: normal;
    text-align: center;
}

.page-classlogin .pageGreySection > h2 {
    height: 30px;
    margin: 15px 0 0;
}

.page-classlogin .section.placeholder {
    height:200px;  
}

.page-classlogin .section.message.expired {
    background-color: #ffeeee;
    border-bottom: 1px solid red;
    border-top: 1px solid red;
    text-align: center;   
    width: 100%;
}

.page-classlogin .section.message.expired > p {
    height: 40px;
    line-height: 40px;
    margin: 0 auto;
}

.page-classlogin .login-flex-container {
    display: flex;
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
}

.page-classlogin .form-login-description {
    padding: 6px 14px;
    font-size: .9em;
    font-weight: normal;
    color: #025e8b;
    background-color: #ffffff;
    border: 1px solid #025e8b;
    border-radius: 18px;
    margin-top:10px;
}

.page-classlogin .form-login-fields {
    flex: 1;
}

.page-classlogin .form-login-button {
    margin-right: 3%;
}

.page-classlogin .form-login-input {
    flex: 1;
    text-align: left;
    font-size: .9em;
    font-weight: normal;
    color: #797979;
}

.page-classlogin .form-login-input > .anyFormField {
    margin-bottom: 10px;
}

.page-classlogin .loginButton {
    font-size: 1em;
    height: 32px;
    padding: 8px 12px 9px;
}

.page-classlogin .class-list {
    margin-top:0px;
    padding: 0px;
    text-align: center;
    width:90%;
    margin:0 auto;
}

.page-classlogin .pageSection ul > li {
    cursor: pointer;
    display: inline-block;
    margin: 10px 10px 20px 0px;
    padding: 9px;
    text-align: center;
    vertical-align: top;
    width: 160px;
    border: 1px solid transparent;
}

.page-sitelogin break {
    margin-bottom: 10px;
    border-top: 1px solid lightgrey;
    padding-left: 10px;
    font-size: 1.1em;
    color: grey;
    padding-top: 20px;
    font-family: 'Roboto Condensed','Roboto', verdana, arial, sans-serif;
}

.page-sitelogin #ul-lists {
    display: flex;
    flex-wrap: wrap;
    list-style: outside none none;
    margin: 0px;
    min-height:400px;
    min-width:100%;
    padding: 0px;
}

.page-sitelogin #ul-lists li {
    cursor: pointer;
    width: 150px;
    margin: 0 10px 20px;
    padding: 9px;
    text-align: center;    
    flex-direction: column;
    display: flex;
    align-items: center;
}

.page-classlogin .pageSection ul > li.selected,
.page-sitelogin #ul-lists li.selected {
    border: 1px solid var(--grey);
    box-shadow: 0px 3px 6px rgba(0,0,0,.5);
    border-radius:20px;
    padding-top:10px;
}

.page-classlogin .pageSection ul > li.selected div.student_profile_initial,
.page-sitelogin #ul-lists li.selected  div.student_profile_initial,
.page-classlogin .pageSection ul > li.selected img,
.page-sitelogin #ul-lists li.selected img,
.page-classlogin .pageSection ul > li.selected button.link,
.page-sitelogin #ul-lists li.selected button.link {
    display:none;
}

.page-sitelogin #ul-lists li.person .holder.password .loginButton {
    float: none;
    text-align: center;
    justify-content: center;
}

#ul-lists li.person .holder.password div,
#ul-students li .holder.password div{
    display: flex;
    flex-direction: row;
    align-items:center;
    margin: 10px 0;
}

ul li .holder.password div.password-holder {
    border:1px solid lightgrey;
    padding: 0 3px 0 0;
    border-radius:4px;
}

ul li .holder.password div.password-holder input {
    border:none;
    outline:none;
}

button.displaypassword {
    display: inline-block;
    vertical-align: middle;
    border: none;
    background-color: transparent;
    height:32px;
    width:32px;
    margin-left: 5px;
    background-image: url(/images/themes/1/button_visibility_on.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
}

button.displaypassword.on {
    background-image: url(/images/themes/1/button_visibility_off.svg);
}

#ul-lists li.person .holder.password > .error,
#ul-students li.student-item .holder.password > error{
    display: block;
    line-height: 110%;
    margin-top: 10px;
    text-align: center;
}


#ul-lists li.person .holder.password > input,
#ul-students li.student-item .holder.password > input{
    width:60%;
    margin: 10px 0;
    display: inline-block;
    vertical-align: middle;
}

.school-icon {
    background-color: #039BE5;
    border-radius: 50%;
    box-shadow: 0 0 0 2px #f5f5f5, 0 0 0 3px #039BE5;
    color: #f5f5f5;
    font-size: 4em;
    height: 90px;
    line-height: 1.3em;
    margin: 10px auto;
    width: 90px;
}

.school-icon img {
    position:relative;
    top:4px;
}

.page-classlogin .class-icon, 
.page-sitelogin .class-icon {
    background-color: #6691cd;
    border-radius: 50%;
    box-shadow: 0 0 0 2px #f5f5f5, 0 0 0 3px #039BE5;
    color: #f5f5f5;
    font-size: 4em;
    height: 90px;
    line-height: 1.3em;
    margin: 4px 0 10px;
    width: 90px;
    text-align: center;
}

.page-classlogin .class-name,
.page-sitelogin .class-name {
    display: block;
    font-size: .95em;
    line-height: 1.4em;
    max-width: 140px;
    margin-right: auto;
    margin-left: auto;
    word-wrap: break-word;
    font-family: 'Lexend Deca','Roboto',verdana, helvetica, arial, sans-serif;
}

.page-classlogin .student-icon,
.page-sitelogin .student-icon, 
.page-classlogin .student_profile_initial,
.page-sitelogin .student_profile_initial{
    background-color: #039be5;
    border-radius: 50%;
    box-shadow: 0 0 0 5px #f5f5f5, 0 0 0 7px #039BE5;
    height:90px;
    margin-bottom: 20px;
    position: relative;
    top: 7px;
    width: 90px;
    color: #f5f5f5;
    font-size: 45px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.silk .pageBottom,
.embedded .headerLinks,
.embedded .noPrint,
.embedded .pageBottom,
.embedded #everything,
.embedded #pageBottomScreen,
.embedded .footer,
.embedded .footerScreen,
.embedded .footerBoxLeft,
.embedded .footerLinks,
.embedded .eval-form .explanation{
    display: none;
}

/*Modal dialog css */

.modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.1);
}

.modal.show {
    display:block;
}

.modal-content, .modal-content.show {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    background-color: #fefefe;
    margin: 3% auto 0;
    border: 1px solid grey;
    box-shadow: 0px 0px 6px grey;
    width: 60%;
    height: 80%;
    max-width: 1100px;
    z-index: 20000;
}

.modal-header {
    background-color: #f9f9f9;
    margin-bottom: 5px;
    border-bottom: 1px solid lightgrey;
    height: 40px;
    padding: 10px;
    box-sizing: border-box;
}

.modal-header-title {
    font-size: 1.2em;
    font-weight: 500;
    max-width: 650px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-right: 20px;
}

.modal-footer {
    display: flex;
    padding: 10px 20px;
    border-top: 1px solid lightgrey;
    text-align: right;
    background-color: #f9f9f9;
    justify-content: flex-end;
}

.modal-footer.hide {
    display: none;
}

.modal-content.alert.show {
    height:unset;
}

.modal-content.alert.show .modal-header{
    background:#fefefe;
}

.modal-content.alert.show .modal-footer{
    background:#fefefe;
    border-top:0;
}

div.modal.show .modal-header > button {
    display:none;
}

.page-sitelogin .modal-content.alert, 
.page-classlogin .modal-content.alert {
    height:unset;
}

.page-sitelogin .modal-content.message, 
.page-classlogin .modal-content.message {
    height:unset;
}

.modal-body > .alert > p {
    padding:0 12px;
}

.modal-body > .message > p {
    padding:0 12px;
}


div.modal-body.qrcode {
    padding:8px;
    flex: 1;
    text-align:center;
}

div.modal-body.qrcode img {
    display: none;
}

div.modal-body.qrcode .holder.viewer {
    display:inline-block;
    margin:12px auto;
    height:300px;
    width:480px;
}

#btn-dialog-save {
    display: none;
}

div.modal-body.qrcode .holder.viewer > video {
    display:block;
    height:300px;
    margin: 0 auto;
}

button.secondary {
    color: #4574B4;
    font-family: 'Roboto', Verdana, Arial, sans-serif;
    font-size: 1em;
    background: #f5f5f5;
    border: 1px solid #c5c5c5;
    border-radius: 2px;
    padding: 0 14px;
    height: 38px;
    min-width: 70px;
    margin-right: 20px;
}


/* End modal dialog */

/* Begin iframe */

.iframe .headerLinks,
.iframe #navButton,
.iframe #pageBottomScreen,
.iframe #footerScreen,
.iframe .pageDividerFull{
    display: none;
}

body.iframe {
    background: #ffffff;
}

.iframe .header {
    justify-content:center;
}

/* End iframe */

/* Begin phone screen css */

@media (max-width: 700px) {
    
.page-sitelogin h1 {
    font-size:1.4em;
    text-align:center;
    overflow: hidden;
    white-space: nowrap;
}

.page-sitelogin .error {
    text-align:center;
}

.page-sitelogin #server-info {
    display: none;
}

.page-sitelogin .select-login-username {
    text-align: center;
    padding: 6px 14px;
    background: #00c300;
    border-color: #00c300;
    cursor: pointer;
    box-sizing: border-box;
    color: #ffffff;
    margin: 20px auto;
}

.page-sitelogin .selected {
    background: grey;
    font-size: .8em;
    font-weight: normal;
    line-height: 1.1em;
    color: #ffffff;
}

.page-sitelogin input.school-search {
    border: 1px solid grey;
    width: 100%;
    padding: 8px;
}

.page-sitelogin ul.school-select {
    border: 1px solid lightgrey;
    overflow: auto;
    list-style-type:none;
    margin: 20px 0px 0px;
    padding: 0px;
    text-align: left;
    height: 210px;
}

.page-classlogin .flex-container,
.page-classlogin .login-flex-container {
    flex-direction: column;
}

.page-classlogin #content {
    flex-direction: column;
}

.page-classlogin .pageGreySection {
    width:unset;
}

.page-classlogin .pageSection.teacher {
    flex-direction:column;
    align-items:center;
}

.page-classlogin .pageSection.teacher .teacher-info{
    margin: 20px 0;
    text-align: center;
}

.page-classlogin .pageSection.teacher .flex-left,
.page-classlogin .pageSection.teacher h1 {
    text-align: center;
}

.page-classlogin .pageSection.student .loginbuttons {
    flex-direction:column;
    align-items:center;
}

.page-classlogin .pageSection.student .linkAltLogin.google {
    margin: 20px 0 0 0;
}

.page-classlogin .pageSection.student .class-list {
    width: 96%;
}

.page-classlogin .flex-right {
    text-align: left;
}

.page-classlogin .form-login-description {
    margin-top: 20px;
}

.page-classlogin #teacher-login-form {
    margin-top: 20px;
}

.page-classlogin .login-flex-container > .form-login-description {
    margin: 10px 0;
}

.page-classlogin .form-login-button {
    margin-top: 15px;
    width: 100px;
}

.page-classlogin #choose-class {
    margin-bottom: 15px;
}

.page-classlogin .pageSection ul > li {
    width: 140px;
}

.android #headerPhone{
    padding: 10px 0;
    height: unset;
    text-align: center;
}

.android #navButton,
.iphone #navButton {display: none;}

.android .wxLogo,
.iphone .wxLogo {
    margin-top: 0;
    margin-left: 0;
    float: none;
}

#pageBottomScreen,
#footerScreen .tech4learning
{display: none;}

.modal-content, .modal-content.show {
    margin: 0;
    border: none;
    box-shadow: none;
    width: 100%;
    height: 100%;
    max-height: unset;
}

div.modal-body.qrcode {
    padding: 10px;
}

div.modal-body.qrcode .holder.viewer {
    width: 100%;
    height: unset;
}

div.modal-body.qrcode .holder.viewer > video {
    display: block;
    width: 100%;
}

}

@media (orientation:portrait) {
    
    .header-image {
        display:none;
    }

    .android div.modal-body.qrcode,
    .ipad div.modal-body.qrcode{
        display: flex;
        flex-direction: column;
    }

    .android div.modal-body.qrcode .holder.viewer,
    .ipad div.modal-body.qrcode .holder.viewer{
        width: unset;
        height: unset;
        flex: 1;
    }

    .android div.modal-body.qrcode .holder.viewer > video,
    .ipad div.modal-body.qrcode .holder.viewer > video{
        height: unset;
        max-height: 500px;
    }

    .page-classlogin .footerScreen {
        display:none;
    }

}

/* Begin tablet screen css */

@media (min-width: 701px) {

.page-sitelogin .option:focus,
.page-sitelogin ul.school-select > li:focus {
    outline-offset: -4px;
}

.page-sitelogin input.school-search {
    width: 100%;
    min-width:300px;
    padding: 10px 1.5%;
    border: 1px solid darkgrey;
    border-radius: 3px;
    -webkit-appearance: none;
}

.page-sitelogin ul.school-select {
    border: 1px solid darkgrey;
    height: 210px;
    width:100%;
    overflow: auto;
    list-style-type:none;
    margin-top: 20px;
    padding: 0px;
    -webkit-overflow-scrolling: touch;
    text-align:left;
    box-sizing: border-box;
}

.page-classlogin .linkTeacherLogin {
    display: none;
}

}

/* End tablet screen css */

/* Begin 1000 screen css */

@media (min-width: 701px) and (max-width: 900px) {

.modal-content, .modal-content.show {
    width: 80%;
}

}

@media (max-height: 550px) {

.page-sitelogin h1 {
    display: none;
}

.page-sitelogin .pageSection {
    padding: 0;
}

}

@media (min-height: 800px) {

    .page-sitelogin #content {
        min-height: 600px;
    }

}

@media (orientation:landscape) {

    body.page-sitelogin {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
      grid-gap: 0px;
      grid-template-areas:
        "header main"
        "header main"
        "header main"
        "header main"
        "header main"
        "header main"
        "header main"
        "header main"
        "footer main";
    }

    .page-sitelogin header { 
        grid-area: header;
        height:100%;
        flex-direction: column;
    }

    main { 
        grid-area: main;
        display: flex;
        flex-direction: column;
    }

    .page-sitelogin main { 
        justify-content: center;
    }

    .page-classlogin main { 
        justify-content: flex-start;
    }

    footer { grid-area: footer; }

    .page-sitelogin header .wxLogo {
        width:80%;    
        margin-top: 10%;
        margin-bottom:40px;
    }

    .page-sitelogin header .wxLogo img{
        width:100%;
        height:unset;
    }

    .page-sitelogin header .header-image {
        flex:1;
    }

    .page-sitelogin header .header-image img{
        height:80%;
    }
    
    .page-classlogin .page-row.footer h4 { 
       margin: 5px 0 5px 20px;
    }
    
    .page-classlogin .page-row.footer .right { 
       margin: 0 20px 0 auto;
    }    

}

@media (orientation:landscape) and (max-height: 550px) {

    .modal-content, .modal-content.show {
        height: unset;
    }

    div.modal-body.qrcode .holder.viewer {
        height: unset;
        width: unset;
    }

    div.modal-body.qrcode .holder.viewer > video {
        height:200px;
    }

}

@media (min-width: 1200px) {

    .page-sitelogin h1 {
        font-size:1.8em;
    }

    header { 
        grid-area: header;
        height:100%;
        flex-direction: column;
        justify-content: space-evenly;
    }

    div.modal-body.qrcode img {
        display: inline-block;
        position: relative;
        top: -25px;
    }

}

@media all and (display-mode: minimal-ui) {
    
    body,
    body.page-sitelogin {
        background: #ffffff;
        overflow-y: hidden;
    }
  
    .headerLinks,
    .noPrint,
    .pageBottom,
    #everything,
    #pageBottomScreen,
    #footerScreen,
    .footerBoxLeft,
    .footerLinks {
        display: none;
    }
    
    #content,
    .page-sitelogin #content {
        flex: 1;
        display: flex;
        flex-direction: column;
        height: 100vh;
        text-align:center;
    }
    
    .pageSection.main {
        flex: 1;
        display: flex;
        flex-direction: column;
    }
    
    .pageSection.main .forms-flex-container {
        flex:1;
    }
    
    .pageSection.main .forms-flex-container.class {
        background: #ffffff;
        overflow: hidden;
        padding: 20px 0 0;
    }
    
    .page-sitelogin #ul-lists {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* iOS app specific CSS */

@media (orientation:portrait) and (min-width:700px) {
    
    #content {
        display: flex;
        flex-direction: column;
    }
    
    .forms-flex-container {
        flex: 1;
        justify-content: space-between;
    }
    
    .page-sitelogin .class .forms-secondary {
        width: 500px;
    }
    
    .linkAltLogin.search {
        width:unset;
    }
    
    .page-sitelogin .forms-main {
        width:500px;
    }

}

@media (orientation:portrait) and (max-width: 500px) {
    body.page-sitelogin {
        height:unset;
        min-height: 100vh;
    }

}

@media (orientation:portrait) and (max-width:699px) {
    .page-sitelogin .forms-main {
        width:300px;
    }   
}

/* IFRAME SESSION ENDED MESSAGE */

body:not(.iframe) .iframe-session-message-holder {
    display:none;
}

body.iframe {
    display:block;
}

body.iframe main#content,
body.iframe footer {
    display:none;
}

body.iframe .iframe-session-message-holder p{
    text-align:center;
    background:#f2f2f2;
    border-top:1px solid lightgrey;
    border-bottom:1px solid lightgrey;
    padding:10px 0;
    margin:0;
}

.homeschooling {
    display: none;
}