@charset "utf-8";
/* CSS Document */

html, body {

	height:100%;

}
	
body {

	color:#000;
	background:#f9f6f7;
	margin: 0px;
	font-size:20px;
	line-height:150%;
	overflow-y:scroll;

}

header {

	position:relative;
    padding:20px 20px 15px 20px;
	text-align:center;
	background:#fff;
	margin-bottom:0px;
	margin:0 auto;
	/*border-top:7px solid #f7ddd6;*/

}

h1 {
	
	font-size:1.8em;

}

h2 {
	
	font-size:1.6em;
	margin-bottom:20px;
	
}

h3 {
	
	font-size:1.3em;
	
}

h1, h2, h3, h4 {
	
	line-height:120% !important;
	
}

h3 {

	margin-top: 20px;
	margin-bottom: 20px;

}
	
.logo {

    height:100px;

}

.product {

	width:200px; display:inline-block; margin:10px; text-align:center; color:#fff; font-size:0.8em;

}

.product:hover {

	opacity:0.8;

}

.product-inner {

	height:200px; background-size:cover; margin-bottom:10px; border:1px solid rgba(255,255,255,1); border-radius:5px; position:relative; box-shadow: 0 0 20px 0 rgba(0,0,0,0.1); background-position:center center;

}

.product-inner-title {

	position:absolute; left:0px; right:0px; bottom:0px; padding:5px; border-radius:0px 0px 5px 5px; background:rgba(0,0,0,0.8);

	/*background: #ef00a3;
	background: -moz-linear-gradient(left,  #ef00a3 0%, #d318ef 50%, #0084ff 100%);
	background: -webkit-linear-gradient(left,  #ef00a3 0%,#d318ef 50%,#0084ff 100%);
	background: linear-gradient(to right,  #ef00a3 0%,#d318ef 50%,#0084ff 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef00a3', endColorstr='#0084ff',GradientType=1 );*/

}

.home-hero-title {

	color:#fff; font-size:2.5em; text-shadow: 0px 0px 15px rgba(0,0,0,1), 0px 0px 60px rgba(0,0,0,1), 5px 5px 5px rgba(0,0,0,0.5); position:relative; margin-bottom:40px;

}

.templates-box {

	scrollbar-color:#218eee #FFF !important;
	scrollbar-color:#218eee #FFF !important;

}

.templates-box::-webkit-scrollbar-thumb {

	background:#218eee !important;

}
	
select, input:not([type=submit]):not([type=button]) {

	padding:15px;
	font-size:20px;
	border-radius:5px;
	margin-bottom: 10px;
	box-sizing: border-box;

}

.button.small-button {

	padding:5px 15px 5px 15px !important;
	font-size:0.8em !important;
	min-width:auto !important;

}
	
input[type=submit],input[type=button],.button {

	background:var(--colour-1) !important;
	padding:12px 15px 12px 15px !important;
	color:#fff !important;
	border:0px solid #fff !important;
	border-radius:5px !important;
	font-size:20px !important;
	cursor:pointer !important;
	min-width:240px !important;
	box-sizing: border-box !important;
	text-align: center !important;

}

.secondary-button {

	background:var(--colour-2) !important;

}

.button.home-hero-button {

	position:relative;
	font-size:1.3em !important;
	padding:15px 30px 15px 30px !important;
	max-width:300px;
	cursor:pointer;
	z-index:1;
	border-radius:10px !important;
	border:1px solid rgba(255,255,255,0.4) !important;

}

.top-nav {

	position:absolute; top:10px; right:10px; z-index:101;

}

.top-nav.sticky {

	position:fixed !important;

}

.small-header {

	display:none;
	box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
	padding:10px 10px 5px 10px;
	background:rgba(255,255,255,0.95);
	position:fixed;
	top:0px;
	left:0px;
	right:0px;
	z-index:100;

}

.small-logo {

	height:32px;

}

.footer {
	
	clear:both; text-align: center; padding:30px !important; font-size:18px; color:#888; margin:0px auto; color:rgba(0,0,0,0.4);

}

.small-input {
	
	padding:10px;
	
}

.share-button-form {

	display:inline-block

}

.main-container {

	box-shadow: 0 0 20px 0 rgb(0 0 0 / 20%);
    border-radius: 5px;
	max-width:1020px;
	margin:0 auto;
	background:#fff;
	padding:30px;
	box-sizing:border-box;
	font-size:0.9em;
	
}

.alert {

	padding:20px 30px 20px 30px;
	border-radius:10px;
	margin:10px auto 15px auto;
	width:100%;
	max-width:960px;
	/*-webkit-box-shadow: 0 0 5px 1px rgba(0,0,0,0.1);
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.1);*/
	-webkit-box-shadow:inset -1px -1px 0 0 rgba(0,0,0,0.15);
	box-shadow:inset -1px -1px 0 0 rgba(0,0,0,0.15);
	box-sizing: border-box;

}

.alert.alert-small {

	padding:11px;
	font-size:0.7em;

}

.green-alert {

	background-color:#abef86;

}

.yellow-alert {

	background-color:#ffea8c;

}

.red-alert {

	background-color:var(--colour-2);
	color:#fff;

}

.breadcrumb {

	margin: 0px auto 20px auto;
    background: transparent; /*f7ddd6*/
    margin-bottom: 20px;
    font-size: 15px;
    padding: 10px 10px 10px 10px;
    z-index: 100 !important;
    top: 0px;
	text-align: center;
	max-width:1000px;
	margin-top:10px;

}

.breadcrumb a {

	color:#111;

}

.selected-step:after { 
	content: " "; 
	display: block; 
	width: 0; 
	height: 0;
	border-top: 20px solid transparent;       
	border-bottom: 20px solid transparent;
	border-left: 20px solid var(--colour-1);
	position: absolute;
	top: 10%;
	margin-top: -4px; 
	margin-left: 0px;
	left: 100%;
	z-index: 1; 
}

.step:not(.selected-step){

	border-left:3px solid var(--colour-1);

}

.step:not(.selected-step):after { 
	content: " "; 
	display: block; 
	width: 0; 
	height: 0;
	border-top: 20px solid transparent;       
	border-bottom: 20px solid transparent;
	border-left: 20px solid #fff;
	position: absolute;
	top: 10%;
	margin-top: -4px; 
	margin-left: 0px;
	left: 100%;
	z-index: 1;
}

.breadcrumb-line {

	margin:-10px auto 20px auto; border-top:1px solid rgba(0,0,0,0.05); border-bottom:1px solid rgba(255,255,255,1); max-width:var(--max-width);

}

.step {
    margin-left: 30px;
    display: inline-block;
	font-size: 16px;
    padding: 5px 20px 5px 20px;
	background:#fff;
	position: relative;
	box-shadow: 5px 0 10px 0 rgba(0,0,0,0.2);
	font-size:1.1em;
}

.selected-step {
    background-color: var(--colour-1);
}

.selected-step a {
    color: #fff !important;
}

.right-column {
	
	width:40%; float:right; min-height:300px; padding:0px; box-sizing:border-box; border-radius:10px; padding-left:20px;
	
}

.customise-heading {
	
	margin-top:10px; margin-bottom: 20px;
	
}

.quote-container {

	margin-right:5px; padding:20px; box-sizing:border-box; border-radius:10px; background-color:#d8eeff;

}

.quote-icon {

	border-radius:5px;
	width:150px;
	height:150px;
	border:5px solid rgba(255,255,255,1);
	margin-bottom:5px;
	display:block;
	cursor:pointer;
	background-size:100% 100%;
	background-position:center center;

}
	
.quote-icon-container {

	float:left;
	font-size:14px;
	text-align: center;
	padding-bottom:10px;
	margin-right: 10px;

}
	
.quote-icon-selected {

	border:5px solid #ed008c;

}

.data-table {

	font-size:0.9em;

}
	
.not-selectable {

	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Old versions of Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none;

}
	
.quote-container h3 {

	clear:both; color:#2d89c2; border-bottom:1px solid rgba(45,137,194,0.3); padding-bottom:7px; margin-bottom:15px; font-size:28px; margin-top:10px;

}

.flex-left {
	
	flex:6;
	
}

.flex-right {
	
	flex:4;
	
}

.pricing-container {
	
	background-color:#fff; padding: 10px; border-radius:10px; box-sizing:border-box; padding-left:20px;
	
}

.account-manager-top-avatar {
	
	width:60px; height:60px; border-radius:40px; float:left; margin:0px 20px 10px 0px;	
	
}

.left-panel {
	
	float:left; padding-right:30px; border-right:1px solid #ddd; margin-right:30px; width:calc(50% - 31px);
	
}

.right-panel {
	
	float:left; width:calc(50% - 31px);
	
}

.account-manager-popup {
	
	right:10px; border-radius:10px; padding:20px; background:#fff; -webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,0.2); box-shadow: 0 0 10px 0 rgba(0,0,0,0.2); max-width:270px; border:1px solid #ddd; z-index:12; position:fixed; font-size:0.8em; line-height:140%;
	
}

.account-manager-popup-avatar {
	
	width:70px; height:70px; border-radius:40px; position:absolute; top:-80px; right:-10px; border:3px solid #1f8aca;
	
}

.customise-heading-small {
	
	display:none;

}

.buy-container {

	display:inline-block; text-align:left; max-width:665px; margin-left:20px;

}

.buy-container-spacing {

	min-width:500px;

}

.checkout-main-container {

	display:inline-block;

}

.checkout-price-container {

	float:left; width:320px;

}

.checkout-price-column {

	padding:15px; background:#fff; border-radius:10px; width:320px; margin-top:0px; box-sizing: border-box;

}

.checkout-price-box {

	background-color:#bfffa1; padding:15px; border-radius:10px; margin-bottom:20px; text-align:center;

}

.my-books-thumb {

	max-width:160px; min-width:160px; margin:0 auto; padding-bottom:10px; margin-right:20px;

}

.my-book .book-title {

	margin-bottom:15px;
	text-align:center;

}

.max-width-inner {

	padding-top:30px;
	max-width:960px;

}

.account-nav {

	float:right;

}

.account-nav form {

	display:inline-block;

}

.product-container {

	display:inline-block; padding-top:20px; min-width:700px;

}

.product-image {

	height:300px; width:300px; background-size:cover; margin-bottom:10px; border:1px solid rgba(255,255,255,1); border-radius:5px; position:relative; box-shadow: 0 0 20px 0 rgba(0,0,0,0.1); background-position:center center;

}

.my-books-buttons-container {

	text-align: right; padding-top:10px !important;

}

.cover-bottom-buttons {

	position:fixed; bottom:0px; left:0px; right:0px; padding:20px; background:rgba(255,255,255,1); text-align: center; z-index:5; border-top: 1px solid #ccc; -webkit-box-shadow: 0 -10px 20px 0 rgba(0,0,0,0.1); box-shadow: 0 -10px 20px 0 rgba(0,0,0,0.1);

}

.breadcrumb-i {

	display:none;

}

.footer {

	font-size:0.7em;
	padding-top:20px !important;
	border-top:1px dotted rgba(100,100,100,0.2);
	margin-top:20px;

}

@media (max-width: 1080px) {

	.product-image {

		height:200px; width:100%; box-sizing:border-box; margin-bottom:20px;
	
	}	

	.product-container {

		display:block; padding-top:10px; min-width:auto;
	
	}

	.checkout-main-container {

		display:block;
	
	}

	.checkout-3d-preview {

		display:none;

	}

	.checkout-price-container {

		float:none; width:100%;
	
	}

	.checkout-price-column {

		padding:0px; background:transparent; border-radius:0px; width:100%; padding-bottom:10px;
	
	}	

	.buy-container {

		margin-left:0px;
		width:100%;
	
	}

	.checkout-price-box {

		margin-bottom:0px;
	
	}	

	.buy-container-spacing {

		min-width:auto;
	
	}

	.flex-left {

		flex:1;
		min-width:500px;

	}

	.flex-right {

		flex:1;
		min-width:350px;

	}

	.templates-box, .templates-box.sticky, .sticky-wrapper {

		position:relative !important;
		float:none !important;
		max-width:none !important;
		height:auto !important;
		width: 100% !important;
		box-sizing: border-box !important;
		margin:0px !important;

	}

	.design-buttons-container .button {

		padding:10px !important;
		font-size:1.1em !important;

	}

	.layout-choice {

		display:inline-block;
		margin:10px !important;

	}

	.cover-bottom-buttons {

		padding:10px;

	}

	.cover-bottom-buttons input[type=button], .cover-bottom-buttons input[type=submit] {

		width:100% !important;
		padding:10px !important;
		font-size:0.8em !important;
		margin:0px !important;
		margin-bottom:10px !important;

	}

}

@media (max-width: 750px) {

	header {
		
		padding-top:60px;
		
	}

	.logo {

		max-width:350px;
		height:auto;
	
	}

	.breadcrumb {

		margin-top:0px;
		padding-top:0px;

	}

	.breadcrumb .step {

		margin:0px;
		box-sizing:border-box;
		font-size: 0.9em;
		padding:0px 10px 0px 10px;

	}

	.selected-step:after, .step:not(.selected-step):after {

		content: "";
		display:none; 

	}

	.home-hero-title {

		font-size:2em;
		line-height:110%;

	}

	.home-hero-button {

		font-size:1.7em;

	}

	.account-nav {

		float:none;

	}

	.account-nav form {

		display:block;
		text-align:center;

	}

	.account-nav .button {

		margin:0 auto;
		margin-bottom:5px;

	}

	.account-nav-spacer {

		height:20px;

	}
	
	.account-manager-linebreak {
		
		display:inline;
		
	}

	.inner.max-width-inner {

		padding-top:20px;

	}

	.my-book button {

		margin-bottom:0px;

	}

	.my-book .book-title {

		margin-bottom:0px; margin-top:20px;
	
	}
	
	.trustpilot {
	
		position: relative; top:0px; right:0px; margin-top:10px; text-align: center;
	
	}

	.logo {

		text-align: center; margin-top:10px; margin-bottom: 10px;

	}

	.inner {

		padding:10px;

	}

	.share-button-form {

		display:block

	}
	
	.main-container {
		
		padding:25px 20px 20px 20px !important;
		text-align: center;
		margin-bottom:10px;
		
	}
	
	.right-column {
	
		width:100%; float:none; min-height:0px; padding:0px; padding-left:0px;

	}
	
	.account-manager-top-container {
		
		text-align:left;
		font-size:16px;
		line-height:20px;
		
	}
	
	.quote-container {
		
		width:100% !important;
		float:none;
		
	}
	
	.quote-icon-container {
		
		float:none;
		display:inline-block;
		font-size:12px;
		
	}
	
	.sticky {
		
		position:relative !important;
		
	}
	
	.quote-container h3 {
		
		text-align: center;	
		
	}
	
	.customise-heading {
	
		display:none;

	}
	
	.customise-heading-small {
	
		display:block;
		margin-top:5px;
		margin-bottom: 10px;

	}
	
	.breadcrumb {
	
		margin-bottom: 10px;

	}
	
	.quote-icon {

		width:100px;
		height:100px;
		
	}
	
	input[type=submit], input[type=button], .button {
		
		min-width:auto;
		width:100%;
		
	}

	.breadcrumb-i {

		display:inline-block;

	}

	input:not([type=hidden]):not([type=radio]):not([type=checkbox]), select, textarea, input[type=button], input[type=submit] {

		margin-bottom:10px !important;

	}
	
	.flex-left {

		min-width:300px;

	}

	.flex-right {

		flex:0;

	}
	
	.pricing-container {
		
		padding-left:10px;
		
	}
	
	.account-manager-top-avatar {
	
		margin-top:0px;
		margin-bottom: 10px;
		margin-left: 0px;
		margin-right:10px;

	}
	
	.sticky-wrapper, .sticky {
		
		position:relative !important;
		top:0px !important;
		
	}
	
	.breadcrumb {
		
		padding:10px;
		
	}
	
	.left-panel {
	
		float:none; padding-right:0px; border-right:0px; margin-right:0px; width:100%; padding-bottom: 0px; border-bottom:1px solid #ddd; margin-bottom: 20px;

	}

	.right-panel {

		float:none; width:100%;

	}
	
	.left-panel h2 {
	
		font-size:24px;
		
	}
	
	.right-panel h2 {
	
		font-size:24px;
		
	}
	
	.account-manager-popup {
		
		font-size:16px;
		line-height:20px;
		padding:15px;
		background:#d8eeff;
		border:0px;
		left:20px;
		right:20px;
		max-width:100%;
		
	}
	
	.account-manager-popup-avatar {
	
		width:40px; height:40px; border-radius:40px; position:absolute; top:-45px; right:-25px; border:2px solid #1f8aca;

	}

	.breadcrumb {

		background:rgba(255,255,255,1);
		margin:0px;
		margin-left:0px !important;
		margin-right:0px !important;
		margin-bottom:5px !important;
		border-bottom:1px solid rgba(0,0,0,0.1);

	}

}

@media (max-width: 580px) {

	.my-books-thumb {

		max-width:none; min-width:none; margin:0 auto; padding-bottom:0px; margin-right:0px;
	
	}

	.align-center-on-mobile {

		text-align:center;

	}

	.product {

		display:block;
		width:100%;
		box-sizing: border-box;
		margin:0px 0px 20px 0px;

	}
	
	.footer {
	
		font-size:14px;

	}
	
	.main-background {
		
		padding:0px 10px 10px 10px;
		
	}

	.book-loader {

		padding:10px;

	}

	.my-books-buttons-container {

		padding-top:0px !important;

	}

	.product-info {

		padding:10px 15px 0px 15px !important;

	}

}