* {
	padding: 0;
	margin: 0;
	.box-sizing(border-box);
}

html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	overflow-x: hidden;
}

#gf-wrapper {
	position: relative;
	overflow: hidden;
}

input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
input:not([type]),
textarea,
select {
	border: 1px solid;
	line-height: 1;
	max-width: 100%;
	height: 49px;
}

textarea {
	height: auto;
}
.required{
	color: @accent_color !important;
}

/**
* Block Center
* ----------------------------------------------------------------------------
*/
.block-center:before {
	content: "";
	height: 100%;
	vertical-align: middle;
	display: inline-block;
	margin-left: -1px;
}

.block-center {
	height: 100%;
	width: 100%;
	text-align: center;
	font-size: 0;
}

.block-center-inner {
	display: inline-block;
	margin: 0 auto;
	position: relative;
	vertical-align: middle;
	max-width: 100%;
	font-size: initial;
}

.block-center-inner > * {
	margin: auto;
}

/**
* Loading
* ----------------------------------------------------------------------------
*/
.site-loading {
	.fixed();
	z-index: 9999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	opacity: 0;
	display: none;
	.transition(opacify 600ms ease 200ms);
}

body.page-loading .site-loading {
	opacity: 1;
	display: block;
}

.logo-loading {
	margin-bottom: 30px;
}

/**
* Hidden Mobile
* ----------------------------------------------------------------------------
*/
@media screen and (max-width: @header_responsive_breakpoint) {
	.gf-hidden-mobile {
		display: none;
	}
}

.gf-border-bottom {
	border-bottom: 1px solid;
	border-color: inherit;
}

.gf-border-top {
	border-top: 1px solid;
	border-color: inherit;
}

/**
* Toggle Icon
* ----------------------------------------------------------------------------
*/
.gf-toggle-icon {
	cursor: pointer;
	display: inline-block;
	height: 30px;
	position: relative;
	vertical-align: middle;
	width: 25px;
	> span {
		background: #000;
		bottom: 0;
		display: block;
		height: 2px;
		left: 0;
		margin: auto;
		position: absolute;
		right: 0;
		top: 0;
		width: 100%;
		.transition(background 0.3s 0s ease-in-out);

		&:after,
		&:before {
			background-color: #000;
			content: '';
			height: 2px;
			left: 0;
			margin: auto;
			position: absolute;
			right: 0;
			width: 100%;
			-webkit-transition: top 0.3s 0.6s ease-in-out, -webkit-transform 0.3s ease-in-out, background 0.3s 0s ease-in-out;
			-moz-transition: top 0.3s 0.6s ease-in-out, -moz-transform 0.3s ease-in-out, background 0.3s 0s ease-in-out;
			transition: top 0.3s 0.6s ease-in-out, transform 0.3s ease-in-out, background 0.3s 0s ease-in-out;
			.transform-origin(50% 50%);
		}

		&:before {
			top: 8px;
		}

		&:after {
			top: -8px;
		}

	}

	&:hover {
		> span {
			&:extend(.bg-accent-color);
			&:after,
			&:before {
				&:extend(.bg-accent-color);
			}
		}

	}


	&.in {

		> span {
			background: transparent !important;

			&:after,
			&:before {
				-webkit-transition: top 0.3s ease-in-out, -webkit-transform 0.3s 0.5s ease-in-out, background 0.3s 0s ease-in-out;
				-moz-transition: top 0.3s ease-in-out, -moz-transform 0.3s 0.5s ease-in-out, background 0.3s 0s ease-in-out;
				transition: top 0.3s ease-in-out, transform 0.3s 0.5s ease-in-out, background 0.3s 0s ease-in-out;
				top: 0;
			}

			&:after {
				.transform(rotate3d(0, 0, 1, -45deg));
			}
			&:before {
				.transform(rotate3d(0, 0, 1, 45deg));
			}
		}
	}
}

/**
* Canvas Sidebar
* ----------------------------------------------------------------------------
*/
.canvas-sidebar-wrapper {
	.fixed();
	top: 0;
	bottom: 0;
	width: 300px;
	z-index: 100000;
	left: 0;
	visibility: hidden;
	padding-top: 30px;
	border-bottom: 30px solid transparent !important;
	.canvas-sidebar-inner {
		padding: 0 30px 0 30px;
	}
	.close-canvas {
		position: absolute;
		right: 10px;
		top: 0;
		width: 30px;
		font-size: 24px;
		height: 30px;
		line-height: 30px;
		z-index: 999;
		text-align: center;
	}
	&.right {
		right: 0;
		left: auto;
		visibility: visible;
		margin-right: -300px;
		-webkit-transition: margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, visibility 0.1s 2s ;
		-moz-transition: margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, visibility 0.1s 2s ;
		-ms-transition: margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, visibility 0.1s 2s ;
		-o-transition: margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, visibility 0.1s 2s ;
		transition: margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, visibility 0.1s 2s ;
		.close-canvas {
			left: 10px;
			right: auto;
		}
	}
	&.left {
		margin-left: -300px;
		-webkit-transition: margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, visibility 0.1s 1s;
		-moz-transition: margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, visibility 0.1s 1s;
		-ms-transition: margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, visibility 0.1s 1s;
		-o-transition: margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, visibility 0.1s 1s;
		transition: margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, visibility 0.1s 1s;
	}
	.canvas-sidebar-inner {
		.transform(translateY(20px));
		opacity: 0;
		-webkit-transition: -webkit-transform 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86), opacity 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
		-moz-transition: -moz-transform 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86), opacity 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
		transition: transform 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86), opacity 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	}
}

.canvas-overlay {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
	background-color: rgba(0, 0, 0, 0.7);
	visibility: hidden;
	overflow: hidden;
	opacity: 0;
	max-width: 0;
	-webkit-transition: opacity 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86), visibility 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
	-moz-transition: opacity 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86), visibility 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) ;
	-ms-transition: opacity 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86), visibility 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) ;
	-o-transition: opacity 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86), visibility 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) ;
	transition: opacity 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86), visibility 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) ;
}

@media (max-width: @header_responsive_breakpoint) {
	body.off-canvas-in {
		.canvas-overlay {
			max-width: 100%;
			opacity: 1;
			visibility: visible;
		}
	}
}

body.bordered.off-canvas-in,
body.framed.off-canvas-in,
body.boxed.off-canvas-in {
	.canvas-overlay {
		max-width: 100%;
		opacity: 1;
		visibility: visible;
	}
	#gf-wrapper {
		margin-top: 0;
		margin-bottom: 0;
	}
}

body.off-canvas-right {
	#gf-wrapper {
		margin: 0;
		.transition(margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s);
		.backface-visibility(visible);
	}
	&.off-canvas-in {
		#gf-wrapper {
			.transition(margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86));
		}
	}
}

body.off-canvas-left {
	#gf-wrapper {
		margin: 0;
		.transition(margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s);
	}
	&.off-canvas-in {
		#gf-wrapper {
			.transition(margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86));
		}
	}
}

.canvas-sidebar-wrapper.in {
	margin: 0 !important;
	visibility: visible;
	.transition(margin 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86));
	.canvas-sidebar-inner {
		.transform(translateY(0));
		-webkit-transition: -webkit-transform 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, opacity 0.5s 0.5s;
		-moz-transition: -moz-transform 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, opacity 0.5s 0.5s;
		transition: transform 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s, opacity 0.5s 0.5s;
		opacity: 1;
	}
}

/**
* Background Color Overlay
* ----------------------------------------------------------------------------
*/
.gf-section-bg-overlay {
	position: relative;
	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
	}
}

/**
* Table Cell Layout
* ----------------------------------------------------------------------------
*/
.gf-table-cell-right,
.gf-table-cell-left {
	display: inline-block;
}

.gf-table-cell {
	display: table;
	width: 100%;
	line-height: 0;
	.gf-table-cell-left {
		display: table-cell;
		width: 100%;
		vertical-align: middle;
	}
	.gf-table-cell-right {
		display: table-cell;
		vertical-align: middle;
		white-space: nowrap;
	}
}

/**
* Back To Top
* ----------------------------------------------------------------------------
*/
.back-to-top {
	.fixed();
	bottom: 10px;
	right: 10px;
	width: 44px;
	height: 44px;
	text-align: center;
	z-index: 2;
	.transform(translateX(100px));
	.transition(all .5s);
	color: #fff;
	background-color: #666;
	i {
		font-size: 22px;
		position: relative;
		top: 9px;
	}
	&:focus,
	&:hover {
		text-decoration: none;
		&:extend(.foreground-accent-color);
		&:extend(.bg-accent-color);
	}

	&.in {
		.transform(translateX(0));
	}
}


ul.gf-inline {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0;
	> li {
		display: inline-block;
		margin-right: 10px;
		vertical-align: middle;
		&:last-child {
			margin-right: 0 !important;
		}
	}
}

.gf-hover-circle {
	position: relative;
	&:after,
	&:before {
		content: '';
		display: block;
		position: absolute;
		background: transparent;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		.border-radius(50%);
		.transition(all .5s);
		border: 1px solid;
		border-color: inherit;
	}

	&:hover {
		&:before {
			.transform(scale(1.5));
			opacity: 0;
		}
		&:after {
			.transform(scale(1.2));
		}
	}
}

/**
 * Gutter
 * ----------------------------------------------------------------------------
 */
.gf-gutter-0 {
	margin-left: -0px;
	margin-right: -0px;
}
.gf-gutter-0 > [class*="col-"] {
	padding-left: 0;
	padding-right: 0;
}
.gf-gutter-0 > article {
	padding-bottom: 0;
}
.gf-gutter-10 {
	margin-left: -5px;
	margin-right: -5px;
}
.gf-gutter-10 > [class*="col-"] {
	padding-left: 5px;
	padding-right: 5px;
}
.gf-gutter-10 > article,
.gf-gutter-10 > .grid-item {
	padding-bottom: 10px;
}
.gf-gutter-20 {
	margin-left: -10px;
	margin-right: -10px;
}
.gf-gutter-20 > [class*="col-"] {
	padding-left: 10px;
	padding-right: 10px;
}
.gf-gutter-20 > article,
.gf-gutter-20 > .grid-item {
	padding-bottom: 20px;
}
.gf-gutter-30 {
	margin-left: -15px;
	margin-right: -15px;
}
.gf-gutter-30 > [class*="col-"] {
	padding-left: 15px;
	padding-right: 15px;
}
.gf-gutter-30 > article,
.gf-gutter-30 > .grid-item {
	padding-bottom: 30px;
}

/**
* No Result
* ----------------------------------------------------------------------------
*/
.gf-no-results {
	text-align: center;
	.search-form {
		display: inline-block;
	}
	.search-form .search-field {
		width: 350px;
	}
	> p {
		font-size: 14px;
	}
	h2 {
		text-transform: uppercase;
		overflow: hidden;
		margin-bottom: 10px;
		span {
			position: relative;
			display: inline-block;
			&:after,
			&:before {
				content: '';
				display: block;
				border-top: 1px solid @border_color;
				position: absolute;
				width: 1000px;
				top: 50%;
			}

			&:after {
				right: 100%;
				margin-right: 30px;
			}

			&:before {
				left: 100%;
				margin-left: 30px;
			}
		}
	}

}


.gf-no-widget-content,
.gf-content-block-none {
	padding: 10px;
	border: 2px dashed;
	&.dark {
		border: none;
		background-color: #222;
		color: #eee;
		padding: 20px 0;
	}
}

.gf-404-wrap {
	text-align: center;
	h2 {
		font-size: 25.0em;
		font-weight: 900;
		line-height: 1em;
		margin-bottom: 0;
		&:extend(.accent-color);
	}
	h4 {
		font-size: 3.43em;
	}
}

@media (max-width: 992px) {
	.gf-404-wrap {
		text-align: center;
		h2 {
			font-size: 15em;
		}
		h4 {
			font-size: 2em;
		}
	}
}

@media (max-width: 480px) {
	.gf-404-wrap {
		h2 {
			font-size: 8rem;
		}
		h4 {
			font-size: 1.5em;
		}
	}
}




input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
input:not([type]),
textarea,
select {
	padding: 0 20px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

textarea {
	padding-top: 10px;
}



/**
* Owl Carousel
* ----------------------------------------------------------------------------
*/
.owl-carousel.owl-theme {
	.owl-nav.disabled + .owl-dots{
		margin-top: 20px;
	}
	> .owl-nav {
		[class*='owl-'] {
			padding: 0;
			width: 36px;
			height: 36px;
			line-height: 36px;
			text-align: center;
			font-size: 12px;
			color: #fff;
			.border-radius(50%);
			.transition(all .3s);
			&:hover {
				//background-color: rgba(35,34,34,0.5);
				&:extend(.bg-accent-color);
			}
			&.disabled {
				.opacity(1);
				cursor: default;
				background-color: rgba(35, 34, 34, 0.5);
				
			}
		}
		

	}
}
@media (max-width: 440px) {
	.owl-carousel.owl-theme{
		> .owl-nav{
			[class*='owl-'] {
				width: 26px !important;
				height: 26px !important;
				line-height: 26px !important;
				margin: 2.5px !important;
			}
		}
	}
}

.gf-heading-title {
	font-size: 12px;
	letter-spacing: 0.01em;
	&:extend(.uppercase);
}
.mfp-wrap {
	z-index: 999999;
}
.owl-carousel.carousel-gutter-30 {
	.carousel-item {
		margin-left: -15px;
		margin-right: -15px;
		> article {
			margin-bottom: 30px;
		}
	}
	.owl-dots {
		margin-top: 40px !important;
	}
}
.owl-carousel.carousel-gutter-20 {
	.carousel-item {
		margin-left: -10px;
		margin-right: -10px;
		> article {
			margin-bottom: 20px;
		}
	}
	.owl-dots {
		margin-top: 50px !important;
	}
}
.owl-carousel.carousel-gutter-10 {
	.carousel-item {
		margin-left: -5px;
		margin-right: -5px;
		> article {
			margin-bottom: 10px;
		}
	}
	.owl-dots {
		margin-top: 60px !important;
	}
}

/*
Hover Effect
----------------------------------------
*/
.gsf-hover-jazz,
.gsf-hover-layla,
.gsf-hover-suprema,
.gsf-hover-bubba {
	.entry-thumbnail {
		overflow: hidden;
		&:after, &:before {
			content: '';
			display: block;
			position: absolute;
			z-index: 2;
			opacity: 0;
			.transition(all 0.5s);
		}
	}
	&:hover {
		.entry-thumbnail {
			&:after, &:before {
				opacity: 1;
			}
		}
	}
}

.gsf-hover-layla,
.gsf-hover-bubba {
	.entry-thumbnail {
		&:after {
			top: 25px;
			bottom: 25px;
			left: 50%;
			right: 50%;
			border-top-width: 1px;
			border-top-style: solid;
			border-top-color: #fff;
			border-bottom-width: 1px;
			border-bottom-style: solid;
			border-bottom-color: #fff;
		}
		&:before {
			top: 50%;
			bottom: 50%;
			left: 25px;
			right: 25px;
			border-left-width: 1px;
			border-left-style: solid;
			border-left-color: #fff;
			border-right-width: 1px;
			border-right-style: solid;
			border-right-color: #fff;
		}

	}
}

.gsf-hover-layla {
	&:hover {
		.entry-thumbnail {
			&:after {
				left: 10px;
				right: 10px;
			}
			&:before {
				top: 10px;
				bottom: 10px;
			}
		}
	}
}

.gsf-hover-suprema {
	.entry-thumbnail {
		&:before, &:after {
			width: 45%;
			height: 2px;
			top: 50%;
			background: #fff;
			-webkit-transition: opacity .2s ease, -webkit-transform 0s .2s;
			-moz-transition: opacity .2s ease, -moz-transform 0s .2s;
			-ms-transition: opacity .2s ease, -ms-transform 0s .2s;
			-o-transition: opacity .2s ease, -o-transform 0s .2s;
			transition: opacity .2s ease, transform 0s .2s;

			-webkit-transform: rotate(-45deg);
			-moz-transform: rotate(-45deg);
			-ms-transform: rotate(-45deg);
			-o-transform: rotate(-45deg);
			transform: rotate(-45deg);
		}
		&:before {
			-webkit-transform-origin: 0 50%;
			-moz-transform-origin: 0 50%;
			-ms-transform-origin: 0 50%;
			-o-transform-origin: 0 50%;
			transform-origin: 0 50%;
			left: 50%;
		}
		&:after {
			right: 50%;
			-webkit-transform-origin: 100% 50%;
			-moz-transform-origin: 100% 50%;
			-ms-transform-origin: 100% 50%;
			-o-transform-origin: 100% 50%;
			transform-origin: 100% 50%;
		}
	}
	&:hover {
		.entry-thumbnail {
			&:before {
				-webkit-transition: opacity .3s ease 50ms, -webkit-transform 2s cubic-bezier(.26,.63,0,.96);
				-moz-transition: opacity .3s ease 50ms, -moz-transform 2s cubic-bezier(.26,.63,0,.96);
				-ms-transition: opacity .3s ease 50ms, -ms-transform 2s cubic-bezier(.26,.63,0,.96);
				-o-transition: opacity .3s ease 50ms, -o-transform 2s cubic-bezier(.26,.63,0,.96);
				transition: opacity .3s ease 50ms, transform 2s cubic-bezier(.26,.63,0,.96);
				.transform(rotate(-45deg) translateX(-1000px));
			}
			&:after {
				-webkit-transition: opacity .4s ease, -webkit-transform 2s cubic-bezier(.26, .63, 0, .96);
				-moz-transition: opacity .4s ease, -moz-transform 2s cubic-bezier(.26, .63, 0, .96);
				-ms-transition: opacity .4s ease, -ms-transform 2s cubic-bezier(.26, .63, 0, .96);
				-o-transition: opacity .4s ease, -o-transform 2s cubic-bezier(.26, .63, 0, .96);
				transition: opacity .4s ease, transform 2s cubic-bezier(.26, .63, 0, .96);
				.transform(rotate(-45deg) translateX(1000px));
			}
		}
	}
}

.gsf-hover-bubba {
	&:hover {
		.entry-thumbnail {
			&:after {
				left: 25px;
				right: 25px;
			}
			&:before {
				top: 25px;
				bottom: 25px;
			}
		}
	}
}

.gsf-hover-jazz {
	.entry-thumbnail {
		&:before {
			width: 100%;
			height: 100%;
			top: 0;
			border-top-width: 1px;
			border-top-style: solid;
			border-top-color: #fff;
			border-bottom-width: 1px;
			border-bottom-style: solid;
			border-bottom-color: #fff;
			.transform(rotate(45deg) scale(0.5));
		}
	}
	&:hover {
		.entry-thumbnail {
			&:before {
				.transform(rotate(45deg) scale(1));
			}
		}
	}
}

.gsf-col-base {
	width: 1.666666666666667%;
    height: 0 !important;
	padding: 0 !important;
    overflow: hidden !important;
}

@keyframes load-spin {
	0%   {.transform(translateX(-50%) rotate(0deg))}
	25%  {.transform(translateX(-50%) rotate(90deg))}
	50%  {.transform(translateX(-50%) rotate(180deg))}
	75%  {.transform(translateX(-50%) rotate(270deg))}
	100% {.transform(translateX(-50%) rotate(360deg))}
}
[data-items-wrapper] {
	position: relative;
	.gsf-content-loading {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		&:before,
		&:after {
			content: '';
			display: block;
			position: absolute;
			left: 50%;
			top: 0;
			.transform(translateX(-50%));
			width: 40px;
			height: 40px;
			.border-radius(50%);
			border: 2px solid @border_color;
			border-left: 2px solid @heading_color;
			border-right: 2px solid @heading_color;
			opacity: 0;
			visibility: hidden;
			.transition(all 0.3s);
		}
	}
	.gsf-content-loading:after {
		width: 30px;
		height: 30px;
		margin-top: 5px;
	}
	&.loading {
		.gsf-content-loading:before,
		.gsf-content-loading:after {
			opacity: 1;
			visibility: visible;
			animation: load-spin 500ms infinite linear;
			-webkit-animation: load-spin 500ms infinite linear;
		}
	}
}