body
{
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	font-family: "Open Sans", Helvetica, Arial, sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.49;
	color: #666666;
	background: #eeeeee;
}

/* splash */
.splash-bg
{
	background-color:#29166F !important;
}
.login-container
{
	background-color:#FFF;
	padding:20px;
}
.splash-bg h1
{
	font-size:28px;
	text-align:center;
	font-weight:300;
	margin-bottom:30px;
	margin-top: 33%;
	color:#FFF;
}

#main
{
	position: relative;
	min-height: 100%;
	background: #eeeeee;
}

a
{
	color: #4a89dc;
	text-decoration: none;
}



h1
{
	color: #555;
	font-size: 18px;
	margin: 0;
	padding: 0;
}



/*==========================================================================
   Header
==========================================================================*/
#header
{
	height: 60px;
	z-index: 2000;
}

#header .navbar-branding
{
	position: relative;
	overflow: hidden;
	height: 60px;
	width: 100%;
}

#header .navbar-branding .navbar-brand
{
	color: #FFF;
	height: 60px;
	line-height: 58px;
	padding: 0;
	padding-left: 18px;
	font-size: 17px;
	font-weight: 400;
	letter-spacing: 0.5px;
}

#header .navbar-branding .navbar-toggle
{
	float: right;
	padding: 11px 10px;
}

#header .navbar-branding .navbar-toggle .icon-bar
{
	background-color: #fff;
	margin: 3px auto;
	display: block;
	width: 18px;
	height: 2px;
}

#header .welcome-back
{
	font-size:18px;
	line-height:60px;
	float:left;
	display:none;
}






/*==========================================================================
   Sidebar left
==========================================================================*/
#sidebar-left
{
	position: fixed;
	left: 0;
	top: 60px;
	background-color: #30363e;
	color: #fff;
    font-size: 13px;
	width: 100%;
	overflow: hidden;
	z-index: 1000;
}
@media (max-width: 767px)
{
	#sidebar-left
	{
		height:100vh;
		right:0px;
		left:auto;
		top:0px;
		padding-top:60px;
		padding-bottom:15px;
		position: fixed;
    	overflow: auto;
	}
	#sidebar-left .sidebar-content
	{
		max-height:auto;
	}
	#sidebar-left .sidebar-menu .sidebar-label
	{
		padding-top:5px !important;
	}
	#sidebar-left .sidebar-menu > li > a
	{
		height:27px !important;
	}
	#sidebar-left .sidebar-menu
	{
		margin-top:5px;
	}
}

#sidebar-left .sidebar-content
{
	max-height: 100vh;
	overflow-y: scroll;
	overflow-x: hidden;
}

#sidebar-left .sidebar-menu
{

}

#sidebar-left .sidebar-menu > li
{
    margin: 0;
}

#sidebar-left .sidebar-menu > li > a
{
	padding: 0;
	line-height: 35px;
	height: 30px;
	overflow: hidden;
	color: #FFF;
	display: block;
}

#sidebar-left .sidebar-menu > li > a.menu-open, .sidebar-menu > li > a:hover, .sidebar-menu > li > a:focus
{
    text-decoration: none;
    background-color:#1c8598 !important;
}

#sidebar-left .sidebar-menu > li > a.active
{
	background-color:#1c8598 !important;
}

#sidebar-left .sidebar-menu > li > a > span:nth-child(1)
{
    float: left;
    top: 0;
    line-height: 35px;
    width: 38px;
    font-size: 13px;
    text-align: center;
    padding-left: 13px;
}

#sidebar-left .sidebar-menu > li > a > span:nth-child(2)
{
    font-weight: 600;
    padding-left: 6px;
}

#sidebar-left .sidebar-menu > li > a > .sidebar-title-tray
{
    position: absolute;
    right: 13px;
    top: -2px;
}

#sidebar-left .sidebar-menu > li > a > span.caret
{
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 2px;
	vertical-align: middle;
	position: absolute;
	top: 45%;
	right: 13px;
	border-top: 5px solid;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	color: #858483;
}

#sidebar-left .sidebar-menu > li > ul.sub-nav
{
    clear: both;
    display: none;
    height: auto;
	background-color: #282d33;
}

#sidebar-left .sidebar-menu > li > a.menu-open + ul.sub-nav
{
    display: block;
}


#sidebar-left .sidebar-menu > li > ul.sub-nav > li > a
{
    padding: 8px 20px 8px 30px;
	color: #bbbbbb;
}

#sidebar-left .sidebar-menu > li > ul.sub-nav > li > a.active, .sidebar-menu > li > ul.sub-nav > li > a:hover, .sidebar-menu > li > ul.sub-nav > li > a:focus
{
    text-decoration: none;
    background-color: rgba(255, 255, 255, .02);
	color: #FFF;
}

#sidebar-left .sidebar-menu .sidebar-label
{
	text-transform: uppercase;
	color: #70829a;
	font-weight: 600;
	padding-left: 18px;
	padding-bottom: 3px;
	font-size: 12px;
	padding-top: 20px;
}















/*==========================================================================
  Main content
==========================================================================*/
#content-wrapper
{
	padding-top: 60px;
}

#topbar
{
	position: relative;
	width: 100%;
	background: #fafafa;
	border-bottom: 1px solid #e0e0e0;
}

#topbar .topbar-left
{
	padding: 15px 20px;
}

#topbar .topbar-right
{
	float: right;
	padding: 10px 20px;
}

#topbar .topbar-right .btn
{
	font-weight: bold;
}

#topbar .breadcrumb
{
	margin: 0;
	padding: 0;
	background-color: transparent;
}

#topbar .breadcrumb > li.crumb-active > a
{
    color: #555;
    font-size: 18px;
}

#content-wrapper .content
{
	padding: 20px;
}


.spacer
{
	height:15px;
}
.spacer-lg
{
	height:30px;
}


.grey-box
{
	background-color:#f2f2f2;
	border:1px solid #efefef;
	padding:10px;
	min-height:150px;
	border-radius:4px;
}



.panel
{
	position: relative;
	margin-bottom: 20px;
	background-color: #ffffff;
	border-radius: 0px;
	border: 0;
}

.panel-heading
{
	position: relative;
	height: 40px;
	line-height: 36px;
	background: #fafafa;
	color: #666666;
	font-size: 13px;
	font-weight: 600;
	padding: 0 8px;
	border: 1px solid #e5e5e5;
	border-top-right-radius: 1px;
	border-top-left-radius: 1px;
}

.panel-heading > .panel-title
{
    padding-left: 6px;
    margin-top: 0;
    margin-bottom: 0;
	max-width:80%;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.panel-heading > .panel-controls
{
	float: right;
	display: block;
	cursor: pointer;
	position: absolute;
	top:0px;
	right:10px;
}

.panel-heading >.panel-controls > a
{
	padding-top: 1px;
	display: inline-block;
	opacity: 0.7;
	width: 30px;
	color: #999;
	font-size: 14px;
	font-weight: normal;
	text-align: center;
}

.panel-heading >.panel-controls > a:hover
{
	color: #222;
}

.panel-heading .panel-tabs
{
	float: right;
	margin: 0;
	padding: 0;
}

.panel-heading .panel-tabs li
{
	float: left;
	margin: 0;
	padding: 0;
}

.panel-heading .panel-tabs li a
{
	float: left;
	display: block;
	padding: 0px 15px;
	margin: 0;
	line-height: 36px;
	border-top: 2px solid transparent;
	border-bottom: 1px solid transparent;
	border-left: 1px solid transparent;
	border-right: 1px solid transparent;
}

.panel-heading .panel-tabs li.active > a
{
    border-top: 2px solid #4a89dc;
	background-color: #FFF;
	border-bottom: 1px solid #FFF;
	border-left: 1px solid #DDD;
	border-right: 1px solid #DDD;
}

.panel-body
{
	position: relative;
	padding: 15px;
	border: 1px solid #e5e5e5;
}


.panel-heading + .panel-body
{
    border-top: 0;
}

.panel-top-filter
{
	padding: 10px;
	border: 1px solid #e5e5e5;
}

.panel-top-filter + .panel-body
{
	border-top: 0;
}

.panel-body h2
{
	margin:0px;
	margin-bottom:20px;
	color: #555;
	font-size: 18px;
}
.panel-body.panel-list strong
{
	display:inline-block;
	padding-right:15px;
	width:100px;
}
.panel-body.panel-list span
{
	display:inline-block;
}
.panel-body.panel-list .profile-address-container
{
	margin-top:-45px;
}
.panel-body.panel-list .profile-address-line
{
	display:block;
	text-align:right;
}

.panel-body.hero-stats strong
{
	display:block;
	text-align:center;
	color:#555;
	height:40px;
}
.panel-body.hero-stats .figure
{
	font-size:24px;
	border:none;
	background-color: #2c9fb4;
	text-align:center;
	line-height:80px;
	width:80px;
	height:80px;
	margin-left:auto;
	margin-right:auto;
	border-radius:50%;
	margin-bottom:30px;
	color:#FFF;
}

.panel-body .tab-pane
{
	padding-top:15px;
}

.panel-body .profile-img
{
	border:1px solid #cfcfcf;
	background-color:#fff;
	overflow:hidden;
	padding:5px;
}
.panel-body .profile-img img
{
	width:100%;
}


.note-profile
{
	width:60px;
	height:60px;
	float:left;
	margin-right:10px;
	overflow:none;
	border-radius:50%;
	text-align:center;
	color:#FFF;
	font-size:24px;
	padding-top:12px;
	background-color:#4a89dc;
}


.ajax-lookup
{
	margin:0px;
	padding:0px;
	padding-top:15px;
	padding-bottom:15px;
	border:1px solid #cfcfcf;
	border-top:none;
	border-bottom-left-radius:5px;
	border-bottom-right-radius:5px;
	list-style:none;
}
.ajax-lookup li
{
	display:block;
	margin:0px;
}
.ajax-lookup li:first-child
{
	padding-top:0px;
}
.ajax-lookup li:last-child
{
	padding-bottom:0px;
}
.ajax-lookup li a
{
	font-weight:bold;
	color:#555;
	display:block;
	padding:4px 15px;
	text-decoration: none;
}
.ajax-lookup li:hover a
{
	background-color:#4a89dc;
	color:#FFF !important;
}

/*==========================================================================
  Bootbox
==========================================================================*/
.modal-dialog
{
	margin-top:150px;
}

.modal-alert
{
	border:3px solid #2c9fb4;
}

/*==========================================================================
  Session
==========================================================================*/
.session-toggle-row
{
	margin-left:-10px;
	margin-right:-10px;
	min-height:200px;
}
.session-toggle-container
{
	width:100px;
	height:160px;
	float:left;
	padding-left:10px;
	padding-right:10px;
	position:relative;
	margin-bottom:30px;
}
.session-toggle-container span
{
	display:block;
	text-align:center;
	text-transform:uppercase;
	margin-top:5px;
	margin-bottom:5px;
}
.session-toggle-container a
{
	display:block;
	width:80px;
	height:80px;
	border:1px solid #cfcfcf;
	color:#555;
	margin-bottom:15px;
	border-radius:3px;
	font-size:24px;
	text-align:center;
	padding-top:12px;
	color:#FFF;
	text-decoration: none;
	font-weight:100;
}
.session-toggle-container a:hover, .session-toggle-container a.active
{
	background-color:#2c9fb4;
	color:#FFF;
	border:1px solid #2c9fb4;
}

.session-toggle-small
{
	width:70px;
	height:70px;
	padding-left:5px;
	padding-right:5px;
}

.session-toggle-small  a
{
	width:60px;
	height:60px;
}
.session-toggle-small  a.disabled
{
	pointer-events: none;
	background-color:#efefef;
}
.session-toggle-small  a.session-organisation-funded
{
	background-color:green !important;
	border:1px solid green !important;
}
.session-toggle-small  a.session-self-funded
{
	background-color:purple !important;
	border:1px solid purple  !important;
}

.session-thumbnail-row
{
	clear:both;
	min-height:60px;
	padding-left:-5px;
	padding-right:-5px;
}
.session-thumbnail
{
	width:55px;
	height:55px;
	border:1px solid #cfcfcf;
	padding-top:7px;
	text-align:center;
	margin:5px;
	float:left;
	border-radius:3px;
}
.session-thumbnail.active
{
	background-color:#2c9fb4;
	border:1px solid #2c9fb4;
	color:#FFF;
}



/*==========================================================================
  Rollcall
==========================================================================*/

.roll-call-profile
{
	width:220px;
	height:220px;
	padding:10px;
	overflow:hidden;
	margin-left:auto;
	margin-right:auto;
	border:1px solid #cfcfcf;
	background-color:#f1f1f1;
	border-radius:4px;
	margin-bottom:30px;
	margin-top:15px;
}

.user-name
{
	font-weight:bold;
	font-size:28px;
	margin-bottom:15px;
}
.roll-position
{
	font-size:16px;
	font-weight:bold;
	display:block;
	margin-bottom:30px;
}

.day-name
{
	margin-top:10px;
	font-size:1.5em;
	font-weight:bold;
}
.title-centered
{
	font-size:32px;
	text-align:center;
}
.btn-roll-call
{
	font-size:24px;
}

.btn-absent
{
	background-color:#e82c2c;
	border:none !important;
	color:#FFF;
}
.btn-absent:hover, .btn-absent:active
{
	background-color:#e82c2c;
	opacity:0.8;
	color:#FFF;
}

.btn-present
{
	background-color:#39efb9;
	border:none !important;
	color:#FFF;
}
.btn-present:hover, .btn-present:active
{
	background-color:#39efb9;
	opacity:0.8;
	color:#FFF;
}

.roll-call-user-list
{
	list-style:none;
	margin:0px;
	padding:0px;
	margin-top:80px;
}
.roll-call-user-list li
{
	margin:0px;
	padding:0px;
	list-style:none;
	padding-bottom:5px;
	padding-top:5px;
	font-size:16px;
}
.roll-call-user-list li a, .roll-call-user-list li a:hover, .roll-call-user-list li a:active
{
	color:#444;
	text-decoration: none;
}

.icon-attendance
{
	display:inline-block;
	width:30px;
	height:30px;
	float:left;
	color:#444;
}

.absence-reason-radio
{
	line-height:18px;
}

.other-reason
{
	height:50px;
}

.table-register td
{
	padding-top:8px;
	padding-bottom:8px;
	height:50px;
	border-right:2px solid #f2f2f2;
	text-align:center;
	color:#999;
}
.table-register td:first-child
{
	text-align:left;
}
.table-register i
{
	font-size:18px;
}
.table-absent-icon
{
	color:red;
}
.table-present-icon
{
	color:#42d6aa;
}


/*==========================================================================
  Service user
==========================================================================*/
.profile-image-container
{
	width:160px;
	height:160px;
	overflow:hidden;
	background-color:#ccc;
	display:table;
	color:#FFF;
}
.profile-image-container img
{
	width:160px;
	display:table-cell;
	vertical-align:middle;
}


.form-checkbox .checkbox
{
	cursor: auto;
	position: relative;
	background: #FFF;
	border: none;
	height: 29px;
	width: auto;
	top:0;
	margin: 0;
	display: inline-block;
	margin-top: 0px;
	margin-right: 20px;
}

/*==========================================================================
  Errors
==========================================================================*/
.alphabet-container
{
	min-height:40px;
	position: relative;
	display:block;
	text-align:center;
}
.alphabet-container .alphabet
{
	color:#000;
	display:inline-block;
	padding-left:5px;
	padding-right:5px;
	font-weight:bold;
}



/*==========================================================================
  Errors
==========================================================================*/
#error-container
{
	margin-top:200px;
}
#error-container h1, .error-container h2, .error-container h3
{
	font-weight:bold;
	text-align:center;
	margin-bottom:30px;
}
#error-container h1
{
	font-size:60px;
}
#error-container p
{
	font-size:18px;
	color:#666;
	text-align:center;
}


.dashboard-logo
{
	max-height:180px;
	border:1px solid #dfdfdf;
	padding:15px;
	background-color:#FFF;
	margin-bottom:15px;
}
.dashboard-logo img
{
	max-height:180px;
}


/*==========================================================================
  Footer
==========================================================================*/
footer
{
	display:none;
	font-size:12px;
	color:#9ea7b2;
	text-align:center;
	position:absolute;
	bottom:0px;
	padding:10px;
	margin-right: 20px;
}
