/*
 * author: Jonathan Bernard
 * TimeStamper main CSS for screen media types
 */

$smallScreen: 640px;
$wideScreen: 1000px;
$ultraWideScreen: 1400px;

@import "rounded";
@import "forSize";

$darkTxt: #222;
$lightTxt: #eee;
$darkBg: #222;
$lightBg: #eee;
$medBg: #CCC;

* {
    color: inherit;
    margin: 0;
    padding: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }

/* HTML5 elements */
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block; }

body {
    color: $darkTxt;
    margin: auto;
    line-height: 1.4; }

.hidden { display: none; }

input {
    border: solid thin lighten($darkTxt, 20%);
    -webkit-box-shadow: inset 0px 2px 4px #CCC;
    box-shadow: inset 0px 2px 4px #CCC;
    font-family: Cantarell; }

#top {
    background: $darkBg;
    color: $lightTxt;
    opacity: 1;
    padding-top: 0.5rem; }

#timeline {

    border-bottom: thin solid $lightBg;
    font-family: Arvo;

    .timeline-desc-input, .timeline-id-input {
        font-family: inherit;
        font-size: inherit;
        color: $darkBg;
        display: none; }

    &.edit-id {
        .timeline-id-input { display: inline-block; }
        .timeline-id { display: none; } }

    &.edit-desc {
        .timeline-desc-input { display: inline-block; }
        .timeline-desc { display: none; } }
    
}

#entry-list {
    
    padding-bottom: 1rem;

    .day-seperator {

        background: $medBg;
        color: $darkBg;
        font-family: Cantarell;
        font-weight: bold;
        margin: 1rem 0 0 0;
        padding: 0 2rem;

        h5 { color: #667; } }

    #new-entry {
        margin: 0.5rem 0 0 0;
        padding: 0 2rem; }
    
    .timestamp, .timestamp-input, .duration { text-align: right; }

    .entry {
        font-family: Cantarell;
        padding: 0 2rem;

        .mark {
            position: relative;

            img.expand-entry, img.collapse-entry {
                display: none;
                left: -20px;
                position: absolute;
                top: 6px; } }

        &:hover .mark img.expand-entry, &.show-notes img.collapse-entry { display: inline; }

        .mark-input, .timestamp-input,
        &.show-notes:hover img.expand-entry { display: none; }

        .notes {
            display: none;
            font-family: Cantarell;
            font-size: small;
            padding: 0 0 0 1em;

            :first-child { margin-top: 0; }

            .notes-input, pre, code { font-family: 'Anonymous Pro'; } }

        .notes * { width: 100%; }
           
        &.edit-mark {
            .mark-input { display: inline-block; }
            .mark { display: none; } }

        &.edit-timestamp {
            .timestamp-input { display: inline-block; }
            .timestamp { display: none; } }

        .notes-input { display: none; }

        &.edit-notes .notes-input { display: block; }

        &.edit-notes .notes-text { display: none; }

        &.current .duration {
            -webkit-animation: pulse 1s infinite alternate;
            -moz-animation: pulse 1s infinite alternate;
            -o-animation: pulse 1s infinite alternate;
            animation: pulse 1s infinite alternate; } } }


.dialog {

    background: white;
    background: rgba(255, 255, 255, 0.5);
    color: $lightTxt;

    position: fixed;
    top: 0px;
    left: 0px;

    width: 100%;
    height: 100em;

    z-index: 10;

    div.container {

        background: $darkBg;
        border-radius: 10px;
        font-family: Cantarell;
        margin-left: auto;
        margin-right: auto;
        margin-top: 4em;
        padding: 1em;
        width: 20em;
        
        h2 {
            border-bottom: thin solid $lightBg;
            font-family: Arvo;
            padding-bottom: 0.5em;
            margin-bottom: 0.5em; }

        label {
            display: inline-block;
            width: 6em; }

        input { color: $darkTxt; }

        .button-panel {
            margin-top: 0.5em;
            overflow: hidden;

            .validate-tips { font-size: 1em; }

            .dialog-button {

                float: right;
                padding-left: 1em;

                font-family: Arvo;
                font-size: 1.2em;

                a { color: $lightBg; } } } } }

#login.dialog {
    background: white;
    opacity: 1; } 

.drop-menu {
    position: relative;
    
    .drop-menu-items {
        display: none;
        list-style: none;
        position: absolute;

        li {
            display: inline-block;
            padding-left: 0.5em; } }

    &:hover .drop-menu-items, .drop-menu-items:hover { display: block; }

    a {
        display: inline-block;
        text-decoration: none;

        &:hover { text-decoration: underline; } } }


.footer {

    background: $darkBg;
    color: $lightTxt;
    font-family: Bentham;
    padding: 1rem 0;
    text-align: center;
    width: 100%;

    a {
        color: lighten($lightTxt, 20%);
        text-decoration: none;

        &:hover { text-decoration: underline; } } }

.logo {
    font-family: Bentham;
    text-decoration: overline underline; }

@include forSize(notSmall) {
    body { width: 75%; }

    #top {
        position: fixed;
        top: 0px;
        width: 75%;
        z-index: 1; }
        
    #timeline {
        font-size: 1.5em;
        padding: 0 2rem;

        .timeline-desc {
            display: inline-block;
            width: 70%; }

        .timeline-desc-input { width: 70% } 

        .timeline-id { display: inline-block; }

        .drop-menu {
            text-align: right;
            display: inline-block;
            width: 29%;

            .drop-menu-items  {
                text-align: right;
                right: 0;
                width: 172.41%;

                .new-timeline-link {
                    padding-right: 0.5em;
                    font-size: medium;
                    
                    a { text-decoration: underline; }

                    img {
                        position: relative;
                        top: 4px;
                        left: -4px; } }

                .timeline-link {
                    padding: 0 0.5em;
                    font-size: medium;
                    border-left: thin solid white } } } }

    #user {

        font-family: "Josefin Sans";
        margin-top: 0.3rem;
        padding: 0 0 0.3rem 2rem;
        width: 100%;

        .fullname, .username {
            display: inline-block;
            font-size: larger; }

        .fullname-input {
            font-family: inherit;
            font-size: inherit;
            color: $darkBg;
            display: none; }

        &.edit-fullname{
            .fullname-input { display: inline-block; }
            .fullname { display: none; } }

        .user-menu { display: inline-block; }

        .user-menu .user-menu-items {
            list-style: none;
            display: none;

            li {
                display: inline-block;
                padding-left: 0.5em; }

            a { text-decoration: none; }
            a:hover { text-decoration: underline; }
        }

        .user-menu:hover .user-menu-items, .user-menu-items:hover { display: inline-block; } }

    #entry-list {
        margin: 6rem 0 0 0;

        .timestamp, .timestamp-input, .duration { width: 14%; }
        .mark, .mark-input, .notes { width: 70%; }
        
        h4, h5, .entry div { display: inline-block; }

    }
    
}

@include forSize(small) {
    body { width: 100%; }

    #timeline {
        font-size: 1.3em;
        padding-bottom: 0.5rem;

        .timeline-desc { display: block; }

        .timeline-desc, .timeline-desc-input {
            text-align: center;
            width: 100%; }

        .timeline-id, .timeline-id-input { display: none; } }

    #user { display: none; }

    #entry-list {
        .timestamp, .timestamp-input { width: 18%; }
        .mark, .notes { width: 80%; }
        .mark-input { width: 98% }
        .duration { display: none; }
        h4.mark, h5.mark, h4.timestamp, h5.timestamp,
        div.mark, div.timestamp{ display: inline-block; }
    }
}

@-webkit-keyframes pulse {
    from { opacity: 1; }
    to { opacity: 0.2; } }

@-moz-keyframes pulse {
    from { opacity: 1; }
    to { opacity: 0.2; } }

@-o-keyframes pulse {
    from { opacity: 1; }
    to { opacity: 0.2; } }

@keyframes pulse {
    from { opacity: 1; }
    to { opacity: 0.2; } }

