* {
    box-sizing: border-box;
}

.highlighted {
    color: rgb(242, 93, 93);
}

.highlighted_background {
    background-color: rgb(242, 93, 93);
}

/*
html, body {
    height: 100%;
}
*/

body {
    padding: 0px;
    margin: 0px;
    font-family: Inconsolata; 
    font-size: 18px;
    color: #aaa;
    background-color: #28292a;
}

div.content_container {
    height: 90%;
}

a.error_message {
    color: red;
}

a:visited, a:link {
    color: rgb(242, 93, 93);
}

table {
    border-collapse: collapse;
}
td, th {
    border: 1px solid #111111;
    text-align: left;
}
td {
    padding: 4px;
}
th {
    padding: 10px;
    font-size: 22px;
}
tr:nth-child(even) {
    background-color: #222222;
}
td.centered {
    text-align: center;
}
td.crossed {
    background-image: linear-gradient(to bottom right,  transparent calc(50% - 1px), red, transparent calc(50% + 1px)); 
    text-align: center;
}

/* the div that contains hrs,mins,secs all in a column */
div.time_container {
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-evenly;
    min-width: 65px;
}

/* remove annoying glow from elements */
textarea, select, input, button { outline: none; }

.topnav {
    overflow: hidden;
    background-color: #333;
    margin: 5px;
    border-radius: 15px;
    display: flex;
    justify-content: space-between;
}

.topnav a {
    float: left;
    display: block;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    font-size: 17px;
    transition-duration: 0.4s;
}

.topnav a:hover {
    background-color: #222;
}

.topnav a.active {
    color: black;
    background-color: rgb(242, 93, 93);
}

.topnav .icon {
    display: none;
    color: rgb(242, 93, 93);
    background-color: black;
}

@media screen and (max-width: 600px) {
    body {
        font-size: 15px;
    }

    .topnav a.icon {
        float: right;
        display: block;
    }

    .topnav_left a:not(:first-child) {display: none;}
    .topnav_right {display: none;}

    .topnav.responsive {
        display: flex;
        flex-flow: column;
        justify-content: space-between;
        position: relative;
    }
    .topnav.responsive .icon {
        position: absolute;
        right: 0;
        top: 0;
    }

    .topnav.responsive .topnav_left {
        display: flex;
        flex-flow: column;
        text-align: left;
    }
    .topnav.responsive .topnav_right {
        display: flex;
        flex-flow: column;
        text-align: left;
    }
    .topnav.responsive .topnav_left a {
        display: block;
        text-align: left;
    }
    .topnav.responsive .topnav_right a {
        display: block;
        text-align: left;
    }
}

.general_button {
    border-radius: 15px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 20px;
    background-color: #bbb;
    border-width: 3px;
}
.margined_button {
    margin-top: 15px;
    margin-bottom: 15px;
    margin-right: 5px;
    margin-left: 5px;
}
.general_button:hover {
    background-color: #bbb;
    border-color: rgb(242, 93, 93);
}
.highlighted_button {
    border-color: rgb(242, 93, 93);
}

.music_entry {
    display: flex;
    flex-flow: row nowrap;
}

.music_entry_info {
    margin-left: 5px;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-evenly;
    max-width: 400px;
}

.message {
    bottom: 20px;
    left: 0px;
    background-color: black;
    color: red;
    padding: 10px;
    display: none;
    position: fixed;
    animation-name: fade_in;
    animation-duration: 1s;
}

@keyframes fade_in {
    from {
        opacity: 0%;
    }
    to {
        opacity: 100%;
    }
}

@keyframes zoom_in {
    0% {
        transform: scale(1, 1);
        opacity: 0%;
    }
    50% {
        transform: scale(1.3, 1.3);
        opacity: 50%;
    }
    100% {
        transform: scale(1, 1);
        opacity: 100%;
    }
}

.centered {
    margin: auto;
    text-align: center;
}
