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

/* builder css */
.boxed-compact.full-section-scrolling .themify_builder_row .row_inner {
	width: auto; /* prevent row extending */
}

/* 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 .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: '\e646';
}
#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;
}

/* vertical middle builder content */
.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;
	width: 0;
	height: 0;
	border-style: solid;
	margin-top: -38px;
}
.fp-controlArrow.fp-prev {
	left: 15px;
	width: 0;
	border-width: 38.5px 34px 38.5px 0;
	border-color: transparent #fff transparent transparent;
}
.fp-controlArrow.fp-next {
	right: 15px;
	border-width: 38.5px 0 38.5px 34px;
	border-color: transparent transparent transparent #fff;
}
.fp-scrollable {
	overflow: scroll;
	-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: 14px;
	height: 13px;
	margin: 7px;
	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(91, 50, 185, 0.73) !important;
	width: 10px;
	height: 10px;
	margin-left: -2px;
	margin-top: -1px;
	background: none !important;
}
#fp-nav span,
.fp-slidesNav span {
    top: 2px;
    left: 2px;
    width: 6px;
    height: 6px;
    border: 2px 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;
}

/* 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;
}
.full-section-scrolling .themify_builder .themify_builder_row.fullheight .fp-tableCell .row_inner_wrapper,
.full-section-scrolling .themify_builder .module_row.fullheight .fp-tableCell .row_inner_wrapper {
	display: block;
}
.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;
}
.sidebar-none.full-section-scrolling.mobile_menu_active .row_inner {
	width: auto; /* prevent row content hidden in tablet */
}
.mobile_menu_active .full_width .themify_builder_row .row_inner {
	max-width: 90%;
}
.sidebar-none.full_width.full-section-scrolling.mobile_menu_active .row_inner {
	width: auto;
}
.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: 800px) {
	.full_width.full-section-scrolling.mobile_menu_active .themify_builder_row .row_inner {
		padding-top: 10%;
		padding-bottom: 7%;
	}
}
@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%;
	}
}