/* Generals
-------------------------------------------------------------- */

.floatsx { float: left; }
.floatdx { float: right; }
.clear { clear: both; }
.justified { text-align: justify; }
.mid { margin-bottom: -3px; }
.rel { position: relative; }
.rbg { background: #ff0000; }
.gbg { background: #00ff00; }
.bbg { background: #0000ff; }
.txtsx { text-align: left; }
.txtdx { text-align: right; }
.txtmid { text-align: center; }
i.sx { margin-right: 5px; }
i.dx { margin-left: 5px; }
.img-mid {
	margin-left: auto;
	margin-right: auto;
}
.nobreak { white-space: nowrap; }



/* Struttura
-------------------------------------------------------------- */

#container {
    max-width: 1140px;
    padding-top: 50px;
}
#section-setup,
#section-setup-repeat,
#section-setup-time,
#section-setup-comlete {
    padding-top: 20px;
}


/* Common
-------------------------------------------------------------- */

.btn-border {
    background: none;
    border: 1px solid #555;
    color: @text-color;
    &:hover,
    &:focus {
        background: lighten(@body-bg, 10%);
    }
}
.btn-caps {
    text-transform: uppercase;
}



/* Header
-------------------------------------------------------------- */

#navbar-top {
    text-align: center;
}
#brand-name {
    display: inline-block;
    float: none;
    color: #fff;
}
#clock {
    position: fixed;
    right: 20px;
    top: 0;
    color: @text-color;
    &:hover,
    &:focus {
        color: #fff;
    }
    span {
        opacity: .5;
    }
}
#clock,
#brand-name {
    height: 50px;
    line-height: 50px;
    font-size: 20px;
    font-weight: 300;
    &:hover,
    &:focus {
        text-decoration: none;
    }
}
#btn-info {
    @info-size: 28px;
    width: @info-size;
    height: @info-size;
    line-height: @info-size;
    margin: 12px 0;
    padding: 0;
    border-radius: 50%;
}

#main-menu {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1000;
    a {
        color: @text-color;
    }
    .dropdown-toggle {
        padding-left: 20px;
        padding-right: 20px;
    }
    .dropdown > a,
    .dropdown.open > a {
        height: @navbar-height;
        line-height: @navbar-height;
        padding-top: 0;
        padding-bottom: 0;
        letter-spacing: 2px;
        &:hover,
        &:focus {
            background: lighten(@body-bg, 20%);
        }
    }
    .dropdown-menu {
        // background: none repeat scroll 0 0 transparent;
        border: medium none;
        border-radius: 0;
        box-shadow: none;
        float: left;
        right: auto;
        list-style: outside none none;
        margin: 0;
        min-width: 160px;
        padding: 0;
        position: absolute;
        right: -20px;
        top: 100%;
        z-index: 1000;
        a {
            padding-top: 10px;
            padding-bottom: 10px;
            &:hover,
            &:focus {
                background: lighten(@body-bg, 20%);
            }
        }
    }
}




/* Welcome
-------------------------------------------------------------- */

#device {
    margin: 30px auto;
}



/* Playback
-------------------------------------------------------------- */

#section-index {
    text-align: center;
    .modal-content {
        text-align: left;
    }
}
#timer {
    position: relative;
    width: 240px;
    height: 240px;
    margin: 30px auto 10px;
}
@elapsed-width: 150px;
@elapsed-height: 56px;
@total-width: 100px;
@total-height: 24px;
#time-elapsed-knob {
    background: @body-bg;
    border: none;
    color: @body-bg;
}
#time-elapsed-clock {
    position: absolute;
    top: 50%;
    left: 50%;
    width: @elapsed-width;
    margin: -(@elapsed-height / 2) 0 0 -(@elapsed-width / 2);
    line-height: @elapsed-height;
    font-size: @elapsed-height;
    font-weight: 300;
    text-align: center;
    color: @text-color;
}
#time-total {
    position: absolute;
    top: 50%;
    left: 50%;
    width: @total-width;
    margin: (-(@total-height / 2) + (@elapsed-height * 0.8)) 0 0 -(@total-width / 2);
    line-height: @total-height;
    font-size: @total-height;
    text-align: center;
    color: #444;
}
#artist, #title {
    font-size: 24px;
    font-weight: 300;
}
#artist {
    color: #666;
}
#title {
    margin-bottom: 20px;
}
#connection-status,
#player-mode {
    color: #555;
}
#connection-status.online {
    color: @text-color;
}
#overlay-controls {
    margin-bottom: 10px;
    .btn-border {
        width: 120px;
        margin: 0 3px 10px;
    }
}
#info-clock,
#info-date,
#info-timezone {
    font-size: 20px;
    line-height: 22px;
    font-weight: 300;
    color: darken(@text-color, 30%);
}
#info-table {
    width: auto;
    margin: 0 auto;
    th {
        width: 45%;
        padding: 0 10px 0 0;
        font-weight: normal;
        text-align: right;
    }
    td {
        width: 45%;
        padding: 0 0 0 10px;
        text-align: left;
        color: #fff;
        word-wrap: break-word;
    }
}
.loading { 
    position: absolute;
    top: 23%;
    left: 50%;
    height: 30px;
    margin-left: -17px;
}
.track .loading { 
    top: 50%;
    left: 15px;
    margin: -35px 0 0;
    div[class^="loading-"], div[class*=" loading-"] {
        background: @text-color;
    }
}
@-webkit-keyframes loading {
    50% { height: 30px; margin-top: 0px; }
}
@-moz-keyframes loading {
    50% { height: 30px; margin-top: 0px; }
}
@-o-keyframes loading {
    50% { height: 30px; margin-top: 0px; }
}
@keyframes loading {
    50% { height: 30px; margin-top: 0px; }
}
.loaderbar {
    height: 10px;
    width: 4px;
    background-color: #333;
    display: inline-block;
    margin-top: 20px;
    -webkit-animation: loading 0.5s infinite;
    -moz-animation: loading 0.5s infinite;
    -o-animation: loading 0.5s infinite;
    animation: loading 0.5s infinite;
    // border-top-left-radius: 2px;
    // border-top-right-radius: 2px;
    // border-top: 5px solid #333;
}
.loading-loop (@i) when (@i < 6) {
    .loading-@{i} {
        .loaderbar;
        -webkit-animation-delay: @i/5s;
        animation-delay: @i/5s;
     }
    .loading-loop(@i + 1);
}
.loading-loop(0);



// Queue overlay
// --------------------------------------------------------------

.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: darken(@brand-alt, 20%);
}
.overlay-content {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: darken(@body-bg, 10%);
    z-index: 1050;
    overflow-x: hidden;
    overflow-y: auto;
    #queue-list,
    #hotlist-list,
    #messages-list,
    #channels-list,
    #featplaylist-list,
    #featartists-list,
    #featalbums-list {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        margin: 0;
        padding: 0;
        overflow: hidden;
        // -webkit-transform: translateY(-50%);
        // transform: translateY(-50%);
        border-top: 1px solid lighten(@body-bg, 20%);
        li {
            display: block;
            margin: 0;
            padding: 0;
            list-style: none;
            font-size: 22px;
            font-weight: 300;
            border-bottom: 1px solid lighten(@body-bg, 10%);
            &.current {
                background: lighten(@body-bg, 10%);
                color: #fff;
            }
            & > span {
                display: inline-block;
                height: 100%;
                text-align: center;
                white-space: nowrap;
                & > span {
                    display: inline-block;
                    vertical-align: middle;
                }
            }
        }
    }
    #queue-list li {
        height: 9.090909%;
    }
    #hotlist-list li,
    #messages-list li,
    #channels-list li,
    #featplaylist-list li,
    #featartists-list li,
    #featalbums-list li {
        height: 6.6%;
        &:hover,
        &:focus {
            background: lighten(@body-bg, 10%);
            color: #fff;
            cursor: pointer;
        }
    }
    button {
        position: absolute;
        top: 10px;
        right: 10px;
        font-size: 20px;
        z-index: 1051;
    }
}
.overlay-scale {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    -webkit-transition: -webkit-transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
    transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
    &.open {
        visibility: visible;
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);    
        -webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
        transition: transform 0.4s, opacity 0.4s;
    }
    .btn-link:hover,
    .btn-link:focus {
        text-decoration: none;
    }
}
.overlay-inner {
    position: relative;
    margin: 34px 0;
    transform: translate3d(0px, 0px, 0px);
}

.track-0, .track-10 {
    opacity: .20;
}
.track-1, .track-9 {
    opacity: .3;
}
.track-2, .track-8 {
    opacity: .45;
}
.track-3, .track-7 {
    opacity: .6;
}
.track-4, .track-6 {
    opacity: .85;
}



/* Setup wizard
-------------------------------------------------------------- */

#section-welcome,
#section-setup,
#section-setup-repeat,
#section-setup-time,
#section-setup-complete {
    #navbar-top {
        display: none;
    }
}
#pinpad {
	margin: 0 auto;
	max-width: 252px;
	label {
		display: block;
		text-align: center;
	}
    div {
        // max-width: 245px;
        white-space: nowrap;
    }
}
@btn-pinpad-size: 75px;
@btn-pinpad-margin: 10px;
#pinpad-code-copy {
	margin-bottom: @btn-pinpad-margin;
	padding: 0;
	background: @input-bg;
	border: 0;
	font-family: @font-family-monospace;
	font-size: 17px;
	text-align: center;
    color: #fff;
}
.btn-pinpad {
	width: @btn-pinpad-size;
	height: @btn-pinpad-size;
	line-height: @btn-pinpad-size;
	margin: 0 @btn-pinpad-margin @btn-pinpad-margin 0;
	padding: 0;
    border: 0;
	font-size: @btn-pinpad-size * 0.4;
	font-weight: 300;
	&:focus {
		outline: none;
	}
}
#pinpad-3,
#pinpad-6,
#pinpad-9,
#pinpad-info {
	margin: 0 0 @btn-pinpad-margin 0;
}
#pinpad-submit.disabled,
#pinpad-repeat-submit.disabled {
    opacity: 0.3;
}

.form-config {
	margin: 0 auto;
	max-width: 600px;
    padding: 15px;
}
#time-local .fa-clock-o,
#datepicker .fa-calendar {
    font-size: 24px;
}
#timezone-select option {
	// font-family: @font-family-monospace;
    font-size: 13px;
}

#congratulations {
    font-size: 100px;
}



/* Loader animation
-------------------------------------------------------------- */

#section-service {
    h2 {
        margin-bottom: 15px;
        padding-bottom: 5px;
        border-bottom: 10px solid lighten(@body-bg, 10%);
    }
}



/* Loader animation
-------------------------------------------------------------- */

#loader {
    position: fixed;
    bottom: 5px;
    right: 20px;
    font-size: 50px;
    color: @text-color;
}



/* Bootstrap overwrites
-------------------------------------------------------------- */

.btn-primary {
	text-transform: uppercase;
}
.form-control {
	border: 2px solid @input-border;
	.box-shadow(none);
}
label {
	margin-bottom: 2px;
	font-size: 14px;
	font-weight: normal;
}
.help-block {
	margin: 2px 0 8px;
	font-size: 12px;
}
.txtmid .img-responsive {
	margin: 0 auto;
}
.modal-title {
    line-height: 1;
}
.progress,
.progress-bar {
	.box-shadow(none);
}
.label {
	min-width: 200px;
	font-size: 85.71%;
	font-weight: normal;
}
.dropdown-menu.selectpicker a {
    color: darken(@text-color, 40%);
}



/* Media Queries
-------------------------------------------------------------- */

// sotto i 480px
@media (max-width: 479px) {
	
}
// sopra i 640px
@media (min-width: 640px) {
	
}
// fra 480px e 768px
@media (min-width: 480px) and (max-width: @screen-sm) {
	
}
// sotto i 768px
@media (max-width: @grid-float-breakpoint) {
	
}
// sopra i 768px
@media (min-width: @grid-float-breakpoint) {
	
}
// fra 768px e 979px
@media (min-width: @screen-sm) and (max-width: @screen-md) { 
	
}
// fra 992px e 1200px
@media (min-width: @screen-md) and (max-width: @screen-lg) { 
	
}
// sopra i 1200px
@media (min-width: @screen-lg) {
	
}