/* font */

@font-face {
    font-family: FiraCode;
    src: url(fonts/FiraCode-Light.woff2);
    font-style: normal;
    font-weight: 300;
}

@font-face {
    font-family: FiraCode;
    src: url(fonts/FiraCode-Regular.woff2);
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: FiraCode;
    src: url(fonts/FiraCode-Medium.woff2);
    font-style: normal;
    font-weight: 500;
}

@font-face {
    font-family: FiraCode;
    src: url(fonts/FiraCode-SemiBold.woff2);
    font-style: normal;
    font-weight: 600;
}

@font-face {
    font-family: FiraCode;
    src: url(fonts/FiraCode-Bold.woff2);
    font-style: normal;
    font-weight: 700;
}

body,
input,
select,
textarea,
button {
    font-family: FiraCode, monospace;
}

body {
    color: #ffffff;
    margin: 0;
    /*background-color: #353b43;*/
    background-color: #8887a2;
    background-image: linear-gradient(326deg, #9a78b7 0%, #8887a2 74%);
}

/* header */

.header {
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    position: sticky;
    height: 100px;
    width: calc(100vw - (100vw - 100%));
    /*background-color: #1d2024;*/
    background-color: rgba(30, 30, 63, 0.8);
    z-index: 100;
}

.nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 960px;
    font-family: FiraCode, monospace;
    /*background-color:blue;*/
}

.nav-logo {
    margin-right: auto;
    padding-left: 20px;
}

.nav-logo img {
    display: block;
    height: 100px;
}

#menu {
    margin-left: auto;
}

#menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
}

#menu li {
    display: inline-block;
}

#menu li hr {
    display: none;
}

#menu a {
    display: block;
    padding: 0 20px 0 0;
    color: white;
    text-decoration: none;
}

#menu a:hover {
    color: #929ea9;
}

#content {
    display: block;
    width: 960px;
    max-width: 100%;
    background-color: rgba(45, 43, 85, 0.8);
    padding: 3rem;
     margin: 15px auto 40px;
    /*margin: 15px 0 40px 0;*/
    filter: drop-shadow(5px 5px 15px);
    color: #ffffff;
    font-family: FiraCode, monospace;
}

#content h2 {
    font-family: FiraCode, monospace;
    font-size: 2.5em;
    color: #FFF;
}

#content h3 {
    font-family: FiraCode, monospace;
    font-size: 2em;
    color: #AA88EE;
}

#content h4 {
    font-family: FiraCode, monospace;
    color: #fff;
}

#content p,
td,
th,
figcaption {
    font-family: FiraCode, monospace;
    /*color: #929ea9;*/
    color: #fff;
    line-height: 1.8em;
    margin-bottom: 2em;
}

th {
    font-weight: bold;
    text-align: left;
}

td {
    padding-right: 2em;
}

#content a {
    font-family: FiraCode, monospace;
    color: #fff;
}

#content b {
    /*color: #929ea9;*/
    color: #ffffff;
    font-family: FiraCode, monospace;
}

#content ul {
    /*color: #929ea9;*/
    color: #ffffff;
    font-family: FiraCode, monospace;
    line-height: 1.4em;
}

#content li {
  margin-bottom: 1.4em;
}

#content a:hover {
    color: #138788;
}

.compo-planetarium ul {
    list-style: none;
}

.timetable {
    width: 100%;
    border-collapse: collapse;
    filter: drop-shadow(5px 5pdx 15px);
    font-family: FiraCode, monospace;
    color: #fff;
}

.timetable th,
.timetable td {
    padding: 0.8rem 1rem;
    text-align: left;
    color: #fff;
}

.timetable th {
    font-weight: bold;
    background-color: rgba(30, 30, 63, 0.8);
}

.timetable tr:nth-child(even) {
    background-color: rgba(255, 255, 255, 0.05);
}

.timetable tr:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.timetable a {
    color: #fff;
    text-decoration: none;
}

.timetable a:hover {
    color: #138788;
}

.timetable_eventtype_compo,
.timetable_eventtype_event,
.timetable_eventtype_seminar {
    font-weight: bold;
}

.elapsed {
    opacity: 0.5;
}

#content h2,
#content h3 {
    font-family: FiraCode, monospace;
}

#content section {
    margin-bottom: 4em;
}

/* login */

#login {
    margin: 15px 0 40px 0;
    font-family: FiraCode, monospace;
    color: white;
}

#login > div:first-child {
    text-align: center;
    margin-bottom: 1.5rem;
}

#login img {
    max-width: 400px;
    width: 100%;
    height: auto;
}

#login .auth-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1.5rem 0;
    color: white;
    font-size: 1.2em;
}

#login .auth-divider p {
    margin: 0;
    padding: 0 1rem;
}

#login form {
    max-width: 500px;
    margin: 0 auto;
}

#login label {
    color: white;
}

#login input[type=text],
#login input[type=password] {
    width: 100%;
    box-sizing: border-box;
    min-width: 0;
}

#login h3 {
    font-family: FiraCode, monospace;
    color: white;
    margin-bottom: 0.5rem;
}

#login p {
    color: white;
    opacity: 0.8;
}

#login .local-login h3,
#login .local-login p {
    text-align: center;
}

.local-register h3,
.local-register p {
    text-align: center;
}

.local-login {
    max-width: 500px;
    margin: 0 auto;
}

#loginForm,
#registerForm {
}

#footer {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    width: calc(100vw - (100vw - 100%));
    background-color: rgba(30, 30, 63, 0.8);
    z-index: 100;
    font-family: FiraCode, monospace;
    color: white;
}

#footer small {
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-logo {
    height: 28px;
    width: auto;
    vertical-align: middle;
    opacity: 0.9;
}
