/* -------------------------------------------------- */
/* Reset - http://purecss.io/base
/* -------------------------------------------------- */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section, main{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}.hide{display:none;}html{box-sizing: border-box;}*,*:before,*:after{box-sizing:inherit;}.clear{font-size:0px;clear: both;height: 0px;}*:focus{outline: none;}strong{font-weight:bold;}em{font-style:italic;}input:invalid{box-shadow: none;}button{border:none;background:none;padding:0;margin: 0;}button::-moz-focus-inner{border:0;}input,button{border-radius:0;border-radius:none;}button:hover{cursor: pointer;}html{scroll-behavior: smooth;}
/* -------------------------------------------------- */
/* Common
/* -------------------------------------------------- */
body{
	font-family: 'Libre Baskerville', serif;
	font-size: 16px;
	color: #2e3338;
	background: #2e3338;
}

a, a:visited{
	color: #f44c7f;
}
strong{
	font-weight: 700;
}
sup{
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}
p{
	line-height: 1.6em;
	margin-bottom: 21px;
}
p.nomarg{
	margin-bottom: 0;
}
p.align-center{
	text-align: center;
}
/* -------------------------------------------------- */
/* Headers
/* -------------------------------------------------- */

h1, h2, h3, h4{
	line-height: 1.2em;
	color: #23262a;
	text-align: center;
	font-weight: 700;
}
.main-content h2,
.main-content h3{
	font-family: 'Reenie Beanie', serif;
	color: #23262a;
	margin-bottom: 21px;
	line-height: 1em;
}
.main-content h2{
	font-size: 48px;
}
.main-content h3{
	font-size: 42px;
}
h2.section-hd,
.book-landing h2.section-hd,
.pg-title h1,
.main-content h4{
	font-family: Poppins, Arial, sans-serif;
	text-transform: uppercase;
}
.pg-title h1{
	margin-bottom: 15px;
	font-size: 21px;
}
h2.section-hd,
.book-landing h2.section-hd{
	font-size: 15px;
	margin-bottom: 27px;
}


/* -------------------------------------------------- */
/* Containers
/* -------------------------------------------------- */
.page{
	position: relative;
	background: #fff;
	width: 100%;
	right: 0;
	-webkit-transition: right .25s; /* Safari */
	transition: right .25s;
	z-index: 10;
}
.page.toggle{
	right: 236px; /* same width as .mnav */
}
.container,
.container-sm,
.container-med,
.container-wide{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding:  0 18px;
}
.container-sm{
	max-width: 720px;
}
.container-wide{
	max-width: 1366px;
}
.container-med{
	max-width: 1280px;
}
.nopad{
	padding: 0;
}

/* -------------------------------------------------- */
/* Images
/* -------------------------------------------------- */
figure.align-center,
figure.align-left{
	width: 100%;
}
figure.align-center{
	margin: 0 auto 21px auto;
	max-width: 210px;
}
figure img{
	width: 100%;
	height: auto;
	margin-top: .9em;
}
figure.align-right{
	float: right;
	max-width: 50%;
	margin: 6px 0 18px 18px;
}

/* -------------------------------------------------- */
/* Header
/* -------------------------------------------------- */
header{
	border-bottom: 1px solid #d0d0d2;
	padding: 12px 0 18px 0;
}
.logo{
	display: block;
	background: url('../images/threads.svg');
	width: 300px;
	height: 90px;
	margin: 0 auto 6px auto;
}
.tagline{
	font-family: 'Reenie Beanie', serif;
	font-size: 27px;
	text-align: center;
	color: #5b6670;
}
a.btn.book-btn,
.mnav-btn{
	position: absolute;
	right: 18px;
	top: 52px;
}

/* -------------------------------------------------- */
/* Buttons
/* -------------------------------------------------- */
a.btn,
button.btn,
.postnav a{
	display: inline-block;
	padding:  0 18px;
	background: #2e3338;
	font-family: Poppins, Arial, sans-serif;
	font-size: 14px;
	color: #fff;
	text-decoration: none;
	line-height: 48px;
	text-align: center;
}
a.btn:hover,
button.btn:hover,
.postnav a{
	background: #23262a;
}
a.btn.btn-alt{
	background: #f44c7f;
	padding: 0 36px;
}
a.btn.btn-alt:hover{
	background: #fb5994;
}
button.top{
	position: fixed;
	bottom: 18px;
	right: 18px;
	width: 48px;
	height: 48px;
	background: #2e3338 url('../images/up-arrow.svg') no-repeat center;
	z-index: 30;
}
button.top:hover{
	background-color: #23262a;
}
a.btn-buy{
	display: inline-block;
	margin-top: 6px;
	padding:  9px;
	line-height: 1em;
	background: #f44c7f;
	font-family: Poppins, Arial, sans-serif;
	font-size: 13px;
	color: #fff;
	text-decoration: none;
}
a.btn-buy:hover{
	background: #fb5994;
}
p.btn-p{
	text-align: center;
	padding-top: 9px;
}
.card-copy p.btn-p{
	text-align: left;
}
/* -------------------------------------------------- */
/* Top navigation
/* -------------------------------------------------- */
.topnav ul{
	display: flex;
}
.topnav li{
	flex-grow: 1;
}
.topnav li:first-child{
	display: none;
}
.topnav a{
	display: block;
	padding: 16px 8px;
	font-family: Poppins, Arial, sans-serif;
	font-size: 15px;
	color: #5b6670;
	text-decoration: none;
	text-align: center;
	border-bottom: 1px solid #d0d0d2;
}
.topnav a:hover,
.current-menu-item a{
	border-color: #23262a;
	color: #23262a;
}
.current-menu-item a{
	border-color: #f44c7f;
	color: #f44c7f;
}

/* -------------------------------------------------- */
/* Doors
/* -------------------------------------------------- */
.home-doors{
	display: flex;
	margin-top: -1px;
}
.door{
	position: relative;
	background: #cdeee0 no-repeat center top;
	background-size: cover;
	width: 50%;
	height: 75vh;
}
.door-inside{
	position: absolute;
	width: 100%;
	top: 0; bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.door-btn{
	display: inline-block;
	background: #f44c7f;
	font-family: Poppins, Arial, sans-serif;
	color: #fff;
	text-decoration: none;
	text-shadow: 0 1px 0 rgba(0,0,0,.25);
	line-height: 60px;
	text-align: center;
	width: 280px;
}
.door-inside:hover .door-btn{
	background: #ef416d
}

/* -------------------------------------------------- */
/* Responsive video
/* -------------------------------------------------- */
.video { 
	position: relative; 
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
	height: auto;
	margin-bottom: 1em;
} 
.video iframe, .video object, .video embed { 
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* -------------------------------------------------- */
/* Main (common items)
/* -------------------------------------------------- */
.interior{
	padding: 48px 0 54px 0;
}
.pg-title{
	padding-bottom: 27px;
}

.pg-title hr{
	border: 0;
	margin: 0 auto;
	padding: 0;
	background: #f44c7f;
	height: 4px;
	width: 36px;
}
.main-content p{
	margin-bottom: 18px;
}
.main-content ul{
	margin-bottom: 18px;
}
.main-content ul li{
	background: url('../images/bullet.svg') no-repeat left .7em;
	padding: 0 0 12px 18px;
	line-height: 1.6em;
}
ul.split{
	display: flex;
	flex-wrap: wrap;
}
ul.split li{
	width: 50%;
}

/* -------------------------------------------------- */
/* On-page navigation
/* -------------------------------------------------- */

.pagenav{
	border-bottom: 1px dashed #d0d0d2;
	top: 0;
	background: #fff;
	padding-top: 16px;
}
.pagenav ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.pagenav button{
	background: none;
	border: none;
	text-align: center;
	padding: 0 18px 16px 18px;
	margin: none;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	color: #f44c7f;
}
.pagenav button:hover{
	color: #2e3338;
}

/* -------------------------------------------------- */
/* Page - content 
/* -------------------------------------------------- */
.content-group{
	padding: 27px;
	margin-bottom: 27px;
	background: #cdeee0;
	text-align: center;
}
.card{
	display: flex;
	flex-wrap: wrap;
	background: #fff;
	text-align: left;
	align-items: center;
	padding: 27px;
	border-bottom: 1px solid #cdeee0;
	margin-bottom: 27px;	
}

.card-copy{
	padding: 0 27px;
	width: 70%;
}
.card-img{
	width: 30%;
}
.card-img img{
	width: 100%;
	height: auto;
}
.card h3,
.card h2{
	text-align: left;
}
.card-full-width{
	padding-top: 12px;
	width: 100%;
}
.table-wrap{
	position: relative;
	margin-bottom: 27px;
	overflow-x: auto;
}
table{
	width: 100%;
	border-spacing: 1px;
	border-collapse: separate;
}
table td,
table th{
	text-align: center;
	width: 33.33333333333333%;
	line-height: 1.6em;
	padding: 12px 18px;
}
table th{
	font-size: 15px;
	font-family: Poppins, sans-serif;
	font-weight: bold;
	text-transform: uppercase;
	color: #2e3338;
	border-bottom: 2px solid #2e3338;
	min-width: 200px;
}
table td{
	background: #fff;
}
.table-copy td{
	text-align: left;
}

/* -------------------------------------------------- */
/* Shop
/* -------------------------------------------------- */
.main-content .post h2{
	font-family: 'Reenie Beanie', serif;
	font-size: 54px;
	text-transform: none;
	margin-bottom: 18px;
}
.post{
	margin-bottom: 54px;
}
.post-feature{
	background: #cdeee0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.post-feature-img,
.post-feature-copy{
	width: 50%;
}
figure{
	position: relative;
	line-height: 0;
}
figcaption{
	position: absolute;
	bottom: 0; left: 0;
	text-align: center;	
	background: #23262a;
	padding: 6px 9px;
	font-family: Poppins, sans-serif;
	font-size: 11px;
	line-height: 1.4em;
	color: #666;
}
.post-date{
	text-align: center;
	font-size: 15px;
	margin: -12px 0 21px 0;
	font-style: italic;
}
.post-feature-img img{
	width: 100%;
	height: auto;
}
.post-feature-copy{
	padding: 27px;
}
.post-shop{
	background: #fbe5ee;
	text-align: center;
	padding: 54px 18px 96px 18px;
}
.standalone-icon{
	display: block;
	width: 100%;
	height: auto;
	max-width: 210px;
	margin: 0 auto;
}
.post-collage{
	width: 100%;
	max-width: 720px;
	display: block;
	margin: 0 auto 21px auto;
}
.post-shop-items{
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
}
.post-shop-intro{
	margin: -12px 0 27px 0;
}
.post-shop-item{
	background: #fff;
	display: flex;
	align-items: center;
	margin-bottom: 1px;
	text-align: left;
	padding: 18px;
}
.post-shop-item h4{
	text-align: left;
	margin-bottom: 9px;
}
.post-shop-item p{
	margin-bottom: 0;
}
.post-shop-item-img{
	width: 136px;
	height: 136px;
	background: no-repeat center;
	background-size: contain;
}
.post-shop-item-text{
	flex-grow: 1;
	padding: 18px;
}
.postnav {
	display: flex;
	justify-content: center;
	padding-top: 18px;
}
.postnav a{
	width: 120px;
}

/* -------------------------------------------------- */
/* Blog
/* -------------------------------------------------- */
.blog-items{
	background: #cdeee0;
	padding: 27px;
}
.blog-item{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background: #fff;
	margin-bottom: 27px;
}
.blog-item:last-child{
	margin-bottom: 0;
}
.blog-item-img{
	width: 33%;
}
.blog-item-txt{
	width: 67%;
}
.blog-item-txt{
	padding: 27px;
}
.blog-item-txt a h2{
	font-size: 54px;
	font-weight: 700;
	text-align: left;
	margin-bottom: 9px;
}
.blog-item-text a h2{

}
.blog-item-txt p{
	padding-top: 9px;
	margin-bottom: 9px;
}
.blog-item-txt time{
	font-size: 15px;
	font-style: italic;
}
/* Single */
.blog-body{
	padding-top: 27px;
}

/* -------------------------------------------------- */
/* About
/* -------------------------------------------------- */

.bio-byline{
	font-style: italic;
	margin: -9px 0 27px 0;
	text-align: center;
}
.bio-byline-title{
	font-style: normal;
	font-weight: 700;
}
.page-section{
	margin: -27px 0 54px 0;
	padding-top: 27px;
}
.callout{
	font-size: 27px;
	font-style: italic;
}

footer{
	border-top: 1px solid #d0d0d2;
}
footer a{
	color: #2e3338;
}
/* -------------------------------------------------- */
/* Footer: News
/* -------------------------------------------------- */
.news{
	padding: 54px 0 42px 0;
	text-align: center;
	line-height: 1.6em;
	border-bottom: 1px solid #d0d0d2;
}
.news-item{
	margin-bottom: 18px;
}
.news-item h3{
	font-weight: 400;
	margin-bottom: 3px;
}
.news-item h3 a{
	color: #2e3338;
}
.news-item-source{
	font-style: italic;
	font-size: 15px;
}


/* -------------------------------------------------- */
/* Footer: Quotes
/* -------------------------------------------------- */
.quotes{
	padding: 54px 0;
	text-align: center;
}
.quotes blockquote{
	font-size: 21px;
	font-style: italic;
	line-height: 1.6em;
	margin-bottom: 9px;
}
.quote-byline{
	font-family: Poppins, Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 27px;
}
/* -------------------------------------------------- */
/* Footer: Optin
/* -------------------------------------------------- */
.optin{
	padding: 54px 0;
	background: #cdeee0;
	text-align: center;
}
.optin form{
	display: flex;
	margin-bottom: 21px;
}
.optin input{
	flex-grow: 1;
	height: 48px;
	padding: 0 18px;
	font-family: 'Georgia', serif;
	font-size: 16px;
	color: #5b6670;
	border: none;
}
.sm-text{
	font-style: italic;
	font-size: 13px;
}

/* -------------------------------------------------- */
/* Footer: base
/* -------------------------------------------------- */
.foot-base{
	padding: 54px 0;
	text-align: center;
}
.foot-base p{
	font-size: 15px;
	margin-bottom: 12px;
	line-height: 1.2em;
}
.social{
	display: flex;
	justify-content: center;
	margin: -3px -3px 12px -3px;
}
.main-content .social{
	justify-content: start;
	margin: 0 -3px 18px -3px;
}
.main-content .social li{
	padding: 0;
	background-image: none;
}
.social a{
	background: #2e3338 no-repeat center;
	display: block;
	width: 36px;
	height: 36px;
	margin: 3px;
	border-radius: 18px;
}
.social a.facebook{
	background-image: url('../images/facebook.svg');
}
.social a.pinterest{
	background-image: url('../images/pinterest.svg');
}
.social a.instagram{
	background-image: url('../images/instagram.svg');
}
.social a:hover{
	background-color: #23262a;
}

/* -------------------------------------------------- */
/* Mobile navigation
/* -------------------------------------------------- */
button.mnav-btn{
	background: url('../images/menu.svg') no-repeat center;
	display: none;
	width: 48px;
	height: 48px;
}
.toggle button.mnav-btn{
	background-image: url('../images/close.svg');
}
.mnav{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	overflow-y: auto;
	width: 236px;
	z-index: 0;
	padding-top: 96px;
}
.mnav a,
.mnav button{
	display: block;
	width: 100%;
	text-align: left;
	padding: 18px;
	border-bottom: 1px solid rgba(255,255,255,.05);
	font-family: Poppins, Arial, sans-serif;
	font-size: 15px;
	color: #fff;
	text-decoration: none;
}
.mnav li:first-child button{
	font-size: 36px;
}

/* -------------------------------------------------- */
/* Book Landing Page
/* -------------------------------------------------- */

/* Common */ 

.book-landing h1,
.book-landing h2,
.book-landing h3{
	font-family: Poppins, sans-serif;
	font-weight: 700;
}
.book-landing h3{
	font-size: 27px;
	padding: 12px 0;
}
.book-landing h2{
	font-size: 36px;
}
.book-landing p{
	padding: 12px 0;
	line-height: 1.8em;
	margin: 0;
}
.book-landing hr{
	padding: 0;
	border: none;
	border-bottom: 2px solid #ed4399;
	margin: 12px 0;
}
.book-dark-bg{
	background: #293133;
	background-image: linear-gradient(to bottom right, #3a4244, #293133);
	color: #fff;
}
.book-dark-bg h2{
	color: #fff;
}
.book-dark-bg h3{
	color: #f4cde0;
}

/* Hero */ 

.book-hero{
	background-image: linear-gradient(transparent, #ffdff2);
	padding: 27px 0;
}
.book-hero .container-med{
	display: flex;
	align-items: center;
	padding: 0;
}
.book-hero .img{
	text-align: center;
	padding: 18px;	
}
.book-hero .img img{
	height: auto;
}
.book-hero .txt{
	flex-grow: 1;
	padding: 18px;
}
.book-hero p{
	padding: 9px 0;
	margin: 0;
}
.book-hero h1{
	font-size: 54px;
	text-align: left;
	line-height: 1em;
	padding: 9px 0;
}
.book-hero .preheader{
	font-family: 'Reenie Beanie', serif;
	font-size: 42px;
	color: #f44c7f;
	line-height: 1em;
	padding: 0;
}
.book-hero .postheader{
	font-family: Poppins, sans-serif;
	font-weight: 500;
	line-height: 1em;
}

/* Summary */

.book-sum{
	padding: 54px 0;
}

/* Press */
.news.book-news h3{
	margin-bottom: 3px;
	padding: 0;
	font-family: 'Libre Baskerville', serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2em;
}

/* Authors */

.book-authors{
	padding: 54px 0;
	padding-bottom: 162px;
}

/* Reviews */

.glide__bullets{
	display: flex;
	justify-content: center;
	margin: 0 -3px;
	padding: 27px 0 0 0;
}
.glide__bullets button{
	width: 16px;
	height: 16px;
	border-radius: 8px;
	border: 3px solid #ccc;
	margin: 0 3px;
}
.glide__bullets button:hover{
	cursor: pointer;
	border-color: #f44c7f;
}

.glide__bullets button.glide__bullet--active{
	border-color: #f44c7f;
}

/* Buy */

.book-buy{
	background-image: linear-gradient(#ffdff2, transparent);
	padding: 0 0 81px 0;
	text-align: center;
}
.book-buy-img{
	height: auto;
	margin-top: -108px;
}
.book-btns a{
	background: #2e3338;
	color: #fff;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 48px;
	margin: 0 3px;
}
.book-btns a:hover{
	background: #23262a;
}

/* -------------------------------------------------- */
/* Breaking points
/* -------------------------------------------------- */
@media screen and (max-width: 960px) {
	a.btn.book-btn,
	.topnav,
	.tagline{
		display: none;
	}
	button.mnav-btn{
		display: inline-block;
	}
	.logo{
		margin-bottom: 0;
	}
	.book-hero .img,
	.book-hero .txt{
		width: 100%;
		padding: 0 18px;
	}
	.book-hero .container-med{
		flex-wrap: wrap;
	}
	.book-hero .img img{
		width: 100%;
		max-width: 400px;
		height: auto;
	}
	.book-hero .txt,
	.book-hero h1{
		text-align: center;
	}
}
@media screen and (min-width: 961px) {
	.page{
		right: 0 !important;
	}
}
@media screen and (max-width: 800px) {
	.home-doors{
		display: block;
	}
	.door{
		display: block;
		width: 100%;
		height: auto;
		text-align: center;
	}
	.door-inside{
		position: static;
		display: block;
		padding: 108px 0;
	}
}
@media screen and (max-width: 700px) {
	ul.split li{
		width: 100%;
	}
	.blog-item-img, .blog-item-txt{ width: 100%; }
}
@media screen and (max-width: 660px) {
	.card-img{
		width: 100%;
		text-align: center;
	}
	.card-img img{
		max-width: 210px;
	}
	.card-copy{
		width: 100%;
		padding: 0;
	}
	.card h3{
		text-align: center;
	}
	.card-copy p.btn-p{
		text-align: center;
	}

}
@media screen and (max-width: 640px) {
	.post-feature-img,
	.post-feature-copy{
		width: 100%;
	}
	.book-hero h1{ font-size: 42px; }
}
@media screen and (max-width: 520px) {
	.logo{
		background: url('../images/threads-needle.svg');
		width: 103px;
	}
	.door-inside{
		padding: 72px 0;
	}
	.post-shop-item{
		display: block;
		padding: 18px 0 0 0;
	}
	.post-shop-item-img{
		display: block;
		width: 90px;
		height: 90px;
		padding: 0;
		margin: 0 auto;
	}
	.post-shop-item-text,
	.post-shop-item-text h4{
		text-align: center;
	}
}
@media screen and (max-width: 450px) {
	.content-group,
	.card{
		padding: 27px 18px;
	}
	.main-content h3{
		font-size: 36px;
	}
	.main-content .press-item h3{
		font-size: 21px;
	}
	figure.align-right{
		width: 100%;
		max-width: 100%;
		margin-left: 0;
	}
	
}
@media screen and (max-width: 380px) {
	.optin form{
		display: block;
	}
	.optin input,
	.optin button.btn{
		width: 100%;
		text-align: center;
	}
}