* {
	font-family: 
		"Open Sans",
		"Segoe UI",
		Roboto,
		Oxygen,
		-apple-system,
		BlinkMacSystemFont,
		Ubuntu,
		Cantarell,
		"Helvetica Neue",
		sans-serif;
}
*     { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
body  { margin: 0; padding: 60px 0 0 0; font-size: 16px; color: #282828; background-color: #f7f7f7; }
table { border-collapse: collapse; }
img   { border: 0; }

::-webkit-scrollbar { width: 5px; height: 5px; }

::-webkit-scrollbar-thumb { margin: 5px; background-color: #999; -webkit-border-radius: 5px; }

::-webkit-scrollbar-button:start:decrement,
::-webkit-scrollbar-button:end:increment { display: block; height: 5px; width: 5px; }


ul { padding: 0; margin: 0; }
li { list-style-type: none; }

h1 { margin: 0; font-size: 36px; font-weight: normal; }
h2 { margin: 0; font-size: 24px; font-weight: normal; }
h3 { margin: 0; font-size: 18px; font-weight: normal; }
h4 { margin: 0; font-size: 14px; font-weight: normal; }

a        { color: #228dcf; text-decoration: none; }
a:hover  { text-decoration: underline; }
p        { margin: 10px 0; text-indent: 0; text-align: justify; }

.anim,
.anim-all,
.anim-all * {
	transition: all 200ms ease-in-out;
	-moz-transition: all 200ms ease-in-out;
	-o-transition: all 200ms ease-in-out;
	-webkit-transition: all 200ms ease-in-out;
}

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}

*:focus  { outline: none; }
*.minw   { min-width: 640px; }
*.bbox   { box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -webkit-box-sizing: border-box; }
*.nowrap { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
*.clear  { clear: both; height: 0; font-size: 0; display: block; }

/* loader */
@keyframes loading {
    0% { width: 0%; margin-left: 0%; margin-right: 100%; }
   50% { width: 100%; margin-left: 0%; margin-right: 0%; }
  100% { width: 0%; margin-left: 100%; margin-right: 0%; }
}
div.loader     { position: fixed; z-index: 2000; left: 0; right: 0; bottom: 0; transform: translate3d(0,0,0); }
div.loader > * { height: 5px; background-color: #f00; position: absolute; bottom: 0; }
div.loader > * { animation: loading 10s linear infinite paused; }

/* header line */
header.main { position: fixed; z-index: 110; top: 0; left: 0; right: 0; height: 60px; font-size: 14px; }
header.main { background-color: #fff; border-bottom: 1px solid #ccc; }
header.main { display: flex; align-items: center; }
header.main > *     { flex-grow: 0; flex-shrink: 0; margin-left: 10px; }
header.main > .logo { flex-grow: 0; flex-shrink: 1; }

/* logo */
header.main > .logo { display: block; margin-right: auto;  }
header.main > .logo { width: 155px; height: 32px; background: url('/static/img/enter/logo-blue.svg') no-repeat center center; background-size: 80%; }

/* footer */
footer { border-top: 1px solid #ccc; padding: 5px 20px; font-size: 16px; white-space: nowrap; line-height: 32px; }

/* forms */
form label               { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
form label.header        { background-color: #e0e0e0; }
form label.disabled      { color: #999; }
form label input         { width: auto; border: none; }

form input, form textarea, form select,
fieldset input, fieldset textarea, fieldset select { width: 100%; border: 1px solid #ccc; padding: 2px; margin: 0; }
form input[type="search"] { -webkit-appearance: textfield; }
form textarea { word-break: break-all; }

fieldset                             { margin: 0; padding: 0; border: none; }
fieldset:disabled                    { opacity: 0.7; pointer-events: none; }
fieldset:disabled input[type=submit] { cursor: default !important; }

/* disabling links */
a[disabled] { pointer-events: none; opacity: 0.5; }


/* content */
section.main { margin: 0 auto; padding: 0; min-height: calc(100vh - 60px - 44px); }
main.content { display: block; font-size: 0; }

/* important non-modal alerts */

.global-alerts .alert-default              { display: flex; align-items: center; justify-content: space-between; }
.global-alerts .alert-default              { padding: 10px; background-color: #FF5D40; color: #fff; font-size: 14px; line-height: 21px; }
.global-alerts .alert-default > .message   { font-style: italic; color: #e5e5e5; font-size: 12px; line-height: 18px; white-space: pre-line; }
.global-alerts .alert-default > .message   { padding: 6px 0; }
.global-alerts .alert-default > .action    { width: 200px; margin-left: 20px; }

.global-alerts .alert-setup             { background-color: #fff; color: #282828; }

.global-alerts .alert-invite            { padding: 10px; background-color: #F83C3C; color: #fff; font-size: 14px; line-height: 21px; }
.global-alerts .alert-invite > .message { font-style: italic; color: #e5e5e5; font-size: 12px; line-height: 18px; white-space: pre-line; }
.global-alerts .alert-invite > form     { float: right; margin-left: 20px; }
.global-alerts .alert-invite > form > a { display: block; font-size: 16px; line-height: 21px; color: #fff; font-weight: 600; text-decoration: none; }
.global-alerts .alert-invite > form > a > i { font-size: 18px; }

.global-alerts .alert-transcripts        { display: flex; align-items: center; justify-content: space-between; }
.global-alerts .alert-transcripts        { padding: 10px; background-color: #10B163; color: #fff; font-size: 14px; line-height: 21px; }
.global-alerts .alert-transcripts > div  { padding: 6px 0; }
.global-alerts .alert-transcripts > a    { width: 200px; margin-left: 20px; }

.global-alerts .alert-feedbacks        { display: flex; align-items: center; justify-content: space-between; }
.global-alerts .alert-feedbacks        { padding: 10px; background-color: #ff9101; color: #fff; font-size: 14px; line-height: 21px; }
.global-alerts .alert-feedbacks > div  { padding: 6px 0; }
.global-alerts .alert-feedbacks > a    { width: 200px; margin-left: 20px; }

.global-alerts .alert-onboarding        { display: flex; align-items: center; justify-content: space-between; }
.global-alerts .alert-onboarding        { padding: 10px; background-color: #657FAC; color: #ffffff; }
.global-alerts .alert-onboarding > .message > .title { font-size: 16px; line-height: 24px; font-weight: 600; }
.global-alerts .alert-onboarding > .message > .descr { font-size: 14px; line-height: 21px; font-weight: 400; }
.global-alerts .alert-onboarding > .action  { margin-left: 20px; }


/* global blocks */
section.notifications { position: fixed; z-index: 50; bottom: 0; right: 40px; }
section.chats         { position: fixed; z-index: 50; bottom: 0; left: 220px; }


/* multi columns */
.multicol     { -webkit-column-gap: 14px; -moz-column-gap: 14px; column-gap: 14px; }
.multicol > * { 
	-webkit-column-break-inside: avoid; 
	-moz-column-break-inside: avoid; 
	-o-column-break-inside: avoid; 
	-ms-column-break-inside: avoid; 
	column-break-inside: avoid; 
	page-break-inside: avoid;
	break-inside: avoid;
	width: 100%;
}

.multicol.m2  { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2; }
.multicol.m3  { -webkit-column-count: 3; -moz-column-count: 3; column-count: 3; }

@media screen and (max-width: 800px) {
	.multicol.m2  { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2; }
	.multicol.m3  { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2; }
}

@media screen and (max-width: 640px) {
	main.content  { padding: 0; background-color: inherit; box-shadow: none; }
	.multicol.m2  { -webkit-column-count: 1; -moz-column-count: 1; column-count: 1; }
	.multicol.m3  { -webkit-column-count: 1; -moz-column-count: 1; column-count: 1; }
}


/* sidebar */
aside               { position: fixed; z-index: 110; top: 0; width: 210px; bottom: 0; background-color: #228dcf; }
aside a.ctrl        { display: block; padding: 0 20px; line-height: 60px; font-size: 18px; text-align: right; color: #fff; text-decoration: none; }
aside a.ctrl        { border-bottom: 1px solid rgba(255,255,255,0.3); }
aside a.ctrl.expand { display: none; text-align: center; }

aside                            { width: 62px; }
aside.expanded                   { width: 250px; }

aside          a.ctrl.collapse   { display: none; }
aside.expanded a.ctrl.collapse   { display: block; }

aside          a.ctrl.expand     { display: block; }
aside.expanded a.ctrl.expand     { display: none; }


aside          > nav            { display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; height: calc(100% - 61px); }
aside          > nav > *        { flex-grow: 1; flex-shrink: 1; }
aside          > nav > *.bottom { flex-grow: 0; flex-shrink: 0; }
aside          > nav > *        { overflow-x: visible; overflow-y: visible; scrollbar-width: none; }
aside.expanded > nav > *        { overflow-x: hidden; overflow-y: auto; scrollbar-width: none; }

aside > nav > ul.top          { padding-bottom: 10px; }
aside > nav > ul        > li  { position: relative; border-bottom: 1px solid rgba(255,255,255,0.3); }
aside > nav > ul.bottom > li  { border-top: 1px solid rgba(255,255,255,0.3); }
aside > nav > ul.bottom > li  { border-bottom: none; }

aside > nav > ul > li a       { position: relative; display: block; line-height: 60px; padding: 0 4px; }
aside > nav > ul > li a       { background-color: #228dcf; color: #fff; font-size: 0; text-decoration: none; }
aside > nav > ul > li a       { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

aside > nav > ul > li form          { display: block; margin: 0; padding: 0; }
aside > nav > ul > li form > button { position: relative; display: block; line-height: 24px; padding: 8px 20px; }
aside > nav > ul > li form > button { box-sizing: border-box; width: 100%; text-align: left; cursor: pointer; }
aside > nav > ul > li form > button { background-color: #228dcf; color: #fff; font-size: 12px; border: none; }
aside > nav > ul > li form > button { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
aside > nav > ul > li form > button:hover { background-color: #2064a3; }

aside > nav > ul > li          > a       { border-left: 6px solid transparent; }
aside > nav > ul > li          > a:hover { background-color: #2064a3; }
aside > nav > ul > li.selected > a       { background-color: #1f3c77; border-left: 6px solid #ffbc2d; }

aside > nav > ul > li a span        { display: inline-block; vertical-align: middle; overflow: hidden; }
aside > nav > ul > li a span.icon   { text-align: center; width: 40px; }
aside > nav > ul > li a span.icon i { display: inline-block; vertical-align: middle; font-size: 18px; }
aside > nav > ul > li a span.text   { font-size: 14px; }

aside > nav > ul > li a .bubble { position: absolute; top: 5px; right: 5px; user-select: none; }
aside > nav > ul > li a .bubble { box-sizing: border-box; min-width: 19px; height: 19px; padding: 0 2px; border-radius: 9px; }
aside > nav > ul > li a .bubble { background-color: #ef4949; border: 1px solid #fff; box-shadow: 0 4px 6px 0 rgba(0,0,0,0.3); }
aside > nav > ul > li a .bubble { font-size: 10px; color: #fff; line-height: 17px; text-align: center; }
aside > nav > ul > li a .bubble:empty { display: none; }

aside          > nav > ul > li a span.text { display: none; }
aside.expanded > nav > ul > li a span.text { display: inline-block; width: calc(100% - 40px); }


aside          > nav > ul > li > .angle { position: absolute; right: 7px; top: 50%; transform: translate(0, -50%); }
aside          > nav > ul > li > .angle { font-size: 18px; color: #fff; pointer-events: none; user-select: none; }
aside.expanded > nav > ul > li > .angle { display: none; }

aside          > nav > ul > li       > ul.subitems { position: absolute; z-index: 2; left: 100%; top: 0; }
aside          > nav > ul > li       > ul.subitems { display: none; }
aside          > nav > ul > li:hover > ul.subitems { display: block; }
aside          > nav > ul > li       > ul.subitems > li > a { border-left: none; line-height: 24px; padding: 8px 20px; }
aside          > nav > ul > li       > ul.subitems > li > a { background-color: #228dcf; color: #fff; text-decoration: none; }
aside          > nav > ul > li       > ul.subitems > li          > a:hover { background-color: #2064a3; }
aside          > nav > ul > li       > ul.subitems > li.selected > a       { background-color: #1f3c77; }

aside          > nav > ul > li       > ul.subitems > li a span.icon   { width: 30px; display: none; }
aside          > nav > ul > li       > ul.subitems > li a span.icon i { font-size: 14px; }
aside          > nav > ul > li       > ul.subitems > li a span.text   { font-size: 12px; display: block; width: 100%; }

aside.expanded > nav > ul > li       > ul.subitems { position: static; z-index: 1; left: auto; top: auto; }
aside.expanded > nav > ul > li       > ul.subitems { display: block; width: 100%; box-sizing: border-box; }
aside.expanded > nav > ul > li       > ul.subitems > li > a { padding-left: 50px; }


aside > nav > ul > li a span.icon i.icon-students { display: inline-block; width: 18px; height: 18px; background: url('/static/img/icon/students.svg') no-repeat center center; background-size: contain; }
aside > nav > ul > li a span.icon i.icon-teachers { display: inline-block; width: 18px; height: 18px; background: url('/static/img/icon/teachers.svg') no-repeat center center; background-size: contain; }
aside > nav > ul > li a span.icon i.icon-parents  { display: inline-block; width: 18px; height: 18px; background: url('/static/img/icon/parents.svg') no-repeat center center; background-size: contain; }
aside > nav > ul > li a span.icon i.icon-school   { display: inline-block; width: 18px; height: 18px; background: url('/static/img/icon/school.svg') no-repeat center center; background-size: contain; }

aside > nav > ul > li a span.icon i.photo { display: inline-block; vertical-align: middle; width: 24px; height: 24px; border: 1px solid #fff; border-radius: 50%; }
aside > nav > ul > li a span.icon i.photo { background: no-repeat center center; background-size: cover; }

aside > nav > ul .icon-flex:before { content: '💪'; }
aside > nav > ul .icon-hort:before { content: '🌇'; }

aside + main.content { margin-left: 62px; }
header.main > .logo  { margin-left: 102px; }


/* buttons */
*.button { display: block; text-align: center; border-radius: 3px; font-size: 14px; text-decoration: none; line-height: 32px; width: 185px; padding: 0 5px; }
*.button { box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -webkit-box-sizing: border-box; }
*.button { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
*.button:hover { text-decoration: none; }
input.button,
button.button  { border: none; cursor: pointer; }

*.button.btn1           { background-color: #228dcf; color: #fff; box-shadow: 0 4px 4px rgba(0,0,0,0.3); }
*.button.btn1:hover     { background-color: #1f3c77; }
*.button.btn1:disabled  { background-color: #999999; cursor: not-allowed; }

*.button.btn2       { background-color: transparent; color: #228dcf; border: 1px solid #228dcf; }
*.button.btn2:hover { background-color: #228dcf; color: #fff; }

*.button.btn3       { background-color: transparent; color: #fff; border: 1px solid #fff; }
*.button.btn3:hover { background-color: #228dcf; color: #fff; }

*.button.btn4       { background-color: transparent; color: #228dcf; border: none; width: auto; line-height: normal; padding: 0; }
*.button.btn4:hover { background-color: transparent; color: #228dcf; text-decoration: underline; }

*.button.btn5       { background-color: rgba(255,255,255,.25); color: #fff; border: 1px solid #fff; }
*.button.btn5:hover { background-color: #228dcf; color: #fff; }

*.button.btn6       { background-color: #228dcf; color: #fff; box-shadow: 0 4px 4px rgba(0,0,0,0.3); }

*.button.btn7       { background-color: #ef4949; color: #fff; box-shadow: 0 4px 4px rgba(0,0,0,0.3); }

*.button.btn8       { background-color: #ffd900; color: #282828; box-shadow: 0 20px 20px rgba(0,0,0,0.3); }
*.button.btn9       { background-color: #245ccd; color: #fff; box-shadow: 0 20px 20px rgba(0,0,0,0.3); }

*.button.btnA       { background-color: #fff; color: #1f3c77; border: 1px solid #fff; box-shadow: 0 4px 4px rgba(0,0,0,0.3); }
*.button.btnB       { background-color: transparent; color: #fff; border: 1px solid #fff; box-shadow: 0 4px 4px rgba(0,0,0,0.3); }



.common-frame          { padding: 40px; font-size: 0; }
.white-block           { color: #282828; background-color: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.3); }

/* tabs */
ul.tabs                { margin: 0; padding: 0; font-size: 0; }
ul.tabs li             { margin: 0; padding: 0; list-style-type: none; }

ul.tabs                { display: block; text-align: center; }
ul.tabs li             { display: inline-block; overflow: hidden; margin-right: -1px; border: 1px solid #1f3c77; }
ul.tabs li:first-child { border-bottom-left-radius: 3px; border-top-left-radius: 3px; }
ul.tabs li:last-child  { border-bottom-right-radius: 3px; border-top-right-radius: 3px; margin-right: 0; }
ul.tabs li a           { display: block; padding: 0 5px; width: 86px; line-height: 23px; font-size: 12px; text-transform: uppercase; }
ul.tabs li a           { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
ul.tabs li a           { color: #1f3c77; text-decoration: none; }
ul.tabs li a:hover     { text-decoration: none; }
ul.tabs li.selected a  { color: #fff; background-color: #1f3c77; }
ul.tabs.wide  li a     { width: 124px; font-size: 14px; }
ul.tabs.wide2 li a     { width: 160px; font-size: 14px; }
ul.tabs.auto li a      { width: initial; font-size: 14px; }

ul.tabs-inner               { font-size: 18px; }
ul.tabs-inner li            { display: inline-block; margin-right: 40px; }
ul.tabs-inner li:last-child { margin-right: 0; }
ul.tabs-inner li a          { color: #1f3c77; text-decoration: none; }
ul.tabs-inner li.selected   { border-bottom: 4px solid #ffbc2d; }
ul.tabs-inner li.selected a { color: #1f3c77; }



.text-blue  { color: #228dcf; }
.text-green { color: #52c642; }
.text-red   { color: #ff7132; }
.text-grey  { color: #999999; }


/* inline error messages */
.error-message         { text-align: center; padding: 30px 20px; margin: 0; }
.error-message img     { display: block; margin: 0 auto; width: 521px; }
.error-message h3      { padding: 40px 0; color: #1f3c77; }
.error-message .button { margin: 0 auto; }


/* modal error messages */
section.dialogs .dialog          { position: fixed; z-index: 300; left: 0; right: 0; top: 0; bottom: 0; background-color: rgba(0,0,0,0.8); user-select: none; }
section.dialogs .dialog .block   { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); min-width: 300px; background-color: #fff; }
section.dialogs .dialog .title   { padding: 15px 20px; font-weight: bold; font-size: 20px; text-align: center; text-transform: uppercase; color: #fff; background-color: #1f3c77; }
section.dialogs .dialog .inner   { padding: 40px; }
section.dialogs .dialog .text    { padding-bottom: 40px; text-align: center; font-size: 14px; white-space: pre-wrap; }
section.dialogs .dialog .button  { margin: 0 auto; font-weight: 600; padding: 0 20px; }
section.dialogs .dialog .ok      { font-weight: 600; }
section.dialogs .dialog .confirm { margin-right: 0; font-weight: normal; width: auto; white-space: nowrap; }
section.dialogs .dialog .cancel  { line-height: 32px; font-size: 14px; margin-right: 20px; padding: 0 10px; }
section.dialogs .dialog .ctrls          { text-align: right; }
section.dialogs .dialog .ctrls .confirm { display: inline-block; }
section.dialogs .dialog .ctrls .cancel  { display: inline-block; }

section.dialogs .dialog.red .title  { background-color: #ef4949; }
section.dialogs .dialog.red .button { background-color: #ef4949; }

@media screen and (max-width: 800px) {
	section.dialogs .dialog .inner { padding: 20px; }
	section.dialogs .dialog .text  { padding-bottom: 20px; text-align: center; font-size: 14px; font-weight: 600; }
}

/* autocomplete dropdown */
ul.autocomplete                        { margin: 0; padding: 0; background-color: #fff; border: 1px solid #b2b2b2; box-shadow: 0 2px 4px rgba(0,0,0,0.3); }
ul.autocomplete                        { position: absolute; z-index: 10; left: 0; right: 0; width: 100%; max-height: 255px; overflow: auto; display: none; }
ul.autocomplete                        { font-size: 0; }
ul.autocomplete.w200                   { min-width: 200px; }
ul.autocomplete.w250                   { min-width: 250px; }
ul.autocomplete.w300                   { min-width: 300px; }
.dropup   ul.autocomplete              { bottom: 100%; }
.dropleft ul.autocomplete              { left: auto; }
ul.autocomplete *                      { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
ul.autocomplete *                      { line-height: normal; text-align: left; }
ul.autocomplete > li                   { margin: 0; padding: 0; list-style-type: none; border-bottom: 1px solid #e5e5e5; font-size: 0; }
ul.autocomplete > li:last-child        { border-bottom: none; }
ul.autocomplete > li                   { display: none; }
ul.autocomplete > li.center *          { text-align: center; }
ul.autocomplete > li.w50               { width: 50%; }
ul.autocomplete > li.w33               { width: 33.33%; }
ul.autocomplete > li.w25               { width: 25%; }
ul.autocomplete > li.show              { display: block; }
ul.autocomplete > li.w50.show          { display: inline-block; }
ul.autocomplete > li.w33.show          { display: inline-block; }
ul.autocomplete > li.w25.show          { display: inline-block; }
ul.autocomplete > li > *               { display: block; padding: 5px 10px; text-decoration: none; position: relative; }
ul.autocomplete > li > span            { opacity: 0.5; background-color: #f0f0f0; }
ul.autocomplete > li > * > *           { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
ul.autocomplete > li > * > .item-image { display: block; float: left; margin: 5px 10px 5px 0; width: 30px; height: 30px; border-radius: 50%; }
ul.autocomplete > li > * > .item-image { background: no-repeat center center; background-size: cover; }
ul.autocomplete > li > * > .item-title { line-height: 21px; font-size: 14px; color: #282828; height: 21px; }
ul.autocomplete > li > * > .item-descr { line-height: 18px; font-size: 12px; color: #999; }
ul.autocomplete > li.selected > *      { font-weight: bold; }
ul.autocomplete > li > a:hover         { background-color: #f0f0f0; }
ul.autocomplete.show.anim-fadein       { display: block; animation: 200ms ease-in-out 0s 1 normal forwards running fadein; }
@keyframes fadein {
    0%   { opacity: 0; }
    100% { opacity: 1; }
}
ul.autocomplete.show:empty             { display: none; }

ul.autocomplete li.period-s > * { padding-left: 25px; }
ul.autocomplete li.period-q > * { padding-left: 40px; }


/* notifications */
.notification-window                  { background-color: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.3); overflow: hidden; font-size: 0; padding: 20px; }
.notification-window                  { display: none; max-height: 50px; margin-bottom: 20px; width: 300px; }
.notification-window.show             { display: block; }
.notification-window      .progress   { font-size: 14px; }
.notification-window      .result     { display: none; font-size: 14px; }
.notification-window.done             { background-color: #e5ffe5; }
.notification-window.fail             { background-color: #ffe5e5; }
.notification-window.done .progress   { display: none; }
.notification-window.fail .progress   { display: none; }
.notification-window.done .result     { display: block; }
.notification-window.fail .result     { display: block; }

.notification-window .progress-bar      { display: inline-block; width: 240px; padding: 1px; border: 1px solid #1f3c77; overflow: hidden; }
.notification-window .progress-bar span { display: block; width: 0; height: 8px; background-color: #228dcf; }
.notification-window .progress-text     { display: inline-block; margin-left: 10px; font-size: 14px; }


/* placeholders with pictures */
.cikumas-placeholder                                        { position: relative; min-height: 400px; }
.cikumas-placeholder > .cp-container                        { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.cikumas-placeholder > .cp-container                        { width: 430px; height: 270px; max-width: 90%; border: 2px dashed #1f3c77; border-radius: 3px; overflow: hidden; }
.cikumas-placeholder > .cp-container > .cp-inner            { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 0; }
.cikumas-placeholder > .cp-container > .cp-inner > *        { display: block; margin: 0 auto; }
.cikumas-placeholder > .cp-container > .cp-inner > .cp-icon { width: 150px; height: 150px; background: no-repeat center center; background-size: contain; }
.cikumas-placeholder > .cp-container > .cp-inner > .cp-text { margin-top: 10px; font-size: 18px; color: #1f3c77; text-align: center; }
.cikumas-placeholder.place-height                 { height: 520px; }
.cikumas-placeholder.place-narrow > .cp-container { width: 320px; }
.cikumas-placeholder.place-linked > .cp-container { cursor: pointer; }

.cikumas-placeholder.place-wide                                        { min-height: 0; }
.cikumas-placeholder.place-wide > .cp-container                        { position: relative; top: auto; left: auto; transform: translate(0, 0); }
.cikumas-placeholder.place-wide > .cp-container                        { width: auto; height: auto; border: none; border-radius: 0; }
.cikumas-placeholder.place-wide > .cp-container > .cp-inner            { position: relative; top: auto; left: auto; transform: translate(0, 0); height: 150px; }
.cikumas-placeholder.place-wide > .cp-container > .cp-inner > *        { position: absolute; }
.cikumas-placeholder.place-wide > .cp-container > .cp-inner > .cp-icon { width: auto; height: auto; left: 0; top: 0; right: 0; bottom: 0; background-size: initial; }
.cikumas-placeholder.place-wide > .cp-container > .cp-inner > .cp-text { left: calc(50% - 380px); bottom: 20px; margin-top: 0; font-size: 16px; color: #999; }

/* required inputs */
.input-required             { position: relative; }
.input-required:after       { content: '•'; font-size: 18px; font-weight: bold; color: #ef4949; line-height: 36px; width: 9px; text-align: center; }
.input-required:after       { position: absolute; bottom: 0; left: -15px; }
.input-required-legend      { display: block; color: #999; font-size: 12px; text-align: left; line-height: 24px; margin-top: 20px; margin-bottom: -20px; }
.input-required-legend span { font-size: 18px; font-weight: bold; color: #ef4949; }


/* fix for scrollbar in chrome */
.picker__wrap { margin: 0 !important; }

/* tutorial launcher button */
.tutorial-launcher         { float: left; margin-left: 20px; font-size: 18px; }
.tutorial-launcher a       { color: #999; text-decoration: none; }
.tutorial-launcher a:hover { color: #228dcf; }

.introjs-tooltiptext { font-size: 14px; }


/* cikumas checkbox */

.cikumas-checkbox                        { position: relative; line-height: 36px; }
.cikumas-checkbox input                  { display: none; }
.cikumas-checkbox label                  { display: block; user-select: none; cursor: pointer; padding: 0; min-width: 20px; }
.cikumas-checkbox label:before { display: block; content: ''; position: absolute; top: 50%; margin-top: -10px; right: 0;
	border: 1px solid #228dcf; height: 20px; width: 20px; border-radius: 2px; background: #fff;
	-webkit-transition: all 0.3s ease; transition: all 0.3s ease; box-sizing: border-box; }
.cikumas-checkbox label:after { display: block; content: ''; position: absolute; top: 50%; margin-top: -8px;
	right: 7px; width: 6px; height: 13px; opacity: 0; box-sizing: border-box;
	-webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg);
	-webkit-transition: opacity 0.3s ease; transition: opacity 0.3s ease; -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }
.cikumas-checkbox input[type='checkbox']:checked          + label:after  { border-right: 2px solid #fff; border-bottom: 2px solid #fff; opacity: 1; }
.cikumas-checkbox input[type='checkbox']:checked          + label:before { background-color: #337ab7; border-color: #337ab7; }
.cikumas-checkbox input[type='checkbox']:disabled         + label:before { background-color: #fff; border-color: #999; }
.cikumas-checkbox input[type='checkbox']:disabled         + label        { cursor: default; }
.cikumas-checkbox input[type='checkbox']:checked:disabled + label:before { background-color: #999; border-color: #999; }

.cikumas-checkbox label span        { display: block; margin-right: 30px; }

.cikumas-checkbox.left label:before { right: auto; left: 0; }
.cikumas-checkbox.left label:after  { right: auto; left: 7px; }
.cikumas-checkbox.left label span   { margin-right: 0; margin-left: 30px; }


/* cikumas radiobox */

.cikumas-radiobox                     { position: relative; line-height: 36px; }
.cikumas-radiobox input               { display: none; }
.cikumas-radiobox label               { display: block; user-select: none; cursor: pointer; padding: 0; }
.cikumas-radiobox label:before { display: block; content: ''; position: absolute; top: 50%; transform: translate(0, -50%); right: 0;
    border: 1px solid #228dcf; height: 14px; width: 14px; border-radius: 50%; background: #fff; box-sizing: border-box;
    -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
.cikumas-radiobox label:after { display: block; content: ''; position: absolute; top: 50%; right: 3px; transform: translate(0, -50%);
    width: 8px; height: 8px; border-radius: 50%; background: #337ab7; box-sizing: border-box; opacity: 0; 
    -webkit-transition: opacity 0.3s ease; transition: opacity 0.3s ease; -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }

.cikumas-radiobox input:checked          + label:after  { opacity: 1; }
.cikumas-radiobox input:disabled         + label:before { border-color: #999; }
.cikumas-radiobox input:disabled         + label:after  { background-color: #999; }
.cikumas-radiobox input:checked:disabled + label:before { border-color: #999; }
.cikumas-radiobox input:checked:disabled + label:after  { background-color: #999; }

.cikumas-radiobox label span        { display: block; }

.cikumas-radiobox.left label:before { right: auto; left: 0; }
.cikumas-radiobox.left label:after  { right: auto; left: 3px; }
.cikumas-radiobox.left label span   { margin-right: 0; margin-left: 20px; }


/* cikumas switch */

.cikumas-switch                  { position: relative; display: block; font-size: 0; cursor: pointer; line-height: 24px; }
.cikumas-switch > *              { display: inline-block; vertical-align: middle; }
.cikumas-switch > .switch        { position: relative; border-radius: 9px; width: 36px; height: 18px; }
.cikumas-switch > .switch:before { content: ''; width: 14px; height: 14px; border-radius: 7px; background-color: #fff; }
.cikumas-switch > .switch:before { position: absolute; display: block; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.cikumas-switch > input          { display: none; }

.cikumas-switch >                  .switch        { background-color: #fff; border: 1px solid rgba(119,144,157,0.2); }
.cikumas-switch >                  .switch:before { left: 50%; border: 0.5px solid rgba(119,144,157,0.2); box-shadow: 0 2px 4px 0 rgba(0,0,0,0.1); }

.cikumas-switch > input          ~ .switch        { background-color: #999; border: none; }
.cikumas-switch > input          ~ .switch:before { left: 9px; border: none; box-shadow: none; }

.cikumas-switch > input:checked  ~ .switch        { background-color: #228dcf; border: none; }
.cikumas-switch > input:checked  ~ .switch:before { left: calc(100% - 9px); border: none; box-shadow: none; }

.cikumas-switch > input:disabled ~ .switch        { background-color: #ccc; border: none; }

.cikumas-switch > .switch,
.cikumas-switch > .switch:before {
	transition: all 200ms ease-in-out;
	-moz-transition: all 200ms ease-in-out;
	-o-transition: all 200ms ease-in-out;
	-webkit-transition: all 200ms ease-in-out;
}
.cikumas-switch > .caption                  { display: inline-block; font-size: 14px; margin-left: 10px; /*max-width: calc(100% - 46px);*/ }
.cikumas-switch > input          ~ .caption { color: #999; }
.cikumas-switch > input:checked  ~ .caption { color: #282828; }
.cikumas-switch > input          ~ .caption.on  { display: none; }
.cikumas-switch > input          ~ .caption.off { display: inline-block; }
.cikumas-switch > input:checked  ~ .caption.on  { display: inline-block; }
.cikumas-switch > input:checked  ~ .caption.off { display: none; }

.cikumas-switch.small > .switch        { border-radius: 6px; width: 24px; height: 12px; }
.cikumas-switch.small > .switch:before { width: 10px; height: 10px; border-radius: 5px; }
.cikumas-switch.small > input          ~ .switch:before { left: 6px; }
.cikumas-switch.small > input:checked  ~ .switch:before { left: calc(100% - 6px); }
.cikumas-switch.small > .caption           { font-size: 12px; }

.cikumas-switch.right > .caption { display: block; float: left; margin: 0 10px 0 0; }


/* cikumas lock */

.cikumas-lock                  { position: relative; display: block; font-size: 0; cursor: pointer; line-height: 24px; }
.cikumas-lock > *              { display: inline-block; vertical-align: middle; }
.cikumas-lock > input          { display: none; }
.cikumas-lock > .icon          { font-size: 24px; }

.cikumas-lock > input          ~ .icon        { color: #ef4949; font-size: 24px; }
.cikumas-lock > input:checked  ~ .icon        { color: #10B163; }
.cikumas-lock > input:disabled ~ .icon        { color: #999; }

.cikumas-lock > input          ~ .icon.icon0  { display: inline-block; }
.cikumas-lock > input          ~ .icon.icon1  { display: none; }
.cikumas-lock > input:checked  ~ .icon.icon0  { display: none; }
.cikumas-lock > input:checked  ~ .icon.icon1  { display: inline-block; }

.cikumas-lock > .caption                  { display: inline-block; font-size: 14px; margin-left: 10px; }
.cikumas-lock > input          ~ .caption { color: #999; }
.cikumas-lock > input:checked  ~ .caption { color: #282828; }
.cikumas-lock > input          ~ .caption.on  { display: none; }
.cikumas-lock > input          ~ .caption.off { display: inline-block; }
.cikumas-lock > input:checked  ~ .caption.on  { display: inline-block; }
.cikumas-lock > input:checked  ~ .caption.off { display: none; }

.cikumas-lock.right > .caption { displaY: block; float: left; margin: 0 10px 0 0; }


/* cikumas pie chart */

.cikumas-pie-chart               { height: 120px; width: 120px; }
.cikumas-pie-chart > svg         { display: block; height: 100%; }
.cikumas-pie-chart .label        { text-align: center; }
.cikumas-pie-chart .label .title { color: #999 !important; font-size: 12px !important; }
.cikumas-pie-chart .label .value { color: #282828 !important; font-size: 20px !important; }


/* cikumas input frame */

.cikumas-input-frame                { position: relative; }
.cikumas-input-frame > .input       { border: none; border-bottom: 1px solid #b2b2b2; padding: 3px; font-size: 14px; line-height: 30px; width: 100%; }
.cikumas-input-frame > .input:focus { border-color: #228dcf; }
.cikumas-input-frame > .icon        { display: block; position: absolute; top: 0; color: #228dcf; font-size: 18px; line-height: 36px; text-align: center; text-decoration: none; }
.cikumas-input-frame      > .input  { padding-right: 20px; }
.cikumas-input-frame      > .icon   { width: 20px; right: 0; left: auto; }
.cikumas-input-frame.w28  > .input  { padding-right: 28px; }
.cikumas-input-frame.w28  > .icon   { width: 28px; }
.cikumas-input-frame.wide > .input  { padding-right: 36px; }
.cikumas-input-frame.wide > .icon   { width: 36px; }
.cikumas-input-frame.left > .input  { padding-left: 20px; padding-right: 3px; }
.cikumas-input-frame.left > .icon   { left: 0; right: auto; }
.cikumas-input-frame.left.w28  > .input { padding-left: 28px; }
.cikumas-input-frame.left.wide > .input { padding-left: 36px; }


/* cikumas tooltip */
.ui-tooltip {
	padding: 4px;
	font: 12px "Helvetica Neue", Sans-Serif;
}

/* ??? */
.mce-container-body .mce-container.mce-flow-layout-item.mce-btn-group:nth-of-type(3) .mce-btn.mce-menubtn button { width: 60px; }


/* breadcrumbs */
.breadcrumbs                  { margin-top: -20px; margin-bottom: 20px; }
.breadcrumbs > a              { display: inline-block; line-height: 30px; }
.breadcrumbs > a:hover > span { text-decoration: underline; }
.breadcrumbs > a > i          { display: inline-block; vertical-align: middle; font-size: 24px; margin-right: 10px; }
.breadcrumbs > a > span       { display: inline-block; vertical-align: middle; font-size: 14px; }


/* pickadate custom styling */
.dropup .picker                   { bottom: 100%; }
.dropup .picker .picker__holder { bottom: 100%; }

.dropleft .picker                   { right: 0; left: auto; }
.dropleft .picker .picker__holder { right: 0; left: auto; }

.picker .picker__nav--disabled        { cursor: default; }
.picker .picker__nav--disabled:before { border-left-color: #dddddd; border-right-color: #dddddd; }
.picker .picker__nav--disabled:hover  { background: white; color: #dddddd; }


/* cikumas checkbox - for assign screen ??? */
.cikumas-checkbox input.check[type=radio],
.cikumas-checkbox input.check[type=checkbox] { display: none; }
.cikumas-checkbox input.check + label > * { margin-left: 30px; }
.cikumas-checkbox input.check + label { line-height: 20px; height: 20px; text-align: left; font-size: 16px; position: relative; white-space: normal; }
.cikumas-checkbox input.check + label:before { position: absolute; top: 50%; margin-top: -10px; left: 0; display: block; content: ""; border: 1px solid #228dcf; height: 20px; width: 20px; border-radius: 2px; background: #fff; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; box-sizing: border-box; }
.cikumas-checkbox input.check + label:after { position: absolute; display: block; content: ""; top: 50%; margin-top: -8px; left: 7px; width: 6px; height: 13px; opacity: 0; box-sizing: border-box;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
	-webkit-transition-delay: 0.1s;
	transition-delay: 0.1s;
}
.cikumas-checkbox input.check:not(:disabled) + label { cursor: pointer; }
.cikumas-checkbox input.check:not(:disabled) + label:before { cursor: pointer; }
.cikumas-checkbox input.check:not(:disabled) + label:after { cursor: pointer; }
.cikumas-checkbox input.check:checked + label:before { background: #337ab7; border-color: #337ab7; }
.cikumas-checkbox input.check:checked + label:after { border-right: 2px solid #fff; border-bottom: 2px solid #fff; opacity: 1; }
/* disabled state */
.cikumas-checkbox input.check:disabled + label:before { border: 1px solid #ccc; }
.cikumas-checkbox input.check:checked:disabled + label:before { border: 1px solid #ccc; background: transparent; }
.cikumas-checkbox input.check:checked:disabled + label:after { border-color: #999; }


/* language selector */

.cikumas-langs             { position: relative; height: 32px; font-size: 0; }
.cikumas-langs   a         { display: block; white-space: nowrap; line-height: 15px; padding: 8px 0; font-size: 0; color: #264A84; }
.cikumas-langs   a > *     { display: inline-block; vertical-align: middle; }
.cikumas-langs   a > .icon { width: 21px; height: 15px; }
.cikumas-langs   a > .name { font-size: 12px; margin-right: 5px; }

.cikumas-langs      > a > .angle          { opacity: 0.5; font-size: 12px; margin-left: 7px; }
.cikumas-langs      > a > .angle.expand   { display: inline-block; }
.cikumas-langs      > a > .angle.collapse { display: none; }
.cikumas-langs.open > a > .angle.expand   { display: none; }
.cikumas-langs.open > a > .angle.collapse { display: inline-block; }

.cikumas-langs > ul                        { list-style-type: none; margin: 0; padding: 0; }
.cikumas-langs > ul > li                   { list-style-type: none; margin: 0; padding: 0; }
.cikumas-langs > ul > li.title             { padding: 6px; font-size: 11px; line-height: 20px; color: #282828; border-bottom: 1px solid #E5E5E5; }
.cikumas-langs > ul > li > a:hover         { text-decoration: none; background-color: #0C83FF; }
.cikumas-langs > ul > li > a       > .name { color: #264A84; }
.cikumas-langs > ul > li > a:hover > .name { color: #fff; }

.cikumas-langs > .dropdown > li > a         { padding: 6px; }
.cikumas-langs > .dropdown > li > a > .name { margin: 0 0 0 5px; }

.cikumas-langs > .dropdown          { position: absolute; top: calc(100% + 5px); left: 50%; transform: translate(-50%, 0); }
.cikumas-langs > .dropdown          { width: 100px; border: 1px solid #f1f1f1; background-color: #fff; box-shadow: 0 8px 15px 0 rgba(0,0,0,0.21); }
.cikumas-langs > .dropdown > li     { position: relative; z-index: 2; }
.cikumas-langs > .dropdown::before  { position: absolute; z-index: 1; right: 50%; top: 0; transform: translate(+50%, -50%) rotate(45deg); }
.cikumas-langs > .dropdown::before  { content: ""; width: 10px; height: 10px; background-color: #fff; }
.cikumas-langs > .dropdown::before  { border-left: 1px solid #f1f1f1; border-top: 1px solid #f1f1f1; }
.cikumas-langs      > .dropdown       { display: none; }
.cikumas-langs.open > .dropdown       { display: block; }
.cikumas-langs.open > .dropdown:empty { display: none; }


/* assignment type icons */
.icon-asg-type.competency { background: #797979 url('/static/img/assignments/type/competency.png') no-repeat center center; background-size: contain; }
.icon-asg-type.homework   { background: #a2d053 url('/static/img/assignments/type/homework.png') no-repeat center center; background-size: contain; }
.icon-asg-type.inclass    { background: #5ebef8 url('/static/img/assignments/type/inclass.png') no-repeat center center; background-size: contain; }
.icon-asg-type.formal     { background: #194296 url('/static/img/assignments/type/formal.png') no-repeat center center; background-size: contain; }
.icon-asg-type.test       { background: #57bfb5 url('/static/img/assignments/type/test.png') no-repeat center center; background-size: contain; }
.icon-asg-type.quiz       { background: #8491d1 url('/static/img/assignments/type/quiz.png') no-repeat center center; background-size: contain; }
.icon-asg-type.project    { background: #f36f47 url('/static/img/assignments/type/project.png') no-repeat center center; background-size: contain; }
.icon-asg-type.listening  { background: #7C56FF url('/static/img/assignments/type/listening.svg') no-repeat center center; background-size: 70%; }
.icon-asg-type.reading    { background: #F04DCA url('/static/img/assignments/type/reading.svg') no-repeat center center; background-size: 70%; }
.icon-asg-type.writing    { background: #FBB532 url('/static/img/assignments/type/writing.svg') no-repeat center center; background-size: 70%; }
.icon-asg-type.algebra    { background: #ad70f0 url('/static/img/assignments/type/algebra.svg') no-repeat center center; background-size: 70%; }
.icon-asg-type.geometry   { background: #4f8aec url('/static/img/assignments/type/geometry.svg') no-repeat center center; background-size: 70%; }
.icon-asg-type.other      { background: #d1cfcf url('/static/img/assignments/type/other.png') no-repeat center center; background-size: contain; }


/* color picker */
input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; margin: 0; border: none; }
input[type="color"]:-moz-color-swatch-wrapper     { padding: 0; margin: 0; border: none; }
input[type="color"]:-ms-color-swatch-wrapper      { padding: 0; margin: 0; border: none; }
input[type="color"]::-webkit-color-swatch         { padding: 0; margin: 0; border: none; }
input[type="color"]:-moz-color-swatch             { padding: 0; margin: 0; border: none; }
input[type="color"]:-ms-color-swatch              { padding: 0; margin: 0; border: none; }
input[type="color"]                               { padding: 0; margin: 0; border: none; }


/* site-wide datepicker styles fix */
input + .picker        { min-width: 300px; }
.picker__select--year  { width: auto; padding: 0; }
.picker__select--month { width: auto; padding: 0; }


.picker .day-load-1 { background-color: #eeffee; color: #000; }
.picker .day-load-2 { background-color: #ffffee; color: #000; }
.picker .day-load-3 { background-color: #ffeeee; color: #000; }


.user-photo-css { position: relative; width: 30px; height: 30px; border-radius: 50%; }
.user-photo-css > div { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.user-photo-css > div { color: #fff; font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 13.5px; font-weight: 400; }
