/*
SECTION SCROLL
================================================ */
.full-section-scrolling #pagewrap {
	margin: 0 auto; /* prevent pagewrap margin override */
}

/* set section scroll footer back top */
.full-section-scrolling #footerwrap {
    position: fixed;
    z-index: 999;
    top: auto;
    bottom: 0;
	left: 0;
    width: 100%;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    transform: translateY(100%);
}
.header-minbar.full-section-scrolling #footerwrap {
	margin-left: 69px;
	padding-left: 0;
}
.full-section-scrolling .back-top {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	transform: translateX(-50%);
	top: auto;
	bottom: 100%;
    margin: 0;
    width: 60px;
	-webkit-transition: all 0.7s ease-in-out;
	-moz-transition: all 0.7s ease-in-out;
	transition: all 0.7s ease-in-out;
}
.full-section-scrolling .back-top .arrow-up a {
	background-color: #ED1E24;
	color: #fff;
	width: 60px;
	height: auto;
	line-height: inherit;
	padding: 0;
}
.full-section-scrolling #footerwrap .back-top a:before {
	font-size: 150%;
}
.full-section-scrolling .back-top:hover .arrow-up a {
	bottom: 0;
}
#footerwrap.expanded .back-top a:before {
	content: '\e800'; /* ti-close */
}
#footerwrap.expanded {
	-webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	transform: translateY(0px);
	max-height: 80vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
.full-section-scrolling #footerwrap.expanded .back-top {
	-webkit-transform: translate(-50%, 100%);
	-moz-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
}
.full-section-scrolling.footer-horizontal-left #footer,
.full-section-scrolling.footer-horizontal-right #footer,
.full-section-scrolling.footer-left-col #footer,
.full-section-scrolling.footer-right-col #footer {
	position: static;
}

/* Back top float */
.full-section-scrolling #footerwrap .back-top.back-top-float {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	transform: translateX(-50%);
	top: auto;
	bottom: 100%;
    margin: 0;
    width: 60px;
	height: 35px;
	-webkit-transition: all 0.7s ease-in-out;
	-moz-transition: all 0.7s ease-in-out;
	transition: all 0.7s ease-in-out;
	border-radius: 0;
	opacity: 1;
	visibility: visible;
}
.full-section-scrolling #footerwrap.expanded .back-top.back-top-float {
    -webkit-transform: translate(-50%, 100%);
    -moz-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
}
#footer .back-top.back-top-float .arrow-up {
	position: static;
	height: 100%;
}
#footer .back-top.back-top-float .arrow-up a {
	height: 100%;
	display: block;
}
#footerwrap.expanded .back-top.back-top-float a:before {
	content: '\e800'; /* ti-close */
	border: none;
	transform: none;
	position: static;
}

/* vertical middle builder content */
.themify_builder:not(.not_editable_builder) .themify_builder_row {
	min-height: 100vh;
}
#themify_builder_lightbox_container .themify_builder_row {
	height: auto;
}

.section_loader {
	width: 100%;
	height: 100%;
	position: fixed;
	text-align: center;
	margin: 0 auto;
	left: 0;
	top: 0;
	z-index: 1000;
	background-color: #662d91;
	-webkit-perspective: 1000;
}

.section_spinner {
	width: 50px;
	height: 50px;
	background-color: #fff;
	position: relative;
	top: 50%;
	left: 50%;
	margin: -25px 0 0 -25px;
	-webkit-animation: rotateplane 1.2s infinite ease-in-out;
	animation: rotateplane 1.2s infinite ease-in-out;
}
.fa.section_spinner{
        background: none;
        display: block;
        color:#fff;
        font-size: 3.2em;
}

@-webkit-keyframes rotateplane {
	0% { -webkit-transform: perspective(120px) }
	50% { -webkit-transform: perspective(120px) rotateY(180deg) }
	100% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg) }
}

@keyframes rotateplane {
	0% {
		transform: perspective(120px) rotateX(0deg) rotateY(0deg);
		-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
	} 50% {
		transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
		-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
	} 100% {
		transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
		-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
	}
}

/* One Page Scroll Plugin Styles */
html, body {
	margin: 0;
	padding: 0;
	/*Avoid flicker on slides transitions for mobile phones #336 */
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
#superContainer {
	height: 100%;
	position: relative;
	/* Touch detection for Windows 8 */
	-ms-touch-action: none;
	/* IE 11 on Windows Phone 8.1*/
	touch-action: none;
}
.fp-section {
	position: relative;
	-webkit-box-sizing: border-box; /* Safari<=5 Android<=3 */
	-moz-box-sizing: border-box; /* <=28 */
	box-sizing: border-box;
}
.fp-slide {
	float: left;
}
.fp-slide, .fp-slidesContainer {
	height: 100%;
	display: block;
}
.fp-slides {
	z-index:1;
	height: 100%;
	overflow: hidden;
	position: relative;
	-webkit-transition: all 0.3s ease-out; /* Safari<=6 Android<=4.3 */
	transition: all 0.3s ease-out;
}
.fp-slidesContainer {
	float: left;
	position: relative;
}
.fp-controlArrow {
	position: absolute;
	z-index: 4;
	top: 50%;
	cursor: pointer;
	margin-top: -38px;
	width: 48px;
	height: 48px;
	color: #fff;
	background-color: rgba(0,0,0,.1);
	padding: 9px;
	box-sizing: border-box;
	border-radius: 100%;
	transition: background 1s;
}
.fp-controlArrow:hover {
	background-color: rgba(0,0,0,.3);	
}
.fp-controlArrow:before {
	content: '';
	width: 15px;
	height: 15px;
	display: block;
	border-width: 2px 2px 0 0;
	border-style: solid;	
	border-color:#fff;
	transform: rotate(45deg);
	position: absolute;
	margin: 5px;
}
.fp-controlArrow.fp-prev {
	left: 15px;
}
.fp-controlArrow.fp-prev:before {
	left: 15px;
	transform: rotate(-135deg);
}
.fp-controlArrow.fp-next {
	right: 15px;
}

.fp-scrollable {
	-webkit-overflow-scrolling: touch;
}
.fp-easing {
	-webkit-transition: all 0.7s ease-out; /* Safari<=6 Android<=4.3 */
	transition: all 0.7s ease-out;
}
#fp-nav {
	position: fixed;
	z-index: 100;
	margin-top: -32px;
	top: 50%;
	opacity: 1;
}
.themify_builder_active #fp-nav {
	display: none; /* hide pager when builder on */
}
#fp-nav.right {
	right: 6px;
}
#fp-nav.left {
	left: 17px;
}
.fp-slidesNav{
	position: absolute;
	z-index: 4;
	left: 50%;
	opacity: 1;
}
.fp-slidesNav.bottom {
	bottom: 17px;
}
.fp-slidesNav.top {
	top: 17px;
}
#fp-nav ul,
.fp-slidesNav ul {
	margin: 0;
	padding: 0;
}
#fp-nav li,
.fp-slidesNav li {
	display: block;
	width: 20px;
	height: 20px;
	margin: 10px;
	position:relative;
}
.fp-slidesNav li {
	display: inline-block;
}
#fp-nav li a,
.fp-slidesNav li a {
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	cursor: pointer;
	text-decoration: none;
}
#fp-nav li .active span,
.fp-slidesNav .active span {
	border-color: rgba(87, 75, 184, 0.8) !important;
	width: 18px;
	height: 18px;
	margin-left: -1px;
	margin-top: -2px;
	background: none !important;
	border-width:5px !important;
}
#fp-nav span,
.fp-slidesNav span {
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(123, 123, 123, 0.77) !important;
    position: absolute;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    position: absolute;
    z-index: 1;
}
.fp-tooltip {
	position: absolute;
	top: -2px;
	color: #fff;
	font-size: 14px;
	font-family: arial, helvetica, sans-serif;
	white-space: nowrap;
	max-width: 220px;
}
.fp-tooltip.right {
	right: 20px;
}
.fp-tooltip.left {
	left: 20px;
}

.vertical-centered {
	display: inline-block;
	vertical-align: middle;
	line-height: normal;
	width: 100%;
}
.full-section-scrolling .fp-tableCell {
	z-index: 1;
}

.iScrollVerticalScrollbar {
	width: 4px !important;
}
.iScrollIndicator {
	background: rgba(0, 0, 0, 0.3) !important;
	border: none !important;
}

/* MOBILE MENU ACTIVE */
body:not(.header-overlay).full-section-scrolling.sidemenu-right,
body:not(.header-overlay).full-section-scrolling.sidemenu-right #headerwrap.fixed-header{
	left:0;
}
.ie.full-section-scrolling .back-top a::before {
	font-size: 18px;
}


body:not(.header-overlay).mobile-menu-visible.sidemenu-right.full-section-scrolling.mobile_menu_active #pagewrap #headerwrap {
	left: -300px;
}
.mobile_menu_active .full_width .themify_builder_row .row_inner {
	max-width: 90%;
}
.full-section-scrolling.mobile_menu_active #headerwrap #searchform #s {
	width: 100%;
	float: none;
	-webkit-transition: none;
	-moz-transition: none;
	transition: none;
	margin: auto;
	color: #000;
	padding: 5px 15px 5px 35px;
	background-color: #fff;
	position: static;
	height: auto;
}
.full-section-scrolling.mobile_menu_active #headerwrap #searchform .icon-search:before {
	left: 7px;
	top: 3px;
	position: absolute;
	background: transparent;
	color: #000;
	width: 16px;
	height: 16px;
	font-size: 18px;
	padding: 3px;
	margin: 0;
}
@media screen and (max-width: 680px) {
	.header-minbar.full-section-scrolling.mobile_menu_active #footerwrap {
		margin-left: 0;
	}
	.full-section-scrolling .themify_builder_row.fp-table .row_inner .col-full.tb-column {
		min-height: 100vh;
		display:-webkit-flex;
		display:-webkit-box;
		display:-moz-flex;
		display:-moz-box;
		display:-ms-flexbox;
		display: flex;
		width: 100%;
	}
}

body.full-section-scrolling .themify_builder_row.fullheight .themify_module_holder,
body.full-section-scrolling .themify_builder_row.fullheight .row_inner > .tb-column,
body.full-section-scrolling .themify_builder_row.fullheight .row_inner {
	min-height: initial;
}

.full-section-scrolling .themify_builder .module_row {
	display:-webkit-flex;
	display:-webkit-box;
	display:-moz-flex;
	display:-moz-box;
	display:-ms-flexbox;
	display: flex;
}

.full-section-scrolling .themify_builder:not(.not_editable_builder) .module_row {
	min-height: 100vh;
}

/* Set full width column */
.full-section-scrolling .themify_builder .module_row,
.full-section-scrolling .themify_builder_row .fp-tableCell {
	width: 100%;
}

/* builder active full section */
.full-section-scrolling.themify_builder_active .themify_builder:not(.not_editable_builder) .module_column,
.full-section-scrolling.themify_builder_active .themify_builder:not(.not_editable_builder) .module_row,
.full-section-scrolling.themify_builder_active .themify_builder:not(.not_editable_builder) .themify_module_holder {
	min-height: 100vh;
}
.builder-breakpoint-mobile.full-section-scrolling.themify_builder_active .themify_builder:not(.not_editable_builder) .module_column {
	min-height: 0;
}
.full-section-scrolling .themify_builder:not(.not_editable_builder) .row_inner,
.full-section-scrolling .row_inner > .tb-column {
	height: 100%;
}
.builder-breakpoint-mobile.full-section-scrolling.themify_builder_active .themify_builder:not(.not_editable_builder) .themify_module_holder,
.full-section-scrolling.themify_builder_active .themify_builder:not(.not_editable_builder) .module_subrow .module_column,
.full-section-scrolling.themify_builder_active .themify_builder:not(.not_editable_builder) .module_subrow,
.full-section-scrolling.themify_builder_active .themify_builder:not(.not_editable_builder) .module_subrow .themify_module_holder {
	min-height: 37px;
}

/* set col full section middle aligned */
.full-section-scrolling.themify_builder_active .themify_module_holder,
.full-section-scrolling .themify_builder_row.fp-table .module_column {
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center; /* for single line flex container */
	-webkit-align-content: center;
	align-content: center; /* for multi-line flex container */
}

/* set col full sub row section top aligned */
.full-section-scrolling.themify_builder_active .col_align_top>.module_column>.themify_module_holder,
.full-section-scrolling .themify_builder_row.fp-table .col_align_top>.module_column {
	-webkit-flex-align: flex-start;
	-ms-flex-align: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: flex-start;
	align-content: flex-start;
}

/* set col full sub row section bottom aligned */
.full-section-scrolling.themify_builder_active .col_align_bottom>.module_column>.themify_module_holder,
.full-section-scrolling .themify_builder_row.fp-table .col_align_bottom>.module_column {
	-webkit-flex-align: flex-end;
	-ms-flex-align: flex-end;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	-webkit-align-content: flex-end;
	-ms-flex-line-pack: flex-end;
	align-content: flex-end;
}

.full-section-scrolling .themify_builder .module_row {
	background-attachment: scroll !important; /* prevent fixed bg not showing */
}

/* required: reset column height on mobile */
@media screen and (max-width: 680px) {
	.full-section-scrolling .row_inner > .tb-column { 
		height: auto;
	}
	.full-section-scrolling.themify_builder_active .themify_builder:not(.not_editable_builder) .themify_module_holder,
	.full-section-scrolling.themify_builder_active .themify_builder:not(.not_editable_builder) .module_column {
		min-height: 0;
		height:  auto;
	}
}