html {
    min-height: 100%;
    overflow-y: scroll;
    height: 100%;
}

body {
    height: 100%;
    background-color: #eee;
    position: relative;
    margin-bottom: -40px;
}

#main-container {
    min-height: 100%;
    background-color: #fff;
    box-shadow: 0 0 10px 5px #ddd;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    position: relative;
    padding-bottom: 40px;
}

hr {
    margin: 10px 0;
}

#footer {
    height: 40px;
    text-align: center;
    border-top: 1px solid #eee;
    padding-top: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

#content {
    padding: 20px 0;
}

#confirmWindow .modal-footer {
    padding: 5px 15px;
}

#calendar .pagination > li > a {
    padding: 5px;
}

#calendar .pagination, #calendar .pager {
    margin: 5px 0;
}

#calendar .calendar-header-row, #calendar .calendar-row {
    position: relative;
}

#calendar .calendar-header-row {
    height: 40px;
}

#calendar .calendar-row {
    height: 60px;
    padding-top: 4px;
    padding-bottom: 6px;
}

#calendar .calendar-lesson, #calendar .calendar-lesson-header {
    position: absolute;
    top: 0;
}

#calendar .calendar-lesson {
    z-index: 2;
    height: 50px;
    text-align: center;
    overflow: hidden;
    box-shadow: 0 1px 2px #888;
    line-height: 120%;
}

#calendar .calendar-lesson-header {
    z-index: 1;
    padding-left: 5px;
    border-left: 1px solid #bbb;
}

#calendar .calendar-row .calendar-lesson-header {
    border-left: 1px solid #ddd;
    height: 50px;
}
h2 {
    font-size: 18px;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    margin-top: 0;
    letter-spacing: 1px;
    position: relative;
    margin-left: -22px; /* 15px padding + 7px border ribbon shadow*/
    padding: 10px 0 10px 22px; 
    background-color: #e5e5e5;
    background-image: linear-gradient(#f5f5f5, #e5e5e5);
    box-shadow: 1px 1px 3px -1px rgba(0,0,0,.5);
    text-shadow: 0 1px 0 #fff;
}

h2:after {
    position: absolute;
    left: 0;
    bottom: -6px;
    content:'';
    border-top: 6px solid #555;
    border-left: 6px solid transparent;
}

#menu.nav-tabs>li>a {
    padding: 7px 12px;
}

.inset-shadow {
    box-shadow: 0 -15px 25px -25px inset;
}

#calendar .nav-tabs {
    margin-bottom: 15px;
}

textarea {
    resize: vertical;
}

label.error {
    color: #F00;
}

.affix {
    position: static;
}

.separator::after {
    content: "\002666";
    margin: 0 10px;
    color: #ccc;
}

body.modal-open {
    padding-right: 0 !important;
}

.tooltip-inner {
    text-align:left;
}

@media print {
    a[href]:after {
        content: none;
    }
}

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
    
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .affix {
        position: fixed;
        top: 5px;
        width: 212px;
    }
    .affix-bottom {
        position: absolute;
    }
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .affix {
        width: 262px;
    }
}
