.container {
	min-height: 95%;
}

/*
 * Panel logo
 *
 */

.container header .row .columns img {
	padding: .3rem 0 !important;
}

/*
 * Preloader
 *
 */

.preloader {
	background-image: linear-gradient(130deg, #512da8, #330072);
}

.preloader .indeterminate {
    background-color: #d1c4e9;
}

/*
 * Header
 *
 */

header {
	background: linear-gradient(130deg, #512da8, #330072);
	color: white;
}

header h1 {
	font-size: 1.5rem;
	margin: 0;
	line-height: 6rem;
}

header form {
	display: inline;
}

header label {
	margin: 2rem 0;
}

header select {
	display: inline;
	/* width: auto; */
	padding-right: 2rem;
	background: #330072;
	color: white;
	border: 0;
}

header select ~ span.fa,
header select ~ i.material-icons {
	margin-left: -1.5rem;
	pointer-events: none;
}

a {
	color: #330072;
	text-decoration: none;
}

a:hover {
	color: rgba(51, 0, 114, 0.8);
}

nav ul {
	text-align: right;
	margin: 0;
}

nav li {
	display: inline-block;
	margin: 1.5rem 1rem;
}

nav a {
	display: block;
	line-height: 1rem;
	text-align: center;
	color: #b6b6b6;
	font-size: 0.75rem;
	text-transform: uppercase;
}

nav a:hover,
nav li.active a {
	color: white;
}

nav a span.fa,
nav a i.material-icons {
	display: block;
	font-size: 1.5rem;
	margin-bottom: 0.25rem;
}

/*
 * Sub-header bar
 *
 */

.bar {
	background: white;
}

.bar h1 {
	margin: 0.5rem 0;
	line-height: 2rem;
	display: inline-block;
}

.bar .toolbar {
	margin: 1rem 0;
}

.bar button.primary,
.bar .button.primary {
	margin: -0.25rem 0;
	font-family: inherit;
	font-size: 1.25rem;
	font-weight: 300;
}

/*
 * Main panel buttons
 *
 */

button,
	button.inverse.active, .button {
	background: #330072;
}

button.inverse {
	border: 1px solid #330072;
	background: white;
	color: #330072;
}

button .icon,
.button .icon {
	margin-left: 0.5rem;
	padding: 0.5em;
	background: #330072;
	width: 2em;
	color: white;
	border-radius: 1em;
}

button:hover,
.button:hover {
	color: white;
	background: rgba(81, 45, 168, 0.8);
}

button:hover .icon,
.button:hover .icon {
	background: #512da8;
}

button.expand,
.button.expand {
	display: block;
	width: 100%;
}

/*
 * Footer
 *
 */

footer {
	border-top: 1px solid #ddd;
	padding: 1rem;
}

/*
 * Uncategorised as of yet
 *
 */

iframe {
	width: 100%;
	height: 1000px;
	border: 1px solid #dfdfdf;
}

.panel {
	margin: 1rem 0;
	padding: 2rem;
	background: white;
	border-radius: 0.5rem;
	overflow: auto;
}

.panel > h1:first-child,
.panel > h2:first-child,
.panel > h3:first-child {
	margin-top: 0;
}

.flex {
	display: flex;
	flex-direction: column;
	align-content: stretch;
}

.flex .expand {
	flex: 1;
}

ul {
	padding: 0;
	list-style: none;
}

hr {
	border: 0;
	border-bottom: 1px solid #f3f3f3;
}

/*
 * Tables
 *
 */

table {
	width: 100%;
}

table th {
	text-transform: uppercase;
	text-align: left;
	font-weight: 700;
	color: #bfbfbf;
}

table th,
table td {
	padding: 1rem 0.5rem;
	border-bottom: 2px solid #f3f3f3;
}

table tr:last-child td {
	border-bottom: 0;
}

table th:last-child,
table td:last-child {
	text-align: right;
}

table.narrow th,
table.narrow td {
	padding: 0.5rem 0;
}

table.calculator td:last-child {
	width: 100px;
	border-left: 1px solid #f3f3f3;
}

table.details td {
	border: 0;
	padding: 0.5em 0;
}
table.details td:first-child {
	width: 38%;
	font-weight: bold;
	vertical-align: top;
}
table.details td:last-child {
	width: 70%;
	text-align: left;
}

/*
 * Inputs and dls
 *
 */

.tooltip {
	position: relative;
}

.tooltip .hover {
	display: none;
	position: absolute;
	left: 1.25rem;
	top: -0.5rem;
		-moz-transform: translate(-50%, -100%);
		-webkit-transform: translate(-50%, -100%);
	transform: translate(-50%, -100%);
	padding: 0.5rem;
	border-radius: 0.25rem;
	background: #212121;
	color: white;
	z-index: 10;
}

.tooltip .hover:before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	position: absolute;

	left: 50%;
	bottom: -0.4rem;
		-moz-transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	border-top: 0.5rem solid #212121;
	border-left: 0.5rem solid transparent;
	border-right: 0.5rem solid transparent;
}

.tooltip:hover .hover {
	display: block;
}

.tooltip span.text {
	font-family: 'Source Sans Pro', 'Roboto', Arial, Helvetica, sans-serif;
	text-transform: uppercase;
}

label {
	display: block;
	margin: 0.5rem 0;
}

label .tooltip {
	margin-left: 0.25rem;
}

label .tooltip .hover {
	min-width: 21rem;
	left: -1rem;
		-moz-transform: translate(0, -100%);
		-webkit-transform: translate(0, -100%);
	transform: translate(0, -100%);
}

label .tooltip .hover:before {
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
	transform: translateX(0);
	left: 1rem;
}

input:not([type="checkbox"]), select, textarea {
	display: block;
	width: 100%;
	font-size: 1rem;
	padding: 0 0.5em;
	line-height: 2em;
	border-radius: 0.25rem;
	border: 1px solid #ddd;
	background: white;
	color: #777777;
}

input[type="checkbox"]:disabled+span {
     color: #ccc;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
	background: white url(/assets/images/select-bg.png) no-repeat 100% 50%;
	background-size: 2em;
	padding: 0.4em;
	line-height: 1.1em;
}

input:disabled, select:disabled, textarea:disabled {
	background: #eee;
}

input.valid {
	border-color: green;
}

input.invalid {
	border-color: #512da8;
}

dt {
	float: left;
	font-weight: 700;
	width: 33%;
}

dd {
	margin: 0.5rem 0;
}

dd:after {
	content: '\00a0';
}

/*
 * Buttons
 *
 */

.toolbar button {
	border: 1px solid #330072;
}

button.outline,
.button.outline {
	background: transparent;
	border: 1px solid #d1c4e9;
	color: #d1c4e9;
	/*margin-left: 0.15rem;
	margin-right: 0.15rem;*/
}

button.outline:not(.active) .icon,
.button.outline:not(.active) .icon {
	background: #d1c4e9;
}

button.outline[disabled],
.button.outline[disabled] {
	border: 1px solid #d7d7d7;
	color: #d7d7d7;
}

button.outline[disabled] .icon,
.button.outline[disabled] .icon {
	background: #d7d7d7;
}

/** DEPRECATED button.panel **/
button.panel,
.button.panel {
	display: block;
	background: #bfbfbf;
	padding: 1.5rem 0rem;
	width: 100%;
}

button.panel span,
.button.panel span {
	display: block;
	font-size: 2rem;
	padding-bottom: 0.5rem;
}
/** DEPRECATED button.panel **/

button.grey,
.button.grey {
	margin-left: 0.25rem;
	padding: 0.5rem;
	background: #bfbfbf;
	border: 0;
}

button.active,
.button.active {
	margin-left: 0.25rem;
	padding: 0.5rem;
	background: #330072;
	color: white;
	border: 0;
}

button.grey .on-hover,
.button.grey .on-hover {
	display: none;
}

button.grey:hover .on-hover,
.button.grey:hover .on-hover {
	display: inherit;
}

/*
 * Hover buttons
 *
 */

button.grey:hover,
.button.grey:hover,
button.panel:hover,
.button.panel:hover {
	background: #330072;
	color: white;
}

button.outline:hover,
.button.outline:hover {
	color: #330072;
	border: 1px solid #330072;
	background: transparent;
}

button.outline:hover .icon,
.button.outline:hover .icon {
	background: #330072;
}

/*
 * Active buttons
 *
 */

button.outline.active,
.button.outline.active {
	background: transparent;
	border: 1px solid #330072;
	color: #330072;
}

button.outline.active .icon,
.button.outline.active .icon {
	background: #330072;
}

/*
 * Tabs
 *
 */

.tabs-container {
	margin: -2rem -2rem 2px;
	background: #f3f3f3;
}

.tabs {
	display: flex;
	flex-direction: row;
}

.tabs button.tab {
	flex-grow: 1;
	flex-basis: 0;
	background: transparent;
	color: #d7d7d7;
	border: 0;
	/*border-right: 1px solid #f3f3f3;*/
	margin-right: 1px;
	border-radius: 0.5rem 0.5rem 0 0;
	padding: 0.75rem;
	background-color: #d7d7d7;
	color: white;
}

.tabs button.tab:hover {
	color: white;
	background: rgba(81, 45, 168, 0.8);
}

.tabs button.tab.active {
	color: #330072;
	background: white;
}

.tabs button.tab:last-child {
	margin-right: 0;
}

.tabs button.tab .fa,
.tabs button.tab .material-icons {
	/*background: inherit;*/
	/*color: inherit;*/
	font-size: 1.5rem;
	margin-right: 0.5rem;
	vertical-align: middle;
}

.panel h2 {
	color: #330072;
}

#modal-container .modal h2 {
	color: #330072;
}

/*
 * Select templates
 *
 */

ul.templates {
	margin: 2rem 0;
}

ul.templates li {
	text-align: center;
}

ul.templates a {
	display: block;
}

ul.templates img {
	box-shadow: 0 0 0.5rem #bfbfbf;
	position: relative;
}

ul.templates a p {
	color: #999;
}

ul.templates a:hover p {
	color: #330072;
}

ul.templates .overlay-container {
	position: relative;
}

ul.templates .overlay {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(209, 196, 233, 0.5);
}

ul.templates .overlay-container:hover .overlay {
	display: block;
}

ul.templates .overlay div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 70%;
	background: black;
	color: white;
	padding: 0.5rem 1rem;
	border-radius: 0.5rem;
	font-size: 1.25rem;
}

ul.templates .overlay span.fa,
ul.templates .overlay i.material-icons {
	color: #330072;
}

/*
 * Select targets
 *
 */
div.target-filters label {
	font-size: 1rem;
	color: #bfbfbf;
	text-transform: uppercase;
}
div.target-filters input {
	line-height: 2.35;
	width: 30%;
    box-sizing: border-box;
    border: 0;
	border-radius: 0;
    -webkit-transition: width 0.2s ease-in-out;
    transition: width 0.2s ease-in-out;
	position: relative;
	font-family: 'FontAwesome', "Helvetica Neue", Helvetica, 'Source Sans Pro', Roboto, Arial, sans-serif;
}

div.target-filters input:before {
    font-family: 'FontAwesome', "Helvetica Neue", Helvetica, 'Source Sans Pro', Roboto, Arial, sans-serif;
    position: relative;
    left: -5px;
}

div.target-filters input:focus {
	border-bottom: 2px solid #330072;
    width: 100%;
}

ul.targets {
	margin: 0;
	padding: 0.5rem 1rem;
	border: 1px solid #ddd;
	border-radius: 0.5rem;
	height: 300px;
	overflow-y: scroll;
}

ul.targets label[disabled] {
	color: #ddd;
}

/*
 * Editor
 *
 */

#editor .options {
	overflow: auto;
	font-size: 1.25rem;
	line-height: 1em;
	padding-bottom: 0.5em;
}

#editor .options a {
	color: inherit;
}

#editor .options a.active,
#editor .options a:hover,
#editor .options span:hover {
	color: #330072;
}

#editor .options .sizes {
	float: left;
}

#editor .options .clear {
	float: right;
	font-weight: bold;
	font-size: 1rem;
	text-transform: uppercase;
}

.scroll-container {
	margin-top: 0.5rem;
	position: relative;
}

.scroll {
	position: absolute;
	height: 100%;
	width: 100%;
	overflow-y: auto;
}

ul.module-list,
ul.asset-list {
	margin: 0;
}

ul.module-list li,
ul.asset-list li {
	margin-bottom: 0.25rem;
}

ul.module-list li {
	border: 1px solid #ddd;
	padding: 0.25rem;
}

ul.asset-list li {
	position: relative;
}

ul.asset-list li button {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	font-size: 1.25rem;
	display: none;
}

ul.asset-list li:hover button {
	display: block;
}

.asset-button {
	cursor: pointer;
}

.asset-button input {
	display: none;
}

/*
 * Comments
 *
 */

 #modal-container .modal .icon {
	 background: #330072;
 }

.comment {
	padding: 1rem 0;
	border-bottom: 1px solid #ddd;
}

.comment h4 {
	margin: 1rem 0 0;
	text-transform: uppercase;
}

.comment .avatar {
	float: left;
	margin: 0;
	padding: 1.5rem;
	border-radius: 3rem;
	background: #ddd;
	color: white;
}

.comment .block {
	margin-left: 6rem;
}

.comment .block .time {
	margin-bottom: 1rem;
	color: #bfbfbf;
	font-style: italic;
}


/*
 * Pagination
 *
 */

ul.pagination {
	float: right;
	margin-left: 0.5em;
	margin-right: 0.5em;
}
ul.pagination li {
	float: left;
	border: 1px solid #f3f3f3;
	border-radius: 0.5em;
	margin-left: 0.25em;
	color: #bfbfbf;
}
ul.pagination li a, ul.pagination li span {
	color: #bfbfbf;
	padding: 0.5em 1em;
	display: inline-block;
}
ul.pagination li.active, ul.pagination li:hover:not(.disabled) {
	background-color: #330072;
}
ul.pagination li.active span, ul.pagination li a:hover {
	color: white;
}

div.pagination-wrapper {
	border-top: 1px solid #f3f3f3;
}
div.pagination-wrapper .records-count {
	float: left;
	margin: 1em 0.5em;
	padding: 0.5em 0;
	color: #bfbfbf;
}

/*
 * Date picker
 *
 */

input.datetime {
	display: none;
}

.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
	color: #330072;
}
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
	color: #ffffff;
	background: #330072;
	box-shadow: none;
}
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
	background: #330072;
}

.xdsoft_datetimepicker .xdsoft_calendar td:hover,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover {
	background: #330072 !important;
}

/*
 * Help
 *
 */

.menu ul ul {
	 padding-left: 20px;
}

.menu ul ul li:last-child {
	  padding-bottom: 5px;
}

.help h3 {
	color: #8A8888;
}

.help ul {
	list-style-type: disc;
	list-style-position: inside;
	padding-left: 20px;
}

.help img {
	height: auto;
}

/*
 * Color palette
 *
 */

.color-info {
	height: 2.5em;
	margin-top: 1em;
	text-align: right;
}

.color-info h3 {
	border-bottom: 0;
}

.color-info span {
	text-transform: uppercase;
	font-weight: bold;
}
.color-info small {
	color: #545454;
}

ul.color-palette {
	margin-top: 1em;
	display: block;
}

ul.color-palette li.color {
	width: 12.5%;
	height: 3.5rem;
	cursor: pointer;
	float: left;
}

ul.color-palette li.color.active {
	box-shadow: inset 0px 0px 8px 0px rgba(0,0,0,0.75);
}
.sp-replacer {
	width: 100%;
}
.sp-replacer .sp-preview {
	width: 100%;
}
.sp-replacer.color-picker {
	border: none;
	padding: 0;
}
.sp-replacer.color-picker .sp-preview {
	height: 3.5rem;
	border: 0;
}

.sp-replacer.color-picker .sp-dd {
	display: none;
}

.sp-container {
	border: 0 !important;
}

.sp-container button {
	background-image: none !important;
}

.sp-container button:hover {
	background-image: none !important;
}

li.color-picker {
	width: 12.5%;
	float: left;
	position: relative;
}

.color-picker-icon {
	pointer-events: none;
	position: absolute;
	z-index: 1;
	left: 0;
	right: 0;
	line-height: 3.5rem;
	font-size: 1.2em;
	text-align: center;
}

.material-icons {
	font-size: inherit;
    vertical-align: middle;
	margin-bottom: 0.15em;
}

/* Quick hack to make the edit button same width as view button */
.button.grey[title="Edit"] .material-icons {
	margin-left: 2px;
}
