/*!
 	DAVINCI APP v1.0.0 
 	Copyright (c) 2017 STÜBER SYSTEMS GmbH, http://www.stueber.de
*/


body {
	font-family: "Droid Sans", sans serif;
    font-size: 14px;
    line-height: 1.3em;
}

.ontime-scheduler-topheader { 
	font-size: 1.2em;
}


a,
a:hover,
a:focus {
	text-decoration: none;
}

[data-layouttype="date"] .ontime-scheduler-pane {
  /*    
      side effect in IE
      overflow-x: auto;
      */
  overflow: visible;
}


.ontime-scheduler {
	box-sizing: border-box;
	border-width: 2px 1px;
	border-bottom: 1px;
	border-style: solid;
}


.ontime-scheduler-headeritem
{
	border-width: 0 2px 1px 0;
	border-style: none solid solid none;
}

.ontime-scheduler-cellsgrid .ontime-scheduler-item 
{
	border-width: 0 2px 1px 0;
	border-style: none solid solid none;
}


.ontime-scheduler-item 
{
	/*border-width: 0 2px 1px 0; 
	border-style: none solid solid none;*/
	/*border-width: 0 2px 0 0;
	border-style: none solid none none;*/
	/*border-width: 0 0 1px 0;
	border-style: none none solid none;*/
    border-width: 0 0 0 0;
	border-style: none none none none;
}

.ontime-scheduler-itemcontent
{
	/*border-width: 1px 0 1px 0;
	border-style: solid none solid none;*/
}


.ontime-scheduler-headeritem 
{
	box-sizing: border-box;
}

.ontime-scheduler-cell {
    border-style: none;
    border-width: 0;
}


[data-periodanimate] .ontime-scheduler-topheader .ontime-scheduler-headeritem > * {
    -webkit-transition: -webkit-transform 500ms ease-in-out;
    -webkit-transform: translateX(0);
    transition: transform 500ms ease-in-out;
	transform: translateX(0);
}

[data-periodanimate="left"] .ontime-scheduler-topheader .ontime-scheduler-headeritem > * {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}
[data-periodanimate="right"] .ontime-scheduler-topheader .ontime-scheduler-headeritem > * {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}



.ontime-scheduler-itemcontent {
  background-position: 0px 0px, 2px 0px;
  background-repeat: no-repeat;
  background-size: 2px 100%, 100% 100%;
}


.aCaption, .aMessageText {
    padding: 0 2px;
}

.aMessage, .aMessageText {
    text-overflow: ellipsis;
}


.ontime-scheduler-dataitem  .ontime-scheduler-itemcontentdata {
    box-sizing: border-box;
	border-style: none;
	overflow: hidden;
    border-style: solid;
    border-width: 1px 2px 1px 1px;
    top: -1px;
    bottom: 0px;
    height: auto;
    left: -1px;
    width: auto;
    right: 0;
}
.ontime-scheduler-parallel .ontime-scheduler-items-lessons .ontime-scheduler-dataitem[data-co="f"]:not([data-li]) .ontime-scheduler-itemcontentdata {
    border-width: 1px;
}
.ontime-scheduler-slide.ontime-scheduler-dataitem .ontime-scheduler-itemcontentdata {
    border-left-style: none;
    left: 0;
    right: auto;
    width: 100%;
}



.ontime-scheduler-items-events .ontime-scheduler-dataitem .ontime-scheduler-itemcontentdata * {
	padding: 0 6px 0 6px;
}

.ontime-scheduler-items-supervision .ontime-scheduler-itemcontentdata {
	text-align: center;
	padding: 6px 0 26px 0;
}

.ontime-scheduler-itemcontentdata span {
	white-space: nowrap;
	overflow: hidden;
}

.layout-wrap .ontime-scheduler-itemcontentdata span {
	white-space: normal;
}



.ontime-scheduler-headeritem > span,
.ontime-scheduler-leftheader .h-content > span
{
  /*padding: 0 4px;*/
}

.ontime-scheduler-leftheader .h-content {
    display: table;
    width: 100%;
    height: 100%;
}

.ontime-scheduler-leftheader .h-content > span {
    display: table-cell;
}

.ontime-scheduler-leftheader .h-content > .h-label {
    text-align: left;
}

.ontime-scheduler-leftheader .h-content > .h-time > span {
    text-align: right;
    display: block;
}



.ontime-scheduler-topheader .ontime-scheduler-headeritem > span {
  display: block;
  left: 0px;
  right: 0px;
  width: auto;
  text-align: center;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  line-height: 1.3em;
}
.ontime-scheduler-topheader .ontime-scheduler-headeritem > span::before {
    padding: 0 4px;
}

.ontime-scheduler[data-cc="1"] .ontime-scheduler-topheader .ontime-scheduler-headeritem > span[data-year]::after { 
    /*content: attr(data-year);*/ /* CN date format? */
}


.ontime-scheduler-items-supervision .aTime {
	display: none;
}

.ontime-scheduler-items-supervision .ontime-scheduler-itemcontent { 
    top: -50%;
}


.ontime-scheduler-items-supervision .ontime-scheduler-item {
	overflow: visible;
    border-color: transparent;
}

.ontime-scheduler .ontime-scheduler-items-supervision .ontime-scheduler-itemsharedpart {
    height: 1.6em;
}


.ontime-scheduler-items-supervision .ontime-scheduler-dataitem  .ontime-scheduler-itemcontentdata {
    width: auto;
    border-radius: 0.5em;
    padding: 0.3em 1ch;
    display: inline;
    position: static;
    border-style: none;
}



/* Sidebar */

.onside-menu-page a {
	text-decoration: none;
}
.onside-menu-page > a{
  box-shadow: inset 0 -1px rgba(215,227,244,0.2);
}
.onside-menu-scroller {
	top: 0;
}

/* Scheduler */

.ontime-scheduler a:hover, ontime-scheduler a:focus {
    text-decoration: initial;
}

.ontime-scheduler-itemcontentdata {
  text-align: left;
}

 
 .davinci-b1,
 .ontime-scheduler-items-events .ontime-scheduler-itemcontentdata > *
{
  display: block;
}


.roomInfo {
	display: none;
	position: absolute;
	
	width: 0;
	height: 0;
	
	overflow: visible;
}

.roomInfo2 {
	display: block;
	position: absolute;
	
	width: auto;
	height: auto;
	
	overflow: visible;
	
	pointer-events: none;
}



.roomInfo[data-ha="l"] .roomInfo2 { left: 0; }
.roomInfo[data-ha="r"] .roomInfo2 { right: 0; }
.roomInfo[data-va="t"] .roomInfo2 { top: 0; }
.roomInfo[data-va="b"] .roomInfo2 { bottom: 0; }

.roomInfo[data-ha="c"] .popupPanel { left: -50%; }
.roomInfo[data-va="c"] .popupPanel { margin-top: -25%; }

/* floorplan popup */

.popupPanel {
	pointer-events: all;
	display: block;
	position: relative;

	overflow: auto;
	margin: auto;

	-webkit-transition: all .2s .2s ease;
	-moz-transition: all .2s .2s ease;
	-ms-transition: all .2s .2s ease;
	-o-transition: all .2s .2s ease;
	transition: all .2s .2s ease;
	
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	
	box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4);
	-moz-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4);
	-webkit-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5), inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4);	
}

.popupPanel .info table {	
	text-shadow: 1px 1px 0px rgba(0,0,0,0.3);
	margin: 0;
}

.popupPanel .info table td {	
	white-space: nowrap;
}


[data-va] .roomInfo2:after {
	bottom: -8px;
}

[data-va="t"] .roomInfo2:after {
	bottom: auto;
	top: -8px;
}

.roomInfo2:after {
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	left: -8px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.popupPanel .close {
	position: absolute;
	top: 5px;
	right: 6px;
	font-size: 20px;
	font-weight: bold;
	line-height: 18px;
	text-shadow: 0 1px 0 #ffffff;
	opacity: 0.6;
	filter: alpha(opacity=60);
	text-decoration: none;
}

.popupPanel .close:hover {
	text-decoration: none;
	opacity: 0.4;
	filter: alpha(opacity=40);
	cursor: pointer;
}

.popupPanel table {
	width: 100%;
}

.popupPanel td {
	vertical-align: top;
	padding-left: 5px;
    padding-right: 5px;
}

.popupPanel tr.room-info-has-lessons {
    border-bottom: 1px dotted rgba(255,255,255,0.4);
    content: "";
}

.popupPanel tr.room-info-has-lessons:last-child {
    border-bottom: 1px none rgba(255,255,255,0.4);
}

.msgbox
{
    border-color: #2c539d;
}
.msgbox,
.msgbox hr
{
	border: 1px solid #5887c6;
}

#copyright {
    display: inline-block;
    margin-top: 1em;
}

.info {
	padding: 1em;
}



.aChange.aAbsItem, .aChange.aAbsItem:focus
{
  text-decoration: line-through;
}


#davinci-scheduler,
#davinci-calendar,
#davinci-substitutions
{
	display: none;
}

[data-view="timetable"] #davinci-scheduler,
[data-view="calendar"] #davinci-calendar,
[data-view="substitutions"] #davinci-substitutions
{
	display: block;
}


/* padding in a cell is defined by padding of every part of the cell content 
   taking into account different layouts 
    
   NOTE: part container includes padding in its height definition
*/

.ontime-scheduler-topheader .ontime-scheduler-headeritem > span,
.ontime-text-measure,
.ontime-scheduler .aSubject,
.ontime-scheduler .aClass,
.ontime-scheduler .aTeacher,
.ontime-scheduler .aRoom,
.ontime-scheduler .aExtLink,
.ontime-scheduler .aTime
{
    padding-top: 0.25em;
    padding-left: 0.5ch;
}

.ontime-scheduler-leftheader .ontime-scheduler-headeritem .h-content > span
{
    padding-left: 0.5ch;
}

.h-label,
.h-time span {
    padding-top: 0.25em;
}

.ontime-scheduler-leftheader .ontime-scheduler-headeritem .h-content > span:last-child
{
    padding-right: 0.5ch;
}

.davinci-b2 > span
{
    padding-right: 0.5ch;
}
.davinci-b2 > span:last-child 
{
    padding-right: 0;
}

/* responsive layout   */
.layout-l2 .davinci-b1
{
    white-space: nowrap;
    height: 1.45em;
}


.layout-l2 .davinci-b2
{
    box-sizing: border-box;
    position: absolute;
    width: 50%;
}


.layout-l2 .davinci-b2.content-last 
{
    text-align: right;
    right: 0;
    /*padding-right: 0.5ch;*/
    border-right: 0.5ch solid transparent;
}

.layout-l2 .davinci-b2:first-child 
{
    text-align: left;
    left: 0;
}


.layout-l4 .davinci-b2 {
    display: block;
}


.layout-l1 .davinci-b1 {
    white-space: nowrap;
    width: 100%;
    height: 1.45em;
}


.layout-l1 .davinci-b2 {
    box-sizing: border-box;
    width: 25%;
    position: absolute;
    text-align: left;
}

.layout-l1 .davinci-b2:last-child {
    border-right: 0.5ch solid transparent;
}


.layout-l1 .davinci-b2:nth-child(1) { left: 0%; }
.layout-l1 .davinci-b2:nth-child(2) { left: 25%; }
.layout-l1 .davinci-b2:nth-child(3) { left: 50%; }
.layout-l1 .davinci-b2:nth-child(4) { left: 75%; }



.layout-l1 .layout-skip-if-l1,
.layout-l2 .layout-skip-if-l2,
.layout-l4 .layout-skip-if-l4 
{
    display: none ! important;
}


.layout-c1 .ontime-scheduler-dataitem[data-w="1"] span,
.layout-c2 .ontime-scheduler-dataitem[data-w="2"] span,
.layout-c3 .ontime-scheduler-dataitem[data-w="3"] span,
.layout-c4 .ontime-scheduler-dataitem[data-w="4"] span,
.layout-c5 .ontime-scheduler-dataitem[data-w="5"] span,
.layout-c6 .ontime-scheduler-dataitem[data-w="6"] span,
.layout-c7 .ontime-scheduler-dataitem[data-w="7"] span,
.layout-c8 .ontime-scheduler-dataitem[data-w="8"] span,
.layout-c9 .ontime-scheduler-dataitem[data-w="9"] span
{
	text-overflow: ellipsis;
}




.aSubject,
.aClass span,
.aTeacher span,
.aRoom span
{
    background-clip: content-box;
}

.ontime-scheduler-itemcontentdata .aTime {
    display: block;
    font-size: 0.75em;
    line-height: 100%;
}






.no-content::after {
  left: 0;
  right: 0;
  height: 0;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  text-align: center;
  font-size: 200%;
}

#davinci-calendar
{
    top: 0;
    bottom: 0;
    position: absolute;
    left: 0;
    right: 0;
    overflow: auto;
}


.has-lessons[data-range="in"] .cal-daypad,
[data-today][data-range="in"] .cal-daypad
{
  border-radius: 50%;
}


.cal-daypad {
    width: 21px;
    height: 21px;
}

.cal-month {
  padding: 10px 10px 0 20px;
}

.cal-monthheader {
    font-size: 1.3em;
    margin: 2px 0 2px 0;
}

.cal-daypad, .cal-day {
    border-color: transparent;
    border-style: solid;
    border-width: 0px;
}

.cal-daypad {
    margin: 1px;
}

.cal-day {
    margin: 3px;
}


.cal-monthheader::before {
    position: absolute;

    transform: translate(-100%, -100%) rotate(-90deg) translate(0, 1px);
    -webkit-transform: translate(-100%, -100%) rotate(-90deg) translate(0, 1px);
    transform-origin: bottom right;
    -webkit-transform-origin: bottom right;
}


.cal-monthheader::after 
{ 
    text-transform: uppercase; 
    text-align: center;
    width: 100%;
    display: block;
}



.cal-monthheader, [data-range="in"] .cal-daypad {
    cursor: pointer;
}



.date-day .W,
.date-day .WYYY
{
    display: none !important;
}

.date-week .YYYY,
.date-week .MM,
.date-week .DD
{
    display: none !important;
}
