/**
 * Base CSS used by the builder's layout, including rows
 * and columns. Any module specific global CSS should be
 * included in fl-builder-layout-modules.css.
 */

/* Grid
------------------------------------------------------ */

.fl-builder-content *,
.fl-builder-content *:before,
.fl-builder-content *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.fl-row:before,
.fl-row:after,
.fl-row-content:before,
.fl-row-content:after,
.fl-col-group:before,
.fl-col-group:after,
.fl-col:before,
.fl-col:after,
.fl-module:not([data-accepts]):before,
.fl-module:not([data-accepts]):after,
.fl-module-content:before,
.fl-module-content:after {
	display: table;
	content: " ";
}
.fl-row:after,
.fl-row-content:after,
.fl-col-group:after,
.fl-col:after,
.fl-module:not([data-accepts]):after,
.fl-module-content:after {
	clear: both;
}
.fl-clear {
	clear: both;
}

/* Rows
------------------------------------------------------ */

.fl-row,
.fl-row-content {
	margin-left: auto;
	margin-right: auto;
	min-width: 0;
}
.fl-row-content-wrap {
	position: relative;
}

/* Photo Bg */
.fl-builder-mobile .fl-row-bg-photo .fl-row-content-wrap {
	background-attachment: scroll;
}

/* Video and Embed Code Bg */
.fl-row-bg-video,
.fl-row-bg-video .fl-row-content,
.fl-row-bg-embed,
.fl-row-bg-embed .fl-row-content {
	position: relative;
}

.fl-row-bg-video .fl-bg-video,
.fl-row-bg-embed .fl-bg-embed-code {
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
}

.fl-row-bg-video .fl-bg-video video,
.fl-row-bg-embed .fl-bg-embed-code video {
	bottom: 0;
	left: 0px;
	max-width: none;
	position: absolute;
	right: 0;
	top: 0px;
}
.fl-row-bg-video .fl-bg-video video {
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
}
.fl-row-bg-video .fl-bg-video iframe,
.fl-row-bg-embed .fl-bg-embed-code iframe {
	pointer-events: none;
	width: 100vw;
  	height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
  	max-width: none;
  	min-height: 100vh;
  	min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
  	position: absolute;
  	top: 50%;
  	left: 50%;
	-ms-transform: translate(-50%, -50%); /* IE 9 */
	-webkit-transform: translate(-50%, -50%); /* Chrome, Safari, Opera */
  	transform: translate(-50%, -50%);
}
.fl-bg-video-fallback {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0px;
	left: 0px;
	position: absolute;
	right: 0px;
	top: 0px;
}

/* Slideshow Bg */
.fl-row-bg-slideshow,
.fl-row-bg-slideshow .fl-row-content {
	position: relative;
}
.fl-row .fl-bg-slideshow {
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 0;
}
.fl-builder-edit .fl-row .fl-bg-slideshow * {
	bottom: 0;
	height: auto !important;
	left: 0;
	position: absolute !important;
	right: 0;
	top: 0;
}

/* Row Bg Overlay */
.fl-row-bg-overlay .fl-row-content-wrap:after {
	border-radius: inherit;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}
.fl-row-bg-overlay .fl-row-content {
	position: relative;
	z-index: 1;
}

/* Full Height Rows */
.fl-row-default-height .fl-row-content-wrap,
.fl-row-custom-height .fl-row-content-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	min-height: 100vh;
}
.fl-row-overlap-top .fl-row-content-wrap {
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -moz-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	width: 100%;
}
.fl-row-default-height .fl-row-content-wrap,
.fl-row-custom-height .fl-row-content-wrap {
	min-height: 0;
}

.fl-row-default-height .fl-row-content,
.fl-row-full-height .fl-row-content,
.fl-row-custom-height .fl-row-content {
  -webkit-box-flex: 1 1 auto;
  	 -moz-box-flex: 1 1 auto;
  	  -webkit-flex: 1 1 auto;
  		  -ms-flex: 1 1 auto;
  			  flex: 1 1 auto;
}
.fl-row-default-height .fl-row-full-width.fl-row-content,
.fl-row-full-height .fl-row-full-width.fl-row-content,
.fl-row-custom-height .fl-row-full-width.fl-row-content {
	max-width: 100%;
	width: 100%;
}

/* Full height align center */
.fl-row-default-height.fl-row-align-center .fl-row-content-wrap,
.fl-row-full-height.fl-row-align-center .fl-row-content-wrap,
.fl-row-custom-height.fl-row-align-center .fl-row-content-wrap {
	-webkit-align-items: center;
	-webkit-box-align: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	justify-content: center;
	align-items: center;
}

/* Full height align bottom */
.fl-row-default-height.fl-row-align-bottom .fl-row-content-wrap,
.fl-row-full-height.fl-row-align-bottom .fl-row-content-wrap,
.fl-row-custom-height.fl-row-align-bottom .fl-row-content-wrap {
	-webkit-align-items: flex-end;
	-webkit-justify-content: flex-end;
	-webkit-box-align: end;
	-webkit-box-pack: end;
	-ms-flex-align: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	align-items: flex-end;
}

/* Column Groups
------------------------------------------------------ */
.fl-col-group-equal-height {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.fl-col-group-equal-height.fl-col-group-has-child-loading {
	flex-wrap: nowrap;
}
.fl-col-group-equal-height .fl-col,
.fl-col-group-equal-height .fl-col-content {
	display: flex;
	flex: 1 1 auto;
}
.fl-col-group-equal-height .fl-col-content {
	flex-direction: column;
	flex-shrink: 1;
	min-width: 1px;
	max-width: 100%;
	width: 100%;
}
.fl-col-group-equal-height:before,
.fl-col-group-equal-height .fl-col:before,
.fl-col-group-equal-height .fl-col-content:before,
.fl-col-group-equal-height:after,
.fl-col-group-equal-height .fl-col:after,
.fl-col-group-equal-height .fl-col-content:after{
	content: none;
}

/* Equal height align top */
.fl-col-group-nested.fl-col-group-equal-height.fl-col-group-align-top .fl-col-content,
.fl-col-group-equal-height.fl-col-group-align-top .fl-col-content {
	justify-content: flex-start;
}

/* Equal height align center */
.fl-col-group-nested.fl-col-group-equal-height.fl-col-group-align-center .fl-col-content,
.fl-col-group-equal-height.fl-col-group-align-center .fl-col-content {
	justify-content: center;
}

/* Equal height align bottom */
.fl-col-group-nested.fl-col-group-equal-height.fl-col-group-align-bottom .fl-col-content,
.fl-col-group-equal-height.fl-col-group-align-bottom .fl-col-content {
	justify-content: flex-end;
}

.fl-col-group-equal-height.fl-col-group-align-center .fl-col-group {
	width: 100%;
}

/* Columns
------------------------------------------------------ */

.fl-col {
	float: left;
	min-height: 1px;
}

/* Column Bg Overlay */
.fl-col-bg-overlay .fl-col-content {
	position: relative;
}
.fl-col-bg-overlay .fl-col-content:after {
	border-radius: inherit;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}
.fl-col-bg-overlay .fl-module {
	position: relative;
	z-index: 2;
}

/* Templates
------------------------------------------------------ */

.single:not(.woocommerce).single-fl-builder-template .fl-content {
	width: 100%;
}

/* Shapes & Patterns
------------------------------------------------------- */
.fl-builder-layer {
	position: absolute;
	top:0;
	left:0;
	right: 0;
	bottom: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}
.fl-builder-shape-layer {
	z-index: 0;
}
.fl-builder-shape-layer.fl-builder-bottom-edge-layer {
	z-index: 1;
}
.fl-row-bg-overlay .fl-builder-shape-layer {
	z-index: 1;
}
.fl-row-bg-overlay .fl-builder-shape-layer.fl-builder-bottom-edge-layer {
	z-index: 2;
}
.fl-row-has-layers .fl-row-content {
	z-index: 1;
}
.fl-row-bg-overlay .fl-row-content {
	z-index: 2;
}

.fl-builder-layer > * {
	display: block;
	position: absolute;
	top:0;
	left:0;
	width: 100%;
}
.fl-builder-layer + .fl-row-content {
	position: relative;
}
.fl-builder-layer .fl-shape {
	fill: #aaa;
	stroke: none;
	stroke-width: 0;
	width:100%;
}
/**
Fix ipad parallax issue on safari
https://core.trac.wordpress.org/ticket/48802
https://core.trac.wordpress.org/ticket/49285
https://github.com/WordPress/gutenberg/issues/17718
*/
@supports (-webkit-touch-callout: inherit) {
  .fl-row.fl-row-bg-parallax .fl-row-content-wrap,
  .fl-row.fl-row-bg-fixed .fl-row-content-wrap {
    background-position: center !important;
    background-attachment: scroll !important;
  }
}

@supports (-webkit-touch-callout: none) {
	.fl-row.fl-row-bg-fixed .fl-row-content-wrap {
		background-position: center !important;
		background-attachment: scroll !important;
	}
}
/**
 * Base CSS used by all (or many) modules. This file should
 * not contain any generic layout CSS that doesn't apply to
 * modules. That belongs in fl-builder-layout.css.
 */

/* Utilities
------------------------------------------------------ */

.fl-clearfix:before,
.fl-clearfix:after {
	display: table;
	content: " ";
}
.fl-clearfix:after {
	clear: both;
}
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

/* Buttons
------------------------------------------------------ */

.fl-builder-content .fl-button:is(a, button),
.fl-builder-content a.fl-button:visited {
	border-radius: 4px;
	display: inline-block;
	font-size: 16px;
	font-weight: normal;
	line-height: 18px;
	padding: 12px 24px;
	text-decoration: none;
	text-shadow: none;
}
.fl-builder-content .fl-button:hover {
	text-decoration: none;
}
.fl-builder-content .fl-button:active {
	position: relative;
	top: 1px;
}
.fl-builder-content .fl-button-width-full .fl-button {
	width: 100%;
	display: block;
	text-align: center;
}
.fl-builder-content .fl-button-width-custom .fl-button {
	display: inline-block;
	text-align: center;
	max-width: 100%;
}
.fl-builder-content .fl-button-left {
	text-align: left;
}
.fl-builder-content .fl-button-center {
	text-align: center;
}
.fl-builder-content .fl-button-right {
	text-align: right;
}
.fl-builder-content .fl-button i {
	font-size: 1.3em;
	height: auto;
	margin-right:8px;
	vertical-align: middle;
	width: auto;
}
.fl-builder-content .fl-button i.fl-button-icon-after {
	margin-left: 8px;
	margin-right: 0;
}
.fl-builder-content .fl-button-has-icon .fl-button-text {
	vertical-align: middle;
}

/* Icons
------------------------------------------------------ */

.fl-icon-wrap {
	display: inline-block;
}
.fl-icon {
	display: table-cell;
	vertical-align: middle;
}
.fl-icon a {
	text-decoration: none;
}
.fl-icon i {
	float: right;
	height: auto;
	width: auto;
}
.fl-icon i:before {
	border: none !important;
	height: auto;
	width: auto;
}
.fl-icon-text {
	display: table-cell;
	text-align: left;
	padding-left: 15px;
	vertical-align: middle;
}
.fl-icon-text-empty {
	display: none;
}
.fl-icon-text *:last-child {
	margin: 0 !important;
	padding: 0 !important;
}
.fl-icon-text a {
	text-decoration: none;
}
.fl-icon-text span {
	display: block;
}
.fl-icon-text span.mce-edit-focus {
	min-width: 1px;
}

/* Photos
------------------------------------------------------ */

.fl-module img {
	max-width: 100%;
}
.fl-photo {
	line-height: 0;
	position: relative;
}
.fl-photo-align-left {
	text-align: left;
}
.fl-photo-align-center {
	text-align: center;
}
.fl-photo-align-right {
	text-align: right;
}
.fl-photo-content {
	display: inline-block;
	line-height: 0;
	position: relative;
	max-width: 100%;
}
.fl-photo-img-svg {
	width: 100%;
}
.fl-photo-content img {
	display: inline;
	height: auto;
	max-width: 100%;
}
.fl-photo-crop-circle img {
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}
.fl-photo-caption {
	font-size: 13px;
	line-height: 18px;
	overflow: hidden;
	text-overflow: ellipsis;
}
.fl-photo-caption-below {
	padding-bottom: 20px;
	padding-top: 10px;
}
.fl-photo-caption-hover {
	background: rgba(0,0,0,0.7);
	bottom: 0;
	color: #fff;
	left: 0;
	opacity: 0;
	filter: alpha(opacity = 0);
	padding: 10px 15px;
	position: absolute;
	right: 0;
	-webkit-transition:opacity 0.3s ease-in;
	-moz-transition:opacity 0.3s ease-in;
	transition:opacity 0.3s ease-in;
}
.fl-photo-content:hover .fl-photo-caption-hover {
	opacity: 100;
	filter: alpha(opacity = 100);
}

/* Pagination
------------------------------------------------------ */

.fl-builder-pagination,
.fl-builder-pagination-load-more {
	padding: 40px 0;
}
.fl-builder-pagination ul.page-numbers {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}
.fl-builder-pagination li {
	display: inline-block;
	list-style: none;
	margin: 0;
	padding: 0;
}
.fl-builder-pagination li a.page-numbers,
.fl-builder-pagination li span.page-numbers {
	border: 1px solid #e6e6e6;
	display: inline-block;
	padding: 5px 10px;
	margin: 0 0 5px;
}
.fl-builder-pagination li a.page-numbers:hover,
.fl-builder-pagination li span.current {
	background: #f5f5f5;
	text-decoration: none;
}

/* Slideshows
------------------------------------------------------ */

.fl-slideshow,
.fl-slideshow * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;

}
.fl-slideshow .fl-slideshow-image img {
	max-width: none !important;
}
.fl-slideshow-social {
	line-height: 0 !important;
}
.fl-slideshow-social * {
	margin: 0 !important;
}

/* Sliders
------------------------------------------------------ */

.fl-builder-content .bx-wrapper .bx-viewport {
	background: transparent;
	border: none;
	box-shadow: none;
	left: 0;
}

/* Lightbox
------------------------------------------------------ */

.mfp-wrap button.mfp-arrow,
.mfp-wrap button.mfp-arrow:active,
.mfp-wrap button.mfp-arrow:hover,
.mfp-wrap button.mfp-arrow:focus {
	background: transparent !important;
	border: none !important;
	outline: none;
	position: absolute;
	top: 50%;
	box-shadow: none !important;
}
.mfp-wrap .mfp-close,
.mfp-wrap .mfp-close:active,
.mfp-wrap .mfp-close:hover,
.mfp-wrap .mfp-close:focus {
	background: transparent !important;
	border: none !important;
	outline: none;
	position: absolute;
	top: 0;
	box-shadow: none !important;
}
.admin-bar .mfp-wrap .mfp-close,
.admin-bar .mfp-wrap .mfp-close:active,
.admin-bar .mfp-wrap .mfp-close:hover,
.admin-bar .mfp-wrap .mfp-close:focus {
	top: 32px!important;
}
img.mfp-img {
	padding: 0;
}
.mfp-counter {
	display: none;
}

.mfp-wrap .mfp-preloader.fa {
	font-size: 30px;
}

/* Form Fields
------------------------------------------------------ */

.fl-form-field {
	margin-bottom: 15px;
}
.fl-form-field input.fl-form-error {
	border-color: #DD6420;
}
.fl-form-error-message {
	clear: both;
	color: #DD6420;
	display: none;
	padding-top: 8px;
	font-size: 12px;
	font-weight: lighter;
}
.fl-form-button-disabled {
	opacity: 0.5;
}

/* Animations
------------------------------------------------------ */

.fl-animation {
	opacity: 0;
}
body.fl-no-js .fl-animation {
	opacity: 1;
}
.fl-builder-preview .fl-animation,
.fl-builder-edit .fl-animation,
.fl-animated {
	opacity: 1;
}
.fl-animated {
	animation-fill-mode: both;
}

/* Button Icon Animation */
.fl-button.fl-button-icon-animation i {
	width: 0 !important;
	opacity: 0;
	transition: all 0.2s ease-out;
}
.fl-button.fl-button-icon-animation:hover i {
	opacity: 1 !important;
}
.fl-button.fl-button-icon-animation i.fl-button-icon-after {
	margin-left: 0px !important;
}
.fl-button.fl-button-icon-animation:hover i.fl-button-icon-after {
	margin-left: 10px !important;
}
.fl-button.fl-button-icon-animation i.fl-button-icon-before {
	margin-right: 0 !important;
}
.fl-button.fl-button-icon-animation:hover i.fl-button-icon-before {
	margin-right: 20px !important;
  margin-left: -10px;
}

/* Default button colors for non Beaver Builder themes.
------------------------------------------------------ */

.fl-builder-content .fl-button:is(a, button),
.fl-builder-content a.fl-button:visited {
	background: #fafafa;
	border: 1px solid #ccc;
	color: #333;
}
.fl-builder-content .fl-button:is(a, button) *,
.fl-builder-content a.fl-button:visited * {
	color: #333;
}@media (max-width: 1200px) { /**
 * Styles needed for the large breakpoint.
 */
 }@media (max-width: 992px) { /* Columns
------------------------------------------------------ */

/* Reversed Responsive Stacking */
.fl-col-group.fl-col-group-medium-reversed {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap-reverse;
	flex-wrap: wrap-reverse;
	flex-direction: row-reverse;
}
 }@media (max-width: 768px) { /* Rows
------------------------------------------------------ */

.fl-row-content-wrap {
	background-attachment: scroll !important;
}
.fl-row-bg-parallax .fl-row-content-wrap {
	background-attachment: scroll !important;
	background-position: center center !important;
}

/* Column Groups
------------------------------------------------------ */

/* Equal Heights */
.fl-col-group.fl-col-group-equal-height {
	display: block;
}
.fl-col-group.fl-col-group-equal-height.fl-col-group-custom-width {
	display: -webkit-box;
    display: -webkit-flex;
    display: flex;
}

/* Reversed Responsive Stacking */
.fl-col-group.fl-col-group-responsive-reversed {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap-reverse;
	flex-wrap: wrap-reverse;
	flex-direction: row-reverse;
}
.fl-col-group.fl-col-group-responsive-reversed .fl-col:not(.fl-col-small-custom-width) {
	flex-basis: 100%;
	width: 100% !important;
}
.fl-col-group.fl-col-group-medium-reversed:not(.fl-col-group-responsive-reversed) {
	display: unset;
	display: unset;
	-webkit-flex-wrap: unset;
	flex-wrap: unset;
	flex-direction: unset;
}

/* Columns
------------------------------------------------------ */

.fl-col {
	clear: both;
	float: none;
	margin-left: auto;
	margin-right: auto;
	width: auto !important;
}
.fl-col-small:not(.fl-col-small-full-width) {
	max-width: 400px;
}
.fl-block-col-resize {
	display:none;
}
/* Rows
------------------------------------------------------ */

.fl-row[data-node] .fl-row-content-wrap {
	margin: 0;
	padding-left: 0;
	padding-right: 0;
}
.fl-row[data-node] .fl-bg-video,
.fl-row[data-node] .fl-bg-slideshow {
	left: 0;
	right: 0;
}

/* Columns
------------------------------------------------------ */

.fl-col[data-node] .fl-col-content {
	margin: 0;
	padding-left: 0;
	padding-right: 0;
}
 }@media (min-width: 1201px) {
	html .fl-visible-large:not(.fl-visible-desktop),
	html .fl-visible-medium:not(.fl-visible-desktop),
	html .fl-visible-mobile:not(.fl-visible-desktop) {
		display: none;
	}
}

@media (min-width: 993px) and (max-width: 1200px) {
	html .fl-visible-desktop:not(.fl-visible-large),
	html .fl-visible-medium:not(.fl-visible-large),
	html .fl-visible-mobile:not(.fl-visible-large) {
		display: none;
	}
}

@media (min-width: 769px) and (max-width: 992px) {
	html .fl-visible-desktop:not(.fl-visible-medium),
	html .fl-visible-large:not(.fl-visible-medium),
	html .fl-visible-mobile:not(.fl-visible-medium) {
		display: none;
	}
}

@media (max-width: 768px) {
	html .fl-visible-desktop:not(.fl-visible-mobile),
	html .fl-visible-large:not(.fl-visible-mobile),
	html .fl-visible-medium:not(.fl-visible-mobile) {
		display: none;
	}
}
.fl-col-content {
	display: flex;
	flex-direction: column;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}
.fl-row-fixed-width {
	max-width: 1440px;
}
.fl-builder-content > .fl-module-box {
	margin: 0;
}
.fl-row-content-wrap {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-top: 20px;
	padding-right: 20px;
	padding-bottom: 20px;
	padding-left: 20px;
}
.fl-module-content, .fl-module:where(.fl-module:not(:has(> .fl-module-content))) {
	margin-top: 20px;
	margin-right: 20px;
	margin-bottom: 20px;
	margin-left: 20px;
}
.page .fl-post-header, .single-fl-builder-template .fl-post-header { display:none; }





 .fl-node-1frp0bc376yq > .fl-row-content-wrap {
	padding-top:0px;
	padding-right:0px;
	padding-bottom:0px;
	padding-left:0px;
}






 .fl-node-zetpcfmqvxaw > .fl-row-content-wrap {
	padding-bottom:60px;
}






@media ( max-width: 768px ) {
 .fl-node-hv7582ykjz1q.fl-row > .fl-row-content-wrap {
	padding-top:20px;
	padding-right:20px;
	padding-bottom:20px;
	padding-left:20px;
}
}






@media ( max-width: 768px ) {
 .fl-node-bsfq58ijk21w.fl-row > .fl-row-content-wrap {
	padding-top:0px;
}
}






.fl-node-0l5txpc9qwzn .fl-row-content {
	max-width: 1460px;
}
.fl-animated.fl-fade-in {
	animation: fl-fade-in 1s ease;
	-webkit-animation: fl-fade-in 1s ease;
}
@-webkit-keyframes fl-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fl-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}




.fl-node-t7h89jenyrm1 {
	width: 100%;
}
@media(max-width: 768px) {
	.fl-builder-content .fl-node-t7h89jenyrm1 {
		width: 100% !important;
		max-width: none;
		clear: none;
		float: left;
	}
}




.fl-node-ocaibg5wtvdz {
	width: 100%;
}




.fl-node-dav7emx2pbnk {
	width: 50%;
}
@media(max-width: 992px) {
	.fl-builder-content .fl-node-dav7emx2pbnk {
		width: 100% !important;
		max-width: none;
		-webkit-box-flex: 0 1 auto;
		-moz-box-flex: 0 1 auto;
		-webkit-flex: 0 1 auto;
		-ms-flex: 0 1 auto;
		flex: 0 1 auto;
	}
}
@media(max-width: 768px) {
	.fl-builder-content .fl-node-dav7emx2pbnk {
		width: 100% !important;
		max-width: none;
		clear: none;
		float: left;
	}
}
 .fl-node-dav7emx2pbnk > .fl-col-content {
	padding-top:20px;
}




.fl-node-en28gh30t7u5 {
	width: 100%;
}
 .fl-node-en28gh30t7u5 > .fl-col-content {
	margin-left:20px;
}
 .fl-node-en28gh30t7u5 > .fl-col-content {
	padding-top:30px;
	padding-right:30px;
	padding-bottom:30px;
	padding-left:30px;
}
@media ( max-width: 768px ) {
 .fl-node-en28gh30t7u5.fl-col > .fl-col-content {
	padding-top:25px;
	padding-right:25px;
	padding-bottom:25px;
	padding-left:25px;
}
}




.fl-node-rtp5wd3mi0es {
	width: 25%;
}
 .fl-node-rtp5wd3mi0es > .fl-col-content {
	padding-top:0px;
	padding-right:0px;
	padding-bottom:0px;
	padding-left:0px;
}




.fl-node-53h8vcy9g7nd {
	width: 100%;
}




.fl-node-rz35a2hwl8qv {
	width: 50%;
}
@media(max-width: 768px) {
	.fl-builder-content .fl-node-rz35a2hwl8qv {
		width: 100% !important;
		max-width: none;
		clear: none;
		float: left;
	}
}




.fl-node-jxpkov45qsdu {
	width: 75%;
}
 .fl-node-jxpkov45qsdu > .fl-col-content {
	padding-top:0px;
	padding-right:0px;
	padding-bottom:0px;
	padding-left:0px;
}
@media ( max-width: 768px ) {
 .fl-node-jxpkov45qsdu.fl-col > .fl-col-content {
	padding-top:0px;
	padding-right:0px;
	padding-bottom:0px;
	padding-left:0px;
}
}
@media screen and (min-width: 768px) {
  .container,
  .element {
    padding: 20px; } }

@media screen and (min-width: 768px) {
  .flex {
    display: flex;
    box-sizing: border-box; } }

.row {
  flex-flow: row wrap; }

.col {
  flex-flow: column wrap; }

@media screen and (max-width: 767px) {
  .row, .col {
    flex: none !important;
    width: 100% !important; } }

@media screen and (max-width: 767px) {
  .flex.element {
    width: 100% !important; } }

.element {
  min-width: 100px;
  margin-bottom: 20px; }
  @media screen and (min-width: 768px) {
    .element {
      margin: 0; } }
.content {
  flex: 1 100%;
  color: #fff;
  background-color: #cccccc;
  padding: 30px;
  font-family: 'Poppins', sans-serif;
  font-size: calc(1vw + 1em);
  background-size: cover;
  background-position: center center;
  position: relative;
  min-height: 250px; }
  @media screen and (min-width: 768px) {
    .content {
      padding: 40px;
      min-height: 0; } }
  @media screen and (min-width: 1024px) {
    .content {
      padding: 55px 45px; } }
  .content:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(18, 41, 76, 0.25);
    transition: all 0.2s ease-in-out; }
    @media screen and (min-width: 768px) {
      .content:before {
        background-color: rgba(18, 41, 76, 0.15); } }
  .content .grid-block-sub-heading {
    font-weight: 300;
    text-transform: uppercase;
    display: block;
    font-size: 16px;
    margin-bottom: 17px;
    color: #3FEEE7;
    position: relative;
    transition: all 0.2s ease-in-out;
    opacity: 1; }
    @media screen and (min-width: 390px) {
      .content .grid-block-sub-heading {
        font-size: 17px; } }
    @media screen and (min-width: 768px) {
      .content .grid-block-sub-heading {
        font-size: 18px; } }
    @media screen and (min-width: 1024px) {
      .content .grid-block-sub-heading {
        font-size: 20px; } }
  .content .grid-block-heading {
    font-weight: 800;
    display: block;
    font-size: 28px;
    max-width: 85%;
    color: #ffffff;
    position: relative;
    line-height: 1.2; }
    @media screen and (min-width: 390px) {
      .content .grid-block-heading {
        font-size: 32px; } }
    @media screen and (min-width: 768px) {
      .content .grid-block-heading {
        font-size: 36px;
        margin-bottom: 30px; } }
    @media screen and (min-width: 1024px) {
      .content .grid-block-heading {
        font-size: 42px; } }
  .content .grid-block-more {
    font-size: 16px;
    font-weight: bold;
    color: #FF3956;
    text-decoration: none;
    color: #ffffff;
    position: relative; }
  .content a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 5; }
  .content:hover:before {
    background-color: rgba(255, 57, 86, 0.75); }
  .content:hover .grid-block-sub-heading {
    color: #ffffff;
    opacity: 0.75; }

.structure {
  min-height: 360px; }
  @media screen and (min-width: 768px) {
    .structure {
      min-height: 480px; } }
.structure-1 {
  width: 66.666%; }

.a {
  width: 100%; }
  @media screen and (min-width: 768px) {
    .a {
      min-height: 700px; } }
.b {
  flex: 1 60%; }

.structure-1-2-1 {
  width: 50%; }

.c {
  position: relative; }
  .c .content {
    background-color: transparent;
    padding-top: 65px; }
    .c .content:before {
      display: none; }
    .c .content .grid-block-sub-heading {
      color: #FF3956; }
    .c .content .grid-block-heading {
      color: #12294C; }
    .c .content .grid-block-more {
      color: #FF3956; }
  .c .overlay {
    position: absolute;
    top: 0;
    bottom: -120px;
    left: 0;
    right: 0; }
    @media screen and (min-width: 768px) {
      .c .overlay:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: 500%;
        border: 17px solid #f2f2f2;
        z-index: -1px; } }
.c,
.d {
  width: 100%; }

.e {
  width: 50%; }

.structure-2 {
  width: 33.333%; }

.structure-3 {
  flex: 1 100%; }

.structure-3-2-1 {
  flex: 1 33.333%;
  flex-direction: row; }

.f {
  flex: 1 50%; }

.structure-2-2 {
  width: 100%;
  flex-direction: row; }

.g {
  width: 100%; }
  @media screen and (min-width: 768px) {
    .g {
      min-height: 360px; } }
.h {
  flex: 1 100%; }
  @media screen and (min-width: 768px) {
    .h {
      min-height: 650px; } }
.i,
.j {
  width: 100%; }

.i .content {
  background-color: #ffffff; }

@media screen and (min-width: 768px) {
  .i {
    min-height: 120px; } }

@media screen and (min-width: 768px) {
  .j {
    min-height: 400px; } }

.k {
  width: 66.666%; }

@media (max-width: 768px) {
  .structure-1,
  .structure-2,
  .f,
  .structure-2-2 {
    flex: 1 100%; } }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .structure-1,
    .structure-2,
    .f,
    .structure-2-2 {
      min-height: 480px; } }
.grid-block-4-quote .content {
  border: 17px solid #f2f2f2;
  padding: 55px 30px 30px;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .grid-block-4-quote .content {
      padding-left: 20px;
      padding-right: 55px;
      border: 0;
      text-align: left; } }
.grid-block-4-quote .grid-block-quote {
  color: #ff3956;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.4;
  margin-bottom: 40px; }
  @media screen and (min-width: 390px) {
    .grid-block-4-quote .grid-block-quote {
      font-size: 22px; } }
  @media screen and (min-width: 768px) {
    .grid-block-4-quote .grid-block-quote {
      font-size: 26px; } }
  @media screen and (min-width: 1024px) {
    .grid-block-4-quote .grid-block-quote {
      font-size: 30px; } }
.grid-block-4-quote .grid-block-quote, .grid-block-4-quote .grid-block-footnote {
  display: block; }

.grid-block-4-quote .grid-block-footnote {
  color: #12294c;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.4; }
.fl-node-tuive3sl18wb .grid-block-1 .content {
    background-image: url(https://www.cubecom.co.uk/wp-content/uploads/2022/02/provence-influencer-events-6-1024x1024.jpg);
}


.fl-node-tuive3sl18wb .grid-block-2 .content {
    background-image: url(https://www.cubecom.co.uk/wp-content/uploads/2022/02/tesco-press-tasting-2.jpg);
}


.fl-node-tuive3sl18wb .grid-block-3 .content {
    background-image: url(https://www.cubecom.co.uk/wp-content/uploads/2021/10/martini-brand-story-4.png);
}


.fl-node-tuive3sl18wb .grid-block-5 .content {
    background-image: url(https://www.cubecom.co.uk/wp-content/uploads/2022/02/dark-horse-9.png);
}


.fl-node-tuive3sl18wb .grid-block-6 .content {
    background-image: url(https://www.cubecom.co.uk/wp-content/uploads/2021/10/waddesdon-wines-1.png);
}


.fl-node-tuive3sl18wb .grid-block-7 .content {
    background-image: url(https://www.cubecom.co.uk/wp-content/uploads/2021/10/moet-chandon-2-1024x683.jpg);
}

 .fl-node-tuive3sl18wb > .fl-module-content {
	margin-top:-20px;
	margin-right:-20px;
	margin-bottom:-20px;
	margin-left:-20px;
}
@media (max-width: 768px) { .fl-node-tuive3sl18wb > .fl-module-content { margin-top:20px;margin-bottom:20px;margin-left:20px;margin-right:20px; } }.fl-module-heading .fl-heading {
	padding: 0 !important;
	margin: 0 !important;
}

.fl-module-heading .fl-heading span.highlighted {
    color: #ff3956;
}.fl-node-862lsmpvaro5 .fl-heading {
	text-align: left;
}
.fl-node-prdsgw9v7a6m .fl-heading {
	text-align: left;
}
 .fl-node-prdsgw9v7a6m > .fl-module-content {
	margin-top:30px;
	margin-bottom:0px;
}
@media (max-width: 768px) { .fl-node-prdsgw9v7a6m > .fl-module-content { margin-top:20px; } }.cube-photo-stack {
	width: 100%;
	padding-bottom: 65%;
	position: relative;
	margin: 0 auto;
}

/* Pre-entry: slides invisible (cards not yet dealt) */
.cube-photo-stack:not(.is-entered) .cube-photo-stack__slide {
	opacity: 0;
}

/* On entry: each card rises gently into its stacked position.
   Subtle 8px lift + smooth fade — keyframes end at the slide's natural
   resting transform so there's no snap when animation ends. */
/* Entry animation only applies until the .has-entered-complete class is set
   by JS — once entry's done we step out of the way so the cycle can run
   without re-triggering when .is-active swaps between slides.

   Strategy: only the front 5 cards (the visually distinguishable ones) get
   the full directional deal animation. Back cards just softly fade in —
   they're under heavy white overlays anyway so any motion would be wasted. */

/* Default for any entered slide: gentle opacity-only fade.
   Back cards (not in front 5) use this with a delayed --cube-card-delay
   so they come in AFTER the front cards have arrived. */
.cube-photo-stack.is-entered:not(.has-entered-complete) .cube-photo-stack__slide {
	-webkit-animation: cubeCardSoftFade 1s ease-out backwards;
	        animation: cubeCardSoftFade 1s ease-out backwards;
	-webkit-animation-delay: var(--cube-card-delay, 0s);
	        animation-delay: var(--cube-card-delay, 0s);
}

/* Front-of-stack cards get the full deal: long ease + stagger + directional
   nudge. Per-card variation via --cube-card-x and --cube-card-rot. */
.cube-photo-stack.is-entered:not(.has-entered-complete) .cube-photo-stack__slide.is-deal-card {
	-webkit-animation: cubeCardDeal 3s cubic-bezier(.16, 1, .3, 1) backwards;
	        animation: cubeCardDeal 3s cubic-bezier(.16, 1, .3, 1) backwards;
	-webkit-animation-delay: var(--cube-card-delay, 0s);
	        animation-delay: var(--cube-card-delay, 0s);
}
.cube-photo-stack.is-entered:not(.has-entered-complete) .cube-photo-stack__slide.is-deal-card.is-active {
	-webkit-animation-name: cubeCardDealActive;
	        animation-name: cubeCardDealActive;
}

@keyframes cubeCardSoftFade {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes cubeCardDeal {
	from {
		opacity: 0;
		transform:
			translate(var(--cube-card-x, 0), 5px)
			rotate(var(--cube-card-rot, 0deg))
			scale(0.97);
	}
	to {
		opacity: 1;
		transform: translate(0, 0) rotate(0deg) scale(0.97);
	}
}
@keyframes cubeCardDealActive {
	from {
		opacity: 0;
		transform:
			translate(var(--cube-card-x, 0), 5px)
			rotate(var(--cube-card-rot, 0deg))
			scale(1);
	}
	to {
		opacity: 1;
		transform: translate(0, 0) rotate(0deg) scale(1);
	}
}

.cube-photo-stack__slide {
	opacity: 1;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	text-align: center;
	font-size: 14px;
	line-height: 60px;
	-webkit-transform: scale(0.97);
	        transform: scale(0.97);
	background-color: #dddddd;
	overflow: hidden;
	-webkit-transition: opacity 2s ease-out, -webkit-transform 2s ease-out;
	transition: opacity 2s ease-out, transform 2s ease-out;
}

.cube-photo-stack__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	display: block;
}

.cube-photo-stack__slide:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(255, 255, 255, 0.2);
	content: "";
	-webkit-transition: all 1.5s ease-in-out;
	transition: all 1.5s ease-in-out;
	opacity: 1;
	z-index: 2;
	pointer-events: none;
}

.cube-photo-stack__slide:nth-last-child(1):before { opacity: 0.4; }
.cube-photo-stack__slide:nth-last-child(2):before { opacity: 0.5; }
.cube-photo-stack__slide:nth-last-child(3):before { opacity: 0.6; }
.cube-photo-stack__slide:nth-last-child(4):before { opacity: 0.7; }
.cube-photo-stack__slide:nth-last-child(5):before { opacity: 0.8; }
.cube-photo-stack__slide:nth-last-child(6):before { opacity: 0.9; }

.cube-photo-stack__slide.is-active {
	opacity: 1;
	-webkit-transform: scale(1);
	        transform: scale(1);
	-webkit-transition: opacity 1s ease-in-out, -webkit-transform 1.25s ease-out;
	transition: opacity 1s ease-in-out, transform 1.25s ease-out;
}
.cube-photo-stack__slide.is-active:before {
	display: none;
}

.cube-photo-stack__slide.is-leaving {
	opacity: 0;
	-webkit-transform: scale(0.5);
	        transform: scale(0.5);
	-webkit-transition: opacity 0.75s ease-out, -webkit-transform 0s linear 1s;
	transition: opacity 0.75s ease-out, transform 0s linear 1s;
}
.cube-photo-stack__slide.is-leaving:before {
	display: none;
}

/* Stack positions — repeat every 6 slides via the PHP-assigned modifier class */
.cube-photo-stack__slide--6 {
	top: 0%;
	bottom: 0%;
	left: 14%;
	right: 14%;
}
.cube-photo-stack__slide--5 {
	top: 15%;
	left: 4%;
	right: 4%;
	bottom: 15%;
}
.cube-photo-stack__slide--3 {
	top: 0%;
	bottom: 0%;
	left: 14%;
	right: 14%;
}
.cube-photo-stack__slide--2 {
	top: 15%;
	left: 4%;
	right: 4%;
	bottom: 15%;
}
.cube-photo-stack__slide--4,
.cube-photo-stack__slide--1 {
	top: 8%;
	bottom: 8%;
	left: 10.5%;
	right: 10.5%;
}

.single-work .cube-photo-stack { padding-bottom: 65%; }
.home .cube-photo-stack        { padding-bottom: 78%; }

@media (prefers-reduced-motion: reduce) {
	.cube-photo-stack:not(.is-entered) .cube-photo-stack__slide,
	.cube-photo-stack.is-entered .cube-photo-stack__slide {
		opacity: 1 !important;
		-webkit-animation: none !important;
		        animation: none !important;
	}
	.cube-photo-stack__slide,
	.cube-photo-stack__slide.is-active,
	.cube-photo-stack__slide.is-leaving,
	.cube-photo-stack__slide:before {
		-webkit-transition: none !important;
		transition: none !important;
	}
}
 .fl-node-b3kfscwtgzu7 > .fl-module-content {
	margin-top:0px;
	margin-right:0px;
	margin-bottom:0px;
	margin-left:0px;
}
@media ( max-width: 992px ) {
 .fl-node-b3kfscwtgzu7.fl-module > .fl-module-content {
	margin-top:30px;
}
}
@media ( max-width: 768px ) {
 .fl-node-b3kfscwtgzu7.fl-module > .fl-module-content {
	margin-top:40px;
}
}
.fl-node-jfyemr50h9au .fl-heading {
	text-align: left;
}
@media(max-width: 768px) {
	.fl-node-jfyemr50h9au .fl-heading {
		text-align: center;
	}
}
 .fl-node-jfyemr50h9au > .fl-module-content {
	margin-bottom:10px;
}
img.mfp-img {
    padding-bottom: 40px !important;
}

/* Support for object-fit */
.fl-builder-edit .fl-fill-container img {
	transition: object-position .5s;
}

.fl-fill-container :is(.fl-module-content, .fl-photo, .fl-photo-content, img) {
	height: 100% !important;
	width: 100% !important;
}

@media (max-width: 768px) { /* Mobile Photo */
.fl-photo-content,
.fl-photo-img {
	max-width: 100%;
} }.fl-node-x02vjdate3zh, .fl-node-x02vjdate3zh .fl-photo {
	text-align: center;
}
@media(max-width: 768px) {
	.fl-node-x02vjdate3zh .fl-photo-content, .fl-node-x02vjdate3zh .fl-photo-img {
		width: 190px;
	}
}
@media ( max-width: 768px ) {
 .fl-node-x02vjdate3zh.fl-module > .fl-module-content {
	margin-bottom:0px;
}
}
/* Video Hero — viewport math sets --pre-header-h and --header-h via JS */
:root {
	--cube-vh-pre-header: 0px;
	--cube-vh-header: 0px;
	--cube-vh-gap: 20px;
}

.cube-video-hero-wrap {
	width: 100%;
	margin: var(--cube-vh-gap) auto var(--cube-vh-gap);
	transition: max-width 250ms ease, padding 250ms ease, margin 250ms ease;
}
.cube-video-hero-wrap[data-width="contained"] { max-width: 1360px; padding: 0 var(--cube-vh-gap); }
.cube-video-hero-wrap[data-width="almost"]    { max-width: 100%;   padding: 0 var(--cube-vh-gap); }
.cube-video-hero-wrap[data-width="full"]      { max-width: 100%;   padding: 0; margin-bottom: 0; }

.cube-video-hero {
	position: relative;
	width: 100%;
	min-height: calc(100vh - var(--cube-vh-pre-header) - var(--cube-vh-header) - (2 * var(--cube-vh-gap)));
	min-height: calc(100dvh - var(--cube-vh-pre-header) - var(--cube-vh-header) - (2 * var(--cube-vh-gap)));
	overflow: hidden;
	border-radius: 0;
	isolation: isolate;
	transition: border-radius 250ms ease;
	background:
		radial-gradient(ellipse 60% 80% at 20% 30%, rgba(255,57,86,0.55) 0%, transparent 55%),
		radial-gradient(ellipse 70% 60% at 80% 60%, rgba(80,100,200,0.45) 0%, transparent 60%),
		radial-gradient(ellipse 50% 70% at 60% 20%, rgba(255,140,80,0.30) 0%, transparent 55%),
		radial-gradient(ellipse 80% 60% at 40% 90%, rgba(232,62,90,0.40) 0%, transparent 65%),
		linear-gradient(135deg, #1a1233 0%, #12294C 50%, #2a1438 100%);
	background-size: cover;
}
.cube-video-hero-wrap[data-width="full"] .cube-video-hero {
	min-height: calc(100vh - var(--cube-vh-pre-header) - var(--cube-vh-header) - var(--cube-vh-gap));
	min-height: calc(100dvh - var(--cube-vh-pre-header) - var(--cube-vh-header) - var(--cube-vh-gap));
}

.cube-video-hero__loop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	z-index: 0;
}

.cube-video-hero__main {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	z-index: 4;
	opacity: 0;
	pointer-events: none;
	transition: opacity 700ms ease;
}
.cube-video-hero.is-main-playing .cube-video-hero__main {
	opacity: 1;
	pointer-events: auto;
	cursor: pointer;
}

.cube-video-hero__navy-veil {
	position: absolute;
	inset: 0;
	background: #12294C;
	opacity: 0;
	pointer-events: none;
	z-index: 3;
	transition: opacity 400ms ease;
}
.cube-video-hero.is-loading-main .cube-video-hero__navy-veil { opacity: 1; }
.cube-video-hero.is-revealing .cube-video-hero__navy-veil {
	transition: opacity 900ms cubic-bezier(.22,.61,.36,1);
}

.cube-video-hero__loading {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	z-index: 5;
	opacity: 0;
	pointer-events: none;
	transition: opacity 350ms ease;
}
.cube-video-hero.is-loading-main .cube-video-hero__loading {
	opacity: 1;
	transition-delay: 220ms;
}
.cube-video-hero__spinner {
	width: 52px;
	height: 52px;
	border: 4px solid rgba(255,255,255,0.18);
	border-top-color: #FF3956;
	border-radius: 50%;
	animation: cubeVideoHeroSpin 850ms linear infinite;
}
.cube-video-hero__loading-text {
	color: rgba(255,255,255,0.7);
	font-family: 'Poppins', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}
@keyframes cubeVideoHeroSpin {
	to { transform: rotate(360deg); }
}

.cube-video-hero__brand-overlay {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 82% 12%, rgba(255, 57, 86, 0.40) 0%, transparent 55%),
		radial-gradient(ellipse at 12% 88%, rgba(18, 41, 76, 0.55) 0%, transparent 60%),
		linear-gradient(135deg, rgba(18,41,76,0.08) 0%, rgba(18,41,76,0.18) 100%);
	pointer-events: none;
	z-index: 1;
	mix-blend-mode: multiply;
}

.cube-video-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(18,41,76,0.10) 0%,
		rgba(18,41,76,0.00) 25%,
		rgba(18,41,76,0.00) 55%,
		rgba(18,41,76,0.55) 88%,
		rgba(18,41,76,0.82) 100%
	);
	pointer-events: none;
	z-index: 2;
}

.cube-video-hero__content {
	position: absolute;
	inset: 0;
	padding: clamp(20px, 3vw, 48px) clamp(20px, 4vw, 64px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	color: #fff;
	z-index: 3;
	font-family: 'Poppins', sans-serif;
	opacity: calc(1 - var(--cube-vh-scroll, 0));
	transform: translateY(calc(var(--cube-vh-scroll, 0) * -30px));
	transition: opacity 700ms cubic-bezier(.22,.61,.36,1), transform 200ms linear;
	will-change: opacity, transform;
}

.cube-video-hero__eyebrow {
	color: #FF3956;
	text-transform: uppercase;
	font-weight: 700;
	font-size: clamp(11px, 1vw, 13px);
	letter-spacing: 0.18em;
	margin-bottom: 16px;
	text-shadow: 0 1px 8px rgba(0,0,0,0.35);
	transition: opacity 700ms cubic-bezier(.22,.61,.36,1) 0ms;
}

.cube-video-hero__headline {
	font-size: clamp(28px, 5vw, 52px);
	line-height: 1.1;
	font-weight: 700;
	color: #fff;
	max-width: 22em;
	text-shadow: 0 2px 18px rgba(0,0,0,0.45);
	letter-spacing: -0.01em;
	margin: 0;
	transition: opacity 700ms cubic-bezier(.22,.61,.36,1) 90ms;
}
.cube-video-hero__headline .cube-accent { color: #FF3956; display: inline; }
.cube-video-hero__br { display: inline; }

.cube-video-hero__watch {
	align-self: flex-start;
	margin-top: 28px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: #FF3956;
	color: #fff;
	border: none;
	padding: 14px 24px;
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
	border-radius: 0;
	cursor: pointer;
	transition:
		background 220ms ease,
		transform 220ms ease,
		box-shadow 220ms ease,
		opacity 750ms cubic-bezier(.22,.61,.36,1) 180ms;
	box-shadow: 0 6px 22px rgba(0,0,0,0.28);
	opacity: calc(1 - var(--cube-vh-scroll, 0));
	transform: translateY(calc(var(--cube-vh-scroll, 0) * 16px));
}
.cube-video-hero__watch:hover {
	background: transparent;
	color: #FF3956;
	box-shadow: inset 0 0 0 2px #FF3956, 0 6px 22px rgba(0,0,0,0.18);
	transform: translateY(calc(var(--cube-vh-scroll, 0) * 16px));
}

.cube-video-hero.is-watch-right .cube-video-hero__watch {
	position: absolute;
	right: clamp(20px, 2.4vw, 40px);
	bottom: clamp(20px, 2.4vw, 40px);
	margin-top: 0;
	align-self: auto;
	z-index: 4;
}
.cube-video-hero.is-watch-right .cube-video-hero__headline {
	max-width: min(22em, calc(100% - 280px));
}
.cube-video-hero__watch-play {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: #fff;
	transition: color 200ms ease;
}
.cube-video-hero__watch:hover .cube-video-hero__watch-play {
	color: #FF3956;
}
.cube-video-hero__watch-play svg {
	width: 14px;
	height: 14px;
	fill: currentColor;
}
.cube-video-hero__watch-play svg path {
	fill: currentColor;
}

/* Lightbox: black background so contain letterbox bars are clean, not brand gradient */
.cube-video-hero.is-expanding {
	background: #000;
}
/* Lightbox: show full video frame without cropping */
.cube-video-hero.is-expanding .cube-video-hero__main {
	object-fit: contain;
}
/* Hide the silent loop while the lightbox is open so it doesn't bleed through contain bars */
.cube-video-hero.is-expanding .cube-video-hero__loop {
	opacity: 0;
}

.cube-video-hero.is-expanding {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	z-index: 9999;
	box-sizing: border-box;
	border-radius: 0;
	transform-origin: top left;
	will-change: transform;
}
.cube-video-hero.is-expanding .cube-video-hero__brand-overlay { mix-blend-mode: normal; }
.cube-video-hero.is-playing .cube-video-hero__content,
.cube-video-hero.is-playing .cube-video-hero__watch,
.cube-video-hero.is-playing .cube-video-hero__overlay,
.cube-video-hero.is-playing .cube-video-hero__brand-overlay {
	opacity: 0 !important;
	pointer-events: none !important;
	transition: opacity 350ms ease;
}

.cube-video-hero.is-collapsing .cube-video-hero__eyebrow,
.cube-video-hero.is-collapsing .cube-video-hero__headline,
.cube-video-hero.is-collapsing .cube-video-hero__watch,
.cube-video-hero.is-init .cube-video-hero__eyebrow,
.cube-video-hero.is-init .cube-video-hero__headline,
.cube-video-hero.is-init .cube-video-hero__watch {
	opacity: 0 !important;
	pointer-events: none !important;
	transition: none !important;
}
.cube-video-hero.is-collapsing .cube-video-hero__loading {
	opacity: 0 !important;
}

.cube-video-hero__close {
	position: absolute;
	top: clamp(16px, 2vw, 28px);
	right: clamp(16px, 2vw, 28px);
	width: 48px;
	height: 48px;
	border-radius: 0;
	background: #FF3956;
	border: none;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	z-index: 11;
	opacity: 0;
	pointer-events: none;
	transform: scale(0.85);
	transition: opacity 350ms ease, transform 250ms ease, background 200ms ease;
	box-shadow: 0 6px 24px rgba(0,0,0,0.4);
	font-family: 'Poppins', sans-serif;
	padding: 0;
}
.cube-video-hero.is-main-playing .cube-video-hero__close {
	opacity: 1;
	pointer-events: auto;
	transform: scale(1);
	transition-delay: 200ms;
}
.cube-video-hero__close:hover {
	background: #12294C;
}
.cube-video-hero__close svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	stroke-width: 2.5;
	fill: none;
	stroke-linecap: round;
}

.cube-video-hero__playerbar {
	position: absolute;
	bottom: clamp(20px, 3vw, 32px);
	left: 50%;
	transform: translate(-50%, 12px);
	width: calc(100% - 48px);
	max-width: 720px;
	background: #12294C;
	border: none;
	border-radius: 999px;
	padding: 7px 16px 7px 7px;
	display: flex;
	align-items: center;
	gap: 14px;
	z-index: 10;
	box-shadow: 0 12px 36px rgba(0,0,0,0.45);
	color: #fff;
	font-family: 'Poppins', sans-serif;
	opacity: 0;
	pointer-events: none;
	transition: opacity 350ms ease, transform 350ms ease;
}
.cube-video-hero.is-main-playing .cube-video-hero__playerbar {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
	transition-delay: 240ms;
}
.cube-video-hero__pb-btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255,255,255,0.08);
	border: none;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background 180ms ease;
	padding: 0;
}
.cube-video-hero__pb-btn:hover { background: rgba(255,255,255,0.18); }
.cube-video-hero__pb-btn svg { width: 16px; height: 16px; fill: currentColor; }

.cube-video-hero__pb-time {
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	letter-spacing: 0.02em;
	flex-shrink: 0;
	color: rgba(255,255,255,0.85);
	font-variant-numeric: tabular-nums;
}
.cube-video-hero__pb-progress {
	flex: 1 1 auto;
	cursor: pointer;
	padding: 12px 0;
	display: flex;
	align-items: center;
}
.cube-video-hero__pb-progress-track {
	width: 100%;
	height: 3px;
	background: rgba(255,255,255,0.18);
	border-radius: 999px;
	overflow: hidden;
}
.cube-video-hero__pb-progress-fill {
	height: 100%;
	width: 0%;
	background: #FF3956;
	border-radius: 999px;
	transition: width 80ms linear;
}

.cube-video-hero[data-paused="true"] .cube-video-hero__pb-btn .icon-pause { display: none; }
.cube-video-hero[data-paused="true"] .cube-video-hero__pb-btn .icon-play  { display: block; }
.cube-video-hero[data-paused="false"] .cube-video-hero__pb-btn .icon-play  { display: none; }
.cube-video-hero[data-paused="false"] .cube-video-hero__pb-btn .icon-pause { display: block; }
.cube-video-hero[data-muted="true"]  .cube-video-hero__mute .icon-volume-on  { display: none; }
.cube-video-hero[data-muted="true"]  .cube-video-hero__mute .icon-volume-off { display: block; }
.cube-video-hero[data-muted="false"] .cube-video-hero__mute .icon-volume-off { display: none; }
.cube-video-hero[data-muted="false"] .cube-video-hero__mute .icon-volume-on  { display: block; }

.cube-video-hero__play-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	opacity: 0;
	z-index: 6;
	transition: opacity 200ms ease;
}
.cube-video-hero[data-paused="true"].is-main-playing .cube-video-hero__play-overlay {
	opacity: 1;
}
.cube-video-hero__play-overlay-disc {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: rgba(18,41,76,0.7);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}
.cube-video-hero__play-overlay-disc svg { width: 28px; height: 28px; fill: currentColor; margin-left: 4px; }

@media screen and (max-width: 767px) {
	.cube-video-hero-wrap { margin-bottom: 40px; }
	.cube-video-hero-wrap[data-mobile-width="contained"] { max-width: 1360px; padding: 0 var(--cube-vh-gap); margin-bottom: 40px; }
	.cube-video-hero-wrap[data-mobile-width="almost"]    { max-width: 100%;   padding: 0 var(--cube-vh-gap); margin-bottom: 40px; }
	.cube-video-hero-wrap[data-mobile-width="full"],
	.cube-video-hero-wrap[data-width="full"]             { max-width: 100%;   padding: 0; margin: 0; }
	.cube-video-hero-wrap[data-mobile-width="full"] .cube-video-hero,
	.cube-video-hero-wrap[data-width="full"] .cube-video-hero {
		min-height: calc(100vh - var(--cube-vh-pre-header) - var(--cube-vh-header));
		min-height: calc(100svh - var(--cube-vh-pre-header) - var(--cube-vh-header));
	}
	/* svh = small viewport height (browser UI fully visible) — guarantees button
	   stays above fold on Android/iOS regardless of address bar state */
	.cube-video-hero {
		min-height: calc(100svh - var(--cube-vh-pre-header) - var(--cube-vh-header) - (2 * var(--cube-vh-gap)));
	}
	.cube-video-hero__br { display: none; }
}

@media screen and (max-width: 767px) {
	.cube-video-hero__content {
		padding-bottom: calc(48px + env(safe-area-inset-bottom, 0px));
	}
}

@media screen and (max-width: 767px) {
	.cube-video-hero__playerbar {
		gap: 10px;
		padding: 6px 12px 6px 6px;
	}
	.cube-video-hero__pb-time { font-size: 11px; }
	.cube-video-hero__pb-btn { width: 32px; height: 32px; }
	.cube-video-hero__pb-btn svg { width: 14px; height: 14px; }
	.cube-video-hero.is-watch-right .cube-video-hero__watch {
		position: relative;
		right: auto;
		bottom: auto;
		align-self: flex-start;
		margin-top: 20px;
	}
	.cube-video-hero.is-watch-right .cube-video-hero__headline {
		max-width: none;
	}
}
 .fl-node-ftnip36bg5ou > .fl-module-content {
	margin-top:0px;
	margin-right:0px;
	margin-bottom:0px;
	margin-left:0px;
}
.fl-builder-content .fl-rich-text strong {
	font-weight: bold;
}

/**
 * Remove bottom margins from the last paragraph
 * in v2+ text editor modules.
 */
.fl-module.fl-rich-text p:last-child {
	margin-bottom: 0;
}
/* Handle overlays in the builder */
.fl-builder-edit .fl-module.fl-rich-text p:not(:has(~ *:not(.fl-block-overlay))) {
	margin-bottom: 0;
}
@media ( max-width: 768px ) {
 .fl-node-i37ptqxh2z9o.fl-module > .fl-module-content {
	margin-bottom:0px;
}
}
.fl-module-client-carousel .owl-carousel .owl-item img {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 65%;
  max-height: 160px;
}

.fl-module-client-carousel .owl-carousel .owl-stage {
  display: flex;
  align-items: center;
}

.fl-module-client-carousel .owl-carousel .item {
  text-align: center;
}
@media(max-width: 768px) {
	.fl-builder-content .fl-node-b5qjp1oaegkx .fl-rich-text, .fl-builder-content .fl-node-b5qjp1oaegkx .fl-rich-text *:not(b, strong) {
		text-align: center;
	}
}

/* Start Global CSS */
.related-content-placeholder {
    text-align: center;
    padding: 75px;
        background-color: rgba(18,41,76,0.16);
    border-style: solid;
    border-width: 0;
    background-clip: border-box;
    border-color: #12294c;
    border-top-width: 2px;
    border-right-width: 2px;
    border-bottom-width: 2px;
    border-left-width: 2px;
    margin-bottom: -25px;
}

.related-content-placeholder p {
    font-size: 25px;
    margin: 0;
}


#wp-admin-bar-perfmatters_script_manager, .fl-user-template-actions, .fl-builder-node-template-actions {
	display: none !important;
}

body:not(.fl-builder-edit) .feature-section-right-border > .fl-col-content {
    position: relative;
}

body:not(.fl-builder-edit) .feature-section-right-border > .fl-col-content:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 500%;
        border: 17px solid #f2f2f2;

}

@media screen and (max-width: 768px) {
    body:not(.fl-builder-edit) .feature-section-right-border > .fl-col-content:after {
        right: 0;
        width: auto;
    }
}
/* End Global CSS */


/* Start Global Nodes CSS */

/* End Global Nodes CSS */


/* Start Layout CSS */

/* End Layout CSS */

.fl-node-prdsgw9v7a6m h2 {
  line-height: 1.2;
}

                                
        
                                
        
                                
        
                                
        
                                
        
        .fl-builder-row-settings #fl-field-separator_position {
            display: none !important;
        }
        
        
        .fl-builder-row-settings #fl-field-separator_position {
            display: none !important;
        }
        
        
        .fl-builder-row-settings #fl-field-separator_position {
            display: none !important;
        }
        
        
        .fl-builder-row-settings #fl-field-separator_position {
            display: none !important;
        }
        
        
        .fl-builder-row-settings #fl-field-separator_position {
            display: none !important;
        }
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
		
        
		
        
		
        
		
        
		
        
		
        
		
        
		
        
		
        
		
        