::selection {
	background: rgba(248,161,164,0.7);
}

a {
	color: #f15a5f;
	text-decoration: none;
	tap-highlight-color: rgba(248,161,164,0.7);
}

a:active {
	color: #ed3137;
	border-color: #ed3137;
}

.lowercase {
	text-transform: none;
}

.break {
	font-size: 0;
	display: inline-block;
}

span.no-uppercase {
	text-transform: none;
}

.label {
	background-color: #f15a5f !important;
	color: white;
	font-weight: bold;
	padding: 0 1.5rem ;
	min-width: 260px ;
	display: inline-block;
	text-align: center ;
	font-size: 2rem;
	text-transform: uppercase ;
	line-height: 4rem ;
	letter-spacing: .1rem ;
	vertical-align: middle;
	box-sizing: border-box;
	white-space: nowrap;
}

div.label
{

	background-color: #f15a5f !important;
	color: white;
	font-weight: bold !important;
	padding: 0 1.5rem !important;
	min-width: 260px !important;
	display: inline-block;
	text-align: center !important;
	font-size: 2rem !important;
	text-transform: uppercase !important;
	line-height: 4rem !important;
	letter-spacing: .1rem !important;
	vertical-align: middle !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;

}

.label.white {
	background-color: white !important;
	color: #666;
}

.label.button.white:active {
	background-color: #f15a5f;
	color: white;
}

.label.button.white.outline {
	background-color: transparent;
	color: white;
	border: 1px solid white;
	text-transform: uppercase;
	font-size: 1rem;
	line-height: 2.25rem;
}

.label.button.white.outline:active {
	border-color: #fcd9db;
	color: #fcd9db;
}

.label.description {
	font-size: .9rem;
	font-weight:bold;
	color:#666;
	width: 220px;
	line-height: 1.3em;
	height: 5.2rem;
	text-align: left;
	text-transform: none;
	padding: 0 2rem;
}

.label.button {
	font-size: 1.35rem;
	line-height: 2.8rem;
	text-transform: none;
	border: none;
	min-width: 8rem;
	padding: 0 1.5rem;
}

.label.button:active {
	color: #f15a5f;
	background-color: white;
}

.label.button.white {
	color: #f15a5f;
}

h2.label {
	background-color: white;
	color: #f15a5f;
	padding: 0 1.25rem;
	min-width: 0;
	font-size: 1.5rem;
	line-height: 2.5rem;
	font-weight: bold;
}

h3.label {
	padding: 0 1.25rem;
	min-width: 0;
	font-size: 1.2rem;
	line-height: 2.2rem;
	font-weight: 300;
}

h4.label {
	background-color: white;
	color: #f15a5f;
	padding: 0 1.25rem;
	min-width: 0;
	font-size: 1rem;
	line-height: 2rem;
	text-transform: none;
}

.banner {
	color: white;
	line-height: 25px;
	height: 25px;
	background-color: #f15a5f;
	padding-bottom: 5px;
}

.banner-android+.banner {
	padding-top: 5px;
}

.banner .pleft {
	font-size: 0.95rem;
	font-weight: bold;
	float: left;
	text-transform: none;
	margin-left: 20px;
}

.banner .pright {
	float: right;
	text-transform: uppercase;
	margin-right: 20px;
	font-size: .95rem;
}

.banner .mobile {
	margin: 0 20px;
	text-align: center;
	display: none;
}

.banner a, .banner :not(.mobile) a:hover, .banner a:active {
	color: white;
	border-bottom: 1px solid transparent;
}

.banner :not(.mobile) a:hover {
	border-bottom-color: white;
}

.banner-android {
	padding: 1rem;
	position: relative;
	display: block;
	text-align: center;
}

.banner-android:hover {
	border: none;
}

.banner-android-heart {
	height: 3rem;
	vertical-align: middle;
	margin-right: 1rem;
}

.banner-android p {
	color: #f15a5f;
	display: inline-block;
	vertical-align: middle;
	margin-right: 1rem;
}

.banner-android .close {
	height: 2rem;
	width: 2rem;
	position: absolute;
	top: 0;
	right: 0;
	background-image: url('../img/close.svg');
	background-size: 50%;
	background-position: .5rem;
	background-repeat: no-repeat;
}

.header-logo {
	font-weight: bold;
	font-size: 1rem;
	letter-spacing: .1rem;
	text-transform: uppercase;
	color: #f15a5f;
	height: 100%;
	line-height: 50px;
	position: absolute;
	top: 0;
	left: 20px;
}

.header-logo a:hover {
	border: none !important;
}

.header-logo.mobile {
	left: 0;
	width: 50px;
	font-size: 1.5rem;
	background-color: #f15a5f;
	display: none; /*only show for mobile*/
}

.header-logo.mobile > a {
	color: white;
}

.header-gallery header > .header-logo > a {
	color: white;
	background: #f15a5f;
	padding: .2rem .7rem .3rem .8rem;
	position: absolute;
	bottom: 0;
}

.header-title {
	display: inline-block;
	height: 100%;
	line-height: 50px;
	font-size: 1.0rem;
	letter-spacing:0.1rem;
	text-transform: uppercase;
	color: #f15a5f;
}

.vcenter-contents:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	/*margin-right: -0.25rem; adjusts for spacing, but letter spacing takes care of it */
}

.vcenter-contents > div {
	display: inline-block;
	vertical-align: middle;
	width: 95%; /* not quite 100% so fits inside with pseudo element */
}

.vbottom-contents:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: bottom;
	/*margin-right: -0.25rem; adjusts for spacing, but letter spacing takes care of it */
}

.vbottom-contents > div {
	display: inline-block;
	vertical-align: bottom;
	width: 95%; /* not quite 100% so fits inside with pseudo element */
}

.bgimage {
	display: none;
}

.has-bgimage {
	position: relative;
	z-index: 1;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.has-bgimage:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #f1f1f1;
	z-index: -1;
	pointer-events: none;
	transition: 500ms background;
}

.has-bgimage:nth-child(even):after {
	background: whitesmoke;
}

body:not(.scroll-show-images) .has-bgimage.loaded-bgimage:after, .scroll-show-images .has-bgimage.loaded-bgimage.scrolled-into-view:after {
	background: rgba(0,0,0,0);
}

.intro {
	padding: 4.5rem 3rem 4.5rem;
	letter-spacing: .2rem;
	text-align: center;
	background-color: #f15a5f;
	color: white;
}

.intro > .intro-title {
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1.35em;
	line-height: 1.75rem;
	letter-spacing: .2rem;
}

.intro > .intro-description {
	text-transform: uppercase;
	font-size: .9rem;
	margin-top: .5rem;
}

.intro > .button {
	margin-top: 2rem;
}

.menu {
	background: transparent !important;
	display: none;
	height: 168px;
	width: 180px;
	background: white;
	position: absolute;
	right: 5px;
	top: 25px;
}

@media only screen and (max-width: 1000px) {
	.banner {
		height: auto;
	}

	.banner.frame-poster .pleft, .banner.frame-poster .pright, .banner .pleft, .banner .pright {
		display: none;
	}

	.banner.frame-poster .mobile, .banner .mobile {
		display: block;
	}
	
}

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

	.line-break {
		display: block;
		color: transparent;
	}
	
	.intro > .intro-title > .line-break {
		height: .4rem;
	}
	
}

@media only screen and (min-width: 701px) {
	
	.header-gallery header > .header-logo {
		left: 5%;
		line-height: normal;
	}

}

@media only screen and (max-width: 700px) {
	
	a:hover {
		border-width: 0;
	}

	header > .header-logo.mobile {
		display: block;
	}
	
	header > .header-logo {
		display: none;
	}
	
	header > .header-logo.mobile > a {
		position: static;
	}
	
	.label.button {
		padding: 0 1rem;
	}
	
	.intro {
		padding: 3rem 1rem;
	}
	
	.intro > .intro-title {
		font-size: 1.4rem;
	}
	
}

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

	.mobile-hidden {
		display: none;
	}

	.header-logo {
		font-size: .6rem;
	}

	.header-title {
		font-size: .9rem;
	}
	
	.intro > .intro-title {
		font-size: 1.5rem;
	}

}

.multiproduct {
	padding: 0 3rem;
}

a.multiproduct {
	display: block;
	text-align: center;
	border-bottom-width: 0;
}

.multiproduct > .vcenter-contents {
	height: 100%;
}

.multiproduct .button {
	margin-top: 2rem;
}

.multiproduct .title {
	font-size: 2.5rem;
	line-height: 5.2rem;
}

.multiproduct .label.description, .multiproduct .label.title {
	width: 300px;
	box-sizing: border-box;
	white-space: normal;
}

.multiproduct, .product, .app {
	height: 50%;
	min-height: 450px;
	position: relative;
	max-height: 700px;
	display: block;
}

a.product:hover {
	border: none;
}

.gallery .product, .gallery .multiproduct {
	height: 100%;
	max-height: none;
}

.gallery .product.pright p.label {
	float: right;
	clear: both;
	margin-bottom: 1rem;
}

.gallery .product.pright p.product-description {
	clear: both;
}

.product.pcenter {
	height: 80%;
	min-height: 500px;
}

.product.white {
	color: white;
}

.product.dark {
	color: #666;
}

.product > .product-info {
	width: 35%;
	max-width: 375px;
	height: 100%;
	position: absolute;
	text-align: left;
}

.product.pcenter > .product-info {
	margin: 0 auto;
	position: static;
	max-width: none;
	text-align: center;
	height: 50%;
	width: auto;
}

.product.pcenter > .product-info p {
	width: 400px;
	margin: 0 auto;
}

.product.pcenter > .product-info .product-title, .product.pcenter > .product-info .product-description {
	padding: 1.5rem 1.5rem .75rem 1.5rem;
	background-color: white;
}

.product.pcenter > .product-info .product-description {
	margin: 0 auto ;
	padding: 0 1.5rem 1.75rem 1.5rem;
}

.product.pcenter > .product-info a {
	margin: 1rem .5rem;
}

.product > .product-info .product-title, .app > .app-title {
	font-size: 2.3rem;
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: .1rem;
}

.app > .app-title {
	padding: .75rem 1.5rem;
	background-color: white;
	color: #f15a5f;
}

.product > .product-info .product-description {
	margin: 1rem 0 1.5rem 0rem;
	font-size: 1.0rem;
	line-height: 1.25rem;
	font-weight:bold;
}

.product > .product-info .product-descriptionbook {
	margin: 1rem 0 1.5rem 0rem;
	font-size: 1.0rem;
	line-height: 1.25rem;
	color:#fff;
	font-weight:bold;
}

.product.pright > .product-info {
	right: 10%;
}

.product.pleft > .product-info {
	left: 10%;
}

.panel > .product.pright > .product-info {
	text-align: right;
}

.app > .app-title {
	text-align: right;
	position: absolute;
	top: 10%;
	left: 5%;
	white-space: nowrap;
}

.app > .app-bottom {
	position: absolute;
	bottom: 10%;
	width: 90%;
	left: 5%;
	white-space: nowrap;
	font-size: 0rem;
	text-align: center;
}

.app > .app-bottom > div {
	vertical-align: middle;
	display: inline-block;
}

.app > .app-bottom .app-link {
	margin-right: 3%;
	width: 22%;
}

.app-link {
	max-width: 150px;
}

.app-link a:hover {
	border: none;
}

.app-link img {
	width: 100%;
}

.app > .app-bottom > .app-description {
	white-space: normal;
	text-align: center;
	font-weight: bold;
	width: 50%;
	font-size: 1.35rem;
	line-height: 1.5rem;
	padding: .75rem 1.5rem;
	background: white;
	color: #f15a5f;
	box-sizing: border-box;
}

.mobile-app {
	display: none;
	background-color: white;
	text-align: center;
	padding-bottom: 1.5rem;
	color: #666;
}

.mobile-app > img:first-child {
	width: 100%;
}

.mobile-app > p {
	font-weight: bold;
	letter-spacing: .1rem;
	margin-bottom: .75rem;
}

.mobile-app > .mobile-app-title {
	text-transform: uppercase;;
	font-size: 1.75rem;
	
}

.mobile-app > .mobile-app-description {
	font-size: 1.25rem;
	margin-left: 1rem;
	margin-right: 1rem;
}

.mobile-app > .mobile-app-stars {
	color: #f15a5f;
	font-size: 1.5rem;
}

.mobile-app > .app-link {
	display: inline-block;
}

.product-thumbs {
	font-size: 0;
}

.product-thumbs > a {
	width: 20%;
	display: inline-block;
	position: relative;
}

.product-thumbs > a:hover {
	border: none;
}

.product-thumbs > a:nth-child(even) {
	background-color: #f5f5f5;
}

.product-thumbs > a > img {
	width: 100%;
}

.product-thumbs > a:first-child > div {
	height: 55%;
	width: 55%;
	position: absolute;
	top: 22%;
	left: 22%;
	background-color: rgba(243,90,95,1.0);
	border-radius: 100%;
}

.product-thumbs > a:first-child > div > div {
	font-size: 1rem;
	text-transform: uppercase;
	color: white;
	font-weight: bold;
	line-height: 1.1rem;
	letter-spacing: .1rem;
}

.newsletter-signup-wrapper {
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255,255,255,.85);
	font-weight: bold;
	transition: 350ms opacity;
	opacity: 1;
}

.newsletter-signup-wrapper.hide {
	opacity: 0;
	pointer-events: none;
}

.newsletter-signup {
	width: 25rem;
	margin: 0 auto 1rem auto;
	background: white;
	border: .2rem solid #f15a5f;
	border-radius: .2rem;
	padding: 1.5rem;
	
}

.newsletter-signup p {
	font-size: 1.25rem;
	text-transform: uppercase;
	letter-spacing: .1rem;
	line-height: 1.75rem;
	color: #f15a5f;
	margin-bottom: .5rem;
}

.newsletter-signup p.small {
	letter-spacing: .05rem;
	line-height: inherit;
	color: #666;
	font-size: 1rem;
	margin-bottom: .75rem;
}

.newsletter-signup form {
	border: .2rem solid #f15a5f;
	border-radius: .2rem;
	height: 2rem;
	position: relative;
}

.newsletter-signup form input {
	-webkit-appearance: none;
	border: none;
	height: 2rem;
	position: absolute;
	top: 0;
	font-size: 1rem;
	box-sizing: border-box;
	text-align: center;
	margin: 0;
	color: #f15a5f;
}

.newsletter-signup form input:focus {
	outline: none;
}

.newsletter-signup form input[type='text'] {
	width: 23rem;
	left: 0;
	padding: .5rem;
}

.newsletter-signup form input[type='submit'] {
	width: 2rem;
	right: 0;
	padding: 0;
	background: none;
	cursor: pointer;
}

.newsletter-signup form input::-webkit-input-placeholder {
	color: #f8a0a3;
} 

.newsletter-signup form input:-moz-placeholder {
	color: #f8a0a3;
}

.newsletter-signup form input::-moz-placeholder {
	color: #f8a0a3;
}

.newsletter-signup form input:-ms-input-placeholder {
	color: #f8a0a3;
}

.make-squares .shop-products {
  margin-top: 2rem !important; 
  margin-right: 0.7rem !important; 
  padding:0.2rem 1.5rem !important;
}

.make-squares-t {
  background: none !important; 
  color: white !important; 
  font-size:0.9rem !important; 
  font-weight:300 !important; 
  margin-top:-0.3rem !important; 
  margin-right:4.5rem !important; 
  margin-left: -2rem !important;
}

.shop-products-t {
  background: none !important; 
  color: white !important; 
  font-size:0.9rem !important; 
  font-weight:300 !important; 
  margin-top: -0.3rem !important; 
  margin-left: 0rem !important;
}

.square-stuff {
  margin-top: 30px;
}

.square-stuff a {
  padding: 5px 20px !important;
  width: 205px;
}

.square-stuff a.doop {
  margin-right: 14px;
}

.square-stuff p {
  width: 205px;
  padding: 0px;
  margin: 10px 0 0 0;
  font-size: 15px !important;
}

.square-stuff div {
  display: inline-block;
}

@media only screen and (max-width: 1000px) {
	.product-thumbs > a:first-child > div > div {
		font-size: .7rem;
	}
}

@media only screen and (max-width: 700px) {
	
	.gallery .panel, .gallery .dots, .gallery .control {
		display: none;
	}
	
	.gallery .panel:first-of-type {
		display: block !important;
		z-index: 1 !important;
		opacity: 1 !important;
	}
	
	.intro > .intro-title {
		margin-bottom: 2rem;
	}
	
	.product > .vbottom-contents.product-info {
		height: 100%;
	}
	
	.product > .vbottom-contents.product-info > div {
		vertical-align: middle;
	}
	
	.product > .vbottom-contents:before {
		vertical-align: middle;
	}
	
	.product > .product-info .product-title, .app > .app-title {
		font-size: 2rem;
	}
	
	div.app {
		display: none;
	}

	.mobile-app {
		display: block;
	}
	
}

@media only screen and (max-width: 700px) and (orientation : portrait) {
	
	.multiproduct {
		padding: 7rem 1rem;
	}
	
	.multiproduct, .product {
		min-height: 0;
	}
	
	.product-title, .product-description {
		display: none;
	}
	
	.product > div.product-info, .product.pcenter > div.product-info {
		width: 100%;
		max-width: none;
		font-size: 0;
		position: absolute;
	}
	
	.product.pright > .product-info, .product.pleft > .product-info {
		right: auto;
		left: auto;
		text-align: center;
	}
	
	.product.pcenter {
		height: 40%;
		min-height: 375px;
	}
	
	.product .vbottom-contents div, .product .vcenter-contents div {
		width: 100%;
		padding: 0;
		box-sizing: border-box;
	}
	
	.product-thumbs {
		display: none;
	}
	
}

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

  .square-stuff a.doop {
    margin-right: 0px;
  }
  
  .square-stuff p {
    margin-bottom: 25px;
  }

	.multiproduct .label.description, .multiproduct .label.title {
		width: 260px;
		padding: 0 1rem;
	}

	.newsletter-signup-wrapper {
		display: none;
	}

}

.header-gallery {
	height: 75%;
	min-height: 600px;
	position: relative;
	font-smoothing: subpixel-antialiased;
	color: #666;
}

.gallery .slider-transparent {
	display: none;
}

.header-gallery > header {
	height: 50px;
	z-index: 10;
}

.header-gallery > .gallery {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.header-gallery > .gallery > .dots {
	position: absolute;
	font-size: 0rem;
	text-align: center;
	width: 100%;
	bottom: 5px;
	z-index: 5;
}

.header-gallery > .gallery > .dots > .dot {
	display: inline-block;
	height: 10px;
	width: 10px;
	background-color: rgba(0,0,0,0.25);
	border-radius: 100%;
	margin: 5px;
	cursor: pointer;
}

.header-gallery > .gallery > .dots > .dot:hover, .header-gallery > .gallery > .dots > .dot.active {
	background-color: #f15a5f;
}

.header-gallery > .gallery > .control {
	position: absolute;
	top: 50%;
	margin-top: -10px;
	height: 20px;
	width: 20px;
	transform: rotate(45deg);
	border: 0 solid rgba(0,0,0,0.25);
	cursor: pointer;
	z-index: 10;
}

.header-gallery > .gallery > .control:hover {
	border-color: #f15a5f;
}

.header-gallery > .gallery > .next {
	right: 30px;
	border-right-width: 5px;
	border-top-width: 5px;
} 

.header-gallery > .gallery > .prev {
	left: 30px;
	border-left-width: 5px;
	border-bottom-width: 5px;
}

.header-gallery > .gallery > .panel {
	text-align: center;
	position: absolute;
	top: -1px;
	bottom: -1px;
	left: -1px;
	right: -1px; /* for when background-size: cover leaves a 1px space due to odd dimensions */
	opacity: 0;
	transition: 750ms opacity;
	z-index: 0;
	backface-visibility: hidden;
}

.header-gallery > .gallery > .panel.active {
	opacity: 1;
	z-index: 1;
}

.header-gallery > .gallery > .panel.dragging {
	transition: none;
}

.header-gallery > .gallery > .panel.top {
	z-index: 2;
	opacity: 1;
}

.header-gallery > .gallery > .panel.moving {
	transition: 750ms transform;
}

.header-gallery > .gallery .logo-big {
	font-size: 3.5rem;
	height: 5rem;
	line-height: 5rem;
	letter-spacing: .2rem;
	padding: 0 3rem;
}

.header-gallery > .gallery .header-tagline {
	font-size: 1.25rem;
	height: 2.75rem;
	line-height: 2.75rem;
	text-transform: none;
	min-width: 0;
	padding: 0 2rem;
	margin-top: 20px;
}

.header-gallery .label {
	min-width: 150px;
}

.header-gallery .label.description {
	min-width: 150px;
	font-size: 1rem;
}

.header-gallery .home-gallery .product-description {
	padding: 1rem;
	background-color: white;
}

@media only screen and (max-width: 1000px) {
	.header-gallery {
		min-height: 700px;
	}
}

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

	div.header-gallery {
		min-height: 0;
		height: auto;
	}
	
	.header-gallery > div.gallery {
		position: relative;
	}

	div.header-gallery > header {
		background-color: white;
	}

	.dots {
		pointer-events: none;
	}
	
	.gallery .slider-transparent {
		width: 100%;
		display: block;
	}

}

@media only screen and (max-width: 650px) {
	.header-gallery > .gallery span.logo-big {
		font-size: 1.75rem;
		line-height: 3rem;
		height: 3rem;
		padding: 0 2rem;
		letter-spacing: .1rem;
	}
	.header-gallery > .gallery span.header-tagline {
		font-size: .95rem;
		line-height: 2rem;
		height: 2rem;
		padding: 0 .75rem;
	}
	
}