* {
    margin: 0;
    padding: 0;
    box-sizing: none;
}

:root {
    --bg: red;
    --textcolor1: green;
    --textcolor2: orange;
    --textcolor3: yellow;
    --textcolor4: blue;
    
    --glass: rgba(255, 255, 255, 0.14);
    --glass-light: rgba(255, 255, 255, 0.12);
    --glass-border: rgba(255, 255, 255, 0.28);
    --glass-border-full: 1px solid rgba(255, 255, 255, 0.3);
    --glass-shadow: 0 15px 45px rgba(0, 0, 0, 0.3);
    --glass-border-content: 1px solid rgba(255, 255, 255, 0.22);
    --glass-content: rgba(255, 255, 255, 0.06);
    
    --text: #ffffff;
    --text-soft: rgba(255, 255, 255, 0.75);
    --shadow: 0 8px 32px rgba(0, 0, 0, 0.22);

    --border-radius1: 26px;
    --border-radius2: 16px;
}

body {
    background: url(wal1.jpg);
    background-size: cover;
    height: 100vh;
    overflow: hidden;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    user-select: none;
}

/* welcome */
.welcome, .overview {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: var(--border-radius1);
    z-index: 999;
    
    background: var(--glass);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border: var(--glass-border-full);
    box-shadow: var(--glass-shadow);
}

.welcome_content, .overview_content {
    margin-top: 0;
    padding: 30px;
    border-radius: var(--border-radius1);
    border: var(--glass-border-content);
    background: var(--glass-content);
}

.welcome_content h1 {
    color: var(--text);
}

.welcome_content p {
    color: var(--text-soft);
}

.welcomeheader, .overviewheader {
    width: 100%;
    height: 40px;
    border-radius: 16px 16px 0 0;
    display: flex;
    align-items: center;
    cursor: move;
}

/* window icons */
.close_icon, .mini_icon, .full_icon {
    cursor: pointer;
    width: 20px;
    height: 20px;
    border-radius: 20px;
}

.close_icon {
    background: red;
    margin-left: 20px;
}

.mini_icon {
    background: yellow;
    margin-left: 4px;
}

.full_icon {
    background: green;
    margin-left: 4px;
}

/* top nav bar */
.top_nav_bar {
    background-color: var(--glass);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid var(--glass-border);
    box-shadow: var(--shadow);

    width: 80%;
    height: 50px;
    position: absolute;
    left: 50%;
    top: 20px;
    transform: translateX(-50%);
    border-radius: var(--border-radius2);
    display: flex;
    align-items: center;
    padding-left: 20px;
    padding-right: 20px;
    justify-content: space-between;
}

.top_nav_bar p {
    font-size: 18px;
    font-weight: 600;
}

/* bottom nav bar */
.bottom_nav_bar {
    background: transparent;
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    display: flex;
    color: rgba(255, 255, 255, 0.85);
}

.bottom_nav_bar_left {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: var(--border-radius2);

    background: var(--glass);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid var(--glass-border);
    box-shadow: var(--shadow);
}

.bottom_nav_bar_lines_left {
    font-size: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#bottom_nav_bar_line_left {
    width: 20px;
    height: 4px;
    margin-top: 3px;
    background-color: var(--text-soft);
    border-radius: 10px;
}

.bottom_nav_texts_left {
    display: flex;
    align-items: center;
    justify-content: space-around;
    width: 100%;
    font-weight: 600;
}

.bottom_nav_bar_right {
    width: 62%;
    height: 50px;
    right: 0;
    position: absolute;
    border-radius: var(--border-radius2);
    display: none;
    align-items: center;
    justify-content: center;
    
    background: var(--glass);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid var(--glass-border);
    box-shadow: var(--shadow);
}

/* icons */
.icons {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 80vh;
    width: calc(100% - 40px);
}

.icon {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 30px;
    padding: 10px;
    border-radius: 18px;
    color: white;
    font-size: 30px;

    background: var(--glass);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: var(--glass-border-full);
    box-shadow: var(--shadow);

    transition: all 0.25s ease;
    visibility: hidden;
}

.icon:hover {
    background: rgba(255, 255, 255, 0.24);
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}

/* overview */
.overview {
    display: none;
    width: 40%;
}

.heading {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: var(--text);
    font-weight: 600;
    letter-spacing: 1px;
}

.overview_sections {
    margin: -20px;
    display: flex;
    justify-content: space-between;
}

.overview_departure, .overview_arrival {
    height: 40px;
    width: 48%;
    border-radius: var(--border-radius1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    color: var(--text);
    border: 1px solid var(--glass-light);
    cursor: pointer;
}

.overview_departure {
    border: 1px solid #d5d6d7;
}

.overview_arrival:hover , .overview_departure:hover {
    transition: 0.5s;
    border: 1px solid #d5d6d7;
}

.overview_content_departure, .overview_content_arrival {
    margin-top: 30px;
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: -20px;
    border-radius: var(--border-radius1);
    border: var(--glass-border-content);
    background: var(--glass-content);
}

.overview_content_departure {
    display: block;
}

.overview_content_arrival {
    display: none;
}

.overview_content_departure table, .overview_content_arrival table {
    width: 100%;
    text-align: center;
    color: var(--text);
}

.overview_content_departure table th, .overview_content_arrival table th {
    text-transform: uppercase;
}

.status {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: inline-block;
    border: 1px solid #d5d6d7;
}

#status_green {
    background: green;
}

#status_blue {
    background: blue;
}

#status_yellow {
    background: yellow;
}

#status_red {
    background: red;
}

#status_grey {
    background: grey;
}

/* overview fullscreen */
.overview_normalscreen {
    display: block;
}

.overview_fullscreen {
    display: none;
}

.overview_fullscreen .overview_content_area {
    display: flex;
    height: 100%;
    justify-content: space-between;
}

.overview_fullscreen .overview_departure, .overview_fullscreen .overview_arrival {
    border: 1px solid var(--text);
    cursor: auto;
} 

.overview_fullscreen .overview_content_departure, .overview_fullscreen .overview_content_arrival {
    width: calc(48% + 20px);
    display: block;
}

.overview_fullscreen table td {
    height: 40px;
}

/* animtion section */
#top_nav_show_anim {
    animation: top_nav_show 1.2s;
}

@keyframes top_nav_show {
    from {
        width: 20%;
        top: -100px;
    }
    to {
        width: 20%;
    }
}

#top_nav_full_anim {
    animation: top_nav_full_width 1.2s;
}

@keyframes top_nav_full_width {
    from {
        width: 20%;
    }
    tp {
        width: 80%;
    }
}

#bottom_left_anim {
    animation: bottom_left_anim 1.2s;
}

@keyframes bottom_left_anim {
    to {
        width: 35%;
    }
}

#bottom_right_anim {
    animation: bottom_right_anim 1.2s;
}

@keyframes bottom_right_anim {
    from {
        transform: translateY(100px);
        width: 50px;
    }
    to {
        width: 62%;
    }
}

#fade_out_anim {
    animation: fade_out 1.2s;
}

@keyframes fade_out {
    from {
        opacity: 1;
    }
    to {
        top: 90%;
        opacity: 0;
        display: none;
    }
}

#fade_in_anim {
    visibility: visible;
    animation: fade_in_anim 2s;
}

@keyframes fade_in_anim {
    from {
        transform: translateY(100px);
        opacity: 0;
    }
}