/* COMMON */

.ff-clear {
	clear: both;
}

/* DISPLAY */

.ff-disp-table {
	display: table;
}

.ff-disp-mid {	
	display: table-cell;
	vertical-align: middle;
}

.ff-disp-top {
	display: table-cell;
	vertical-align: top;
}

.ff-disp-bottom {
	display: table-cell;
	vertical-align: bottom;
}

/* FILTERING */

#ff-filters {
	margin: 50px 0;
}

#ff-filters ul {
	width: 100%;
	text-align: center;
}

#ff-filters li {
	display: inline-block;
	margin: 5px;
	cursor: pointer;
	color: #fff;
	padding: 10px;
	border: solid 2px #333;
	color: #333;
	font-size: 14px;
}

#ff-filters li:hover {
	background-color: #333;
	color: #fff;
}

/* ITEM TYPE */

#ff-container {
	width: auto;
	overflow: hidden;
	position: relative;
    opacity: 0;
}

#ff-grid {
	min-height: 500px;
	margin: 0 auto;
	overflow: hidden;
}

#ff-carousel,
#ff-slider,
.owl-wrapper-outer,
.owl-controls {

}

.ff-slider-full .owl-wrapper-outer,
.ff-slider-full .owl-controls {
	opacity: 1;
}

.ff-circle-loader {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0;
    padding-top: 200px;
    text-align: center;
    z-index: 9999999;
    top: 0;
    background: #fff;
}

.ff-loader {
    display: inline-block;
	width: 50px;
	height: 50px;
	background: url('../img/loader.gif') #fff;
	background-position: center center;
	background-repeat: no-repeat;
	border-radius: 50%;
}

.ff-transit {
	transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.ff-item {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

.ff-wrap {
	height: 100%;
	width: 100%;
	position: relative;
	overflow: hidden;
}

/* ITEM SIZE */

.ff-size-w1 {
	width: 225px;
}

.ff-size-w2 {
	width: 450px;
}

.ff-size-w3 {
	width: 300px;
}

.ff-size-h1 {
	height: 225px;
}

.ff-size-h2 {
	height: 450px;
}

.ff-size-h3 {
	height: 300px;
}

/* ITEMS */

.ff-slider {
	width: 100%;
	height: 100%;
	z-index: 0;
}

.ff-slide {
	height: 100%;
	width: 100%;
	cursor: pointer;
	overflow: hidden;
}

#ff-item-overlay .ff-slide {
	height: 500px;
}

#ff-item-overlay .owl-pagination {
	position: absolute;
	left: 20px;
	top: 20px;
}

#ff-item-overlay .owl-theme .owl-controls .owl-page {
	display: block;
	margin-top: 10px;
}

#ff-item-overlay .owl-theme .owl-controls .owl-page span {
	border-radius: 0;
}

.ff-img {
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: 0;
	overflow: hidden;
}

/* CROP */

.ff-img img {
	height: 100% !important;
	width: 100% !important;
}

.ff-slide img {
	height: 100% !important;
}

.ff-video {
	position: absolute;
	background: #666;
	height: 100%;
	width: 100%;
	z-index: 0;
}

.ff-video iframe {
	position: absolute;
	height: 120%;
	width: 120%;
	top: -10%;
	left: -10%;
}

.ff-code {
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: 0;
}

.ff-code iframe {
	width: 100%;
	height: 100%;
}

.ff-zoom {
	transition: all 2s ease-in-out;
	-moz-transition: all 2s ease-in-out;
	-webkit-transition: all 2s ease-in-out;
	-o-transition: all 2s ease-in-out;
	-ms-transition: all 2s ease-in-out;
}

.ff-layer {
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: 1;
	top: 0;
	left: 0;
}

.ff-logo {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 2;
	text-align: center;
	cursor: pointer;
	display: table;
}

.ff-logo img {
    display: inline-block !important;
}

.ff-logo-middle {
	display: table-cell;
	vertical-align: middle;
}

.ff-info {
	position: absolute;
	z-index: 2;
	width: 100%;
	left: 0;
	overflow: hidden;
}

.ff-size-h1.ff-size-w2 .ff-info.ff-text-lf {
	left: 0;
	width: 50%;
}

.ff-size-h1.ff-size-w2 .ff-info.ff-text-rh {
	left: 50%;
	width: 50%;
}

.ff-info.ff-text-top {
	top: 20px;
}

.ff-info.ff-text-bott {
	bottom: 20px;
}

.ff-info.ff-text-lf {
	text-align: left;
}

.ff-info.ff-text-rh {
	text-align: right;
}

.ff-info.ff-text-cn {
	text-align: center;
}

.ff-title {
	text-transform: uppercase;
	font-weight: 700;
	padding: 0 20px;
	margin-bottom: 10px;
	font-size: 30px;
}

.ff-subtitle {
	font-weight: 400;
	padding: 0 20px;
}

.ff-size-w2.ff-size-h2 .ff-title {
	font-size: 30px;
	line-height: 50px;
}

.ff-size-w1.ff-size-h1 .ff-title,
.ff-size-w1.ff-size-h2 .ff-title,
.ff-size-w2.ff-size-h1 .ff-title {
	font-size: 25px;
	line-height: 30px;
}

.ff-size-w2.ff-size-h2 .ff-subtitle {
	font-size: 14px;
	line-height: 20px;
}

.ff-size-w1.ff-size-h1 .ff-subtitle,
.ff-size-w1.ff-size-h2 .ff-subtitle,
.ff-size-w2.ff-size-h1 .ff-subtitle {
	font-size: 14px;
	line-height: 24px;
}

.ff-text-bott .ff-btn-open {
	cursor: pointer;
	margin-bottom: -60px !important;
}

.ff-text-top .ff-btn-open {
	cursor: pointer;
	margin-top: -60px !important;
}

.ff-item:hover .ff-text-top .ff-btn-open {
	margin-top: inherit !important;
}

.ff-item:hover .ff-text-bott .ff-btn-open {
	margin-bottom: inherit !important;
}

.ff-text-top .ff-btn-open {
	margin: 0 20px 20px 20px;
}

.ff-text-bott .ff-btn-open {
	margin: 20px 20px 0 20px;
}

.ff-more {
	border-style: solid;
	border-width: 2px;
	display: inline-block;
	padding: 10px;
	cursor: pointer;
	font-size: 14px;
}

/* HOVER */

.ff-item:hover .ff-zoom { 
	transform: scale(1.3,1.3) rotate(3deg);
	-moz-transform: scale(1.3,1.3) rotate(3deg);
	-webkit-transform: scale(1.3,1.3) rotate(3deg);
	-o-transform: scale(1.3,1.3) rotate(3deg);
	-ms-transform: scale(1.3,1.3) rotate(3deg);
	
	transition: all 10s linear;
	-moz-transform: scale(1.3,1.3) rotate(3deg);
	-webkit-transform: scale(1.3,1.3) rotate(3deg);
	-o-transform: scale(1.3,1.3) rotate(3deg);
	-ms-transform: scale(1.3,1.3) rotate(3deg);
}

.ff-item.ff-size-h2.ff-size-w2:hover .ff-curtain.ff-text-top {
	top: -50%;
}

.ff-item.ff-size-h2.ff-size-w2:hover .ff-curtain.ff-text-bott {
	top: 50%;
}

.ff-item.ff-size-h2.ff-size-w1:hover .ff-curtain.ff-text-top {
	top: -50%;
}

.ff-item.ff-size-h2.ff-size-w1:hover .ff-curtain.ff-text-bott {
	top: 50%;
}

.ff-item.ff-size-h1.ff-size-w2:hover .ff-curtain.ff-text-lf {
	left: -50%;
}

.ff-item.ff-size-h1.ff-size-w2:hover .ff-curtain.ff-text-rh {
	left: 50%;
}

.ff-item:hover .ff-gradient.ff-text-bott {	
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%) !important;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0.8))) !important;
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.8) 100%) !important;
	background: -o-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.8) 100%) !important;
	background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.8) 100%) !important;
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.8) 100%) !important;
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#b3000000',GradientType=0 ) !important;
}

.ff-item:hover .ff-gradient.ff-text-top {	
	background: -moz-linear-gradient(top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%) !important;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.8)), color-stop(100%,rgba(0,0,0,0))) !important;
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 100%) !important;
	background: -o-linear-gradient(top, rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 100%) !important;
	background: -ms-linear-gradient(top, rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 100%) !important;
	background: linear-gradient(to bottom, rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 100%) !important;
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='##b3000000', endColorstr='#00000000',GradientType=0 ) !important;
}

/* ITEM EXPAND */

#ff-item-overlay {
	position: fixed;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.9);
	z-index: 999999;
	display: none;
}

#ff-item-centre {
	width: 900px;
	height: auto;
	margin: 0 auto;
}

#ff-items-full {
	display: none;
}

.ff-item-full {
	background-color: rgba(34,34,34,0.8);
	padding: 50px;
	height: auto;
	width: auto;
}

.ff-media {
	height: 500px;
	overflow: hidden;
	width: 100%;
	margin-bottom: 20px;
	position: relative;
}

.ff-img-full {
	background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
	-moz-background-size: cover !important;
	-ms-background-size: cover !important;
	-o-background-size: cover !important;
	-webkit-background-size: cover !important;
	height: 100%;
	width: 100%;
}

.ff-slider-full {
	position: relative;
	height: 100% !important;
	width: 100%;
}



.ff-video-full {
	position: relative;
	height: 100%;
	width: 100%;
	background: #666;
}

.ff-code-full {
	position: relative;
	height: 100%;
	width: 100%;
}

.ff-code-full iframe, .ff-video-full iframe {
	height: 500px !important;
	width: 100% !important;
}

.ff-item-title {
	font-size: 50px;
	color: #fff;
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: rgba(0,0,0,0.7);
	text-transform: uppercase;
	display: inline-block;
	line-height: 60px;
	padding: 0 20px;
	font-weight: 700;	
	text-align: right;
}

.ff-detail {
	color: #fff;
}

.ff-item-full .ff-title,
.ff-item-full .ff-title {
	font-size: 25px;
	line-height: 30px;
	margin-bottom: 10px;
	padding: 0;
}

.ff-description {
	font-size: 14px;
	line-height: 24px;
	margin-bottom: 20px;
}

.ff-fields {
	margin-bottom: 20px;
}

.ff-fields li {
	line-height: 44px;
}

.ff-title-field {
	background-color: #fff;
	padding: 5px;
	color: #333;
	margin-right: 7px;
	border: 2px solid #fff;
}

.ff-value-field {
	border: 2px solid #fff;
	padding: 5px;
}

.ff-tags ul {
	margin-bottom: 20px;
}

.ff-tags li {
	cursor: pointer;
	display: inline-block;
	padding: 10px;
	color: #fff;
	margin: 0 5px 5px 0;
	background-color: rgba(0,0,0,0.4);
}

.ff-tags li:hover {
	background: #fff;
	color: #000;
}

.ff-social {
	color: #fff;
}

.ff-social ul {}

.ff-social ul li {
	display: inline-block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 25px;
	text-align: center;
	margin: 0 10px 10px 0;
	border: 2px solid #fff;
	cursor: pointer;
}

.ff-social ul li:hover {
	border-radius: 100%;
	-moz-border-radius: 100%;
	-ms-border-radius: 100%;
	-o-border-radius: 100%;
	-webkit-border-radius: 100%;
	background-color: #fff;
	color: #333;
}

.ff-btn-close {
	position: fixed;
	z-index: 9999999;
	color: #fff;
	top: 50px;
	right: 50px;
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 25px;
	text-align: center;
	border: 2px solid #fff;
	cursor: pointer;
}

.ff-btn-close:hover {
	background-color: #fff;
	color: #333;
}

/* GALL POST */

.ff-grid-gall .ff-overlay-gall {
	background-color: rgba(255,255,255,0.7);
	position: absolute; 
	top: 0;
	height: 0;
	width: 100%;
}

.ff-grid-gall .ff-title {
	position: absolute;
	bottom: -10%;
	text-align: center;
	font-size: 20px !important;
	color: #333;
	width: 100%;
	white-space: nowrap; 
    overflow: hidden;
    text-overflow: ellipsis; 
	padding: 0;
}

.ff-grid-gall:hover .ff-overlay-gall {
	height: 100%;
}

.ff-grid-gall:hover .ff-icon-exp {
	top: 50%;
}

.ff-grid-gall:hover .ff-title {
	height: auto;
	bottom: 50%;
}

.ff-grid-gall .ff-icon-exp {
	cursor: pointer;
	top: -10%;
	left: 50%;
	margin-left: -25px;
	width: 50px;
	position: absolute;
	text-align: center;
}

.ff-grid-gall .ff-icon-exp a {
	color: #333 !important;
}

/* ITEM GALL */

.ff-grid-post .ff-overlay-post {
	background-color: rgba(0,0,0,0.7);
	position: absolute; 
	bottom: 0;
	height: 85px;
	width: 100%;
}

.ff-grid-post .ff-title {
	color: #fff;
	white-space: nowrap; 
    overflow: hidden;
    text-overflow: ellipsis; 
}

.ff-grid-post .ff-subtitle {
	color: #fff;
	white-space: nowrap; 
    overflow: hidden;
    text-overflow: ellipsis; 
}

.ff-grid-post .ff-more {
	color: #fff;
	border-color: #fff;
}

.ff-grid-post:hover .ff-overlay-post {
	height: 100%;
}

.ff-grid-post .ff-btn-open {
	margin-bottom: -105px !important;
}

/* ITEM CAROUSEL */

.ff-carousel {
	width: auto;
	margin: 0 5px;
}

.ff-carousel .ff-title {
	font-size: 20px;
}

/* ITEM SLIDER */

.ff-full-slide {
	width: auto;
	margin: 0;
	height: 450px;
}

#ff-slider .ff-title {
	color: #fff;
}

#ff-slider .ff-subtitle {
	color: #fff;
}

#ff-slider .ff-more {
	color: #fff;
}

#ff-slider .ff-more:hover {
	color: #333;
	background-color: #fff;
	border-color: #fff;
}

/* OWL CONTROLS */

#ff-slider .owl-next {
	top: 0;
	right: 0;
}

#ff-slider .owl-prev {
	top: 0;
	left: 0;
}

#ff-slider .owl-buttons {
	position: absolute;
	top: 50%;
	width: 100%;
	height: auto;
	margin-top: -25px;
}

#ff-slider .owl-pagination {
	position: absolute;
	top: 10px;
	left: 0;
	width: 50px;
	z-index: 9999;
}

#ff-slider .owl-controls span {
	border-radius: 0;
	margin-bottom: 5px;
}

#ff-carousel .owl-controls .owl-page span {
	background: #333 !important;
	display: block;
	border-radius: 0;
}

#ff-carousel .owl-controls {
	margin-top: 40px !important;
}

.ff-carousel.ff-grid-post .ff-btn-open {
	margin-bottom: -55px !important;
}

/* RESPONSIVE */


@media screen and (max-width: 900px) {
	
	#ff-item-centre { 
		width: 100%; 
	}
	
}

@media screen and (max-width: 500px){
	
	.ff-item-title {
		font-size: 25px !important;
		line-height: 30px !important; 
	}
	
	#ff-item-overlay .ff-slide,
	.ff-code-full iframe,
	.ff-video-full iframe,
	.ff-media {
		height: 300px !important;
	}
	
	.ff-full-slide {
		height: 300px !important;
	}
	
}

@media screen and (max-width: 400px) {
	
	.ff-item-full {
		padding: 25px !important;
	}
	
}