/* Shifts: 576px, 768px, 992px, 1200px */
/******************************************************
LAYOUT
******************************************************/

#main { padding:62px 30px; }
.main .page-header { margin-top: 0; }

/* Move down content because we have a fixed navbar that is 50px tall */
.navbar-fixed-top + .main  { position:relative; top:62px; }
.nomenu .main, .layout-block .main { position:static; top:0; }

html.layout-block, .layout-block body, .layout-block .main { height:100%; width:100%; margin:0; padding:0 }
.layout-block .main { display:table; margin:0; padding:0; }
.layout-block .main-inner { display:table-cell; vertical-align:middle; margin:0; }
.layout-block #brand { /*width:200px; margin:0 auto;*/ text-align:center; font-size:30px; color:#abacad; margin-bottom:10px; }
.layout-block .content { width:100%; max-width:576px; margin:0 auto; padding:20px; background-color:#fff; border-radius:16px; }
.layout-block .content .page-header { text-align:center; }
.layout-block .alert { margin-bottom:20px; }
.layout-center .content { max-width:580px; margin-left:auto; margin-right:auto; } 
.layout-center .content .page-header { text-align:center; }
.navbar.bg-light { box-shadow: 0 0 7px rgba(0,0,0,0.2); }

.navbar-brand img { width:auto; max-height:36px; }
#brand img { width:100%; max-width:300px; height:auto; }

.output { padding-bottom:200px; }
.layout-block .output { padding-bottom:0; }
.output > p, .output > form:not(.form-inline) { max-width:580px; }

@media (max-width:768px) {
	#main { padding-left: 15px; padding-right:15px; }
	.layout-block div.form-container { text-align:center; }
	.layout-block form { display:inline-block; }
	.layout-block .content { padding:0; }
    #mainmenu .navbar-nav { margin-top:0; margin-bottom:0; }
	#mainmenu.navbar-inverse .navbar-nav > li { border-bottom:1px solid #CAE0DF; }
	#mainmenu.navbar-inverse .navbar-nav > li > a,
	#mainmenu.navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color:#1c97ba; opacity:1; }
	#mainmenu.navbar-inverse .navbar-nav > li > a:hover,
	#mainmenu.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover { color:#0e9046; background-color:#e7f4ed; }
	#mainmenu.navbar-inverse .navbar-nav .open .dropdown-menu { background-color:#e8f5f8; }
	#mainmenu.navbar-inverse .navbar-nav > .open > a, 
	#mainmenu.navbar-inverse .navbar-nav > .open > a:focus, 
	#mainmenu.navbar-inverse .navbar-nav > .open > a:hover { background-color:transparent; }
	#mainmenu.navbar-inverse .navbar-nav > .active > a, 
	#mainmenu.navbar-inverse .navbar-nav > .active > a:hover, 
	#mainmenu.navbar-inverse .navbar-nav > .active > a:focus,
	#mainmenu.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, 
	#mainmenu.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus, 
	#mainmenu.navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover { background-color:#1c97ba; color:#fff; opacity:1; }
}

@media (min-width:1280px) {
	.sidebar { width:300px; }
	.content { margin-left:300px; width:auto; max-width:none; flex:1; }
}

/******************************************************
TYPOLOGY
******************************************************/
body {
	font-size:15px;
	font-family: "Raleway", Arial, sans-serif;
}
hr { border-top:1px dotted #88ABB5; }
.content > .page-header { margin-top:20px; }
.layout-default .content > .page-header { border-bottom:1px dotted #88ABB5; padding-bottom:16px; margin-bottom:20px; }

.sub-header, .page-header { padding-bottom:0; border-bottom:none; color:#000; }
.layout-block .page-header { margin:0 0 20px; font-size: 24px; }

h1, h2, h3, h4, h5, h6 { color:#2e2f33; margin:2rem 0 1rem; }
.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6 { color:#fff !important; }
h1 { font-size:36px; }
h2 { font-size:26px; }
h3 { font-size:22px; }
h4 { font-size:19px; }
h5 { font-size:17px; }
h6 { font-size:16px; }

.note { font-family:arial, sans; font-size:13px; font-style:italic; color:#ae9c3e; line-height:14px; margin-bottom:10px; padding: 4px 0; }
.dim { opacity:0.5; }

/******************************************************
PAGINATION
******************************************************/
.pagination { margin-right:20px; }
.pagination > .page-item > .page-link, 
.pagination > .page-item > span {
	color: #1c97ba;
}
.pagination > .page-item > .page-link:focus, 
.pagination > .page-item > .page-link:hover, 
.pagination > .page-item > span:focus, 
.pagination > .page-item > span:hover {
	color: #0e9046;
	background-color: #e7f4ed;
}
.pagination > .page-item.active > .page-link, 
.pagination > .page-item.active > .page-link:focus, 
.pagination > .page-item.active > .page-link:hover, 
.pagination > .page-item.active > span, 
.pagination > .page-item.active > span:focus, 
.pagination > .page-item.active > span:hover {
	background-color: #1c97ba;
	border-color: #1c97ba;
	color: white;
}
.pagination > .page-link {
	border-color:#CAE0DF;
}
.result-count { 
	display:inline-block;
	margin-top:20px; 
	position:relative; 
	top:-30px; 
	color:#97979c;
}

/******************************************************
BUTTONS / LINKS
******************************************************/
a { color: #1c97ba; }
a:hover, a:focus { color:#0e9046; }
a:active { color:#0a6531; }

.toggle { cursor:pointer; }
.toggle { color: #1c97ba; cursor:pointer; }
.toggle:hover, .toggle:focus { color:#0e9046; }
.toggle:active { color:#0a6531; }

.btn-primary 
{ color:#fff; background-color:#1c97ba; border-color:#1c97ba; }
.btn-primary:hover, .btn-primary:focus, .btn-primary.focus 
{ color:#fff; background-color:#0e9046; border-color:#0e9046; }
.btn-primary:active, .btn-primary:active:hover, .btn-primary:active:focus 
{ color:#fff; background-color:#0a6531; border-color:#0a6531; }

.btn-secondary 
{ color:#1c97ba; background-color:#e8f5f8; border-color:#CAE0DF; }
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary.focus 
{ color:#0e9046; background-color:#e7f4ed; border-color:#cfe9da; }
.btn-secondary:active, .btn-secondary:active:hover, .btn-secondary:active:focus, .btn-secondary:not(:disabled):not(:disabled):active 
{ color:#0a6531; background-color:#e7f4ed; border-color:#cfe9da; }

.btn-dark 
{ color:#fff; background-color:#888888; border-color:#888888; }
.btn-dark:hover , .btn-dark:focus
{ color:#fff; background-color:#6d6d6d; border-color:#6d6d6d; }
.btn-dark:active, .btn-dark:active:hover, .btn-dark:active:focus  
{ color:#d3d3d3; background-color:#626262; border-color:#212121; }

.btn + .btn { margin-left:8px; }
.btn > span + .btn-label { margin:0 2px 0 8px; }

.btn-view, .btn-edit, .btn-delete, .btn-sort,
.btn-view:hover, .btn-edit:hover, .btn-delete:hover, .btn-sort:hover { color:white; }
.btn-view .icon, .btn-edit .icon, .btn-delete .icon, .btn-sort .icon { position:relative; top:-1px; }
.btn-sort { cursor:grab; }

.btn-add-frame .btn { margin:0 10px 20px 0; }
.btn-add-frame { margin:0 0 20px; border-bottom:1px dotted #88ABB5; }

@media (min-width:581px) {
	.btn-view .btn-label, .btn-edit .btn-label, .btn-delete .btn-label, .btn-sort .btn-label { display:none; }
	.btn-view, .btn-edit, .btn-delete, .btn-sort, 
	.table-respond .btn-success, .table-respond .btn-warning, .table-respond .btn-danger, .table-respond .btn-info {
		border-color:white;
		background-color: white;
	}
	.btn-view, .btn-edit, .btn-delete, .btn-sort, 
	.table-respond .btn-success, .table-respond .btn-warning, .table-respond .btn-danger, .table-respond .btn-info { padding:2px 4px; }
	.btn-view, .table-respond .btn-success { color:#28a745; }
	.btn-edit, .table-respond .btn-warning { color:#ffc107; }
	.btn-delete, .table-respond .btn-danger { color:#dc3545; }
	.btn-sort, .table-respond .btn-info { color:#17a2b8; }
	
	.btn-view:hover, .table-respond .btn-success:hover { border-color:#28a745; }
	.btn-edit:hover, .table-respond .btn-warning:hover { border-color:#ffc107; }
	.btn-delete:hover, .table-respond .btn-danger:hover { border-color:#dc3545; }
	.btn-sort:hover, .table-respond .btn-info:hover { border-color:#17a2b8; }
	
	.btn-view:active, .table-respond .btn-success:active { background-color:#28a745; color:white; }
	.btn-edit:active, .table-respond .btn-warning:active { background-color:#ffc107; color:white; }
	.btn-delete:active, .table-respond .btn-danger:active { background-color:#dc3545; color:white; }
	.btn-sort:active, .table-respond .btn-info:active { background-color:#17a2b8; color:white; }
}

/******************************************************
SWITCHES
******************************************************/
.switch { display:inline-block; vertical-align:middle; position:relative; margin:0 !important; padding:0 !important; }
.checkbox label.switch { margin:0; padding:0; }
input.switch-input { display:none; }
.switch-slider { 
	display:inline-block; 
	vertical-align:middle; 
	position:relative; 
	border-radius:28px; 
	height:28px;
	line-height:28px;
	background-color:black; 
	min-width:50px; 
	cursor:pointer; 
	font-size:14px;
	text-transform:uppercase;
	margin-right:6px;
}
.switch-slider .switch-text-on, .switch .switch-text-off { 
	display:inline-block;
	vertical-align:middle; 
	color:white;
	opacity:1;
	-webkit-transition: opacity 200ms ease-out 100ms;
	transition: opacity 200ms ease-out 100ms;
}
.switch-slider .switch-text-on { 
	opacity:0;
	margin-left:8px;
	margin-right: 4px;
}
.switch-slider .switch-text-off { 
	opacity:1;
	margin-right:8px;
}
.switch-slider .switch-handle { 
	position:absolute; 
	left:0; top:2px;
	margin-left:2px;
	background-color:#fff; 
	border-radius:50%;  
	width:24px; height:24px;
	-webkit-transition: margin 300ms ease-out;
	transition: margin 300ms ease-out; 
}
input.switch-input + .switch-slider { background-color:#CC0000; }
input.switch-input + .switch-slider:hover { background-color:#FF0000; }
input.switch-input:checked + .switch-slider { background-color:#339900; }
input.switch-input:checked + .switch-slider:hover { background-color:#66CC00; }
input.switch-input:checked + .switch-slider .switch-text-on { opacity:1; }
input.switch-input:checked + .switch-slider .switch-text-off { opacity:0; }
input.switch-input:checked + .switch-slider .switch-handle {
	margin-left:calc(100% - 26px);
	-webkit-transition: margin 300ms ease-out;
	transition: margin 300ms ease-out;
}
.switch .switch-label { display:inline-block; vertical-align:middle; }

.flip-switch { margin:0; padding:0; }
.checkbox label.flip-switch { margin:0; padding:0; }
input.flip-switch-input { display:none; }
input.flip-switch-input + .flip-switch-btn {
	display: inline-block;
	font-size:14px; 
	line-height:14px;
	text-transform:uppercase;
	color:white;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
	margin-right:6px;
}
input.flip-switch-input + .flip-switch-btn:after {
	display: inline-block;
	border-radius:24px;
    padding: 8px 12px;
	content:'No';
	background-color:#CC0000;
}
input.flip-switch-input:checked + .flip-switch-btn:after {
	content:'Yes';
	background-color:#339900;
}
input.flip-switch-input + .flip-switch-btn:hover:after {
	background-color:#FF0000;
}
input.flip-switch-input:checked + .flip-switch-btn:hover:after {
	content:'Yes';
	background-color:#66CC00;
}
.flip-switch-label { display:inline-block; vertical-align:middle; }
/******************************************************
NAVIGATION
******************************************************/
.navbar-fixed-top { border: 0; }
.content { position:relative; }
.sidebar { 
	display: block; 
	padding:0; 
	margin:0; 
	background-color: #e8f5f8;
	overflow-x: hidden;
	overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
	z-index: 100;
	border-right: 1px solid #CAE0DF;
	position: fixed;
	top: 62px;
	bottom: 0;
	left: 0;
}
#sidebartoggle { 
	/*display:none;*/ 
	background-color: #e8f5f8;
	position: fixed;
	top: 70px;
	left: 0;
	cursor:pointer;
	padding:4px 2px 4px 10px;
	text-align:right;
	font-size:28px;
	border-radius:0 20px 20px 0;
	border-top: 1px solid #CAE0DF;
	border-bottom: 1px solid #CAE0DF;
	border-right: 1px solid #CAE0DF;
	z-index: 99;
	color:#1c97ba;
}


@media screen and (max-width: 767px) {
  #sidebartoggle, .sidebar {
    -webkit-transition: all .25s ease-out;
         -o-transition: all .25s ease-out;
            transition: all .25s ease-out;
  }
  .sidebar { width:200px; left:-200px; }
  .sidebar.active { left:0; box-shadow: 1px 0 10px rgba(0,0,0,0.2); }
  #sidebartoggle.active { left:200px; background-color: #1c97ba; color:#CAE0DF; border-color:#1c97ba; }
  body:not(.nosidemenu) .content > .page-header { text-indent:46px; }
}

/* Sidebar navigation */
.sidebar > .nav { margin-right: -1px;}
.sidebar > .nav > li { border-bottom:1px solid #CAE0DF; }
.sidebar > .nav > li.header { background-color: #fff; }
.sidebar > .nav > li > ul.nav-child { list-style: none; margin:0; padding:10px 10px; background-color:white; }
.sidebar > .nav > li.header > ul.nav-child { padding-top:0; }
.sidebar > .nav > li > ul.nav-child > li { margin:0; padding:0; }
.sidebar > .nav > li > a,
.sidebar > .nav > li > span { padding: 10px 20px; }
.sidebar > .nav > li > span.nav-header { color: #88888c; font-size: 0.933em; font-weight: 300;
	padding: 20px 20px 6px 20px; text-transform: uppercase; text-align: center; letter-spacing: 1px; }
.sidebar > .nav > li > ul.nav-child > li > a,
.sidebar > .nav > li > ul.nav-child > li > span { padding: 4px 10px; }
.sidebar > .nav > li > a,
.sidebar > .nav > li > span,
.sidebar > .nav > li > ul.nav-child > li > span,
.sidebar > .nav > li > ul.nav-child > li > a { position: relative; display: block; }
.sidebar > .nav > li > a:focus, 
.sidebar > .nav > li > a:hover,
.sidebar > .nav > li.toggles > span:focus, 
.sidebar > .nav > li.toggles > span:hover,
.sidebar > .nav > li > ul.nav-child > li > a:focus, 
.sidebar > .nav > li > ul.nav-child > li > a:hover { background-color:#e7f4ed; text-decoration: none; }
.sidebar > .nav > li > a:active, 
.sidebar > .nav > li > a:active:hover, 
.sidebar > .nav > li > a:active:focus,
.sidebar > .nav > li > ul.nav-child > li > a:active, 
.sidebar > .nav > li > ul.nav-child > li > a:active:hover, 
.sidebar > .nav > li > ul.nav-child > li > a:active:focus { background-color:#cfe9da; } 
.sidebar > .nav > .active > a,
.sidebar > .nav > .active > a:hover,
.sidebar > .nav > .active > a:focus,
.sidebar > .nav > li > ul.nav-child > .active > a,
.sidebar > .nav > li > ul.nav-child > .active > a:hover,
.sidebar > .nav > li > ul.nav-child > .active > a:focus { color: #fff; background-color: #1c97ba; }
.nav .dropdown-menu { font-size:inherit; }

/******************************************************
TABLES
******************************************************/
table.table-respond { width:auto; margin-bottom:20px; }
table.table-respond .theader { display:none; font-weight:bold; font-size:12px; line-height:normal;  }
table.table-respond td, table.table-respond th { vertical-align:middle; line-height:normal; padding:0.75rem;  }
table.table-respond tr.group-header td { padding:0; margin:0; }
table.table-respond.table-bordered { border:none; }
table.table-respond.table-bordered thead th { background-color:#EBEFF2; color:#252629; font-size:12px }
table.table-respond.table-bordered tr.group-header td { border:none; }

@media (min-width:581px) {
	table.table-respond > tbody > tr:hover > td { background-color:#FFF2ED;  }
}
@media (max-width:580px){
  table.table-respond { display:block; border:none; margin-bottom:30px; }
  table.table-respond thead tr { display:none; }
  table.table-respond thead, table.table-respond thead tr.group-header, table.table-respond thead tr.group-header td { display:block; }
  table.table-respond tbody { display:block; }  
  table.table-respond tbody tr { display:table; width:100%; border-top: 6px solid #2e2f33;; margin:0 0 20px; }
  table.table-respond tbody td { display:table-row; padding:0; margin:0; }
  table.table-respond .theader { width:25%; white-space:nowrap; padding-right:8px;  }
  table.table-respond .tcol { display:table-cell; padding:6px 8px; vertical-align:middle; }  
  table.table-respond > tbody > tr > td:nth-child(2n+1) .tcol { background-color:#eaeaeb;  }
  .table-striped > tbody > tr:nth-of-type(2n+1) { background-color:inherit; }
}

table.datalist { border-collapse: collapse; }
table.datalist td { vertical-align:middle;	}
table.datalist th,
table.datalist thead > td {
	white-space:nowrap;
	font-size:12px;
	text-transform:uppercase;
	font-weight:bold;  
	color:#2e2f33;
	background-color:transparent;
	vertical-align:middle;
}
/*table.datalist > tbody td, table.datalist > tbody th { border-bottom:1px dotted #cbcbce; }*/
table.datalist > tbody > tr:nth-child(2n+1) > td,
table.datalist > tbody > tr:nth-child(2n+1) > th {
    background-color: #eaeaeb;
}
table.nowrap tr td, td.nowrap { white-space:nowrap; }
.row-controls, .actions { white-space:nowrap; }
.row-controls .btn { padding: 2px 4px 0 5px; }

table.table-view { width:auto; }
h1 + table.table-view, h2 + table.table-view, h3 + table.table-view, h4 + table.table-view, h5 + table.table-view, h6 + table.table-view { margin-top:0; }
table.table-view > tbody > tr > td, table.table-view > tbody > tr > th { padding:4px 6px; vertical-align:middle; border:0; }
table.table-view > tbody > tr > th:first-child, table.table-view > tbody > tr > td:first-child { padding-left:0; white-space:nowrap; }
table.table-view > tbody > tr > td { font-size:1.1em; }
table.table-view > tbody > tr > th { font-weight:bold; font-size:0.875em;  }
table.table-view hr { padding:0; margin:0; /*border-top:1px dotted #ccc;*/ }
table.table-view iframe { width:500px; height:400px; border:1px solid #999; resize:both; }

table.table-browse { margin:2em 0; }
table.table-browse th { color:#fff; background-color:#252629; }
table.table-browse td { white-space:nowrap; width:1%; }
table.table-browse > tbody > tr > td { vertical-align:middle; padding-right:24px }
table.table-browse tr td:last-child, table.table-browse td.full { width:75%; }
table.table-browse td.fit { width:1%; }

@media (max-width:576px){
  table.datalist { width:100%; }
  table.datalist th { width:auto; white-space:normal; }
  table.datalist th, table.datalist td { display:block; padding:2px 16px 0; width: auto !important; max-width:inherit !important; }  
  table.datalist tr th:first-child, table.datalist tr td:first-child { padding-top:16px; }  
  table.datalist tr th:last-child, table.datalist tr td:last-child { padding-bottom:16px; }  
  table.datalist tr th:first-child, table.datalist tr td *:first-child { margin-top:0; }
  table.datalist tr th:first-child, table.datalist tr td *:last-child { margin-bottom:0; }
  /*
  table.table-view, table.table-view tbody, table.table-view tr { display:block; width:auto !important }
  table.table-view tr { white-space:normal;  }
  table.table-view td, table.table-view th { display:inline-block; vertical-align:middle; white-space:normal; }
  table.table-view tr th, table.table-view tr td { padding:8px 8px 8px 0; }
  table.table-view tr th:first-child, table.table-view tr td:first-child { width:auto !important; }
  table.table-view tr.divider { display:none; }
  */
 
}
@media (max-width:768px){
	table.table-view { min-width:100%; }
	table.table-view iframe { width:100%; }
}

@media (min-width:576px){
	table.min-first-column tbody tr td:first-child,
	table.min-first-column tbody tr th:first-child { 
		width:1%; white-space:nowrap; padding-right:24px 
	}
}

/******************************************************
FORMS
******************************************************/
form { margin: 1em 0 2em; }
.form-container { padding:1px 0; }
.modal-dialog .form-container { padding:0; }
.layout-block form { margin: 0; }
.form-control { box-shadow:none; }
.form-control[disabled], 
.form-control[readonly], 
fieldset[disabled] .form-control {
    background-color: #f7f7f7;
    color: #777;
}
form .form-control { width:auto; max-width:100%; color:black; font-family:Tahoma,Arial,sans; }
form .form-control:focus { box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(35,189,232,.6); border-color:#23BDE8; }
.input-group .form-control { float:inherit; width:auto; }
.form-container.bordered { margin:0 0 20px; border-bottom:1px dotted #88ABB5; }
.form-container.bordered form { margin-top:0; margin-bottom:20px; }
.form-container.bordered form div:first-child, .form-container.bordered form .form-group { margin-top:0; }

/* FORM TABLE */
form table { width:auto; background-color: white; border-collapse: collapse; border-spacing: 0; margin:12px 0; border: none; }
.modal-dialog form table { width:100%; }
form th, form thead td { background-color:transparent; color:inherit; font-weight:bold; font-size: 15px; line-height: 19px; }
form th, form td {  padding: 4px 16px 4px 0; text-align: left; vertical-align: top; border: none; }
form table .padtop, form tr.padtop td, form tr.padtop th {  padding-top:30px; }
form th[colspan], form thead td[colspan], form tr td:first-child, form tr th:first-child { padding-left:0; }
form table td, form table th { border: none }
form table tbody tr:nth-child(2n+1) td { background-color: transparent; }
form table.stack { width: 100% }
form table.stack th, form table.stack td { display:block; width:auto !important; }
form table.stack tr td:first-child { padding-bottom:0; line-height:normal; } 
form table h1, form table h2, form table h3, form table h4, form table h5, form table h6 { margin-top:12px; margin-bottom:0; }
form table.center { margin-left:auto; margin-right:auto; }
form table hr { margin:10px 0 }
form table hr.topline { margin-top:0; }
form label { font-weight:bold; /*font-size:14px;*/ }
form table label { margin:8px 0 0; }
form table .typebox label { margin:4px 0; }
form table input + label { font-weight:normal; }
form table td.col-submit { padding-top:20px; text-align:center; }
form table td.align-right { text-align:right; }
form table tr.typebox td.label-right { text-align:left; }
form table tr.typebox td.label-right input { margin-right:8px; }
@media (max-width:767px){
  form th, form td { display:block; width:auto !important; }
  form tr td:first-child { padding-bottom:0; line-height:normal; }  
}
@media (min-width: 768px) {
	form table:not(.stack) tr td:first-child:not([colspan]) { text-align:right; white-space:nowrap; } 
	form tr td.col-submit { text-align:center !important; }
}
@media (max-width:576px){
  form table input[type="text"], form table input[type="password"], form table textarea { width:100% !important; }
  form select, form select.form-control { max-width:80vw; }
}

/* BOOTSTRAP FORM */
.radio input[type="radio"], 
.radio-inline input[type="radio"], 
.checkbox input[type="checkbox"], 
.checkbox-inline input[type="checkbox"] { margin-left:0; }
.checkbox input[type="checkbox"] + label { margin-left:5px; font-weight:bold; }
.control-label, .input-frame { padding-left:15px; padding-right:15px; }
.control-label { text-align:left; padding-right:0; }
.form-horizontal .control-label.col-xs-12, 
.form-horizontal .control-label.col-sm-12, 
.form-horizontal .control-label.col-md-12, 
.form-horizontal .control-label.col-lg-12 { text-align:left; }
.form-group { margin:10px 0; text-align:left; }
.form-group.kind-space { padding:0; margin-top:0; margin-bottom:0 }
.form-group.typebox { margin-top:0; }
.form-group + .form-group.typebox { margin-top:20px; }
.form-group.typebox + .form-group { margin-top:20px; }
.form-group.typebox + .form-group.typebox { margin-top:0; }
.form-inline .form-group + .form-group.typebox { margin-top:0; }
.form-group.group-submit { margin-top:24px; }
.form-inline .form-group.group-submit { margin-top:10px; }
.kind-html p:last-child { margin-bottom:0 }
.kind-html label + .input-frame { padding-top:7px; }
form hr { margin-top:10px; margin-bottom:10px; }
.form-horizontal.form-inline .form-group { margin-left:0; margin-right:0; }
.form-inline .control-label, .form-inline .input-frame { padding-left:0; padding-right:2px; }
.form-inline .form-group { padding-right:6px; }

@media (min-width: 768px) {
	.form-inline .control-label, .form-inline .input-frame { display: inline-block; }
	.group-submit .input-frame { display: block; }
	.form-horizontal .control-label.inline { display:inline-block; position:relative; top:-10px; text-align:left; margin-bottom:0; }
	.form-horizontal .input-frame.inline { display:inline-block; }
	.inline { width:120px; }
	.inline.width60 { width:60px; } 
	.inline.width80 { width:80px; } 
	.inline.width100 { width:100px; } 
	.inline.width120 { width:120px; } 
	.inline.width140 { width:140px; } 
	.inline.width150 { width:150px; } 
	.inline.width160 { width:160px; } 
	.inline.width180 { width:180px; } 
	.inline.width200 { width:200px; } 
	.inline.width220 { width:220px; } 
	.inline.width240 { width:240px; } 
	.inline.width280 { width:280px; }  
	.inline.width320 { width:320px; }
}

.form-inline .form-group {
    align-items: center;
	/*margin-bottom: 0;*/
}
.form-inline .form-group label {
	margin-bottom:0;
	margin-right:5px;
}

/*
@media (min-width: 768px) {
	form .input-frame { padding-left:0; }
}
*/
@media (max-width:576px){
  select { width:100%; max-width:100%; }
}

/* CHECKBOX LIST */
.checkboxlist-textbox input { width:90%; }
span.checkboxlist-textbox { display:inline-block; }
div.checkboxlist-textbox { margin-top:2px; }
.textbox-toggle input + label + .checkboxlist-textbox { display:none; }
.textbox-toggle input:checked + label + span.checkboxlist-textbox { display:inline-block; }
.textbox-toggle input:checked + label + div.checkboxlist-textbox { display:block; }

/* MISC FORM STYLES */
#loginform .form-group { margin-left:0; margin-right:0 }
.form-group.group-passhidden { display:none !important; }
.dollar-sign { font-weight:bold; margin-right:5px; }
.dollar-sign + input { display:inline-block; }
input[type="text"] + .icon, input[type="password"] + .icon { font-size:24px; vertical-align:middle; margin-left:7px; }
input[type="text"] + .dripicons-wrong, input[type="password"] + .dripicons-wrong { color:#CF0027; }
input[type="text"] + .dripicons-checkmark, input[type="password"] + .dripicons-checkmark { color:#11B72C; }
/******************************************************
MODALS
******************************************************/
.modal form { margin:0; padding:0; display:block; }
.modal-content { border-radius: .4rem; }
.modal-lg .modal-content { max-width:640px; }
.modal-header { background-color:#58595c; color:white; }
.modal-header h1, .modal-header h2, .modal-header h3, .modal-header h4, .modal-header h5 { margin:0; color:white; }
.modal-header .close { color:#ffffff; text-shadow:none; }
.modal-footer { background-color:#eaeaeb; padding:10px; }
.modal-footer [class^="button"], .modal-footer [class*=" button"] { margin:0 0 0 6px; }
.modal-body { line-height:normal; padding:10px 20px; max-height:80vh; overflow:auto; }
.contact-modal { white-space:nowrap; }
@media screen and (max-height:400px){ .modal-body { max-height:50vh; } }
@media screen and (min-height:401px) and (max-height:800px){ .modal-body { max-height:65vh; } }
/******************************************************
CKEDITOR
******************************************************/
.cke_reset_all tr td:first-child, .cke_reset_all tr th:first-child { padding-left:0; }
.cke_reset_all tr td:last-child, .cke_reset_all tr th:last-child { padding-right:0; }
.cke_dialog_contents_body { padding: 17px 10px 5px !important }

/******************************************************
DATEPICKER
Datepicker for Bootstrap v1.4.0 (https://github.com/eternicode/bootstrap-datepicker)
******************************************************/
.datepicker table tr td.active.active, 
.datepicker table tr td.active.highlighted.active, 
.datepicker table tr td.active.highlighted:active, 
.datepicker table tr td.active:active,
.datepicker table tr td span.active.active, 
.datepicker table tr td span.active.disabled.active, 
.datepicker table tr td span.active.disabled:active, 
.datepicker table tr td span.active.disabled:hover.active, 
.datepicker table tr td span.active.disabled:hover:active, 
.datepicker table tr td span.active:active, 
.datepicker table tr td span.active:hover.active, 
.datepicker table tr td span.active:hover:active {
	background-color:#1c97ba;
	border-color:#1c97ba;
}
.datepicker table tr td.active.active.focus, 
.datepicker table tr td.active.active:focus, 
.datepicker table tr td.active.active:hover, 
.datepicker table tr td.active.highlighted.active.focus, 
.datepicker table tr td.active.highlighted.active:focus, 
.datepicker table tr td.active.highlighted.active:hover, 
.datepicker table tr td.active.highlighted:active.focus, 
.datepicker table tr td.active.highlighted:active:focus, 
.datepicker table tr td.active.highlighted:active:hover, 
.datepicker table tr td.active:active.focus, 
.datepicker table tr td.active:active:focus, 
.datepicker table tr td.active:active:hover,
.datepicker table tr td span.active.active.focus, 
.datepicker table tr td span.active.active:focus, 
.datepicker table tr td span.active.active:hover, 
.datepicker table tr td span.active.disabled.active.focus, 
.datepicker table tr td span.active.disabled.active:focus, 
.datepicker table tr td span.active.disabled.active:hover, 
.datepicker table tr td span.active.disabled:active.focus, 
.datepicker table tr td span.active.disabled:active:focus, 
.datepicker table tr td span.active.disabled:active:hover, 
.datepicker table tr td span.active.disabled:hover.active.focus, 
.datepicker table tr td span.active.disabled:hover.active:focus, 
.datepicker table tr td span.active.disabled:hover.active:hover, 
.datepicker table tr td span.active.disabled:hover:active.focus, 
.datepicker table tr td span.active.disabled:hover:active:focus, 
.datepicker table tr td span.active.disabled:hover:active:hover, 
.datepicker table tr td span.active:active.focus, 
.datepicker table tr td span.active:active:focus, 
.datepicker table tr td span.active:active:hover, 
.datepicker table tr td span.active:hover.active.focus, 
.datepicker table tr td span.active:hover.active:focus, 
.datepicker table tr td span.active:hover.active:hover, 
.datepicker table tr td span.active:hover:active.focus, 
.datepicker table tr td span.active:hover:active:focus, 
.datepicker table tr td span.active:hover:active:hover {
	background-color: #0e9046;
	border-color: #0e9046;
}
.datepicker table tr td.day:hover, 
.datepicker table tr td.focused,
.datepicker table tr td span.focused, 
.datepicker table tr td span:hover {
	background-color: #0e9046;
	color:white;
}
/******************************************************
DONOR SEARCH
******************************************************/
.person-name + .organization-name {
	font-size:0.8em;
	text-transform:uppercase;
	color:#4e8643;	
}
/******************************************************
INFO BOX
******************************************************/
.info-box{
    background-color: #eaeaeb;
    border: medium none;
    color: #58595c;
    margin: 12px 0;
    padding: 16px;
}
.info-box:not(.old-browser) {
    margin-left: 30px;
    padding-left: 44px;
    position: relative;
}
.info-box:not(.old-browser):before {
    content: "!";
    color: #ffffff;
    background-color: #2e2f33 !important;
    border: 4px solid white;
    border-radius: 70px;
    display: block;
    font-size: 50px !important;
    line-height: 50px !important;
    font-weight: bold;
    text-align: center;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 50%;
    left: -36px;
    margin-top: -32px;
}
/******************************************************
BOOLEAN
******************************************************/
.boolean-true, .boolean-false {
    display:inline-block;
	height:26px;
	width:36px;
	line-height:26px;
	padding:0px;
    font-size: 12px;
    font-weight: 700;    
    text-align: left;
    vertical-align: baseline;
	position:relative;
	text-transform: uppercase;
}
.boolean-true:before, .boolean-false:before {
	content:'';
	position:absolute;
	top:0; 
	border-top:13px solid transparent;
	border-bottom:13px solid transparent;
}
.boolean-true:before {	
	left:-18px;
	border-left:10px solid transparent;
}
.boolean-false:before {	
	right:-10px;
	border-right:10px solid transparent;
}
.boolean-true { color: #4CAF50; background-color: #D7F5D8; border-left:8px solid #D7F5D8; margin-left: 10px; }
.boolean-true:before { border-top-color:#D7F5D8; border-bottom-color:#D7F5D8; }
.boolean-false { color:#d9534f; background-color: #FFE1E0; border-left:8px solid #FFE1E0; margin-right: 10px; }
.boolean-false:before, .boolean-false:after { border-top-color:#FFE1E0; border-bottom-color:#FFE1E0; }
/******************************************************
STATUS
******************************************************/
.status { 
	display:inline-block; 
	padding:0 22px 0 15px; 
	font-size:1.5em; 
	font-weight:bold; 
	color:#777; 
	background-color:#eee; 
	border-left:7px solid #777; 
}
.status-inactive { color:#d9534f; border-color:#d9534f; background-color:#FFE1E0; }
.status-active { color:#4CAF50; border-color:#4CAF50;  background-color:#EBFFEB; }
/******************************************************
TABS
******************************************************/
.tab-content { margin:25px 0; }
/******************************************************
PROFILE
******************************************************/
table.profile td { vertical-align: top; padding:4px 0; }
table.profile tr td:first-child { padding-right:12px; }
/******************************************************
ACCOUNT
******************************************************/
textarea.note-text {
	height:39px; 
	transition:height 0.4s ease-out; 
}
textarea.note-text-focus {
	height:240px; 
}
.account-note {
    margin:30px 0;
    max-width:600px;
}
.account-note-header {
	display:flex;
	justify-content: space-between;
	font-size:0.9em;
	color:#999;
}
.account-note-actions > a {
	margin-left:10px;
}
.account-note-date {
	margin-left:10px;
}
.account-note-body {
	margin:4px 0 8px;
	background-color:#f8f9fa;
	border:1px solid rgba(0,0,0,.125);
	padding:10px 16px;
	border-radius:5px;
}
.account-note-footer {
    text-align:right;
}
/******************************************************
Person Finder
******************************************************/
.pf-box { display:inline-block; margin-right:10px; }
.pf-person-name {
	display:inline-block;
	vertical-align:middle;
	line-height:30px;
	margin-right:15px;
}
.pf-person-name:empty { margin:0 !important; }
.pf-person-name .pf-name {	
	font-size:1.2em;		
}
.pf-form label { font-weight:bold; } 
.pf-form .form-group { margin:0 0 10px; }
@media (min-width: 768px) { .pf-form input[type=text] { width:280px; } } 
/******************************************************
SPLIT TEXT
******************************************************/
.split-text { max-width:500px; }
.split-text .less-link,
.split-text .more-text { display:none; }

/******************************************************
OTHER
******************************************************/
.flex-center-spaced { display:flex; align-items: center; justify-content: space-between;  }
.hide { display:none; }
.inline-block { display:inline-block !important; }
.middle { vertical-align:middle !important; }
.center { text-align:center !important; }
.left { text-align:left !important; }
.right { text-align:right !important; }
.no-margin { margin:0 !important; }
.no-top-margin { margin-top:0 !important; }
.no-bottom-margin { margin-bottom:0 !important; }
.text-large { font-size:1.1em; }
.text-larger { font-size:1.3em; }
.text-largest { font-size:1.5em; }
.text-small { font-size:14px; }
.text-smaller { font-size:13px; }
.text-smallest { font-size:12px; }
.bold { font-weight:bold; }
.italic { font-style:italic; }
.nowrap { white-space:nowrap; }
.cursor-grab { cursor:grab; }
.cursor-grabbing { cursor:grabbing; }
.cursor-move { cursor:move; }
.preprint { 
	position:fixed; 
	z-index:9999; 
	background-color:#FFE48C; 
	color:#000; 
	max-width:100%; 
	white-space: pre-wrap; 
	border-radius:0; 
	border:none; 
}
#main .preprint { position:static; }
.template-instructions li { font:15px Arial, Helvetica, sans-serif; margin-bottom:10px; }
.font-arial { font-family:Arial, Helvetica, sans-serif !important; }
/******************************************************
CKEDITOR
******************************************************/
.cke_editable { background:none white; padding:16px; }

/******************************************
FILE UPLOAD
*******************************************/
.uploader .uploader-options {
	display:flex;
	align-items: flex-start;
}
.uploader .uploader-browse {
	text-align:center;
}
.uploader .uploader-or {
	display:block;
	color:#999;
	padding:6px;
}
.uploader .uploader-drop {
	width:100%;
	border:4px dashed #DDD;	
	color:#DDD;
	font-size: 1.4em;
    font-weight: bold;
	padding: 30px;
	text-align: center;	
	margin-left:8px;
	line-height:1em;
}
.uploader .uploader-drop .icon {
	font-size:2.4em;
}
.uploader .uploader-drop.uploader-btn {
	cursor:pointer;
	margin-left:0;
}
.uploader .uploader-drop.uploader-btn:hover {
	border-color:#8ecbdd;
	color:#8ecbdd;
}
.uploader .uploader-drop.dragover {
	border-color:#0e9046;	
	color:white;
}
.uploader-files {
	display: inline-block;
	margin:1em 0;
}
.uploaded-file-item {
	display:flex;
	align-items: center;
	justify-content: space-between;
	margin:0;
	padding:0;
}
.uploaded-file-item:hover {
	background-color: #e7f4ed;
}
.uploaded-file-name {
	flex-grow: 1;
	margin-right:10px;
}
.uploaded-file-name > a {
	display: flex;
	width: 100%;
	padding:6px 0 6px 10px; 
}
.uploaded-file-name > a:hover {
	text-decoration: none;
}
.uploaded-file-name .icon {
	margin-right:8px;
	vertical-align: middle;
}
.uploaded-file-delete {
	padding:2px;
	color:#bbb;
}
.uploaded-file-delete:hover {
	background-color:#dc3545;
	border-radius:3px;
	color:white;
}
.uploaded-file-delete:active {
	background-color:#999;
	color:white;
}
.progress-bar-overlay {
	display:block;
	position: absolute;
    left: 0;    
    top: 0;
    z-index: 2000;
	background-color: rgba(0, 0, 0, 0.8);	
}
.progress-bar-overlay > div {
	position: fixed;
	width:400px;
	height:60px;
	top: 50%;
	left: 50%;
	margin-top: -30px;
	margin-left: -200px;
	color:#ddd;
}
.progress-bar-overlay > div.loading > span {
	display:block;
	margin:5px auto;
}
.progress-bar-overlay > div.processing > span {
	display:inline-block;
	background:transparent url(../img/ajax-loader-spinner-green.svg) no-repeat center center;
	width:36px;
	height:36px;	
	vertical-align:middle;
	margin-left:7px;
}
.progress-bar-overlay.loading .ui-progressbar {
	border:none;
}
.progress-bar-overlay.loading .ui-progressbar-value {
	background-color:#66CC33;
}

/******************************************************
ICONS
******************************************************/
.nav-item .glyphicon, .nav-item .icon { display:inline-block; min-width:22px; }
.nav-item .glyphicon { position:relative; left:2px; }
.nav-item [class^="dripicons-"], .nav-item [class*=" dripicons-"] { position:relative; left:3px; top:2px; }
.btn [class^="dripicons-"], .btn [class*=" dripicons-"] { position:relative; top:2px; }

/******************************************************
COLORS
******************************************************/
.green { color:#0e9046; }
.red { color:#AA0000; }
.blue { color:#1c97ba; }
.dark-blue { color:#115b70; }
.brown { color:#996600; }
.maroon { color:#933B53; } 
.bright-orange { color:#CC6000; } 
.orange { color:#BC4300; }
.yellow { color:#EC971F; }
.dark-yellow { color:#A56717; }
.purple { color:#D20ED6; }
.dark-purple { color:#43428E; } 
.gray { color:#97979c; }
.light-gray { color:#c1c1c4; }