/* General Settings */

* {
    box-sizing:border-box;
}

html {
        overflow-y: scroll;
}

body {
    font-family: Helvetica;
    background: #EEEEEE;
}

h1, h3 {
    font-weight: 300;
}

h1 {
    color: #636363;
}

h3 { 
    color: #4A89DC;
}

a {
    color: #0A57C6;
    text-decoration: none;
}

#page {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
    margin: 4em auto;
    padding: 2em;
    background: #FAFAFA;
    border: 1px solid #EBEBEB;
    box-shadow: rgba(0,0,0,0.14902) 0px 3px 3px 0px,rgba(0,0,0,0.09804) 0px 1px 2px 0px;
}

#header-image { 
    display: block;
    margin-top: 0.5em;
    margin-bottom: 1em;
    max-width: 400px;
    width:90%;
}

/* Navigation */
nav ul {
    list-style-type: none;
    display: flex;
    flex-direction: row;
    margin: 0;
    padding: 0;
    position: relative;
}

nav li {
    display: inline-block;
    float: left;
    margin-right: 1px;
    box-shadow: rgba(0,0,0,0.14902) 0px 1px 1px 0px,rgba(0,0,0,0.09804) 0px 1px 2px 0px;
}

nav li a {
    display: block;
    min-width: 140px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    font-family: Helvetica;
    color: #FFFFFF;
    background: #2F3036;
    text-decoration: none;
}

nav li:hover a {
    background: #4A89DC;
}

nav li:hover ul a {
    background: #F3F3F3;
    color: #2F3036;
    height: 40px;
    line-height: 40px;
}

nav li:hover ul a:hover {
    background: #4A89DC;
    color: #FFFFFF;
}

nav li ul {
    display: none;
    position: absolute;
}

nav li ul li {
    display: block;
    float: none;
}

nav li ul li a {
    width: auto;
    min-width: 140px;
    padding: 0 20px;
}

nav ul li a:hover + .hidden, .hidden:hover {
    display: block;
}

/*Style 'show menu' label button and hide it by default*/
nav .show-menu {
	font-family: Helvetica;
	text-decoration: none;
	color: #FFFFFF;
	background: #19C589;
	text-align: center;
	padding: 10px 0;
	display: none;
}

/*Hide checkbox*/
nav input[type=checkbox]{
    display: none;
    -webkit-appearance: none;
}

/*Show menu when invisible checkbox is checked*/
nav input[type=checkbox]:checked ~ #menu{
    display: block;
}

/* Tablet CSS */
@media only screen and (min-width:701px) and (max-width:1316px) {
    #page {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        margin: 4em auto;
        padding: 2em;
        background: #FAFAFA;
        border: 1px solid #EBEBEB;
        box-shadow: none;
    }
    
    nav ul {
        position:static;
        display:none;
    }
    
    nav li {
        margin-bottom: 1px;
    }
    
    nav li ul {
        position: relative;
    }
    
    nav ul li, nav li a {
        width: 100%;
    }
    
    /*Display 'show menu' link*/
    nav .show-menu {
            display:block;
    }
}

/* Mobile CSS */
@media only screen and (max-width:700px) {
    body {
        background: #FFFFFF;
    }

    #page {
        width: 100%;
        margin: 0em;
        padding: 1em;
        background: #FFFFFF;
        border: none;
        box-shadow: none;
    }
    
    nav ul {
        position:static;
        display:none;
    }
    
    nav li {
        margin-bottom: 1px;
    }
    
    nav li ul {
        position: relative;
    }
    
    nav ul li, nav li a {
        width: 100%;
    }
    
    /*Display 'show menu' link*/
    nav .show-menu {
            display:block;
    }
}

/* Error and success */

.error, .success {
    border: 0;
    margin: .3em 0 1em 0;
    padding: 15px 10px 15px 50px;
    background-repeat: no-repeat;
    background-position: 10px center;
    color: #FFFFFF;
    box-shadow: rgba(0,0,0,0.14902) 0px 1px 1px 0px,rgba(0,0,0,0.09804) 0px 1px 2px 0px;
}

.error {
    border-bottom: 2px solid #D8000C;
    background-color: #FF8080;
    background-image: url('/images/error.png');
    text-shadow: 1px 1px 0 rgba(216, 0, 12, .5);
}

.success {
    border-bottom: 2px solid #4F8A10;
    background-color: #ABDC56;
    background-image: url('/images/success.png');
    text-shadow: 1px 1px 0 rgba(79, 138, 16, .5);
}

/* Login Form */
#login form {
    max-width: 380px;
    width: 90%;
    margin: 4em auto;
    padding: 2em 2em 2em 2em;
    background: #FAFAFA;
    border: 1px solid #ebebeb;
    box-shadow: rgba(0,0,0,0.14902) 0px 1px 1px 0px,rgba(0,0,0,0.09804) 0px 1px 2px 0px;
}

#login h3 {
    text-align: center;
}

#login .group { 
    position: relative; 
    margin-bottom: 45px; 
}

#login input {
    font-size: 18px;
    padding: 10px 10px 10px 5px;
    display: block;
    background: #FAFAFA;
    color: #636363;
    width: 100%;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #757575;
}

#login .bar {
    position: relative;
    display: block;
    width: 100%;
}

#login .bar:before, .bar:after {
    content: '';
    height: 2px; 
    width: 0;
    bottom: 1px; 
    position: absolute;
    background: #4a89dc; 
    transition: all 0.2s ease;
}

#login .bar:before {
    left: 50%;
}

#login .bar:after {
    right: 50%;
}

#login input:focus ~ .bar:before, #login input:focus ~ .bar:after {
    width: 50%;
}

#login .button {
    position: relative;
    display: inline-block;
    padding: 12px 24px;
    margin: .3em 0 1em 0;
    width: 100%;
    vertical-align: middle;
    color: #fff;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    letter-spacing: 1px;
    background: transparent;
    border: 0;
    border-bottom: 2px solid #3160B6;
    cursor: pointer;
    background: #4A89DC;
    font-family: Helvetica;
    text-shadow: 1px 1px 0 rgba(39, 110, 204, .5);
}

#login .button:focus {
    outline: 0;
}

#login .button:hover {
    background: #357bd8;
}

#login-header-image { 
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 4em;
    max-width: 400px;
    width: 90%;
}

/* Ticket queue */

#ticket_queue {
    width: 100%;
    box-shadow: rgba(0,0,0,0.14902) 0px 1px 1px 0px,rgba(0,0,0,0.09804) 0px 1px 2px 0px;
    display: table;
}

#ticket_queue th {
    background-color: #4A89DC;
    color: #FFFFFF;
    padding: .75em;
}

#ticket_queue td {
    padding: .75em;
}

#ticket_queue tr:nth-child(odd) {
    background-color: #E8E8E8;
    color: #000000;
}

#ticket_queue tr:nth-child(even) {
    background-color: #FFFFFF;
    color: #000000;
}

#ticket_queue td:nth-child(1) {
    text-align: center;
    font-weight: bold;
}

/* Form inputs */
#forms form {
    width: 380px;
    margin: 4em auto;
    padding: 3em 2em 2em 2em;
    background: #FAFAFA;
    border: 1px solid #ebebeb;
    box-shadow: rgba(0,0,0,0.14902) 0px 1px 1px 0px,rgba(0,0,0,0.09804) 0px 1px 2px 0px;
}

#forms .group { 
    position: relative; 
    margin-bottom: 25px; 
}

#forms label {
	color: #999; 
	font-size: 20px;
	font-weight: normal;
	left: 5px;
	top: 10px;
}

#forms input, #forms textarea, #forms select {
    font-size: 18px;
    padding: 10px 10px 10px 5px;
    display: block;
    background: #FAFAFA;
    color: #636363;
    width: 100%;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #757575;
}

#forms textarea {
    resize: vertical;
    height: 300px;
}

#forms .bar {
    position: relative;
    display: block;
    width: 100%;
}

#forms .bar:before, .bar:after {
    content: '';
    height: 2px; 
    width: 0;
    bottom: 1px; 
    position: absolute;
    background: #4a89dc; 
    transition: all 0.2s ease;
}

#forms .bar:before {
    left: 50%;
}

#forms .bar:after {
    right: 50%;
}

#forms input:focus ~ .bar:before, #forms input:focus ~ .bar:after {
    width: 50%;
}

#forms .button {
    position: relative;
    display: inline-block;
    padding: 12px 24px;
    margin: .3em 0 1em 0;
    width: 100%;
    vertical-align: middle;
    color: #fff;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    letter-spacing: 1px;
    background: transparent;
    border: 0;
    border-bottom: 2px solid #3160B6;
    cursor: pointer;
    background: #4A89DC;
    font-family: Helvetica;
    text-shadow: 1px 1px 0 rgba(39, 110, 204, .5);
}

#forms .button:focus {
    outline: 0;
}

#forms .button:hover {
    background: #357bd8;
}