/**
 * Table of contents:
 * ------------------
 *
 * 1.0 	- Reset
 * 2.0 	- Main & Shared
 * 3.0	- Header
 * 4.0	- Sidebar
 * 4.5	- Book
 * 4.7	- Vouchers
 * 5.0	- Main content
 * 6.0	- Footer
 * 7.0	- Template specific: No sidebar
 * 8.0	- Template specific: Callback request
 * 9.0	- Exit intent
 
 * 20.0	- Reactive styles: Tablets
 * 21.0	- Reactive styles: Desktop
 * 22.0	- Reactive styles: Mobile (not first)


/**
 * 1.0	- Reset
 * --------------------------------------------------------------------------------
 */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


/**
 * 2.0	- Main & shared
 * --------------------------------------------------------------------------------
 */
html {
	position: relative;
	min-height: 100%;
}

body {
	position: relative;
	width: 100%;
	margin: 0 0 102px 0;
	background-color: #FFF;
}
body * { font-family: 'Gudea', sans-serif; }

.container { margin: 0 16px; }
.clear { clear: both; }
.ie-only { display: none; }
.sr-only { display: none; }
#onMobile { display: block; }

article li {
	position: relative;
	font-size: 15px;
	margin-bottom: 8px;
	padding-left: 48px;
	line-height: 1.2;
	min-height: 2em;
}

article li i {
	position: absolute;
	left: 0px;
}

h3 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 20px;
}

em { font-style: italic; }


/**
 * 3.0	- Header
 * --------------------------------------------------------------------------------
 */
header {
	position: relative;
	background-color: #4a4a48;
	margin: 0 -16px 20px -16px;
}

.leftCol {
	position: relative;
	width: 100%;
	display: inline-block;
}

.rightCol {
	display: inline-block;
	position: relative;
	width: 100%;
}

header h1,
header h2 {
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	color: #FFF;
	margin: 31px 23px 23px 23px;
	line-height: 1.2;
}

header h2 { 
	font-size: 18px;
	margin: 15px 17px 12px 17px;
}

header h2 a {
	color: #FFF;
	text-decoration: none;
}

/**
 * 4.0	- Sidebar
 * --------------------------------------------------------------------------------
 */
aside {
	margin: 0 -16px 20px -16px;
	background-color: #f3f2f2;
	padding: 1px 0;
}

aside .inner {
	margin: 16px 20px 20px 19px;
}

aside .sidebarTitle {
	font-size: 18px;
	font-weight: 400;
	font-style: italic;
	margin-bottom: 10px;
	text-align: center;
}

.input-group {
	position: relative;
	background-color: #FFF;
	-webkit-box-shadow: inset 1px 1px 5px 0px rgba(0,0,0,0.35);
	-moz-box-shadow: inset 1px 1px 5px 0px rgba(0,0,0,0.35);
	box-shadow: inset 1px 1px 5px 0px rgba(0,0,0,0.35);
	width: 100%;
	margin-bottom: 15px;
}

.input-group input,
.input-group select {
	background-color: transparent;
	width: 90%;
	width: calc(100% - 24px);
	font-size: 14px;
	color: #4a4a48;
	padding: 14px 12px;
	border: none;
	-webkit-appearance: none;
}

.input-group.required:after {
	display: inline-block;
	position: absolute;
	top: 18px;
	right: 16px;
	color: #4a4a48;
	content: '*';
	float: right;
	font-size: 20px;
}

.input-address input { border-bottom: 1px solid #EEE; }
.input-address input:last-child { border-bottom: none; }

/* Placeholder styling. They can't be shared BTW; they need individual selectors */
::-webkit-input-placeholder {	/* WebKit, Blink, Edge */
	color:	#4a4a48;
}
:-moz-placeholder {				/* Mozilla Firefox 4 to 18 */
   color:	#4a4a48;
   opacity:  1;
}
::-moz-placeholder {			/* Mozilla Firefox 19+ */
   color:	#4a4a48;
   opacity:  1;
}
:-ms-input-placeholder {		/* Internet Explorer 10-11 */
   color:	#4a4a48;
}

aside .smallprint-text {
	text-align: right;
	color: #4a4a48;
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
}

.btn-submit {
	width: 100%;
	padding: 11px 13px 8px 13px;
	color: #FFF;
	text-align: left;
	font-size: 22px;
	font-weight: 700;
	border: none;
	margin: 2px 0 10px 0;
}

.btn-submit, .btn-primary { background-color: #F6921E; }

.btn-default {
	padding: 11px 13px 8px 13px;
	color: #FFF;
	text-align: left;
	font-size: 22px;
	font-weight: 700;
	border: none;
	margin: 2px 0 10px 0;
	background-color: #999;
	display: inline-block;
	margin: 20px auto;
	text-decoration: none;
}

.form ul li {
	font-style: italic;
}

.btn-submit i { float: right; }
.form form { margin-bottom: 28px; }

.privacy {
	margin-top: 48px;
}

.privacy .fa {
	float: left;
}

.privacy p {
	font-size: 11px;
	margin: 0 0 7px 22px;
}

.alert {
	display: block;
	border: 3px solid #F6921E;
	display: block;
	padding: 8px 8px 0 8px;
	margin-bottom: 20px;
}

.alert p { margin-bottom: 1.2em; }
.alert p:last-child { margin-bottom: 1.2em; }

.alert strong {
	font-size: 16px;
	font-weight: 700;
}

/**
 * 4.5	- Book
 * --------------------------------------------------------------------------------
 */
.books{
	padding:10px 0 30px
}

.book{
	display:inline-block;
	margin:10px;
	box-shadow:5px 5px 20px #333
}

.show-for-small-only { display: none; }

.books {
	-moz-perspective:100px;
	-moz-transform-style:preserve-3d;
	-webkit-transform-style:preserve-3d;
}

.book {
	position:relative;
	margin:0;
	max-width: 87%;
	box-shadow:none;
	outline:1px solid transparent;
	-moz-perspective:100px;
	-moz-transform:rotateY(-3deg);
	-webkit-transform:perspective(100) rotateY(-3deg);
}

.book img {
	vertical-align: middle;
	position: relative;
	max-width: 100%
}


.book:before,
.book:after{
	position:absolute;
	top:2%;
	height:96%;
	content:' ';
	z-index:-1;
}

.book:before{
	left:3.5%;
	width:100%;
	background-color:#bdc3c7;
	box-shadow:4px 4px 15px #95a5a6;
}

.book:after{
	left:100%;
	width:2%;
	background-color:#EFEFEF;
	box-shadow:inset 0px 0px 5px #aaa;
	-moz-transform:rotateY(20deg);
	-webkit-transform:perspective(100) rotateY(20deg);
}

/**
 * 4.7	- Vouchers
 * --------------------------------------------------------------------------------
 */
.voucher-fan {
	position: relative;
	width: 80%;
	margin: 50px 10% 30px 10%;
}

.voucher-fan img {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
	-webkit-transform-origin: 100% 100%;
	-moz-transform-origin: 100% 100%;
	-ms-transform-origin: 100% 100%;
	-o-transform-origin: 100% 100%;
	transform-origin: 100% 100%;
}

.voucher-fan .voucher2 {
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform: rotate(5deg);
	-moz-transform: rotate(5deg);
	-ms-transform: rotate(5deg);
	-o-transform: rotate(5deg);
	transform: rotate(5deg);
}

.voucher-fan .voucher3 {
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform: rotate(10deg);
	-moz-transform: rotate(10deg);
	-ms-transform: rotate(10deg);
	-o-transform: rotate(10deg);
	transform: rotate(10deg);
}

/**
 * 5.0	- Main content
 * --------------------------------------------------------------------------------
 */
.mainBody p {
	font-size: 14px;
	font-weight: 400;
	margin-bottom: 20px;
	line-height: 1.2;
}

.mainBody blockquote {
	border-left-width: 12px;
	border-left-style: solid;
	font-size: 20px;
	font-weight: 700;
	padding-left: 16px;
	line-height: 1.2;
	margin-bottom: 35px;
}

.mainBody blockquote p {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 24px;
}

.mainBody blockquote p:last-child { margin-bottom: 0; }

.mainBody p strong,
.no-sidebar p strong {
	font-size: 16px;
	font-weight: 700;
}

#mobile-video { 
	margin-top: 40px; 
}

#desktop-video {
	display: none;
}

.video-container {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	margin-bottom: 39px;
}

.video-container:after {
	background-color: transparent;
	content: ' ';
	position: absolute;
	pointer-events: none;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border: 4px solid #FFF;
	-webkit-box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.5);
	box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.5);
}

.ie10 .video-container:after { display: none; }

.video-container iframe {
	position: absolute;
	width: 99%;
	height: 99%;
}

/**
 * 6.0	- Footer
 * --------------------------------------------------------------------------------
 */
footer {
	display: none;
	color: #000;
	font-size: 12px;
	position: absolute;
	left: 0;
	bottom: 0;
	height: 102px;
	width: 100%;
}

footer .container {
	text-align: center;
	width: 100%;
	margin: 0 15px;
}

footer li {
	display: inline-block;
	margin-right: 29px;
	margin-bottom: 20px;
}

footer a { color: #000; text-decoration: none; }
footer a:hover { text-decoration: underline; }

/**
 * 7.0	- Template specific: No sidebar
 * --------------------------------------------------------------------------------
 */
.no-sidebar {
	margin-top: 20px;
}

.no-sidebar h1 {
	text-align: center;
	font-size: 42px;
	margin-bottom: 20px;
	font-weight: 700;
}

.no-sidebar p {
	text-align: center;
	font-size: 16px;
	line-height: 1.2;
	margin-bottom: 1.2em;
}

.download-container {
	margin: 40px;
	text-align: center;
}

.btn-default,
.btn-primary {
	margin: 20px;
	padding: 10px 20px;
	color: #FFF;
	font-weight: 700;
	font-size: 22px;
	text-decoration: none;
	border: none;
}

.no-sidebar h3 { text-align: center; }
.no-sidebar h3 a {
	display: inline-block;
	background-color: #333;
	color: #FFF;
	padding: 6px 15px;
	margin: 1em auto;
	text-decoration: none;
	width: auto;
}


/**
 * 8.0	- Template specific: Callback request
 * --------------------------------------------------------------------------------
 */
.callbackRequest .mainBody { margin: 0 auto; }
.callbackRequest h2 { text-align: center; }
.callbackRequest .mainBody h2 p,
.callbackRequest .mainBody h2 p strong { font-size: 24px; }

.callbackRequest .form p a {
	color: #FFF;
	background-color: #F6921E;
	padding: 10px 20px;
	margin: 10px 0;
	display: block;
	text-decoration: none;
	font-weight: 700;
	font-size: 22px;
	text-align: center;
}

.callbackRequest .form form { margin-top: 1em; }
.callbackRequest .btn-submit,
.callbackRequest .btn-submit p { 
	width: auto;
	text-align: center; 
	cursor: pointer;
	font-size: 22px;
	font-weight: 700;
	margin: 0 auto;
	display: inherit;
}

/**
 * 9.0	- Exit intent
 * --------------------------------------------------------------------------------
 */
#exitIntentModal {  display: none; }

/**
 * 20.0	- Reactive: tablets
 * --------------------------------------------------------------------------------
 */
@media (min-width:768px) {

	/**
	 * 2.0	- Main & shared
	 * --------------------------------------------------------------------------------
	 */
	body { margin: 0 auto 150px auto; }
	#onMobile { display: none; }
	#desktop-video { display: block; }

	/**
	 * 3.0	- Header
	 * --------------------------------------------------------------------------------
	 */
	header {
		margin: 12px 0 11px 0;
	}

	.leftCol {
		width: 66%;
		padding: 22px 0 25px 0;
	}

	.rightCol {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 33.6%;
		padding: 22px 0 25px 0;
		background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAB3CAMAAAC67dm3AAAByFBMVEVKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkhKSkg5ZBgIAAAAl3RSTlMAAQIDBAUGBwgJCwwNDhETFBYXGBkbHB0fICEkJSYoKy0vMzQ3Ojs8P0BCREZISkxNTlBRUlRVV1hZXF5fY2RlbW5wcnN1dnh5enx+g4SGi4yPk5SWmJucnZ6goaKlqaqrsbKztLa3ubu9vr/ExcbIycrLzM3Q0dLT1NbY3d7f4OHi4+Tn6e7v8PHy8/T19vf4+fr7/P3+O0aFzgAAAc1JREFUeAGFynlDDAEcx+HvMNkOW3bkUCuFtLlvOXbJkcMmNocc5SiR+64cxU5Ziz12jN/b9Q7m8/z9KC6yE8fIchq14zTskUfjzykHhs1uoBFepGH5HTTsVoyGv4eGPUnQqB2jYa87aVgWx0wnDbvdRMPvpWFjHo1yhoZNrqRRzbowbCZJ4+/gMhj2rZeG5Vwa/kEaNtFC4+dRGvYsSSMYoGHvN9GwnEvja4qGjXo0iodo2PhqGuWzDgx7l6RRvVQPw+ZSNOxqI42FAzTsQQuNQoaGvWqnUTtDw6a30LBhh8Zciobda6ZR3E/DJtbSqAzQsDftNMKhGAzLd9Owmx6N4mkado1GkKEx6cEo7BOMOw0wvvcIxpAD42OHokdwUjCmWmH86hOMsTgMf7tgDNfB+LRR0SO4IBgv2mCU0oJxPwFjYbdgXG+A8aVH0SPMLoHxdr2iR7VfMB6vgvGjTzDuxmHktwnGlToYs12KHuF5wXi+DkYpLRgPV8BY3CsYN+phzHcLxuWlMKY7FD2CfsGYaoXx+7BgjDbB8LcKRs6F8blLMM4Jxss1MCppwRhvhrG4SzBGYjDmNwvGoGB8aIPx7wQEPU3QOEJBjRT+A/Yfa3WBoLwYAAAAAElFTkSuQmCC);
		background-repeat: no-repeat;
		background-position: left center;
		background-size: 10% 100%;
	}

	.rightCol:before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	header h1,
	header h2 {
		font-size: 30px;
		margin: 0 10% 0 8%;
	}

	/**
	 * 4.0	- Sidebar
	 * --------------------------------------------------------------------------------
	 */
	aside {
		float: right;
		width: 33.5%;
		margin: 0;
	}

	/**
	 * 5.0	- Main content
	 * --------------------------------------------------------------------------------
	 */
	.mainBody { width: 64.5%; }
	.privacy .mainBody { width: 100%; }

	.twoColumn {
		-ms-column-count: 2;
		-webkit-column-count: 2;
		-moz-column-count: 2;
		column-count: 2;
		-ms-column-gap: 20px;
		-webkit-column-gap: 20px;
		-moz-column-gap: 20px;
		column-gap: 20px;
	}

	.twoColumn blockquote {
		-webkit-column-span: all; /* Chrome, Safari, Opera */
		column-span: all;
	}

	.mainBody blockquote p { font-size: 20px; }
	.mainBody p { font-size: 15px; }

	/**
	 * 6.0	- Footer
	 * --------------------------------------------------------------------------------
	 */
	footer {
		display: block;
		bottom: -150px;
		left: 0;
		width: 100%;
		background-color: #f3f2f2;
		font-size: 12px
	}

	footer .container {
		padding: 36px 0 34px 0;
	}

	footer li {
		margin-right: 29px;
	}

	/**
	 * 9.0	- Exit intent
	 * --------------------------------------------------------------------------------
	 */
	#exitIntentModal { 
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.modal-backdrop {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background-color: #000;
		opacity: 0.5;
		z-index: 1000;
	}

	.modal-dialog {
		position: relative;
		width: 600px;
		margin: 30px auto;
		border: 1px solid #333;
		background-color: #FFF;
		-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
		-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
		box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
		z-index: 1010;
	}

	.modal-header {
		position: relative;
	}

	.modal-header button {
		position: absolute;
		top: -10px;
		right: -10px;
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		border-radius: 10px;
		background-color: #FFF;
		-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
		-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
		box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.75);
		border: none;
		padding: 3px 6px;
		text-align: center;
		transition: all 0.3s;
	}

	.modal-header button:hover {
		-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,1);
		-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,1);
		box-shadow: 0px 0px 20px 0px rgba(0,0,0,1);
	}

	h4.modal-title {
		padding: 20px;
		font-size: 20px;
		display: block;
		background-color: #4a4a48;
		color: #FFF;
		font-weight: 700;
		text-align: center;
	}

	.modal-body{ padding: 10px 20px; }
	.modal-footer {
		padding: 10px;
		text-align: center;
	}

	.modal-body p {
		font-size: 16px;
		margin-bottom: 1.2em;
	}

	#modal-form {
		display: none;
		padding-top: 10px;
	}
}

/**
 * 21.0	- Reactive: Desktop
 * --------------------------------------------------------------------------------
 */
@media (min-width:1000px) {
	/**
	 * 2.0	- Main & shared
	 * --------------------------------------------------------------------------------
	 */
	body {
		width: 1000px;
		margin: 0 auto 150px auto;
	}
	

	/**
	 * 6.0	- Footer
	 * --------------------------------------------------------------------------------
	 */
	footer .container {
		width: 970px;
		margin: 0 auto;
	}
}

/**
 * 22.0	- Reactive styles: Mobile (not first)
 * --------------------------------------------------------------------------------
 */
@media (max-width:767px) {
	.book {
		margin: 8% 20%;
		max-width: 50%;
	}

	#exitIntentModal { display: none !important; }
}