@font-face {
    font-family: 'neuelight';
    src: url('../fonts/neue-webfont.eot');
    src: url('../fonts/neue-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/neue-webfont.woff2') format('woff2'),
         url('../fonts/neue-webfont.woff') format('woff'),
         url('../fonts/neue-webfont.ttf') format('truetype'),
         url('../fonts/neue-webfont.svg#neuelight') format('svg');
    font-weight: normal;
    font-style: normal;

}

body {
	background-color: #272D30;
	color: #FFF;
	font-family: neuelight,sans-serif;
}

.hide {
	display: none;
}

.hide-text {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.left {
	float: left;
}

.right {
	float: right;
}

.clearfix:after {
	content: " ";
	visibility: hidden;
	display: block;
	height: 0;
	clear: both;
}

input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type=number] {
	-moz-appearance: textfield;
}

input:invalid {
	box-shadow: none;
}

button, ul, h1, h2, h3, fieldset {
	margin: 0;
	padding: 0;
}

:focus {
	outline: 0;
}

button {
	border: 0;
	height: 40px;
	outline: 0;
	outline-style: none;
	outline-width: 0;
}

ul {
	background-color: #272d30;
    list-style-type: none;
    min-height: 75px;
}


fieldset {
	border: none;
}

.handle {
	background: url("../images/settings-draggable.png") no-repeat scroll center center rgba(0, 0, 0, 0);
	cursor: move;
	display: block;
	height: 20px;
	margin-top: -10px;
	position: absolute;
	right: 10px;
	top: 50%;
	width: 20px;
}

.buttons {
	text-align: center;
}

.buttons > button {
	margin: 0 10px;
	display: inline-block;
}

/*  Page Header */

.page__header {
	height: 80px;
	line-height: 80px;
	border-bottom: 10px solid #272d30;
	
	position: fixed;
    top: 0;
    width: 100%;
    z-index: 2;
}

@media only screen and (min-width: 1024px) {
	.page__header {
		border-bottom: 20px solid #272d30;
	}
}

.page__header h1 {
	height: 72px;
	left: 50%;
	margin: -36px 0 0 -36px;
	position: absolute;
	text-indent: -9999px;
	top: 50%;
	width: 72px;
}

/* --------- */



/*  Buttons */

button .icon {
	display: block;
}

.btn-icon, .btn-icon-text {
	background: none;
	height: auto;
}

.btn-icon-text span:first-child{
	display: none;
}


@media only screen and (min-width: 1024px) {
	.btn-icon-text span:first-child{
		display: block;
		float:left;
	}
	
	.btn-icon-text.left span:first-child{
		float:right;
	}
}

.btn-stats .icon, .btn-schedule .icon, .btn-logout .icon, .btn-settings .icon, .btn-refresh .icon, .btn-defaults .icon{
	height: 40px;
	width: 40px;
}

.btn-signin .icon, .btn-signout .icon{
	height: 40px;
	width: 60px;
}

.btn-removecontact .icon {
	height: 28px;
	width: 28px;
}

.btn-addcontact .icon {
	height: 44px;
	width: 44px;
}

.btn-back .icon {
   height: 28px;
   width: 16px;
}

/* --------- */

/*  Page Nav Bar */

.page__nav {

}

.page__nav .btn-logout {
	margin-left: 7px;
}

.page__nav .btn-logout .icon {
	float: left;
	margin-right: 5px;
}

.page__nav .btn-settings {
	margin-right: 9px;
}

.page__nav .btn-settings .icon {
	float: right;
	margin-left: 4px;
}

.page__nav .btn-logout .icon, .page__nav .btn-settings .icon {
	margin-top: 20px;
}

@media only screen and (min-width: 1024px) {
	.page__nav .btn-logout {
		margin-left: 34px;
	}
	
	.page__nav .btn-logout .icon {
		margin-right: 20px;
	}
	
	.page__nav .btn-settings {
		margin-right: 36px;
	}
	
	.page__nav .btn-settings .icon {
		margin-left: 20px;
	}
	
}

/* --------- */

/*  Page Content */

.page__content{
	margin-top: 90px;
}

.page__content > div {
	margin: 0 auto;
	padding-bottom: 50px;
	width: 384px;
}

.page__content__title {
	height: 50px;
	line-height: 50px;
	margin-bottom: 10px;
	position: relative;
	text-align: center;
}

.page__content__title h2 {
	background-position: 0 center;
	background-repeat: no-repeat;
	display: inline-block;
	font-weight: normal;
	margin: 0 auto 0 -40px;
	padding-left: 40px;
	position: relative;
}

.page__content__title h2 .nav-bar-icon {
    display: inline-block;
    height: 40px;
    left: -5px;
    position: absolute;
    top: 5px;
    width: 40px;
}

.page__content__title .btn-back {
    left: 10px;
    margin-top: -14px;
    position: absolute;
    top: 50%;
}

@media only screen and (min-width: 1024px) {
	
	.page__content{
		margin-top: 100px;
	}
	
	.page__content > div {
		width: 798px;
	}
	
	.page__content__title {
		margin-bottom: 40px;
	}
}

@media only screen and (min-width: 1280px) {
	.page__content > div {
		width: 1212px;
	}
}

/* --------- */


/*  Page Login */

#page-login .page__content > div {
	text-align: center;
}

#page-login form {
	display: inline-block;
	margin: 65px auto 0;
}

form .row {
	box-sizing: border-box;
	height: 50px;
	margin-bottom: 5px;
	position: relative;
	width: 260px;
}

form .row.invalid {
	border-color: red;
}

form .row input {
	background: none;
	border: 0 none;
	display: block;
	font-size: 18px;
	margin-left: 45px;
	margin-top: 11px;
	width: 200px;
}

form .row > .icon {
	height: 24px;
	left: 10px;
	margin-top: -12px;
	position: absolute;
	top: 50%;
	width: 24px;
}

form .btn-login {
	height: 40px;
	margin-top: 75px;
	width: 100%;
}

/* --------- */

/*  Page Groups */

#page-groups .page__content__title .btn-refresh {
    position: absolute;
    right: 0;
}

#page-groups .page__content__title .btn-refresh .icon {
    float: right;
    margin-left: 6px;
    margin-right: 6px;
    margin-top: 5px;
}

.groups{
	
}

.group {
	border-radius: 5px;
	box-sizing: border-box;
	width: 384px;
	position: relative;
	margin-bottom: 10px;
}

.group__head {
	box-sizing: border-box;
	height: 75px;
	margin: 0 auto;
	padding-top: 10px;
	position: relative;
	text-align: center;
	width: 376px;
}

.group__head h3 {
	font-size: 24px;
    font-weight: normal;
    margin: 0 auto;
    max-width: 280px;
}

.group__head .sub-heading {
	display: inline-block;
    font-size: 16px;
    margin-top: 0;
    max-width: 275px;    
}

.group__head h3,
.group__head .sub-heading{
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.group__head .btn-signin, .group__head .btn-signout, .group__head .btn-schedule {
	margin-top: -20px;
	position: absolute;
	top: 50%;
}

.group__head .btn-signin, .group__head .btn-signout {
	left: 3px;
}

.group__head .btn-schedule {
	left: 58px;
}

.group__head .btn-stats {
	margin-top: -16px;
	position: absolute;
	right: 18px;
	top: 50%;
}

.group__users__head {
	font-size: 16px;
    line-height: 30px;
    text-align: center;
}

.group__user {
	background-position: 14px center;
	background-repeat: no-repeat;
	height: 75px;
	line-height: 75px;
	padding-left: 53px;
	position: relative;
}

.group__user .username {
	display: inline-block;
	font-size: 24px;
	max-width: 220px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.group__user .btn-signin, .group__user .btn-signout, .group__user .btn-schedule {
	margin-top: -20px;
	position: absolute;
	top: 50%;
}

.group__user .btn-signin, .group__user .btn-signout {
	right: 8px;
}

.group__user .btn-schedule {
	right: 65px;
}

@media only screen and (min-width: 1024px) {
	.group {
		float: left;
		margin-bottom: 30px;		
	}
}

@media only screen and (min-width: 1024px) and (max-width: 1279px){
	.group:nth-of-type(2n) {
    	margin-left: 30px;    	
	}
	
	.group:nth-of-type(2n) + .group {
		clear: left;
	}
}

@media only screen and (min-width: 1280px) {
	.group:nth-of-type(3n) + .group {
    	clear: left;
	}
	
	.group:nth-of-type(3n + 1) + .group {
		margin-left: 30px;
		margin-right: 30px;
	}
}


/* --------- */


/*  Page Settings */

#page-settings form fieldset {
	padding-bottom: 50px;
}

#page-settings form fieldset:first-child {
	border-top: none;
	border-right: none;
	border-left: none;
	
	border-bottom-style: solid;
	border-bottom-width: 1px;
}

#page-settings form fieldset + fieldset {
	border: none;
}

@media only screen and (min-width: 1280px) {
	#page-settings form fieldset {
		padding-bottom: 0;
	}

	#page-settings form fieldset {
		float: left;
		width: 50%;
	}

	#page-settings form fieldset:first-child {
		border: none;
	}

	#page-settings form fieldset + fieldset {
		border-top: none;
		border-right: none;
		border-bottom: none;
		border-left-style: solid;
		border-left-width: 1px;
		margin-right: -1px;
	}
}

#page-settings form fieldset legend {
	height: 72px;
	padding: 40px 0;
	width: 72px;
}

#page-settings form fieldset.contacts .rows {
	display: block;
	margin: 0 auto;
	position: relative;
	width: 320px;
}

#page-settings form fieldset .row {
	margin: 0 auto 5px;
	position: relative;
}



#page-settings form fieldset.contacts .row input {
	width: 215px;
}

#page-settings form fieldset .row button {
	left: -37px;
	margin-top: -14px;
	position: absolute;
	top: 50%;
}

#page-settings .btn-addcontact {
	display: block;
	margin: 40px auto 0;
}

#page-settings form .buttons {
	clear: both;
	padding-top: 50px;
}

#page-settings form .buttons button {
	width: 100px;
	border: solid 1px #FFF;
	background: none;
}

#page-settings .addContactBox {
	background-color: #616b6d;
	color: #272d30;
	height: 50px;
	line-height: 50px;
	margin: 0 auto;
	position: relative;
	width: 320px;
}

#page-settings .addContactBox input[type="radio"] {
	display: none;
}

#page-settings .addContactBox label {
	cursor: pointer;
	display: inline-block;
	font-size: 13px;
	margin-left: 20px;
	margin-right: 40px;
	padding-left: 0;
	position: relative;
}

#page-settings .addContactBox label:before {
	background-color: #272d30;
	border-radius: 15px;
	bottom: 1px;
	content: "";
	display: inline-block;
	height: 20px;
	margin-top: -10px;
	position: absolute;
	right: -34px;
	top: 50%;
	width: 20px;
}

#page-settings .addContactBox input[type="radio"]:checked + label:before {
	color: #616b6d;
	content: "•";
	font-size: 40px;
	line-height: 20px;
	text-align: center;
}

#page-settings .addContactBox .btn-savecontact {
	background: none;
	border: 1px solid #272d30;
	border-radius: 3px;
	font-size: 15px;
	height: 25px;
	line-height: 25px;
	margin-top: -13px;
	position: absolute;
	right: 10px;
	top: 50%;
	width: 65px;
}

@media only screen and (min-width: 1280px) {
	#page-settings form fieldset.contacts .row {
		width: inherit;
	}
}



/*  Page Stats */

#page-stats .page__content__title{
	position: relative;
}

#page-stats .page__content__title .btn-refresh {
	position: absolute;
    right: 0;
}

#page-stats .page__content__title .btn-refresh .icon {
	float: right;
    margin-left: 6px;
    margin-right: 6px;
    margin-top: 5px;
}

#page-stats .stats-filter {
    padding: 15px 5px 0;    
}

#page-stats .stats-filter select {
    background-color: #272d30;
    border: 1px solid #3c4649;
    
    color: #fff;
    cursor: pointer;
    display: inline-block;
    height: 37px;
    margin: 0;
    outline: medium none;
    padding: 0 0 0 5px;
    width: 150px;
    
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
   #page-stats .stats-filter select {
   		padding-right:18px;
   	}
}

#page-stats .stats-filter > div + div{
	margin-top: 10px;
}

#page-stats .stats-filter label {
	display: inline-block;
    margin-right: 15px;
    position: relative;
}

#page-stats .stats-filter label:before {
    background: url("../images/selection-field.png") no-repeat scroll center center #3c4649;
    content: "";
    display: block;
    height: 37px;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
}

#page-stats .stats-filter input.datepicker {
    background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
    border: 1px solid #3c4649;
    color: #fe4f00;
    font-size: 18px;
    height: 24px;
    padding: 5px 5px 7px;
    position: relative;
    width: 100px;     
}

#page-stats .stats-filter input.datepicker + span{
	margin: 0 10px;	
}

#page-stats .stats__chart{
	 margin-bottom: 40px;
	 display: none;
	 min-height: 200px;
}

#page-stats .stats__interval{
	display: none;
	float: right;
}

#page-stats .stats__type {
	display: none;
	float: left;
}

#page-stats .stats__type input[name="stats-type"] {
    display: none;
}

#page-stats .stats__type label{
	cursor: pointer;
    margin-right: 15px;
}

#page-stats .stats__type label:before {
    background-image: url("../images/stats-checkbox-OFF.png");
    content: "";
    display: inline-block;
    height: 28px;
    margin-right: 10px;
    position: relative;
    top: 8px;
    width: 28px;
}

#page-stats .stats__type input[name="stats-type"]:checked + label:before{
	background-image: url("../images/stats-checkbox-ON.png");
}

#page-stats .stats__summary {
	margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
    padding-left: 5px;
    text-align: left;
}

#page-stats .stats__summary > div{
	
}

#page-stats .stats__summary span{
	display: inline-block;
    font-size: 18px; 
    margin-bottom: 5px;   
}

#page-stats .stats__summary span:first-child{
	font-size: 20px;
    width: 210px;
}

@media only screen and (min-width: 1024px) {
	
	#page-stats .stats-filter > div{
		display: inline
	}
	
	#page-stats .stats-filter{
		padding-top: 20px;
		text-align: center;
	}	
	
	#page-stats .stats-filter > div + div{
		margin-top: 0px;
	}
	
	#page-stats .stats__chart,
	#page-stats .stats__interval,
	#page-stats .stats__type{
		display: block;
	}
	
	#page-stats .stats__summary > div{
		float: left;
		margin-right: 40px;
	}
	
	#page-stats .stats__summary > div + div{
		margin-right: 0;
	}
	
	#page-stats .stats__summary span{
		font-size: 30px;	    
	}
	
	#page-stats .stats__summary span:first-child{
		font-size: 24px;
	    width: 250px;
	}
	
	#page-stats .stats__summary > div:first-child span:first-child{
		width: 270px;
	}
	
	
}

@media only screen and (min-width: 1280px) {
	#page-stats .stats__summary {
		_width: 64%;
		display: inline-block;
	}
}


/*  Page Schedule */

#page-schedule .schedule__sign-in-out label:before {
    background: url("../images/selection-field.png") no-repeat scroll center center #3c4649;
    content: "";
    display: block;
    height: 37px;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px;
}

#page-schedule .schedule__sign-in-out label {
    display: inline-block;
    margin-right: 15px;
    position: relative;
}

#page-schedule .schedule__sign-in-out select {
    -moz-appearance: none;
    -webkit-appearance:none;
    appearance: none;
    background-color: #272d30;
    border: 1px solid #3c4649;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    height: 37px;
    margin: 0;
    outline: medium none;
    padding: 0 0 0 5px;
    width: 60px;
}

#page-schedule .tod-list__day{
	background-color: #616b6d;
    border-radius: 9999px;
    box-sizing: border-box;
    height: 60px;
    line-height: 60px;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    position: relative;
    width: 380px;
}

#page-schedule .tod-list__day > * {
	background-repeat: no-repeat;
	display: inline-block;
	position: relative;
}

#page-schedule .tod-list__day .weekday{
	width: 150px;
}

#page-schedule .tod-list__day .start{
	width: 80px;
}

#page-schedule .tod-list__day .start:before{
	background-image: url("../images/sign-in.png");
    background-repeat: no-repeat;
    content: "";
    display: inline-block;
    height: 20px;
    left: -22px;
    position: absolute;
    top: 20px;
    width: 20px;
}

#page-schedule .tod-list__day .end{
	
}

#page-schedule .tod-list__day .end:before{
	background-image: url("../images/sign-out.png");
    background-repeat: no-repeat;
    content: "";
    display: inline-block;
    height: 20px;
    left: -22px;
    position: absolute;
    top: 20px;
    width: 20px;
}

#page-schedule .tod-list__day .empty{
	
}

#page-schedule .tod-list__day .empty:before{
	background-image: url("../images/no-schedule@2x.png");
	background-size : 20px 20px;
    background-repeat: no-repeat;
    content: "";
    display: inline-block;
    height: 20px;
    left: -25px;
    position: absolute;
    top: 20px;
    width: 20px;
}

#page-schedule .tod-list__day .btn-schedule{
	background-color: transparent;
    background-image: url("../images/schedule-arrow.png");
    background-position: 350px center;
    background-repeat: no-repeat;
    height: inherit;
    left: 0;
    position: absolute;
    right: 0;
    width: inherit;
}

#page-schedule .schedule{
	margin-top: 70px;
	text-align: center;
}

#page-schedule .schedule__toggle{
	margin: 0 auto;
    width: 220px;
}

#page-schedule .schedule__toggle .label{
	display: inline-block;
    position: relative;
    text-align: left;
    top: -14px;
    width: 110px;	
}

#page-schedule .schedule__toggle .toggle{
	display: inline-block;
    margin: 0 auto;
}

#page-schedule .schedule__toggle .toggle-slide{
	text-align: left;
}

#page-schedule .schedule__sign-in-out{
	margin-top: 60px;
}

#page-schedule .schedule__sign-in-out > div {
	margin-bottom: 35px;
}

#page-schedule .schedule__sign-in > .label,
#page-schedule .schedule__sign-out > .label{
	background-position: left center;
    background-repeat: no-repeat;
    box-sizing: border-box;
    display: inline-block;
    line-height: 38px;
    padding-left: 50px;
    position: relative;
    text-align: left;
    width: 170px;
}

#page-schedule .buttons {
    clear: both;
    padding-top: 50px;
}

#page-schedule .buttons button {
    background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
    border: 1px solid #fff;
    width: 100px;
}

#page-schedule .page__content__title .btn-defaults {
    position: absolute;
    right: 12px;
}

#page-schedule .page__content__title .btn-defaults .icon {
    float: right;
    margin-left: 6px;
    margin-right: 6px;
    margin-top: 5px;
}




#popupBackground{
	background: none repeat scroll 0 0 #000000;
    bottom: 0;
    height: 100%;
    left: 0;
    opacity: 0.5;
    position: absolute;
    top: 0;
    width: 100%;
	z-index:100;	
}

#popupContainer{
	border-radius:10px;
    left: 50%;
    position: absolute;
    top: 50%;
	z-index:101;
	animation: fadein 1s;
    -moz-animation: fadein 1s; /* Firefox */
    -webkit-animation: fadein 1s; /* Safari and Chrome */
    -o-animation: fadein 1s; /* Opera */
}

@keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}

@-moz-keyframes fadein { /* Firefox */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}

@-webkit-keyframes fadein { /* Safari and Chrome */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}

@-o-keyframes fadein { /* Opera */
    from {
        opacity:0;
    }
    to {
        opacity: 1;
    }
}

#popupContainer .contentContainer{
	border-radius:10px;
	padding-bottom:20px;
}

#popupContainer .contentContainer.loadingbox{
	padding: 0;
}

#popupContainer .contentContainer.loadingbox .content{
	border-radius:10px;
	height: 120px;
	margin:0;
    width: 120px;	
}

@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@-moz-keyframes spin {
    0% { -moz-transform: rotate(0deg); }
    100% { -moz-transform: rotate(360deg); }
}

@-ms-keyframes spin {
    0% { -ms-transform: rotate(0deg); }
    100% { -ms-transform: rotate(360deg); }
}

@-o-keyframes spin {
    0% { -o-transform: rotate(0deg); }
    100% { -o-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.rotate{
 -webkit-animation: spin 1s infinite linear;
 -moz-animation: spin 1s infinite linear;
 -ms-animation: spin 1s infinite linear;
 -o-animation: spin 1s infinite linear;
 animation: spin 1s infinite linear;
}

@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (   min--moz-device-pixel-ratio: 2),
only screen and (     -o-min-device-pixel-ratio: 2/1),
only screen and (        min-device-pixel-ratio: 2),
only screen and (                min-resolution: 192dpi),
only screen and (                min-resolution: 2dppx) {
	.group__users.active .group__user {
    	background-image: url("../images/groups-icon-active-user@2x.png");
    	background-size: 24px 26px;
	}
	
	#page-schedule .tod-list__day .btn-schedule {
		background-image: url("../images/schedule-arrow@2x.png");
		background-size: 16px 28px;
	}
}





