@font-face {
	font-family: 'fontawesome';
	src:url('../fonts/fontawesome/fontawesome.eot');
	src:url('../fonts/fontawesome/fontawesome.eot?#iefix') format('embedded-opentype'),
		url('../fonts/fontawesome/fontawesome.woff') format('woff'),
		url('../fonts/fontawesome/fontawesome.ttf') format('truetype'),
		url('../fonts/fontawesome/fontawesome.svg#fontawesome') format('svg');
	font-weight: normal;
	font-style: normal;
}

/* Main container */
.cbp-vm-switcher {
	padding: 10px;
}

/* options/select wrapper with switch anchors */
.cbp-vm-options {
	text-align: right;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
}

.cbp-vm-options a {
	display: inline-block;
	width: 40px;
	height: 40px;
	overflow: hidden;
	white-space: nowrap;
	color: #d0d0d0;
	margin: 2px;
}

.cbp-vm-options a:hover,
.cbp-vm-options a.cbp-vm-selected {
	color: #47a3da;
}

.cbp-vm-options a:before {
	width: 40px;
	height: 40px;
	line-height: 40px;
	font-size: 30px;
	text-align: center;
	display: inline-block;
}

/* General style of switch items' list */

.cbp-vm-switcher ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Clear eventual floats */
.cbp-vm-switcher ul:before, 
.cbp-vm-switcher ul:after { 
	content: " "; 
	display: table; 
}

.cbp-vm-switcher ul:after { 
	clear: both; 
}

.cbp-vm-switcher ul li {
	display: block;
	position: relative;
}

.cbp-vm-image {
	display: block;
	margin: 0 auto;
}

.cbp-vm-image img {
	display: inline-block;
	max-width: 100%;
	border: none;
}

.cbp-vm-title {
	margin: 0;
	padding: 0;
}

.cbp-vm-price {
	color: #c0c0c0;
}

.cbp-vm-add {
	color: #fff;
	background: #47a3da;
	padding: 10px 20px;
	border-radius: 2px;
	margin: 20px 0 0;
	display: inline-block;
	transition: background 0.2s;
}

.cbp-vm-add:hover {
	color: #fff;
	background: #02639d;
}

.cbp-vm-add:before {
	margin-right: 5px;
}

/* Common icon styles */
.cbp-vm-icon:before {
	font-family: 'fontawesome';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	color: #129600;
}

.cbp-vm-grid:before {
	content: "\f00a";
}

.cbp-vm-list:before {
	content: "\f00b";
}

.cbp-vm-add:before {
	content: "\f055";
}

/* Individual view mode styles */

/* Large grid view */
.cbp-vm-view-grid ul {
	text-align: center;
}

.cbp-vm-view-grid ul li {
	width: 33%;
	text-align: center;
	padding: 15px;
	margin: 10px 0 0;
	display: inline-block;
	vertical-align: top;
}

.cbp-vm-view-grid .cbp-vm-title {
	font-size: 16px;
	margin: 5px 0px 5px 0px;
}

.cbp-vm-view-grid .cbp-vm-details {
	max-width: 300px;
	margin: 0 auto;
} 

.cbp-vm-view-grid .cbp-vm-price {
	margin: 10px 0;
	font-size: 1.5em;
}


/* List view */
.cbp-vm-view-list li {
	padding: 20px 0;
	white-space: nowrap;
}

.cbp-vm-view-list .cbp-vm-image,
.cbp-vm-view-list .cbp-vm-title,
.cbp-vm-view-list .cbp-vm-details,
.cbp-vm-view-list .cbp-vm-price,
.cbp-vm-view-list .cbp-vm-add {
	display: inline-block;
	vertical-align: middle;
}

.cbp-vm-view-list .cbp-vm-image {
	width: 10%;
}

.cbp-vm-view-list .cbp-vm-title {
	font-size: 1.3em;
	padding: 0 10px;
	white-space: normal;
	width: 23%;
}

.cbp-vm-view-list .cbp-vm-price {
	font-size: 1.3em;
	width: 10%;
}

.cbp-vm-view-list .cbp-vm-details {
	width: 40%;
	padding: 0 15px;
	overflow: hidden;
	white-space: normal;
}

.cbp-vm-view-list .cbp-vm-add {
	margin: 0;
}

@media screen and (max-width: 66.7em) {
	.cbp-vm-view-list .cbp-vm-details  {
		width: 30%;
	}
} 

@media screen and (max-width: 57em) {
	.cbp-vm-view-grid ul li {
		width: 49%;
	}
}

@media screen and (max-width: 47.375em) {
	.cbp-vm-view-list .cbp-vm-image {
		width: 20%;
	}

	.cbp-vm-view-list .cbp-vm-title {
		width: auto;
	}

	.cbp-vm-view-list .cbp-vm-details  {
		display: block;
		width: 100%;
		margin: 10px 0;
	}

	.cbp-vm-view-list .cbp-vm-add  {
		margin: 10px;
	}
}

@media screen and (max-width: 40.125em) {
	.cbp-vm-view-grid ul li {
		width: 100%;
	}
}

/*=============================================*\
 Some styles to show off masonry layout
\*=============================================*/
.picture-item {
  height: 220px;
  margin-top: 24px;
}
.picture-item.shuffle-item {
  margin-left: 0;
  /* shuffle items shouldn't have a left margin*/
}
.picture-item.picture-item--h2 {
  height: 464px;
  /* 2x the height + 1 gutter */
}
.picture-item.span6:not(.picture-item--h2) .picture-item__details {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #333;
  background-color: rgba(0, 0, 0, 0.6);
  color: white;
}
.picture-item.span6:not(.picture-item--h2) .picture-item__description {
  display: none;
}
.picture-item .picture-item__inner {
  height: 100%;
  overflow: hidden;
}
.picture-item img {
  display: block;
  width: 100%;
  height: auto;
}
.picture-item .picture-item__details,
.picture-item .picture-item__description {
  padding: 1em;
}
.picture-item .picture-item__description {
  margin: 0;
  padding-top: 0;
  padding-right: 2em;
}
.picture-item .picture-item__tags {
  margin: 0;
}

/*
  Shuffle needs either relative or absolute positioning on the container
  It will set it for you, but it'll cause another style recalculation and layout.
  AKA worse performance - so just set it here
 */
.shuffle--container {
  position: relative;
  overflow: hidden;
}

.shuffle--fluid .shuffle__sizer {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

/* Animate in styles */
.shuffle--animatein {
  overflow: visible;
}

.shuffle--animatein .picture-item__inner {
  opacity: 0;
  -webkit-transform: translate(0, 220px);
  -moz-transform: translate(0, 220px);
  -ms-transform: translate(0, 220px);
  -o-transform: translate(0, 220px);
  transform: translate(0, 220px);
}

.shuffle--animatein .picture-item__inner--transition {
  -webkit-transition: all .6s ease;
  transition: all .6s ease;
}

.shuffle--animatein .picture-item.in .picture-item__inner {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

@media (max-width: 47.9375em) {
  .picture-item {
    height: auto;
    margin-top: 20px;
  }
  .picture-item.picture-item--h2 {
    height: auto;
  }
  .picture-item .picture-item__details,
  .picture-item .picture-item__description {
    font-size: .875em;
    padding: .625em;
  }
  .picture-item .picture-item__description {
    padding-right: .875em;
    padding-bottom: 1.25em;
  }

  .filter > .row-fluid,
  .filter > .row-fluid > div {
    margin: 10px 0;
  }

  .m-nofloat {
    float: none;
  }
}
