/*
 * This file is for GENERIC UI Styling across all bonzi products. Styling that
 * targets a specific bonzi product, page, or element ID, should not be placed
 * in this file. Styling that affects layout in a non-reusable way should not be
 * placed in this file.
 *
 * COMMENTS ON NEW ADDITIONS IS APPRECIATED
 */

 .hidden-accessible
 {
	position: absolute !important;
	clip: rect( 1px, 1px, 1px, 1px ) !important;
 }

/* Set text-align center on whatever. */
.ui-text-align-center
{
	text-align: center;
}

/* Change the color of the warning and error dialog box title bars. */
.warning-dialog .ui-dialog-titlebar-close,
.error-dialog .ui-dialog-titlebar-close
{
	display: none;
}

.warning-dialog .ui-dialog-titlebar
{
	background-image: none;
	background-color: #f80;
	border-color: #f80;
	color: white;
}

.error-dialog .ui-dialog-titlebar
{
	background-image: none;
	background-color: #f33;
	border-color: #f33;
	color: white;
}

.warning-dialog .ui-dialog-title,
.error-dialog .ui-dialog-title
{
	color: white;
}

hr.bonzi
{
	border: 1px solid #aaa;
	border-width: 1px 0px 0px 0px;
}

.bonzi-content-fill
{
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	overflow: auto;
}

.bonzi-unselectable
{
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
}

.bonzi-unselectable.bonzi-allow-select-input input,
.bonzi-unselectable.bonzi-allow-select-input textarea
{
	-webkit-user-select: auto;
	-khtml-user-select: auto;
	-moz-user-select: auto;
	-ms-user-select: auto;
	-o-user-select: auto;
	user-select: auto;
}

/* A bonzi-group is a framed block element that may have a title. */
.bonzi-group
{
	/*display: block;*/
	position: relative;
	overflow: visible;
	margin: 28px 10px 15px 10px;
	padding: 16px 0px 0px 0px;
}

.bonzi-group-borderless
{
	position: relative;
	overflow: visible;
	margin: 10px;
	padding: 0px;
}

.bonzi-group > .bonzi-group-title
{
	display: block;
	position: absolute;
	overflow: visible;
	cursor: default;
	margin: 0px;
	padding: 2px 10px 0px 10px;
	height: 10px;
	top: -13px;
	left: 10px;
	font-weight: bold;
	font-size: 13px;
	line-height: 1.3;
	border-top: inherit;
	border-left: inherit;
	border-right: inherit;
	border-bottom: none !important;
	-moz-border-radius-topleft: inherit;
	-webkit-border-top-left-radius: inherit;
	border-top-left-radius: inherit;
	-moz-border-radius-topright: inherit;
	-webkit-border-top-right-radius: inherit;
	border-top-right-radius: inherit;
	background-color: inherit;
}

/* CSS Hack Target Firefox 3.6+ [!] */
html>/**/body fieldset.bonzi-group > legend.bonzi-group-title, x:-moz-any-link, x:default
{
	top: -29px;
}

/* CSS Hack Targeting Firefox 4 (10) and newer, overrides FF3 fix */
:-moz-any(fieldset.bonzi-group) > :-moz-any(legend.bonzi-group-title)
{
	top: -13px !important;
}

/* CSS Hack Targeting IE 7 */
*:first-child+html .ui-icon
{
	display: block !important;
	float: left;
}

.bonzi-group > .bonzi-group-title > .ui-icon
{
	display: inline-block;
	vertical-align: text-bottom;
}

.bonzi-group > .bonzi-group-content,
.bonzi-group-borderless > .bonzi-group-content
{
	display: block;
	position: relative;
	overflow: visible;
	margin: 0px 10px 14px 10px;
	padding: 0px;
}

.bonzi-group > .bonzi-group-content.bonzi-content-fill,
.bonzi-group-borderless > .bonzi-group-content.bonzi-content-fill
{
	margin-top: 16px;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
}

.bonzi-group-borderless > .bonzi-group-content
{
	margin: 0px;
}

.bonzi-subgroup
{
	display: block;
	position: relative;
	overflow: auto;
	margin: 10px;
	padding: 10px;
	background-color: #eee;
}

.bonzi-subgroup .bonzi-subgroup-title
{
	display: block;
	margin: 0px 0px 10px 0px;
	font-weight: bold;
}

/*
A bonzi-layout-table is a table element that is used purely arranging NON-list
content horizontally and vertically. The table should not have any visible
styling unless you're sure it makes sense.
*/
table.bonzi-layout-table
{
	width: auto;
	table-layout: fixed;
}

table.bonzi-layout-table,
table.bonzi-layout-table > thead > tr > th,
table.bonzi-layout-table > tbody > tr > th,
table.bonzi-layout-table > thead > tr > td,
table.bonzi-layout-table > tbody > tr > td
{
	vertical-align: top;
}

table.bonzi-layout-table,
table.bonzi-layout-table > thead > tr,
table.bonzi-layout-table > tbody > tr,
table.bonzi-layout-table > thead > tr > th,
table.bonzi-layout-table > tbody > tr > th,
table.bonzi-layout-table > thead > tr > td,
table.bonzi-layout-table > tbody > tr > td
{
	margin: 0px;
	padding: 0px;
	border: none;
	border-collapse: collapse;
	border-spacing: 0px;
}

table.bonzi-layout-table > tbody > tr > td > .bonzi-group,
table.bonzi-layout-table > tbody > tr > td > .bonzi-subgroup
{
	margin-bottom: 0px;
}

/*
The work-frame class just sets a min-width on the body so that theoretically no
matter how narrow the user makes the browser window, the content will think it
has at least that min width.
*/
body.work-frame
{
	min-width: 800px !important;
}

/*
This is overriding default styling that's too heavy handed :P. At some point we
should fix the default styling.
*/
.ui-simplelist a
{
	text-decoration: underline !important;
	color: blue !important;
}

.ui-simplelist tr.ui-simplelist-expanded td.ui-simplelist-expanded-cell
{
	background: #eee;
	border-bottom-color: #eee !important;
}
.ui-simplelist td.ui-simplelist-expand-content
{
	background: #eee;
}

/* Bonzi Calendar Icon */
.bonzi-calendar-icon
{
	display: inline-block;
	background-image: url('../../images/but_calendar_fa.png');
	height: 13px;
	width: 19px;
}

/*
 * This is a fix for default.css setting p margin and padding to silly values.
 * I may not be able to fix them everywhere without breaking something, but I
 * can at least make them sensible for dialog boxes.
 */
.ui-dialog-content p
{
	margin: 1.25em 0px;
	padding: 0px;
}

/* Bonzi jquery.ui.widgetBase.js temporary pop-up notice styling. */
.bonzi-notice-container
{
	position: fixed;
	z-index: 2000;
	top: 15px;
	left: 0px;
	right: 15px;
	height: 0px;
	overflow: visible;
}

.bonzi-notice
{
	margin: 0px 0px 5px auto;
	padding: 10px;
	/*-moz-box-shadow: 0px 2px 8px -2px #000;
	-webkit-box-shadow: 0px 2px 8px -2px #000;
	box-shadow: 0px 2px 8px -2px #000;*/
}

.bonzi-notice-success
{
	color: #0a0;
	border-color: #0c0;
	background-color: #efe;
	background-image: none;
}

.bonzi-notice-warning
{
	color: #c90;
	border-color: #fc0;
	background-color: #ffe;
	background-image: none;
}

.bonzi-notice-error
{
	color: #d00;
	border-color: #f00;
	background-color: #fee;
	background-image: none;
}

/* Add a shadow to items being sorted. */
.ui-sortable-helper > div.ui-state-default,
ol.bonzi-form .ui-sortable-helper
{
	/*-moz-box-shadow: 0px 2px 8px -2px #000;
	-webkit-box-shadow: 0px 2px 8px -2px #000;
	box-shadow: 0px 2px 8px -2px #000;*/
}

/* Style ordered list based bonzi forms. See the jquery.ui.bonziformbuilder.js plugin. */
ol.bonzi-form,
ol.bonzi-form ol
{
	list-style-type: none;
	cursor: default;
}

ol.bonzi-form
{
	margin-left: 0px;
	padding-left: 0px;
}

ol.bonzi-form ol
{
	margin-left: 25px;
	padding-left: 0px;
}

ol.bonzi-form li.bonzi-form-group > ol
{
	margin-left: 0px;
}

ol.bonzi-form li > div
{
	padding-left: 5px;
	padding-right: 5px;
}

ol.bonzi-form li > div > *
{
	/* For multiline labels or inputs, float to the top of the list item. */
	vertical-align: middle;
}

label.bonzi-form-required,
ol.bonzi-form li.bonzi-form-required > div > span:first-child,
ol.bonzi-form li.bonzi-form-required > div > label:first-child
{
	/* Highlight required labels. */
	font-weight: bold;
}

ol.bonzi-form li
{
	/* Makes form items look nice when being dragged and dropped in the editor. */
	background-color: #fff;
}

ol.bonzi-form li > div > span:first-child,
ol.bonzi-form li > div > label:first-child
{
	/* Form item label text. */
	display: inline-block;
	margin-right: 15px;
}

ol.bonzi-form .bonzi-form-checkboxes
{
	display: inline-block;
}

ol.bonzi-form li.bonzi-form-group
{
	margin: 10px 20px 10px 20px;
	padding: 0px 5px 10px 5px;
}

ol.bonzi-form li.bonzi-form-group li.bonzi-form-group
{
	margin: 10px 0px 0px 20px;
	padding-bottom: 0px;
	border: none;
}

ol.bonzi-form li.bonzi-form-group li.bonzi-form-group > ol
{
	margin-left: 0px;
}

ol.bonzi-form li.bonzi-form-group > div
{
	margin-top: 5px;
	margin-bottom: 5px;
}

ol.bonzi-form li.bonzi-form-group > div > span:first-child,
ol.bonzi-form li.bonzi-form-group > div > label:first-child
{
	margin: 0px;
	font-size: 150%;
	font-weight: bold;
}

ol.bonzi-form li.bonzi-form-group li.bonzi-form-group > div > span:first-child,
ol.bonzi-form li.bonzi-form-group li.bonzi-form-group > div > label:first-child
{
	font-size: 125%;
}

ol.bonzi-form li.bonzi-form-placeholder
{
	background-color: #dfd;
}

ol.bonzi-form li.bonzi-form-hidden
{
	display: none;
}

ol.bonzi-form li.bonzi-form-hidden > div > span:first-child,
ol.bonzi-form li.bonzi-form-hidden > div > label:first-child
{
	text-decoration: line-through;
}

ol.bonzi-form .bonzi-form-edithelper a
{
	text-decoration: underline;
}

ol.bonzi-form .bonzi-form-edithelper a:hover
{
	color: #00f !important;
}

.bonzi-topbar
{
	position: fixed;
	z-index: 500;
	top: 0px;
	left: 0px;
	width: 100%;
	min-width: 960px;
	height: 58px;
	/*-moz-box-shadow: 0px 0px 6px #000;
	-webkit-box-shadow: 0px 0px 6px #000;
	box-shadow: 0px 0px 6px #000;*/
	/*background: #000 url('images/bonzi.ui/topbar_bg.png') repeat-x left bottom;*/
}
.bonzi-topbar,
.bonzi-topbar > div,
.bonzi-topbar > div > div
{
	margin: 0px;
	padding: 0px;
	/*color: white;*/
}
.bonzi-topbar > .bonzi-topbar-left
{
	position: absolute;
	top: 0px;
	left: 10px;
	right: 10px;
	height: 22px;
}
.bonzi-topbar > .bonzi-topbar-right
{
	position: absolute;
	top: 0px;
	right: 0px;
	height: 58px;
}
.bonzi-topbar > .bonzi-topbar-left > *
{
	vertical-align: top;
	height: 22px;
	line-height: 22px;
	float: left;
}
.bonzi-topbar ul.bonzi-menu
{
	/*color: white;*/
}
.bonzi-topbar ul.bonzi-menu > li
{
	padding-top: 0px;
	padding-bottom: 0px;
}
.bonzi-topbar ul.bonzi-menu > li > .ui-icon
{
	display: inline-block;
	vertical-align: middle;
}
/*.bonzi-topbar ul.bonzi-menu > li > ul.bonzi-menu-not-sidebyside.bonzi-menu-bottom
{
	border-top: none;
}*/
.bonzi-topbar ul.bonzi-menu > li li
{
	line-height: 2;
}
.bonzi-topbar ul.bonzi-menu li
{
	font-weight: inherit;
}

.bonzi-page-minwidth
{
	min-width: 960px;
	margin: 0px;
	padding: 0px;
}

.bonzi-content
{
	min-width: 960px;
	margin: 0px;
	padding: 0px;
	border-left: none;
	border-right: none;
	border-bottom: none;
	border-top: 40px solid transparent;
	overflow: visible;
}

.bonzi-fixed-toolbox
{
	position: fixed;
	width: 100%;
	margin: 0px;
	padding: 0px;
	z-index: 1;
	overflow: auto;
	background: transparent url('images/top-fadeout.png') repeat-x left bottom;
}

input[type="text"],
input[type="password"],
textarea
{
	border: 1px solid #888;
	margin: 0px;
	padding: 2px;
}

.clear-button-image
{
	display: block;
	height: 32px;
	width: 32px;
	margin: 0px;
	padding: 0px;
	background: transparent url('images/clear.png') no-repeat left top;
}

.bonzi-button
{
	margin: 0px;
	padding: 0px;
}

.bonzi-swap-top-left,
.bonzi-swap-top-right,
.bonzi-swap-bottom-left,
.bonzi-swap-bottom-right,
.bonzi-icon-undo,
.bonzi-icon-redo
{
	display: block;
	height: 16px;
	width: 16px;
	margin: 0px;
	padding: 0px;
	background-repeat: no-repeat;
}
.bonzi-swap-top-left
{
	background-image: url('images/swap.png');
	background-position: left top;
}
.bonzi-swap-top-right
{
	background-image: url('images/swap.png');
	background-position: right top;
}
.bonzi-swap-bottom-left
{
	background-image: url('images/swap.png');
	background-position: left bottom;
}
.bonzi-swap-bottom-right
{
	background-image: url('images/swap.png');
	background-position: right bottom;
}
.bonzi-icon-undo
{
	background-image: url('images/undo.png');
	background-position: right top;
}
.bonzi-icon-redo
{
	background-image: url('images/redo.png');
	background-position: right top;
}

.bonzi-has-help
{
	cursor: help;
}

.ui-datepicker,
.bonzi-topbar ul.bonzi-menu ul,
.bonzi-mousetip,
.bonzi-notice,
.ui-sortable-helper > div.ui-state-default,
ol.bonzi-form .ui-sortable-helper,
.ui-draggable-dragging,
.bonzi-shadow
{
	box-shadow: 3px 3px 4px rgba(0,0,0,0.25);
	-moz-box-shadow: 3px 3px 4px rgba(0,0,0,0.25);
	-webkit-box-shadow: 3px 3px 4px rgba(0,0,0,0.25);
}

.ui-menu .ui-menu-item {
	list-style-image: none;
}
.loader {
	background-color: rgba(0,0,0,.25);
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
.loader .spinner {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1003;
	background-color: #ffffff88;
}
.loader .spinner-body {
	position: inherit;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
@media (max-width: 575px) {
	.loader .spinner {
		width: 100%;
	}
}
.loader .cubes {
	width: 40px;
	height: 40px;
}
.loader .cubes-cube {
	width: 33%;
	height: 33%;
	background-color: #008FD5;
	float: left;
	animation: cubeGridScaleDelay 1.3s infinite ease-in-out;
}
.loader .cubes-cube--1 {
	animation-delay: 0.2s;
}
.loader .cubes-cube--2 {
	animation-delay: 0.3s;
}
.loader .cubes-cube--3 {
	animation-delay: 0.4s;
}
.loader .cubes-cube--4 {
	animation-delay: 0.1s;
}
.loader .cubes-cube--5 {
	animation-delay: 0.2s;
}
.loader .cubes-cube--6 {
	animation-delay: 0.3s;
}
.loader .cubes-cube--7 {
	animation-delay: 0s;
}
.loader .cubes-cube--8 {
	animation-delay: 0.1s;
}
.loader .cubes-cube--9 {
	animation-delay: 0.2s;
}
@keyframes cubeGridScaleDelay {
	0%, 70%, 100% {
		transform: scale3D(1, 1, 1);
	}
	35% {
		transform: scale3D(0, 0, 1);
	}
}
.static-modal-container {
	background-color: rgba(0,0,0,.50);
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1500;
}
.static-modal-container .modal {
	background-color: #fff;
	left: 600px;
	height: 600px;
	padding: 10px;
	position: fixed;
	right: 600px;
	top: 85px;
	width: 600px;
	z-index: 1501;
}
/* for desktops and tablets */
@media all and (max-width: 1920px) {
	.static-modal-container .modal {
		left: 650px;
		right: 650px;
	}
}
@media all and (max-width: 1690px) {
	.static-modal-container .modal {
		left: 600px;
		right: 600px;
	}
}
@media all and (max-width: 1440px) {
	.static-modal-container .modal {
		left: 440px;
		right: 440px;
	}
}
@media all and (max-width: 1280px) {
	.static-modal-container .modal {
		left: 400px;
		right: 400px;
	}
}
@media all and (max-width: 980px) {
	.static-modal-container .modal {
		left: 235px;
		right: 235px;
	}
}
@media all and (max-width: 768px) {
	.static-modal-container .modal {
		left: 75px;
		right: 75px;
	}
}
.static-modal-container .modal .title {
	color: #007ec1;
	font-family: 'Roboto Condensed';
	font-size: 12px;
	font-weight: bold;
}
.static-modal-container .modal .close {
	background-image: url(jqueryUI/images/ui-icons_333333_256x240.png);
	background-position: -96px -128px;
	background-repeat: no-repeat;
	cursor: pointer;
	display: block;
	height: 16px;
	overflow: hidden;
	position: absolute;
	right: 10px;
	top: 8px;
	width: 16px;
}
.static-modal-container .modal .close:hover {
	background-image: url(jqueryUI/images/ui-icons_008FD5_256x240.png);
}
.static-modal-container .modal .modal-iframe {
	border: 0;
	height: 100%;
	width: 100%;
}
/* this is a stupid high z-index value, but we don't want to individually manage users' websites */
body.layout_leftcolumn .static-modal-container {
	z-index: 20000;
}
body.layout_leftcolumn .static-modal-container .modal {
	z-index: 20001;
}

/* for modern mobile devices */
@media all and (max-width: 320px) {
	.static-modal-container .modal {
		bottom: 0;
		left: 0;
		height: auto;
		padding: 0;
		right: 0;
		top: 0;
		width: auto;
	}
	.static-modal-container .modal .title {
		padding: 10px;
	}
	.photo-upload .uploaderFrame .cropperjs {
		width: 300px;
	}
	.photo-upload .uploaderFrame .cropperjs-canvas {
		flex: 100%;
		float: none;
		padding: 0;
	}
}
@media all and (max-width: 375px) {
	.static-modal-container .modal {
		bottom: 0;
		left: 0;
		height: auto;
		padding: 0;
		right: 0;
		top: 0;
		width: auto;
	}
	.static-modal-container .modal .title {
		padding: 10px;
	}
	.photo-upload .uploaderFrame .cropperjs {
		width: 300px;
	}
	.photo-upload .uploaderFrame .cropperjs-canvas {
		flex: 100%;
		float: none;
		padding: 0;
	}
}
@media all and (max-width: 414px) {
	.static-modal-container .modal {
		bottom: 0;
		left: 0;
		height: auto;
		padding: 0;
		right: 0;
		top: 0;
		width: auto;
	}
	.static-modal-container .modal .title {
		padding: 10px;
	}
	.photo-upload .uploaderFrame .cropperjs {
		width: 300px;
	}
	.photo-upload .uploaderFrame .cropperjs-canvas {
		flex: 100%;
		float: none;
		padding: 0;
	}
}
