
/* ------------------------------ CONTENT BOX ---------------------  */




@media (min-width: 560px)  {

	.hideForDesktop, .mobile{
		display:none !important;
	}

  body .is-wrapper > div.is-sticky,

  body .is-sticky{

    position:sticky;

    top:0;

  }

  body .is-wrapper > div.is-sticky, .is-sticky{

    /*z-index:50;might need adjusting per site based of  template css, is-wraooer rule applied to overrise z-index:auto on body .is-wrapper > div*/

		z-index:101; /*Updated as product zoom js z-index:99, Banner Cycle2 Images = z-index:100 */

  }



}




#ContentCMS.containsContentBox #cmsPageContent.cmsUsualWidth,
.cmsUsualWidth.containsContentBox {
    max-width: none!important;
    width: 100%!important;
    padding-left: 0!important;
    padding-right: 0!important;
}



/* RSJ HACK - note media dependent */

.column {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	 overflow: hidden;
}



.wsb-template .column {
	overflow: visible; /* Reuben fix for template menu snippets */
}




/* Container for All Sections */

.is-wrapper {
	width:100%;height:100%;box-sizing:border-box;margin:0 auto;max-width:100%;
}



/* Sections */

.is-section,
.is-wrapper > div {

    display:table;
    width:100%;
    height: auto; /* default */
    /* float:left;  */  /* i see no reason for this... */
    box-sizing:border-box;
    margin:0;
    padding:0;
    position:relative;
	z-index: auto;
}

div.cmsUsualWidth.is-section,

.is-wrapper > div.cmsUsualWidth {
	margin-left:auto;
	margin-right:auto;
}

/* Boxes */

.is-boxes {display:table;table-layout:fixed;width:100%;height:100%;position:relative;min-height:200px;} /* reuben 2021-08-30 removed float:left; */

.is-boxes {height:100%;}
.is-box-0 { display:table-cell;width: 0%;height:100%;position:relative; }
.is-box-1 { display:table-cell;width: 8.333333%;height:100%;position:relative; }
.is-box-2 { display:table-cell;width: 16.666667%;height:100%;position:relative; }
.is-box-3 { display:table-cell;width: 25%;height:100%;position:relative; }
.is-box-4 { display:table-cell;width: 33.333333%;height:100%;position:relative; }
.is-box-5 { display:table-cell;width: 41.666667%;height:100%;position:relative; }
.is-box-6 { display:table-cell;width: 50%;height:100%;position:relative; }
.is-box-7 { display:table-cell;width: 58.333333%;height:100%;position:relative; }
.is-box-8 { display:table-cell;width: 66.666667%;height:100%;position:relative; }
.is-box-9 { display:table-cell;width: 75%;height:100%;position:relative; }
.is-box-10 { display:table-cell;width: 83.333333%;height:100%;position:relative; }
.is-box-11 { display:table-cell;width: 91.666667%;height:100%;position:relative; }
.is-box-12 { display:table-cell;width: 100%;height:100%;position:relative; }

.is-box-centered {display:table-cell;width: 100%;position:relative;vertical-align:middle;}

.is-boxes.cmsUsualWidth,.is-boxes.is-inline-maxwidth{margin-inline:auto;} /*AJ auto-center custom contentbox widths*/



#cmsPageContainer .is-box .is-container:not(.is=content-maxwidth) {
	/*Add default padding to multi-col .is-box sections if not set*/
    padding-inline: clamp(1rem, 2vw, 4rem);
}



/*Preload caption slider css to prevent jumping on load before slideshow files loaded*/
.is-caption-slider .is-box {
    display:none;
    height: inherit;
}

.is-caption-slider .is-box:first-child {
    display: block;
}

.cb-slider .animated{
	visibility: hidden;
}

.cb-slider .slick-slide .animated{
	visibility:visible;
}





.is-stretch > div:not(.is-arrow-down) {
	/* Unlike .is-overlay (absolute positioned), this section is relative positioned. With this, flowing content is safe, and stretched content can be made absolute with class .flexi-position */

    position:relative;left:0px;top:0px;width:100%;height:100%;display:table;
}

/*
.flexi-position is set relative by default, but will set absolute (stretched) if placed within section .is-stretch
*/

.flexi-position { position: relative; }
.is-stretch .flexi-position { position: absolute; }
.is-section.is-stretch {min-height:300px;} /* New */


@media all and (max-width: 960px) {

  /*   .is-section:not(.is-stretch), .is-section-100:not(.is-stretch) { height: auto !important; } is-stretch is an exception */

    .is-section:not(.is-box) { height: auto !important; }



    /* .is-boxes { height: auto !important; } */

    .is-boxes { height: 100% !important; } /* new */
    .is-box-img {height:300px !important;}
    .is-box-img .is-boxes {height:100% !important;}

		/*AJ add important to override inline % added by new cbox col-drag func 05/23*/

    .is-box-1 { display:table;width: 100%!important;height:auto; }
    .is-box-2 { display:table;width: 100%!important;height:auto; }
    .is-box-3 { display:table;width: 100%!important;height:auto; }
    .is-box-4 { display:table;width: 100%!important;height:auto; }
    .is-box-5 { display:table;width: 100%!important;height:auto; }
    .is-box-6 { display:table;width: 100%!important;height:auto; }
    .is-box-7 { display:table;width: 100%!important;height:auto; }
    .is-box-8 { display:table;width: 100%!important;height:auto; }
    .is-box-9 { display:table;width: 100%!important;height:auto; }
    .is-box-10 { display:table;width: 100%!important;height:auto; }
    .is-box-11 { display:table;width: 100%!important;height:auto; }
    .is-box-12 { display:table;width: 100%!important;height:auto; }

    /* Give contentbox banner boxes a height*/
	.is-box-6.banner-box{height:100vW;}

    /* .is-box-centered {display:block;} */
    .is-box-centered {display:table-cell;} /* new */

}





.is-container {

    max-width:1200px;margin:0 auto;padding:0 30px; /* padding left/right only */
    position:relative;margin-left:auto;margin-right:auto;box-sizing:border-box;

/*	-webkit-transition: all ease 0.3s;
	-moz-transition: all ease 0.3s;
	-ms-transition: all ease 0.3s;
	-o-transition: all ease 0.3s;
	transition: all ease 0.3s; AJ REMOVED OCT2020 AS IT IS CAUSING CONTENT TO JUMP/SHIFT/CHANGE COLOUR ON LOAD WITH DEFER*/

}



.is-wrapper:after {
  content: "";
  display: table;
  clear: both;
}



/* Turn off parallax scrolling for all tablets and phones. Increase/decrease the pixels if needed */



@media only screen and (max-device-width: 1366px) {

body .is-section.parallax .is-overlay-bg{
    background-attachment: scroll;
    background-position:center!important;
  }

}



@media all and (max-width: 900px) {

	/* default padding left right only*/
    .is-container { padding:0 2%;  }

}



/* Boxed Layout */

.is-wrapper  .is-boxed-layout .is-container { padding:30px; background:#fff;} /* 80px , now 30px all around, up and down too */





/* Scroll Down Icon */

.is-arrow-down { display: table; position:absolute;bottom:65px;width:50px;height:50px;left:50%;margin-left:-25px;cursor:pointer;z-index:1 }

@media all and (max-width: 1025px) {

	.is-arrow-down { display:none !important; }

}

.is-arrow-down > a {
	background: rgba(0, 0, 0, 0.18); border-radius: 500px;
	color: rgba(255, 255, 255, 0.75);font-size: 22px; text-decoration:none;
	text-align: center;
    display: table-cell;
    vertical-align: middle;
}

.bounce {
	animation: bounce 5s forwards;
}



.is-arrow-down.light a {
    background: rgba(255, 255, 255, 0.18);color: #111;
}



/* Animated */

.is-animated{opacity:0;} /*default hide on load in case visible - prevent flickering*/
.is-animated.animated,
.ineditor .is-animated{opacity:1;}


/* Overlay */

.is-overlay,
.section-overlay /*constrained section option*/ {
    position:absolute;left:0px;top:0px;width:100%;height:100%;
    overflow:hidden;
    /*z-index:1;*/
}

/*.is-boxes, .is-box-centered {z-index:1}*/

.is-overlay .is-overlay-bg {
    position:absolute;left:0px;top:0px;width:100%;height:100%;
    background-size:cover;
    background-repeat:no-repeat;
    background-position:50% 60%;
}

.is-section.fixed .is-overlay-bg,
.is-section.parallax .is-overlay-bg{
	background-attachment:fixed;
}
/*new image-based overlay*/
.is-overlay .is-overlay-image {
	position: absolute;height: 100%;width: 100%;
	object-fit: cover;
	object-position: center;
}


/*AJ Alt ken-burns is-scale-animation*/
.is-box.is-scale-animation .is-overlay .is-overlay-bg,
.is-section.is-scale-animation .is-overlay .is-overlay-bg,
.is-overlay .is-overlay-bg.is-scale-animated.is-appeared {
    animation:is-scale 10s ease forwards;
    -ms-animation:is-scale 10s ease forwards;
    -webkit-animation:is-scale 10s ease forwards;
    -o-animation:is-scale 10s ease forwards;
    -moz-animation:is-scale 10s ease forwards;
}

@keyframes is-scale {

    from {
  	    transform: scale(1);
        -ms-transform: scale(1);
        -webkit-transform: scale(1);
        -o-transform: scale(1);
        -moz-transform: scale(1);
    }

    to {
  	    transform: scale(1.2);
        -ms-transform: scale(1.2);
        -webkit-transform: scale(1.2);
        -o-transform: scale(1.2);
        -moz-transform: scale(1.2);
    }

}





.is-overlay .is-overlay-color {
    position:absolute;left:0px;top:0px;width:100%;height:100%;
    background-color: rgb(0, 0, 0);opacity: 0.15;
}

.is-overlay .is-overlay-content {
    position:absolute;left:0px;top:0px;width:100%;height:100%;
    overflow:hidden;
    z-index: inherit; /* dec 2017 */
}

.is-overlay .is-overlay-content.content-selectable { z-index: 1 } /* dec 2017 */



/* Section & Content Styles */


/* Background Color */

.is-bg-grey {background-color:#eeeff0 !important}
.is-bg-dark {background-color:#111 !important}
.is-bg-light {background-color:#fff !important}



/* Vertical Alignment */

.is-content-top {
    vertical-align:top;
}

.is-content-bottom {
    vertical-align:bottom
}



/* Horizontal Alignment */

/* Reuben adjusted to use 10% instead of 100px */

@media ( min-width: 600px) {

	.is-container.is-content-left {
		margin-left:10%;
	}

	.is-container.is-content-right {
		margin-right:10%;
	}

}


/* all content edge adjustments  removed */


/* Text Alignment */

.is-align-right { text-align:right; }
.is-align-center { text-align:center; }
.is-align-left {  text-align:left; }


/* Text Opacity */
.is-opacity-20, .is-opacity-20 .is-container {     opacity: 0.2; }
.is-opacity-25, .is-opacity-25 .is-container {     opacity: 0.25; }
.is-opacity-30, .is-opacity-30 .is-container {     opacity: 0.3; }
.is-opacity-35, .is-opacity-35 .is-container {     opacity: 0.35; }
.is-opacity-40, .is-opacity-40 .is-container {     opacity: 0.4; }
.is-opacity-45, .is-opacity-45 .is-container {     opacity: 0.45; }
.is-opacity-50, .is-opacity-50 .is-container {     opacity: 0.5; }
.is-opacity-55 .is-container {     opacity: 0.55; }
.is-opacity-60, .is-opacity-60 .is-container {     opacity: 0.6; }
.is-opacity-65, .is-opacity-65 .is-container {     opacity: 0.65; }
.is-opacity-70, .is-opacity-70 .is-container {     opacity: 0.7; }
.is-opacity-75, .is-opacity-75 .is-container {     opacity: 0.75; }
.is-opacity-80, .is-opacity-80 .is-container {     opacity: 0.8; }
.is-opacity-85, .is-opacity-85 .is-container {     opacity: 0.85; }
.is-opacity-90, .is-opacity-90 .is-container {     opacity: 0.9; }
.is-opacity-95, .is-opacity-95 .is-container  {     opacity: 0.95; }
.is-opacity-1 {    opacity:1; }


/* Content Size */

/* reuben removed important so can be overridden */
.is-content-380 {     max-width: 380px ; }
.is-content-500 {     max-width: 500px ; }
.is-content-640 {     max-width: 640px ; }
.is-content-800 {     max-width: 800px ; }
.is-content-970 {     max-width: 970px ; }
.is-content-980 {     max-width: 980px ; }
.is-content-1050 {     max-width: 1050px ; }
.is-content-1100 {     max-width: 1100px ; }
.is-content-1200 {     max-width: 1200px ; }
.is-content-1400 {     max-width: 1400px ; }
.is-content-1600 {     max-width: 1600px ; }

div.is-content-fullwidth{ max-width:100%; } /*allows for outer spacing*/
div.is-content-maxwidth  { max-width: none; width: 100%; margin: 0;} /*no outer spacing*/


/*
Andrew hacks for contentbox, was percent height before.
*/

.is-wrapper > div.is-section-20 {height:20vH;}
.is-wrapper > div.is-section-30 {height:30vH;}
.is-wrapper > div.is-section-40 {height:40vH;}
.is-wrapper > div.is-section-50 {height:50vH;}
.is-wrapper > div.is-section-60 {height:60vH;}
.is-wrapper > div.is-section-75 {height:75vH;}
.is-wrapper > div.is-section-100 {height:100vH;}
.is-wrapper > div.is-section-auto {height:auto;}
.is-section-auto .is-boxes{position:initial;}
.is-box, .is-boxes{min-height:inherit;}


/*

Andrew specific rule 09/19 to fix two-col sections box positioning - remove if causes unexpected issue!

*/

.is-wrapper > .is-section > .is-boxes > .is-box{
	vertical-align:top;
}

/*

Back to standard content box

*/

.is-shadow-1 { /* for section */
    -webkit-box-shadow: 0 0 9px rgba(0, 0, 0, 0.07);
    -moz-box-shadow: 0 0 9px rgba(0, 0, 0, 0.07);
    box-shadow: 0 0 9px rgba(0, 0, 0, 0.07);
}

.is-lightbox img {
	cursor:pointer;
	-webkit-transition: all ease 0.5s;
	-moz-transition: all ease 0.5s;
	-ms-transition: all ease 0.5s;
	-o-transition: all ease 0.5s;
	transition: all ease 0.5s;
}

.is-lightbox img:hover {opacity:0.8}

.is-hidden {display:none !important;}



/* video */

.is_video_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #000;
}

.is_video_bg .screen {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  opacity: 0;
  transition: opacity 1s;
}

.is_video_bg .screen.active {
  opacity: 0.7;
}

.eventsDisabled{pointer-events: none;} /*Disable overlay text to allow video stop / play (optional)*/

.ineditor .eventsDisabled{pointer-events: all;}  /*Allow overlay editing*/



/* --------------------------- CONTENT STUDIO -------------------- */

/*  contentstudio minimalistbasic.css */


@media (min-width: 500px)  {

	/* RSJ hack  -  rows need negative margin to compensate for equal padding on columns */

	.row {
        margin-left: -1rem;
        margin-right: -1rem;
	}

    .column {
        float: left;
        padding-left: 1rem; /* beta3 */
        padding-right: 1rem; /* beta3 */
    }

    .column.full { width: 100%; }
    .column.two-third { width: 66.7%; }
    .column.three-fourth, .column.three-quarter { width: 75%; }
    .column.two-fifth  { width: 40%!important; }
    .column.half { width: 50%; }
    .column.third { width: 33.3%; }
    .column.fourth, .column.quarter { width: 25%; }
    .column.fifth { width: 20%; }
    .column.three-fifth { width: 60%; }
    .column.four-fifth { width: 80%; }
    .column.sixth { width: 16.6%; }
    .column.seventh { width: 14.28%; }
    .column.eighth { width: 12.5%; }
    .column.two-sixth  { width: 33.3%; }/* fixed innova bug */
    .column.five-sixth { width: 83.4%; }
    .column.flow-opposite { float: right; order:99;} /*order allows this to work when a flex box*/

	.row.inline-halves .column{	width:49%!important;}
  .row.inline-thirds .column{	width:33%!important;}
	.row.inline-fourths .column{	width:24%!important;}
  .row.inline-fifths .column{	width:19%!important;}
  .row.inline-sixths .column{	width:16%!important;}
  .row.inline-sevenths .column{	width:14%!important;}
  .row.inline-eighths .column{	width:12%!important;}


	/* RSJ media column dependent */
	.right {text-align:right}
	.left {text-align:left}
	.padding-20 {padding:20px}
	.padding-25 {padding:25px}
	.padding-30 {padding:30px}
	.padding-35 {padding:35px}
	.padding-40 {padding:40px}

    .col-12, .col-md-12, .col-lg-12, .col-sm-12 { width: 100%; }
    .col-11, .col-md-11, .col-lg-11, .col-sm-11 { width: 91.6%; }
    .col-10, .col-md-10, .col-lg-10, .col-sm-10 { width: 83.3%; }
    .col-9, .col-md-9, .col-lg-9, .col-sm-9 { width: 75%; }
    .col-8, .col-md-8, .col-lg-8, .col-sm-8 { width: 66.7%; }
    .col-7, .col-md-7, .col-lg-7, .col-sm-7 { width: 58.3%; }
    .col-6, .col-md-6, .col-lg-6, .col-sm-6 { width: 50%; }
    .col-5, .col-md-5, .col-lg-5, .col-sm-5 { width: 41.6%; }
    .col-4, .col-md-4, .col-lg-4, .col-sm-4 { width: 33.3%; }
    .col-3, .col-md-3, .col-lg-3, .col-sm-3 { width: 25%; }
    .col-2, .col-md-2, .col-lg-2, .col-sm-2 { width: 16.6%; }
    .col-1, .col-md-1, .col-lg-1, .col-sm-1 { width: 8%; }

}


/*Break for tablet format at 800px AJ 05/25
	Only if identical column classes, not custom layouts
	Wrap flex elements if set for vert/horz alignment
*/
@media (max-width:800px) and (min-width: 500px) {
	.row:has( .column.fifth ),
	.row:has( .column.sixth ),
	.row:has( .column.seventh ),
	.row:has( .column.eighth ){flex-wrap:wrap;}
	.row:has(.column.fifth:nth-child(5)) > .column.fifth{ width: 33% !important; }
	.row:has(.column.sixth:nth-child(6)) > .column.sixth{ width: 33% !important; }
	.row:has(.column.seventh:nth-child(7)) > .column.seventh{ width: 25% !important; }
	.row:has(.column.eighth:nth-child(8)) > .column.eighth{ width: 25% !important; }
}


.center {text-align:center}

.clearfix:before, .clearfix:after {content: " ";display: table;  }
.clearfix:before, .clearfix:after {clear: both;}

/**********************************

    Elements

***********************************/

.margin-0 {margin:0 !important}
.margin-20 {margin:20px !important}
.margin-25 {margin:25px !important}
.margin-30 {margin:30px !important}
.margin-35 {margin:35px !important}
.margin-40 {margin:40px !important}
.is-card { display:table; background-color:#fff;  }
.is-card > * { display:table; }
.is-card-circle { width:280px; height: 280px; border-radius:500px; padding:70px; margin:0 auto; }
.is-card-content-centered { display:table-cell;vertical-align:middle;text-align:center; }
.max-390 { max-width:390px;margin:0 auto; }

.shadow-1 { /* card */
    -webkit-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);
    -moz-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);
    box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);
}

.shadow-2 { /* screenshot */
    -webkit-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);
    box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);
}

.shadow-3 { /* highlight */
    -webkit-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);
}

figure.hdr img.noeffects, figure.hdr:hover img.noeffects, img.noeffects:hover
{
	-webkit-transition: unset;
	transition: unset;
	-webkit-transform: unset;
	transform: unset;
	opacity: unset;
}


img.circle {border-radius:500px;margin-top:0;}
img.rounded{border-radius:5px;}
img.bordered {border: #ccc 1px solid;}

img.boxshadow {
    -webkit-box-shadow: 2px 2px 5px rgba(0,0,0,0.4);
    -moz-box-shadow:  2px 2px 5px rgba(0,0,0,0.4);
    box-shadow:  2px 2px 5px rgba(0,0,0,0.4) ;
}

img.marginbump{
	transition: 0.1s margin ease-in-out;
}

img.marginbump:hover {margin-top:-5px;margin-bottom:5px;}

.embed-responsive {position: relative;display:block;height:0;padding:0;overflow:hidden;margin-top: 1.4em;margin-bottom: 1rem;}
.embed-responsive.embed-responsive-16by9 {padding-bottom: 56.25%;}
.embed-responsive.embed-responsive-4by3 {padding-bottom: 75%;}
.embed-responsive.embed-responsive-9by16 {padding-bottom: 177.77%;}
.embed-responsive iframe {position: absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0;}





/*
Drag-drop inline form default Styling
*/

.cb-inlineform{margin-block:1em;} /*emulate p*/
.cb-inlineform .inputOptionSet{display:flex;gap:0.5rem;flex-wrap:wrap;}
.cb-inlineform input:not([type=radio]):not([type=checkbox]):not([type=submit]),
.cb-inlineform select,
.cb-inlineform textarea{display:block;width:100%;}




/*RSJ legacy hack */

.column figure {margin: 0 }
.column > a > img,
.column > img,
.column > figure,
.column > .embed-responsive {
    margin-top: 1rem;margin-bottom: 1rem;
}

.list {position:relative;margin:1.5em 0;}
.list > ion-icon,
.list > i {position:absolute;left:-3px;top:7px;font-size:1.7em;line-height:1;}
.list > h2, .list > h3 {margin: 0 0 0 50px;}
.list > p {margin: 5px 0 0 50px}

.quote {position:relative;margin:1.5em;}
.quote > ion-icon,
.quote > i {position: absolute; left: -7px; font-size: 2em;}
.quote > i.material-icons {transform: scaleX(-1);}
.quote > small {margin-left:50px; opacity: 0.7; font-size: 1em;}
.quote > p {margin-left:50px; font-size: 1.5em;}

.is-social {line-height:1;margin-bottom:1.5em}
.is-social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px 0 0;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}

.is-social a:hover > ion-icon,
.is-social a:hover > i {color:#08c9b9;}
.is-light-text .is-social a > i {color:#fff}
.is-light-text .is-social a:hover > i {color:#fff}
.is-dark-text .is-social a > i {color:#000}
.is-dark-text .is-social a:hover > i {color:#000}


/* backward compatible */

.social {line-height:1;margin-bottom:1.5em}
.social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px 0 0;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}
.social a:hover > i {color:#08c9b9;}
.is-light-text .social a > i {color:#fff}
.is-light-text .social a:hover > i {color:#fff}
.is-rounded-button-big {display:inline-block;}

.is-rounded-button-big a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 110px; height: 110px;background-color: #aaa;}
.is-rounded-button-big a ion-icon,
.is-rounded-button-big a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:40px}
.is-rounded-button-big a ion-icon{ transform: scale(0.6);  }
.is-rounded-button-big a:first-child {margin:0 20px 0 0;}
.is-rounded-button-big a:last-child {margin:0 0 0 20px;}

.is-rounded-button-medium {display:inline-block;}
.is-rounded-button-medium a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 70px; height: 70px;background-color: #aaa;}

.is-rounded-button-medium a ion-icon,
.is-rounded-button-medium a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:30px}
.is-rounded-button-medium a ion-icon{transform: scale(0.6); }

.is-boxed-button-big {display:inline-block;}
.is-boxed-button-big a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 110px; height: 110px;background-color: #aaa;}
.is-boxed-button-big a ion-icon,
.is-boxed-button-big a i {margin: 30%; display:inline-block;width:1em;height:1em;vertical-align:middle;color:#ffffff;font-size:40px; }


.is-boxed-button-big2 {display:inline-block;}
.is-boxed-button-big2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 150px; height: 70px;background-color: #aaa;}
.is-boxed-button-big2 a ion-icon,
.is-boxed-button-big2 a i {margin: 30%; display:inline-block;width:1em;height:1em;vertical-align:middle;color:#ffffff;font-size:35px}

.is-boxed-button-medium {display:inline-block;}
.is-boxed-button-medium a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 70px; height: 70px;background-color: #aaa;}
.is-boxed-button-medium a ion-icon,
.is-boxed-button-medium a i {margin: 30%; display:inline-block;width:1em;height:1em;vertical-align:middle;color:#ffffff;font-size:30px}

.is-boxed-button-medium2 {display:inline-block;}
.is-boxed-button-medium2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 100px; height: 50px;background-color: #aaa;}
.is-boxed-button-medium2 a ion-icon,
.is-boxed-button-medium2 a i {margin: 30%; display:inline-block;width:1em;height:1em;vertical-align:middle;color:#ffffff;font-size:25px}

.is-boxed-button-small {display:inline-block;}
.is-boxed-button-small a {display:table;float:left;text-align:center;margin:0 20px 0 0;width: 50px; height: 50px;background-color: #aaa;}
.is-boxed-button-small a ion-icon,
.is-boxed-button-small a i {margin: 30%; display:inline-block;width:1em;height:1em;vertical-align:middle;color:#ffffff;font-size:20px}


/*prepend with body to override .material-icons css rule*/

body .size-default {font-size:inherit;}
body .size-12 {font-size:12px}
body .size-14 {font-size:14px}
body .size-16 {font-size:16px}
body .size-18 {font-size:18px}
body .size-21 {font-size:21px}
body .size-24 {font-size:24px}
body .size-32 {font-size:32px}
body .size-48 {font-size:48px}
body .size-64 {font-size:64px}
body .size-80 {font-size:80px}
body .size-96 {font-size:96px}

@media all and (max-width: 1024px) {

    body .size-32 {font-size:28px}
    body .size-48 {font-size:32px}
    body .size-64 {font-size:36px}
    body .size-80 {font-size:40px}
    body .size-96 {font-size:44px}

}

/**********************************
    Title Styles
***********************************/

.is-light-text *:not(input):not(textarea) {color: #fff;} /*prevent text from being white on white*/
.is-dark-text *:not(input):not(textarea) {color: #000;}


/**********************************

    Buttons Styles

***********************************/



.is-btn {

    padding: 10px 50px;
    font-size: 1em;
    line-height: 2em;
    border-radius: 0;
    letter-spacing: 3px;
    display: inline-block;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    -webkit-transition: all 0.16s ease;
    transition: all 0.16s ease;
}


.is-btn-small { padding: 5px 25px; font-size: 0.85em; }
.is-upper { text-transform:uppercase; }
.is-rounded-30 { border-radius: 30px; }


/* Old Buttons */

.btn, .btn-primary, .btn-default, .btn-small {
	padding: 3px;
    border-radius: 3px;
    display: inline-block;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    -webkit-transition: all 0.16s ease;
    transition: all 0.16s ease;
}

.btn, .btn-primary, .btn-default {
    padding: 5px 20px;
    font-size: 1.2em;
		line-height: 2em;
    border-radius: 6px;
    white-space: normal; /*Added by default to allow long button text to wrap as screen size reduces*/
}

.btn-small {
	padding: 3px;
    font-size: inherit;
	line-height: inherit;
	border-radius: 3px;
}

.btn-small,
.btn-default {color: #333333;background-color: #d3d3d3;}
.btn-small,
.btn-default:hover {color: #111;background-color: #ccc;border-color: #ccc;}

.btn-primary {color: #ffffff;background-color: #08c9b9 ; border-color: black; }
.btn-primary:hover {color: #ffffff;background-color:#07b0a2; }

.btn-primary-outline,.btn.btn-primary-outline{color: #08c9b9;background: none ; border:2px solid #08c9b9; }/*default blue - overridden by primary colour in template - always primary*/
.btn-primary-outline:hover {color: #ffffff;background-color: #08c9b9; }

.btn-outline,.btn.btn-outline{color: #282828;background: none ; border:2px solid #282828; }/*plain dark colour overriden to white by is-light-text*/
.btn-outline:hover {color: #ffffff;background-color: #282828; }
.is-light-text .btn-outline,.is-light-text .btn.btn-outline{color: white;background: none ; border:2px solid white; }
.is-light-text .btn-outline:hover {color: #ffffff;background-color: #282828; border:2px solid white; }



/*  */

.cb-btn, input[type=button].cb-btn , input[type=submit].cb-btn , a.button.cb-btn , a.smallbutton.cb-btn {
	font-size:13px;color:white!important;font-weight:400;
	font-style:normal;line-height:43px;min-height:43px;
}



.btn-apply, input[type=button].btn-apply , input[type=submit].btn-apply , a.button.btn-apply , a.smallbutton.btn-apply
{background:#00bf00!important;}

.btn-cancel, input[type=button].btn-cancel , input[type=submit].btn-cancel , a.button.cancel , a.smallbutton.cancel
{background:#9dd3d2!important;} /*washed out blue*/

.btn-savedata{background:orange;}

.btn-inpage{background: #c2d3eb!important;}



/**********************************

    Custom Snippet coding

***********************************/

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

ul.listUL li:first-child {
    border-top: 1px solid #ccc;
}

ul.listUL li {
    border-bottom: 1px solid #ccc;
    padding: 0.5rem 0;
}

.is-dark-text ul.listUL li:first-child {border-top: 1px solid #000;}
.is-dark-text ul.listUL li {  border-bottom: 1px solid #000;}
.is-light-text ul.listUL li:first-child {border-top: 1px solid #fff;}
.is-light-text ul.listUL li {border-bottom: 1px solid #fff;}


.row.inline,
.row.inline-thirds{text-align:center;}
.row.inline .column,
.row.inline-thirds .column{
	display:inline-block;
	float:none;
	vertical-align:top;
}

.column.circbox {
    position: relative;
    padding: 1rem;
}

.column.circbox .circ {
    width: 100%;
    padding-top: 100%;
    border-radius: 500px;
    background: #efefef;
    position: relative;
}

.column.circbox .circ.circpad {
    width: 72%;
    padding-top: 72%;
    margin:14%;
}



.column.circbox .circtext {
    position: absolute;
    display: flex;
    top: 0;
    bottom: 0;
    left: 2rem;
    right: 2rem;
    flex-direction: column;
    justify-content: center;
}

pre.codeSample {
  padding: 10px;
  border: 1px solid silver;
  color: green;
}

/**********************************
    Andrew Flex Banner Snippet Css
    Legacy use - where possible use inline style
***********************************/


.flex{display:flex;}
.flexcenter{justify-content:center;align-items:center;}
.row.flex{height: 100%;}
.row.flex .column{display:flex;flex-direction:column;}
.row.flex .column.full{width:100%;}
.row.flex.flexrow .column,.flexrow{flex-direction:row;}
.row.flex .column.vcenter{justify-content:center;} /*vert center direction col*/
.row.flex .column.textblock{padding:2% 5%;}
.row.flex .column.imgblock{padding:0;justify-content: center;}
.row.flex .column.imgblock img{ align-self: center;} /*center non 100% width img*/
.row.flex.vcenter{align-items:center;} /*non-figcaption snippets*/
.row.flexblock{margin-left:0;margin-right:0;}

#cmsAltBanner .row.flexblock{margin-left:-1rem;margin-right:-1rem;} /*normal*/
#cmsAltBanner .row.flex .column{padding-left:0;padding-right:0;}
#cmsAltBanner li{height:100%;}


.row.flex figure.hdr figcaption {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 1.3em 3em;
    margin:0;
	pointer-events: none;
}

.ineditor .row.flex figure.hdr figcaption {
	pointer-events: all; /*allow text to be edited*/
}

.row.flex.flexblock img{margin-top:0;margin-bottom:0;}
.row.flex figure.hdr figcaption a{pointer-events:all;}
.row.flex figcaption.vcenter{justify-content:center;} /* justify due to flex-dir column */
.row.flex figcaption.end{justify-content:flex-end;}
.row.flex figcaption > div{flex:0;} /*fix for insert div on text align*/
.row.fleximages{display:flex;}
.row.fleximages .column{width:auto;}

.grid{display:grid;}
.grid .column:not(.cloned-handler){width:100%!important;}/*override default, let grid set width excl col drag-reorder (cloned-handler)*/
.grid.clearfix:before, .grid.clearfix:after {content:none;}


.no-img-margin img,
.no-inner-margin figure{margin: 0!important;}



.cbcaptioncontainer{pointer-events: none;}
.cbcaptioncontainer figcaption{pointer-events: all;}

.disableClick figcaption,
.disableClick figure.one > div,{pointer-events:none!important;}

.disable-container-click .is-container{pointer-events:none;}





.hunder h1,.hunder h2,.hunder h3,.hunder h4,h1.hunder,h2.hunder,h3.hunder,h4.hunder
{
	padding-bottom:2rem;position: relative;
}

.hunder h1:before,.hunder h2:before,.hunder h3:before,.hunder h4:before,
h1.hunder:before,h2.hunder:before,h3.hunder:before,h4.hunder:before
{
    content: "";position: absolute;width: 80px;height: 2px;bottom: 0;left: 50%;
	margin-left:-40px;border-bottom-width: 2px;border-bottom-style:solid;
}

.hoverBorderReveal:not(:hover){border-color:transparent!important;}



/*Force last item e.g. buttons to bottom of snippet  - works with plain columns and inner elements*/

.lastElBaseAlign{display:flex;}

.lastElBaseAlign figure,
.lastElBaseAlign .column,
.lastElBaseAlign .object,
.lastElBaseAlign .is-card:not(:has(.column)),
.lastElBaseAlign figcaption{
	display:flex;
	flex-direction:column;
	flex:1;
}

.lastElBaseAlign .column > *:not(.object):not(.is-card):not(figure):last-child,
.lastElBaseAlign .object > *:last-child,
.lastElBaseAlign figure > *:last-child,
.lastElBaseAlign .is-card:not(:has(.column)) > *:last-child,
.lastElBaseAlign figcaption > *:last-child{
	margin-top:auto;
}





/*
multi column alignment
*/

@media all and (min-width: 560px) {
	.row.vAlignMiddle { display: flex !important; }
	.row.vAlignMiddle .column { display: flex !important; flex-direction: column!important; justify-content: center !important;}
	.row.vAlignBottom { display: flex !important; }
	.row.vAlignBottom .column { display: flex !important; flex-direction: column!important; justify-content: flex-end !important;}
	.row.vAlignTop { display: flex !important; }
	.row.vAlignTop .column { display: flex !important; flex-direction: column!important; justify-content: start !important;}
}





/* BETA STYLES FOR CAPTION OVERLAY NEW ELEMENTS
.cbcaptioncontainer - wrapper for FIGCAPTION
.cbimagecontainer - wrapper for IMG
.cboverlay - append to .cbimagecontainer
*/



.cbcaptioncontainer{display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; position: absolute;z-index:9;top:0;bottom:0;left:0;right:0;}

.cbimagecontainer{position: relative;overflow:hidden;}

.cbimagecontainer:hover img{-webkit-user-select: none;user-select: none;}

.cbimageoverlay{position: absolute;z-index: 8;top:0;bottom:0;left:0;right:0;pointer-events:none;}






/*=================================

HEADER FLEX DESKTOP - MASTHEAD STYLING

=================================*/



header {
   display: flex;
   position: relative;
   column-gap: 0.5rem;
   gap:0.5rem;
   margin-top:0.5rem;
}



.column.header-flex-center {
    justify-content: center;
    align-items: center;
    width: auto;
    margin: 0;
}

header.row,
header .row {
    margin-left: auto;
    margin-right: auto;
}

header .column {
    overflow: visible;
}

header.clearfix:before,
header.clearfix:after
{
    display: none;
}

header #mobbtn
{
    padding: 0;
    position: relative;
}

.column.flex-col
{
    flex-direction: column;
    column-gap:  0.5rem;
    gap: 0.5rem;
}

.column.header-flex-fill
{
    flex: 1 0 0;
    align-items: center;
}

.column.header-flex-item
{
    display: flex;
    padding-inline: 0;
    width: auto;
}

.header-flex-item.flex-col {
    padding-top:0.5rem;
}



@media(min-width:561px){

	.column.header-flex-fill:last-of-type {
		justify-content: flex-end;
	}

	.column.header-flex-fill.flex-col:last-of-type {
		justify-content: center;
		align-items: flex-end;
	}

}





/*intial hidden hover state*/
.txtOnHover figure figcaption,
.txtOnHoverZoom figure figcaption,
.txtOnUpHover figure figcaption,
.txtOnHover figure .cbimageoverlay,
.txtOnHoverZoom figure .cbimageoverlay,
.txtOnUpHover figure .cbimageoverlay
{
	opacity:0;
	transition:all 0.5s ease;
}



.jumpOnHover .column,.row .jumpOnHover{
	position:relative;
	transition:top 0.2s ease;
	top:0;
}

.jumpOnHover .column:hover,
.jumpOnHover:not(.row):not(a):hover{top:-0.75rem;}
a.jumpOnHover:hover{top:-0.4rem;}

