:root {
	--yellow: #FC3;
	--blue: #a1e1ee;
	--red: #bd2027;
	--sans: Jost, Futura, 'Trebuchet MS', Arial, sans-serif;
}

* {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	box-sizing: border-box;
}

html {
	font-size: 12px;
	color: #FFF;
	font-weight: 400;
}

body {
	font-family: var(--sans);
	font-optical-sizing: auto;
	margin: auto;
	padding: 0;
	display: flex;
	flex-flow: column;
	min-height: 100vh;
	background: #060503 url('../img/stars.png');
	/* Old browsers */
	background: url('../img/stars.png'), -moz-linear-gradient(top, #060503 10%, #033849 80%, #00688c 100%);
	/* FF3.6-15 */
	background: url('../img/stars.png'), -webkit-linear-gradient(top, #060503 10%, #033849 80%, #00688c 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: url('../img/stars.png'), linear-gradient(to bottom, #060503 10%, #033849 80%, #00688c 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#060503', endColorstr='#00688c', GradientType=0);
	/* IE6-9 */
	background-attachment: fixed;
}

a {
	color: #333;
	transition: all .2s;
}

a:hover {}

hr {
	margin: 2em auto;
	padding: 0;
	border: none;
	height: 1px;
	background: #CCC;

}

main {
	width: 100%;
	box-sizing: border-box;
	margin: 0 auto;
	clear: both;
	flex: 1;
	padding-left: 3vw;
	padding-right: 3vw;
}


main:before {
	content: '';
	height: 100%;
	width: 100%;
	max-width: 100em;
	margin: auto;
	left: 0;
	right: 0;
	position: absolute;
	z-index: -999;
	display: block;
	background: url('../img/accent.png') no-repeat center -15em;
}

.svg main:before {
	background-image: url('../img/accent.svg');
}

main:after {
	content: '';
	display: block;
	clear: both;
}


/***************************

MAIN BOOK SECTIONS

****************************/

.book,
footer {
	width: 100%;
	max-width: 100rem;
	margin: auto;
}

.book:after {
	content: '';
	display: block;
	clear: both;
}

.book {
	padding-bottom: 8em;
}

section .book {
	border-bottom: 1px solid var(--yellow);
	margin-bottom: 8em;
}

section:last-of-type .book {
	margin-bottom: 0;
	border-bottom: 0;
}

/* LEFT MARGIN: Bookshot width + 3em */

.buylinks,
.book .desc {
	padding-right: 35em;
}

/***************************

TITLE + AUTHOR

****************************/

h1,
h2,
h3 {
	margin: auto;
	font-weight: 600;
	line-height: 1.1em;
}

header {
	max-width: 100em;
	text-align: center;
	margin: 0 auto 10em;
	padding-top: 4.25em;
	text-transform: uppercase;
}

header h1 {
	color: #FC3;
	font-size: 2.5em;
	letter-spacing: .1em;
	font-weight: 600;
	margin: .25em auto;
}

header h1 span {
	font-size: 1rem;
	display: block;
	color: transparent;
	text-indent: -9999999px;
	width: 44em;
	padding-bottom: 15%;
	background: url('../img/caraval.png') no-repeat top center;
	background: url('../img/caraval.svg') no-repeat top center;
	margin: auto;
}

header h2 {
	font-weight: 600;
	font-size: 5em;
	letter-spacing: .1em;
}

header h3 {
	font-weight: 400;
	font-size: 1.5em;
	letter-spacing: .2em;
	line-height: 1.3;
}


/***************************

BOOK JACKET

****************************/

.book picture.bookshot {
	float: right;
	width: 30em;
	max-width: 600px;
	margin: auto;
}

.book picture.bookshot img {
	width: 100%;
	height: auto;
}

/***************************

BUY LINKS

***************************/


.buylinks button {
	display: none;
}

.buylinks br {
	display: none;
}

.buylinks h1 {
	text-transform: uppercase;
	font-size: 3.5em;
	font-weight: 200;
	letter-spacing: .1em;
}

.buylinks h2 {
	font-size: 1.5em;
	font-weight: 300;
	letter-spacing: .05em;
	margin: 0 auto .5em;
	padding-bottom: 1em;
	border-bottom: 1px solid #FFF;
	margin-bottom: 1em;
}

.buylinks h3 {
	text-transform: uppercase;
	letter-spacing: .1em;
}


.buylinks ul {
	padding: 0;
	/* Removes list indent */
	list-style-type: none;
	display: flex;
	flex-flow: wrap;
	justify-content: flex-start;
	text-align: center;
	gap: 1.5%;
}

.buylinks li {
	flex: 0 18.75%;
	display: flex;
	/* Three buttons per line */
	margin-bottom: 1.5%;
	overflow: hidden;
}


.buylinks li a {
	width: 100%;
	padding: .75em 1em;
	background: transparent;
	color: #FFF;
	text-decoration: none;
	border: 1px solid #FFF;
	font-weight: 400;
	\
 overflow: hidden;
	white-space: nowrap;
	border-radius: 2em;
	text-overflow: ellipsis;
}

.buylinks li a:hover {
	background: #FFF;
	color: #333;
}

.buylinks li a:hover:before {
	color: var(--red);
}

.buylinks li a:before {
	color: var(--yellow);
	vertical-align: -.2em;
}


/***************************

DESCRIPTION

****************************/

.desc {
	margin-top: 4em;
}

.desc h1 {
	font-size: 2.5em;
	line-height: 1.3;
	margin-bottom: .5em;
	color: var(--yellow)
}

.desc p {
	line-height: 1.75;
	font-size: 2em;
	margin: 0;
	font-weight: 300;
}

.desc p b {
	line-height: 1em;
}


/***************************

FLATRION FIRST EDITION SIGN UP

****************************/


#newsletter {
	margin: 0 auto 3em;
}

#newsletter h1 {
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: 1.5em;
	line-height: 1.25em;
	margin: 0 auto 2em;
}

#newsletter .hbspt-form form label {
	color: var(--yellow);
}


#newsletter .hbspt-form form .input input,
#newsletter .hbspt-form form .input select {
	border: 1px solid white;
	border-radius: 5em;
}

#newsletter .hbspt-form form .input select {
	background-image:
		linear-gradient(45deg, transparent 50%, var(--red) 50%),
		linear-gradient(135deg, var(--red) 50%, transparent 50%);
}

.is-placeholder {
	color: #999;
	font-weight: 600
}

#newsletter .hbspt-form form .hs-button {
	background: var(--red);
	border: 2px solid var(--red);
	border-radius: 5em;
	color: white;
	font-weight: 600;
}

#newsletter .hbspt-form form .hs-button:hover {
	background: var(--yellow);
	color: #333;
	border-color: var(--yellow);
}

#newsletter .hbspt-form form .hs_error_rollup .hs-error-msgs label {
	color: red;
}


/***************************

FOOTER & COPYRIGHT

****************************/

footer {
	text-align: center;
	padding: 3em 3vw 2em;
	margin: auto;
}

footer .section {
	border-top: 1px solid #FFF;
	padding-top: 4em;
	max-width: 100em;
}


footer a {
	color: white;
}



#logo {
	display: block;
	width: 4em;
	margin: 0 auto 1em;
}

#logo img {
	width: 100%;
}

footer .social {
	display: block;
	text-align: center;
	margin-bottom: 1em;
}

footer .social a {
	font-size: 1.25em;
	text-decoration: none;
	line-height: 0;
	font-weight: 600;
}

footer .social a {
	white-space: nowrap;
	margin: 0 1em .5em 0;
	display: inline-block;
}

footer .social a:hover {
	text-decoration: underline;
}

footer .social img {
	height: 1.25em;
	width: 1.25em;
	vertical-align: -.25em;
	margin-right: .25em;
}

footer .social div {
	display: inline-block;
	margin: auto;
}

footer ul {
	list-style: none;
	margin: 0 5vw 0;
	line-height: 1.5;
	padding: 0;
	text-align: center;
	justify-content: center;
	display: flex;
	gap: 1.5em;
	position: relative;
}

a.cookie-privacy:after {
	content: "";
	display: inline-block;
	vertical-align: -.6em;
	width: 2.5em;
	height: 1.5em;
	background-image: url(https://us.macmillan.com/wp-content/themes/macmillan-publishers/images/privacy-policy.png);
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: .5em;
}

/*!!!!!!!!!!!!!!!!!!!!!!

MEDIA QUERIES

!!!!!!!!!!!!!!!!!!!!!!*/


/* Medium Desktop & Landscape iPad */

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

	.book,
	footer .section {
		max-width: 80em;
		margin: auto;
	}

	header {
		margin-bottom: 6em;
	}

	.buylinks ul li {
		flex: 0 1 32%;
		/* Three buttons per line */
		margin-bottom: 2%;
	}

	.book picture.bookshot {
		width: 40%;
		margin-bottom: 2em;
	}

	.buylinks,
	.book .desc {
		padding-right: calc(40% + 5em);
	}

	.book {
		margin-bottom: 6em;
		padding-bottom: 6em;
	}
}


/* Small Desktop & Portrait iPad */

@media only screen and (max-width: 860px) {
	main:before {
		margin: auto;

		background-size: 120%;
		background-position: center -20vw;
		width: 100%;
		box-sizing: border-box;
	}

	main,
	footer {
		padding: 0 5vw;
	}

	header {
		padding-top: 2em;
	}

	header h2 {
		font-size: 4em;
	}

	header h3 {
		font-size: 1.25em;
	}

	section .book {
		padding-bottom: 3em;
		margin-bottom: 3em;
	}


	.book picture.bookshot {
		width: 45%;
		margin-left: 3em;
		float: right;
	}

	.buylinks ul li {
		flex: 0 1 49%;
		/* Three buttons per line */
		margin-bottom: 2%;
	}

	.buylinks {
		padding-right: calc(45% + 3em);
	}


	.buylinks h1 {
		font-size: 3em;
	}


	.book .desc {
		padding: 0;
		margin-top: 2em;
	}


	.desc p {
		font-size:
	}


	footer .social div {
		display: inline-block;
		text-align: left;
		margin-left: 1rem;
	}

	footer .social a {
		display: block;
	}

}

/* Mobile Device */

@media only screen and (max-width: 600px) {
	header {
		margin-bottom: 2em;
		padding-bottom: 2em;
		border-bottom: 1px solid var(--yellow);
	}

	header h1 span {
		width: 100%;
		padding-bottom: 25%;
	}

	header h1 {
		font-size: 2em;
	}

	header h2 {
		font-size: 7vw;
	}

	header h3 {
		margin-bottom: .5em;
	}

	.buylinks,
	.book .desc {
		/* Remove book float */
		padding: 0;
	}


	/* Reorder book details for mobile */

	.book {
		display: flex;
		flex-flow: wrap;
	}

	.book picture.bookshot {
		flex: 0 1 60%;
		order: 2;
		margin: 0 auto;
	}

	.buylinks {
		flex: 0 1 100%;
		order: 1;
		margin: 0 auto 1em;
		width: 100%;

		text-align: center;
	}

	.buylinks h2 {
		margin-bottom: 0;
		border-bottom: 0;
		text-indent: -2em;
		margin-left: 2em;
	}


	.js .buylinks button {
		width: 49%;
		font-family: var(--sans);
		color: var(--yellow);
		font-weight: 600;
		font-size: 1em;
		margin: 1em auto;
		text-align: left;
		display: block;
		background: transparent;
		border: 1px solid var(--yellow);
		padding: .75em 3em .75em 1em;
		border-radius: 2em;
		background-image:
			linear-gradient(45deg, transparent 50%, var(--yellow) 50%),
			linear-gradient(135deg, var(--yellow) 50%, transparent 50%);
		background-position: calc(100% - 1.5em) center, calc(100% - 1em) center;
		background-size: .5em .5em, .5em .5em;
		background-repeat: no-repeat;
		outline: none;
		transition: background-color .2s ease;
	}

	.js .buylinks button.clicked {
		border-color: var(--yellow);
		background-color: var(--yellow);
		background-image:
			linear-gradient(135deg, transparent 50%, #333 50%),
			linear-gradient(45deg, #333 50%, transparent 50%);
		background-position: calc(100% - 1.5em) center, calc(100% - 1em) center;
		font-weight: 600;
		color: #333;
		transition: background-color .2s ease;
	}

	.buylinks br {
		display: block;
	}


	.buylinks div ul {
		display: none;
		margin-top: .5em;

	}

	.buylinks ul {
		display: block;
		text-align: left
	}

	.buylinks ul li {
		margin-bottom: .5em;
		display: inline-block;
		width: 48%;
		text-align: center;
	}

	.buylinks ul li:nth-of-type(odd) {
		margin-right: 2%;
	}

	.buylinks ul li a {
		display: block;
	}

	.book .desc {
		order: 3;
		text-align: center;
	}

	.book .desc p {
		font-size: 1.5em;
	}

	.book .desc h1 {
		font-size: 2em;
	}



	footer ul {
		display: block;
	}

	footer ul li a.cookie-privacy:after {
		display: block;
		margin: auto;
	}

}
