/************************************************************************************
MOBILE MENU ACTIVE
*************************************************************************************/
/* change max-width to trigger mobile menu active class */

/*
HEADER
================================================ */
.mobile_menu_active #headerwrap {
	padding: 5px 0 !important;
}
.mobile_menu_active.admin-bar #headerwrap.fixed-header,
.mobile_menu_active.admin-bar .sidemenu {
	top: 46px;
}

.mobile_menu_active #header .hgroup {
	float: left;
}

/* reset absolute elements to static */
.mobile_menu_active #header .social-widget,
.mobile_menu_active #site-logo,
.mobile_menu_active #site-description  {
	position: static;
	float: none;
	clear: both;
}

/* site logo */
.mobile_menu_active #site-logo {
	padding: 0;
	margin: 0;
	font-size: 1.375em;
}

/* site description */
.mobile_menu_active #site-description {
	display: none;
}

/* header widget */
.mobile_menu_active .header-widget {
	position: static !important;
	float: none;
	text-align: left;
	clear: both;
	margin: 0;
}
.mobile_menu_active .header-widget .widget {
	margin: 0 0 10px;
}

/* social widget */
.mobile_menu_active #header .social-widget {
	padding: 5px 0 0;
}


/* MENU ICON */
.mobile_menu_active #menu-icon {
	font-size: 20px; /* for icon font size */
}
.mobile_menu_active #menu-icon span {
	display: none;
}
.mobile_menu_active #cart-icon {
	margin-left: 10px;
	font-size: .9em;
}

/* HORIZONTAL MENU */
.mobile_menu_active #mobile-menu .horizontal-menu {
	float: none;
}
.mobile_menu_active #mobile-menu .horizontal-menu ul {
	margin: 0;
	padding-left: 20px;
	display: block;
	position: static;
	background: none;
}
.mobile_menu_active #mobile-menu .horizontal-menu li {
	float: none;
}
.mobile_menu_active #mobile-menu .horizontal-menu li a {
	color: #fff;
	padding: 0 0 10px 0;
	text-transform: uppercase;
}
.mobile_menu_active #mobile-menu .horizontal-menu ul li a {
	text-transform: none;
}

/* sub-levels link :hover */
.mobile_menu_active #mobile-menu .horizontal-menu a:hover,
.mobile_menu_active #mobile-menu .horizontal-menu ul a:hover,
.mobile_menu_active #mobile-menu .horizontal-menu .current_page_item ul a:hover,
.mobile_menu_active #mobile-menu .horizontal-menu ul .current_page_item a:hover,
.mobile_menu_active #mobile-menu .horizontal-menu .current-menu-item ul a:hover,
.mobile_menu_active #mobile-menu .horizontal-menu ul .current-menu-item a:hover {
	background: none;
	color: #7f7f7f;
}

@media screen and (max-width: 1100px) {

	/************************************************************************************
	STRUCTURE
	*************************************************************************************/
	#pagewrap {
		max-width: 100%;
	}

	.pagewidth,
	.single-product.sidebar-none .themify_builder_content,
	.entry-password-required.sidebar-none #layout-wrap,
	.full_width .themify_builder_row .row_inner {
		max-width: 94%;
	}
	.full_width .module-layout-part .themify_builder_row.fullwidth .row_inner,
	.full_width .themify_builder_row.fullwidth .row_inner {
		max-width:100%;
	}

	.sidebar-none.query-product #layout.pagewidth,
	.sidebar-none.archive.post-type-archive-product #layout.pagewidth {
		width: 100%;
		max-width: 100%;
	}

	/* content */
	#content {
		width: 67.8%;
	}

	/* sidebar */
	#sidebar {
		width: 26.2%;
	}
	#sidebar .secondary {
		width: 47.4%;
	}

	/* form */
	input, textarea {
		padding: 9px;
	}
	select {
		padding: 9px 45px 9px 9px;
	}

	/* button */
	input[type=reset], input[type=submit], button, .button {
		padding: 10px 10px;
		font-size: .75em;
		letter-spacing: 0;
	}

}

@media screen and (max-width: 950px) {

	/************************************************************************************
	SLIDESHOW
	*************************************************************************************/
	.slide-feature-image + .slide-content-wrap {
		top: 15%;
	}
	.slides .slide-post-title {
		font-size: 2em;
	}

	/* button */
	.loops-wrapper.grid2 .product .button,
	.loops-wrapper.grid3 .product .button,
	.loops-wrapper.grid4 .product .button {
		font-size: .6em;
		margin: 0;
		padding: 8px 8px;
	}

	/* cart */
	.sidebar-none .cart-collaterals .cart_totals,
	.sidebar-none .cart-collaterals .shipping_calculator {
		width: 55%;
	}

}

@media screen and (max-width: 780px) {

	/************************************************************************************
	STRUCTURE
	*************************************************************************************/
	#layout-wrap {
		padding-top: 80px;
	}
	#content {
		width: 100%;
		max-width: 100%;
		float: none;
		clear: both;
	}

	/* sidebar */
	#sidebar {
		width: 100%;
		max-width: 100%;
		float: none;
		clear: both;
		padding: 0;
	}

	/************************************************************************************
	SLIDESHOW
	*************************************************************************************/
	#sliderwrap {
		margin-bottom: 20px;
	}
	#slider .slides li {
		margin-bottom: 10px;
	}
	#slider .slide-feature-image + .slide-content-wrap {
		position: static;
		margin: 20px auto 0 !important;
		text-align: center;
		width: 90% !important;
	}
	#slider .slides .slide-post-title {
		margin: 2.5% 0 1.5%;
		font-size: 1.25em;
		color: #000 !important;
	}
	#slider .slides .slide-excerpt {
		width: 94%;
		margin: 0 auto;
		font-size: .8em;
		line-height: 1.6em;
		color: #000 !important;
	}
	#slider .slides .slide-content .button {
		margin-top: 3%;
	}
	#slider .slides .slide-content a.shortcode.button.white,
	#slider .slides .slide-content .button.white {
		background-color: #000 !important;
		color: #fff !important;
	}
	#slider .slides .slide-content a.shortcode.button.white:hover,
	#slider .slides .slide-content .button.white:hover {
		background-color: rgba(0,0,0,.5) !important;
	}

	/* arrows */
	#slider .flex-direction-nav {
		position: relative;
		margin-top: 10px;
	}
	#slider .flex-direction-nav a {
		top: -50px;
		font-size: 12px;
	}
	#slider .flex-direction-nav .flex-prev {
		left: 15px;
	}
	#slider .flex-direction-nav .flex-next {
		right: -15px;
	}
	#slider .flex-direction-nav .flex-prev:before,
	#slider .flex-direction-nav .flex-next:before {
		font-size: .9em;
	}

	/* control nav */
	#slider .flex-control-nav {
		padding: 0 0 25px;
		position: static;
	}
	#slider .flex-control-nav a {
		background-color: rgba(0,0,0,.3);
		width: 6px;
		height: 6px;
	}
	#slider .flex-control-nav .flex-active {
		background-color: #000;
	}

	/************************************************************************************
	SHOP
	*************************************************************************************/
	ul.products {
		width: 100%;
		margin: 0 0 10%;
	}
	.loops-wrapper.grid2 ul.products,
	.loops-wrapper.grid3 ul.products,
	.loops-wrapper.grid4 ul.products,
	.grid2 ul.products,
	.grid3 ul.products,
	.grid4 ul.products {
		max-width: 100%;
	}
	.loops-wrapper.grid2 .products .product,
	.loops-wrapper.grid3 .products .product,
	.loops-wrapper.grid4 .products .product,
	.grid2 .products .product,
	.grid3 .products .product,
	.grid4 .products .product {
		width: 94%;
		margin-left: 0;
		float: none;
		padding: 15% 3%;
	}

	/* button */
	.loops-wrapper.grid2 .product .button,
	.loops-wrapper.grid3 .product .button,
	.loops-wrapper.grid4 .product .button,
	.grid2 .product .button,
	.grid3 .product .button,
	.grid4 .product .button {
		padding: 10px 10px;
		margin: 0 10px 0 0;
		display: inline-block;
		width: auto;
		font-size: .875em;
	}
	.woocommerce-breadcrumb,
	.product .product-image,
	.product .summary,
	.product .images {
		width: auto !important;
		float: none !important;
		margin-bottom: 5%;
		text-align: center !important;
	}
	.lightbox-item .variations {
		text-align: center !important;
	}
	.loops-wrapper.list-post .product h3,
	.product h3,
	.product .product_title {
		font-size: 2em;
	}
	.product .price {
		font-size: 1em;
	}
	.product .product-description {
		margin: 15px 0 30px;
	}

	/* single */
	.variations {
		width: 100%;
		text-align: center;
	}
	.variations tr {
		margin-bottom: 15px;
		display: block;
	}
	.variations td {
		display: block;
		padding: 0;
	}
	.quantity input.qty {
		float: none;
	}
	.quantity .plus,
	.quantity .minus {
		float: none;
		display: inline;
	}

	/* tab */
	#reviews .star-rating {
		float: none;
		margin: 15px 0 5px;
	}
	.woocommerce_tabs h2,
	.woocommerce-tabs h2 {
		font-size: 1.25em;
		margin: 20px 0 25px;
		letter-spacing: .05em;
	}
	#reviews .comment .meta time {
		display: block;
		margin-left: 0;
	}

	/* cart */
	table.cart {
		font-size: .813em;
		line-height: 1.3;
	}
	table.cart .product-name {
		width: 43%;
	}
	table.cart .product-price {
		display: none;
	}
	table.cart .product-remove {
		width: 20px;
	}
	.quantity .plus, .quantity .minus {
		font-size: 1.25em;
	}
	td.actions {
		text-align: left;
	}
	td.actions .coupon {
		float: none;
		margin-bottom: 20px;
	}
	td.actions .coupon .input-text {
		float: none;
	}
	td.actions .coupon .button {
		margin: 10px 0;
	}

	.cart-collaterals .cart_totals,
	.cart-collaterals .shipping_calculator {
		width: 100% !important;
		text-align: left;
	}
	.cart-collaterals .cart_totals h2,
	.cart-collaterals .shipping_calculator h2 {
		font-size: 1.25em;
		letter-spacing: 0;
	}

	/* upsells and related */
	.upsells h2,
	.related h2 {
		margin-bottom: 20px;
		font-size: 1.375em;
		letter-spacing: 1px;
	}

	/* related grid3 */
	.upsells.grid3 .products .product,
	.related.grid3 .products .product {
		width: 27.3%;
		float: left;
	}
	.upsells.grid3 .products .product-description,
	.related.grid3 .products .product-description {
		margin: 0 0 10px;
		font-size: .8em;
		line-height: 1.5em;
	}

	/* related grid4 & grid2 */
	.upsells.grid4 .products .product,
	.related.grid4 .products .product,
	.upsells.grid2 .products .product,
	.related.grid2 .products .product {
		width: 44%;
		padding: 6% 3%;
		float: left;
	}
	.upsells.grid4 .products .product-description,
	.related.grid4 .products .product-description,
	.upsells.grid2 .products .product-description,
	.related.grid2 .products .product-description {
		margin: 0 0 10px;
		font-size: .9em;
		line-height: 1.3em;
	}

	.upsells .product .button,
	.related .product .button {
		font-size: .6em;
		margin: 0 0 5px;
		padding: 8px 8px;
	}
	.upsells .product h3,
	.related .product h3 {
		font-size: 1em;
		margin: 0 0 5px;
	}
	.upsells .product .price,
	.related .product .price {
		margin: 0 0 5px;
	}

	/************************************************************************************
	PAGE
	*************************************************************************************/
	.page-title {
		font-size: 2em;
	}

	/************************************************************************************
	POST
	*************************************************************************************/
	.post-title {
		font-size: 1.75em;
	}
	.comment-title, #reply-title {
		font-size: 1.375em;
		letter-spacing: 1px;
	}

	/* list large image */
	.list-large-image .post-image {
		float: none;
		margin-right: 0;
	}
	.list-large-image .post-content {
		overflow: visible;
		float: none;
	}

	/* comment */
	.commentlist .avatar {
		margin-right: 20px;
	}

	/************************************************************************************
	PRODUCT LIGHTBOX
	*************************************************************************************/
	.post-lightbox-iframe .product .product_title,
	.post-lightbox .lightbox-message h2 {
		font-size: 1.375em;
	}

	/************************************************************************************
	FOOTER
	*************************************************************************************/
	/* store info */
	.store-info i {
		margin: 0 5px 0 0;
	}
	.store-info p {
		display: block;
	}

}

@media screen and (max-width: 680px) {

	/************************************************************************************
	GRID
	*************************************************************************************/
	.col4-1,
	.col4-2, .col2-1,
	.col4-3,
	.col3-1,
	.col3-2	 {
		margin-left: 0;
		width: 100%;
		max-width: 100%;
	}

	/************************************************************************************
	HEADER
	*************************************************************************************/
	/* social widget */
	.social-widget {
		position: static;
		float: none;
		padding: 0;
	}

	/************************************************************************************
	SHOP
	*************************************************************************************/
	#product_single_wrapper {
		padding-top: 14%;
	}
	.woocommerce_tabs ul.tabs li a, .woocommerce-tabs ul.tabs li a {
		font-size: .75em;
		padding: 10px 10px 5px;
	}

	/* table */
	table.cart {
		border-top: 1px #eee solid;
	}
	table.cart thead {
		display: none;
	}
	table.cart th,
	table.cart td {
		text-align: left !important;
	}
	table.cart .product-name {
		width: 50%;
	}
	table.cart .product-quantity {
		width: 80px;
		text-align: center !important;
	}
	table.cart tr > td:first-child {
		margin-top: 20px;
	}
	table.cart tr:first-child > td:first-child {
		margin-top: 0;
	}
	table.cart .label,
	table.cart .content {
		padding: 5px 3px;
	}
	table.cart .label {
		display: block;
		float: left;
		width: 30%;
		text-align: left;
		color: #000;
		text-transform: uppercase;
		font-weight: 400;
	}
	table.cart .content {
		margin: 0 0 0 33%;
	}
	.cart_table_item .product-remove .content {
		text-align: right;
	}
	.cart_table_item a.remove {
		display: inline;
	}
	.cart_table_item .quantity input.qty {
		width: 20px;
		padding: 5px !important;
	}
	.quantity .plus, .quantity .minus {
		padding: 0 !important;
		font-size: 1em;
	}

	/* checkout page */
	.checkout .col-1,
	.checkout .col-2 {
		width: auto;
		float: none;
	}

	/************************************************************************************
	POST
	*************************************************************************************/
	.post {
		width: auto !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		float: none !important;
	}
	.post-title {
		font-size: 1.5em;
		margin-bottom: 8px;
	}
	.post-meta {
		margin-bottom: 25px;
	}

	/* grid4 */
	.loops-wrapper.grid4 .post,
	.loops-wrapper.grid3 .post {
		width: 100%;
		margin-left: 0;
		float: none;
		margin-bottom: 15%;
	}

	/* cart */
	table.cart .product-thumbnail {
		display: none;
	}
	td.actions .coupon .input-text {
		width: 20%;
		float: none;
		padding: 8px !important;
	}

	/* review */
	p.stars a {
		width: 32.3%;
		margin-bottom: 5px;
	}

	/* comment */
	#respond textarea,
	#respond input[type=text],
	#respond input[type=password],
	#respond input[type=search],
	#respond input[type=email],
	#respond input[url] {
		margin-bottom: 5px;
	}
	#commentform label {
		display: block;
		margin-bottom: 10px;
	}

	/************************************************************************************
	AUTHOR
	*************************************************************************************/
	.shortcode.author-box .author-avatar {
		margin-right: 20px;
	}
	.shortcode.author-box .author-avatar img {
		width: 50px;
	}
	.shortcode.author-box .author-name {
		font-size: 1.25em;
		margin-bottom: 10px;
	}

	/************************************************************************************
	POST NAV
	*************************************************************************************/
	.post-nav .prev,
	.post-nav .next {
		display: block;
		width: 100%;
		clear: both;
		margin-bottom: 25px;
	}
	.post-nav {
		margin: 0 0 30px;
	}
	.post-nav,
	.post-nav a,
	.post-nav a:hover {
		border-bottom: none;
	}
	.post-nav span,
	.post-nav a {
		position: static;
	}
	.post-nav .arrow {
		display: inline-block;
	}
	.post-nav .prev a,
	.post-nav .next a {
		padding: 0;
	}
	.post-nav .prev .arrow {
		float: left;
		margin: 4px 10px 40px 0;
	}
	.post-nav .next .arrow {
		margin: 4px 0 40px 10px;
	}

	/************************************************************************************
	COMMENTS
	*************************************************************************************/
	.commentlist {
		padding-left: 0;
	}
	.commentlist .avatar {
		width: 50px;
	}
	.commentlist .comment-time {
		margin-left: 0;
		display: block;
	}

	/************************************************************************************
	LIGHTBOX
	*************************************************************************************/
	.post-lightbox-iframe .images {
		float: none;
		width: 100%;
		margin-right: 0;
	}
	.post-lightbox #post-lightbox-wrap {
		max-width: 92.2%;
	}
	#post-lightbox-wrap .summary {
		padding: 0 7%;
	}

	/* added to cart */
	.post-lightbox #post-lightbox-wrap.lightbox-message .button {
		font-size: .813em;
	}

	#slide-nav {
		max-height: 100% !important;
	}

	/************************************************************************************
	FOOTER
	*************************************************************************************/
	/* reduce map container height on smaller viewport */
	#footerwrap .google-map .shortcode.map {
		height: 280px;
	}
	.footer-widgets .first .widget {
		margin-top: 12%;
	}
	.footer-widgets .widget {
		margin-top: 0;
	}

}

/* WordPress Breaking Points */
@media screen and (max-width: 782px) {
	.admin-bar .sidemenu,
	.admin-bar .fixed-header {
		top: 46px;
	}
}
@media screen and (max-width: 600px) {
	.admin-bar.sidemenu-active {
		position: static;
	}
	.admin-bar.sidemenu-active.mobile-menu-visible {
		position: relative;
		top: -46px;
	}
	.admin-bar #headerwrap {
		top: 46px;
	}
	.admin-bar .sidemenu,
	.admin-bar #headerwrap.fixed-header,
	.admin-bar .fixed-header .sidemenu {
		top: 0;
	}
}

/* Responsive Gallery items */
@media screen and (max-width: 1024px) {
	.gallery-columns-5 .gallery-item:nth-of-type(5n),
	.gallery-columns-6 .gallery-item:nth-of-type(6n),
	.gallery-columns-7 .gallery-item:nth-of-type(7n),
	.gallery-columns-8 .gallery-item:nth-of-type(8n),
	.gallery-columns-9 .gallery-item:nth-of-type(9n) {
		margin-right: 1.5%;
	}
	.gallery-columns-5 .gallery-item:nth-of-type(4n+1),
	.gallery-columns-6 .gallery-item:nth-of-type(4n+1),
	.gallery-columns-7 .gallery-item:nth-of-type(4n+1),
	.gallery-columns-8 .gallery-item:nth-of-type(4n+1),
	.gallery-columns-9 .gallery-item:nth-of-type(4n+1) {
		clear: left;
	}
	.gallery-columns-5 .gallery-item:nth-of-type(4n),
	.gallery-columns-6 .gallery-item:nth-of-type(4n),
	.gallery-columns-7 .gallery-item:nth-of-type(4n),
	.gallery-columns-8 .gallery-item:nth-of-type(4n),
	.gallery-columns-9 .gallery-item:nth-of-type(4n) {
		margin-right: 0;
	}
	.gallery-columns-5 .gallery-item + br,
	.gallery-columns-6 .gallery-item + br,
	.gallery-columns-7 .gallery-item + br,
	.gallery-columns-8 .gallery-item + br,
	.gallery-columns-9 .gallery-item + br {
		display: none;
	}
	
	/* clear none gallery item different sizes */
	.gallery-columns-5 .gallery-item:nth-of-type(5n + 1),
	.gallery-columns-6 .gallery-item:nth-of-type(6n + 1),
	.gallery-columns-7 .gallery-item:nth-of-type(7n + 1),
	.gallery-columns-8 .gallery-item:nth-of-type(8n + 1),
	.gallery-columns-9 .gallery-item:nth-of-type(9n + 1) {
		clear: none;
	}

	/* gallery column 5,6,7,8 and 9 */
	.gallery-columns-5 .gallery-item,
	.gallery-columns-6 .gallery-item,
	.gallery-columns-7 .gallery-item,
	.gallery-columns-8 .gallery-item,
	.gallery-columns-9 .gallery-item {
		width: 23.8%;
	}
}
@media screen and (max-width: 680px) {
	.gallery-columns-3 .gallery-item + br {
		display: none;
	}
	.gallery-columns-3 .gallery-item:nth-of-type(3n) {
		margin-right: 1.5%;
	}

	.gallery-columns-3 .gallery-item,
	.gallery-columns-4 .gallery-item,
	.gallery-columns-5 .gallery-item,
	.gallery-columns-6 .gallery-item,
	.gallery-columns-7 .gallery-item,
	.gallery-columns-8 .gallery-item,
	.gallery-columns-9 .gallery-item {
		width: 49.2%;
	}
	.gallery-columns-3 .gallery-item:nth-of-type(2n),
	.gallery-columns-4 .gallery-item:nth-of-type(2n),
	.gallery-columns-5 .gallery-item:nth-of-type(2n),
	.gallery-columns-6 .gallery-item:nth-of-type(2n),
	.gallery-columns-7 .gallery-item:nth-of-type(2n),
	.gallery-columns-8 .gallery-item:nth-of-type(2n),
	.gallery-columns-9 .gallery-item:nth-of-type(2n) {
		margin-right: 0;
	}
	
	/* clear none gallery item different sizes */
	.gallery-columns-4 .gallery-item:nth-of-type(4n + 1),
	.gallery-columns-3 .gallery-item:nth-of-type(3n + 1),
	.gallery-columns-2 .gallery-item:nth-of-type(2n + 1) {
		clear: none;
	}
}