/* Styling for SleepPhones.com goes here! */
/*font-family: 'Open Sans', sans-serif;
font-family: 'Lato', sans-serif;
font-family: 'Euphoria Script', cursive;
 */
body {
	font-family: "Lato", sans-serif;
	font-weight: 400;
	margin: 0;
}
h1, h2, h3 {
	font-family: "Open Sans", sans-serif;
	margin-bottom: 0;
}
h2, h3{
	margin-top: 5%;
}
body p
{
	font-weight: 400;
	color: #000000;
}
img
{
	max-width: 100%;
	width: auto;
	height: auto;
}
a
{
	color: #9278D1;
	text-decoration: none;
}
iframe
{
	max-width: 100%;
}
/* Start of Header + Navbar */
.breadcrumbs a
{
	text-decoration:none;
	color: black;
}
.breadcrumbs a:hover
{
	color: #9278D1;
}
.breadcrumbs
{
	color: #9278D1;
}
header
{
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 100%;
	height: 80px;
	position: fixed;
	background-color: white;
	border-bottom: 3px solid #9278D1;
	z-index: 100;
}
header img
{
	max-height: 46px;
	max-width: 262px;
}
header h1 a
{
	font-family: "Open Sans",sans-serif;
	font-size: 15px;
	font-weight: 600px;
	color: black;
	text-decoration: none;
	text-decoration-color: white;
}
header .cart a
{
	color: black;
	text-decoration: none;
}
header nav:hover > h1 a
{
	color: #9278D1;
	text-decoration: none;
	transition: 0.5s;
}
header ul
{
	opacity: 0;
	padding: 0;
}
header ul li
{
	display: none;
	padding: 5px 3px 5px 3px;
	border-bottom: 1px black;
}
header ul li a
{
	color: black;
	text-decoration: none;
	display: flex;
	flex-wrap: wrap;
	max-width: 200px;
}
header ul li a:hover
{
	color: #9278D1;
	transition: 0.3s;
}
header ul:hover > li
{
	opacity: 1;
	transition: 0.3s;
}
nav:hover > ul li
{
	display:block;
}
header nav:hover > ul
{
	display: flex;
	flex-direction: column;
	position:absolute;
	background-color: white;
	box-shadow: 1px 1px 3px dimgrey;
	margin: 0;
	opacity: 1;
	transition: 0.3s;
}
#btnControl
{
	display: none;
}
#btnControl:checked + label > div
{
	display: block;
}
.togglesearch
{
	background: #FAFAFA;
	position: absolute;
	top: 80px;
	right: 0;
	width: 325px;
	height: 60px;
	line-height: 60px;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	border-top:2px solid #9278D1;
	display: none;
}
.togglesearch input[type="text"]
{
	width: 200px;
	padding: 5px 10px;
	margin-left: 23px;
	border: 1px solid #9278D1;
	outline: none;
}
.togglesearch input[type="submit"]
{
	width: 80px;
	padding: 5px 0;
	background: #FAFAFA;
	color: black;
	margin-left: -6px;
	border: 1px solid #9278D1;
	outline: none;
	cursor: pointer;
}
.searchbar, .cart
{
	padding-top: 10px;
}
/* End of Header + Navbar */
.banner
{
	font-family: "Open Sans",sans-serif;
	font-size: 20px;
	padding: 16.5px 0;
	text-align: center;
	width: 100%;
	background-color: #9278D1;
	box-shadow: 0px 0px 2px dimgrey;
	color: white;
	padding-top: 100px;
}
.banner a
{
	color: white;
	text-decoration: none;
}
#btnControl
{
	display: none;
}
#btnControl:checked + label > div
{
	display: block;
}
.togglesearch
{
	background: #FAFAFA;
	position: absolute;
	top: 80px;
	right: 0;
	width: 325px;
	height: 60px;
	line-height: 60px;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	border-top:2px solid #9278D1;
	display: none;
}
.togglesearch input[type="text"]
{
	width: 200px;
	padding: 5px 10px;
	margin-left: 23px;
	border: 1px solid #9278D1;
	outline: none;
}
.togglesearch input[type="submit"]
{
	width: 80px;
	padding: 5px 0;
	background: #FAFAFA;
	color: black;
	margin-left: -6px;
	border: 1px solid #9278D1;
	outline: none;
	cursor: pointer;
}
/* Start of Article + Catalog*/
article
{
	max-width: 1600px;
	margin: 0 auto;
	padding: 10px 10% 0px 10%;
}
article h1
{
	text-align: center;
}
.catalog
{
	display: grid;
	margin: 0 auto;
	width: 70%;
	grid-template-areas: "head head head""pic pic pic";
	grid-template-columns: 277px 277px 277px;
	justify-content: center;
}
.catalog > h1
{
	grid-area: head;
	font-size: 21.3px;
	width: 100%;
}
.catalog > a
{
	height: 431px;
	grid-are: pic;
}
article a img
{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
.catalog img
{
	position: static;
	height: 431px;
	right: auto;
}
/* End of Article + Catalog */
/* Start of Share */
.sharing
{
	display: grid;
	grid-template-areas: "head head head head head" "social social social social social";
	grid-template-columns: 30px 30px 30px 30px 30px;
	grid-gap: 10px;
	margin: 0 auto;
	width: 40%;
	justify-content: center;
	margin-bottom: 10px;
}
.sharing h1
{
	margin: 10px 0px 0px 0px;
	text-align: center;
	grid-area: head;
}
.sharing a
{
	height: 30px;
	width: 30px;
}
.sharing img
{
	grid-area: social;
}
/* End of Share */
/* Start of Footer */
footer
{
	margin: 0 auto 0.5% auto;
	padding: 0px 15px 0px 15px;
	background-color: #383733;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	color: #a0a0a0;
	font-family: "Open Sans",sans-serif;
	font-size: 12px;
	padding-bottom: 10px;
}
footer:before
{
	background-color: #383733;
	position: absolute;
	left: 0;
	right: 0;
	height: 31%;
	max-height: 564.81px;
	z-index: -1;
	content: " ";
}
footer ul
{
	list-style-type: none;
	padding: 10px;
}
footer a
{
	color: #a0a0a0;
	text-decoration: none;
}
footer > aside.follow > ul > li
{
	margin: 0 5px 0 5px;
}
footer > aside.signup > div > div > form > div > div:nth-child(1) > div > div > div > div.ql-editor > p > span:nth-child(1),
footer > aside.signup > div > div > form > div > div:nth-child(1) > div > div > div > div.ql-editor > p > strong,
footer > aside.signup > div > div > form > div > div:nth-child(1) > div > div > div > div.ql-editor > p > span:nth-child(3){
	color: #a0a0a0 !important;
}
nav
{
	margin: 10px;
}
footer aside
{
	margin: 10px;
}
.follow
{
	padding-left: 20%;
	padding-right: 20%;
	margin: 0 auto;
	text-align: center;
	width: 500px;
	margin-bottom: 8px;
}
.signup
{
	text-align: center;
	margin-bottom: 10px;
	max-width: 300px;
	margin: 0 auto;
}
.follow ul
{
	display: flex;
	flex-direction: row;
	flex-wrap:nowrap;
	justify-content: center;
}
.signup form table tr td input[type="submit"]
{
	background-color: #9278D1;
	border: 0;
	width: 100%;
	height: 40px;
	font-size: 16px;
	color: white;
	border-radius: 2px;
}
.signup h1
{
	margin: 0 0 5px 0;
	font-size: 20px;
}
.signup form table
{
	text-align: center;
	margin: 0 auto;
}
.signup form table tbody tr td input[name="email"]
{
	max-width: 300px;
	width: 75vw;
}
.contact
{
	width: 152px;
}
#cookie-banner
{
	position: fixed;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	width: 80%;
	padding: 5px 14px;
	display: flex;
	align-items: center;
	justify-content: space-around;
	background-color: #9278D1;
	border-radius: 5px;
	box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
	color: black;
}
#cookie-banner p
{
	text-align: center;
	padding: 0px 55px 0px 55px;
	color: white;
}
#cookie-banner a
{
	color: lightblue;
}
#close-cookie-banner-button
{
	position: absolute;
	left: 10px;
	height: 40px;
	width: 40px;
	font-size: xx-large;
	background-color: white;
	border: none;
	color: black;
	border-radius: 2px;
	cursor: pointer;
}
aside#product-showcase,
aside#showcase
{
	display: block;
}
body > aside#product-showcase,
body > aside#showcase
{
	padding: 0 10%;
}
aside#product-showcase a,
aside#showcase a
{
	display: inline-block;
	width: 33%;
	margin-bottom: 2%;
}
aside#product-showcase a img,
aside#showcase a img
{
	width: 277px;
}
aside#favorites
{
	width: 60%;
	height: auto;
	margin: 0 10%;
	padding: inherit;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-top: 5px solid #9278D1;
}
aside#product-showcase,
aside#showcase
{
	width: 60%;
	text-align: center;
}
aside#product-showcase a,
aside#showcase a
{
	max-width: 32%;
}
aside#favorites ul
{
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: left;
	width: 2148.03px;
	padding: 0;
	border-top: 3px solid #eee;
	animation: post-carousel 30s linear infinite;
	margin-block-start: 3px;
	margin-block-end: 3px;
}
aside#favorites ul li
{
	list-style: none;
	max-height: fit-content;
	padding: 0 5px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 0 3px #eee;
	width: 200px;
	text-align: center;
}
aside#favorites ul li img
{
	width: auto;
	height: 100px;
	min-width: 20%;
	min-height: 20%;
}
aside#favorites ul li a
{
	margin-block-start: 1em;
}
aside#favorites > h1
{
	font-size: 1em;
	margin-block-start: 0.5em;
	margin-block-end: 0.5em;
}
aside#favorites ul li h2
{
	font-size: 1.2em;
	margin-block-start: 0.5em;
	margin-block-end: 0.5em;
}
aside#favorites ul li p
{
	margin-block-start: 0;
	margin-block-end: 1em;
}
aside#related
{
	float: right;
	position: absolute;
	right: 0;
	width: 20%;
}
aside#related ul
{
	display: flex;
	flex-direction: column;
	border-left: 3px solid #eee;
	margin-left: 10px;
	padding-left: 10px;
}
aside#related ul li
{
	display: flex;
	flex-direction: column;
	align-items: center;
	list-style: none;
	min-height: 20%;
	min-width: 20%;
	border-bottom: 1px solid black;
	box-shadow: 0 0 3px lightgrey;
	margin-bottom: 20px;
	padding: 4px;

}
aside#related ul li img
{
	display: inline;
	width: 100px;
	height: unset;
	min-width: 20%;
	min-height: 20%;
	margin: 0;
}
aside#related ul li:nth-child(1)
{
	border: none;
	box-shadow: none;
}
/* Start of Mobile Optimization */
@media only screen and (max-width: 1110px)
{
	body aside#product-showcase a,
	body aside#showcase a{
		width: 30%;
	}
}
@media only screen and (max-width: 800px)
{
	body aside#product-showcase a,
	body aside#showcase a{
		width: 40%;
	}
}
@media only screen and (max-width: 650px)
{
	body aside#product-showcase a,
	body aside#showcase a{
		display: unset;
	}
}
@media only screen and (max-width: 1200px)
{
	footer:before
	{
		height: 0;
	}
	.follow
	{
		margin-bottom: 0;
		padding-left: 0;
		padding-right: 0;
		width: auto;
	}
	.catalog
	{
		padding: 0;
		width: 90%;
	}
	.signup
	{
		width: auto;
	}
	aside#related
	{
		width: 25%;
	}
	@media only screen and (max-width: 1025px)
	{
		article a img
		{
			max-width: 100%;
			height: auto;
		}
		.catalog a img
		{
			height: 431px;
		}
	}
	@media only screen and (max-width: 950px)
	{
		.search
		{
			height: 0px;
			width: 0px;
		}
		.catalog
		{
			display: flex;
			justify-content: center;
			flex-direction: row;
			flex-wrap: wrap;
		}
	}
	@media only screen and (max-width: 900px)
	{
		aside#related
		{
			margin: 0;
			width: 100%;
			float: inherit;
			position: initial;
			display: table-cell;
		}
		aside#related h1
		{
			text-align: center;
		}
		aside#related ul
		{
			border: none;
			display: flex;
			flex-direction: row;
			flex-wrap: wrap;
			justify-content: center;
		}
		aside#related ul li
		{
			max-width: 300px;
		}
		aside#related ul li:nth-child(1)
		{
			width: 100%;
			max-width: 100%;
		}
		> aside#product-showcase,
		> aside#showcase
		{
			width: 80%;
			text-align: center;
		}
		> aside#favorites
		{
			width: 80%;
		}
	}
	@media only screen and (max-width: 810px)
	{
		footer
		{
			align-items: center;
			justify-content: center;
		}
		footer nav, .contact
		{
			text-align: center;
			width: 152px;
			margin: 4px;
		}
		.follow
		{
			width: 630px;
		}
	}
	@media only screen and (max-width: 670px)
	{
		header
		{
			height: 100px;
		}
		header .logo
		{
			margin-top: 3px;
			position: absolute;
			top: 0;
		}
		nav
		{
			padding-top: 30px;
		}
		.searchbar, .cart
		{
			padding-top: 37px;
		}
		.banner
		{
			padding-top: 120px;
		}
		.togglesearch
		{
			top: 100px;
		}
	}
	@media only screen and (max-width: 650px)
	{
		.follow
		{
			margin-top: auto;
			width: auto;
		}
		.signup
		{
			margin: 0 50px 0 50px;
		}
	}
	@media only screen and (max-width: 413px)
	{
		header
		{
			position: absolute;
		}
	}
	@media only screen and (max-width: 410px)
	{
		header
		{
			transform: translate(0,0);
			height: 105px;
		}
		.banner
		{
			padding-top: 130px;
		}
		.searchbar
		{
			position: absolute;
			top: 0;
			left: 45%;
			margin-left: -28px;
			padding-top: 42px;
		}
		.togglesearch
		{
			position: fixed;
			top: 106px;
			left: 0;
			width: 100%;
		}
		.togglesearch form
		{
			display: flex;
			justify-content: center;
			height: 100%;
			align-items: center;
			min-width: 324px;
			background-color: #FAFAFA;
		}
		.togglesearch input[type="text"]
		{
			margin: 0;
			height: 15px;
		}
		.togglesearch input[type="submit"]
		{
			height: 27px;
		}
		.cart
		{
			position: absolute;
			top: 0;
			left: 60%;
			margin-left: -22px;
		}
		header nav
		{
			padding-top: 67px;
		}
		header nav:hover > ul
		{
			margin-top: -8px;
			left: 0;
			width: 100vw;
		}
		.follow
		{
			max-width: 100%;
		}
		.signup
		{
			margin: auto;
		}
		#cookie-banner
		{
			display: flex;
			flex-direction: column-reverse;
		}
		#close-cookie-banner-button
		{
			position: initial;
		}
		#cookie-banner p
		{
			padding: inherit;
		}
	}
}
/* End of Mobile Optimization */
/* Start of IE10 Optimization */
html[data-useragent*='MSIE 10.0'] header {
	display: table;
	max-width: 100vw;
}
html[data-useragent*='MSIE 10.0'] header nav {
	display: table-cell;
	text-align: center;
	vertical-align: center;
	padding: 2px;
}
html[data-useragent*='MSIE 10.0'] header .logo {
	display: table-cell;
	margin: 0;
	padding: 0;
	min-width: 12em;
	max-width: 12vw;
	max-height: 100%;
	text-align: center;
	vertical-align: center;
}
html[data-useragent*='MSIE 10.0'] header .logo img {
	max-width: 100%;
	max-height: 100%;
	vertical-align: center;
}
html[data-useragent*='MSIE 10.0'] .banner{
	padding-top: 140px;
}
html[data-useragent*='MSIE 10.0'] header a img,
html[data-useragent*='MSIE 10.0'] footer > aside.follow > ul > li > a img,
html[data-useragent*='MSIE 10.0'] .sharing a img{
	border: 0;
	outline: 0;
	text-decoration: none;
}
html[data-useragent*='MSIE 10.0'] footer aside, footer nav{
	float: left;
	padding: 0 5% 0 5%;
}
html[data-useragent*='MSIE 10.0'] footer > aside.follow{
	display: block;
	margin: 0 25% 0 15%;
}
html[data-useragent*='MSIE 10.0'] .signup{
	float: right;
}
html[data-useragent*='MSIE 10.0'] footer > aside.follow > ul > li{
	float: left;
	margin: 0 4% 0 4%;
}
html[data-useragent*='MSIE 10.0'] footer > aside.follow > h1{
	text-align: center;
	width: 70%
}
html[data-useragent*='MSIE 10.0'] footer:after{
	content: "";
	display: table;
	padding: 2% 0 0 0;
}
html[data-useragent*='MSIE 10.0'] footer:after{
	clear: both;
}
html[data-useragent*='MSIE 10.0'] .sharing a img{
	margin: 0 4% 0 10%;
}



#product-showcase > a > h1,
#showcase > a > h1{
	font-size: 1em;
	min-height: 3em;
}
#product-showcase > a > h2,
#showcase > a > h2{
	font-size: .75em;
	color: black;
}
body#article #product-showcase > a > p,
body#article #showcase > a > p{
	text-align: unset;
	line-height: 1em;
	min-height: 3em;
}
#product-showcase div img,
#showcase div img{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: auto;
	margin-bottom: auto;
	width: 40%;
}
#product-showcase div,
#showcase div{
	height: 250px;
}
#product-showcase button,
#showcase button{
	background-color: #9278D1;
	border: none;
	color: white;
	padding: 20px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font: inherit;
	margin: 4px 2px;
	border-radius: 12px;
	cursor: pointer;
}
@media only screen and (max-width: 1400px){
	#product-showcase div,
	#showcase div{
		height: 220px;
	}
	#product-showcase h1,
	#showcase h1{
		line-height: 1em;
		min-height: 2em;
	}
	@media only screen and (max-width: 1280px){
		#product-showcase div,
		#showcase div{
			height: 200px;
		}
		#product-showcase > a > h2,
		#showcase > a > h2{
			line-height: 1em;
			min-height: 2em;
		}
		@media only screen and (max-width: 1147px){
			#product-showcase > a > p,
			#showcase > a > p{
				min-height: 4em;
			}
			@media only screen and (max-width: 1110px){
				#product-showcase div,
				#showcase div{
					height: 180px;
				}
				#product-showcase > a > p,
				#showcase > a > p{
					min-height: 5em;
				}
				@media only screen and (max-width: 1000px){
					#product-showcase div,
					#showcase div{
						height: 150px;
					}
					@media only screen and (max-width: 900px){
						#product-showcase div,
						#showcase div{
							height: 190px;
						}
						@media only screen and (max-width: 750px){
							#product-showcase div,
							#showcase div{
								height: 180px;
							}
							@media only screen and (max-width: 740px){
								#product-showcase > a > p,
								#showcase > a > p{
									min-height: 6em;
								}
								@media only screen and (max-width: 725px){
									#product-showcase div,
									#showcase div{
										height: 160px;
									}
									@media only screen and (max-width: 680px){
										#product-showcase > a > h2,
										#showcase > a > h2{
											min-height: 3em;
										}
										@media only screen and (max-width: 650px){
											#product-showcase div,
											#showcase div{
												height: 235px;
											}
											aside#product-showcase button,
											aside#showcase button{
												display: block;
												margin: 3px auto 3px auto;
											}
											#product-showcase > a > p,
											#showcase > a > p{
												min-height: 3em;
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

