html {
	height: auto;
	margin: 0;
	padding: 0;
}
body {
	background:none;
	background-color:#FFFFFF;
	color:#333333;
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
	height:auto;
	margin: 0;
	padding: 0;
}

.hr {
	background-color:#57375F;
	clear:both;
	height:1px;
	margin-bottom:6px;
	margin-top:6px;
	width:100%;
}

.cb {
	clear:both;
}

.cf:before,
.cf:after {
    content: "";
    display: table;
} 
.cf:after {
    clear: both;
}
.cf {
    zoom: 1;
}

/* slide styles */
/*
*, *:before, *:after {
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
*/
.font-xx-small {
	font-size:xx-small;
}
.font-x-small {
	font-size:x-small;
}
.font-small {
	font-size:small;
}
.font-medium {
	font-size:medium;
}
.font-large {
	font-size:large;
}
.font-x-large {
	font-size:x-large;
}
.font-xx-large {
	font-size:xx-large;
}
h6 {
	font-size:x-small;
}
h5 {
	font-size:small;
}
h4 {
	font-size:medium;
}
h3 {
	font-size:large;
}
h2 {
	font-size:x-large;
}
h1 {
	font-size:xx-large;
}

/* slide template styles */
/*
*#templatePreview, *#slideTemplates, *#templatePreview:before, *#slideTemplates:before, *#templatePreview:after, *#slideTemplates:after {
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
*#templatePreview, *#slideTemplates{
	font-size:medium;
}
#templatePreview.font-xx-small,  #slideTemplates.font-xx-small{
	font-size:xx-small;
}
#templatePreview.font-x-small, #slideTemplates.font-x-small {
	font-size:x-small;
}
#templatePreview.font-small, #slideTemplates.font-small {
	font-size:small;
}
#templatePreview.font-medium, #slideTemplates.font-medium {
	font-size:medium;
}
#templatePreview.font-large, #slideTemplates.font-large {
	font-size:large;
}
#templatePreview.font-x-large, #slideTemplates.font-x-large {
	font-size:x-large;
}
#templatePreview.font-xx-large, #slideTemplates.font-xx-large {
	font-size:xx-large;
}
#templatePreview h6, #slideTemplates h6 {
	font-size:x-small;
}
#templatePreview h5, #slideTemplates h5 {
	font-size:small;
}
#templatePreview h4, #slideTemplates h4 {
	font-size:medium;
}
#templatePreview h3, #slideTemplates h3 {
	font-size:large;
}
#templatePreview h2, #slideTemplates h2 {
	font-size:x-large;
}
#templatePreview h1, #slideTemplates h1 {
	font-size:xx-large;
}
*/
/* end slide template styles */

.red_text {color:#FF0000;}
.yellow_text {color:#FFFF00;}
.link {
	color:#0000FF;
	cursor:pointer;
	text-decoration:underline;
}
.strong{font-weight:bold;}

.rcorn {-moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px;}
.rcorn_tl {-moz-border-top-left-radius: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px;}
.rcorn_tr {-moz-border-top-right-radius: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px;}
.rcorn_bl {-moz-border-bottom-left-radius: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px;}
.rcorn_br {-moz-border-bottom-right-radius: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px;}

.crumbs {
	clear:both;
	margin-bottom:5px;
	width:950px;
}

.crumbs_item {
	color:#899FBF;
	clear:both;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:12px;
	font-weight:bold;
}

.crumbs_item a {
	color:#304B73;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:12px;
	font-weight:bold;
}

.last_crumb {
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:12px;
	color:#899FBF;
}

.title_wrap {
	clear:both;
	margin-bottom:5px;
	width:950px;
}

.page_title {
	float:left;
	font-family:"Trebuchet MS", Verdana, Arial, sans-serif;
	font-size:24px;
	font-weight:bold;
	width:60%;
}

.slideshow_name {
	float:right;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:normal;
	padding-top:5px;
	text-align:right;
	width:35%;
}

.sub_title_wrap {
	clear:both;
	float:left;
	padding-bottom:5px;
	width:930px;
}

.sub_title {
	float:right;
	font-family:"Trebuchet MS", Verdana, Arial, sans-serif;
	font-size:18px;
	font-weight:bold;
	text-align:right;
}

#tt {
	position:absolute;
	display:block;
}

#ttcont {
	display:block;
	padding:2px 12px 3px 7px;
	margin-left:5px;
	background:#F7F7EA;
	border:1px solid #143353;
	border-top:5px solid #143353;
	color:#333333;
	text-align:left;
}

#dhtmltooltip{
	position:absolute;
	width:400px;
	border:1px solid #143353;
	border-top:5px solid #143353;
	color:#333333;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:12px;
	line-height:1.5em;
	padding:12px;
	background:#F7F7EA;
	text-align:left;
	visibility:hidden;
	z-index:100;
}

#dhtmltooltip p {
	color:#333333;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:12px;
	line-height:1.5em;
	margin-top:7px;
	margin-bottom:7px;
}

#dhtmltooltip strong {
	color:#333333;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:12px;
	line-height:1.5em;
}

.dhtmltootipdiv {
	height:0px;
	padding:0px;
	margin:0px;
	z-index:100;
}

.a_login_wrap {
	background-color:#CCE3F6;
	border:1px solid #007EA6;
	clear:both;
	margin-left:auto;
	margin-right:auto;
	padding:15px;
	width:300px;
}

.a_login_note_wrap {
	background-color:#CCE3F6;
	border:1px solid #007EA6;
	clear:both;
	margin-bottom:5px;
	margin-left:auto;
	margin-right:auto;
	margin-top:75px;
	padding:15px;
	width:300px;
}

.a_login_note {
	clear:both;
	font-family:Tahoma, Geneva, sans-serif;
	font-size:18px;
	font-weight:bold;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
	width:270px;
}

.a_login_head {
	clear:both;
	float:left;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:18px;
	font-weight:bold;
	margin-bottom:5px;
	width:300px;
}

.a_login_form_item {
	clear:both;
	float:left;
	padding-bottom:5px;
	padding-top:5px;
	width:270px;
}

.a_login_label {
	clear:both;
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	margin-bottom:2px;
	width:270px;
}

.a_login_cap {
	clear:both;
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:24px;
	font-weight:bold;
	margin-bottom:6px;
	margin-top:6px;
	text-align:center;
	width:270px;
}

.a_login_field {
	clear:both;
	float:left;
	width:270px;
}

.a_login_field input {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	color:#000000;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:14px;
	padding:15px;
	width:240px;
}

.a_login_submit {
	clear:both;
	float:left;
	width:270px;
}

.a_login_submit input {
	background-color:#A2B4C3;
	border:1px solid #626D76;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	padding-bottom:5px;
	padding-top:5px;
	width:270px;
}

.wrap {
	clear:both;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:5px;
	margin-top:5px;
	width:950px;
	
}

/******** info blocks ********/

.info_wrap_1 {
	background-color:#98CAEF;
	clear:both;
	float:left;
	margin-bottom:5px;
	width:950px;
}

.info_tube {
	padding:10px;
	width:100%;
}

/***** segments *****/

.mem_seg_th_wrap {
	background-color:#2183CA;
	border-left:1px solid #2183CA;
	border-right:1px solid #2183CA;
	clear:both;
	float:left;
	width:950px;
}

.mem_seg_th {
	float:left;
	width:135px;
}

.mem_seg_slideshow_th {
	float:left;
	width:110px;
}

.mem_seg_th_txt {
	color:#FFFFFF;
	float:left;
	font-family:"Trebuchet MS", Verdana, Arial, sans-serif;
	font-size:16px;
	font-weight:bold;
	padding:5px;
	text-align:center;
	width:100%;
}

.mem_seg_item_wrap {
	border:1px solid #2183CA;
	clear:both;
	float:left;
	margin-bottom:5px;
	width:950px;
}

.mem_seg_item_wrap_in {
	border-bottom:1px solid #E8E8E8;
	clear:both;
	float:left;
	margin-bottom:5px;
	margin-top:5px;
	width:950px;
}

.mem_seg_item {
	float:left;
	width:135px;
}

.mem_seg_slideshow_item {
	float:left;
	width:110px;
}

.mem_seg_arrow_wrap {
	margin-left:auto;
	margin-right:auto;
	width:54px;
}

.mem_seg_arrow {
	float:left;
}

.mem_seg_item_txt {
	color:#333333;
	float:left;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:12px;
	padding-bottom:15px;
	padding-top:15px;
	padding-left:5px;
	padding-right:5px;
	text-align:center;
	width:100%;
}
		
/***** detail lists *****/

.dl_new_wrap {
	float:right;
	text-align:right;
	width:450px;
}

.dl_tube {
	margin-left:auto;
	margin-right:auto;
	padding-bottom:10px;
	padding-top:10px;
	width:932px;
}

.dl_new_btn {
	float:right;
	height:42px
	width:40px;
}

.dl_new_text {
	float:right;
	margin-top:10px;
	white-space:nowrap;
}

.dl_new_text a {
	color:#333333;
	font-family:Arial, Helvetica, sans-serif;
	font-size:20px;
	font-weight:bold;
	text-decoration:none;
}

.dl_new_wrap_left {
	float:left;
	text-align:left;
	width:450px;
}

.dl_new_btn_left {
	float:left;
	height:42px
	width:40px;
}

.dl_new_text_left {
	float:left;
	margin-top:10px;
	white-space:nowrap;
}

.dl_new_text_left a {
	color:#333333;
	font-family:Arial, Helvetica, sans-serif;
	font-size:20px;
	font-weight:bold;
	text-decoration:none;
}
		
/***** navigation *****/

.nav_wrap {
	background-color:#304B73;
	border-bottom:3px solid #2183CA;
	clear:both;
	padding-bottom:0px;
	padding-top:4px;
	position:relative;
	width:100%;
	z-index:10;
}

.nav_box {
	background-color:#304B73;
	clear:both;
	margin-left:auto;
	margin-right:auto;
	width:900px;
}

.nav {float:left;}
.nav ul {margin:0px;padding:0px;text-align:left;}
.nav ul li {
	float:left;display:inline;
	margin-right:5px;
}
.nav ul li:hover {
	background:#2183CA;
	-moz-border-top-left-radius:5px;
	-webkit-border-top-left-radius:5px;
	border-top-left-radius:5px;
	-moz-border-top-right-radius:5px;
	-webkit-border-top-right-radius:5px;
	border-top-right-radius:5px;
}
.nav ul li a {color:#FFFFFF;display:block;font-family:Verdana, Geneva, sans-serif;font-size:12px;font-weight:bold;padding:5px;text-decoration:none;}
.nav ul li ul {
	background:#2183CA;
	border-bottom:1px solid #304B73;
	-moz-border-top-right-radius:5px;
	-webkit-border-top-right-radius:5px;
	border-top-right-radius:5px;
	-moz-border-bottom-left-radius:5px;
	-webkit-border-bottom-left-radius:5px;
	border-bottom-left-radius:5px;
	-moz-border-bottom-right-radius:5px;
	-webkit-border-bottom-right-radius:5px;
	border-bottom-right-radius:5px;
	position:absolute;
	width:240px;
}
.nav ul li ul li {
	-moz-border-bottom-left-radius:5px;
	-webkit-border-bottom-left-radius:5px;
	border-bottom-left-radius:5px;
	-moz-border-bottom-right-radius:5px;
	-webkit-border-bottom-right-radius:5px;
	border-bottom-right-radius:5px;
	margin:0;
	padding:0;
	width:240px;
}
.nav ul li ul li a {color:#FFFFFF;display:block;font-family:Verdana, Geneva, sans-serif;font-size:12px;font-weight:bold;padding:5px;text-decoration:none;}
.nav ul li ul.fallback {display:none;}
.nav ul li:hover ul.fallback {display:block;}

.a_nav_arrow_down {
	float:right;
	width: 0; 
	height: 0; 
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #FFFFFF;
	margin-left:3px;
	margin-top:6px;
}

/****** forms ******/
	
.error {
	background-color:#F00;
	border:1px solid #333;
	clear:both;
	color:#FFFFFF;
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	margin-bottom:5px;
	max-width:600px;
	padding:5px;
}

.error ul {
	margin-right:20px;
}

.success {
	background-color:#FF0;
	border:1px solid #333;
	clear:both;
	color:#000066;
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	margin-bottom:5px;
	max-width:500px;
	padding:5px;
}

.form_wrap {
	clear:both;
	margin-bottom:15px;
	width:870px;
}

.form_item {
	clear:both;
	float:left;
	padding-bottom:5px;
	padding-top:5px;
	width:870px;
}

.form_label {
	clear:both;
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	margin-bottom:2px;
	width:870px;
}

.form_center {
	clear:both;
	margin-left:auto;
	margin-right:auto;
	padding-bottom:5px;
	padding-top:5px;
	width:890px;
}

.form_half {
	clear:both;
	margin-left:auto;
	margin-right:auto;
	padding-bottom:5px;
	padding-top:5px;
	width:890px;
}

.form_item_half {
	float:left;
	margin-right:5px;
	padding-bottom:5px;
	padding-top:5px;
	width:435px;
}

.form_item_ui {
	float:left;
	margin:0 5px 10px 5px;
	text-align:center;
	width:100px;
}

.form_ui_radio {
	clear:both;
	float:left;
	text-align:center;
	width:100px;
}

.form_ui_img {
	clear:both;
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	text-align:center;
	width:100px;
}

.form_ui_disp {
	clear:both;
	float:left;
}

.form_label_half {
	clear:both;
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	margin-bottom:2px;
	width:435px;
}

.form_field_half {
	clear:both;
	float:left;
	width:435px;
}

.form_field_half_radio {
	clear:both;
	float:left;
	width:435px;
}

.form_field_half input {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	color:#000000;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:14px;
	padding:15px;
	width:400px;
}

.form_field_half textarea {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	color:#000000;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:14px;
	/*padding:15px;*/
	height:150px;
	width:400px;
}

.form_field_half select {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	color:#000000;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:14px;
	padding:15px;
	width:400px;
}

.form_field_half_url {
	clear:both;
	float:left;
	color:#000000;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:12px;
	padding-top:17px;
	text-align:center;
	width:435px;
}

.form_third {
	clear:both;
	margin-left:auto;
	margin-right:auto;
	padding-bottom:5px;
	padding-top:5px;
	width:890px;
}

.form_item_third {
	float:left;
	margin-right:5px;
	padding-bottom:5px;
	padding-top:5px;
	width:290px;
}

.form_label_third {
	clear:both;
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	margin-bottom:2px;
	width:290px;
}

.form_field_third {
	clear:both;
	float:left;
	width:290px;
}

.form_field_third select {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	color:#000000;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:14px;
	padding:15px;
	width:255px;
}

.dev_notes {
	clear:both;
	float:left;
	font-size:16px;
	margin-bottom:2px;
	width:870px;
}

.form_label_checkbox {
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	margin-bottom:2px;
}

.snippet_row {
	clear:both;
	float:left;
	margin-bottom:5px;
	height:325px;
	width:840px;
}

.snippetInsert {
	background-color:#E6A636;
	border:1px solid #CA8A1C;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:12px;
	font-weight:bold;
	padding-bottom:2px;
	padding-top:2px;
	width:150px;
}

.snippet_field {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	clear:both;
	float:left;
	height:200px;
	overflow-y:scroll;
	padding:5px;
	width:870px;
}

.bg_img_field {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	clear:both;
	float:left;
	height:200px;
	overflow-y:scroll;
	padding:5px;
	width:870px;
}

.bg_img_row {
	clear:both;
	float:left;
	margin-bottom:5px;
	width:840px;
}

.bg_img_disp {
	float:left;
	margin-bottom:5px;
	margin-right:5px;
}

.bg_img_size {
	cursor:pointer;
	max-height:150px;
	max-width:150px;
}

.brd_img_size {
	cursor:pointer;
	height:150px;
	width:150px;
}

#showBrdImg {
	clear:both;
	float:right;
	font-size:14px;
	font-weight:bold;
	margin-top:5px;
	text-align:right;
	width:770px;
}

#showFlBgImg {
	clear:both;
	float:right;
	font-size:14px;
	font-weight:bold;
	margin-top:5px;
	text-align:right;
	width:770px;
}

#showBgImg {
	clear:both;
	float:right;
	font-size:14px;
	font-weight:bold;
	margin-top:5px;
	text-align:right;
	width:770px;
}

#showSlideImg {
	clear:both;
	float:right;
	font-size:14px;
	font-weight:bold;
	margin-top:5px;
	text-align:right;
	width:770px;
}

.slide_fl_bg_img_size {
	cursor:pointer;
	height:84px;
	width:150px;
}

.slide_disp_bg_box {
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	padding-right:50px;
}

.slide_disp_bg_img_size {
	height:56px;
	width:100px;
}

.previewAnimationWrap {
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	padding-right:50px;
}

.previewAnimationBox {
	height:56px;
	width:100px;
}

#previewAnimation {
	position:relative;
	z-index:10;
}

.slide_bg_img_size {
	cursor:pointer;
	height:150px;
	width:150px;
}

.editable:before,
.editable:after {
    content: "";
    display: table;
} 
.editable:after {
    clear: both;
}
.editable {
    zoom: 1;
}

.order {
	position:relative;
}

.order:before {
	background-color:#FFFFFF;
	border:1px solid #000000;
	color:#000000;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	font-family:Tahoma, Geneva, sans-serif;
	font-size:12px;
	font-weight:bold;
	line-height:14px;
	padding:3px;
	position:absolute;
	top:-12px;
	left:-12px;
	content:attr(data-subOrder);
}

.orderSelected {
	border:2px dotted #000000;
}

.preview_btn_wrap {
	clear:both;
	float:left;
	width:950px;
}

.form_editable_item {
	clear:both;
	float:left;
	padding-bottom:5px;
	padding-top:5px;
	min-height:486px;
	width:930px;
}

.form_editable_tube {
	clear:both;
	padding-bottom:10px;
	padding-top:10px;
	height:100%
	width:100%;
}

.form_editable_tbl {
	clear:both;
	margin-left:auto;
	margin-right:auto;
	width:864px;
	min-height:486px;
	overflow:hidden;
}

.form_editable {
	background-color:#FFFFFF;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	clear:both;
	margin-left:auto;
	margin-right:auto;
	padding:10px 0;
	width:864px;
	height:486px;
	overflow:hidden;
}

.contentSizeNoteBg {
	background-color:#FF0;
}
.contentSizeNote{
	font-family:"Arial Black", Gadget, sans-serif;
	font-size:12px;
    opacity: 1;
    -webkit-animation: blink 2s infinite;
    -moz-animation: blink 2s infinite;
    animation: blink 2s infinite;
}
@keyframes blink{
    0% { opacity:1; }
    50% { opacity:0; }
    100% { opacity:1; }
}
@-webkit-keyframes blink{
    0% { opacity:1; }
    50% { opacity:0; }
    100% { opacity:1; }
}
@-moz-keyframes blink{
    0% { opacity:1; }
    50% { opacity:0; }
    100% { opacity:1; }
}

.form_field {
	clear:both;
	float:left;
	width:870px;
}

.form_field_audio {
	background-color:#FFFFFF;
	clear:both;
	float:left;
	width:870px;
}

.form_field_file {
	clear:both;
	float:left;
	width:870px;
}

.form_field_checkbox {
	float:left;
	margin-bottom:2px;
	margin-left:3px;
	margin-right:10px;
}

.form_field_radio {
	clear:both;
	float:left;
	width:870px;
}

.form_field input {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	color:#000000;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:14px;
	padding:15px;
	width:400px;
}

.iframeFieldSize {
	clear:both;
	float:left;
	margin-bottom:5px;
	width:600px;
}

.iframeFieldSize select {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	color:#000000;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:14px;
	padding:15px;
	width:300px;
}

.form_field textarea {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	color:#000000;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:14px;
	padding:15px;
	height:150px;
	width:400px;
}

.form_field select {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	color:#000000;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:14px;
	padding:15px;
	width:400px;
}

.form_submit {
	clear:both;
	float:left;
	width:870px;
}

.form_submit input {
	background-color:#E6A636;
	border:1px solid #CA8A1C;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	padding-bottom:5px;
	padding-top:5px;
	width:270px;
}

.slide_form_submit {
	float:left;
	padding:10px;
	width:290px;
}

.slide_form_calc {
	float:left;
	padding:10px;
	text-align:center;
	width:310px;
}

.slide_form_preview {
	float:right;
	padding:10px;
	text-align:right;
	width:290px;
}

.slide_form_submit input {
	background-color:#E6A636;
	border:1px solid #CA8A1C;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	padding-bottom:5px;
	padding-top:5px;
	width:270px;
}

.slide_form_calc input {
	background-color:#E6A636;
	border:1px solid #CA8A1C;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	padding-bottom:5px;
	padding-top:5px;
	width:270px;
}

.slide_form_preview input {
	background-color:#E6A636;
	border:1px solid #CA8A1C;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	padding-bottom:5px;
	padding-top:5px;
	width:270px;
}

.form_calc {
	clear:both;
	float:left;
	margin-bottom:2px;
	margin-top:3px;
	width:432px;
}

.form_calc_left {
	float:left;
	width:212px;
}

.form_calc_right {
	float:right;
	text-align:right;
	width:212px;
}

.form_calc input {
	background-color:#E6A636;
	border:1px solid #CA8A1C;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:normal;
	padding-bottom:5px;
	padding-top:5px;
	width:212px;
}

.slideMessage {
	background-color:#FF0;
}

/****** iframe ******/

.iframeItem {
	background-color:#98CAEF;
	clear:both;
	margin-bottom:15px;
	margin-left:auto;
	margin-right:auto;
	padding:10px;
	width:900px;
}

.iframeLabel {
	clear:both;
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	margin-bottom:10px;
	width:900px;
}

.iframeNote {
	clear:both;
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	margin-bottom:5px;
	width:900px;
}

.iframeField {
	clear:both;
	float:left;
	margin-bottom:3px;
	padding:5px;
	text-align:center;
	width:890px;
}

.iframeField input[type='text'] {
	background-color:#FFFFFF;
	border:1px solid #57375F;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	color:#000000;
	font-family:Verdana, Arial, Helvetica, sans-serif;
	font-size:12px;
	margin-left:auto;
	margin-right:auto;
	padding:15px;
	width:850px;
}

.iframeSelectCode {
	clear:both;
	float:left;
	margin-bottom:10px;
	text-align:center;
	width:890px;
}

.iframeSelectCode input {
	background-color:#E6A636;
	border:1px solid #CA8A1C;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:bold;
	padding-bottom:5px;
	padding-top:5px;
	width:270px;
}


.iframeField a {
	color:#0000FF !important;
}
	
/****** misc ******/
	
.head_info {
	clear:both;
	float:left;
	margin-bottom:15px;
	width:400px;
}

.head_info li {
	margin-bottom:6px;
}

/***** audio *****/

.audioMessage {
	font-size:18px;
}

.audioBtn {
	font-size:18px;
}

.audioControls {
	clear:both;
	display:block;
	font-size:18px;
	margin-bottom:2px;
	margin-top:2px;
	width:75px;
}

.demo-container {
	background-color:#FFFFFF;
	border:1px solid #57375F !important;
	height:200px;
	overflow-y:scroll;
	padding:0 20px;
	font-family: "Myriad Pro Regular","Trebuchet MS";
}

.demo-container a, .demo-container a:link, .demo-container a:visited, .demo-container a:hover, .demo-container a:focus, .demo-container a:active {
	color: #009BE3;
}

.demo-container ul {
	list-style-type:none;
	padding:0;
	margin:1em 0;
	width:100%;
	overflow:hidden;
}

.demo-container ul span {
	color: #A0A600;
}

.demo-container li {
	clear:both;
	float:left;
	margin-right:1em;
}

.demo-container p span.track-name {
	color: #CC0090;
}

.paginationWrap {
	clear:both;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:10px;
	margin-top:10px;
	width:950px;
}

/* ATTRIBUTES FOR THE CONTAINER (THIS HOW WE CENTER EVERYTHING)
----------------------------------------------------------------------------------------------------------------------*/
.Zebra_Pagination                       { clear: both; width: 100%; overflow: hidden }
.Zebra_Pagination ul                    { position: relative; left: 50%; list-style-type: none; margin: 0; padding: 0; float: left }
.Zebra_Pagination li                    { position: relative; float: left; right: 50% }

/* COMMON ATTRIBUTES FOR ALL THE LINKS
----------------------------------------------------------------------------------------------------------------------*/
.Zebra_Pagination a                     { padding: 6px; border: 1px solid #AAA; color: #333; text-decoration: none; margin: 0 2px; display: block; float: left; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; }
.Zebra_Pagination a:hover               { background-color: #DEDEDE; color: #222 }

/* "NEXT PAGE" AND "PREVIOUS PAGE" LINKS
----------------------------------------------------------------------------------------------------------------------*/
.Zebra_Pagination a.navigation          { border: 1px solid transparent; overflow: hidden; background-repeat: no-repeat }
.Zebra_Pagination a.previous            { margin-top:7px; background-image: url(img/larrow.png); background-position: center center; width:15px; height:15px; }
.Zebra_Pagination a.next                { margin-top:7px; background-image: url(img/rarrow.png); background-position: center center; width:15px; height:15px; }
.Zebra_Pagination a.disabled            { filter: alpha(opacity=20); -khtml-opacity: 0.2; -moz-opacity: 0.2; opacity: 0.2 }
.Zebra_Pagination a.disabled:hover      { background-color: inherit; color: inherit }

/* CURRENT PAGE
----------------------------------------------------------------------------------------------------------------------*/
.Zebra_Pagination a.current,
.Zebra_Pagination a.current:hover       { background: #2657FF; border-color: #2657FF; color: #FFF }

/* THE "..." SEPARATOR
----------------------------------------------------------------------------------------------------------------------*/
.Zebra_Pagination span                  { color: #666; margin-right: 2px; display: block; float: left; padding: 8px 4px }

.imgThumb {
	cursor:pointer;
	max-width:250px;
	max-height:100px;
}

.imgFullThumbSize {
	cursor:pointer;
	width:150px;
	height:84px;
}

.imgThumbSize {
	cursor:pointer;
	width:200px;
	height:150px;
}

.imgDeleteThumb {
	max-width:250px;
	max-height:100px;
}

/***** preview slide *****/

.animationStep {
	float:left;
	font-size:12px;
	width:36%;
}
.preveiwLoading {
	float:right;
	font-size:12px;
	text-align:right;
	width:63%;
}

/***** updates *****/

.updateNote {
	clear:both;
	float:left;
	font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size:14px;
	margin-bottom:2px;
	width:870px;
}

.helpVid {
	cursor:pointer;
}

/***** help *****/

#faqs dt, #faqs dd { padding: 0 0 0 50px }
#faqs dt { font-size:20px; color: #333333; cursor: pointer; height: 37px; line-height: 37px; margin: 0 0 15px 25px}
#faqs dd { font-size: 14px; margin: 0 0 20px 25px}
#faqs dt { background: url(img/plus.png) no-repeat left}
#faqs .expanded { background: url(img/minus.png) no-repeat left}