.mdi,
.application\/pdf::before,
.application\/zip::before,
.application\/vnd\.ms-powerpoint::before,
.application\/octet-stream::before,
.text\/calendar::before,
.ics::before,
.print::before,
button.upload::before,
.button.upload::before,
a[href^="tel:"]::before,
a[href^="mailto:"]::before,
section.appointment .events .event > span a.participation-link::before,
section.appointment .events .event > time a.participation-link::before,
section.appointment .events .event > a a.participation-link::before,
section.documents .list h1::after,
.toggle_navigation:before,
.scrolltop-wrap .top::before,
section.events > ol li > .name::after,
section.events > ol li .events .event .dates > .date a .participation-link::before,
.event-details > .date .participation-link::before,
.event-details .participation-link::before,
section.modules section.terms ol .term > .name::after,
section.modules section.terms ol .term .modules li.module a::after,
section.modules section.terms ol .term .modules li.submodule a::after,
section.modules section.terms ol .term .modules li.modulesubjectchoice a::after,
section.modules section.terms ol .term .modules li.optionalmodule a::after,
section.modules section.terms ol .term .modules li.modulegroup a::after,
section.modules section.downloads > a.blackboard::after,
.exam-registration > ul > li::after,
section.trade-journals .journals .journal a::before,
main > .indentures .terms ol .term > .name::after,
main > .indentures .terms ol .term .modules li.module a::after,
main > .indentures .terms ol .term .modules li.submodule a::after,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a::after,
main > .indentures .terms ol .term .modules li.optionalmodule a::after,
main > .indentures .terms ol .term .modules li.modulegroup a::after,
section.researchdatabases .links li .certificate::before,
section.statistics-software .links li .certificate::before {
  display: inline-block;
  font: normal normal normal 24px/1 "Material Design Icons";
  font-size: inherit;
  text-rendering: auto;
  line-height: inherit;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.application\/pdf::before {
  content: "\F225";
  margin-right: 0.5em;
}
.application\/zip::before {
  content: "\F5C4";
  margin-right: 0.5em;
}
.application\/vnd\.ms-powerpoint::before {
  content: "\F227";
  margin-right: 0.5em;
}
.application\/octet-stream::before,
section.researchdatabases .links li .certificate::before,
section.statistics-software .links li .certificate::before {
  content: "\F214";
  margin-right: 0.5em;
}
.text\/calendar::before,
.ics::before {
  content: "\FB09";
  margin-right: 0.5em;
}
.print::before {
  content: "\F42A";
  margin-right: 0.5em;
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  font-stretch: normal;
  src: url(https://fonts.gstatic.com/s/opensans/v44/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWV4exQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  font-stretch: normal;
  src: url(https://fonts.gstatic.com/s/opensans/v44/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWV4exQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  font-stretch: normal;
  src: url(https://fonts.gstatic.com/s/opensans/v44/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkxhjWV4exQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  font-stretch: normal;
  src: url(https://fonts.gstatic.com/s/opensans/v44/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWV4exQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 800;
  font-stretch: normal;
  src: url(https://fonts.gstatic.com/s/opensans/v44/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk0ZjWV4exQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: normal;
  src: url(https://fonts.gstatic.com/s/opensans/v44/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4uaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  src: url(https://fonts.gstatic.com/s/opensans/v44/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4uaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  src: url(https://fonts.gstatic.com/s/opensans/v44/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsgH1x4uaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  src: url(https://fonts.gstatic.com/s/opensans/v44/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4uaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: normal;
  src: url(https://fonts.gstatic.com/s/opensans/v44/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgshZ1x4uaVc.ttf) format('truetype');
}
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: 'Open Sans', sans-serif;
  font-size: 1rem;
  max-width: 100%;
  -webkit-transition: opacity 0.2s ease-in-out, height 0s, -webkit-transform 0s;
  transition: opacity 0.2s ease-in-out, height 0s, -webkit-transform 0s;
  transition: opacity 0.2s ease-in-out, transform 0s, height 0s;
  transition: opacity 0.2s ease-in-out, transform 0s, height 0s, -webkit-transform 0s;
}
html {
  width: 100%;
  height: 100%;
  scroll-behavior: smooth;
}
html,
body {
  position: relative;
  width: 100%;
  min-height: 100%;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: 400;
  background-color: #fff;
  margin: 0;
}
body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print {
  body {
    display: block;
  }
}
.noscroll {
  overflow: hidden;
}
main {
  display: block;
  width: 106.5rem;
  padding: 0 6.5rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 640px), only screen and (min-width: 640px) and (max-width: 940px) {
  main {
    padding: 0;
  }
  main > * {
    margin-left: 1rem;
    margin-right: 1rem;
  }
}
@media print {
  main {
    padding: 0;
  }
}
h1,
h1 * {
  font-size: 1.5rem;
  font-weight: bold;
}
h1,
h2,
h3 {
  color: #254186;
}
h2 {
  font-size: 1.2rem;
}
a {
  text-decoration: none;
  color: #254186;
  /*    &:hover, &:focus {
            text-decoration: underline;
        }*/
}
form {
  text-align: left;
}
fieldset,
#user_settings {
  display: inline-block;
  text-align: left;
  border: none;
  margin: 1em 0;
  padding: 0;
}
@media only screen and (max-width: 640px) {
  fieldset,
  #user_settings {
    width: 100%;
  }
}
fieldset legend {
  display: block;
  width: 100%;
  font-weight: bold;
  border-bottom: 1px solid #d8dce6;
  color: black;
  padding: 0.5em 0;
  margin-bottom: 0.5em;
}
fieldset p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: grid;
  border-bottom: 1px solid #d8dce6;
  grid-template-columns: 1fr 2fr;
  padding-bottom: 0.5em;
  margin: 0 0 0.5em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
fieldset p:last-child {
  border-bottom: none;
}
fieldset label {
  display: inline-block;
  width: 190px;
}
@media only screen and (max-width: 640px) {
  fieldset label {
    width: auto;
  }
}
input:not([type='radio']):not([type='checkbox']),
select {
  width: 100%;
  height: 3rem;
  padding: 4px;
  border: 1px solid #d8dce6;
  -ms-grid-column: 2;
  grid-column-start: 2;
  background: #fff;
  border-radius: 0;
}
input:not([type='radio']):not([type='checkbox']):not(select),
select:not(select) {
  -webkit-appearance: none;
}
input:not([type='radio']):not([type='checkbox']):disabled,
select:disabled {
  border: none;
  background: transparent;
}
textarea {
  border-radius: 0;
  border: 1px solid #d8dce6;
  background: #fff;
  padding: 4px;
  -webkit-appearance: none;
}
button,
.button {
  display: inline-block;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #254186;
  color: #fff;
  border: none;
  padding: 0.7em 2em;
  cursor: pointer;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column-start: 1;
  grid-column-end: 3;
  -ms-grid-column-align: left;
  justify-self: left;
}
button:hover,
.button:hover,
button:focus,
.button:focus {
  background: #a4a8b3;
  text-decoration: none;
}
button:disabled,
.button:disabled,
button.disabled,
.button.disabled {
  background: #d8dce6;
  color: #ebedf2;
}
button.upload input,
.button.upload input {
  display: none;
}
button.upload::before,
.button.upload::before {
  content: "\F552";
}
@media print {
  button,
  .button {
    display: none;
  }
}
.buttons {
  margin: 1em 0;
}
.buttons .button {
  display: block;
  width: 100%;
  margin: 0.5em 0;
  text-align: center;
}
table th {
  text-align: left;
}
address {
  font-style: normal;
}
a[href^="tel:"]::before {
  content: "\F3F2";
  margin-right: 0.5em;
}
a[href^="mailto:"]::before {
  content: "\F1EE";
  margin-right: 0.5em;
}
.hidden {
  -webkit-transform: scale(0);
      -ms-transform: scale(0);
          transform: scale(0);
  opacity: 0;
  max-height: 0;
  overflow: hidden;
}
.clearfix,
main::after,
form.filter fieldset::after,
section.consulting .contacts .area address::after,
body > header::after,
section.events > ol li .events .event::after,
section.modules section.terms ol .term .modules li.module::after,
section.modules section.terms ol .term .modules li.submodule::after,
section.modules section.terms ol .term .modules li.modulesubjectchoice::after,
section.modules section.terms ol .term .modules li.optionalmodule::after,
section.modules section.terms ol .term .modules li.modulegroup::after,
section.modules section.event::after,
.exam-registration > ul > li ul li a::after,
main > .indentures .terms ol .term .modules li.module::after,
main > .indentures .terms ol .term .modules li.submodule::after,
main > .indentures .terms ol .term .modules li.modulesubjectchoice::after,
main > .indentures .terms ol .term .modules li.optionalmodule::after,
main > .indentures .terms ol .term .modules li.modulegroup::after {
  display: block;
  content: '';
  clear: both;
}
.text_red {
  color: #b71c22;
}
.dialog-overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(71, 78, 101, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2em;
  z-index: 10;
}
.dialog {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
  padding: 2em;
  width: 53.25rem;
  max-width: 100%;
  max-height: 100%;
  overflow-y: auto;
}
@media only screen and (max-width: 640px) {
  .dialog {
    padding: 1em;
  }
}
.dialog > button.close {
  position: absolute;
  top: 0;
  right: 0;
  width: 2em;
  height: 2em;
  line-height: 2em;
  text-align: center;
  padding: 0;
  font-weight: bold;
  color: #fff;
  background: #a4a8b3;
  z-index: 1;
}
.dialog.alert {
  width: auto;
}
.dialog.alert button.ok {
  -ms-flex-item-align: start;
      align-self: flex-start;
}
.dialog.confirm {
  width: auto;
}
.dialog.confirm .buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
button.toggle.filter {
  display: none;
}
@media only screen and (max-width: 640px) {
  button.toggle.filter {
    display: block;
  }
}
form.filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 1em -0.5rem;
}
@media print {
  form.filter {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  form.filter {
    display: none;
  }
  form.filter.open {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
form.filter input {
  display: none;
}
form.filter fieldset {
  margin: 0.5rem;
  vertical-align: middle;
}
form.filter select {
  margin: -1px 0 0 -1px;
}
form.filter label {
  display: block;
  border: 1px solid #d8dce6;
  width: auto;
  height: 3rem;
  line-height: 3rem;
  padding: 0 1em;
  float: left;
  margin: -1px 0 0 -1px;
  cursor: pointer;
  white-space: nowrap;
}
form.filter input:checked + label {
  background: #d8dce6;
}
.linklist,
section.events > ol,
section.modules section.terms ol .term .modules,
section.modules section.downloads ol,
main > .indentures .terms ol .term .modules {
  margin: 1em 0;
  list-style: none;
  padding: 0;
}
.linklist li,
section.events > ol li,
section.modules section.terms ol .term .modules li,
section.modules section.downloads ol li,
main > .indentures .terms ol .term .modules li {
  border-bottom: 1px solid #a4a8b3;
  padding: 0.5em 0;
}
.linklist li a,
section.events > ol li a,
section.modules section.terms ol .term .modules li a,
section.modules section.downloads ol li a,
main > .indentures .terms ol .term .modules li a {
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.linklist li a :first-child,
section.events > ol li a :first-child,
section.modules section.terms ol .term .modules li a :first-child,
section.modules section.downloads ol li a :first-child,
main > .indentures .terms ol .term .modules li a :first-child {
  margin-right: auto;
}
.linklist li a:hover,
.linklist li a:focus,
section.events > ol li a:hover,
section.events > ol li a:focus,
section.modules section.terms ol .term .modules li a:hover,
section.modules section.terms ol .term .modules li a:focus,
section.modules section.downloads ol li a:hover,
section.modules section.downloads ol li a:focus,
main > .indentures .terms ol .term .modules li a:hover,
main > .indentures .terms ol .term .modules li a:focus {
  text-decoration: none;
}
.linklist li a i,
section.events > ol li a i,
section.modules section.terms ol .term .modules li a i,
section.modules section.downloads ol li a i,
main > .indentures .terms ol .term .modules li a i {
  margin-left: auto;
  margin-right: 1em;
  vertical-align: baseline;
}
div.progress {
  position: relative;
  width: calc(100% - 4em);
  height: 1.5em;
  border: 1px solid #254186;
}
@media print {
  div.progress {
    width: 0;
    border: none;
  }
}
div.progress:after {
  position: absolute;
  right: -4em;
  top: 0;
  line-height: 1.5em;
  display: block;
  content: attr(data-value);
  color: #254186;
}
div.progress .value {
  width: 0;
  height: 100%;
  background: #254186;
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(720deg);
            transform: rotate(720deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(720deg);
            transform: rotate(720deg);
  }
}
.loading {
  border: 5px solid transparent;
  border-top: 5px solid #a4a8b3;
  width: 50px;
  height: 50px;
  margin: 1em auto;
  border-radius: 50%;
  -webkit-animation-name: spin;
          animation-name: spin;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}
section.appointment h2 {
  margin-top: 2em;
}
section.appointment p.caldav-url {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
section.appointment p.caldav-url label {
  white-space: nowrap;
  margin-right: 1em;
}
section.appointment .calendars {
  margin: 1em 0;
  padding: 0;
}
section.appointment .calendars li {
  display: grid;
  list-style: none;
  font-weight: bold;
  color: #fff;
  margin: 0.5em 0;
  grid-template-columns: 2em auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-areas: "checkbox label label" "- link button";
}
@media only screen and (max-width: 640px) {
  section.appointment .calendars li {
    grid-template-columns: 2em auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-template-areas: "checkbox label" "- link" "- button";
  }
}
section.appointment .calendars li.inactive {
  opacity: 0.2;
}
section.appointment .calendars li input {
  grid-area: checkbox;
}
section.appointment .calendars li label {
  cursor: pointer;
  padding: 0.5em;
  grid-area: label;
}
section.appointment .calendars li a {
  grid-area: link;
  margin-right: 2em;
}
section.appointment .calendars li form {
  grid-area: button;
}
section.appointment .events {
  margin: 1em 0;
  padding: 0;
}
section.appointment .events .headline,
section.appointment .events .empty {
  list-style: none;
  margin: 2em 0 0.5em;
  font-size: 1.2rem;
  font-weight: bold;
}
section.appointment .events .headline:first-child,
section.appointment .events .empty:first-child {
  margin-top: 0;
}
section.appointment .events.loading .empty {
  display: none;
}
section.appointment .events .event {
  list-style: none;
  margin: 0.5em 0;
  padding: 0 0 1em;
  border: 1px solid #d8dce6;
}
section.appointment .events .event.earlier {
  display: none;
}
section.appointment .events .event.hidden {
  display: none;
}
section.appointment .events .event > span,
section.appointment .events .event > time,
section.appointment .events .event > a {
  display: block;
  padding: 0 1em;
}
section.appointment .events .event > span.summary,
section.appointment .events .event > time.summary,
section.appointment .events .event > a.summary {
  padding: 1em;
  margin: 0 0 1em;
  color: #fff;
  font-weight: bold;
}
section.appointment .events .event > span.date,
section.appointment .events .event > time.date,
section.appointment .events .event > a.date {
  font-weight: bold;
}
section.appointment .events .event > span.endTime,
section.appointment .events .event > time.endTime,
section.appointment .events .event > a.endTime,
section.appointment .events .event > span.allday,
section.appointment .events .event > time.allday,
section.appointment .events .event > a.allday {
  margin-bottom: 0.5em;
}
section.appointment .events .event > span.startTime .name,
section.appointment .events .event > time.startTime .name,
section.appointment .events .event > a.startTime .name,
section.appointment .events .event > span.endTime .name,
section.appointment .events .event > time.endTime .name,
section.appointment .events .event > a.endTime .name {
  display: inline-block;
  width: 3em;
}
section.appointment .events .event > span.download,
section.appointment .events .event > time.download,
section.appointment .events .event > a.download {
  margin: 0.5em 0 0;
  font-weight: bold;
}
section.appointment .events .event > span span,
section.appointment .events .event > time span,
section.appointment .events .event > a span {
  display: inline;
  padding: 0;
}
section.appointment .events .event > span span.name,
section.appointment .events .event > time span.name,
section.appointment .events .event > a span.name {
  margin-right: 1em;
}
section.appointment .events .event > span span.name::after,
section.appointment .events .event > time span.name::after,
section.appointment .events .event > a span.name::after {
  display: inline;
  content: ':';
}
section.appointment .events .event > span a.participation-link::before,
section.appointment .events .event > time a.participation-link::before,
section.appointment .events .event > a a.participation-link::before {
  content: "\F3CC";
  margin-right: 0.5em;
}
*:not(.mdi)[aria-label] {
  position: relative;
}
*:not(.mdi)[aria-label]::before {
  content: attr(aria-label);
  position: absolute;
  display: none;
  min-width: 4em;
  bottom: 2rem;
  right: -2rem;
  color: #474e65;
  background: #fff;
  border: 2px solid #ffb963;
  border-radius: 1rem;
  padding: 1rem;
  white-space: pre;
  text-align: left;
  font-size: 0.8rem;
}
*:not(.mdi)[aria-label]::after {
  display: none;
  content: '';
  position: absolute;
  bottom: 1.5em;
  left: 0;
  width: 1em;
  height: 1em;
  background: #fff;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  border: 2px solid #ffb963;
  border-top: 0;
  border-left: 0;
  font-size: 1rem;
}
*:not(.mdi)[aria-label]:hover::before,
*:not(.mdi)[aria-label]:hover::after {
  display: block;
}
@media print {
  *:not(.mdi)[aria-label] {
    background: none;
    color: transparent;
  }
  *:not(.mdi)[aria-label]::before {
    content: attr(aria-label);
    display: inline-block;
    position: static;
    padding: 0;
    border: none;
    min-width: 0;
    background: none;
    font-size: 1em;
    white-space: pre;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
section.consulting .contacts {
  -webkit-column-width: 25em;
     -moz-column-width: 25em;
          column-width: 25em;
  -webkit-column-gap: 5em;
     -moz-column-gap: 5em;
          column-gap: 5em;
}
section.consulting .contacts .area {
  clear: both;
  margin-top: 3em;
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
     -moz-column-break-inside: avoid;
          break-inside: avoid;
  display: table;
  width: 100%;
}
@supports ((-webkit-column-break-inside: avoid) or (-moz-column-break-inside: avoid) or (break-inside: avoid-column)) {
  section.consulting .contacts .area {
    display: block;
  }
}
section.consulting .contacts .area:first-child {
  margin-top: 0;
}
section.consulting .contacts .area h2 {
  margin: 0;
}
section.consulting .contacts .area .hours {
  margin: 0;
}
section.consulting .contacts .area address {
  display: block;
  margin: 1em 0;
  clear: both;
  border-width: 1px 0;
  border-color: #000;
  border-style: solid;
  padding: 0.5em 0;
}
section.consulting .contacts .area address p {
  margin: 0;
}
section.consulting .contacts .area address a {
  display: block;
}
section.consulting .contacts .area address .name {
  font-weight: bold;
  margin-bottom: 1em;
}
section.consulting .contacts .area address .portrait {
  float: right;
  max-width: 150px;
  margin-left: 1em;
}
section.consulting .contacts .area.emergency p {
  margin: 0;
}
section.consulting .contacts .area.emergency .out-of-office {
  font-weight: normal;
}
section.consulting .contacts {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
}
section.consulting .contacts > .area {
  grid-column: span 3;
}
section.consulting .contacts > .area.flex {
  grid-column: span 1;
}
section.consulting .contacts > .area.flex.last {
  margin-right: 0;
}
section.consulting .contacts > .area.flex > .address-wrapper {
  grid-template-columns: 1fr;
  /*height: 220px;*/
  height: 100%;
}
section.consulting .contacts > .area > .address-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  row-gap: 0em;
  -webkit-column-gap: 2em;
     -moz-column-gap: 2em;
          column-gap: 2em;
}
@media all and (min-width: 710px) and (max-width: 1200px) {
  section.consulting .contacts {
    grid-template-columns: 1fr 1fr;
  }
  section.consulting .contacts > .area {
    grid-column: span 2;
  }
  section.consulting .contacts > .area > .address-wrapper {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 710px) {
  section.consulting .contacts {
    grid-template-columns: 1fr;
  }
  section.consulting .contacts > .area {
    grid-column: span 1;
  }
  section.consulting .contacts > .area > .address-wrapper {
    grid-template-columns: 1fr;
  }
}
section.contact fieldset {
  display: block;
  max-width: 50em;
}
section.contact fieldset p {
  grid-template-columns: auto 1fr;
}
@media only screen and (max-width: 640px) {
  section.contact fieldset p {
    display: block;
  }
}
section.contact fieldset p label {
  width: 10em;
  margin-right: 1em;
}
section.contact fieldset p label[for=text] {
  padding-top: 4px;
  -ms-flex-item-align: start;
      align-self: start;
}
section.contact fieldset p label.full-width {
  width: 100%;
}
section.contact fieldset p textarea {
  width: 100%;
}
.coursework-details h1 {
  margin-bottom: 0.5em;
}
.coursework-details fieldset {
  display: block;
}
.coursework-details fieldset p {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.coursework-details fieldset .button,
.coursework-details fieldset button {
  margin-right: 0.5em;
}
.coursework-details fieldset.info legend {
  padding: 0;
  margin: 1em 0;
  color: #254186;
  border: none;
}
.coursework-details fieldset.info p:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
.coursework-details .examiner p.examiners,
.coursework-details .examiner p.confirm {
  display: block;
}
.coursework-details .cwdate p.cwdates {
  display: block;
}
.coursework-details .topic p {
  display: block;
}
.coursework-details .topic p textarea {
  width: 100%;
  height: 4em;
  min-height: auto;
}
.coursework-details .topic p textarea[name=abstract] {
  height: 8em;
}
.coursework-details .theme,
.coursework-details .abstract {
  white-space: pre-wrap;
}
.coursework-details .notice .text {
  white-space: pre-wrap;
}
.coursework-details .notice .text p {
  display: block;
}
.coursework-details .notice.scientific_work .text {
  white-space: normal;
}
.coursework-details .submit p,
.coursework-details .confirm p {
  display: block;
}
.coursework-details .submit p input [type=checkbox],
.coursework-details .confirm p input [type=checkbox] {
  float: left;
}
.coursework-details .submit p label,
.coursework-details .confirm p label {
  width: auto;
}
.coursework-details form.confirm fieldset {
  display: none;
}
.coursework-details form.confirm .confirmation fieldset {
  display: block;
}
.coursework-details form.confirm.success .confirmation {
  display: none;
}
.coursework-details form.confirm.success .success fieldset {
  display: block;
}
.coursework-details .register {
  display: none;
}
.coursework-details.register .request {
  display: none;
}
.coursework-details.register .register {
  display: block;
}
.coursework-log-states fieldset {
  width: 100%;
}
.coursework-log-states fieldset p {
  grid-template-columns: 190px auto;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.coursework-log-states fieldset p textarea {
  min-height: 300px;
}
.diploma.exam-registrations .notice {
  max-width: 50em;
  margin: 2em 0;
  padding: 2em;
  border: 1px solid #d8dce6;
}
.diploma.exam-registrations .notice h1 {
  font-size: 1.2rem;
  margin-top: 0;
}
.diploma.exam-registrations .notice .text *:last-child {
  margin-bottom: 0;
}
.diploma.exam-registrations .student {
  min-width: 0;
}
.diploma.exam-registrations .student th {
  padding-right: 4em;
}
@media only screen and (max-width: 640px) {
  .diploma.exam-registrations .student {
    min-width: 100%;
  }
  .diploma.exam-registrations .student tr {
    display: table-row;
  }
  .diploma.exam-registrations .student tr th {
    padding-right: 0;
  }
  .diploma.exam-registrations .student tr td {
    text-align: right;
  }
}
.diploma.exam-registrations .exams {
  margin: 2em 0;
}
@media only screen and (max-width: 640px) {
  .diploma.exam-registrations .exams thead {
    display: table-header-group;
  }
}
.diploma.exam-results .exams {
  min-width: 100%;
}
.diploma.exam-results .exams tbody tr:nth-child(odd) {
  background: #d8dce6;
}
.diploma.exam-results .exams tbody .grade {
  font-family: Courier;
}
.diploma.exam-results .exams td,
.diploma.exam-results .exams th {
  padding: 0.3em;
}
.diploma.exam-results .exams .exam-type {
  margin: 0;
}
.diploma.exam-results .exams th.exam-type {
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  .diploma.exam-results .exams tr {
    display: grid;
    grid-template-areas: "subject exam-date" "exam-type grade";
    -webkit-column-gap: 1em;
       -moz-column-gap: 1em;
            column-gap: 1em;
  }
  .diploma.exam-results .exams tr .subject {
    grid-area: subject;
  }
  .diploma.exam-results .exams tr .exam-type {
    grid-area: exam-type;
  }
  .diploma.exam-results .exams tr .exam-date {
    grid-area: exam-date;
    text-align: right;
  }
  .diploma.exam-results .exams tr .grade {
    grid-area: grade;
    text-align: right;
  }
}
.diploma.register-for-exams fieldset {
  display: block;
}
.diploma.register-for-exams .exams {
  min-width: 100%;
}
.diploma.register-for-exams .exams tbody tr:nth-child(odd) {
  background: #d8dce6;
}
.diploma.register-for-exams .exams td,
.diploma.register-for-exams .exams th {
  padding: 0.3em;
}
.diploma.register-for-exams .exams .register.cannot {
  color: #b71c22;
}
@media only screen and (max-width: 640px) {
  .diploma.register-for-exams .exams tr {
    display: grid;
    grid-template-areas: "course date" "- time" "location register";
    -webkit-column-gap: 1em;
       -moz-column-gap: 1em;
            column-gap: 1em;
  }
  .diploma.register-for-exams .exams tr .course {
    grid-area: course;
  }
  .diploma.register-for-exams .exams tr .date {
    grid-area: date;
    text-align: right;
  }
  .diploma.register-for-exams .exams tr .time {
    grid-area: time;
    text-align: right;
  }
  .diploma.register-for-exams .exams tr .location {
    grid-area: location;
  }
  .diploma.register-for-exams .exams tr .register {
    grid-area: register;
    text-align: right;
  }
}
@media only screen and (max-width: 640px) {
  .diploma.register-for-exams.confirm .exams tr {
    display: grid;
    grid-template-areas: "course date" "location time";
    -webkit-column-gap: 1em;
       -moz-column-gap: 1em;
            column-gap: 1em;
  }
  .diploma.register-for-exams.confirm .exams tr .course {
    grid-area: course;
  }
  .diploma.register-for-exams.confirm .exams tr .date {
    grid-area: date;
    text-align: right;
  }
  .diploma.register-for-exams.confirm .exams tr .time {
    grid-area: time;
    text-align: right;
  }
  .diploma.register-for-exams.confirm .exams tr .location {
    grid-area: location;
  }
  .diploma.register-for-exams.confirm .exams tr .register {
    grid-area: register;
    text-align: right;
  }
}
.diploma.register-for-exams .notice {
  max-width: 50em;
  margin: 2em 0;
  padding: 2em;
  border: 1px solid #d8dce6;
}
.diploma.register-for-exams .notice h1 {
  font-size: 1.2rem;
  margin-top: 0;
}
.diploma.register-for-exams .notice .text a {
  white-space: nowrap;
}
.diploma.register-for-exams .notice .text *:last-child {
  margin-bottom: 0;
}
section.documents .error {
  color: #b71c22;
}
section.documents .list.open h2,
section.documents .list.open ul {
  display: block;
}
section.documents .list h1 {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #a4a8b3;
  padding: 0.5em 0;
  font-size: 1.2rem;
}
section.documents .list h1::after {
  content: "\F140";
  display: block;
  color: #d8dce6;
  font-size: 1.5rem;
  font-weight: 300;
  -ms-flex-item-align: middle;
      align-self: middle;
  vertical-align: middle;
  margin-left: auto;
}
@media print {
  section.documents .list h1::after {
    display: none;
  }
}
section.documents .list h1,
section.documents .list h2 {
  font-size: 1.2rem;
  margin-top: 2em;
}
section.documents .list h2 {
  display: none;
  margin-left: 1em;
  margin-right: 1em;
}
section.documents .list ul {
  display: none;
  margin-left: 1em;
  margin-right: 1em;
}
section.documents .list ul .lecturer,
section.documents .list ul .remark {
  display: block;
}
footer {
  margin-top: 2em;
}
body > footer {
  position: relative;
  padding: 1em 6.5rem;
  margin-top: auto;
  border-top: 1px solid #ebedf2;
}
@media only screen and (max-width: 640px), only screen and (min-width: 640px) and (max-width: 940px) {
  body > footer {
    padding: 1rem;
  }
}
@media print {
  body > footer {
    display: none;
  }
}
body > footer a {
  margin-right: 2em;
}
body > header {
  background-color: #254186;
  color: #fff;
  vertical-align: middle;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 6.5rem;
}
body > header > * {
  -ms-flex-item-align: center;
      align-self: center;
  vertical-align: middle;
  margin-right: 1rem;
}
body > header a {
  display: inline-block;
  color: #fff;
}
body > header #home {
  font-size: 3rem;
  font-weight: 300;
  -webkit-box-flex: 0;
      -ms-flex: 0 2 150px;
          flex: 0 2 150px;
}
body > header h1 {
  display: none;
  text-align: center;
  margin: 0 auto;
  color: #fff;
}
@media only screen and (max-width: 640px) {
  body > header h1 {
    display: block;
  }
}
body > header form {
  -webkit-box-flex: 0;
      -ms-flex: 0 2 auto;
          flex: 0 2 auto;
  width: calc(106.5rem - 340px - 150px - 6.5rem - 6.5rem - 1rem);
  -ms-flex: 0 2 calc(106.5rem - 340px - 150px - 6.5rem - 6.5rem - 1rem);
      flex: 0 2 calc(106.5rem - 340px - 150px - 6.5rem - 6.5rem - 1rem);
}
body > header form fieldset {
  max-width: 20rem;
}
body > header #logo {
  display: inline-block;
  float: right;
  margin-right: auto;
}
@media only screen and (min-width: 640px) and (max-width: 940px) {
  body > header #logo {
    margin-top: -1rem;
  }
}
body > header #logo img {
  display: block;
  background: #fff;
  padding: 1em 0;
}
@media only screen and (max-width: 640px), only screen and (min-width: 640px) and (max-width: 940px) {
  body > header {
    padding: 1rem;
  }
}
@media only screen and (max-width: 640px) {
  body > header {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  body > header #logo,
  body > header #home {
    display: none;
  }
}
@media print {
  body > header {
    background: none;
  }
  body > header #logo,
  body > header #home,
  body > header #search_form {
    display: none;
  }
  body > header h1 {
    display: block;
    color: #000;
  }
}
footer .help.hidden {
  display: none;
}
footer .help.dialog {
  position: fixed;
  left: 6.5rem;
  bottom: 4rem;
  max-width: 90%;
  max-width: calc(100% - 2rem);
  background: #fff;
  min-height: 4rem;
  max-height: calc(100vh - 8rem);
  border: 1px solid rgba(71, 78, 101, 0.5);
  padding: 1rem;
  z-index: 1;
}
@media only screen and (max-width: 640px), only screen and (min-width: 640px) and (max-width: 940px) {
  footer .help.dialog {
    left: 1rem;
  }
}
footer .help.dialog > h1 {
  margin-top: 0;
}
@-webkit-keyframes nav-badge-pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  30% {
    -webkit-transform: scale(1.35);
            transform: scale(1.35);
  }
  60% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  80% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes nav-badge-pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  30% {
    -webkit-transform: scale(1.35);
            transform: scale(1.35);
  }
  60% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  80% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.toggle_navigation.has-unread {
  position: relative;
}
.toggle_navigation.has-unread:after {
  content: '';
  position: absolute;
  top: 0.3em;
  right: 0.3em;
  width: 0.6em;
  height: 0.6em;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #b71c22;
}
.toggle_navigation.has-unread.pulse:after {
  -webkit-animation: nav-badge-pulse 1.2s ease-out 2;
          animation: nav-badge-pulse 1.2s ease-out 2;
}
@media (prefers-reduced-motion: reduce) {
  .toggle_navigation.has-unread.pulse:after {
    -webkit-animation: none;
            animation: none;
  }
}
#navigation .nav-badge {
  display: inline-block;
  min-width: 1.6em;
  padding: 0 0.45em;
  margin: -0.2em 0 -0.2em 0.4em;
  border-radius: 1em;
  background: #b71c22;
  color: #fff;
  font-size: 0.85em;
  font-weight: bold;
  line-height: 1.6em;
  text-align: center;
  vertical-align: middle;
  position: relative;
  top: -0.12em;
}
#navigation .nav-badge.pulse {
  -webkit-animation: nav-badge-pulse 1.2s ease-out 2;
          animation: nav-badge-pulse 1.2s ease-out 2;
}
@media (prefers-reduced-motion: reduce) {
  #navigation .nav-badge.pulse {
    -webkit-animation: none;
            animation: none;
  }
}
.inbox .list-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75em;
  margin-bottom: 0.75em;
}
.inbox .list-header h1 {
  margin: 0;
}
.inbox .list-header .unread-count {
  padding: 0.2em 0.75em;
  border-radius: 1em;
  background: #ebedf2;
  color: #254186;
  font-weight: 600;
}
.inbox .list-header .mark-all-read {
  margin-left: auto;
}
.inbox .list-header .mark-all-read button {
  padding: 0.35em 1em;
  border: 1px solid #254186;
  border-radius: 0.5em;
  background: #fff;
  color: #254186;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease-out, color 0.2s ease-out;
  transition: background-color 0.2s ease-out, color 0.2s ease-out;
}
.inbox .list-header .mark-all-read button:hover,
.inbox .list-header .mark-all-read button:focus-visible {
  background: #254186;
  color: #fff;
}
.inbox .category-filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5em;
  padding: 0;
  margin: 0 0 1.5em;
  list-style: none;
}
.inbox .category-filter li {
  margin: 0;
}
.inbox .category-filter li a {
  display: inline-block;
  padding: 0.3em 0.9em;
  border-radius: 1em;
  background: #ebedf2;
  text-decoration: none;
}
.inbox .category-filter li.active a {
  background: #254186;
  color: #fff;
}
.inbox .category-filter li.unread-toggle a {
  border: 1px solid #d8dce6;
  background: #fff;
}
.inbox .category-filter li.unread-toggle.active a {
  border-color: #254186;
  background: #254186;
  color: #fff;
}
.inbox .category-filter li .category-unread-badge {
  display: inline-block;
  min-width: 1.4em;
  margin-left: 0.5em;
  padding: 0 0.4em;
  border-radius: 1em;
  background: #254186;
  color: #fff;
  font-size: 0.8em;
  font-weight: 600;
  line-height: 1.4em;
  text-align: center;
}
.inbox .category-filter li.active a .category-unread-badge {
  background: #fff;
  color: #254186;
}
.inbox .search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
  max-width: 40em;
  margin: 0 0 1.5em;
}
.inbox .search input[type="search"] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 0.4em 0.75em;
  border: 1px solid #d8dce6;
  border-radius: 0.5em;
}
.inbox .search button {
  padding: 0.4em 1.2em;
  border: none;
  border-radius: 0.5em;
  background: #254186;
  color: #fff;
  cursor: pointer;
}
.inbox .pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 40em;
  margin-top: 2em;
}
.inbox .pagination a {
  display: inline-block;
  padding: 0.3em 0.9em;
  border-radius: 1em;
  background: #ebedf2;
  text-decoration: none;
}
.inbox .pagination a:hover,
.inbox .pagination a:focus-visible {
  background: #254186;
  color: #fff;
  text-decoration: none;
}
.inbox .messages li .teaser {
  display: -webkit-box;
  overflow: hidden;
  color: #a4a8b3;
  font-size: 1rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.inbox .messages li .meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
  margin-top: 0.4em;
  color: #a4a8b3;
  font-size: 0.8rem;
}
.inbox .messages li .meta .dot {
  width: 0.35em;
  height: 0.35em;
  border-radius: 50%;
  background: #a4a8b3;
}
.inbox .messages li .meta .date {
  color: #474e65;
  font-weight: 600;
}
.inbox .messages li .category-chip {
  display: inline-block;
  padding: 0.15em 0.7em;
  border-radius: 1em;
  background: #ebedf2;
  color: #474e65;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.inbox .messages li .category-chip--1 {
  background: #e3e9f6;
  color: #254186;
}
.inbox .messages li .category-chip--3 {
  background: #ebe5f4;
  color: #5a3d94;
}
.inbox .messages li .category-chip--4 {
  background: #dff0ed;
  color: #1e6b60;
}
.inbox .messages li .category-chip--5 {
  background: #faeedb;
  color: #8a5a17;
}
.inbox .messages li .category-chip--6 {
  background: #f9e4e4;
  color: #a3282e;
}
.inbox .messages li.priority-high a {
  color: #b71c22;
}
.inbox .message {
  overflow-wrap: break-word;
}
.inbox .message img {
  max-width: 100%;
  height: auto;
}
.inbox .message table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
.inbox .attachments {
  margin-top: 2.5em;
}
.inbox .attachments ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5em;
  max-width: 40em;
  padding: 0;
  margin: 0.75em 0 0;
  list-style: none;
}
.inbox .attachments li {
  margin: 0;
}
.inbox .attachments a.attachment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75em;
  padding: 0.6em 0.9em;
  border: 1px solid #d8dce6;
  border-radius: 0.5em;
  background: #fff;
  text-decoration: none;
  -webkit-transition: border-color 0.2s ease-out, background-color 0.2s ease-out;
  transition: border-color 0.2s ease-out, background-color 0.2s ease-out;
}
.inbox .attachments a.attachment:hover,
.inbox .attachments a.attachment:focus-visible {
  border-color: #254186;
  background: #f1f7ff;
  text-decoration: none;
}
.inbox .attachments a.attachment:hover .action,
.inbox .attachments a.attachment:focus-visible .action {
  color: #254186;
}
.inbox .attachments a.attachment .type {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #254186;
  font-size: 1.7em;
  line-height: 1;
}
.inbox .attachments a.attachment .details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
}
.inbox .attachments a.attachment .name {
  overflow: hidden;
  color: #474e65;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.inbox .attachments a.attachment .meta {
  color: #a4a8b3;
  font-size: 0.8rem;
}
.inbox .attachments a.attachment .action {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #a4a8b3;
  font-size: 1.3em;
  line-height: 1;
  -webkit-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out;
}
.inbox .attachments .attachment--pdf .type {
  color: #b71c22;
}
.inbox .attachments .attachment--excel .type {
  color: #59b35e;
}
.inbox .attachments .attachment--powerpoint .type {
  color: #ffb963;
}
main > .indentures .terms .term.open .indentures {
  display: block;
}
main > .indentures .terms .term .indentures {
  display: none;
}
main > .indentures .terms .term .indentures a {
  display: block;
}
#login fieldset {
  border: none;
  width: 100%;
  max-width: 600px;
  max-width: calc(640px - 2rem);
}
#login fieldset legend,
#login fieldset p {
  padding: 0.5em 0;
  margin: 0;
  grid-template-columns: 1fr 2fr;
}
#login button,
#login a {
  justify-self: right;
  grid-column: 2;
}
#messages {
  margin-bottom: 2em;
}
#messages .message {
  margin: 1em;
  font-size: 1.2rem;
  color: #59b35e;
}
#messages .error {
  margin: 1em;
  font-size: 1.2rem;
  color: #b71c22;
}
.moodle.button {
  background-image: url('../images/moodle.png');
  background-repeat: no-repeat;
}
.moodle.button:hover {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
nav {
  z-index: 1;
  background: #254186;
}
nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
  clear: both;
  word-wrap: break-word;
}
nav ul li {
  display: inline-block;
  border-right: 1px solid #fff;
}
nav ul li:first-child a,
nav ul li:first-child h2 {
  padding-left: 0;
}
nav ul li:last-child {
  border-right: none;
}
nav ul li a,
nav ul li h2 {
  display: block;
  position: relative;
  font-weight: normal;
  cursor: pointer;
  color: #fff;
  margin: 0;
  padding: 0 1em;
  font-size: 1.2rem;
}
nav ul li a:hover,
nav ul li h2:hover {
  text-decoration: none;
}
nav ul li:hover ul {
  opacity: 1;
  -webkit-transform: scaleY(1);
      -ms-transform: scaleY(1);
          transform: scaleY(1);
}
nav ul li ul {
  opacity: 0;
  position: absolute;
  padding-top: 1em;
  -webkit-transform: scaleY(0);
      -ms-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  z-index: 1;
  border-bottom: 1em solid #fff;
}
nav ul li ul:before {
  position: absolute;
  top: 0;
  left: 3em;
  content: ' ';
  display: block;
  width: 0;
  height: 0;
  border-left: 0.5em solid transparent;
  border-right: 0.5em solid transparent;
  border-bottom: 0.5em solid #fff;
}
nav ul li ul li {
  display: block;
  border-right: none;
  background: white;
  padding: 0 1em;
}
nav ul li ul li a {
  color: #474e65;
  font-size: 1em;
  border-bottom: 1px solid #474e65;
  padding: 0.5em 0;
}
nav#navigation {
  padding: 0.5em 1em 0.5em 6.5rem;
}
@media print {
  nav#navigation {
    display: none;
  }
}
@media only screen and (min-width: 640px) and (max-width: 940px), only screen and (max-width: 640px) {
  nav#navigation {
    display: none;
    position: absolute;
    padding: 1rem 0 1rem 1rem;
    min-width: 50%;
    min-height: calc(100vh - 5rem);
    top: 5rem;
  }
  nav#navigation.open {
    display: block;
  }
  nav#navigation ul li {
    display: block;
    border-right: none;
    border-bottom: 1px solid #fff;
  }
  nav#navigation ul li a,
  nav#navigation ul li h2 {
    padding: 0.5rem 0.5rem 0.5rem 0;
    font-weight: 300;
  }
  nav#navigation ul li ul {
    display: none;
    position: relative;
    opacity: 1;
    -webkit-transform: scaleY(1);
        -ms-transform: scaleY(1);
            transform: scaleY(1);
    padding: 0;
    border: none;
    margin-bottom: 0.5rem;
  }
  nav#navigation ul li ul::before {
    display: none;
  }
  nav#navigation ul li ul li {
    background: none;
    padding: 0;
  }
  nav#navigation ul li ul li:last-child {
    border: none;
  }
  nav#navigation ul li ul li a,
  nav#navigation ul li ul li h2 {
    color: #fff;
    padding: 0.5rem;
    border: none;
  }
  nav#navigation ul li.open ul {
    display: block;
  }
}
main nav {
  background: transparent;
  margin-top: 2em;
}
main nav ul li:first-child a {
  padding-left: 2em;
}
main nav ul li a {
  position: relative;
  color: black;
  background: #d8dce6;
  padding: 0.5em 2em;
  min-width: 200px;
  border-bottom: 2px solid #fff;
  white-space: nowrap;
}
@media print {
  main nav ul li a {
    display: none;
  }
}
main nav ul li a.active,
main nav ul li a:hover {
  border-bottom: 2px solid #254186;
}
@media print {
  main nav ul li a.active,
  main nav ul li a:hover {
    display: block;
    padding: 0;
    border-bottom: none;
    background: none;
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  main nav {
    margin: 0 0 2rem;
  }
  main nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  main nav ul li {
    border-right: none;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  main nav ul li a {
    min-width: auto;
    padding: 0.5em;
    width: 100%;
    text-align: center;
  }
  main nav ul li:first-child a {
    padding-left: 0;
  }
}
.toggle_navigation {
  padding: 0;
  height: 3rem;
  width: 3rem;
  display: none;
  background: none;
}
.toggle_navigation:before {
  content: "\F35C";
  font-size: 2em;
}
@media only screen and (min-width: 640px) and (max-width: 940px), only screen and (max-width: 640px) {
  .toggle_navigation {
    display: block;
  }
}
.news .messages,
section.documents .list ul,
main > .indentures .terms .term .indentures,
.search.results .results {
  padding: 0;
  list-style: none;
}
.news .messages li,
section.documents .list ul li,
main > .indentures .terms .term .indentures li,
.search.results .results li {
  margin: 1.5em 0;
}
.news .messages li a,
section.documents .list ul li a,
main > .indentures .terms .term .indentures li a,
.search.results .results li a {
  font-size: 1.2rem;
}
.news .messages li .valid-from,
section.documents .list ul li .valid-from,
main > .indentures .terms .term .indentures li .valid-from,
.search.results .results li .valid-from {
  display: block;
}
.news .messages li.unread a,
section.documents .list ul li.unread a,
main > .indentures .terms .term .indentures li.unread a,
.search.results .results li.unread a {
  font-weight: bold;
}
.news .attachments {
  padding: 0;
  margin: 2em 0;
  list-style: none;
}
.news .back {
  display: block;
  margin-top: 3em;
}
@media print {
  section.passengerplaner .admin {
    display: none;
  }
}
section.passengerplaner .tours {
  display: block;
  margin: 1em 0;
  padding: 0;
}
section.passengerplaner .tours li {
  display: grid;
  margin: 2em 0;
  padding: 0.5em;
  grid-template-areas: "from to via" "date time -" "name phone mail" "text text text" "actions actions actions";
  grid-template-columns: 20em 15em 1fr;
  grid-column-gap: 1em;
  grid-row-gap: 0.5em;
  max-width: 60em;
  background: #ebedf2;
  border: 1px solid #a4a8b3;
  page-break-inside: avoid;
}
section.passengerplaner .tours li:nth-child(even) {
  background: #d8dce6;
}
section.passengerplaner .tours li .from {
  grid-area: from;
}
section.passengerplaner .tours li .to {
  grid-area: to;
}
section.passengerplaner .tours li .to .label {
  width: 3.5em;
}
section.passengerplaner .tours li .via {
  grid-area: via;
}
section.passengerplaner .tours li .via .label {
  width: 3.5em;
}
section.passengerplaner .tours li .date {
  grid-area: date;
}
section.passengerplaner .tours li .time {
  grid-area: time;
}
section.passengerplaner .tours li .time .label {
  width: 3.5em;
}
section.passengerplaner .tours li .name {
  grid-area: name;
}
section.passengerplaner .tours li .phone {
  grid-area: phone;
}
section.passengerplaner .tours li .mail {
  grid-area: mail;
}
section.passengerplaner .tours li .text {
  grid-area: text;
}
section.passengerplaner .tours li .text .label {
  width: auto;
  margin-right: 0.5em;
}
section.passengerplaner .tours li .actions {
  grid-area: actions;
}
section.passengerplaner .tours li > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
section.passengerplaner .tours li > span .label {
  width: 8em;
  margin-right: 1em;
}
@media only screen and (max-width: 640px) {
  section.passengerplaner .tours li {
    display: block;
  }
  section.passengerplaner .tours li .to .label,
  section.passengerplaner .tours li .via .label,
  section.passengerplaner .tours li .time .label {
    width: 8em;
  }
  section.passengerplaner .tours li .text {
    display: block;
  }
  section.passengerplaner .tours li a {
    display: block;
  }
}
section.passengerplaner .edit .buttons {
  display: block;
}
section.passengerplaner .edit .buttons button,
section.passengerplaner .edit .buttons .button {
  display: inline-block;
  width: auto;
}
.registrationinformation table {
  min-width: 100%;
}
.registrationinformation table .exams tr:nth-child(odd) {
  background: #d8dce6;
}
.registrationinformation table .exams .registration-number {
  font-family: Courier;
  font-size: 1.2rem;
}
.registrationinformation table td,
.registrationinformation table th {
  padding: 0.3em;
}
@media only screen and (max-width: 640px) {
  .registrationinformation table thead {
    display: none;
  }
  .registrationinformation table tr {
    display: grid;
    grid-template-areas: "name exam-date" "location location" "registration-number registration-date";
    -webkit-column-gap: 1em;
       -moz-column-gap: 1em;
            column-gap: 1em;
  }
  .registrationinformation table tr .name {
    grid-area: name;
  }
  .registrationinformation table tr .exam-date {
    grid-area: exam-date;
    text-align: right;
  }
  .registrationinformation table tr .location {
    grid-area: location;
  }
  .registrationinformation table tr .registration-number {
    grid-area: registration-number;
  }
  .registrationinformation table tr .registration-date {
    display: none;
    grid-area: registration-date;
    text-align: right;
  }
}
section.researchdatabases .notice,
section.statistics-software .notice {
  max-width: 50em;
  margin: 2em 0;
  padding: 2em;
  border: 1px solid #d8dce6;
}
section.researchdatabases .notice h1,
section.statistics-software .notice h1 {
  font-size: 1.2rem;
  margin-top: 0;
}
section.researchdatabases .notice .text *:last-child,
section.statistics-software .notice .text *:last-child {
  margin-bottom: 0;
}
section.researchdatabases h2,
section.statistics-software h2 {
  font-size: 1.2rem;
}
section.researchdatabases .links,
section.statistics-software .links {
  margin: 1em 0;
  padding: 0;
}
section.researchdatabases .links li,
section.statistics-software .links li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0.5em 0;
}
section.researchdatabases .links li.restricted .title,
section.statistics-software .links li.restricted .title {
  width: 30em;
}
section.researchdatabases .links li.restricted span,
section.statistics-software .links li.restricted span {
  color: #b71c22;
  margin-right: 1em;
}
.scrolltop-wrap {
  position: absolute;
  top: 12rem;
  bottom: 0;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  left: 97rem;
  z-index: 1;
}
@media only screen and (max-width: 80rem) {
  .scrolltop-wrap {
    left: auto;
    right: 8rem;
  }
}
@media only screen and (max-width: 640px), only screen and (min-width: 640px) and (max-width: 940px) {
  .scrolltop-wrap {
    right: 1rem;
  }
}
@media print {
  .scrolltop-wrap {
    display: none;
  }
}
.scrolltop-wrap .top {
  display: block;
  position: -webkit-sticky;
  position: sticky;
  top: -3rem;
  margin-bottom: -3rem;
  -webkit-transform: translateY(100vh);
      -ms-transform: translateY(100vh);
          transform: translateY(100vh);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: all;
  color: transparent;
  font-size: 0;
  overflow: hidden;
}
.scrolltop-wrap .top::before {
  content: "\F05F";
  color: #254186;
  font-size: 2rem;
}
#search_form {
  display: inline-block;
}
#search_form fieldset {
  display: block;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
}
#search_form input {
  display: inline-block;
  vertical-align: middle;
  background: #395292;
  color: #fff;
  border: none;
  width: calc(100% - 3rem);
  float: left;
}
#search_form input:focus {
  outline: none;
}
#search_form button {
  display: inline-block;
  height: 3rem;
  width: 3rem;
  background: #395292;
  color: #fff;
  text-align: center;
  font-size: 2em;
  padding: 0;
  vertical-align: middle;
}
@media only screen and (max-width: 640px) {
  #search_form {
    width: 100%;
  }
  #search_form fieldset {
    display: none;
    width: 100%;
    padding: 1rem;
    max-width: none;
  }
  #search_form input {
    width: calc(100% - 3rem - 1px);
  }
  #search_form.show fieldset {
    display: block;
  }
}
.show_search_form {
  display: none;
  grid-area: search_button;
  color: #fff;
  background: #254186;
  height: 3rem;
  width: 3rem;
  text-align: center;
  font-size: 2em;
  padding: 0;
  vertical-align: middle;
  border-radius: 0;
}
@media only screen and (max-width: 640px) {
  .show_search_form {
    display: block;
  }
}
.search.results section h1 {
  font-size: 1.2rem;
}
.search.results .results .searchterm {
  font-weight: bold;
}
.search.results .results .lecturer,
.search.results .results .content {
  display: block;
}
/* !!!shop */
.boxwrapper {
  border: 1px solid #ccc;
  padding: 15px 30px;
  margin-bottom: 20px;
  overflow: hidden;
  width: auto;
  left: 0px;
  right: 0px;
  max-width: 100%;
}
.wrapper {
  padding: 2em;
}
.boxwrapper > .expandable-box {
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 0;
}
.boxwrapper.expanded > .expandable-box {
  height: auto;
}
.expander {
  cursor: pointer;
}
.action-button {
  border: none;
  padding: 5px 10px;
  border-radius: 25px;
  color: #fff;
  font-weight: 600;
  height: 32px;
  font-size: 12px;
  width: 131px;
}
.line-item {
  overflow: hidden;
  padding: 5px 0;
  margin-top: 10px;
  border-bottom: 1px solid #ccc;
}
.line-item:last-of-type {
  border-bottom: none;
}
.line-item > .text {
  float: left;
  margin-top: 10px;
}
.submit {
  float: right;
}
.submit,
.back {
  display: inline-block;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #254186;
  color: #fff;
  border: none;
  padding: 0.7em 2em;
  cursor: pointer;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column-start: 1;
  grid-column-end: 3;
  -ms-grid-column-align: left;
  justify-self: left;
}
@media only screen and (max-width: 640px), only screen and (min-width: 640px) and (max-width: 940px) {
  .main {
    width: 90%;
    padding-bottom: 100px;
  }
  .boxwrapper {
    padding: 15px 10px;
  }
}
/* !!!Order */
.info-icon {
  cursor: help;
}
.info-icon-img {
  height: 14px;
}
.adder-button {
  /* background-color: #efa822; */
}
.eventbox {
  margin: 15px 15px;
}
.add-one-button,
.already-ordered-button {
  background: none;
  color: #444444;
}
.already-ordered-button {
  cursor: not-allowed;
}
.already-ordered-button:hover,
.already-ordered-button:focus,
.already-ordered-button:active {
  background: unset;
}
.adder-button,
.already-ordered-button {
  float: right;
}
.adder-button.added {
  opacity: 0.5;
}
.hidden-flb-checkbox {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
label.action-button {
  text-align: center;
  cursor: pointer;
}
.hidden-flb-checkbox:checked + label {
  /* DEBUG:  */
  color: red !important;
}
.min-button {
  width: auto;
  text-align: left;
  background: none;
  border: none;
  text-decoration: underline;
  color: inherit;
  padding: 0;
}
.order-progress {
  float: right;
  width: 200px !important;
  max-width: 20%;
  margin-right: 4em;
}
/* Cart */
.address_outer_wrapper {
  width: 1000px;
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-line-pack: center;
      align-content: center;
}
.address_wrapper {
  max-width: 50%;
  width: 500px;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.address_wrapper.selected-address {
  -webkit-box-shadow: inset 0px 0px 0px 3px #254186;
          box-shadow: inset 0px 0px 0px 3px #254186;
  /* border: 3px solid #254186; */
  /* padding: 7px; */
}
.address_button_wrapper {
  margin-top: 10px;
}
#shipping_address_wrapper {
  margin-left: 30px;
}
.address_button_wrapper > form {
  display: inline;
  /* float: right; */
}
.addressSelector {
  min-width: 200px;
}
.selected-address * > .addressSelector {
  color: #254186;
  -webkit-box-shadow: inset 0px 0px 0px 2px #254186;
          box-shadow: inset 0px 0px 0px 2px #254186;
  /* border: 2px solid #254186; */
  background: none;
}
#cartbutton {
  background-color: #254186;
  display: inline;
  float: right;
}
#donatebutton {
  background-color: #254186;
  display: inline;
  float: right;
  margin-right: 30px;
}
@media only screen and (max-width: 640px), only screen and (min-width: 640px) and (max-width: 940px) {
  .main {
    width: 100%;
  }
  .semesterbox {
    /*padding: 15px 15px;*/
    border: none;
    padding: 0;
    /*border-top: 1px solid #ccc;*/
  }
  .modulebox,
  .eventbox {
    padding: 0;
  }
  .modulebox {
    padding: 15px 15px;
  }
  .eventbox {
    /*margin: 15px 0px;*/
    border: none;
  }
  .line-item {
    border: none;
  }
  div:not(.semesterbox) > .expander > h2 > .adder-button {
    float: right;
    clear: both;
    display: block;
    margin-top: 10px;
  }
  .expander > h2 {
    font-size: 14px;
    overflow: hidden;
  }
}
section.events button.blackboard {
  margin-top: 1em;
}
section.events section.blackboard {
  display: none;
}
section.events section.blackboard.open {
  display: block;
}
section.events .filter #filter_state_open,
section.events .filter label[for="filter_state_open"] {
  display: none;
}
section.events p.event-state i.event-state {
  display: inline-block;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
}
section.events p.event-state i.event-state.present {
  background: #59b35e;
}
section.events p.event-state i.event-state.open {
  border: 1px solid #000;
  background: transparent;
}
section.events p.event-state i.event-state.registered {
  background: #7c9ede;
}
section.events p.event-state i.event-state.queued {
  background: #ffb963;
}
section.events p.event-state i.event-state.closed {
  background: #a4a8b3;
}
@media print {
  section.events p.event-state i.event-state {
    display: inline;
    width: auto;
    height: auto;
    background: none !important;
    border-radius: none;
  }
}
@media print {
  section.events .subject > .name {
    display: none;
  }
}
section.events > ol {
  border-top: 1px solid #d8dce6;
}
@media print {
  section.events > ol {
    border-top: none;
  }
}
section.events > ol li {
  border-bottom: 1px solid #d8dce6;
}
section.events > ol li:last-child {
  border-bottom: none;
}
@media print {
  section.events > ol li {
    border-bottom: none;
  }
}
section.events > ol li > .name {
  display: block;
  font-size: 1.2rem;
  cursor: pointer;
}
section.events > ol li > .name::after {
  content: "\F140";
  display: block;
  color: #d8dce6;
  font-size: 1.5rem;
  font-weight: 300;
  -ms-flex-item-align: middle;
      align-self: middle;
  vertical-align: middle;
  float: right;
}
@media print {
  section.events > ol li > .name::after {
    display: none;
  }
}
section.events > ol li.open {
  padding-bottom: 0;
}
section.events > ol li.open > .dates,
section.events > ol li.open > .events {
  display: block;
}
section.events > ol li.open > .name {
  font-weight: bold;
}
section.events > ol li p {
  margin: 0;
}
section.events > ol li .events {
  display: none;
  background: #ebedf2;
  padding: 0.5rem;
  margin-top: 1em;
  list-style: none;
}
@media print {
  section.events > ol li .events {
    display: block;
    background: none;
    margin: 0;
  }
}
section.events > ol li .events .event {
  border-bottom: 1px solid #a4a8b3;
  page-break-inside: avoid;
}
@media print {
  section.events > ol li .events .event {
    border-bottom: none;
  }
}
section.events > ol li .events .event > .name {
  font-weight: bold;
}
section.events > ol li .events .event > .name::after {
  color: #a4a8b3;
}
section.events > ol li .events .event > h2 {
  display: none;
  font-size: 1rem;
  color: #7c9ede;
  clear: both;
}
@media print {
  section.events > ol li .events .event > h2 {
    display: block;
  }
}
section.events > ol li .events .event.open .dates,
section.events > ol li .events .event.open > h2 {
  display: block;
}
section.events > ol li .events .event:last-child {
  border-bottom: none;
}
section.events > ol li .events .event > .event-state,
section.events > ol li .events .event > .term,
section.events > ol li .events .event > .prestype {
  float: left;
  color: #a4a8b3;
  margin: 0 1em 0 0;
}
section.events > ol li .events .event .dates {
  display: none;
  padding: 0;
  margin: 0.5em 0;
}
@media print {
  section.events > ol li .events .event .dates {
    display: block;
  }
}
section.events > ol li .events .event .dates > .date {
  display: block;
  page-break-inside: avoid;
}
section.events > ol li .events .event .dates > .date a {
  display: -ms-grid;
  display: grid;
  border: 1px solid #a4a8b3;
  padding: 0.5rem;
  margin: 0.5rem 0;
  -ms-grid-columns: 1fr 1fr;
  grid-template-areas: "location deadline" "timeslot deadline" "host state" "link link";
  -webkit-box-pack: normal;
      -ms-flex-pack: normal;
          justify-content: normal;
}
section.events > ol li .events .event .dates > .date a:first-child {
  margin-top: 0;
}
section.events > ol li .events .event .dates > .date a:last-child {
  margin-bottom: 0;
}
section.events > ol li .events .event .dates > .date a .location {
  -ms-grid-column: 1;
  -ms-grid-row: 1;
  grid-area: location;
}
section.events > ol li .events .event .dates > .date a .deadline {
  -ms-grid-column: 2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-area: deadline;
  text-align: right;
}
section.events > ol li .events .event .dates > .date a .deadline span {
  display: block;
}
section.events > ol li .events .event .dates > .date a .timeslot {
  -ms-grid-column: 1;
  -ms-grid-row: 2;
  grid-area: timeslot;
  font-weight: bold;
}
section.events > ol li .events .event .dates > .date a .timeslot span {
  white-space: nowrap;
}
section.events > ol li .events .event .dates > .date a p.event-state {
  margin-top: 0.5em;
  -ms-grid-column: 2;
  -ms-grid-row: 3;
  grid-area: state;
  text-align: right;
}
section.events > ol li .events .event .dates > .date a .host {
  -ms-grid-column: 1;
  -ms-grid-row: 3;
  grid-area: host;
  margin-top: 0.5em;
}
section.events > ol li .events .event .dates > .date a .participation-link {
  -ms-grid-column: 1;
  -ms-grid-row: 4;
  -ms-grid-column-span: 2;
  grid-area: link;
}
section.events > ol li .events .event .dates > .date a .participation-link::before {
  content: "\F3CC";
  margin-right: 0.5em;
}
.event-details .name {
  margin-top: 0;
}
.event-details > .date {
  display: -ms-grid;
  display: grid;
  border: 1px solid #a4a8b3;
  padding: 0.5rem;
  margin: 0.5rem 0;
  -ms-grid-columns: 1fr 1fr;
  grid-template-areas: "location deadline" "timeslot deadline" "host state" "link link";
  -webkit-box-pack: normal;
      -ms-flex-pack: normal;
          justify-content: normal;
}
.event-details > .date p {
  margin: 0;
}
.event-details > .date .location {
  -ms-grid-column: 1;
  -ms-grid-row: 1;
  grid-area: location;
}
.event-details > .date .deadline {
  -ms-grid-column: 2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-area: deadline;
  text-align: right;
}
.event-details > .date .deadline span {
  display: block;
}
.event-details > .date .timeslot {
  -ms-grid-column: 1;
  -ms-grid-row: 2;
  grid-area: timeslot;
  font-weight: bold;
}
.event-details > .date .timeslot span {
  white-space: nowrap;
}
.event-details > .date p.event-state {
  margin-top: 0.5em;
  -ms-grid-column: 2;
  -ms-grid-row: 3;
  grid-area: state;
  text-align: right;
}
.event-details > .date .host {
  -ms-grid-column: 1;
  -ms-grid-row: 3;
  grid-area: host;
  margin-top: 0.5em;
}
.event-details > .date .participation-link {
  -ms-grid-column: 1;
  -ms-grid-row: 4;
  -ms-grid-column-span: 2;
  grid-area: link;
}
.event-details > .date .participation-link::before {
  content: "\F3CC";
  margin-right: 0.5em;
}
.event-details .details {
  overflow: auto;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1em;
}
.event-details .participation-link::before {
  content: "\F3CC";
  margin-right: 0.5em;
}
.event-details form {
  margin-top: auto;
}
.event-details form fieldset {
  width: 100%;
}
.event-details form fieldset p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin: 0.5em 0;
  padding: 0.5em 0;
}
.event-details form fieldset p input {
  margin-right: 1em;
}
.event-details form fieldset p label {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
section.modules > .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  display: grid;
  grid-template-columns: repeat(auto-fill, -webkit-max-content);
  grid-template-columns: repeat(auto-fill, max-content);
  -webkit-column-gap: 3em;
     -moz-column-gap: 3em;
          column-gap: 3em;
  grid-template-areas: "h1 credits print" "term grade print";
  padding: 2em 0;
  margin-bottom: 2em;
  border-bottom: 1px solid #000;
}
@media only screen and (min-width: 640px) and (max-width: 940px) {
  section.modules > .info {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "h1 credits" "term grade" "print print";
  }
  section.modules > .info form {
    margin-top: 1em;
  }
}
@media only screen and (max-width: 640px) {
  section.modules > .info {
    grid-template-columns: 100%;
    grid-template-areas: "h1" "term" "credits" "grade" "print";
  }
  section.modules > .info .credits {
    margin-top: 1em;
  }
  section.modules > .info form {
    margin-top: 1em;
  }
}
section.modules > .info h2,
section.modules > .info h1,
section.modules > .info p {
  margin: 0;
}
section.modules > .info h1 {
  font-size: 1.2rem;
  font-weight: bold;
  grid-area: h1;
}
section.modules > .info .credits,
section.modules > .info .grade {
  display: block;
  white-space: nowrap;
}
section.modules > .info .credits .sum,
section.modules > .info .grade .sum,
section.modules > .info .credits .average,
section.modules > .info .grade .average {
  margin-left: 1em;
  font-weight: bold;
}
section.modules > .info .credits .total:before,
section.modules > .info .grade .total:before {
  content: '/';
}
section.modules > .info .term {
  font-size: 1.2rem;
  grid-area: term;
}
section.modules > .info .credits {
  grid-area: credits;
}
section.modules > .info .grade {
  visibility: hidden;
  grid-area: grade;
}
section.modules > .info form.print-transcript {
  display: none;
  grid-area: print;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section.modules > .info form.print-transcript fieldset {
  margin: 0;
}
@media only screen and (max-width: 640px) {
  section.modules > .info form.print-transcript fieldset.buttons {
    margin-right: auto;
  }
}
section.modules > .info form.print-transcript fieldset p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: none;
  padding: 0;
}
section.modules > .info form.print-transcript fieldset p input {
  width: auto;
  height: auto;
  padding: 0;
  margin: 0 0.5em 0 1em;
  float: left;
  vertical-align: middle;
}
section.modules > .info form.print-transcript fieldset p label {
  width: auto;
  vertical-align: middle;
}
section.modules > .info .button.evaluation {
  margin-right: 0.5em;
}
@media only screen and (min-width: 640px) and (max-width: 940px) {
  section.modules > .info .button.evaluation {
    margin-bottom: 0.5em;
  }
}
@media only screen and (max-width: 640px) {
  section.modules > .info .button.evaluation {
    min-width: 100%;
    text-align: center;
    margin-bottom: 0.5em;
  }
}
section.modules > .info .button.registrationinformation {
  grid-area: print;
}
@media only screen and (max-width: 640px), only screen and (min-width: 640px) and (max-width: 940px) {
  section.modules > .info .button.registrationinformation {
    margin-top: 1em;
  }
}
@media only screen and (max-width: 640px) {
  section.modules > .info .button.registrationinformation {
    min-width: 100%;
    text-align: center;
  }
}
section.modules section.terms ol,
main > .indentures .terms ol {
  padding: 0;
  list-style: none;
}
section.modules section.terms ol .term,
main > .indentures .terms ol .term {
  font-weight: bold;
  margin: 2em 0;
}
section.modules section.terms ol .term > .name,
main > .indentures .terms ol .term > .name {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #a4a8b3;
  padding: 0.5em 0;
  font-size: 1.2rem;
}
section.modules section.terms ol .term > .name::after,
main > .indentures .terms ol .term > .name::after {
  content: "\F140";
  display: block;
  color: #d8dce6;
  font-size: 1.5rem;
  font-weight: 300;
  -ms-flex-item-align: middle;
      align-self: middle;
  vertical-align: middle;
  margin-left: auto;
}
@media print {
  section.modules section.terms ol .term > .name::after,
  main > .indentures .terms ol .term > .name::after {
    display: none;
  }
}
section.modules section.terms ol .term.open .modules,
main > .indentures .terms ol .term.open .modules {
  display: block;
}
section.modules section.terms ol .term .modules,
main > .indentures .terms ol .term .modules {
  display: none;
  margin: 0;
  font-weight: normal;
  list-style: none;
}
@media print {
  section.modules section.terms ol .term .modules,
  main > .indentures .terms ol .term .modules {
    display: block;
  }
}
section.modules section.terms ol .term .modules li.module,
section.modules section.terms ol .term .modules li.submodule,
section.modules section.terms ol .term .modules li.modulesubjectchoice,
section.modules section.terms ol .term .modules li.optionalmodule,
section.modules section.terms ol .term .modules li.modulegroup,
main > .indentures .terms ol .term .modules li.module,
main > .indentures .terms ol .term .modules li.submodule,
main > .indentures .terms ol .term .modules li.modulesubjectchoice,
main > .indentures .terms ol .term .modules li.optionalmodule,
main > .indentures .terms ol .term .modules li.modulegroup {
  display: grid;
  grid-template-columns: 50% 35%;
  grid-column-gap: 15%;
}
section.modules section.terms ol .term .modules li.module a,
section.modules section.terms ol .term .modules li.submodule a,
section.modules section.terms ol .term .modules li.modulesubjectchoice a,
section.modules section.terms ol .term .modules li.optionalmodule a,
section.modules section.terms ol .term .modules li.modulegroup a,
main > .indentures .terms ol .term .modules li.module a,
main > .indentures .terms ol .term .modules li.submodule a,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a,
main > .indentures .terms ol .term .modules li.optionalmodule a,
main > .indentures .terms ol .term .modules li.modulegroup a {
  grid-column: span 2;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
section.modules section.terms ol .term .modules li.module a .exam-grade,
section.modules section.terms ol .term .modules li.submodule a .exam-grade,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .exam-grade,
section.modules section.terms ol .term .modules li.optionalmodule a .exam-grade,
section.modules section.terms ol .term .modules li.modulegroup a .exam-grade,
section.modules section.terms ol .term .modules li.module a .ects,
section.modules section.terms ol .term .modules li.submodule a .ects,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .ects,
section.modules section.terms ol .term .modules li.optionalmodule a .ects,
section.modules section.terms ol .term .modules li.modulegroup a .ects,
main > .indentures .terms ol .term .modules li.module a .exam-grade,
main > .indentures .terms ol .term .modules li.submodule a .exam-grade,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .exam-grade,
main > .indentures .terms ol .term .modules li.optionalmodule a .exam-grade,
main > .indentures .terms ol .term .modules li.modulegroup a .exam-grade,
main > .indentures .terms ol .term .modules li.module a .ects,
main > .indentures .terms ol .term .modules li.submodule a .ects,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .ects,
main > .indentures .terms ol .term .modules li.optionalmodule a .ects,
main > .indentures .terms ol .term .modules li.modulegroup a .ects {
  display: none;
}
section.modules section.terms ol .term .modules li.module a .name,
section.modules section.terms ol .term .modules li.submodule a .name,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .name,
section.modules section.terms ol .term .modules li.optionalmodule a .name,
section.modules section.terms ol .term .modules li.modulegroup a .name,
main > .indentures .terms ol .term .modules li.module a .name,
main > .indentures .terms ol .term .modules li.submodule a .name,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .name,
main > .indentures .terms ol .term .modules li.optionalmodule a .name,
main > .indentures .terms ol .term .modules li.modulegroup a .name {
  font-size: 1.2rem;
  margin-right: 2em;
  grid-area: name;
}
section.modules section.terms ol .term .modules li.module a .info,
section.modules section.terms ol .term .modules li.submodule a .info,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .info,
section.modules section.terms ol .term .modules li.optionalmodule a .info,
section.modules section.terms ol .term .modules li.modulegroup a .info,
main > .indentures .terms ol .term .modules li.module a .info,
main > .indentures .terms ol .term .modules li.submodule a .info,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .info,
main > .indentures .terms ol .term .modules li.optionalmodule a .info,
main > .indentures .terms ol .term .modules li.modulegroup a .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.8rem;
  border: none;
  padding: 0;
  margin-left: auto;
  grid-area: info;
}
section.modules section.terms ol .term .modules li.module a .info > *,
section.modules section.terms ol .term .modules li.submodule a .info > *,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .info > *,
section.modules section.terms ol .term .modules li.optionalmodule a .info > *,
section.modules section.terms ol .term .modules li.modulegroup a .info > *,
main > .indentures .terms ol .term .modules li.module a .info > *,
main > .indentures .terms ol .term .modules li.submodule a .info > *,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .info > *,
main > .indentures .terms ol .term .modules li.optionalmodule a .info > *,
main > .indentures .terms ol .term .modules li.modulegroup a .info > * {
  margin: 0 1em;
}
section.modules section.terms ol .term .modules li.module a .info > :first-child,
section.modules section.terms ol .term .modules li.submodule a .info > :first-child,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .info > :first-child,
section.modules section.terms ol .term .modules li.optionalmodule a .info > :first-child,
section.modules section.terms ol .term .modules li.modulegroup a .info > :first-child,
main > .indentures .terms ol .term .modules li.module a .info > :first-child,
main > .indentures .terms ol .term .modules li.submodule a .info > :first-child,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .info > :first-child,
main > .indentures .terms ol .term .modules li.optionalmodule a .info > :first-child,
main > .indentures .terms ol .term .modules li.modulegroup a .info > :first-child {
  margin-left: 0;
}
section.modules section.terms ol .term .modules li.module a .info .exam-state,
section.modules section.terms ol .term .modules li.submodule a .info .exam-state,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .info .exam-state,
section.modules section.terms ol .term .modules li.optionalmodule a .info .exam-state,
section.modules section.terms ol .term .modules li.modulegroup a .info .exam-state,
main > .indentures .terms ol .term .modules li.module a .info .exam-state,
main > .indentures .terms ol .term .modules li.submodule a .info .exam-state,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .info .exam-state,
main > .indentures .terms ol .term .modules li.optionalmodule a .info .exam-state,
main > .indentures .terms ol .term .modules li.modulegroup a .info .exam-state {
  margin-left: auto;
  margin-right: 0.25em;
}
section.modules section.terms ol .term .modules li.module a .progress,
section.modules section.terms ol .term .modules li.submodule a .progress,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .progress,
section.modules section.terms ol .term .modules li.optionalmodule a .progress,
section.modules section.terms ol .term .modules li.modulegroup a .progress,
main > .indentures .terms ol .term .modules li.module a .progress,
main > .indentures .terms ol .term .modules li.submodule a .progress,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .progress,
main > .indentures .terms ol .term .modules li.optionalmodule a .progress,
main > .indentures .terms ol .term .modules li.modulegroup a .progress {
  width: calc(25% - 4em);
  margin-right: calc(15% + 4em);
  font-size: 0.8rem;
  grid-area: progress;
}
section.modules section.terms ol .term .modules li.module a .exam-duration,
section.modules section.terms ol .term .modules li.submodule a .exam-duration,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .exam-duration,
section.modules section.terms ol .term .modules li.optionalmodule a .exam-duration,
section.modules section.terms ol .term .modules li.modulegroup a .exam-duration,
section.modules section.terms ol .term .modules li.module a .exam-weight,
section.modules section.terms ol .term .modules li.submodule a .exam-weight,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .exam-weight,
section.modules section.terms ol .term .modules li.optionalmodule a .exam-weight,
section.modules section.terms ol .term .modules li.modulegroup a .exam-weight,
section.modules section.terms ol .term .modules li.module a .exam-state .label,
section.modules section.terms ol .term .modules li.submodule a .exam-state .label,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .exam-state .label,
section.modules section.terms ol .term .modules li.optionalmodule a .exam-state .label,
section.modules section.terms ol .term .modules li.modulegroup a .exam-state .label,
section.modules section.terms ol .term .modules li.module a .progress,
section.modules section.terms ol .term .modules li.submodule a .progress,
section.modules section.terms ol .term .modules li.modulesubjectchoice a .progress,
section.modules section.terms ol .term .modules li.optionalmodule a .progress,
section.modules section.terms ol .term .modules li.modulegroup a .progress,
main > .indentures .terms ol .term .modules li.module a .exam-duration,
main > .indentures .terms ol .term .modules li.submodule a .exam-duration,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .exam-duration,
main > .indentures .terms ol .term .modules li.optionalmodule a .exam-duration,
main > .indentures .terms ol .term .modules li.modulegroup a .exam-duration,
main > .indentures .terms ol .term .modules li.module a .exam-weight,
main > .indentures .terms ol .term .modules li.submodule a .exam-weight,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .exam-weight,
main > .indentures .terms ol .term .modules li.optionalmodule a .exam-weight,
main > .indentures .terms ol .term .modules li.modulegroup a .exam-weight,
main > .indentures .terms ol .term .modules li.module a .exam-state .label,
main > .indentures .terms ol .term .modules li.submodule a .exam-state .label,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .exam-state .label,
main > .indentures .terms ol .term .modules li.optionalmodule a .exam-state .label,
main > .indentures .terms ol .term .modules li.modulegroup a .exam-state .label,
main > .indentures .terms ol .term .modules li.module a .progress,
main > .indentures .terms ol .term .modules li.submodule a .progress,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a .progress,
main > .indentures .terms ol .term .modules li.optionalmodule a .progress,
main > .indentures .terms ol .term .modules li.modulegroup a .progress {
  display: none;
}
@media print {
  section.modules section.terms ol .term .modules li.module a .exam-duration,
  section.modules section.terms ol .term .modules li.submodule a .exam-duration,
  section.modules section.terms ol .term .modules li.modulesubjectchoice a .exam-duration,
  section.modules section.terms ol .term .modules li.optionalmodule a .exam-duration,
  section.modules section.terms ol .term .modules li.modulegroup a .exam-duration,
  section.modules section.terms ol .term .modules li.module a .exam-weight,
  section.modules section.terms ol .term .modules li.submodule a .exam-weight,
  section.modules section.terms ol .term .modules li.modulesubjectchoice a .exam-weight,
  section.modules section.terms ol .term .modules li.optionalmodule a .exam-weight,
  section.modules section.terms ol .term .modules li.modulegroup a .exam-weight,
  section.modules section.terms ol .term .modules li.module a .exam-state .label,
  section.modules section.terms ol .term .modules li.submodule a .exam-state .label,
  section.modules section.terms ol .term .modules li.modulesubjectchoice a .exam-state .label,
  section.modules section.terms ol .term .modules li.optionalmodule a .exam-state .label,
  section.modules section.terms ol .term .modules li.modulegroup a .exam-state .label,
  section.modules section.terms ol .term .modules li.module a .progress,
  section.modules section.terms ol .term .modules li.submodule a .progress,
  section.modules section.terms ol .term .modules li.modulesubjectchoice a .progress,
  section.modules section.terms ol .term .modules li.optionalmodule a .progress,
  section.modules section.terms ol .term .modules li.modulegroup a .progress,
  main > .indentures .terms ol .term .modules li.module a .exam-duration,
  main > .indentures .terms ol .term .modules li.submodule a .exam-duration,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice a .exam-duration,
  main > .indentures .terms ol .term .modules li.optionalmodule a .exam-duration,
  main > .indentures .terms ol .term .modules li.modulegroup a .exam-duration,
  main > .indentures .terms ol .term .modules li.module a .exam-weight,
  main > .indentures .terms ol .term .modules li.submodule a .exam-weight,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice a .exam-weight,
  main > .indentures .terms ol .term .modules li.optionalmodule a .exam-weight,
  main > .indentures .terms ol .term .modules li.modulegroup a .exam-weight,
  main > .indentures .terms ol .term .modules li.module a .exam-state .label,
  main > .indentures .terms ol .term .modules li.submodule a .exam-state .label,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice a .exam-state .label,
  main > .indentures .terms ol .term .modules li.optionalmodule a .exam-state .label,
  main > .indentures .terms ol .term .modules li.modulegroup a .exam-state .label,
  main > .indentures .terms ol .term .modules li.module a .progress,
  main > .indentures .terms ol .term .modules li.submodule a .progress,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice a .progress,
  main > .indentures .terms ol .term .modules li.optionalmodule a .progress,
  main > .indentures .terms ol .term .modules li.modulegroup a .progress {
    display: block;
  }
}
section.modules section.terms ol .term .modules li.module a::after,
section.modules section.terms ol .term .modules li.submodule a::after,
section.modules section.terms ol .term .modules li.modulesubjectchoice a::after,
section.modules section.terms ol .term .modules li.optionalmodule a::after,
section.modules section.terms ol .term .modules li.modulegroup a::after,
main > .indentures .terms ol .term .modules li.module a::after,
main > .indentures .terms ol .term .modules li.submodule a::after,
main > .indentures .terms ol .term .modules li.modulesubjectchoice a::after,
main > .indentures .terms ol .term .modules li.optionalmodule a::after,
main > .indentures .terms ol .term .modules li.modulegroup a::after {
  content: "\F140";
  display: block;
  color: #d8dce6;
  font-size: 1.5rem;
  font-weight: 300;
  -ms-flex-item-align: middle;
      align-self: middle;
  vertical-align: middle;
  grid-area: icon;
}
@media print {
  section.modules section.terms ol .term .modules li.module a::after,
  section.modules section.terms ol .term .modules li.submodule a::after,
  section.modules section.terms ol .term .modules li.modulesubjectchoice a::after,
  section.modules section.terms ol .term .modules li.optionalmodule a::after,
  section.modules section.terms ol .term .modules li.modulegroup a::after,
  main > .indentures .terms ol .term .modules li.module a::after,
  main > .indentures .terms ol .term .modules li.submodule a::after,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice a::after,
  main > .indentures .terms ol .term .modules li.optionalmodule a::after,
  main > .indentures .terms ol .term .modules li.modulegroup a::after {
    display: none;
  }
}
section.modules section.terms ol .term .modules li.module.optionalmodule > a,
section.modules section.terms ol .term .modules li.submodule.optionalmodule > a,
section.modules section.terms ol .term .modules li.modulesubjectchoice.optionalmodule > a,
section.modules section.terms ol .term .modules li.optionalmodule.optionalmodule > a,
section.modules section.terms ol .term .modules li.modulegroup.optionalmodule > a,
section.modules section.terms ol .term .modules li.module.modulegroup > a,
section.modules section.terms ol .term .modules li.submodule.modulegroup > a,
section.modules section.terms ol .term .modules li.modulesubjectchoice.modulegroup > a,
section.modules section.terms ol .term .modules li.optionalmodule.modulegroup > a,
section.modules section.terms ol .term .modules li.modulegroup.modulegroup > a,
main > .indentures .terms ol .term .modules li.module.optionalmodule > a,
main > .indentures .terms ol .term .modules li.submodule.optionalmodule > a,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.optionalmodule > a,
main > .indentures .terms ol .term .modules li.optionalmodule.optionalmodule > a,
main > .indentures .terms ol .term .modules li.modulegroup.optionalmodule > a,
main > .indentures .terms ol .term .modules li.module.modulegroup > a,
main > .indentures .terms ol .term .modules li.submodule.modulegroup > a,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.modulegroup > a,
main > .indentures .terms ol .term .modules li.optionalmodule.modulegroup > a,
main > .indentures .terms ol .term .modules li.modulegroup.modulegroup > a {
  grid-column: span 2;
}
section.modules section.terms ol .term .modules li.module.optionalmodule > ol,
section.modules section.terms ol .term .modules li.submodule.optionalmodule > ol,
section.modules section.terms ol .term .modules li.modulesubjectchoice.optionalmodule > ol,
section.modules section.terms ol .term .modules li.optionalmodule.optionalmodule > ol,
section.modules section.terms ol .term .modules li.modulegroup.optionalmodule > ol,
section.modules section.terms ol .term .modules li.module.modulegroup > ol,
section.modules section.terms ol .term .modules li.submodule.modulegroup > ol,
section.modules section.terms ol .term .modules li.modulesubjectchoice.modulegroup > ol,
section.modules section.terms ol .term .modules li.optionalmodule.modulegroup > ol,
section.modules section.terms ol .term .modules li.modulegroup.modulegroup > ol,
main > .indentures .terms ol .term .modules li.module.optionalmodule > ol,
main > .indentures .terms ol .term .modules li.submodule.optionalmodule > ol,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.optionalmodule > ol,
main > .indentures .terms ol .term .modules li.optionalmodule.optionalmodule > ol,
main > .indentures .terms ol .term .modules li.modulegroup.optionalmodule > ol,
main > .indentures .terms ol .term .modules li.module.modulegroup > ol,
main > .indentures .terms ol .term .modules li.submodule.modulegroup > ol,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.modulegroup > ol,
main > .indentures .terms ol .term .modules li.optionalmodule.modulegroup > ol,
main > .indentures .terms ol .term .modules li.modulegroup.modulegroup > ol {
  grid-column: span 2;
  margin: 0;
}
section.modules section.terms ol .term .modules li.module.optionalmodule > ol .submodule:last-child,
section.modules section.terms ol .term .modules li.submodule.optionalmodule > ol .submodule:last-child,
section.modules section.terms ol .term .modules li.modulesubjectchoice.optionalmodule > ol .submodule:last-child,
section.modules section.terms ol .term .modules li.optionalmodule.optionalmodule > ol .submodule:last-child,
section.modules section.terms ol .term .modules li.modulegroup.optionalmodule > ol .submodule:last-child,
section.modules section.terms ol .term .modules li.module.modulegroup > ol .submodule:last-child,
section.modules section.terms ol .term .modules li.submodule.modulegroup > ol .submodule:last-child,
section.modules section.terms ol .term .modules li.modulesubjectchoice.modulegroup > ol .submodule:last-child,
section.modules section.terms ol .term .modules li.optionalmodule.modulegroup > ol .submodule:last-child,
section.modules section.terms ol .term .modules li.modulegroup.modulegroup > ol .submodule:last-child,
main > .indentures .terms ol .term .modules li.module.optionalmodule > ol .submodule:last-child,
main > .indentures .terms ol .term .modules li.submodule.optionalmodule > ol .submodule:last-child,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.optionalmodule > ol .submodule:last-child,
main > .indentures .terms ol .term .modules li.optionalmodule.optionalmodule > ol .submodule:last-child,
main > .indentures .terms ol .term .modules li.modulegroup.optionalmodule > ol .submodule:last-child,
main > .indentures .terms ol .term .modules li.module.modulegroup > ol .submodule:last-child,
main > .indentures .terms ol .term .modules li.submodule.modulegroup > ol .submodule:last-child,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.modulegroup > ol .submodule:last-child,
main > .indentures .terms ol .term .modules li.optionalmodule.modulegroup > ol .submodule:last-child,
main > .indentures .terms ol .term .modules li.modulegroup.modulegroup > ol .submodule:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
section.modules section.terms ol .term .modules li.module > ol,
section.modules section.terms ol .term .modules li.submodule > ol,
section.modules section.terms ol .term .modules li.modulesubjectchoice > ol,
section.modules section.terms ol .term .modules li.optionalmodule > ol,
section.modules section.terms ol .term .modules li.modulegroup > ol,
main > .indentures .terms ol .term .modules li.module > ol,
main > .indentures .terms ol .term .modules li.submodule > ol,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol,
main > .indentures .terms ol .term .modules li.optionalmodule > ol,
main > .indentures .terms ol .term .modules li.modulegroup > ol {
  display: none;
  border-top: 1px solid #d8dce6;
  margin: 3em 0 2em;
  width: 50%;
  float: left;
  grid-column: 1;
}
@supports (display: grid) {
  section.modules section.terms ol .term .modules li.module > ol,
  section.modules section.terms ol .term .modules li.submodule > ol,
  section.modules section.terms ol .term .modules li.modulesubjectchoice > ol,
  section.modules section.terms ol .term .modules li.optionalmodule > ol,
  section.modules section.terms ol .term .modules li.modulegroup > ol,
  main > .indentures .terms ol .term .modules li.module > ol,
  main > .indentures .terms ol .term .modules li.submodule > ol,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol,
  main > .indentures .terms ol .term .modules li.optionalmodule > ol,
  main > .indentures .terms ol .term .modules li.modulegroup > ol {
    width: auto;
  }
}
@media print {
  section.modules section.terms ol .term .modules li.module > ol,
  section.modules section.terms ol .term .modules li.submodule > ol,
  section.modules section.terms ol .term .modules li.modulesubjectchoice > ol,
  section.modules section.terms ol .term .modules li.optionalmodule > ol,
  section.modules section.terms ol .term .modules li.modulegroup > ol,
  main > .indentures .terms ol .term .modules li.module > ol,
  main > .indentures .terms ol .term .modules li.submodule > ol,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol,
  main > .indentures .terms ol .term .modules li.optionalmodule > ol,
  main > .indentures .terms ol .term .modules li.modulegroup > ol {
    display: block;
  }
}
section.modules section.terms ol .term .modules li.module > ol li.event,
section.modules section.terms ol .term .modules li.submodule > ol li.event,
section.modules section.terms ol .term .modules li.modulesubjectchoice > ol li.event,
section.modules section.terms ol .term .modules li.optionalmodule > ol li.event,
section.modules section.terms ol .term .modules li.modulegroup > ol li.event,
section.modules section.terms ol .term .modules li.module > ol li.subevent,
section.modules section.terms ol .term .modules li.submodule > ol li.subevent,
section.modules section.terms ol .term .modules li.modulesubjectchoice > ol li.subevent,
section.modules section.terms ol .term .modules li.optionalmodule > ol li.subevent,
section.modules section.terms ol .term .modules li.modulegroup > ol li.subevent,
main > .indentures .terms ol .term .modules li.module > ol li.event,
main > .indentures .terms ol .term .modules li.submodule > ol li.event,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol li.event,
main > .indentures .terms ol .term .modules li.optionalmodule > ol li.event,
main > .indentures .terms ol .term .modules li.modulegroup > ol li.event,
main > .indentures .terms ol .term .modules li.module > ol li.subevent,
main > .indentures .terms ol .term .modules li.submodule > ol li.subevent,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol li.subevent,
main > .indentures .terms ol .term .modules li.optionalmodule > ol li.subevent,
main > .indentures .terms ol .term .modules li.modulegroup > ol li.subevent {
  border-bottom-color: #d8dce6;
}
section.modules section.terms ol .term .modules li.module > ol li.event a .name,
section.modules section.terms ol .term .modules li.submodule > ol li.event a .name,
section.modules section.terms ol .term .modules li.modulesubjectchoice > ol li.event a .name,
section.modules section.terms ol .term .modules li.optionalmodule > ol li.event a .name,
section.modules section.terms ol .term .modules li.modulegroup > ol li.event a .name,
section.modules section.terms ol .term .modules li.module > ol li.subevent a .name,
section.modules section.terms ol .term .modules li.submodule > ol li.subevent a .name,
section.modules section.terms ol .term .modules li.modulesubjectchoice > ol li.subevent a .name,
section.modules section.terms ol .term .modules li.optionalmodule > ol li.subevent a .name,
section.modules section.terms ol .term .modules li.modulegroup > ol li.subevent a .name,
main > .indentures .terms ol .term .modules li.module > ol li.event a .name,
main > .indentures .terms ol .term .modules li.submodule > ol li.event a .name,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol li.event a .name,
main > .indentures .terms ol .term .modules li.optionalmodule > ol li.event a .name,
main > .indentures .terms ol .term .modules li.modulegroup > ol li.event a .name,
main > .indentures .terms ol .term .modules li.module > ol li.subevent a .name,
main > .indentures .terms ol .term .modules li.submodule > ol li.subevent a .name,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol li.subevent a .name,
main > .indentures .terms ol .term .modules li.optionalmodule > ol li.subevent a .name,
main > .indentures .terms ol .term .modules li.modulegroup > ol li.subevent a .name {
  width: auto;
  font-size: 1rem;
}
section.modules section.terms ol .term .modules li.module > ol li.event a .info,
section.modules section.terms ol .term .modules li.submodule > ol li.event a .info,
section.modules section.terms ol .term .modules li.modulesubjectchoice > ol li.event a .info,
section.modules section.terms ol .term .modules li.optionalmodule > ol li.event a .info,
section.modules section.terms ol .term .modules li.modulegroup > ol li.event a .info,
section.modules section.terms ol .term .modules li.module > ol li.subevent a .info,
section.modules section.terms ol .term .modules li.submodule > ol li.subevent a .info,
section.modules section.terms ol .term .modules li.modulesubjectchoice > ol li.subevent a .info,
section.modules section.terms ol .term .modules li.optionalmodule > ol li.subevent a .info,
section.modules section.terms ol .term .modules li.modulegroup > ol li.subevent a .info,
main > .indentures .terms ol .term .modules li.module > ol li.event a .info,
main > .indentures .terms ol .term .modules li.submodule > ol li.event a .info,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol li.event a .info,
main > .indentures .terms ol .term .modules li.optionalmodule > ol li.event a .info,
main > .indentures .terms ol .term .modules li.modulegroup > ol li.event a .info,
main > .indentures .terms ol .term .modules li.module > ol li.subevent a .info,
main > .indentures .terms ol .term .modules li.submodule > ol li.subevent a .info,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol li.subevent a .info,
main > .indentures .terms ol .term .modules li.optionalmodule > ol li.subevent a .info,
main > .indentures .terms ol .term .modules li.modulegroup > ol li.subevent a .info {
  width: auto;
}
section.modules section.terms ol .term .modules li.module > ol li.event a::after,
section.modules section.terms ol .term .modules li.submodule > ol li.event a::after,
section.modules section.terms ol .term .modules li.modulesubjectchoice > ol li.event a::after,
section.modules section.terms ol .term .modules li.optionalmodule > ol li.event a::after,
section.modules section.terms ol .term .modules li.modulegroup > ol li.event a::after,
section.modules section.terms ol .term .modules li.module > ol li.subevent a::after,
section.modules section.terms ol .term .modules li.submodule > ol li.subevent a::after,
section.modules section.terms ol .term .modules li.modulesubjectchoice > ol li.subevent a::after,
section.modules section.terms ol .term .modules li.optionalmodule > ol li.subevent a::after,
section.modules section.terms ol .term .modules li.modulegroup > ol li.subevent a::after,
main > .indentures .terms ol .term .modules li.module > ol li.event a::after,
main > .indentures .terms ol .term .modules li.submodule > ol li.event a::after,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol li.event a::after,
main > .indentures .terms ol .term .modules li.optionalmodule > ol li.event a::after,
main > .indentures .terms ol .term .modules li.modulegroup > ol li.event a::after,
main > .indentures .terms ol .term .modules li.module > ol li.subevent a::after,
main > .indentures .terms ol .term .modules li.submodule > ol li.subevent a::after,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol li.subevent a::after,
main > .indentures .terms ol .term .modules li.optionalmodule > ol li.subevent a::after,
main > .indentures .terms ol .term .modules li.modulegroup > ol li.subevent a::after {
  content: "\F142";
  font-size: 1.2rem;
}
@media only screen and (max-width: 640px) {
  section.modules section.terms ol .term .modules li.module > ol li.event a::after,
  section.modules section.terms ol .term .modules li.submodule > ol li.event a::after,
  section.modules section.terms ol .term .modules li.modulesubjectchoice > ol li.event a::after,
  section.modules section.terms ol .term .modules li.optionalmodule > ol li.event a::after,
  section.modules section.terms ol .term .modules li.modulegroup > ol li.event a::after,
  section.modules section.terms ol .term .modules li.module > ol li.subevent a::after,
  section.modules section.terms ol .term .modules li.submodule > ol li.subevent a::after,
  section.modules section.terms ol .term .modules li.modulesubjectchoice > ol li.subevent a::after,
  section.modules section.terms ol .term .modules li.optionalmodule > ol li.subevent a::after,
  section.modules section.terms ol .term .modules li.modulegroup > ol li.subevent a::after,
  main > .indentures .terms ol .term .modules li.module > ol li.event a::after,
  main > .indentures .terms ol .term .modules li.submodule > ol li.event a::after,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol li.event a::after,
  main > .indentures .terms ol .term .modules li.optionalmodule > ol li.event a::after,
  main > .indentures .terms ol .term .modules li.modulegroup > ol li.event a::after,
  main > .indentures .terms ol .term .modules li.module > ol li.subevent a::after,
  main > .indentures .terms ol .term .modules li.submodule > ol li.subevent a::after,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol li.subevent a::after,
  main > .indentures .terms ol .term .modules li.optionalmodule > ol li.subevent a::after,
  main > .indentures .terms ol .term .modules li.modulegroup > ol li.subevent a::after {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  section.modules section.terms ol .term .modules li.module > ol,
  section.modules section.terms ol .term .modules li.submodule > ol,
  section.modules section.terms ol .term .modules li.modulesubjectchoice > ol,
  section.modules section.terms ol .term .modules li.optionalmodule > ol,
  section.modules section.terms ol .term .modules li.modulegroup > ol,
  main > .indentures .terms ol .term .modules li.module > ol,
  main > .indentures .terms ol .term .modules li.submodule > ol,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice > ol,
  main > .indentures .terms ol .term .modules li.optionalmodule > ol,
  main > .indentures .terms ol .term .modules li.modulegroup > ol {
    width: 100%;
    float: none;
  }
}
section.modules section.terms ol .term .modules li.module > section.downloads,
section.modules section.terms ol .term .modules li.submodule > section.downloads,
section.modules section.terms ol .term .modules li.modulesubjectchoice > section.downloads,
section.modules section.terms ol .term .modules li.optionalmodule > section.downloads,
section.modules section.terms ol .term .modules li.modulegroup > section.downloads,
main > .indentures .terms ol .term .modules li.module > section.downloads,
main > .indentures .terms ol .term .modules li.submodule > section.downloads,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > section.downloads,
main > .indentures .terms ol .term .modules li.optionalmodule > section.downloads,
main > .indentures .terms ol .term .modules li.modulegroup > section.downloads {
  display: none;
  grid-column: 2;
}
@supports (display: grid) {
  section.modules section.terms ol .term .modules li.module > section.downloads,
  section.modules section.terms ol .term .modules li.submodule > section.downloads,
  section.modules section.terms ol .term .modules li.modulesubjectchoice > section.downloads,
  section.modules section.terms ol .term .modules li.optionalmodule > section.downloads,
  section.modules section.terms ol .term .modules li.modulegroup > section.downloads,
  main > .indentures .terms ol .term .modules li.module > section.downloads,
  main > .indentures .terms ol .term .modules li.submodule > section.downloads,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice > section.downloads,
  main > .indentures .terms ol .term .modules li.optionalmodule > section.downloads,
  main > .indentures .terms ol .term .modules li.modulegroup > section.downloads {
    width: auto;
  }
}
section.modules section.terms ol .term .modules li.module > section.downloads a:not(.blackboard)::after,
section.modules section.terms ol .term .modules li.submodule > section.downloads a:not(.blackboard)::after,
section.modules section.terms ol .term .modules li.modulesubjectchoice > section.downloads a:not(.blackboard)::after,
section.modules section.terms ol .term .modules li.optionalmodule > section.downloads a:not(.blackboard)::after,
section.modules section.terms ol .term .modules li.modulegroup > section.downloads a:not(.blackboard)::after,
main > .indentures .terms ol .term .modules li.module > section.downloads a:not(.blackboard)::after,
main > .indentures .terms ol .term .modules li.submodule > section.downloads a:not(.blackboard)::after,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > section.downloads a:not(.blackboard)::after,
main > .indentures .terms ol .term .modules li.optionalmodule > section.downloads a:not(.blackboard)::after,
main > .indentures .terms ol .term .modules li.modulegroup > section.downloads a:not(.blackboard)::after {
  display: none;
}
section.modules section.terms ol .term .modules li.module > section.downloads li,
section.modules section.terms ol .term .modules li.submodule > section.downloads li,
section.modules section.terms ol .term .modules li.modulesubjectchoice > section.downloads li,
section.modules section.terms ol .term .modules li.optionalmodule > section.downloads li,
section.modules section.terms ol .term .modules li.modulegroup > section.downloads li,
main > .indentures .terms ol .term .modules li.module > section.downloads li,
main > .indentures .terms ol .term .modules li.submodule > section.downloads li,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > section.downloads li,
main > .indentures .terms ol .term .modules li.optionalmodule > section.downloads li,
main > .indentures .terms ol .term .modules li.modulegroup > section.downloads li {
  border-bottom-color: #d8dce6;
}
section.modules section.terms ol .term .modules li.module > .buttons,
section.modules section.terms ol .term .modules li.submodule > .buttons,
section.modules section.terms ol .term .modules li.modulesubjectchoice > .buttons,
section.modules section.terms ol .term .modules li.optionalmodule > .buttons,
section.modules section.terms ol .term .modules li.modulegroup > .buttons,
main > .indentures .terms ol .term .modules li.module > .buttons,
main > .indentures .terms ol .term .modules li.submodule > .buttons,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > .buttons,
main > .indentures .terms ol .term .modules li.optionalmodule > .buttons,
main > .indentures .terms ol .term .modules li.modulegroup > .buttons {
  display: none;
  float: left;
  grid-column: 1;
  grid-row: 2;
  margin: 1em 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
section.modules section.terms ol .term .modules li.module > .buttons .button,
section.modules section.terms ol .term .modules li.submodule > .buttons .button,
section.modules section.terms ol .term .modules li.modulesubjectchoice > .buttons .button,
section.modules section.terms ol .term .modules li.optionalmodule > .buttons .button,
section.modules section.terms ol .term .modules li.modulegroup > .buttons .button,
main > .indentures .terms ol .term .modules li.module > .buttons .button,
main > .indentures .terms ol .term .modules li.submodule > .buttons .button,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > .buttons .button,
main > .indentures .terms ol .term .modules li.optionalmodule > .buttons .button,
main > .indentures .terms ol .term .modules li.modulegroup > .buttons .button {
  color: #fff;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
section.modules section.terms ol .term .modules li.module > .buttons .button::after,
section.modules section.terms ol .term .modules li.submodule > .buttons .button::after,
section.modules section.terms ol .term .modules li.modulesubjectchoice > .buttons .button::after,
section.modules section.terms ol .term .modules li.optionalmodule > .buttons .button::after,
section.modules section.terms ol .term .modules li.modulegroup > .buttons .button::after,
main > .indentures .terms ol .term .modules li.module > .buttons .button::after,
main > .indentures .terms ol .term .modules li.submodule > .buttons .button::after,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > .buttons .button::after,
main > .indentures .terms ol .term .modules li.optionalmodule > .buttons .button::after,
main > .indentures .terms ol .term .modules li.modulegroup > .buttons .button::after {
  display: none;
}
section.modules section.terms ol .term .modules li.module > .buttons .button.hidden,
section.modules section.terms ol .term .modules li.submodule > .buttons .button.hidden,
section.modules section.terms ol .term .modules li.modulesubjectchoice > .buttons .button.hidden,
section.modules section.terms ol .term .modules li.optionalmodule > .buttons .button.hidden,
section.modules section.terms ol .term .modules li.modulegroup > .buttons .button.hidden,
main > .indentures .terms ol .term .modules li.module > .buttons .button.hidden,
main > .indentures .terms ol .term .modules li.submodule > .buttons .button.hidden,
main > .indentures .terms ol .term .modules li.modulesubjectchoice > .buttons .button.hidden,
main > .indentures .terms ol .term .modules li.optionalmodule > .buttons .button.hidden,
main > .indentures .terms ol .term .modules li.modulegroup > .buttons .button.hidden {
  display: none;
}
section.modules section.terms ol .term .modules li.module.open > ol,
section.modules section.terms ol .term .modules li.submodule.open > ol,
section.modules section.terms ol .term .modules li.modulesubjectchoice.open > ol,
section.modules section.terms ol .term .modules li.optionalmodule.open > ol,
section.modules section.terms ol .term .modules li.modulegroup.open > ol,
main > .indentures .terms ol .term .modules li.module.open > ol,
main > .indentures .terms ol .term .modules li.submodule.open > ol,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > ol,
main > .indentures .terms ol .term .modules li.optionalmodule.open > ol,
main > .indentures .terms ol .term .modules li.modulegroup.open > ol {
  display: block;
}
section.modules section.terms ol .term .modules li.module.open > ol .exam-state .label,
section.modules section.terms ol .term .modules li.submodule.open > ol .exam-state .label,
section.modules section.terms ol .term .modules li.modulesubjectchoice.open > ol .exam-state .label,
section.modules section.terms ol .term .modules li.optionalmodule.open > ol .exam-state .label,
section.modules section.terms ol .term .modules li.modulegroup.open > ol .exam-state .label,
main > .indentures .terms ol .term .modules li.module.open > ol .exam-state .label,
main > .indentures .terms ol .term .modules li.submodule.open > ol .exam-state .label,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > ol .exam-state .label,
main > .indentures .terms ol .term .modules li.optionalmodule.open > ol .exam-state .label,
main > .indentures .terms ol .term .modules li.modulegroup.open > ol .exam-state .label {
  display: none;
}
section.modules section.terms ol .term .modules li.module.open > .buttons,
section.modules section.terms ol .term .modules li.submodule.open > .buttons,
section.modules section.terms ol .term .modules li.modulesubjectchoice.open > .buttons,
section.modules section.terms ol .term .modules li.optionalmodule.open > .buttons,
section.modules section.terms ol .term .modules li.modulegroup.open > .buttons,
main > .indentures .terms ol .term .modules li.module.open > .buttons,
main > .indentures .terms ol .term .modules li.submodule.open > .buttons,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > .buttons,
main > .indentures .terms ol .term .modules li.optionalmodule.open > .buttons,
main > .indentures .terms ol .term .modules li.modulegroup.open > .buttons {
  display: block;
}
section.modules section.terms ol .term .modules li.module.open > a .name,
section.modules section.terms ol .term .modules li.submodule.open > a .name,
section.modules section.terms ol .term .modules li.modulesubjectchoice.open > a .name,
section.modules section.terms ol .term .modules li.optionalmodule.open > a .name,
section.modules section.terms ol .term .modules li.modulegroup.open > a .name,
main > .indentures .terms ol .term .modules li.module.open > a .name,
main > .indentures .terms ol .term .modules li.submodule.open > a .name,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > a .name,
main > .indentures .terms ol .term .modules li.optionalmodule.open > a .name,
main > .indentures .terms ol .term .modules li.modulegroup.open > a .name {
  width: 25%;
}
section.modules section.terms ol .term .modules li.module.open > a .exam-duration,
section.modules section.terms ol .term .modules li.submodule.open > a .exam-duration,
section.modules section.terms ol .term .modules li.modulesubjectchoice.open > a .exam-duration,
section.modules section.terms ol .term .modules li.optionalmodule.open > a .exam-duration,
section.modules section.terms ol .term .modules li.modulegroup.open > a .exam-duration,
section.modules section.terms ol .term .modules li.module.open > a .exam-weight,
section.modules section.terms ol .term .modules li.submodule.open > a .exam-weight,
section.modules section.terms ol .term .modules li.modulesubjectchoice.open > a .exam-weight,
section.modules section.terms ol .term .modules li.optionalmodule.open > a .exam-weight,
section.modules section.terms ol .term .modules li.modulegroup.open > a .exam-weight,
section.modules section.terms ol .term .modules li.module.open > a .progress,
section.modules section.terms ol .term .modules li.submodule.open > a .progress,
section.modules section.terms ol .term .modules li.modulesubjectchoice.open > a .progress,
section.modules section.terms ol .term .modules li.optionalmodule.open > a .progress,
section.modules section.terms ol .term .modules li.modulegroup.open > a .progress,
main > .indentures .terms ol .term .modules li.module.open > a .exam-duration,
main > .indentures .terms ol .term .modules li.submodule.open > a .exam-duration,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > a .exam-duration,
main > .indentures .terms ol .term .modules li.optionalmodule.open > a .exam-duration,
main > .indentures .terms ol .term .modules li.modulegroup.open > a .exam-duration,
main > .indentures .terms ol .term .modules li.module.open > a .exam-weight,
main > .indentures .terms ol .term .modules li.submodule.open > a .exam-weight,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > a .exam-weight,
main > .indentures .terms ol .term .modules li.optionalmodule.open > a .exam-weight,
main > .indentures .terms ol .term .modules li.modulegroup.open > a .exam-weight,
main > .indentures .terms ol .term .modules li.module.open > a .progress,
main > .indentures .terms ol .term .modules li.submodule.open > a .progress,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > a .progress,
main > .indentures .terms ol .term .modules li.optionalmodule.open > a .progress,
main > .indentures .terms ol .term .modules li.modulegroup.open > a .progress {
  display: block;
  white-space: nowrap;
}
section.modules section.terms ol .term .modules li.module.open > a .exam-state .label,
section.modules section.terms ol .term .modules li.submodule.open > a .exam-state .label,
section.modules section.terms ol .term .modules li.modulesubjectchoice.open > a .exam-state .label,
section.modules section.terms ol .term .modules li.optionalmodule.open > a .exam-state .label,
section.modules section.terms ol .term .modules li.modulegroup.open > a .exam-state .label,
main > .indentures .terms ol .term .modules li.module.open > a .exam-state .label,
main > .indentures .terms ol .term .modules li.submodule.open > a .exam-state .label,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > a .exam-state .label,
main > .indentures .terms ol .term .modules li.optionalmodule.open > a .exam-state .label,
main > .indentures .terms ol .term .modules li.modulegroup.open > a .exam-state .label {
  display: inline;
}
section.modules section.terms ol .term .modules li.module.open > section,
section.modules section.terms ol .term .modules li.submodule.open > section,
section.modules section.terms ol .term .modules li.modulesubjectchoice.open > section,
section.modules section.terms ol .term .modules li.optionalmodule.open > section,
section.modules section.terms ol .term .modules li.modulegroup.open > section,
main > .indentures .terms ol .term .modules li.module.open > section,
main > .indentures .terms ol .term .modules li.submodule.open > section,
main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > section,
main > .indentures .terms ol .term .modules li.optionalmodule.open > section,
main > .indentures .terms ol .term .modules li.modulegroup.open > section {
  display: block;
}
@media only screen and (max-width: 640px) {
  section.modules section.terms ol .term .modules li.module.open,
  section.modules section.terms ol .term .modules li.submodule.open,
  section.modules section.terms ol .term .modules li.modulesubjectchoice.open,
  section.modules section.terms ol .term .modules li.optionalmodule.open,
  section.modules section.terms ol .term .modules li.modulegroup.open,
  main > .indentures .terms ol .term .modules li.module.open,
  main > .indentures .terms ol .term .modules li.submodule.open,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice.open,
  main > .indentures .terms ol .term .modules li.optionalmodule.open,
  main > .indentures .terms ol .term .modules li.modulegroup.open {
    display: block;
  }
  section.modules section.terms ol .term .modules li.module.open > a,
  section.modules section.terms ol .term .modules li.submodule.open > a,
  section.modules section.terms ol .term .modules li.modulesubjectchoice.open > a,
  section.modules section.terms ol .term .modules li.optionalmodule.open > a,
  section.modules section.terms ol .term .modules li.modulegroup.open > a,
  main > .indentures .terms ol .term .modules li.module.open > a,
  main > .indentures .terms ol .term .modules li.submodule.open > a,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > a,
  main > .indentures .terms ol .term .modules li.optionalmodule.open > a,
  main > .indentures .terms ol .term .modules li.modulegroup.open > a {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr max-content min-content;
    grid-template-columns: 1fr -webkit-max-content -webkit-min-content;
    grid-template-columns: 1fr max-content min-content;
    grid-row-gap: 0.5em;
    grid-template-areas: "name name icon" "progress info info";
  }
  section.modules section.terms ol .term .modules li.module.open > a .name,
  section.modules section.terms ol .term .modules li.submodule.open > a .name,
  section.modules section.terms ol .term .modules li.modulesubjectchoice.open > a .name,
  section.modules section.terms ol .term .modules li.optionalmodule.open > a .name,
  section.modules section.terms ol .term .modules li.modulegroup.open > a .name,
  section.modules section.terms ol .term .modules li.module.open > a .info,
  section.modules section.terms ol .term .modules li.submodule.open > a .info,
  section.modules section.terms ol .term .modules li.modulesubjectchoice.open > a .info,
  section.modules section.terms ol .term .modules li.optionalmodule.open > a .info,
  section.modules section.terms ol .term .modules li.modulegroup.open > a .info,
  main > .indentures .terms ol .term .modules li.module.open > a .name,
  main > .indentures .terms ol .term .modules li.submodule.open > a .name,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > a .name,
  main > .indentures .terms ol .term .modules li.optionalmodule.open > a .name,
  main > .indentures .terms ol .term .modules li.modulegroup.open > a .name,
  main > .indentures .terms ol .term .modules li.module.open > a .info,
  main > .indentures .terms ol .term .modules li.submodule.open > a .info,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > a .info,
  main > .indentures .terms ol .term .modules li.optionalmodule.open > a .info,
  main > .indentures .terms ol .term .modules li.modulegroup.open > a .info {
    width: 100%;
  }
  section.modules section.terms ol .term .modules li.module.open > a .progress,
  section.modules section.terms ol .term .modules li.submodule.open > a .progress,
  section.modules section.terms ol .term .modules li.modulesubjectchoice.open > a .progress,
  section.modules section.terms ol .term .modules li.optionalmodule.open > a .progress,
  section.modules section.terms ol .term .modules li.modulegroup.open > a .progress,
  main > .indentures .terms ol .term .modules li.module.open > a .progress,
  main > .indentures .terms ol .term .modules li.submodule.open > a .progress,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > a .progress,
  main > .indentures .terms ol .term .modules li.optionalmodule.open > a .progress,
  main > .indentures .terms ol .term .modules li.modulegroup.open > a .progress {
    width: 50%;
  }
  section.modules section.terms ol .term .modules li.module.open > a .info .exam-state,
  section.modules section.terms ol .term .modules li.submodule.open > a .info .exam-state,
  section.modules section.terms ol .term .modules li.modulesubjectchoice.open > a .info .exam-state,
  section.modules section.terms ol .term .modules li.optionalmodule.open > a .info .exam-state,
  section.modules section.terms ol .term .modules li.modulegroup.open > a .info .exam-state,
  main > .indentures .terms ol .term .modules li.module.open > a .info .exam-state,
  main > .indentures .terms ol .term .modules li.submodule.open > a .info .exam-state,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > a .info .exam-state,
  main > .indentures .terms ol .term .modules li.optionalmodule.open > a .info .exam-state,
  main > .indentures .terms ol .term .modules li.modulegroup.open > a .info .exam-state {
    margin-right: 0;
  }
  section.modules section.terms ol .term .modules li.module.open > a .info .exam-state i,
  section.modules section.terms ol .term .modules li.submodule.open > a .info .exam-state i,
  section.modules section.terms ol .term .modules li.modulesubjectchoice.open > a .info .exam-state i,
  section.modules section.terms ol .term .modules li.optionalmodule.open > a .info .exam-state i,
  section.modules section.terms ol .term .modules li.modulegroup.open > a .info .exam-state i,
  main > .indentures .terms ol .term .modules li.module.open > a .info .exam-state i,
  main > .indentures .terms ol .term .modules li.submodule.open > a .info .exam-state i,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > a .info .exam-state i,
  main > .indentures .terms ol .term .modules li.optionalmodule.open > a .info .exam-state i,
  main > .indentures .terms ol .term .modules li.modulegroup.open > a .info .exam-state i {
    margin-right: 0.5em;
  }
  section.modules section.terms ol .term .modules li.module.open > .buttons,
  section.modules section.terms ol .term .modules li.submodule.open > .buttons,
  section.modules section.terms ol .term .modules li.modulesubjectchoice.open > .buttons,
  section.modules section.terms ol .term .modules li.optionalmodule.open > .buttons,
  section.modules section.terms ol .term .modules li.modulegroup.open > .buttons,
  main > .indentures .terms ol .term .modules li.module.open > .buttons,
  main > .indentures .terms ol .term .modules li.submodule.open > .buttons,
  main > .indentures .terms ol .term .modules li.modulesubjectchoice.open > .buttons,
  main > .indentures .terms ol .term .modules li.optionalmodule.open > .buttons,
  main > .indentures .terms ol .term .modules li.modulegroup.open > .buttons {
    float: none;
    width: 100%;
  }
}
section.modules section.event {
  clear: both;
}
section.modules section.event > h1,
section.modules section.event > h2,
section.modules section.event > h3 {
  font-size: 1.2rem;
  margin: 0;
  padding: 0.5em 0 0;
  cursor: pointer;
  line-height: initial;
}
section.modules section.event > h2 {
  font-weight: 300;
}
section.modules section.event > h1 {
  border-top: 1px solid #a4a8b3;
  margin: 0.5em 0;
}
section.modules section.event .info,
section.modules section.event .progress {
  float: left;
  clear: left;
  width: 25%;
}
@media only screen and (max-width: 640px) {
  section.modules section.event .info,
  section.modules section.event .progress {
    float: none;
    width: 100%;
  }
}
section.modules section.event .info {
  margin: 1em 0;
}
section.modules section.event .info p {
  margin: 0.5em 0;
}
section.modules section.event .downloads {
  width: 50%;
  margin-top: 1em;
}
@media only screen and (max-width: 640px) {
  section.modules section.event .downloads {
    width: 100%;
  }
}
section.modules section.downloads {
  margin: 3em 0 2em;
  width: 35%;
  float: right;
  clear: right;
}
section.modules section.downloads h1 {
  font-size: 1rem;
  margin: 0;
  font-weight: bold;
  padding: 0.5em 0;
  border-top: 1px solid #d8dce6;
  border-bottom: 1px solid #d8dce6;
  line-height: initial;
}
section.modules section.downloads ol {
  margin: 0;
}
section.modules section.downloads ol li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-bottom-color: #d8dce6;
  padding: 0;
}
section.modules section.downloads ol li a {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0.5em 0.5em 0.5em 0;
}
section.modules section.downloads ol li form.upload {
  margin: 0.5em 0 0.5em auto;
}
section.modules section.downloads ol li form.upload .button.upload {
  padding: 0.2em 0.5em;
}
section.modules section.downloads > a.blackboard {
  font-size: 1rem;
}
section.modules section.downloads > a.blackboard::after {
  content: "\F142" !important;
  font-size: 1.2rem !important;
  color: #000 !important;
  margin-left: 1em;
}
@media only screen and (max-width: 640px) {
  section.modules section.downloads > a.blackboard::after {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  section.modules section.downloads {
    float: none;
    width: 100%;
  }
}
.exam-registration > ul {
  list-style: none;
  margin: 1em 0;
  padding: 0;
  border-top: 1px solid #a4a8b3;
}
.exam-registration > ul > li {
  position: relative;
  display: block;
  padding: 1em 0;
  border-bottom: 1px solid #a4a8b3;
  cursor: pointer;
}
.exam-registration > ul > li::after {
  content: "\F140";
  display: block;
  color: #d8dce6;
  font-size: 1.5rem;
  font-weight: 300;
  -ms-flex-item-align: middle;
      align-self: middle;
  vertical-align: middle;
  margin-left: auto;
  position: absolute;
  right: 0;
  top: 1em;
}
@media print {
  .exam-registration > ul > li::after {
    display: none;
  }
}
.exam-registration > ul > li p {
  margin: 0;
}
.exam-registration > ul > li .date_begin .label {
  display: none;
}
.exam-registration > ul > li .date_begin .date,
.exam-registration > ul > li .date_begin .time {
  font-weight: bold;
}
.exam-registration > ul > li .deadline .label {
  display: inline;
}
.exam-registration > ul > li.open ul {
  display: block;
}
.exam-registration > ul > li ul {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
}
.exam-registration > ul > li ul li {
  display: block;
  margin: 0.5em 0;
  padding: 0;
}
.exam-registration > ul > li ul li a {
  display: block;
  border: 1px solid #d8dce6;
  padding: 0.5rem;
  color: #000;
  font-weight: bold;
}
.exam-type {
  margin-left: 1em;
  font-weight: 300;
}
section.modules.progress > .info .grade {
  visibility: visible;
}
section.modules.progress > .info form.print-transcript {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
section.modules.progress > .info .button.registrationinformation {
  display: none;
}
section.modules.progress section.terms ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(27rem, 1fr));
  grid-gap: 0 3rem;
}
section.modules.progress section.terms ol .term {
  margin: 0 0 3rem 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 30%;
          flex: 0 0 30%;
}
@media only screen and (min-width: 640px) and (max-width: 940px) {
  section.modules.progress section.terms ol .term {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 47%;
            flex: 0 0 47%;
  }
}
@media only screen and (max-width: 640px) {
  section.modules.progress section.terms ol .term {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
section.modules.progress section.terms ol .term > .name {
  cursor: auto;
  color: #fff;
  background: #474e65;
  padding: 0.5em;
}
section.modules.progress section.terms ol .term > .name::after {
  display: none;
}
section.modules.progress section.terms ol .term.ects-none > .name {
  background: #474e65;
}
section.modules.progress section.terms ol .term.ects-full > .name {
  background: #59b35e;
}
section.modules.progress section.terms ol .term.ects-part > .name {
  background: #ffb963;
}
section.modules.progress section.terms ol .term.failed > .name {
  background: #b71c22;
}
section.modules.progress section.terms ol .term .modules {
  display: block;
}
section.modules.progress section.terms ol .term .modules li.module,
section.modules.progress section.terms ol .term .modules li.submodule,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice,
section.modules.progress section.terms ol .term .modules li.optionalmodule,
section.modules.progress section.terms ol .term .modules li.modulegroup {
  display: block;
  padding: 0.5em 0;
}
section.modules.progress section.terms ol .term .modules li.module:last-child,
section.modules.progress section.terms ol .term .modules li.submodule:last-child,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice:last-child,
section.modules.progress section.terms ol .term .modules li.optionalmodule:last-child,
section.modules.progress section.terms ol .term .modules li.modulegroup:last-child {
  border-bottom: none;
}
section.modules.progress section.terms ol .term .modules li.module a,
section.modules.progress section.terms ol .term .modules li.submodule a,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice a,
section.modules.progress section.terms ol .term .modules li.optionalmodule a,
section.modules.progress section.terms ol .term .modules li.modulegroup a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: -ms-grid;
  display: grid;
  background: #ebedf2;
  color: #474e65;
  padding: 0.5em;
  margin: 0;
  grid-template-areas: "name grade" "ects arrow";
  -ms-grid-columns: 1fr auto;
  grid-template-columns: 1fr auto;
  -ms-grid-rows: auto auto;
}
section.modules.progress section.terms ol .term .modules li.module a::after,
section.modules.progress section.terms ol .term .modules li.submodule a::after,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice a::after,
section.modules.progress section.terms ol .term .modules li.optionalmodule a::after,
section.modules.progress section.terms ol .term .modules li.modulegroup a::after {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  grid-area: arrow;
  color: #474e65;
  text-align: right;
}
@media print {
  section.modules.progress section.terms ol .term .modules li.module a::after,
  section.modules.progress section.terms ol .term .modules li.submodule a::after,
  section.modules.progress section.terms ol .term .modules li.modulesubjectchoice a::after,
  section.modules.progress section.terms ol .term .modules li.optionalmodule a::after,
  section.modules.progress section.terms ol .term .modules li.modulegroup a::after {
    display: none;
  }
}
section.modules.progress section.terms ol .term .modules li.module a .name,
section.modules.progress section.terms ol .term .modules li.submodule a .name,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice a .name,
section.modules.progress section.terms ol .term .modules li.optionalmodule a .name,
section.modules.progress section.terms ol .term .modules li.modulegroup a .name {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: name;
  font-weight: bold;
}
section.modules.progress section.terms ol .term .modules li.module a .exam-grade,
section.modules.progress section.terms ol .term .modules li.submodule a .exam-grade,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice a .exam-grade,
section.modules.progress section.terms ol .term .modules li.optionalmodule a .exam-grade,
section.modules.progress section.terms ol .term .modules li.modulegroup a .exam-grade {
  display: block;
  float: right;
  font-weight: bold;
  margin: 0;
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: grade;
  text-align: right;
}
section.modules.progress section.terms ol .term .modules li.module a .ects,
section.modules.progress section.terms ol .term .modules li.submodule a .ects,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice a .ects,
section.modules.progress section.terms ol .term .modules li.optionalmodule a .ects,
section.modules.progress section.terms ol .term .modules li.modulegroup a .ects {
  display: block;
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: ects;
  margin: 0;
}
section.modules.progress section.terms ol .term .modules li.module a .info,
section.modules.progress section.terms ol .term .modules li.submodule a .info,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice a .info,
section.modules.progress section.terms ol .term .modules li.optionalmodule a .info,
section.modules.progress section.terms ol .term .modules li.modulegroup a .info {
  display: none;
}
section.modules.progress section.terms ol .term .modules li.module.open > a .name,
section.modules.progress section.terms ol .term .modules li.submodule.open > a .name,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice.open > a .name,
section.modules.progress section.terms ol .term .modules li.optionalmodule.open > a .name,
section.modules.progress section.terms ol .term .modules li.modulegroup.open > a .name {
  width: 100%;
}
section.modules.progress section.terms ol .term .modules li.module.open > a .progress,
section.modules.progress section.terms ol .term .modules li.submodule.open > a .progress,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice.open > a .progress,
section.modules.progress section.terms ol .term .modules li.optionalmodule.open > a .progress,
section.modules.progress section.terms ol .term .modules li.modulegroup.open > a .progress {
  display: none;
}
section.modules.progress section.terms ol .term .modules li.module.open .buttons,
section.modules.progress section.terms ol .term .modules li.submodule.open .buttons,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice.open .buttons,
section.modules.progress section.terms ol .term .modules li.optionalmodule.open .buttons,
section.modules.progress section.terms ol .term .modules li.modulegroup.open .buttons {
  display: none;
}
section.modules.progress section.terms ol .term .modules li.module.open ol,
section.modules.progress section.terms ol .term .modules li.submodule.open ol,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice.open ol,
section.modules.progress section.terms ol .term .modules li.optionalmodule.open ol,
section.modules.progress section.terms ol .term .modules li.modulegroup.open ol {
  background: #ebedf2;
  color: #474e65;
  width: 100%;
  float: none;
  margin: 0;
}
section.modules.progress section.terms ol .term .modules li.module.open ol .name,
section.modules.progress section.terms ol .term .modules li.submodule.open ol .name,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice.open ol .name,
section.modules.progress section.terms ol .term .modules li.optionalmodule.open ol .name,
section.modules.progress section.terms ol .term .modules li.modulegroup.open ol .name {
  font-weight: normal;
}
section.modules.progress section.terms ol .term .modules li.module.open ol a,
section.modules.progress section.terms ol .term .modules li.submodule.open ol a,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice.open ol a,
section.modules.progress section.terms ol .term .modules li.optionalmodule.open ol a,
section.modules.progress section.terms ol .term .modules li.modulegroup.open ol a {
  cursor: default;
}
section.modules.progress section.terms ol .term .modules li.module.open ol li:last-child,
section.modules.progress section.terms ol .term .modules li.submodule.open ol li:last-child,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice.open ol li:last-child,
section.modules.progress section.terms ol .term .modules li.optionalmodule.open ol li:last-child,
section.modules.progress section.terms ol .term .modules li.modulegroup.open ol li:last-child {
  border-bottom: none;
}
section.modules.progress section.terms ol .term .modules li.module.open .downloads,
section.modules.progress section.terms ol .term .modules li.submodule.open .downloads,
section.modules.progress section.terms ol .term .modules li.modulesubjectchoice.open .downloads,
section.modules.progress section.terms ol .term .modules li.optionalmodule.open .downloads,
section.modules.progress section.terms ol .term .modules li.modulegroup.open .downloads {
  display: none;
}
section.modules.progress section.terms ol .term .modules li.ects-part > a,
section.modules.progress section.terms ol .term .modules li.ects-part > ol {
  background: #FFF3E3;
  color: #ffb963;
}
section.modules.progress section.terms ol .term .modules li.ects-part > a::after,
section.modules.progress section.terms ol .term .modules li.ects-part > ol::after {
  color: #ffb963;
}
section.modules.progress section.terms ol .term .modules li.ects-full > a,
section.modules.progress section.terms ol .term .modules li.ects-full > ol {
  background: #D6F3D7;
  color: #59b35e;
}
section.modules.progress section.terms ol .term .modules li.ects-full > a::after,
section.modules.progress section.terms ol .term .modules li.ects-full > ol::after {
  color: #59b35e;
}
section.modules.progress section.terms ol .term .modules li.ects-none > a,
section.modules.progress section.terms ol .term .modules li.ects-none > ol {
  background: #ebedf2;
  color: #474e65;
}
section.modules.progress section.terms ol .term .modules li.ects-none > a::after,
section.modules.progress section.terms ol .term .modules li.ects-none > ol::after {
  color: #474e65;
}
section.modules.progress section.terms ol .term .modules li.failed > a,
section.modules.progress section.terms ol .term .modules li.failed > ol {
  background: #feefec;
  color: #b71c22;
}
section.modules.progress section.terms ol .term .modules li.failed > a::after,
section.modules.progress section.terms ol .term .modules li.failed > ol::after {
  color: #b71c22;
}
i.exam-state {
  position: relative;
  display: inline-block;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background: #fff;
  margin-bottom: -1px;
  /* === Issue #22: Status freiwillige Zusatzleistung (auskommentieren = altes Verhalten) === */
  /* === Ende Issue #22 === */
}
i.exam-state.error {
  background: #b71c22;
}
i.exam-state.pending {
  background: #ffb963;
}
i.exam-state.disabled {
  background: #a4a8b3;
}
i.exam-state.repeated {
  background: #fff;
}
i.exam-state.passed {
  background: #59b35e;
}
i.exam-state.not_passed {
  background: #fff873;
}
i.exam-state.supplementary {
  background: #2F80ED;
}
i.exam-state.undefined {
  display: none;
}
@media print {
  i.exam-state {
    display: inline;
    width: auto;
    height: auto;
    background: none !important;
    border-radius: none;
  }
}
/* === Issue #22: Badge "Zusatzleistung" (auskommentieren = altes Verhalten) === */
.supplementary-badge {
  display: inline-block;
  margin-left: 0.5rem;
  padding: 0 0.4rem;
  border-radius: 0.2rem;
  background: #EAF2FC;
  color: #1B5FB0;
  font-size: 0.75rem;
  line-height: 1.5;
  vertical-align: middle;
  white-space: nowrap;
}
/* === Ende Issue #22 === */
section.support section {
  max-width: 20em;
  float: left;
  margin-right: 5em;
}
section.support section:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 640px) {
  section.support section {
    margin-right: 0;
  }
}
section.support section a {
  display: block;
}
section.trade-journals .journals {
  list-style: none;
  padding: 0;
}
section.trade-journals .journals .journal {
  margin: 0.5em 0;
  list-style: none;
}
section.trade-journals .journals .journal a {
  font-size: 1.2rem;
}
section.trade-journals .journals .journal a::before {
  content: "\F337";
  margin-right: 0.5em;
}
#user_settings {
  display: -ms-inline-grid;
  display: inline-grid;
  -ms-grid-columns: auto 1fr auto;
  grid-template-columns: auto 1fr auto;
  grid-template-areas: "image name ." "info info ." "address address ." "buttons buttons enrolment";
  grid-column-gap: 2em;
  padding: 2em;
}
@media only screen and (max-width: 640px) {
  #user_settings {
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    grid-template-areas: "image name" "info info" "address address" "buttons buttons" "enrolment enrolment";
    width: 100%;
  }
}
#user_settings fieldset {
  border: none;
  width: 100%;
}
#user_settings fieldset legend,
#user_settings fieldset p {
  padding: 0.5em 0;
  margin: 0;
  grid-template-columns: 1fr 2fr;
}
#user_settings input[type=file] {
  display: none;
}
#user_settings .image {
  -ms-grid-column: 1;
  -ms-grid-row: 1;
  grid-area: image;
}
#user_settings .image p {
  display: block;
}
#user_settings .image p label {
  width: auto;
  position: relative;
}
#user_settings .image p label .label {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  background: rgba(89, 179, 94, 0.8);
  color: #fff;
  font-weight: bold;
}
#user_settings .image p label img {
  display: block;
  max-width: 95px;
  max-height: 95px;
  border-radius: 50%;
}
#user_settings .name {
  -ms-grid-column: 2;
  -ms-grid-row: 1;
  grid-area: name;
}
#user_settings .info {
  -ms-grid-column: 1;
  -ms-grid-row: 2;
  -ms-grid-column-span: 2;
  grid-area: info;
}
#user_settings .address {
  -ms-grid-column: 1;
  -ms-grid-row: 3;
  -ms-grid-column-span: 2;
  grid-area: address;
}
#user_settings .buttons {
  -ms-grid-column: 1;
  -ms-grid-row: 4;
  -ms-grid-column-span: 2;
  grid-area: buttons;
}
#user_settings .buttons [type=submit] {
  display: none;
}
#user_settings .enrolment {
  -ms-grid-column: 3;
  -ms-grid-row: 4;
  grid-area: enrolment;
}
#user_settings.enabled .image label {
  cursor: pointer;
}
#user_settings.enabled .image label .label {
  display: block;
}
#user_settings.enabled .buttons [type=button] {
  display: none;
}
#user_settings.enabled .buttons [type=submit] {
  display: inline-block;
}
.welcome {
  max-width: 900px;
}
.welcome .star {
  float: right;
}
.welcome h2,
.welcome h3 {
  font-size: 1.5rem;
}
.welcome h2 {
  clear: both;
}
.welcome h3 {
  margin-bottom: 0;
}
.welcome h3 + p {
  margin-top: 0;
}
.welcome ol {
  counter-reset: welcome-counter;
  list-style: none;
  padding-left: 6rem;
}
.welcome ol li {
  position: relative;
  margin: 0 0 1em 0;
  counter-increment: welcome-counter;
}
.welcome ol li::before {
  position: absolute;
  left: -6rem;
  top: 0;
  content: counter(welcome-counter);
  color: #fff;
  background: #254186;
  font-weight: bold;
  font-size: 3rem;
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
  text-align: center;
  line-height: 5rem;
}
.welcome form {
  margin-top: 2em;
}
.welcome form fieldset {
  display: block;
}
.welcome form fieldset p {
  display: block;
}
.welcome form fieldset p label {
  width: auto;
}
