/* ### Mixins, helpers and functions ### */

/* ### Sass Mixins ### */

/* ### Utility Mixins ### */

/* Media queries */

/* Target different screen resolutions here */

/* EXAMPLE
  @include bp(mobile) {
    width: 100%;
  }
*/

/**
 * vertical-center
 * Vertically center any element. Needs support for CSS tranforms.
 * Usage:
 * @include vertical-center;
 */

/**
 * Text replacement (instead of text-indent)
 * Usage: @include text-replacement();
 */

/* Retina Display Media Query */

/* EXAMPLE
  @include retina-display() {
    width: 100%;
  }
*/

/* Sass Mixin for Typekit and other webfont */

/*
Example usage:
@include font (300, italic);
@include font (300, normal , 2);
*/

/* Generate REMs from PX */

/* EXAMPLE
  @include rem('font-size',32px);
*/

.block {
	overflow: hidden;
	float: left;
}

.block:after {
	content: "";
	display: table;
	clear: both;
}

.block > li {
	overflow: hidden;
	margin-right: 30px;
	float: left;
	width: 218px;
}

.block > li:after {
	content: "";
	display: table;
	clear: both;
}

.block .card-wrapper {
	position: relative;
	height: 100%;
}

.block .card-wrapper .footer {
	position: absolute;
	bottom: 0;
}

.block .social {
	position: absolute;
	bottom: 30px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
}

.block-square > li {
	height: 340px;
}

.block-square .image {
	height: 150px;
}

.block-circle > li {
	height: 405px;
}

.block-circle > li > a .footer {
	padding: 0 15px;
}

.block-media > li {
	height: 245px;
}

.block-download > li {
	height: 370px;
}

.block-square-full-width .block {
	float: none;
	display: table;
	position: relative;
}

.block-square-full-width .block .image {
	display: table-cell;
	width: 218px;
	position: absolute;
	top: 0;
	bottom: 0;
}

.block-square-full-width .block .content {
	display: table-cell;
	padding-left: 248px;
}

.section-with-aside:after {
	content: "";
	display: table;
	clear: both;
}

.section-with-aside > aside {
	float: left;
	width: 218px;
	margin-right: 30px;
}

.section-blocks-full-width {
	overflow: hidden;
}

.section-blocks-full-width > div {
	float: left;
	width: 50%;
}

.section-blocks-full-width .block-carousel,
.section-blocks-full-width .block-address,
.section-blocks-full-width .block-text {
	position: relative;
}

.section-blocks-full-width .block-carousel-content,
.section-blocks-full-width .block-address-content,
.section-blocks-full-width .block-text-content {
	position: absolute;
	width: 100%;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.section-blocks-full-width .block-image {
	position: relative;
	height: 1px;
}

@media (max-width: 1023px) {

.block {
	float: none;
}

.block > li {
	width: 100%;
	height: auto;
}

.block .card-wrapper .footer {
	position: relative;
}

.block .social {
	position: relative;
	bottom: 0;
}

.block-square > li {
	height: auto;
}

.block-circle > li {
	height: auto;
}

.block-media > li {
	height: auto;
}

.block-download > li {
	height: auto;
}

.block-square-full-width .block .image {
	width: 100px;
}

.block-square-full-width .block .content {
	padding-left: 130px;
}

.section-with-aside > aside {
	float: none;
	width: 100%;
	margin-right: 0;
}

.section-blocks-full-width > div {
	float: none;
	width: 100%;
	padding-bottom: 0;
	margin-bottom: 0;
}

.section-blocks-full-width .block-image {
	height: auto;
}

.section-blocks-full-width .block-carousel .carousel-text {
	width: 90%;
}

}

