/* 
DEFAULT BREAKPOINTS:
small		0em+ (up to 640px)	
medium		40em+ (up to 1024px)
large		64em+ (over 1024px);
*/ 

/* Custom Styles */

/*******  FOOTER BAR *******/

#page-container {
	position: relative;
	min-height: 100vh;
}
#non-footer-content {
	padding-bottom: 2.6rem;
}

footer {
	display:block;
	position:absolute;
	bottom: 0;
	width:100%;
	background-color:#333;
	height: 2.5rem;
	max-height: 2.5rem;
	color:#CCC;
	overflow: hidden;
}

label {
	font-weight: bold;
}

.input-group {
	align-items: center;
}

@media print, screen and (min-width: 40em) {	/* medium - inputs will wrap on smaller screens */
	.labels-left label {
		display: inline-block;
		text-align: right !important;
		margin-right: 5px;
	}
	.labels-left input[type='radio'] + label, .labels-left input[type='checkbox'] + label {
		text-align: left;
		margin-right: 0px;
		margin-left: 10px;
	}
	.labels-left label::after {
		content: ':';
	}
	.labels-left input[type='radio'] + label::after, .labels-left input[type='checkbox'] + label::after {
		content: '';
	}
	.labels-left label::after {
		content: ':';
	}
	textarea {
		resize: none;
		display: block;
	}
	.p-containing-textarea {	/* applied using jquery */
		display:flex;
		align-items:top;
	}
}
.input-group label {
text-align: left;
margin-right: 5px;
}
.input-group label::after {
	content: ':';
}

textarea::before {
	content: "<br>";
}
.cell, main {	
	padding:20px;
}
.LB-nopadding {
	padding: 0;
}
html {
	font-size: 11pt;
	background-color: #FCFCFC;
}
section {
	border-bottom: 1px solid #CCC;
	padding-bottom: 1.2rem;
	margin-bottom: 1rem;
}
section:last-child {
	border-bottom: 0px;
}
section.nopadding {
	padding-bottom: 0;
	margin-bottom:0;
}
.grid-container {
	max-width: 1920px;
	padding: 0;
}
.callout {
	border-radius: 0.5rem;
}

.LB-list	{
	max-height: 40vh;
	/* width: -moz-fit-content;*/		/* Firefox, but not good in groups-printlogins.php */
	max-width: 90%;	
	padding-right:20px;
	padding-left: 20px;
	margin-bottom: 15px;
	overflow:auto;
}
.LB-list p, .LB-list table {
	margin-bottom: 0.3rem;
	margin-right: 3rem;
}
p.LB-menu {
	margin-bottom: 0;
}

html, body, p, td, th {
	font-family: Roboto, Helvetica, Arial, sans-serif;
}
h1, h2, h3, .h1, .h2, .h3 {
	font-family: Montserrat, Helvetica, Arial, sans-serif;
}

h1, .h1 {	font-size: 1.4rem;	}				/* small */
h2, .h2 {	font-size: 1.15rem;	}
h3, .h3 {	font-size: 1.05rem;	}
p, td, th, label { font-size: 0.9rem; }

@media print, screen and (min-width: 40em) {	/* medium */
h1, .h1 {	font-size: 1.5rem;	}
h2, .h2 {	font-size: 1.2rem;	}
h3, .h3 {	font-size: 1.1rem;	}
p, td, th, label { font-size: 0.95rem; }
}

@media print, screen and (min-width: 64em) {	/* large */
h1, .h1 {	font-size: 1.6rem;	}
h2, .h2 {	font-size: 1.35rem;	}
h3, .h3 {	font-size: 1.2rem;	}
p, td, th, label { font-size: 1.05rem; }
}
h1 small, h2 small, h3 small, .h1 small, .h2 small, .h3 small {
	color:inherit;
}

.link-below-title {
	position:relative;
	top: -0.8rem;
	margin-bottom:0px;
	font-size: 0.8rem;
}
.text-center .h.link-below-title {
	margin: inherit auto;
}

/******* TOP MENU *******/

.LB-topbar {
	background-color:#333;
	padding: 0;
	height: 2.3rem;
}
.LB-topbar > ul > li > a {
	text-transform:uppercase;
	font-size: 0.9rem;
	font-weight:normal;
	letter-spacing: 0.05rem;
	color: #CCC;
}
.LB-topbar a:hover {
	color: #FFF;
}
.LB-topbar .is-dropdown-submenu-parent a {
	color: #CCC !important;
}
.LB-topbar .is-dropdown-submenu-parent a:hover {
	color: #FFF !important;
}
.LB-topbar .is-dropdown-submenu-parent > a::after {	/* small arrow on dropdown */
	border-top-color:#AAA !important;
	border-top-width: 5px !important;
}
.LB-topbar .is-dropdown-submenu {
	background-color:#DDD;
}

.LB-topbar .is-submenu-item a {
	color: #111 !important;
}
.LB-topbar .is-submenu-item a:hover {
	color: #555 !important;
}

/*******  TABLES  *******/


table, tr, td, th, tbody, thead, tfoot {
	border-color: #DDD !important;  
}
table.LB-info, table.LB-info tbody{
	border-width: 1px !important;
	overflow: scroll;
}
table.LB-info {
	margin-left: 1rem;
	width: inherit;
	max-width: 90%;
	overflow: scroll;
}
table.LB-info td {
	padding: .08rem 1.2rem .08rem 0.7rem;
}
table.LB-info td:last-child {
	padding-right: 0.7rem;
}
table.LB-info th {
	padding: .08rem 0.7rem;
	text-align: right;
	vertical-align: top;
}
table.LB-info th.text-left, table.LB-info td.text-left {
	text-align: left;
}
table.LB-info th.text-center, table.LB-info td.text-center {
	text-align: center;
}
table.LB-info thead th {
	padding: .2rem 0.7rem;
	text-align: left;
}


/*******  SORTABLE  *******/

ul.sortlist ol.sortlist {
	padding: 0;
	margin-bottom: 0px;
	list-style-type: none;
	max-width: 500px;
}

li.sorting-blue {
	background-color: #ddd;
}

/*******  GENERAL  *******/

.LB-warning, .LB-warning a {
	color: #C00;			
}
.LB-disabled, .LB-disabled a {
	color: #999;
}
.LB-config {
	font-family:"Courier New", Courier, monospace;	
}
.text-left {
	text-align:left;
}
.text-right {
	text-align:right;
}
.text-center {
	text-align:center;
}

[data-lastpass-icon-root] {
	display: none !important;	/* prevent lastpass icon messing up login page layout  */
}

input[type='text'], input[type='date'], input[type='number'], input[type='password'], input[type='tel'], input[type='email'], textarea, select { 
	max-width: 250px;
}

input.extra-wide {
	width: 500px;
	max-width: 500px;
}

input.LB-small, select.LB-small, textarea.LB-small {
	width: 80px;
	max-width: 80px;	
}
input[type='radio'], input[type='checkbox'] {
	margin-top: 10px;	/* to align with label */
}
select, input[type='text'], input[type='password'], input[type='email'], input[type='date'], input[type='tel'], input[type='number'] {
	display: inline-block;
}

.LB-list input[type=checkbox], .LB-list input[type=radio] {
	margin: 0;
}
table input[type=checkbox], .LB-list input[type=radio] {
	margin: 0;
}
input::placeholder, textarea::placeholder {
	color: #999;
}

.input-group-field, .input-group-label, .input-group-button input {
	height:2.4375rem;
}

/* needs re-lining up with form elements, while not preventing centering (e.g. on login2.php) */ 

.help-text {
	position:relative;
	top: -6px;
}
.text-center .help-text {
	margin: inherit auto;
}


fieldset {
	padding-top: 0.5rem !important;
	padding-bottom: 0.7rem !important;
}
legend {
	padding: 0.05rem 0.5rem !important;
	border:1px solid #cacaca;
	text-transform:uppercase;
	font-size: 0.8em;
	text-align:left;
}
form p {
	margin:0px;
}
button, .button {
	background-color:#3AD;
	margin-right: .7rem;
	border-radius: .5rem;
}
.input-group-button .button {
	border-radius: 0 .5rem .5rem 0;
	font-size: 0.9rem;
}
button.close-button {
	background-color: transparent;
	margin-right: 0;
}
.input-group + .help-text {
	margin-left: 150px;	/* to line up after label - probably not working ### */
}

/*  Learning sequence */
.learnseq-MC-settings input[type=text], .learnseq-MS-settings input[type=text], .learnseq-SQ-settings input[type=text], .learnseq-SA-settings input[type=text], .learnseq-SV-settings input[type=text], .learnseq-VC-settings input[type=text] {
	height:1.2rem;
	display:inline;
	font-size:0.8rem;
	padding:2px 3px 0px 2px;
	margin:0;
	width:25px;
	text-align:center;
}
.learnseq-QS-settings input[type=text] {
	height:1.2rem;
	display:inline;
	font-size:0.8rem;
	padding:2px 3px 0px 2px;
	margin:0;
	width:30px;
	text-align:center;
}
.learnseq-MC-settings input[type=checkbox], .learnseq-MS-settings input[type=checkbox], .learnseq-SQ-settings input[type=checkbox], .learnseq-SV-settings input[type=checkbox], .learnseq-SA-settings input[type=checkbox], .learnseq-VC-settings input[type=checkbox], .learnseq-QS-settings input[type=checkbox] {
	height:0.9rem;
	display:inline;
	font-size:0.8rem;
	padding: 0px;
	margin:0px;
	width:25px;
}
.learnseq-MC-settings select, .learnseq-MS-settings select, .learnseq-SQ-settings select {
	height:1.2rem;
	display:inline;
	font-size:0.8rem;
	padding:0;
	margin:0;
	width:80px;
	text-align:center;
}
#seqlist .preview {
	display:none;
}

/*  Icons */
a i {
	color:#666;
}
