* {
	margin:0;
	padding:0;
}

body{
	font: normal 16px Arial, Helvetica, sans-serif;
}

h1, h3{
	font: normal 24px 'Open Sans', Arial, Helvetica, sans-serif;
}

/*-----------------
	The Header
------------------*/

header {
	position: fixed;
	top: 0;
	left:0;
	right:0;

	height: 40px;
	z-index: 100;

	background-color: #282b2c;
	padding: 20px 40px;
	color: #fff;
	box-shadow: 0px 3px 2px rgba(0, 0, 0, 0.1);
}

header a {
	color: #ffffff;
	text-decoration: none;
}

header h2.tzine{
	float: right;
	opacity:0.9;
}

header h2.tzine:hover{
	opacity:1;
}

header h2.tzine a{
	font-size: 13px;
	text-transform: uppercase;
	display: inline-block;
	padding: 12px 18px;
	border-radius: 3px;
	background-color: #5895DB;
}


@media (max-width: 500px){

	header {
		padding: 20px 15px;
	}

	header h1{
		font-size: 24px;
		margin: 0;
	}

}

/*-----------------
	Main Content
------------------*/


.main-content{
	box-sizing: border-box;
	text-align: center;
	margin: 125px auto 60px;
	padding: 0 40px;
}

.main-content h3{
	font-size: 28px;
	color:  #5a96b9;
	padding-bottom: 20px;
}

@media (max-width: 600px){

	.main-content{
		margin: 45px auto;
		padding: 0 25px;
	}

}


/*-------------------
	All Products Page
--------------------*/

/*	Filter Form	*/

.filters{
	box-sizing: border-box;
	padding: 5px 30px 30px;
	width: 190px;
	background-color: #FFF;
	border: 1px solid #DBE3E7;
	border-radius: 3px;
	box-shadow: 1px 3px 1px rgba(0, 0, 0, 0.08);
	position: absolute;
	text-align: left;
	color: #2B2E31;
	opacity: 0;
	pointer-events: none;
}

.filters .filter-criteria{
	display: block;
	margin: 10px 0 10px;
}

.filters span{
	font-size:14px;
	display: block;
	margin-bottom: 12px;
	font-weight: bold;
	margin-top: 20px;
}

.filters label{
	display: block;
	line-height: 1.4;
	font-size: 15px;
}

.filters label input{
	margin-right: 10px;
}

.filters button{
	border-radius: 2px;
	background-color:  #4BC34B;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12);
	border: 0;
	color: #ffffff;
	font-weight: bold;
	font-size: 13px;
	cursor: pointer;

	width: 95px;
	height: 32px;
	margin-top: 10px;
}


/*	Products List	*/

.all-products h3{
	opacity: 0;
}

.products-list{
	list-style:none;
	margin-left:225px;
	max-width: 1500px;
	text-align: center;
	padding: 0;
	opacity: 0;
	font-size: 0;
}

.all-products.visible .products-list,
.all-products.visible .filters,
.all-products.visible h3{
	opacity: 1;
	transition: 1s;
	pointer-events: auto;
}

.products-list > li{
	box-sizing:border-box;
	display: inline-block;
	cursor: pointer;
	position: relative;
	transition: 0.2s;

	text-align:left;
	font:normal 12px sans-serif;

	background-color:#ffffff;
	border:1px solid #dbe3e7;
	border-radius: 3px;
	box-shadow: 1px 3px 1px rgba(0, 0, 0, 0.08);

	margin: 0 12px 14px 0;
	padding: 25px;
}

.products-list > li.hidden{
	opacity: 0.2;
	pointer-events: none;
}

/* The product image */

.products-list .product-photo{
	display: block;
	text-align: center;
	box-shadow : 0 0 20px 8px #f3f3f3 inset;

	width: 275px;
	margin-bottom: 25px;
	padding: 20px 0;
	box-sizing: border-box;
}

/* The product name */

.products-list h2{
	display: block;
	font-size: 18px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow:ellipsis;
	max-width: 200px;
	margin:0;
}

.products-list h2 a{
	text-decoration: none;
	color: #2B2E31;
}

/* Product description */

.products-list .product-description{
	margin-top: 20px;

	color: #5d5d5d;
	font-size: 14px;
	line-height: 1.45;
	white-space: normal;

	max-width: 260px;
	margin-bottom: 20px;

	list-style: none;
}

.products-list .product-description li{
	display: inline-block;
	margin-right: 5px;
}

.products-list .product-description li:first-child{
	display: block;
}

.products-list .product-description li span{
	font-weight: bold;
}

/* Price and order button */

.products-list button{
	border-radius: 2px;
	background-color:  #87bae1;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12);
	border: 0;
	color: #ffffff;
	font-weight: bold;
	font-size: 13px;
	cursor: pointer;

	width: 95px;
	height: 32px;
}

.products-list .product-price{
	float: right;

	color:  #4e4e4e;
	font-weight: bold;
	font-size: 20px;

	padding-top: 6px;
	margin: 0;
}

.products-list .highlight{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color: rgba(0,0,0,0.1);
	opacity: 0;
	transition: 0.4s;
}

.products-list > li:hover .highlight{
	opacity: 1;
}

/* Making the list responsive */

@media (max-width: 800px){

	.products-list .product-photo{
		width: 225px;
	}

	.products-list .product-description{
		max-width: 225px;
	}
}


/*---------------------------
	Single Product Page
----------------------------*/

.single-product{
	z-index: 100;
}

.overlay{
	height: 20px;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #282b2c;
	transition: 0.6s;
	z-index: 100;
}

.single-product.visible .overlay{
	height: 100%;
}

.preview-large{
	box-sizing: border-box;
	width: 760px;
	height: 550px;
	position: fixed;
	left: 50%;
	margin-left: -375px;
	top: 50%;
	margin-top: -275px;
	pointer-events: none;

	border-radius: 6px;
	background-color:  #ffffff;

	z-index: 102;
	opacity: 0;
	transition: 0.4s;

}

.single-product.visible .preview-large{
	opacity: 1;
	transition: 1.4s;
	pointer-events: auto;
}

.preview-large h3{
	margin-top: 20px;
}

.preview-large img{
	width: 100%;
	height: 280px;
	border-bottom: 3px solid #efefef;
	border-radius: 5px 5px 0 0;
}

.preview-large p{
	line-height: 23px;
	padding: 50px 45px;
}

.close{
	position: absolute;
	right: 25px;
	top: 15px;

	font-size: 28px;
	color: #555;
	cursor: pointer;
}


/*---------------------------
	Error Page
----------------------------*/

.error{
	opacity: 0;
	transition: 0.6s;
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 100px;
	width: 100%;
}

.error.visible{
	opacity: 1;
}

.error h3{
	font-size: 40px;
}

