﻿/* This is magic. Don't change anything. :-) */

header {
    margin-bottom: 20px;
}

header,
footer {
    background-color: #0064a6;
    color: #fff;
}

footer {
    padding: 1em;
}

    footer a {
        color: #ddd
    }

.title {
    padding: 0.5em;
    font-size: 2em;
    color: #ffffff;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.language-switch {
    float: right;
}

    .language-switch ul {
        font-size: 0.7em;
        line-height: 1em;
        padding-right: 5px;
        margin-bottom: 0;
        list-style: none;
    }

        .language-switch ul li {
            color: #ffffff;
            font-size: 1.6em;
            font-weight: bold;
            float: left;
            padding-top: 8px;
            padding-left: 0;
            margin-right: 10px;
        }

            .language-switch ul li a:link {
                color: #ffffff;
            }
            .language-switch ul li a:visited {
                color: #ffffff;
            }

.slash-space {
    margin-right: 5px;
}

h2 {
    text-align: center;
    overflow: hidden;
    margin-bottom: 35px;
    margin-top: 10px;
}

    h2 > span:before {
        margin-right: 15px;
        right: 100%;
    }

    h2 > span:after {
        margin-left: 15px;
        left: 100%;
    }

    h2 > span {
        display: inline-block;
        position: relative;
    }

        h2 > span:before, h2 > span:after {
            content: "";
            position: absolute;
            border-top: 2px solid #e0e0e0;
            top: 50%;
            width: 2000em;
        }

.clearLink {
    margin-left: 1em;
    font-size: 0.875em;
}

.navigation {
    display: none
}

.clearLink > img {
    width: 1.3em;
    height: 1.3em;
}

@media (max-width: 992px) {
    #body > h1 {
        display: none;
    }

    .title {
        margin-bottom: 0;
        text-align: right;
        vertical-align: baseline;
        height: 100%;
        right: 1em;
    }

        .title > span {
            position: absolute;
            right: 0;
            bottom: 1em;
        }

    SelectionContent_InfoPanel {
        display: none;
    }
}

@media (max-width: 910px) {
    .abInfo {
        white-space: nowrap;
    }
}

@media (max-width: 768px) {
    header #logo {
        display: none;
    }

    .title {
        text-align: left;
        margin-bottom: inherit;
        vertical-align: middle;
        height: inherit;
        right: inherit;
        width: 50%;
    }

        .title > span {
            position: relative;
            left: inherit;
            right: inherit;
            bottom: inherit;
            top: inherit;
        }

    h2 {
        font-size: 1.5em;
    }

    h3 {
        font-size: 1.3em;
    }
}

@media (min-width: 768px) {
    header {
        margin-bottom: 20px;
    }

        header .header {
            height: 138px;
        }

        header #logo {
            position: absolute;
            z-index: 99;
            margin-top: 30px;
            width: auto;
        }

        header .logo-wrap {
            width: 75px;
            margin-left: 5px;
        }
}

@media (min-width: 992px) {
    header {
        margin-bottom: 20px;
    }

    h1 {
        font-weight: bold;
        font-size: 3.0em;
        line-height: 1.2em;
        margin-top: 60px;
        margin-bottom: 50px;
        text-align: center;
        visibility: visible;
    }

    .navigation {
        display: inherit;
        margin-top: -66px;
    }

    .nav-tab {
        float: right
    }

    .tab-nav {
        border-bottom: none;
        font-size: 1em;
    }

        .tab-nav li.active {
            border-top: 1px solid #fff;
            border-right: 1px solid #fff;
            border-bottom: 1px solid #0064a6;
            border-left: 1px solid #fff;
            position: relative;
            z-index: 559;
            margin-bottom: 0;
            padding-left: 0;
        }

        .tab-nav li.dummy {
            width: 100px;
            position: relative;
            z-index: 559;
            margin-bottom: 0;
            padding-left: 0
        }

        .tab-nav li a {
            color: #fff;
            padding: 23px 22px 22px 29px;
            font-size: 1.5em;
        }

            .tab-nav li a:hover {
                background-color: inherit;
                text-decoration: none;
            }

    .pseudo-sub-nav {
        background-color: #0064a6;
        height: 20px;
        width: 100%;
        position: relative;
        display: block;
        border-top: 1px solid #fff;
        float: left;
        margin-top: -1px
    }
}

@media (min-width: 1200px) {
    body {
        margin: 15px auto;
    }

    #hintButton {
        display: none;
    }

    .container-fluid {
        margin: 0 auto;
        width: 1170px;
    }

    header {
        margin-bottom: 20px !important;
    }
}

@media (max-width: 1200px) {

    #substituteHintButton {
        display: none;
    }
}

#MainContent_pnlNoSearchHits,
#MainContent_pnlSessionExpired {
    margin-left: 15px;
    margin-right: 15px;
}

#MainContent_pnlMultipleHits {
    padding-bottom: 2em;
}

#MainContent_lbtExpandStudents,
#MainContent_lbtExpandRooms,
#MainContent_lbtExpandModules,
#MainContent_lbtExpandLecturers,
#MainContent_lbtExpandClasses {
    width: 100%;
}

.week-nav {
    padding-top: 0.3em;
    width: 100%;
}

#SelectionContent_SearchPanel {
    margin: 0
}

    #SelectionContent_SearchPanel select,
    #SelectionContent_SearchPanel input {
        width: 100%
    }

#MainContent_pnlSchedule {
    overflow: auto;
}

#MainContent_divLegend {
    margin-bottom: 20px;
}

.autocomplete_list_item {
}

.autocomplete_item {
    width: 100%;
    clear: both;
    overflow: auto;
}

.autocomplete_item_category {
    color: #808080;
    font-style: italic;
    width: 20%;
    float: right;
    text-align: right;
    font-size: 0.8em;
    color: #0064a6;
}

.autocomplete_item_text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 80%;
    float: left;
}

.autocomplete_link_list_item {
    text-align: center;
    margin-top: 1em !important;
}

.autocomplete_link_list_button {
}

@media (max-width: 768px) {

    .title {
        font-size: 1.5em;
    }

    .autocomplete_item {
        clear: both;
        float: none;
        max-width: 300px;
    }

    .autocomplete_item_category {
        font-style: italic;
        font-size: 0.8em;
        color: #0064a6;
        clear: both;
        text-align: left;
        float: none;
        width: 100%;
    }

    .autocomplete_item_text {
        white-space: nowrap;
        text-overflow: ellipsis;
        clear: both;
        float: none;
        width: 100%;
    }
}


/* LISTEN CONTENT */
#content ul {
    margin: 3px 0 20px 22px;
    padding: 0;
    list-style-type: none;
}

#content li {
    background-position: 0 5px;
}

/* TABLE CONTENT */
#content table {
    margin: 6px 0 11px 0;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0px;
    font-size: 11px;
    border-bottom: 2px none black;
    table-layout: auto;
}


/* --- SCHEDULE --------------------------*/

.schedTable {
    border: none;
    padding: 0px;
    margin: 0px;
    empty-cells: show;
}

table.schedTable {
    border-collapse: collapse;
    margin: 1px;
    width: 100%;
}

.schedTableSlotColumn {
    font-size: 8pt;
}

td.schedTable, th.schedTable {
    margin: 0px;
    border-width: 1px;
    border-style: solid;
    border-color: #ddd;
    vertical-align: top;
    text-align: justify;
    font-size: 1em;
    vertical-align: middle;
}

td.schedTableLessonColumn, th.schedTableLessonColumn {
    width: 90px;
    background-color: #fff;
    padding-left: 0.5em;
}

#content th.schedTable {
    padding: 4px;
    font-size: 8pt;
    text-align: center;
}


#content tr:hover td.schedTableSlotColumn {
    background-color: #000;
}

#content td.schedTableSlotColumn {
    background-color: #0064a6;
    font-weight: bold;
    width: 45px;
    color: White;
    text-align: center;
    font-size: 8pt;
    padding: 4px;
}

th.schedTable {
    background-color: #0064a6;
    font-weight: bolder;
    color: #fff;
}

footer a:hover {
    background-color: #fff;
}

#content div.schedLessonList {
    margin: 0px;
    list-style-type: none;
    list-style-image: none;
    text-indent: 0px;
    text-align: justify;
}

#MainContent_divLegend {
    margin-bottom: 20px;
}

td.schedTableLesson {
    background-color: #e5f5ff;
}

#content div.schedTableLessonEntrySelected {
    border-left: 2px solid #000 !important;
}


td.schedTableLessonSelected {
    background-color: #eee;
}

    td.schedTableLessonSelected a {
        color: #000;
    }

#content .schedLessonList div {
    padding-left: 3px;
    border-left: 2px solid #e5f5ff;
    text-align: justify;
}

    #content .schedLessonList div:hover {
        background-color: #fff;
    }

.divScheduleOperations {
    margin-top: 0;
    margin-bottom: 2em;
}

    .divScheduleOperations img {
        border: none;
        vertical-align: middle;
        text-align: center
    }

    .divScheduleOperations > div {
        margin: 0.5em;
    }

.left {
    text-align: left;
    display: inline;
    float: left;
    clear: left;
}

.center {
    text-align: center;
    display: inline;
    margin-left: 6px;
    margin-right: 6px;
}

.buttonInvisible {
    position: absolute;
    float: right;
    top: 0px;
    left: 0px;
}

.searchHighlight {
    background-color: #FFFF00;
}

.selection {
    font-weight: bold;
}

.selectedEntityChoice:hover {
    color: #000;
    background-color: #eee;
    cursor: pointer;
}

.schedLegendClassModule {
    width: 0.9em;
    height: 0.9em;
    background-color: #e0e0e0;
    border: 1px solid Black;
    display: inline-block;
    margin-right: 0.2em;
}

.schedLegendChoiceModule {
    width: 0.9em;
    height: 0.9em;
    background-color: #e5f5ff;
    border: 1px solid Black;
    display: inline-block;
    margin-right: 0.2em;
    margin-left: 1em;
}

td.schedPersonal {
    background-color: #e5f5ff;
}

td.schedClass {
    background-color: #f6f6f6;
}

td.schedHoliday {
    background-color: #E8FBFF;
}

.schedTable .schedLessonList .schedBold {
    font-weight: bold;
    display: inline;
}

#content .schedLessonList div .listArea {
    text-align: left;
    display: inline-table;
}

@media all {
    .page-break {
        display: none;
    }
}

@media print {
    .page-break {
        display: block;
        page-break-before: always;
    }

    header, footer,
    h1, h2,
    #SelectionContent_SearchPanel,
    #InfoPanel,
    #MainContent_lnkClearSelection,
    .divScheduleOperations,
    .noprint {
        display: none;
    }

    #InfoPanel {
        display: block !important;
        visibility: visible !important;
    }

    a[href]:after {
        content: none !important;
    }

    .schedTable {
        border-spacing: 0 !important;
        border-collapse: collapse !important;
        border-color: #000 !important;
        border-width: 1px !important;
    }

    .schedTableLessonColumn {
        background-color: #fff !important;
    }

    .schedTableLesson {
        background-color: #e0e0e0 !important;
    }
}

.noprint img {
    border: none;
}

#content table.schedTablePrint {
    width: 113%;
}

.schedTablePrint .schedTable {
    height: 32px;
    font-size: 6.5pt;
}

#content .schedTablePrint th.schedTable, #content .schedTablePrint .schedTableSlotColumn {
    font-size: 8pt;
}

.scheduleActionButton a:first-child > span {
    margin-right: 1em;
}

.scheduleActionButton > span {
    margin-right: 1em;
}

.icon-button {
    font-size: 1.5em;
}

.modal-body h1,
.modal-header h1 {
    font-size: 36px;
    font-weight: 500;
    line-height: 1.1;
}

.modal-body h2,
.modal-header h2 {
    font-size: 30px;
    font-weight: 500;
    line-height: 1.1;
    text-align: left;
    margin-bottom: 0.2em;
}

.modal-body h3,
.modal-header h3 {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.1;
}

.downdownButtonLabel {
    margin-right: 3px;
}

/*Legal notice page*/

.legal-notice-title {
    font-size: 5rem;
    line-height: 1.2;
    margin-bottom: 55px;
}

.legal-notice-content-title {
    font-size: 4rem;
    line-height: 1.2;
    font-weight: bold;
}

.legal-notice-sub-content-title {
    font-size: 3rem;
    line-height: 1.2;
}

.default-address {
    font-size: 2rem;
    line-height: 1.5;
    margin-bottom: 30px;
}
