@import "../../../../themes/ottro/scss/vars";
@import "../../../../themes/ottro/scss/libs";
@import "../../../../themes/ottro/scss/extends";

.hide {
	display: none;
}

.site-header .site-logo {
	@include media-breakpoint-down(xs) {
		max-width: none;
		width: 130px;
	}
}

/*
- Aditional
*/

.base-icon-cancel:before,
.base-icon-cross:before {
	content: '\e906';
}

.woocommerce table.shop_product_table .product-name .d-flex .img .remove-button {
	color: #fff;
}

@media screen and (max-width: 450px) {
	.header-minicart .minicart-wrap {
		position: fixed;
		top: 40px;
		width: 90%;
		max-width: 300px;
		right: 15px;
	}
}

.vc_row[data-vc-full-width] {
	overflow: visible;
}

.owl-carousel {
	.parallax-mirror {
		transform: translateX(0) !important;
	}

	.owl-item {
		transition: 0.3s ease;
		transition-property: opacity, transform;
	}

	&.loading {
		.owl-item {
			opacity: 0 !important;
			transform: translate(50%, 0%) !important;
		}
	}
}

.vc_row.vc_row-o-equal-height>.wpb_column>.vc_column-inner>.wpb_wrapper {
	height: 100%;
}

.vc_section,
.vc_row,
.wpb_wrapper {
	@extend %cover;
	position: relative;
	//z-index: 1;
}

.date-input,
.number-input {
	position: relative;
	display: flex;
	align-items: center;
	border: 1px solid #EDEDED;
	background: #FFFFFF;
	padding: 0 20px 0 0;
	height: 45px;

	i {
		position: absolute;
		top: 50%;
		left: 20px;
		margin-top: -.5em;

		&.base-icon-baby-boy {
			font-size: 22px;
		}
	}

	input {
		font-size: 15px;
		padding: 0 0 0 53px;
		flex: 1;
		height: 100%;
	}
}

.number-input {
	padding-right: 10px;

	input {
		-moz-appearance: textfield;

		&::-webkit-outer-spin-button,
		&::-webkit-inner-spin-button {
			-webkit-appearance: none;
			margin: 0;
		}
	}

	.b {
		border-left: 1px solid #EAEAEA;
		padding-left: 10px;
	}

	.plus,
	.minus {
		position: relative;
		width: 15px;
		height: 15px;
		cursor: pointer;
	}

	.plus,
	.minus {

		&:before,
		&:after {
			content: '';
			position: absolute;
			background: #000;
			width: 12px;
			height: 2px;
			top: 50%;
			left: 50%;
			margin: -1px 0 0 -6px;
		}
	}

	.plus {
		margin-bottom: 1px;

		&:after {
			transform: rotate(90deg);
		}
	}

	.minus {}
}

.cache-items {
	display: none !important;
}

.parallax-mirror {
	img {
		left: 0;
	}
}

[contenteditable=true]:empty:before {
	content: attr(data-placeholder);
	display: inline;
}

.play-link {
	@extend %a-reset;
	@extend %ac-bg;
	display: inline-flex;
	align-items: center;
	color: #fff;
	padding: 10px 25px;
	border-radius: 4px;

	.icon {
		font-size: 38px;
		margin-right: 15px;
	}

	i {
		display: block;
	}

	&:hover {
		background: #242221;
		color: #fff;
	}
}

/*
- Load Items
*/

.load-items-area {
	display: none !important;
}

/* 
- Background Overlay
*/

.bg-overlay {
	@extend %full-block;
	z-index: -1;
	pointer-events: none;

	.vc_row>&,
	.vc_column_container>& {
		z-index: 0;
	}

	>div {
		z-index: 2 !important;
	}

	.image {
		@extend %full-block;
		@extend %cover;
	}

	.parallax-image {
		@extend %full-block;
	}

	.video-wrap,
	.video {
		@extend %full-block;
		z-index: 3;

		video {
			position: absolute;
			min-width: 100%;
			min-height: 100%;
			width: 100%;
			height: 100%;
			top: 50%;
			left: 50%;
			object-fit: cover;
			transform: translate(-50%, -50%);
		}

		audio {
			display: none;
		}

		&.disable-on-scroll {
			video {
				@extend %transition;
				@extend %hide;
			}
		}

		&.disable-on-scroll.show video {
			@extend %show;
		}
	}

	iframe.video {
		width: auto;
		height: auto;
		min-width: 100%;
		min-height: 300%;
		max-width: none;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);

		&.disable-on-scroll {
			@extend %transition;
			@extend %hide;
		}

		&.disable-on-scroll.show {
			@extend %show;
		}
	}

	.color-change {
		@extend %full-block;
		transition: all 3000ms linear;
		mix-blend-mode: multiply;
	}

	.video-controls {
		position: absolute;
		bottom: 30px;
		left: 30px;
		right: 30px;
		z-index: 100;
		pointer-events: none;
		font-size: 24px;
		display: flex;
		align-items: center;
		z-index: 5 !important;

		&.hide {
			@extend %transition;
			@extend %hide;
		}

		.button {
			pointer-events: all;
			position: relative;
			flex: 0 0 1.5em;
			text-align: center;
			cursor: pointer;

			&:before {
				@extend %transition;
			}

			i {
				@extend %transition;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				opacity: 0;
			}

			&.active {
				&:before {
					opacity: 0;
				}

				i {
					opacity: 1;
				}
			}
		}
	}

	.text {
		@extend %flex;
		@extend %prox;
		position: absolute;
		left: 50%;
		top: 0;
		white-space: nowrap;
		width: 245px;
		height: 100%;
		font-weight: bold;
		font-size: 210px;
		line-height: .7;
		text-align: center;
		color: rgba(0, 0, 0, 0.03);
		margin-left: 575px;
		overflow: hidden;
		text-indent: .3em;
		align-items: flex-start;
		justify-content: flex-start;

		span {
			transform: rotate(90deg) translate(0%, -50%);
			transform-origin: 0 100%;
			margin-top: -0.9em;
		}
	}

	.color {
		@extend %transition;
		@extend %full-block;
		background-color: #1a1a1a;
		opacity: 0.2;
	}

	.bg-color {
		@extend %full-block;
	}

	.gradient {
		@extend %full-block;
		@include gradient-y(rgba(#1a1a1a, 0.2), rgba(#1a1a1a, 0.7));
	}

	.cross {
		@extend %full-block;
		opacity: .5;

		&:before,
		&:after {
			content: '';
			position: absolute;
			top: 50%;
			left: 50%;
			width: 105px;
			height: 360px;
			background: #fff;
		}

		&:before {
			transform: translate(-50%, -50%) rotate(-45deg);
		}

		&:after {
			transform: translate(-50%, -50%) rotate(45deg);
		}
	}

	.lines {
		position: absolute;
		top: 0;
		right: 0;
		width: 65%;
		height: 100%;
		max-width: 650px;
		transform: skewX(-30deg);
		transform-origin: 0% 65%;

		&.on-left {
			right: auto;
			left: 0;
			transform: skewX(30deg);
		}

		div {
			width: percent(695, 215, "%");
			background-color: #fff;
			height: 100%;
			float: left;
			opacity: 0.07;

			&:not(:last-of-type) {
				margin-right: percent(695, 25, "%");
			}
		}
	}

	.dots {
		@extend %full-block;
		background-position: 50%;
		background-size: auto 58px;
	}

	.waves {
		@extend %full-block;
		background-position: 50%;
		background-size: auto 199px;
	}

	.squares {
		@extend %full-block;
		overflow: hidden;

		&:before,
		&:after {
			content: "";
			position: absolute;
			background-color: rgba(#fff, 0.05);
			width: 100%;
			height: 100%;
			transform: rotate(45deg) skewY(-25deg);
		}

		&:before {
			left: -25%;
			bottom: 40%;
			transform-origin: 100% 100%;
		}

		&:after {
			top: 60%;
			left: 75%;
			transform-origin: 0 0;
		}
	}

	a {
		@extend %full-block;
		pointer-events: all;
	}
}

/*
- Scroll Down Button
*/

.scroll-down-button {
	position: absolute;
	right: -15px;
	bottom: 40px;
	font-size: 33px;
	z-index: 3;
	cursor: pointer;

	.rs-layer & {
		position: relative;
		right: 0;
		bottom: 0;
	}
}

/*
- Sidebar Block
*/

.sidebar-block {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	background: #000;
	border-right: 1px solid #333333;
	z-index: 105;
	width: 75px;

	.sidebar-butter {
		position: absolute;
		left: 50%;
		margin: 0 0 0 -12px !important;
	}
}

/*
- Message Cloud
*/

.message-cloud {
	@extend %first-d-m;
	@extend %last-d-m;
	position: relative;
	color: #272626;
	background: #F7F1ED;
	padding: 25px 35px 60px;
	margin-bottom: 15px;
	border-radius: 15px;

	&.accent {
		background: #C7E2C6;

		>svg {
			fill: #C7E2C6;
		}
	}

	&.min {
		border-radius: 8px;
		padding: 10px 20px;

		>svg {
			width: 11px;
		}
	}

	>svg {
		position: absolute;
		left: 0;
		bottom: -24px;
		fill: #F7F1ED;

		+* {
			margin-top: 0 !important;
		}
	}

	&.right svg {
		left: auto;
		right: 0;
		transform: scaleX(-1);
	}

	@include media-breakpoint-down(sm) {
		padding: 15px 20px 35px;
	}
}



.project-slider {
	position: relative;
	margin-bottom: 55px;

	.prev,
	.next {
		@extend %nav-arrows;
		font-size: 20px;

		&:hover {
			@extend %ac;
		}
	}

	.prev {
		@extend %nav-prev;
	}

	.next {
		@extend %nav-next;
	}

	.item {

		&.type-original {
			a {
				display: inline-block;
				vertical-align: middle;
			}
		}

		a {
			display: block;

			span {
				@extend %cover;
				display: block;
				padding-bottom: 55%;
			}

			img {
				display: block;
				margin: 0 auto;
				max-height: 700px;
				width: auto;
			}
		}
	}

	.thumbs {
		margin-top: 30px;
		z-index: 2;

		.swiper-slide {
			@extend %cover;
			@extend %transition;
			opacity: 0.6;
			cursor: pointer;

			&:before {
				content: '';
				display: block;
				padding-bottom: 100%;
			}

			&.swiper-slide-thumb-active {
				opacity: 1;
			}
		}
	}

	&.type-slider-with-thumbs {

		.prev,
		.next {
			top: auto;
			bottom: 83px;
		}
	}
}

/*
- Project Page Image Right Side
*/

.project-page-image-right-side {
	display: flex;
	position: relative;
	align-items: flex-start;

	.heading-block {
		margin-top: 0;
	}

	.project-content-block {
		flex: 0 0 500px;
		max-width: 500px;
		margin-right: 50px;
	}

	.right-side {
		min-height: 100%;

		>.wrap {
			overflow: hidden;
			overflow-y: auto;
			-ms-overflow-style: none;

			&::-webkit-scrollbar {
				display: none;
			}
		}

		>.scroll-element.scroll-y {
			right: 0;
		}

		>.scroll-element.scroll-x {
			display: none !important;
		}

		>.scroll-element .scroll-bar {
			@extend %transition;
			background: #000;
			opacity: 0.2;

			&:hover {
				opacity: 1;
			}
		}

		.scroll-element .scroll-element_track {
			background: none;
		}

		.project-video {
			margin: 0 0 30px;
		}

		.item {
			margin-bottom: 30px;

			&:last-child,
			&:last-child a {
				margin-bottom: 0;
			}

			a {}

			img {
				display: block;
				width: 100%;
			}
		}
	}

	&.masonry .right-side {
		flex: 1;

		.project-gallery {
			margin: 0 -15px;
		}

		.item {
			margin-bottom: 0;
		}

		.project-video {
			margin-bottom: 30px;
		}
	}

	@include media-breakpoint-down(md) {
		display: block;

		.project-content-block {
			max-width: 100%;
			margin-right: 0;
		}

		.right-side {
			>.wrap {
				padding-bottom: 30px;
				height: auto !important;
				margin-right: 0 !important;
			}
		}
	}
}

.project-split-screen {
	display: flex;
	align-items: center;

	.heading-block {
		margin-top: 0;
	}

	.project-content-block {
		flex: 0 0 50%;
		max-width: 50%;
		padding-right: 60px;
	}

	.right-side {
		flex: 1;

		.swiper-slide {
			@extend %flex;
			@extend %cover;
			position: relative;

			a {
				@extend %full-block;
				z-index: 0;
			}

			.video-button {
				position: relative;
				z-index: 2;
			}
		}
	}

	.swiper-dots {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 2;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 45px;

		.swiper-pagination-bullet {
			margin: 4px 0 !important;
			width: 9px;
			height: 9px;
			opacity: .6;
		}
	}

	@include media-breakpoint-down(sm) {
		display: block;

		.project-content-block {
			padding-right: 0;
			max-width: 100%;
		}

		.right-side {

			>.wrap {
				height: 500px !important;
				margin: 0 !important;
			}
		}

		.swiper-dots {
			top: auto;
			bottom: 0;
			left: 0;
			flex-direction: inherit;
			width: auto;

			.swiper-pagination-bullet {
				margin: 4px !important;
			}
		}
	}
}

.project-carousel {
	.swiper-container {
		.swiper-slide {
			flex: 0 0 340px;
			max-width: 340px;

			img {
				display: block;
			}

			@include media-breakpoint-down(sm) {
				flex: 0 0 280px;
				max-width: 280px;
			}

			@include media-breakpoint-down(sm) {
				flex: 0 0 200px;
				max-width: 200px;
			}
		}
	}
}

.project-horizontal {
	display: flex;
	align-items: center;

	.project-content-block {
		flex: 0 0 500px;
		max-width: 500px;
		margin-left: 80px;
		padding-right: 60px;
	}

	.heading-block {
		margin-top: 0;
	}

	.project-horizontal-carousel {
		position: relative;

		.next {
			position: absolute;
			left: -60px;
			font-size: 30px;
			bottom: 30px;
			transition: all 300ms ease;
			cursor: pointer;

			&:hover {
				transform: translateX(-10px);
			}
		}

		.swiper-wrapper {
			align-items: center;
		}

		.swiper-slide {
			position: relative;
			flex: 0 0 auto;
			width: auto;

			img {
				display: block;
				width: auto;
				height: auto;
				max-height: 100vh;
			}

			.video-button {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
			}
		}
	}

	@include media-breakpoint-down(lg) {
		.project-content-block {
			flex: 0 0 400px;
			max-width: 400px;
		}
	}

	@include media-breakpoint-down(md) {
		display: block;

		.project-content-block {
			max-width: 100%;
		}

		.project-horizontal-carousel .swiper-slide img {
			max-height: 400px !important;
		}
	}

	@include media-breakpoint-down(sm) {
		.project-content-block {
			padding: 0 15px;
			margin: 0;
		}

		.project-horizontal-carousel .swiper-slide img {
			max-height: 300px !important;
		}
	}
}

/*
- Banner
*/

.banner-area {

	.heading-block {
		margin-top: 0;
	}

	&.style1 {

		@media screen and (min-width:2000px) {
			.swiper-pagination {
				left: 100%;
				right: 0;
				margin-left: -400px;
			}

			.bg-overlay .text {
				left: 100%;
				right: 0;
				margin-left: -400px;
			}

			.container {
				max-width: 100%;
				padding-left: 415px;
				padding-right: 415px;
			}

			.row {

				.content {
					min-width: 50% !important;
				}
			}
		}

		.bg-overlay .text {
			top: 90px;
		}

		.row {
			margin: 0;
			align-items: center;
			height: 100%;

			.bg-overlay {
				border-radius: 6px;
				overflow: hidden;
			}

			.col-12 {
				display: flex;
				align-items: center;
				position: relative;
				height: 100%;
				padding: 0;

				>svg.decor1,
				>svg.decor2,
				>svg.decor3 {
					position: absolute;
					opacity: 0.03;
					z-index: -1;
					fill: currentColor;
					pointer-events: none;
				}

				>svg.decor2 {
					top: 5px;
					left: -105px;
				}

				>svg.decor3 {
					top: -45px;
					right: -55px;
				}

				.content {
					background: linear-gradient(90deg, #fff 30%, rgba(255, 255, 255, 0) 100%);
					padding: 80px 75px;
					min-width: 100%;

					.heading-block .h:first-child {
						margin-top: -0.2em;
					}
				}
			}
		}

		.content-on-top .row .col-12 {
			align-items: flex-start;
		}

		.content-on-middle .row .col-12 {
			align-items: center;
		}

		.content-on-bottom .row .col-12 {
			align-items: flex-end;
		}

		.banner-item.content-on-right {
			.row {
				text-align: right;

				.col-12 {
					.content {
						background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 70%);
					}
				}
			}
		}

		.banner-item.content-on-center {
			.row {
				text-align: center;

				.col-12 {
					.content {
						background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 25%, #fff 75%, rgba(255, 255, 255, 0) 100%);
					}
				}
			}
		}

		.banner-item .container,
		.banner-item .container-fluid {
			>.row {
				padding: 125px 0 125px;
			}
		}

		&.negative-indent {
			.row .col-12 .content {
				padding-left: 0px;

				>* {
					margin-left: -80px;
				}
			}
		}

		&.current-black .bn-bottom .nav-arrows,
		.dark-scheme & .bn-bottom .nav-arrows {
			background: none;
			color: inherit;

			.prev:after {
				opacity: .2;
			}
		}

		@include media-breakpoint-down(lg) {
			.row .col-12 .content {
				padding: 40px 35px;
			}
		}

		@include media-breakpoint-down(md) {
			.banner-item .container>.row {
				padding: 90px 0 90px;
			}

			.row .col-12 .content {
				padding: 30px 0px;
			}
		}
	}

	&.style2 {
		.banner-item {
			.row {
				align-items: flex-start;

				@include media-breakpoint-down(sm) {
					margin-top: 0px !important;
				}
			}

			&.content-on-center .row {
				text-align: center;
				justify-content: center;
			}

			&.content-on-right .row {
				text-align: right;
				flex-direction: row-reverse;

				@include media-breakpoint-down(sm) {
					flex-direction: row;
				}
			}

			&.content-on-top .container,
			&.content-on-middle .container,
			&.content-on-bottom .container {
				padding: 70px 15px;
			}

			&.content-on-top .container {
				align-items: flex-start;
			}

			&.content-on-middle .container {
				align-items: center;
			}

			&.content-on-bottom .container {
				align-items: flex-end;
			}

			.heading-block {
				margin-bottom: 23px;

				.sub-h {
					margin-bottom: 1em;
				}
			}

			.container .text {
				font-size: 16px;
				line-height: 1.87;
			}

			.video-button {
				margin-top: 25px;
			}
		}

		.bn-bottom {
			.row {
				min-height: 120px;
			}

			.nav-arrows {
				padding: 0;
				background: #000;
				color: #fff;
			}
		}

		&.current-white {
			.bn-bottom .nav-arrows {
				background: #fff;
				color: #000;
			}
		}
	}

	&.style3 {

		.banner-item {

			&.content-on-top .container,
			&.content-on-middle .container,
			&.content-on-bottom .container {
				padding: 70px 15px;
			}

			&.content-on-top .container {
				align-items: flex-start;
			}

			&.content-on-middle .container {
				align-items: center;
			}

			&.content-on-bottom .container {
				align-items: flex-end;
			}
		}

		.content {
			max-width: 675px;
		}

		.content-on-center .content {
			margin-left: auto;
			margin-right: auto;
		}

		.content-on-right .content {
			margin-left: auto;
		}

		.message-cloud {
			width: 100%;

			.text {
				margin-bottom: 0 !important;
			}

			&.accent {
				float: right;
				width: auto;
			}
		}

		.swiper-container-initialized {

			@keyframes messageCloud {
				0% {
					opacity: 0;
					transform: translateY(80px);
				}

				65% {
					opacity: 1;
					transform: translateY(-20%);
				}

				100% {
					opacity: 1;
					transform: translateY(0px);
				}
			}

			.message-cloud {
				opacity: 0;
				transform: translateY(80px);

				@for $i from 1 through 5 {
					&:nth-child(#{$i}) {
						animation-delay: $i*500ms !important;
					}
				}

			}

			.swiper-slide-active {
				.message-cloud {
					animation: messageCloud 800ms forwards;
				}
			}
		}
	}

	&.style5 {

		.banner-item {
			.row {
				margin: 0 -30px;

				>* {
					padding: 35px 30px;
				}
			}

			&.content-on-center {
				.row {
					text-align: center;
					justify-content: center;
				}
			}

			&.content-on-right {
				.row {
					flex-direction: row-reverse;
					text-align: right;

					@include media-breakpoint-down(sm) {
						flex-direction: row;
					}
				}

				.f-col {
					border-radius: 0 5px 5px 0;

					+.f-col {
						border-radius: 5px 0 0 5px;
					}
				}
			}

			&.content-on-top .container,
			&.content-on-middle .container,
			&.content-on-bottom .container {
				padding: 70px 15px;
			}

			&.content-on-top .container {
				align-items: flex-start;
			}

			&.content-on-middle .container {
				align-items: center;
			}

			&.content-on-bottom .container {
				align-items: flex-end;
			}
		}

		.f-col {
			background: rgba(255, 255, 255, 0.7);
			color: #000;
			border-radius: 5px 0 0 5px;

			+.f-col {
				border-radius: 0 5px 5px 0;
			}

			@include media-breakpoint-down(sm) {
				border-radius: 5px 5px 0 0;
			}
		}

		.content-col {
			@include media-breakpoint-down(sm) {
				padding-bottom: 0 !important;
			}

			&.last {
				border-radius: 5px !important;
			}
		}

		.desc-col {
			flex: 0 0 400px;
			max-width: 400px;

			@include media-breakpoint-down(sm) {
				padding-top: 0 !important;
				flex: 0 0 100%;
				max-width: none;
				border-radius: 0 0 4px 4px !important;

				.video-button {
					margin-top: 0;
				}
			}
		}

		.white .f-col {
			background: rgba(39, 38, 38, 0.7);
			color: #fff;
		}

		.text {
			line-height: 1.87;
		}

		.video-button {
			margin-top: 30px;
		}

		.fields {
			@extend %prox;
			font-size: 18px;
			border-top: 1px solid;
			padding-top: 17px;
			margin-top: 30px;
		}

		.f-item {
			display: flex;
			margin-bottom: 6px;

			.label {
				opacity: .8;
				flex: 0 0 90px;
			}

			.value {
				font-weight: 600;
			}
		}
	}

	&.style6 {
		@media screen and (min-width:2000px) {
			.swiper-pagination {
				left: 100%;
				right: 0;
				margin-left: -400px;
			}

			.bg-overlay .text {
				left: 100%;
				right: 0;
				margin-left: -400px;
			}

			.container {
				max-width: 100%;
				padding-left: 415px;
				padding-right: 415px;
			}

			.row {
				margin: 0;

				.content {
					min-width: 50% !important;
				}
			}

			.banner-item {
				.row {

					.bg-overlay {
						left: 415px;
						right: 415px;
					}

					.content {
						max-width: 1200px;
					}
				}
			}
		}

		.banner-item {

			&.content-on-center .row {
				text-align: center;
				justify-content: center;
			}

			&.content-on-right .row {
				text-align: right;
				flex-direction: row-reverse;

				div[class^="col-"]>.text {
					padding-left: 0;
					padding-right: 20px;

					&:before {
						left: auto;
						right: 0;
					}
				}
			}

			.container {
				position: relative;
				align-items: flex-end;
				padding-bottom: 125px;
			}

			.row {
				padding: 0;
				min-height: 295px;

				>.bg-overlay {
					top: 125px;
					bottom: 415px;
					overflow: hidden;
				}

				.bg-text {

					.text {
						top: 50%;
						left: 0;
						margin-left: 0;
						width: 100%;
						height: auto;
						line-height: 1.2;
						overflow: visible;
						justify-content: center;
						transform: translateY(-40%);

						span {
							transform: none !important;
							margin: 0;
						}
					}
				}

				.content {
					position: relative;
					padding: 35px 20px;
					margin: 0;
					flex: 1;
					z-index: 1;
				}
			}

			&.content-on-top {

				.container {
					padding-top: 100px;
					align-items: flex-start;
				}

				.row>.bg-overlay {
					top: 415px;
					bottom: 125px;
				}
			}

			&.content-on-middle {

				.container {
					padding-top: 100px;
					align-items: center;
				}

				.row>.bg-overlay {
					top: 125px;
					bottom: 125px;
				}
			}

			div[class^="col-"] {

				>.text {
					position: relative;
					padding-left: 20px;
					margin-top: 15px;

					&:before {
						content: '';
						position: absolute;
						top: 0;
						left: 0;
						height: 100%;
						width: 0;
						border-left: 1px solid;
						opacity: .2;
					}
				}
			}

			@include media-breakpoint-down(md) {
				.container {
					padding-bottom: 90px;
				}

				.row {
					min-height: auto;

					>.bg-overlay {
						top: 90px;
						bottom: 240px;
						overflow: hidden;
					}

					.content {
						padding: 20px 5px 10px;
					}
				}
			}

			@include media-breakpoint-down(sm) {
				.content-col {
					flex: 0 0 100%;
					max-width: 100%;
				}

				.desc-col {
					display: none;
				}
			}
		}
	}

	.video-button {
		display: inline-flex;

		&+.text {
			border-top: 1px solid;
			padding-top: 15px;
			margin-top: 25px;
		}
	}

	.fields {
		text-align: left;
	}

	@at-root .product-banner-block .bn-bottom,
	& .bn-bottom {
		position: absolute;
		left: 50%;
		bottom: 0;
		z-index: 3;
		pointer-events: none;

		.next,
		.prev,
		.video-button,
		.scroll-down-button {
			pointer-events: all;
		}

		.video-button {
			color: inherit;
		}

		.wrap {}

		.row {
			margin: 0 -15px;
			align-items: center;
			justify-content: space-between;
			min-height: 125px;

			>* {
				display: flex;
			}
		}

		@at-root .split-screen .nav-arrows,
		.one-screen .bottom-block .nav-arrows,
		& .nav-arrows {
			direction: ltr;
			display: flex;
			align-items: center;
			background: rgba(255, 255, 255, 0.3);
			border-radius: 6px;
			font-size: 33px;
			padding: 1px;

			.prev,
			.next {
				@extend %transition;
				@extend %flex;
				position: relative;
				width: 60px;
				height: 50px;
				border-radius: 0 5px 5px 0;
				cursor: pointer;

				&:hover {
					background: #000;
					color: #fff;
				}
			}

			.prev {
				margin-right: 1px;
				border-radius: 5px 0 0 5px;

				&:after {
					content: '';
					position: absolute;
					top: 0;
					right: -1px;
					box-shadow: inset 0 0 0 1px;
					width: 1px;
					height: 100%;
					opacity: 0.05;
				}
			}

			&.style2 {

				.prev,
				.next {
					height: 35px;

					&:before {
						@extend %transition;
					}

					&:hover {
						background: none;

						&:before {
							color: #414141;
						}
					}
				}
			}
		}

		.scroll-down-button {
			right: -40px;
			top: 50%;
			transform: translateY(-50%);
			bottom: auto;
		}

		&.with-fill {
			margin-bottom: 65px;
			color: #fff;

			.wrap {
				background: rgba(41, 41, 41, 0.65);
				border-radius: 6px;
				padding: 0 30px;
			}

			&.light .wrap {
				background: #F7F1ED;
				border: 1px solid #F7F1ED;
				border-radius: 6px;
				color: #272626;
			}

			.row {
				min-height: 53px;
				padding: 10px 0;
			}

			.nav-arrows {
				background: none;
				border: none;
				margin-right: -15px;

				.prev:after {
					opacity: 1;
				}

				.prev,
				.next {
					height: 30px;
					color: inherit;

					&:before {
						@extend %transition;
					}

					&:hover {
						background: none;

						&:before {
							@extend %ac;
						}
					}
				}
			}

			&.dark,
			&.light {
				.nav-arrows {
					background: none;
					color: inherit;

					.prev,
					.next {
						&:hover:before {
							color: #000 !important;
						}
					}
				}
			}

			@include media-breakpoint-down(md) {
				margin-bottom: 30px;
			}
		}

		.social-links {
			transition: 400ms ease-in-out;
			transition-property: opacity, visibility;
			transform-origin: 50% 50%;

			.label {
				@include media-breakpoint-down(xs) {
					display: none;
				}
			}
		}

		.social-links-col {}

		.video-button-col {}

		.nav-arrows-col {}

		@include media-breakpoint-down(md) {
			.row {
				min-height: 90px;
			}
		}

		@include media-breakpoint-down(sm) {
			&.with-fill .wrap {
				padding: 0 15px;
			}

			.video-button-col {
				display: none;
			}
		}

		@include media-breakpoint-down(xs) {
			.video-button .icon+span {
				display: none;
			}
		}
	}

	.swiper-pagination {
		position: absolute;
		top: 50%;
		left: 50%;
		margin-left: 570px;
		z-index: 2;
		transform: translateY(-50%);

		.swiper-pagination-bullet {
			@extend %transition;
			position: relative;
			display: block;
			font-weight: bold;
			font-size: 12px;
			opacity: 0.5;
			cursor: pointer;

			&:not(:last-of-type) {
				margin-bottom: 20px;
			}

			&:before {
				content: '';
				position: absolute;
				top: 50%;
				left: -15px;
				width: 0;
				height: 1px;
				box-shadow: inset 0 0 0 2px;
				transition: all 400ms ease;
			}

			&:hover {
				opacity: 1;
			}

			&.swiper-pagination-bullet-active {
				opacity: 1;

				&:before {
					width: 10px;
				}
			}
		}
	}
}

/*
- Social Links On Side
*/

.social-links-on-side {
	@extend %hide;
	position: fixed;
	top: 50%;
	left: 30px !important;
	transform: translate(-50%) rotate(-90deg);
	background: rgba(0, 0, 0, 0.05);
	height: 26px;
	padding: 0 14px;
	border-radius: 4px;
	color: #000;
	z-index: 100;
	transition: 400ms ease;
	transition-property: opacity, visibility, color;

	&.show {
		@extend %show;
	}

	.dark-scheme &,
	&.white {
		background: rgba(255, 255, 255, 0.1);
		color: #fff;
	}

	.label {
		font-size: 14px;
		margin-right: 10px;
	}

	a {
		font-size: 15px;
		transition: none;

		&:not(:last-child) {
			margin-right: 10px;
		}
	}

	@include media-breakpoint-down(sm) {
		display: none;
	}
}

/* 
- Video Block
*/

.iframe-video {
	position: relative;
	padding-bottom: 56.25%;
	margin-bottom: 45px;

	iframe {
		@extend %full-block;
		width: 100%;
		height: 100%;
	}
}

.video-block {
	@extend %cover;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	padding: 80px 0;

	&.white {
		color: #fff;

		.content-block .content:before {
			background: #201F1F;
		}
	}

	.row {
		align-items: center;
		justify-content: center;
	}

	.content-block {
		@extend %last-d-m;
		display: flex;

		.content {
			@extend %first-d-m;
			@extend %last-d-m;
			position: relative;
			padding: 50px 35px;
			border-radius: 4px;
			overflow: hidden;

			&:before {
				@extend %full-block;
				content: '';
				background: #fff;
				z-index: -1;
			}
		}
	}

	.heading-block {}

	.text {
		font-size: 18px;
		line-height: lh(30, 18);
	}

	.video-button-block {
		flex: 0 0 380px;
		max-width: 380px;
		text-align: center;
		padding: 35px 15px;

		@include media-breakpoint-down(sm) {
			flex: 0 0 240px;
			max-width: 240px;
		}
	}

	.video-button {
		display: inline-flex;
	}

	&.style2 {
		.content-block .content {
			border-radius: 0 4px 4px 0;

			@include media-breakpoint-down(sm) {
				margin: 0 !important;
				border-radius: 0;
			}
		}

		.content-block .content:before {
			background: #fff;
		}

		&.white .content-block .content:before {
			background: #272626;
		}

		&.stick-off .content-block .content {
			border-radius: 4px;
		}
	}

	&.style3 {
		.content-block .content:before {
			display: none;
		}

		.wrap {
			background: rgba(255, 255, 255, 0.8);
			border-radius: 4px;
			max-width: 820px;
		}

		.content-block {
			padding-bottom: 15px;
		}

		.row {
			align-items: flex-start;
		}

		.video-button-block {
			display: flex;
			max-width: 280px;
			height: 190px;
			align-items: center;
			justify-content: center;

			@include media-breakpoint-down(xs) {
				height: auto !important;
			}
		}

		@include media-breakpoint-down(sm) {
			.content {
				padding-bottom: 0;
			}
		}
	}

	&.style4 {
		margin: 30px 0;
		padding: 0;

		img {
			display: block;
			margin: 0 auto;
		}

		.content {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			text-align: center;
			padding: 0 30px;
		}
	}

	&.style5 {
		.content-block {
			max-width: 585px;

			.content {
				&:before {
					background: #fff;
					opacity: 1;
				}
			}
		}

		.content-col {}

		.video-button-block {
			flex: 1;
			max-width: none;

			@include media-breakpoint-down(sm) {
				flex: 0 0 100%;
			}
		}

		.text {
			@extend %prox;
			line-height: 1.5;
		}
	}

	@include media-breakpoint-down(sm) {
		.content-block {
			padding: 0;
		}

		.text {
			font-size: 16px;
		}

		.video-button-block {
			flex: 0 0 100%
		}
	}
}

/*
- Swiper Dots
*/

.swiper-dots {
	display: flex;
	flex-wrap: wrap;
	margin: 30px 0;

	.swiper-pagination-bullet {
		@extend %transition;
		width: 13px;
		height: 13px;
		background: #CBCBCB;
		opacity: 0.3;
		border-radius: 50%;
		cursor: pointer;

		&:not(:last-child) {
			margin-right: 7px;
		}

		&.swiper-pagination-bullet-active {
			@extend %ac-bg;
			opacity: 1;
		}
	}
}

/* 
- Load More Button
*/

.loadmore-button-block {
	text-align: center;
	margin: 30px 0 45px;

	.portfolio-block.gap-on &,
	.portfolio-block.portfolio-type-packery.gap-on & {
		margin-top: 15px;
	}

	.blog-block & {
		margin-top: 0;
	}

	.product-block & {
		margin-top: 10px;
	}
}

@keyframes load_dots {

	0%,
	100% {
		transform: translateY(0px);
	}

	50% {
		transform: translateY(-4px);
	}
}

.loadmore-button {
	position: relative;

	i {
		transition: transform 300ms ease-in-out;
	}

	&:hover {
		i {
			transform: translateY(2px);
		}
	}

	.load-dots {
		@extend %transition;
		@extend %hide;
		position: absolute;
		width: 6px;
		height: 6px;
		overflow: visible;

		em,
		&:before,
		&:after {
			content: '';
			position: absolute;
			width: 6px;
			height: 6px;
			border-radius: 50%;
			box-shadow: inset 0 0 0 3px;
		}

		em {
			left: 0;
		}

		&:before {
			left: -8px;
		}

		&:after {
			right: -8px;
		}
	}

	>* {
		transition: 400ms ease-in-out;
		transition-property: opacity, visible, transform !important;
	}

	&.loading {
		>* {
			@extend %hide;
		}

		.load-dots {
			@extend %show;

			em,
			&:before,
			&:after {
				animation: load_dots 1000ms ease-in-out infinite;
			}

			&:before {
				animation-delay: 0;
			}

			em {
				animation-delay: 333ms;
			}

			&:after {
				animation-delay: 333ms*2;
			}
		}
	}
}

/* 
- Filter Buttons
*/

.filter-buttons {
	margin: 40px 0 23px;

	.wrap {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		padding: 0;

		[data-vc-full-width-init="true"] & {
			//padding: 0 15px;
		}

		.button {
			@extend %button-reset;
			@extend %transition;
			display: block;
			position: relative;
			overflow: visible;
			line-height: 20px;
			font-size: 18px;
			margin-bottom: 15px;
			padding: 5px 0;
			font-weight: 500;
			height: auto;
			user-select: none;
			z-index: 1;

			&:not(:last-of-type) {
				margin-right: 40px;
			}

			&:last-child {
				&:after {
					display: none;
				}
			}

			&:hover {
				background: none;
				color: inherit;
			}

			&:before {
				@extend %transition;
				@extend %hide;
				content: '';
				position: absolute;
				left: 0;
				bottom: 0;
				right: 0;
				transition: all 400ms ease-in-out;
				box-shadow: inset 0 0 0 40px;

				z-index: -1;
			}

			span {
				@extend %transition;
				display: block;
				overflow: visible;
			}

			&:hover,
			&.current {
				opacity: .4;

				&:before {
					@extend %show;
					height: 2px;
				}
			}
		}
	}

	&.tal .wrap {
		justify-content: flex-start;

		.button {}
	}

	&.tar .wrap {
		justify-content: flex-end;

		.button {}
	}

	&.style2 .wrap .button {
		&:before {
			top: 0;
			left: -8px;
			right: -8px;
			height: auto;
			opacity: 0;
			border-radius: 4px;
			transition: all 400ms ease-in-out;
		}

		&:hover,
		&.current {
			opacity: 0.5;

			&:before {
				@extend %show;
				opacity: .08;
			}
		}
	}

	@include media-breakpoint-down(sm) {
		.wrap {
			.button {
				font-size: 14px;
				margin-bottom: 10px;

				&:not(:last-of-type) {
					margin-right: 15px;
				}
			}
		}
	}
}

/* 
- Portfolio
*/

.nav-buttons {
	@extend %flex;
	position: absolute;
	top: 0;
	right: 0;
	font-size: 12px;
	z-index: 3;

	>* {
		@extend %transition;
		cursor: pointer;
		pointer-events: all;

		&:hover {
			@extend %ac;
		}
	}

	.next {
		margin-left: 15px;
	}

	@include media-breakpoint-down(sm) {
		top: -25px !important;
		left: 0;
		justify-content: space-between;
	}
}

.hover-plus {
	@extend %transition;
	display: none;
	position: absolute;
	pointer-events: none;
	background: transparent;
	width: 50px;
	height: 50px;
	mix-blend-mode: difference;
	z-index: 2;

	&:before,
	&:after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 40px;
		height: 3px;
		background: #fff;
		transform: translate(-50%, -50%) rotate(0deg);
		opacity: 0;
		transition: all 600ms ease;
	}

	svg {
		position: absolute;
		top: 50%;
		left: 50%;
		opacity: 0;
		transition: all 600ms ease;
		transform: translate(-50%, -50%) rotate(0deg);
		fill: #fff;
		width: 35px;
	}

	&.video {

		&:before,
		&:after {
			display: none;
		}
	}

	div:hover>& {

		&:before,
		&:after,
		svg {
			opacity: 1;
		}

		&:before {
			transform: translate(-50%, -50%) rotate(180deg) scale(1);
		}

		&:after {
			transform: translate(-50%, -50%) rotate(90deg) scale(1);
		}
	}
}

.portfolio-block {
	position: relative;
	margin: 30px 0;

	.row {
		margin: 0 -20px;

		article {
			padding: 0 20px;
		}
	}

	&.gap-off {

		.row {
			margin: 0;
		}

		article {
			padding: 0;
			margin: 0;
		}
	}
}

.portfolio-items {}

.portfolio-item {
	margin-bottom: 45px;

	.with-video {
		position: absolute;
		top: 15px;
		left: 15px;
		z-index: 4;

		&:before {
			content: '';
			display: block;
			width: 0;
			height: 0;
			border-top: 8px solid transparent;
			border-left: 12px solid #fff;
			border-bottom: 8px solid transparent;

		}
	}

	.wrap {
		position: relative;
	}

	.img {
		@extend %cover;
		position: relative;

		&:before {
			content: '';
			display: block;
			padding-bottom: percent(350, 440, '%');

			.portfolio-type-masonry & {
				display: none;
			}
		}

		.img-b {
			@extend %cover;
			@extend %full-block;
			border-radius: 4px;
		}

		img {
			display: block;
			border-radius: 4px;
			width: 100%;
		}

		a {
			@extend %full-block;
			cursor: none;
		}
	}

	.content {
		margin-top: 15px;
	}

	.title {
		font-size: 20px;
		margin: 0;
	}

	.desc{
		margin-top: 9px;
		font-size: 14px;
		opacity: .7;
	}

	.button-style2 {
		opacity: .7;
		height: 25px;

		&:hover {
			opacity: 1;
			font-weight: bold;
		}
	}
}

.portfolio-item-style2 {
	margin-bottom: 65px;

	.wrap {
		position: relative;
	}

	.img {
		position: relative;

		.img-b {
			@extend %cover;
			padding-bottom: 100%;
			border-radius: 4px;
		}

		img {
			display: block;
			border-radius: 4px;
		}

		a {
			@extend %full-block;
		}
	}

	.content {
		position: absolute;
		left: -25px;
		bottom: 0;
		width: 100%;
		transform: translateY(50%);
		background: #fff;
		box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.03);
		border-radius: 4px;
		padding: 17px 15px;
		transition: all 400ms ease;

		@include media-breakpoint-down(sm) {
			left: -15px;
		}
	}

	.title {
		@extend %prox;
		margin: 0;
		font-size: 20px;
	}

	body.dark-scheme &,
	body .dark-scheme & {
		.content {
			background: #000;
			box-shadow: 0px 4px 20px rgba(255, 255, 255, 0.03);
		}
	}
}

.portfolio-item-style3 {
	margin-bottom: 40px;

	.wrap {
		position: relative;
		overflow: hidden;
	}

	.img {
		position: relative;

		&:before {
			@extend %full-block;
			@extend %transition;
			@extend %hide;
			content: '';
			background: #000;
			border-radius: 4px;
		}

		.img-b {
			@extend %cover;
			padding-bottom: 100%;
			border-radius: 4px;
		}

		img {
			display: block;
			border-radius: 4px;
		}

		a {
			@extend %full-block;
			cursor: none;
		}
	}

	.content {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		padding: 20px 25px;
		color: #fff;
		transition: all 800ms ease;
		transform: translateX(-100%);
		pointer-events: none;
	}

	.category {
		font-size: 14px;
		opacity: .7;
		margin-bottom: 5px;
	}

	.title {
		@extend %prox;
		margin: 0;
		font-size: 20px;
	}

	&:hover {
		.img {
			&:before {
				@extend %show;
				opacity: 0.2;
			}
		}

		.content {
			transform: translateX(0%);
		}
	}
}

.portfolio-type-slider {
	display: flex;

	.filter-buttons {
		margin: 0 0 22px;
	}

	.content {
		@extend %last-d-m;
		flex: 0 0 100%;
		max-width: 380px;
		margin-right: 30px;

		.title {
			font-weight: 700;
			font-size: 24px;
			line-height: lh(28, 24);
			margin-bottom: 35px;
		}

		.desc {
			@extend %prox;
			font-size: 16px;
			line-height: lh(24, 16);
			margin-bottom: 25px;
		}
	}

	&.with-filter .content {
		margin-top: 57px;
	}

	.items {
		position: relative;
		flex: 1;
	}

	.decor {
		position: absolute;
		top: -85px;
		right: -210px;
		opacity: 0.03;

		svg {
			fill: currentColor;
		}
	}

	.prev {
		@extend %transition;
		position: absolute;
		left: -95px;
		bottom: 45px;
		font-size: 50px;
		z-index: 3;
		cursor: pointer;

		&:hover {
			@extend %ac;
		}

		@include media-breakpoint-down(sm) {
			top: -75px;
			left: auto;
			right: 0;
			bottom: auto;
		}
	}

	.swiper-container {
		@extend %transition;
		overflow: visible;
		max-width: 530px;
		margin: 0;

		&.loading {
			opacity: 0;
		}
	}

	.swiper-slide {
		position: relative;
		width: 530px;
		transform-origin: 50%;
		overflow: hidden;
		box-shadow: 10px 5px 40px rgba(0, 0, 0, 0.14);
		border-radius: 4px;
		overflow: hidden;
		cursor: none;

		&.swiper-slide-visible,
		&.swiper-slide-visible a {
			pointer-events: all;
		}

		&:before {
			@extend %transition;
			content: '';
			position: relative;
			display: block;
			padding-bottom: percent(530, 420, '%');
			pointer-events: none;
			z-index: 2;
		}

		.hover-plus {
			z-index: 3;
		}

		a {
			@extend %cover;
			@extend %full-block;
			//pointer-events: none;
			cursor: none;
		}

		&:hover:before {
			background: rgba(0, 0, 0, 0.1);
		}
	}

	@include media-breakpoint-down(md) {
		flex-wrap: wrap;

		.content {
			margin-bottom: 30px;
		}

		&.with-filter .content {
			margin-top: 0;
		}

		.filter-buttons {
			display: none;
		}
	}

	@include media-breakpoint-down(sm) {
		.swiper-slide {
			width: 400px;
		}
	}

	@include media-breakpoint-down(xs) {
		.swiper-slide {
			width: 280px;
		}
	}
}

.portfolio-type-carousel {

	.prev,
	.next {
		margin-top: -43px !important;
	}

	.portfolio-item {
		margin-bottom: 0;
	}
}

.portfolio-type-carousel2 {

	.swiper-container {}

	.swiper-slide {
		position: relative;
		max-width: 515px;
		width: auto;

		.wrap {}

		.img {
			position: relative;

			a {
				@extend %full-block;
			}
		}

		img {
			@extend %transition;
			display: block;
			width: auto;
			max-height: 545px;
		}

		.content {
			position: relative;
			margin-top: 20px;
		}

		.category {
			@extend %ac;
			font-size: 12px;
			margin-bottom: 5px;
		}

		.title {
			margin: 0;
		}

		a {
			@extend %full-block;
		}

		&:hover {
			img {}
		}
	}
}

.portfolio-type-packery {

	.row {
		margin: 0;

		.portfolio-item {
			padding: 0;
		}
	}

	.portfolio-item {
		.img:before {
			padding-bottom: percent(380, 440, '%');
		}

		&:nth-child(5n+5) {
			flex: 0 0 66.66667%;
			max-width: 66.66667%;

			.img:before {
				padding-bottom: 57.894%;
			}

			@include media-breakpoint-down(sm) {
				flex: 0 0 50%;
				max-width: 50%;

				.img:before {
					padding-bottom: percent(380, 440, '%');
				}
			}

			@include media-breakpoint-down(xs) {
				flex: 0 0 100%;
				max-width: 100%;
			}
		}
	}

	&.gap-on {
		.row {
			margin: 0 -20px;
		}

		.portfolio-item {

			.img-b {
				left: 20px;
				right: 20px;
			}

			.content {
				padding: 0 20px;
			}
		}
	}
}

.portfolio-type-scattered {
	.row {
		margin: 0 -30px;
	}

	.portfolio-item {
		padding: 0 30px !important;
		margin-bottom: 55px;

		.img {
			&:before {
				display: none;
			}
		}
	}

	@include media-breakpoint-down(lg) {
		.row {
			margin: 0 -15px;
		}

		.portfolio-item {
			padding: 0 15px !important;
			margin-bottom: 35px;
		}
	}
}

.gallery-type {
	.portfolio-item {
		a {
			@extend %full-block;
		}
	}

	&.portfolio-type-packery {
		.portfolio-item {
			a{
			left: 20px;
			right: 20px;
			}
		}
	}

	&.portfolio-type-carousel {
		.prev,
		.next {
			margin-top: -.5em !important;
		}
	}

	&.portfolio-type-carousel-type2 {
		.portfolio-item {
			margin-bottom: 0;
			.img:before {
				display: none;
			}
		}
	}
}

/*
- Map
*/

.map-block {
	.map {
		height: 100%;

		.split-screen & {
			@extend %full-block;
		}
	}

	&.with-content {
		@extend %flex;
		padding: 65px 0;

		.map {
			@extend %full-block;
			position: absolute !important;
		}

		>.container {

			>.content {
				background: #fff;
				padding: 30px 30px;
				max-width: 540px;
			}
		}
	}

	@include media-breakpoint-down(sm) {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100%;
	}
}

/*
- Skill Rate
*/

.skills-items {
	margin-top: 35px;
}

.skills-rate {
	margin: 0 0 20px 0;

	.h {
		font-weight: 500;
	}

	.rate-line {
		position: relative;
		margin: 7px 0 0;
		background: #EBEBEB;

		div {
			@extend %ac-bg;
			position: relative;
			height: 6px;
			transition: width 900ms ease-in-out;

			&.animated span {
				@extend %show;
			}
		}

		span {
			@extend %hide;
			@extend %transition;
			@extend %ac-bg;
			position: absolute;
			right: -4px;
			bottom: 100%;
			margin-bottom: 9px;
			font-size: 12px;
			line-height: 23px;
			padding-right: 3px;
			transition-delay: 300ms;
			color: #fff;
			height: 23px;
			padding: 0 5px;
			border-radius: 3px;

			&:before {
				@extend %ac-bo;
				content: '';
				position: absolute;
				top: 100%;
				right: 4px;
				width: 0;
				height: 0;
				border-top-width: 5px;
				border-top-style: solid;
				border-left: 8px solid transparent !important;
			}
		}
	}
}

/*
- Brands
*/

.brand-block {
	position: relative;
	margin: 40px 0;

	@at-root .testimonials-slider .nav-arrows,
	.blog-carousel .nav-arrows,
	& .nav-arrows {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		font-size: 30px;
		margin-bottom: 25px;
		user-select: none;
		position: relative;
		z-index: 4;
		direction: ltr;

		.prev,
		.next {
			@extend %transition;
			@extend %flex;
			position: relative;
			width: 60px;
			height: 30px;
			cursor: pointer;

			&.swiper-button-disabled:before {
				opacity: 0.2;
			}

			&:not(.swiper-button-disabled):hover {
				@extend %ac;
			}
		}

		.prev {
			margin-right: 1px;

			&:after {
				content: '';
				position: absolute;
				top: 0;
				right: -1px;
				box-shadow: inset 0 0 0 1px;
				width: 1px;
				height: 100%;
				opacity: 0.05;
			}
		}

		@include media-breakpoint-down(sm) {
			justify-content: start;
		}
	}

	.swiper-wrapper {
		align-items: center;
	}

	&.style2 {
		background: #F4EDEA;
		border-radius: 4px;
		box-shadow: 0px 12px 15px rgba(0, 0, 0, 0.17);
		margin-right: 95px;
		padding: 30px 20px;

		.next {
			@extend %transition;
			position: absolute;
			top: 50px;
			left: 100%;
			margin-left: 30px;
			font-size: 40px;
			user-select: none;
			cursor: pointer;

			&:hover {
				@extend %ac;
			}
		}
	}

	&.extends-offset {
		margin: 0;

		.swiper-container {
			margin: 95px 0 70px;
		}
	}
}

.brand-item {
	@extend %flex;
	margin-top: 0 !important;
	height: 110px;

	.content {
		position: relative;
		padding: 15px 0;
		transition: all 1300ms;
		perspective: 300px;
	}

	img {
		@extend %transition;
		vertical-align: middle;
	}

	img+img {
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
		visibility: hidden;
	}

	&:hover {
		.content {
			transform: rotateY(-360deg);
		}

		img {
			@extend %hide;
		}

		img+img {
			@extend %show;
		}
	}

	&.without-hover {

		img {
			opacity: 1;
		}

		&:hover {
			img {
				opacity: .5;
				visibility: visible;
			}
		}
	}
}

/*
- Accordion
*/

.accordion-block {
	margin: 40px 0;

	.accordion-item {
		position: relative;
		margin-bottom: 12px;
		transition: all 400ms ease-in-out;
		border-radius: 5px;
		overflow: hidden;
		z-index: 1;

		&:before {
			@extend %full-block;
			content: '';
			background: #faf6f5;
			z-index: -1;

			body.dark-scheme &,
			body .dark-scheme & {
				background: #000;
			}
		}

		.top {
			display: flex;
			align-items: center;
			position: relative;
			font-size: 18px;
			font-weight: 600;
			min-height: 45px;
			padding: 10px 40px 10px 15px;
			line-height: 1.2;
			user-select: none;
			cursor: pointer;

			.button {
				@extend %flex;
				position: absolute;
				top: 0;
				right: 0;
				width: 40px;
				height: 100%;

				&:before,
				&:after {
					content: '';
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					width: 13px;
					height: 1px;
					box-shadow: inset 0 0 0 1px;
					transition: 400ms ease;
					transition-property: transform;
				}

				&:after {
					transform: translate(-50%, -50%) rotate(90deg);
				}

			}
		}

		.wrap {
			@extend %prox;
			display: none;
			padding: 5px 40px 15px 15px;
			line-height: 1.5;
		}

		&.current {

			.button:after {
				transform: translate(-50%, -50%) rotate(0deg) scaleX(0);
			}
		}
	}

	&.style2 {

		.accordion-item {
			&:before {
				display: none;
			}

			.top {
				padding: 5px 0 5px 25px;

				.button {
					left: -13px;
					right: auto;
				}
			}

			.wrap {
				padding: 5px 0 5px 25px;
			}
		}
	}

	@include media-breakpoint-down(sm) {
		.accordion-item .top {
			font-size: 16px;
		}
	}
}

/*
- Contact Block
*/

.contact-block {
	margin-bottom: 35px;
	padding-left: 40px;

	.title {
		@extend %ac2;
		position: relative;
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 5px;

		&:before {
			@extend %ac-bg;
			content: '';
			position: absolute;
			top: 50%;
			left: -40px;
			margin-top: -1px;
			width: 20px;
			height: 3px;
		}
	}

	.value {
		font-size: 24px;
		font-weight: 300;
	}

	@include media-breakpoint-down(md) {
		.value {
			font-size: 18px;
		}
	}
}

/* 
- Tabs
*/

.tabs-block {
	margin: 30px 0;

	.tab-nav {
		@extend %prox;
		position: relative;
		padding: 0 30px 0 0;

		.prev,
		.next {
			@extend %transition;
			position: absolute;
			top: 50%;
			margin-top: -.5em;
			font-size: 18px;
			z-index: 200;
			cursor: pointer;

			&.swiper-button-disabled {
				@extend %hide;
			}
		}

		.prev {
			left: -30px;
		}

		.next {
			right: 0;
		}

		.swiper-slide {
			@extend %flex;
			flex: 0 0 auto;
			width: auto;
			font-weight: 600;
			font-size: 15px;
			border-top: 2px solid transparent;
			text-transform: uppercase;
			min-height: 40px;
			user-select: none;
			cursor: pointer;
			transition: all 400ms ease;

			&.swiper-slide-thumb-active {
				@extend %ac-bo;
			}

			&:last-child {
				margin-right: 0 !important;
			}
		}
	}

	.tab-content {

		>*>.swiper-slide {}
	}
}

.tabs-block-with-image {
	display: flex;

	.left-col {
		flex: 0 0 50%;
		max-width: 50%;
		padding: 40px 0;

		>.heading-block {
			margin-top: 0;
			margin-bottom: 38px;
		}
	}

	.right-col {
		position: relative;
		flex: 1;
		margin-left: 65px;
	}

	.tab-images {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;

		* {
			height: 100%;
		}

		.swiper-slide {
			@extend %cover;
		}
	}

	&.image-align-left {
		.left-col {
			order: 2
		}

		.right-col {
			margin-left: 0;
			margin-right: 65px;
		}
	}

	@include media-breakpoint-down(md) {
		.left-col {
			flex: 0 0 100%;
			max-width: 100%;
		}

		.right-col {
			display: none !important;
		}
	}
}

/*
- Side Img Block
*/

.side-img-block {
	position: relative;
	height: 400px;

	>div {
		@extend %full-block;
		@extend %cover;
		box-shadow: 0px 8px 50px rgba(0, 0, 0, 0.09);
	}
}

/*
- Testimonials
*/

.testimonials-slider {
	margin: 40px 0;

	.swiper-container {
		padding: 30px;
		margin: -30px;
	}

	.swiper-wrapper {}

	.nav-arrows {
		margin-bottom: 75px;

		@include media-breakpoint-down(sm) {
			margin-bottom: 55px;
		}
	}
}

.testimonial-item {
	display: flex;
	flex-direction: column;

	.top-block {
		margin-bottom: 0;
		overflow: hidden;
		height: 0;
		transition: all 400ms ease;
		opacity: 0;

		.top-block-inner {
			display: flex;
			align-items: center;
		}

		.avatar {
			@extend %cover;
			flex: 0 0 65px;
			max-width: 65px;
			height: 65px;
			border-radius: 50%;
			margin-right: 18px;
		}
	}

	.wrap {
		@extend %transition;
		display: flex;
		flex-direction: column;
		position: relative;
		background: #F2F2F3;
		border-radius: 4px;
		padding: 23px 20px;
		flex-grow: 1;
		justify-content: space-between;

		&:before {
			content: '';
			position: absolute;
			top: 0;
			left: 20px;
			border-left: 11px solid transparent !important;
			border-right: 11px solid transparent !important;
			border-bottom: 22px solid #F2F2F3;
			transition: all 300ms ease;
		}

		body.dark-scheme &,
		body .dark-scheme & {
			background: #1e1e1f;

			&:before {
				border-bottom-color: #1e1e1f;
			}
		}
	}

	.bottom {
		margin-top: 15px;
		height: 52px;
		overflow: hidden;
		transition: 400ms ease;
		transition-property: margin, height, opacity;
	}

	.quote {
		@extend %prox;
		font-size: 18px;
		line-height: lh(26, 18);

		@include media-breakpoint-down(sm) {
			font-size: 16px;
		}
	}

	.name {
		font-weight: 500;
		font-size: 22px;
		line-height: 1.2;
	}

	.post {
		font-size: 18px;
		line-height: 1;
		opacity: .5;
		margin-top: 5px;

		@include media-breakpoint-down(sm) {
			font-size: 16px;
		}
	}

	&.with-hover:hover,
	&.show-active-element.swiper-slide-active {
		.top-block {
			height: 65px;
			margin-top: -30px;
			margin-bottom: 30px;
			opacity: 1;
		}

		.bottom {
			margin-top: 0;
			height: 0;
			opacity: 0;
		}

		.wrap {
			background: #272525;
			color: #fff;

			&:before {
				border-color: #272525;
				top: -14px;
			}

			body.dark-scheme &,
			body .dark-scheme & {
				background: #000;

				&:before {
					border-bottom-color: #000;
				}
			}
		}
	}
}

/*
- Gallery Carousel
*/

.gallery-carousel {
	position: relative;
	margin: 40px 0;

	.swiper-container {
		overflow: visible;
	}

	.swiper-slide {
		@extend %cover;
		position: relative;
		width: 170px;

		&:before {
			content: '';
			display: block;
			padding-bottom: 100%;
		}

		a {
			@extend %full-block;
		}
	}

	@include media-breakpoint-down(lg) {
		.swiper-slide img {
			max-height: 355px;
		}
	}

	@include media-breakpoint-down(md) {
		.swiper-slide img {
			max-height: 300px;
		}
	}

	@include media-breakpoint-down(sm) {
		.swiper-slide img {
			max-height: 250px;
		}
	}
}

/*
- Video Button
*/

@keyframes video_circles {
	0% {
		box-shadow: 0 0 0 0;
		opacity: 0.08;
	}

	50% {
		opacity: 0.08;

	}

	85% {}

	100% {
		box-shadow: 0 0 0 18px;
		opacity: 0;
	}
}

.video-button {
	display: flex;
	font-weight: 600;
	align-items: center;
	transition: color 300ms ease-in-out;
	pointer-events: all;
	color: inherit;
	cursor: pointer;

	&.white {
		color: #fff;
	}

	.icon {
		@extend %flex;
		position: relative;
		font-size: 47px;

		&:before,
		&:after {
			@extend %full-block;
			content: '';
			box-shadow: 0 0 0 0;
			border-radius: 50%;
			opacity: 0;
			animation: video_circles 1200ms ease-in-out infinite;
		}

		&:after {
			animation-delay: 300ms;
		}

		+span {
			margin-left: 20px;
		}
	}

	&.accent {
		@extend %ac;
	}
}

/*
- Icon Box
*/

.icon-box-block {
	position: relative;
	margin: 30px 0;

	.swiper-slide {
		>* {
			margin-bottom: 0;
		}
	}

	@at-root .price-list-block .prev,
	.price-list-block .next,
	.categories-carousel .prev,
	.categories-carousel .next,
	.team-block .prev,
	.team-block .next,
	.portfolio-type-carousel .prev,
	.portfolio-type-carousel .next,
	& .prev,
	& .next {
		@extend %transition;
		position: absolute;
		top: 50%;
		font-size: 20px;
		margin-top: -.5em;
		z-index: 2;
		cursor: pointer;

		&:hover {
			@extend %ac;
		}

		&.swiper-button-disabled {
			@extend %hide;
		}

	}

	@at-root .price-list-block .prev,
	.categories-carousel .prev,
	.team-block .prev,
	.portfolio-type-carousel .prev,
	& .prev {
		left: -65px;

		@include media-breakpoint-down(sm) {
			left: 0;
		}
	}

	@at-root .price-list-block .next,
	.categories-carousel .next,
	.team-block .next,
	.portfolio-type-carousel .next,
	& .next {
		right: -65px;

		@include media-breakpoint-down(sm) {
			right: 0;
		}
	}

	&.style1 {
		.swiper-container {
			padding: 20px;
			margin: -20px;
		}
	}

	&.style2 {
		.row {
			overflow: hidden;
		}
	}

	&.style3 {
		overflow: hidden;

		&.carousel {
			overflow: visible;
		}

		[class^="col-"] {
			margin-bottom: $gutter;
		}
	}

	&.style4 {
		overflow: hidden;
		margin-bottom: 0;

		>.row>div {
			margin-bottom: 30px;
		}
	}

	&.inside-arrows {
		padding: 0 40px;

		.prev {
			left: 0;
		}

		.next {
			right: 0;
		}
	}

	@include media-breakpoint-down(sm) {
		&.style1 {
			.swiper-container {
				margin: 0 30px;
			}
		}
	}
}

.icon-box {
	position: relative;
	display: flex;
	margin-bottom: 35px;
	z-index: 1;

	.wrap {}

	.icon {
		font-size: 54px;
		margin-right: 25px;
	}

	.title {
		margin: 10px 0 8px;
		font-size: 24px;
		font-weight: 500;
		line-height: 1.1;
	}

	.desc {
		@extend %prox;
		font-size: 14px;
		opacity: .7;
	}

	>a {
		@extend %full-block;
		z-index: 3;
	}

	&.with-decor-line {
		.title {
			&:after {
				content: '';
				display: block;
				width: 100%;
				max-width: 130px;
				height: 1px;
				box-shadow: inset 0 0 0 1px;
				opacity: 0.1;
				margin: 4px 0 8px;
			}
		}
	}

	.h-type1 & {
		&:before {
			@extend %transition;
			@extend %hide;
			content: '';
			position: absolute;
			top: -20px;
			left: -15px;
			right: -15px;
			bottom: -20px;
			box-shadow: inset 0 0 0 900px;
			border-radius: 4px;
			z-index: -1;
		}

		&:hover:before {
			opacity: 0.08;
			visibility: visible;
		}
	}

	.h-type2 & {
		.title span {
			position: relative;

			&:before {
				content: '';
				position: absolute;
				top: 0;
				left: -90px;
				right: -10px;
				bottom: -5px;
				background: rgba(0, 0, 0, 0.04);
				border-radius: 4px;
				transform: scaleX(0);
				opacity: 0;
				transition: all 500ms ease;
				transform-origin: 0 50%;
				z-index: -1;

				body.dark-scheme &,
				body .dark-scheme & {
					background: #fff;
				}
			}
		}

		&:hover .title span:before {
			transform: scaleX(1);
			opacity: 1;

			body.dark-scheme &,
			body .dark-scheme & {
				opacity: 0.1;
			}
		}
	}

	@include media-breakpoint-down(xs) {
		display: block;
	}
}

.icon-box-style2 {
	position: relative;
	margin-bottom: $gutter;
	text-align: center;

	&:before {
		content: '';
		position: absolute;
		top: 0;
		right: -16px;
		bottom: 0;
		width: 1px;
		border-right: 1px solid;
		opacity: .1;
	}

	/* .swiper-slide & {
		height: 100%;

		.wrap {
			height: 100%;
		}
	} */

	.wrap {
		position: relative;
		z-index: 1;
		padding: 35px 10px;

		&:before {
			@extend %full-block;
			@extend %transition;
			@extend %hide;
			content: '';
			background: #f8f8f8;
			border-radius: 4px;
			z-index: -1;

			body.dark-scheme &,
			body .dark-scheme & {
				background: #FFFFFF;
			}
		}
	}

	.icon {
		position: relative;
		display: flex;
		justify-content: center;
		margin-bottom: 10px;
		padding-top: 0;

		i {
			font-size: 52px;
		}

		.num {
			@extend %prox;
			position: absolute;
			top: 5px;
			right: 50%;
			font-size: 12px;
			font-weight: 600;
			opacity: 0.4;
			margin-top: -5px;
			margin-right: 32px;
		}
	}

	.title {
		font-weight: 600;
		font-size: 20px;
		line-height: lh(24, 20);
	}

	.desc {
		font-size: 14px;
		line-height: lh(17, 14);
		opacity: 0.7;
	}

	a {
		@extend %full-block;
		z-index: 3;
	}

	.wrap:hover {
		@extend %ac;

		&:before {
			@extend %show;
		}
	}
}

.icon-box-style3 {
	position: relative;
	text-align: center;
	height: 100%;
	padding: 10px 0;

	&:before {
		content: '';
		position: absolute;
		top: 0;
		right: -15px;
		bottom: 0;
		width: 1px;
		box-shadow: inset 0 0 0 1px;
		opacity: 0.1;
	}

	.wrap {
		@extend %transition;
		position: relative;
		padding: 30px 15px;
		z-index: 1;

		&:before {
			@extend %full-block;
			@extend %ac-bg;
			@extend %transition;
			@extend %hide;
			content: '';
			border-radius: 6px;
			z-index: -1;
		}

		&:hover {
			color: #fff;

			&:before {
				@extend %show;
			}

			.icon {
				color: inherit;
			}
		}
	}

	.icon {
		@extend %ac;
		font-size: 45px;
		margin-bottom: 10px;
	}

	.title {
		font-size: 22px;
		font-weight: 600;
		line-height: lh(26, 22);
	}

	.desc {
		font-size: 14px;
		line-height: lh(17, 14);
		opacity: 0.7;
	}

	a {
		@extend %full-block;
		z-index: 3;
	}
}

.icon-box-style4 {
	text-align: center;
	padding: 15px 0;

	.wrap {}

	.icon {
		font-size: 45px;
		margin-bottom: 10px;
	}

	.title {
		font-size: 20px;
		font-weight: 600;
		line-height: lh(24, 20);
	}

	.desc {
		font-size: 14px;
		line-height: lh(17, 14);
		opacity: 0.7;
	}

	a {
		@extend %full-block;
		z-index: 3;
	}

	&.with-decor-line {
		&:after {
			content: '';
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			width: 1px;
			box-shadow: inset 0 0 0 1px;
			opacity: .1;
		}
	}
}

.icon-box-style5 {
	position: relative;
	display: flex;
	padding-top: 17px;
	margin-bottom: $gutter;
	z-index: 1;

	&:before {
		@extend %transition;
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 1px;
		box-shadow: inset 0 0 0 1px;
		opacity: 0.4;
		z-index: -1;

		body.dark-scheme &,
		body .dark-scheme & {
			background: #FFFFFF;
		}
	}

	.wrap {}

	.icon {
		font-size: 35px;
		margin-right: 25px;
		opacity: .8;
	}

	.title {
		@extend %prox;
		display: flex;
		align-items: center;
		margin: 2px 0;
		font-weight: 600;
		font-size: 14px;
		line-height: 1.14;
		min-height: 30px;
	}

	.desc {
		@extend %prox;
		font-size: 12px;
		opacity: .7;
	}

	>a {
		@extend %full-block;
		z-index: 3;
	}
}



/*
- Price List Block
*/

.price-list-block {
	position: relative;
	margin: 10px 0 30px;

	.plan-switcher {
		display: flex;
		align-items: center;
		margin-bottom: 43px;

		button {
			@extend %button-reset;
			overflow: visible;
			font-size: 14px;
			font-weight: 600;
			padding-left: 30px;
			transition: all 400ms ease;
			opacity: .5;

			&:not(:last-child) {
				margin-right: 5px;
			}

			&:before {
				content: '';
				position: absolute;
				top: 50%;
				left: 0;
				width: 25px;
				height: 1px;
				transform: rotate(-72deg);
				box-shadow: inset 0 0 0 1px;
				transition: all 400ms ease;
			}

			&:not(.current):hover:after {
				width: 5px;
			}

			&.current {
				opacity: 1;
				padding-left: 47px;

				&:before {
					width: 40px;
					left: 0;
					transform: rotate(0deg);
				}
			}
		}
	}

	.s-container {
		position: relative;
		margin: 35px 0;
	}
}

.price-list-item {
	position: relative;
	padding: 20px 25px 25px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: #faf6f5;
	color: #000;
	border-radius: 4px;

	body.dark-scheme &,
	body .dark-scheme & {
		background: #000;
		color: #fff;
	}

	.sticker {
		position: absolute;
		top: 0;
		right: 20px;
		font-weight: 500;
		font-size: 14px;
		padding: 0 10px;
		line-height: 25px;
		background: #272626;
		color: #fff;
		border-radius: 0px 0px 4px 4px;
	}

	.title {
		font-size: 30px;
		line-height: lh(35, 30);
	}

	hr {
		height: 1px;
		opacity: .5;
		margin: 23px 0;
		box-shadow: inset 0 0 0 1px;
	}

	.price-block {
		font-size: 50px;
		font-weight: 500;
		line-height: 1;
		overflow: hidden;
		height: 1em;
		margin-bottom: 10px;

		.price {
			display: flex;

			span {
				transition: all 400ms ease-in-out;

				@for $i from 1 through 10 {
					&:nth-child(#{$i}) {
						transition-delay: 100ms*$i;
					}
				}
			}
		}
	}

	.options {
		@extend %prox;
		font-size: 16px;
		margin: 25px 0 50px;

		div {
			margin: 8px 0;

			&.exclude {
				opacity: .3;
				text-decoration: line-through;
			}
		}
	}

	.button-style1 {
		margin-top: auto;
	}

	.price-annual &.with-switch {
		.price-block .price span {
			transform: translateY(-50px);
		}
	}
}

/*
- Price List Item 2
*/

.price-list-item2 {
	@extend %ac-bg;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #fff;
	border-radius: 4px;
	overflow: hidden;
	z-index: 1;

	.sticker {
		@extend %ac-bg;
		position: absolute;
		top: 0;
		right: 20px;
		font-weight: 500;
		font-size: 14px;
		padding: 0 10px;
		line-height: 25px;
		color: #fff;
		border-radius: 0px 0px 4px 4px;
	}

	.bg {
		@extend %cover;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 115px;
		z-index: -1;
		transition: all 600ms ease;

		&:before {
			@extend %transition;
			@extend %full-block;
			content: '';
			background: #050505;
			opacity: 0;
		}
	}

	.title {
		font-size: 30px;
		line-height: lh(35, 30);
	}

	hr {
		height: 1px;
		opacity: .5;
		margin: 23px 0;
		box-shadow: inset 0 0 0 1px;
	}

	.price-block {
		font-size: 50px;
		font-weight: 500;
		line-height: 1;
		overflow: hidden;
		height: 1em;
		margin-bottom: 10px;

		.price {
			display: flex;

			span {
				transition: all 400ms ease-in-out;

				@for $i from 1 through 10 {
					&:nth-child(#{$i}) {
						transition-delay: 100ms*$i;
					}
				}
			}
		}
	}

	.options {
		@extend %prox;
		font-size: 16px;

		div {
			margin: 4px 0;

			&.exclude {
				text-decoration: line-through;
				opacity: .3;
			}
		}
	}

	.scroll-wrapper {
		height: 150px;
		margin: 10px 0 0;

		>.scroll-element {
			&.scroll-y {
				right: 0;
				width: 3px;
			}

			.scroll-bar {
				@extend %ac-bg;

				&:before {
					@extend %full-block;
					content: '';
					left: -2px;
					right: -2px;
				}
			}
		}
	}

	.hover-block {
		transform: translateY(-100%);
		padding-bottom: 30px;
		padding: 20px 25px 15px;
		transition: all 600ms ease;

		.price-block {
			font-size: 36px;
			margin-bottom: 2px;
		}

		.title {
			font-size: 20px;
		}

		hr {
			margin: 16px 0;
		}
	}

	.block {
		position: absolute;
		top: 115px;
		left: 0;
		width: 100%;
		padding: 35px 25px 0;
		transition: all 600ms ease;

		.black-color & {
			color: #000;
		}
	}

	.option-button {
		position: relative;
		margin: 0 0 30px;
		padding-left: 25px;
		cursor: pointer;
		user-select: none;

		.black-color & {
			color: #000;
		}

		.p {
			position: absolute;
			top: 0;
			left: 0;
			height: 100%;
			width: 10px;

			&:before,
			&:after {
				content: '';
				position: absolute;
				top: 50%;
				left: 50%;
				width: 10px;
				height: 1px;
				box-shadow: inset 0 0 0 2px;
				margin: 0 0 0 -5px;
				transition: all 400ms ease;
			}

			&:after {
				transform: rotate(90deg);
			}
		}

		.l,
		.l2 {
			@extend %transition;
		}

		.l {}

		.l2 {
			@extend %hide;
			position: absolute;
			top: 0;
			left: 25px;
		}

		&.active {
			.p {
				&:before {
					transform: rotate(135deg);
				}

				&:after {
					transform: rotate(45deg);
				}
			}

			.l {
				@extend %hide;
			}

			.l2 {
				@extend %show;
			}
		}
	}

	.button {
		padding: 20px 25px 25px;
		margin-top: auto;

		.button-style1 {
			display: flex;
			width: 100%;
			height: 50px;
			font-weight: normal;

			.dark-scheme #page &,
			#page .dark-scheme & {
				color: #fff;
				background: #000;
			}

			&:hover {
				background: #272626;
				filter: brightness(1.4);
			}
		}
	}

	.price-annual &.with-switch {
		.price-block .price span {
			transform: translateY(-50px);
		}

		.hover-block .price-block .price span {
			transform: translateY(-36px);
		}
	}

	&.opened {
		.bg {
			height: 100%;

			&:before {
				opacity: .6;
			}
		}

		.hover-block {
			transform: translate(0);
		}

		.block {
			transform: translateX(100%);
		}

		.option-button {
			color: #fff;
		}

		.button .button-style1 {
			@extend %ac-bg;

			.dark-scheme #page &,
			#page .dark-scheme & {
				color: #000;
				background: #fff;
			}

			&:hover {
				background: #272626;
			}
		}
	}

}

/*
- Contact Item
*/

.contact-item {
	margin-bottom: 25px;

	&.without-label {
		padding-top: 20px;
	}

	.label {
		font-weight: 500;
		line-height: lh(19, 16);
		opacity: .3;
		margin-bottom: 8px;
	}

	.value {
		@extend %prox;
		line-height: lh(24, 15);
	}

	.site-footer & {
		margin-bottom: 15px;

		.label {
			font-size: 14px;
			line-height: lh(16, 14);
			opacity: .5;
			margin-bottom: 4px;
		}

		.value {
			font-size: 14px;
			line-height: lh(17, 14);
		}
	}
}

/*
- Subscribe Form
*/

.subscribe-form {
	display: flex;
	align-items: center;
	margin: 30px 0;

	.input-block {
		position: relative;
		margin-right: 12px;
		padding: 4px 6px;
		flex: 1;

		&:before,
		&:after {
			content: '';
			position: absolute;
			left: 0;
			bottom: 0;
			right: 0;
			height: 1px;
			box-shadow: inset 0 0 0 1px;
			opacity: .1;
			transition: all 400ms ease;
		}

		&:after {
			@extend %ac;
			right: 100%;
			opacity: 1;
		}

		&.focus:after {
			right: 0;
		}
	}

	.input {
		@extend %prox;
		font-size: 14px;
		line-height: 17px;
		appearance: none;
		background: none;
		color: inherit;
		padding: 0;
		width: 100%;
	}

	button {
		@extend %transition;
		@extend %prox;
		height: 39px;
		color: #fff;
		background: #302f2f;
		padding: 0 20px;
		border-radius: 4px;
		font-size: 14px;
		cursor: pointer;

		&:hover {
			@extend %ac-bg;
			color: #fff;
		}
	}
}

/*
- Categories Carousel
*/

.categories-carousel {
	margin: 30px 0;

	.prev,
	.next {
		@include media-breakpoint-down(sm) {
			top: -30px;
		}
	}

	.prev {}

	.next {}

	.swiper-slide {}

	.wrap {
		position: relative;
		display: flex;
		flex-direction: column;
		height: 300px;
	}

	.title {
		font-size: 24px;
		font-weight: bold;
		line-height: 1;
		transition: all 600ms ease;
		padding: 0 15px;
		text-align: center;

		.num {
			@extend %prox;
			display: inline;
			font-size: 12px;
			font-weight: 600;
			opacity: .43;
			vertical-align: top;
		}
	}

	.content {
		position: relative;
		background: #F2F2F3;
		margin-bottom: 20px;
		border-radius: 4px;
		height: 105px;
		transition: all 900ms ease;
		overflow: hidden;

		.dark-scheme #page &,
		#page .dark-scheme & {
			background: #000;
			color: #fff;
		}

		.title {
			position: absolute;
			top: 50%;
			left: 0;
			width: 100%;
			transform: translateY(-50%);
		}
	}

	.image {
		@extend %cover;
		@extend %flex;
		position: relative;
		border-radius: 4px;
		flex-grow: 1;
		color: #fff;
		transition: all 900ms ease;
		background-color: #fbf8f6;
		overflow: hidden;

		&:before {
			@extend %full-block;
			@extend %transition;
			content: '';
			background: #000;
			opacity: 0;
		}

		.title {
			transform: translateY(70px);
			opacity: 0;
		}
	}

	.full-link {
		@extend %full-block;
	}

	.wrap:hover {
		.content {
			height: 0;
			margin: 0 !important;

			.title {
				transform: translateY(-70px);
				opacity: 0;
			}
		}

		.image {
			&:before {
				opacity: .2;
			}

			.title {
				transform: translateY(0) !important;
				opacity: 1;
			}
		}
	}

	&.style1 .swiper-slide:nth-child(even),
	&.style2 {
		.content {
			order: 2;
			margin: 15px 0 0;
		}

		.image .title {
			transform: translateY(-70px);
		}

		.wrap:hover {
			.content .title {
				transform: translateY(70px);
			}
		}
	}

	&.style2 {

		.prev,
		.next {
			top: auto;
			bottom: 42px;
		}

		.wrap {
			height: 290px;

			&:hover .image:before {
				opacity: .6;
			}
		}

		.image {
			border-radius: 5px 5px 0 0;
		}

		.content {
			order: 2 !important;
			margin: 0 !important;
			border-radius: 0 0 5px 5px;
		}


	}
}

/*
- Categories Carousel Type2
*/

.categories-carousel-type2 {
	position: relative;
	width: 100%;
	background: rgba(0, 0, 0, 0.9);
	z-index: 2;

	.prev,
	.next {
		@extend %transition;
		position: absolute;
		bottom: 40px;
		color: #fff;
		z-index: 2;
		cursor: pointer;

		&:hover {
			@extend %ac;
		}
	}

	.prev {
		left: 20px;
	}

	.next {
		right: 20px;
	}

	.swiper-slide {
		position: relative;
		color: #fff;
		overflow: hidden;
		border-right: 1px solid rgba(255, 255, 255, 0.2);

		&:before {
			content: '';
			position: absolute;
			top: 0;
			right: -1px;
			bottom: 0;
			width: 1px;
		}

		.image {
			@extend %full-block;
			@extend %cover;
			transition: all 600ms ease;
			opacity: 0;
			transform: scale(1.2);
		}

		.title {
			position: absolute;
			top: 50%;
			left: 15px;
			right: 15px;
			transform: translateY(-50%);
			text-align: center;
			font-size: 24px;
			margin: 0;
			padding: 50px 0;
			transition: all 600ms ease;
			font-family: miller-banner, roboto;
			font-weight: 500;

			span {
				@extend %prox;
				font-size: 0.5em;
				vertical-align: top;
				opacity: .4;
			}
		}

		.full-link {
			@extend %full-block;
		}

		&:hover {
			.image {
				opacity: 1;
				transform: scale(1);
			}

			.title {
				top: 100%;
				transform: translateY(-100%);
				opacity: .4;
			}
		}

		@media (hover:none) {
			.image {
				opacity: 1;
				transform: scale(1);
			}

			.title {
				top: 100%;
				transform: translateY(-100%);
				opacity: .4;
			}
		}
	}
}

/*
- Metro Images Block
*/

.metro-images-block {
	position: relative;
	margin: 30px 0;

	&:before {
		content: '';
		display: block;
		padding-bottom: percent(255, 320, '%');
	}

	.item {
		@extend %cover;
		position: absolute;
		padding: 0;
		border-radius: 4px;
		box-shadow: 0px 4px 18px rgba(0, 0, 0, 0.1);

		&:before {
			content: '';
			display: block;
			padding-bottom: percent(255, 320, '%');
		}
	}

	.item1 {
		top: 0;
		left: 0;
		z-index: 3;
	}

	.item2 {
		right: 0;
		bottom: 0;
		z-index: 3;
	}

	.item3 {
		left: percent(515, 50, '%');
		bottom: percent(515, 50, '%');
		z-index: 2;
	}

	.item4 {
		top: percent(515, 50, '%');
		right: percent(515, 50, '%');
	}
}

/*
- Blog Carousel
*/

.blog-carousel {
	margin: 30px 0;

	.nav-arrows {
		margin-bottom: 45px;
	}
}

/*
- Contact Form Style 3
*/

.contact-form-style2 {
	.input-row {
		margin: 13px 0;
	}

	body .dark-scheme & {
		/* .button-style1:not(.accent) {
			@extend %ac-bg;
			color: #fff;

			&:hover {
				background: #000;
			}
		} */
	}
}

/*
- Contact Form Style 3
*/

.contact-form-style3 {

	input.style2,
	select.style2 {
		height: 50px;
		padding: 5px 20px;
		background-color: #F2F2F3;
	}

	textarea.style2 {
		padding: 17px 20px;
		background-color: #F2F2F3;
	}
}

/*
- Contact Form Style 4
*/

.contact-form-style4 {}

/*
- Benefits Carousel
*/

.slide-carousel-carousel {
	margin: 40px 0;

	.swiper-container {
		overflow: visible;
		max-width: 445px;
		margin: 0 0 60px;
	}

	.swiper-slide {
		display: flex;
		transform-origin: 0 50%;
		max-width: 445px;
		padding: 30px 45px 35px;
		background: #FFFFFF;
		box-shadow: 0px 4px 18px rgba(0, 0, 0, 0.05);
		border-radius: 4px;
		flex-direction: column;

		.image {
			@extend %flex;
			flex-grow: 1;

			img {
				display: block;
			}
		}

		.content {
			@extend %last-d-m;
		}

		.title {
			font-weight: bold;
			font-size: 30px;
			line-height: 1.67;
			margin: 0 0 10px;
		}

		.desc {
			@extend %prox;
			line-height: 1.5;
			margin-bottom: 17px;
		}

		.button-style4 {}
	}

	.swiper-scrollbar {
		position: relative;
		margin: 25px 0;
		overflow: hidden;

		&:before {
			content: "";
			position: absolute;
			top: 8px;
			left: 0;
			right: 0;
			height: 3px;
			background: #F3F3F3;
		}

		.swiper-scrollbar-drag {
			@extend %ac-bg;
			position: relative;
			height: 19px;
			border-radius: 12px;
			cursor: pointer;

			&:before {
				@extend %ac-bg;
				content: "";
				position: absolute;
				top: 8px;
				right: 100%;
				height: 3px;
				width: 3000px;
				pointer-events: none;
			}
		}
	}

	@include media-breakpoint-down(sm) {
		.swiper-slide {
			max-width: 320px;
			padding: 20px 30px 25px;
		}
	}
}

/*
- Num Box Block
*/

.num-box-block {}

.num-box-item {
	@extend %prox;
	position: relative;
	display: flex;
	font-weight: 600;
	align-items: center;
	padding-top: 14px;
	margin-bottom: 30px;

	&:before {
		content: '';
		position: absolute;
		top: 0;
		left: 15px;
		right: 15px;
		height: 1px;
		opacity: .4;
		box-shadow: inset 0 0 0 1px;
	}

	.number {
		font-size: 52px;
		line-height: 1;
		margin-right: 12px;
	}

	.title {
		font-size: 14px;
	}
}

/*
- Events Block
*/

.events-block {
	margin: 30px 0;
}

.event-nav {
	position: relative;
	margin-bottom: 35px;
	z-index: 1;

	.prev,
	.next {
		@extend %transition;
		position: absolute;
		top: 50%;
		margin-top: -.5em;
		font-size: 18px;
		z-index: 200;
		cursor: pointer;

		&.swiper-button-disabled {
			@extend %hide;
		}
	}

	.prev {
		left: -30px;
	}

	.next {
		right: -30px;
	}

	.swiper-slide {
		@extend %button-reset;
		flex: 0 0 auto;
		margin-right: 25px;
		width: auto;
		min-width: 150px;
		height: 42px;
		user-select: none;
		cursor: pointer;

		&::before {
			content: '';
			position: absolute;
			top: 40px;
			left: 0;
			right: 0;
			bottom: 0;
			box-shadow: inset 0 0 0 400px;
			transition: all 400ms ease;
			z-index: -1;
		}

		&.swiper-slide-thumb-active {
			color: #fff;

			&:before {
				@extend %ac;
				top: 0;
				border-radius: 4px;
			}
		}
	}

	@include media-breakpoint-down(sm) {
		padding: 0 35px;

		.prev {
			left: 0px;
		}

		.next {
			right: 0px;
		}

		.swiper-slide {
			margin-right: 20px !important;
		}
	}
}

.event-content {

	.page {
		display: none;
	}

	.handle-loadmore-block {
		text-align: center;
		margin-top: 35px;
		flex: 0 0 100%;
	}

	@include media-breakpoint-down(md) {
		margin: 0 -15px;

		.swiper-slide {
			display: flex;
			flex-wrap: wrap;
		}
	}
}

.event-item {
	@extend %prox;
	@extend %transition;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #e5e5e5;
	color: #000;
	background: #fff;
	padding-right: 10px;

	&:first-child {
		border-top: 1px solid #e5e5e5;
	}

	&:nth-child(even) {
		background: #F8FBFF;
	}

	&:hover {
		background: #F9F9F9;
	}

	body.dark-scheme &,
	body .dark-scheme & {
		color: #fff;
		background: #272626;
		border-bottom: 1px solid #1f1e1e;

		&:first-child {
			border-top: 1px solid #1f1e1e;
		}

		&:nth-child(even) {
			background: #2c2b2b;
		}

		&:hover {
			background: #313030;
		}
	}

	>*:not(:last-child) {
		margin: 10px 0;
		margin-right: 30px;
	}

	.image {
		@extend %cover;
		position: relative;
		flex: 0 0 160px;
		max-width: 160px;
		height: 100px;
		border-radius: 4px;
		overflow: hidden;

		.video-link {
			@extend %full-block;
			@extend %flex;
			font-size: 24px;
			color: #fff;
			transition: all 400ms ease;
			cursor: pointer;

			&:hover {
				transform: scale(1.4);
			}
		}
	}

	.author,
	.location {
		flex: 1
	}

	.details {
		flex: 0 0 305px;
		max-width: 305px;
	}

	.heading {
		font-size: 24px;
		font-weight: bold;
		margin: 0;
	}

	.time {
		opacity: .7;
		margin-top: 5px;
	}

	.author {}

	.name {
		font-size: 18px;
		font-weight: bold;
	}

	.post {
		opacity: .7;
		margin-top: 6px;
	}

	.location {}

	.link {

		.button-style4 {

			span {}

			i {}
		}
	}

	@include media-breakpoint-down(md) {
		position: relative;
		display: block;
		flex: 0 0 50%;
		border: none !important;
		margin-bottom: 30px;
		padding: 0 15px;

		&:nth-child(even) {
			background: none;
		}

		.image {
			max-width: none;
			margin: 0 0 15px;
			height: 200px;
		}

		.heading {
			font-size: 20px;
		}
	}

	@media screen and (max-width: 470px) {
		flex: 0 0 100%
	}
}

/*
- Team Block
*/

.team-block {
	position: relative;
}

.team-item {
	@extend %prox;
	margin-bottom: 30px;

	&.swiper-slide {
		margin-bottom: 0;
	}

	.img {
		@extend %cover;
		border-radius: 4px;
		margin-bottom: 18px;

		&:before {
			content: '';
			display: block;
			padding-bottom: percent(255, 300, '%');
		}
	}

	.bottom {
		display: flex;
		align-items: flex-start;

		.c {
			line-height: 1;
			margin-right: 10px;

			.name {
				font-size: 18px;
				font-weight: 600;
				margin-bottom: 7px;
			}

			.post {
				font-size: 16px;
				opacity: 0.7;
			}
		}

		.social-links {
			margin-left: auto;

			a {
				font-size: 18px;

				&:not(:last-child) {
					margin-right: 12px;
				}
			}
		}
	}
}

/*
- Blog Banner
*/

.post-meta {
	@extend %prox;
	display: flex;
	font-weight: 300;
	font-size: 14px;
	line-height: 17px;
	opacity: 0.5;
	margin-top: 17px;

	i {
		font-size: 12px;
	}

	.zilla-likes {
		margin-right: 15px;
		color: inherit;
	}

	.views {}
}

.blog-banner {
	.blog-banner-item {

		.container>.row {
			padding-bottom: 150px !important;
		}

		.row {

			.col-12 {

				>svg.decor3 {
					top: -75px;
					left: -55px;
					right: auto;
					transform: rotate(-85deg);
				}

				.content {
					display: flex;
					background: #F7F1ED !important;
					position: absolute;
					left: -40px;
					right: 155px;
					bottom: -115px;
					min-width: auto;
					max-width: 825px;
					border-radius: 4px;
					padding: 30px 40px;
					align-items: center;

					.col1 {
						flex: 1;
						margin-right: 40px;
					}

					.col2 {
						flex: 0 0 250px;
						max-width: 250px;
					}

					.video-button {
						margin-top: 10px;
						margin-bottom: 25px;
					}

					.heading-block {
						margin-bottom: 20px;

						.sub-h {
							margin-bottom: 10px;
						}
					}

					.desc {
						@extend %prox;
						font-size: 16px;
						line-height: 1.62;
						border-top: 1px solid;
						padding-top: 15px;
					}
				}
			}
		}
	}

	.bn-bottom {
		display: flex;
		justify-content: flex-end;
		padding: 57px 0;

		.nav-arrows {
			margin-left: auto;

			.next,
			.prev {
				height: 35px;
				background: none !important;

				&:before {
					@extend %transition;
				}

				&:hover {
					color: inherit;

					&:before {
						opacity: .2;
					}
				}
			}
		}
	}

	@include media-breakpoint-down(sm) {
		.blog-banner-item {
			.row {
				.col-12 {
					.content {
						left: 0;
						right: 0;
					}
				}
			}
		}

		.bn-bottom {
			display: none;
		}
	}

	@include media-breakpoint-down(sm) {
		.blog-banner-item {
			.row {
				.col-12 {
					.content {
						display: block;
						padding: 25px 30px;

						.col1 {
							margin-bottom: 20px;
						}
					}
				}
			}
		}
	}
}

/*
- Social Button
*/

.social-button {
	@extend %button-reset;
	@extend %prox;
	font-weight: bold;
	font-size: 16px;
	padding: 0 20px;
	height: 60px;
	background-color: #272626;
	color: #fff;
	border-radius: 4px;

	.dark-scheme #page &,
	#page .dark-scheme & {
		background-color: #fff;
		color: #272626;
	}

	&:hover,
	.dark-scheme #page &:hover,
	#page .dark-scheme &:hover {
		color: #fff;
		background: #272626;
	}

	i {
		font-size: 20px;
		margin-right: 15px;
	}

	span {}
}

/*
- App Button
*/

.app-button-block {
	display: flex;
	flex-wrap: wrap;

	.app-button:not(:last-child) {
		margin-right: 20px;
	}
}

.app-button {
	@extend %ac-bg;
	@extend %prox;
	display: flex;
	align-items: center;
	padding: 0 17px;
	height: 55px;
	min-width: 145px;
	border-radius: 4px;
	margin-bottom: 15px;
	color: #fff;
	transition: all 400ms ease;

	i {
		font-size: 30px;
		margin-right: 10px;
	}

	.l {
		display: block;
		font-size: 10px;
		line-height: 1;
		margin-bottom: 3px;
	}

	.n {
		display: block;
		font-weight: 500;
		font-size: 14px;
		text-transform: uppercase;
		line-height: 1;
	}

	&:hover {
		background: #272626;
	}
}

/*
- Split Screen
*/

.split-screen {
	display: flex;

	&.current-white {
		color: #fff;
	}

	&.current-black {
		color: #000;

		>.swiper-pagination {
			.swiper-pagination-bullet {
				background: rgba(255, 255, 255, 0.5);
				cursor: pointer;

				&:not(:last-of-type) {
					margin-bottom: 1px;

					&:before {
						background: #000;
					}
				}

				&.swiper-pagination-bullet-active {
					background: rgba(0, 0, 0, 0.3);
					color: #fff;
				}
			}
		}
	}

	.bottom-block {
		position: absolute;
		left: 0;
		bottom: 0;
		right: 50%;
		display: flex;
		align-items: center;
		padding: 50px 75px;
		pointer-events: none;
		z-index: 4;

		.nav-arrows {
			background: transparent;
			margin-left: auto;
			user-select: none;

			.prev:after {
				opacity: .3;
			}

			.prev,
			.next {
				pointer-events: all;

				&:hover {
					@extend %ac-bg;
				}
			}
		}
	}

	>.swiper-pagination {
		@extend %prox;
		display: flex;
		position: absolute;
		top: 0;
		right: 0;
		width: 60px;
		height: 100%;
		z-index: 2;
		font-size: 12px;
		flex-direction: column;
		font-weight: bold;

		.swiper-pagination-bullet {
			@extend %flex;
			@extend %transition;
			position: relative;
			flex: 1;
			background: rgba(0, 0, 0, 0.5);
			cursor: pointer;

			&:after {
				content: '';
				position: absolute;
				top: 50%;
				left: 0;
				width: 0px;
				height: 1px;
				box-shadow: inset 0 0 0 1px;
				margin-top: -1px;
				transition: all 400ms ease;
			}

			&:not(:last-of-type) {
				margin-bottom: 1px;

				&:before {
					content: '';
					position: absolute;
					top: 100%;
					left: 0;
					right: 0;
					height: 1px;
					background: #fff;
					opacity: .3;
				}
			}

			&.swiper-pagination-bullet-active {
				background: rgba(255, 255, 255, 0.1);

				&:after {
					width: 10px;
				}
			}
		}
	}

	.left-slider,
	.right-slider {
		flex: 1;
	}

	.left-slider {
		.img-content {
			display: none;
		}

		.swiper-slide {
			@extend %flex;
			padding: 100px 75px;
			overflow: hidden;
		}
	}

	.right-slider {
		transform: scaleY(-1);

		>.swiper-wrapper {
			.swiper-slide {
				@extend %flex;
				transform: scaleY(-1);
			}
		}
	}

	@at-root .one-screen .bg-overlay .text,
	.product-banner-block .bg-overlay .text,
	& .bg-overlay .text {
		top: 50%;
		left: 0;
		width: 100%;
		margin-top: -300px;
		margin-left: 0;
		height: 147px;

		span {
			transform: none !important;
			margin: 0;
		}
	}

	.content {
		@extend %last-d-m;
		pointer-events: none;
		max-width: 850px;
		margin-left: auto;

		.heading-block {
			margin-top: 0;
		}

		.text {
			@extend %prox;
			font-size: 20px;
			line-height: 1.30;
			opacity: .8;
			margin-bottom: 30px;
		}
	}

	@include media-breakpoint-down(md) {
		>.swiper-pagination {
			display: none;
		}
	}

	@include media-breakpoint-down(sm) {



		.left-slider {
			overflow: visible;
			height: auto !important;
			min-height: 100vh;
			pointer-events: none;

			.swiper-wrapper {
				transform: none !important;
			}

			.swiper-slide {
				display: block;
				padding: 90px 30px 45px;
				height: auto !important;

				&.swiper-slide-duplicate {
					display: none;
				}

				>.bg-overlay .text {
					top: 305px;
					margin-top: 0;
				}
			}

			.img-content {
				display: flex;
				position: relative;
				margin: -90px -30px 35px;
				height: 300px;
				align-items: center;
				justify-content: center;
				z-index: 1;
			}
		}

		.right-slider {
			display: none;
		}

		.content {
			.text {
				font-size: 18px;
			}
		}

		.bottom-block {
			right: 0;
			padding: 30px 30px;
		}
	}
}

/*
- Categories Carousel
*/

.categories-carousel {

	.prev,
	.next {}

	.prev {}

	.next {}
}

/*
- One Screen
*/

.one-screen {
	position: relative;

	.banner-s-buttons {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 45px;
		pointer-events: none;
		z-index: 5;

		.button {
			@extend %button-reset;
			@extend %ac-bg;
			@extend %transition;
			position: absolute;
			top: 50%;
			left: 50%;
			height: 45px;
			transform: translate(-50%, -50%) rotate(-90deg);
			line-height: 1.5;
			justify-content: left;
			text-align: center;
			color: #fff;
			padding: 5px 30px;
			font-size: 14px;
			text-transform: uppercase;

			>* {
				transition: transform 400ms ease;
			}

			.label {}

			.close-label {
				@extend %flex;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				line-height: 45px;
				transform: translateX(100%);

				i {
					margin-right: 8px;
					font-size: 10px;
				}
			}

			&.active {
				background: #252525;

				.label {
					transform: translateX(-150%);
				}

				.close-label {
					transform: translateX(0);
				}
			}
		}
	}

	.banner-c-block {
		@extend %full-block;
		transform: translateX(100%);
		transition: all 400ms ease;
		z-index: 4;

		&.active {
			transform: translateX(0);
		}
	}

	.categories-carousel-type2 {
		margin: 0;
		height: 100%;
	}

	.bottom-block {
		display: flex;
		position: absolute;
		left: 0;
		bottom: 65px;
		width: 100%;
		align-items: center;
		z-index: 2;
		padding: 0 75px;
		justify-content: flex-end;

		.social-links {
			margin-right: auto;
		}

		.swiper-pagination {

			.swiper-pagination-bullet {
				position: relative;
				padding-right: 25px;
				transition: all 400ms ease;
				opacity: .5;
				cursor: pointer;

				&:after {
					content: '';
					position: absolute;
					top: 50%;
					right: 0;
					width: 0;
					height: 1px;
					box-shadow: inset 0 0 0 1px;
					transition: all 400ms ease;
				}

				&.swiper-pagination-bullet-active {
					opacity: 1;

					&:not(:last-of-type) {
						padding-right: 50px;

						&:after {
							width: 20px;
							right: 16px;
						}
					}
				}
			}
		}

		.nav-arrows {
			background: none;
			margin-left: 25px;

			.prev,
			.next {
				height: 30px;
			}
		}
	}

	.item {
		display: flex;
		padding: 100px 0;
		align-items: center;
		justify-content: flex-end;

		.content {
			@extend %last-d-m;
			@extend %first-d-m;
			flex: 1;
			padding: 0 75px;
			max-width: 900px;

			.heading-block {
				margin-bottom: 27px;

				.sub-h {
					margin-bottom: .6em;
				}
			}

			.text {
				@extend %prox;
				opacity: .7;
				font-size: 20px;
				line-height: 1.3;
				margin-bottom: 38px;
			}
		}

		.side-block {
			@extend %flex;
			position: relative;
			flex: 1;
			height: 80%;
			overflow: hidden;
		}
	}

	@include media-breakpoint-down(lg) {
		.bottom-block {
			bottom: 30px;
		}
	}

	@include media-breakpoint-down(md) {
		.item {

			.content {
				padding: 0 30px;
			}
		}

		.bottom-block {
			padding: 0 30px;

			.swiper-pagination {
				display: none;
			}
		}
	}

	@include media-breakpoint-down(sm) {

		.banner-s-buttons,
		.banner-c-block {
			position: fixed;
		}

		.slider {
			pointer-events: none;
			height: auto !important;

			.swiper-wrapper {
				display: block;
				transform: none !important;
			}
		}

		.item {
			height: auto !important;
			padding: 90px 30px 0;
			flex-direction: column;
			justify-content: start;
			align-items: flex-start;

			.content {
				flex: 0 0 100%;
				width: 100%;
				padding: 0;
				order: 2;

				.text {
					font-size: 16px;
				}
			}

			.side-block {
				flex: 0 0 100%;
				width: 100%;
				height: 300px;
				min-height: 270px;
				margin-bottom: 30px;
			}

			&:last-child {
				padding-bottom: 50px;
			}
		}

		.bottom-block {
			display: none;

			.social-links {
				.label {
					display: none;
				}
			}
		}
	}
}

/*
- Content Slider Block
*/

.content-slider-block {
	display: flex;
	margin: 40px 0;

	.content-slider,
	.image-slider {
		flex: 1;
		max-width: 50%;
	}

	.content-slider {
		position: relative;
		padding-right: 40px;
		padding-bottom: 80px;

		&:before {
			@extend %full-block;
			content: '';
			left: -2000px;
			bottom: 80px;
			background: #F9F9F9;
		}

		.swiper-container {}

		.content {
			@extend %first-d-m;
			@extend %last-d-m;
			padding: 25px 0;
		}

		.heading-block {
			margin-bottom: 32px;
		}

		.text {
			@extend %prox;
			margin-bottom: 37px;
		}
	}

	.image-slider {
		position: relative;

		.prev,
		.next {
			@extend %transition;
			position: absolute;
			font-size: 20px;
			bottom: 31px;
			cursor: pointer;

			&:hover {
				@extend %ac;
			}
		}

		.prev {
			left: -40px;
		}

		.next {
			right: -40px;
		}

		.swiper-container {
			height: 100%;

			.swiper-slide {
				@extend %flex;
			}
		}
	}

	.swiper-pagination {
		position: absolute;
		left: 0;
		bottom: 34px;
		display: flex;
		margin: 0 0;

		.swiper-pagination-bullet {
			@extend %transition;
			flex: 0 0 12px;
			width: 12px;
			height: 12px;
			border-radius: 50%;
			background: #C4C4C4;

			&:not(:last-of-type) {
				margin-right: 12px;
			}

			&.swiper-pagination-bullet-active {
				@extend %ac-bg;
			}
		}
	}

	@include media-breakpoint-down(md) {
		margin-bottom: 0;

		.content-slider {
			flex: 0 0 100%;
			max-width: 100%;

			&:before {
				right: -2000px;
			}
		}

		.image-slider {
			display: none;
		}
	}
}

/*
- Product Banner Block
*/

.product-banner-block {
	.item {
		@extend %flex;
	}

	.bg-overlay .text {
		margin-top: -265px;
	}

	.bn-bottom {
		bottom: 70px;

		.wrap {
			display: flex;
			align-items: center;
		}

		.nav-arrows {
			margin-left: auto;
			background: transparent;

			.prev,
			.next {
				height: 30px;

				&:before {
					@extend %transition;
				}

				&:hover {
					background: transparent;
					color: inherit;

					&:before {
						@extend %ac;
					}
				}
			}

			.prev {

				&:after {
					opacity: 1;
				}
			}
		}
	}

	.row {
		align-items: center;
	}

	.content {
		@extend %first-d-m;
		@extend %last-d-m;

		.text {
			font-size: 20px;
			line-height: 1.3;
			margin-bottom: 30px;
		}
	}

	.heading-block {
		.sub-h {
			@extend %prox;
			font-size: 16px;
			font-weight: 600;
			opacity: .8;
		}
	}

	.image-col {
		position: relative;

		img {}
	}

	.video-button {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	@include media-breakpoint-down(sm) {
		.image-col {
			display: none;
		}

		.bn-bottom {
			bottom: 30px;
		}
	}
}

/*
- Author Block
*/

.author-block {
	@extend %a-reset;
	display: flex;
	align-items: center;

	.avatar {
		@extend %cover;
		flex: 0 0 35px;
		width: 35px;
		border-radius: 50%;
		margin-right: 15px;

		&:before {
			content: '';
			display: block;
			padding-bottom: 100%;
		}
	}

	.name {
		font-weight: 500;
		font-size: 14px;
	}
}

/*
- Share Stick Block
*/

.share-stick-block {
	position: absolute;
	top: 15px;
	right: 100%;
	display: flex;
	align-items: center;
	color: #fff;
	background: rgba(255, 255, 255, 0.05);
	border-radius: 4px;
	height: 26px;
	padding: 5px 15px;
	margin-right: 30px;
	transform-origin: 100% 100%;
	transform: translate(0, -100%) rotate(-90deg);

	.label {
		font-weight: 500;
		font-size: 12px;
		margin-right: 12px;
	}

	.social-links {

		a {
			font-size: 15px;

			&:not(:last-child) {
				margin-right: 12px;
			}
		}
	}
}

/*
- Project Slider Block
*/

.project-slider-block {
	position: relative;

	.prev,
	.next {
		@extend %transition;
		position: absolute;
		bottom: 55px;
		z-index: 2;
		color: #fff;
		cursor: pointer;
		mix-blend-mode: exclusion;

		&:hover {
			opacity: .6;
		}
	}

	.prev {
		left: 30px;
	}

	.next {
		right: 30px;
	}

	.slider {
		.swiper-wrapper {}

		.swiper-slide {
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			background-size: cover;
			background-position: 50%;
			height: 100vh;

			a {
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
			}

			img {
				max-width: 100%;
				max-height: 100%;
				width: auto;
				height: auto;
			}

			.content {
				position: absolute;
				left: 50%;
				bottom: 130px;
				transform: translateX(-50%);
				background: rgba(0, 0, 0, 0.5);
				text-align: center;
				padding: 10px 25px;
				max-width: 320px;

				h6 {
					margin: 0;
				}

				p {
					margin: 10px 0 0;
				}
			}
		}
	}

	.thumbs {
		position: absolute;
		left: 50%;
		bottom: 15px;
		transform: translateX(-50%);
		width: 95%;
		max-width: 900px;

		.swiper-wrapper {
			justify-content: center;
		}

		.swiper-slide {
			background-size: cover;
			background-position: 50%;
			transition: all 400ms ease-in-out;
			opacity: .5;
			cursor: pointer;

			&:last-child {
				margin-right: 0 !important;
			}

			&:hover {
				opacity: .8;
			}
		}

		.swiper-slide-thumb-active {
			box-shadow: inset 0 0 0 2px;
			opacity: 1;
		}

		.swiper-slide:before {
			content: '';
			display: block;
			padding-bottom: 100%;
		}
	}
}

/*
- Post Gallery
*/

.post-gallery-masonry,
.post-gallery-grid {
	&.gap-off {
		margin: 0;

		>div {
			padding: 0;
			margin: 0;
		}
	}

	>div {
		padding-bottom: 30px;
	}

	.portfolio-item {
		padding-bottom: 0;
		margin-bottom: 30px;
	}

	.a-img div {
		@extend %cover;

		&:before {
			content: "";
			display: block;
			padding-bottom: 80%;
		}
	}

	img {
		display: block;
		width: 100%;
		height: auto;
	}

	a {
		@extend %full-block;
		display: block;
	}
}

@media screen and (max-width: 991.98px) {
	.blog-grid .blog-item .img, .blog-carousel .blog-item .img {
		height: 100px;
	}
}

@include media-breakpoint-down(sm) {
	.pace .top {
		display: block;

		.text {
			margin: 15px 0;
			padding: 0;
			border: none;
		}
	}
}