body.ncWebPage
{
    padding: 0px;
    margin: 0px;
}
#csBuild{
	display: none !important;
	visibility: hidden !important;
}
form
{
    padding: 0px;
    margin: 0px;
}
input.ncCheckBox, input.ncRadio{
	vertical-align: middle;
}
#ncHiddenDetached{
	display: none;
}
.LOpage{
	/* may be overridden in layout */
	border: none;
}
ul.ncNavListVert{
    /* important when lists stacked next to each other // inline-grid no help in IE @2019-03-12 */
    display: inline-block;
    vertical-align: top;
}
ul.ncNavListHor
{
    /* required, otherwise height not calculated correctly and dividers show above elements */
    overflow: auto;
    display: block;    
}
ul.ncNavListVert, ul.ncNavListHor{
	margin: 0px; 
	padding: 0px; 
	list-style-type: none;
}
ul.ncNavListVert li, ul.ncNavListHor li{
	/* this prevents unwanted padding in IE */
	display: inline;
}
ul.ncNavListVert li span, ul.ncNavListVert li span a, ul.ncNavListHor li span, ul.ncNavListHor li span a{
	display: block;	
}
ul.ncNavListHor li span, ul.ncNavListHor li span a{
	float: left;	
}
li span.ncNavDivider img{
	height: 1px; 
	display: none;
}
span.ncNavListDividerVert
{
    display: inline-block;
    overflow: hidden;
}
table.ncFormatting{
	border-collapse: collapse;
	border: none;
}	
td.ncFormatting{
	padding: 0px;
	vertical-align: top;
}
iframe.ncConfigPage{
    border: none;
    width: 100%;
    overflow: hidden;
    width: 0px;
    height: 0px;
}
/* overflow clearly required for holder (so that content clipped during scrolling), 
   also necessary on content / title so that borders, bg etc cover the whole of title containing tags with margins e.g. a single <p> tag 
*/
div.ncPanelContentHolder, div.ncPanelContent, div.ncPanelTitle, div.ncPanelTitle>div, div.ncPanelTitleInlineBlock, div.ncPanelTitleInlineBlock>div{
	overflow: hidden
}
div.ncPanelTitleInlineBlock{
	display: inline-block;
}

div.ncOverflowBgFix
{
    /* 
    this prevents a sub-element with a margin within an element with no padding having it's margin spill over into the elements container
    e.g. <p> in page body's margin showing in main page colour when it's container has zero padding   
    do NOT add heights / widths to this class  
    */
    overflow: hidden;
}
/* !ncBoundedImage classNames tested in script files, IEQuirks entries too */
span.ncBoundedImage, span.ncBoundedImageX, span.ncBoundedImageY, span.ncBoundedImageXY
{
    display: inline-block; 
    
    
    /* center used when images not absolutely positioned */
    text-align: center;
    
    transform-style: preserve-3d;
    
    position: relative;
}
span.ncBoundedImageX img
{
    max-width: 100%;
    
    /* middle align stops unwanted padding below the image */
    vertical-align: middle;
    
    /* rely on centering - no Y dimension and strict dtd's introduce padding above images if we use absolute position within a span with no Y dimension */
    /*
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    */
}
span.ncBoundedImageY img
{
    max-height: 100%;
    top: 50%;
    position: absolute;
    transform: translateY(-50%);
}
span.ncBoundedImageXY img
{
    max-width: 100%;
    left: 50%;
    max-height: 100%;
    top: 50%;
    position: absolute;
    transform: translateX(-50%) translateY(-50%);
}
/* for each level of a cascading field filter */
div.ncFilterFieldContainer{
	white-space: nowrap;
}
/* for single line filters, make the divs inline */
div.ncFilterFieldSingleLine, div.ncFilterFieldSingleLine>div.ncFilterFieldContainer{
	display: inline-block;
}

/* nc embeds shown in the page */
div.ncPageEmbed
{
    /*
    _width:99.5% !important;
    width:99.5% !important; 
	*/
    width: auto;
    text-align: left;
	color: #000;
	overflow: hidden;
	text-overflow: ellipsis;
    display: block;
	clear: both; 
	float: none;
}
span.ncPageEmbed{
    display: inline-block;
    width: auto !important;
    margin-right: 1px;
    margin-left: 1px;
    vertical-align: middle;
}
div.ncPageEmbed, span.ncPageEmbed{
	padding: 1px 3px 1px 1px;
	height: 16px !important;
	line-height: 14px;
	background-repeat: no-repeat;
	background-position: top left;
	overflow: hidden;
	background-color: #ffffe0;
	border: solid 1px #a9a9a9;
	font-family: sans-serif, verdana;
	font-size: 8pt;
	font-weight: normal;
	font-variant: normal;
	font-style:normal;
	color: #000;
}

div.ncPageEmbedMajorType101, span.ncPageEmbedMajorType101{
	background-color: #e0ecff;
}
/* icons in embed listbox */
.ncPageEmbed>img.ncIconSprite{
	width: 16px;
	height: 16px;
	vertical-align: middle;
	margin-right: 2px;
	/*margin-top: -1px;*/
}
.ncPageEmbed>img.ncEmbedIconSprite{	
	background-image: url('../images/EmbedIcons.png');
}
/* /nc embeds shown in the page */

.ncAjaxInitialIndicator, .ncAjaxTransitionIndicator{
	display: none;
}

.nc-progress-cover, .nc-progress-custom-cover{
	position: absolute;
	z-index: 100;	
	overflow: hidden;
}
.nc-progress-cover{
	background-color: #fff;
	opacity: 0.5;
}

/* spinner #1 */
.nc-progress-spinner {
  /*
  color: official;
  display: inline-block;
  position: relative;
  */
  
  position: absolute;
  z-index: 150;
  width: 80px;
  height: 80px;  
}
.nc-progress-spinner div {
  transform-origin: 40px 40px;
  animation: nc-progress-spinner 1.2s linear infinite;
}
.nc-progress-spinner div:after {
  content: " ";
  display: block;
  position: absolute;
  top: 3px;
  left: 37px;
  width: 6px;
  height: 18px;
  border-radius: 20%;
  background: darkgray;
}
.nc-progress-spinner div:nth-child(1) {
  transform: rotate(0deg);
  animation-delay: -1.1s;
}
.nc-progress-spinner div:nth-child(2) {
  transform: rotate(30deg);
  animation-delay: -1s;
}
.nc-progress-spinner div:nth-child(3) {
  transform: rotate(60deg);
  animation-delay: -0.9s;
}
.nc-progress-spinner div:nth-child(4) {
  transform: rotate(90deg);
  animation-delay: -0.8s;
}
.nc-progress-spinner div:nth-child(5) {
  transform: rotate(120deg);
  animation-delay: -0.7s;
}
.nc-progress-spinner div:nth-child(6) {
  transform: rotate(150deg);
  animation-delay: -0.6s;
}
.nc-progress-spinner div:nth-child(7) {
  transform: rotate(180deg);
  animation-delay: -0.5s;
}
.nc-progress-spinner div:nth-child(8) {
  transform: rotate(210deg);
  animation-delay: -0.4s;
}
.nc-progress-spinner div:nth-child(9) {
  transform: rotate(240deg);
  animation-delay: -0.3s;
}
.nc-progress-spinner div:nth-child(10) {
  transform: rotate(270deg);
  animation-delay: -0.2s;
}
.nc-progress-spinner div:nth-child(11) {
  transform: rotate(300deg);
  animation-delay: -0.1s;
}
.nc-progress-spinner div:nth-child(12) {
  transform: rotate(330deg);
  animation-delay: 0s;
}
@keyframes nc-progress-spinner {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* spinner #2 */
.nc-progress-ellipsis {
  /*	
  display: inline-block;
  position: relative;
  */
  position: absolute;
  z-index: 150;
  width: 80px;
  height: 13px;
}
.nc-progress-ellipsis div {
  position: absolute;	
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: darkgray;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.nc-progress-ellipsis div:nth-child(1) {
  left: 8px;
  animation: nc-progress-ellipsis1 0.6s infinite;
}
.nc-progress-ellipsis div:nth-child(2) {
  left: 8px;
  animation: nc-progress-ellipsis2 0.6s infinite;
}
.nc-progress-ellipsis div:nth-child(3) {
  left: 32px;
  animation: nc-progress-ellipsis2 0.6s infinite;
}
.nc-progress-ellipsis div:nth-child(4) {
  left: 56px;
  animation: nc-progress-ellipsis3 0.6s infinite;
}
@keyframes nc-progress-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes nc-progress-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes nc-progress-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}