/*
 * Theme Name:	Harmony iP
 * Theme URI:	http://www.harmonyip.com/
 * Description:	Bespoke theme for Harmony iP
 * Author:	Ben Louis-Smith - Salamandra
 * Author URI:	http://www.salamandra.uk/
 * Text Domain: harmonyip
 * Version:	1.0
 */

/* 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;
}

/* ==========================================================================
 BASE STYLING
 ========================================================================== */
html, body {
	width: 100%;
	height: 100%;
	background: #fff;
}
 
img {
	max-width: 100%;
	height: auto;
	width: auto\9; /* ie8 */
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.container {
	clear: both;
	width: 100%;
	max-width: 1600px;
	min-width: 0;
	padding: 0 20px;
	margin: 0 auto;
}
.menu .container {
	max-width: 1760px;
}
.harmony_video .container,
.overview .container,
.slides .container,
.main_copy .container,
.contact .container {
	max-width: 1280px;
}
article {
	background: #fff;
	text-align: center;
	padding: 30px 20px;
	border: 3px solid #000;
	-webkit-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
	-moz-box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
	box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
	
}



@media (min-width: 480px) {
	article {
		padding: 50px 40px 32px;
		-webkit-box-shadow: 10px 10px 0px 0px rgba(0,0,0,1);
		-moz-box-shadow: 10px 10px 0px 0px rgba(0,0,0,1);
		box-shadow: 10px 10px 0px 0px rgba(0,0,0,1);
	}
}
@media (min-width: 920px) {
	article {
		padding: 50px 154px 32px;
	}
}


/* ==========================================================================
 TYPOGRAPHY
 ========================================================================== */
body {
	font-size: 70%;
	color: #000;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	text-align: left;
}

h1, h3, h4, h5, strong {
	font-weight: 600;
	padding: 0;
	margin: 0;
}
h1, h5 {
	font-size: 2.875em;
	color: #37416d;
	padding-bottom: 16px;
}
h2 {
	font-size: 2em;
	color: #37416d;
	padding-bottom: 32px;
	border-bottom: 1px solid #000;
	margin-bottom: 32px;
}
h3 {
	font-size: 1.75em;
	color: #1a3069;
	padding-bottom: 38px;
}
h4 {
	font-size: 2.25em;
	padding-bottom: 8px;
}
p {
	font-size: 1.125em;
	line-height: 1.5em;
	padding-bottom: 1.3125em;
}
p.intro {
	font-size: 1.5em;
	padding: 46px 0 0;
}



@media (min-width: 360px) {
	body {
		font-size: 80%;
	}
}
@media (min-width: 480px) {
	body {
		font-size: 100%;
	}
}



/* ==========================================================================
 HEADER
 ========================================================================== */
.site_header {
	background: url(img/bg/header.png);
	background-color:  #283149;
	background-position: center center;
	background-size: cover;
	padding: 22px 0 42px;
}
.site_header .logo,
.site_header .navi {
	float: none;
}
.site_header .logo {
	position: relative;
	width: 100%;
	z-index: 50;
	text-align: center;
}
.site_header .navi {
	position: relative;
	width: 100%;
	margin: 10px 0 0 0;
}
.site_header .bg {
	display: none;
}
.site_header .bg-sml {
	display: none;
}
.site_header nav {
	position: relative;
	top: auto;
	right: auto;
	z-index: 10;
	text-align: center;
	background: rgba(255,255,255,1);
	border: 3px solid #000;
	-webkit-box-shadow: 5px 5px 0px 0px rgba(0,0,0,1);
	-moz-box-shadow: 5px 5px 0px 0px rgba(0,0,0,1);
	box-shadow: 5px 5px 0px 0px rgba(0,0,0,1);
}
.site_header nav ul {
	padding: 16px 30px 0 40px;
}
.site_header nav li {
	display: inline-block;
	padding: 4px 10px 14px;
	margin: 0 0;
}
.site_header nav a {
	font-size: 1em;
	font-weight: 400;
	color: #2343D8;
	text-decoration: none;
	border-bottom: 0 none;
}
.site_header nav a:hover,
.site_header nav a.active {
	font-weight: 600;
	border-bottom: 3px solid #2343d8;
}
.vid_border {
	margin-top: 20px;
	border: 3px solid #000;
	-webkit-box-shadow: 10px 10px 0px 0px rgba(0,0,0,1);
	-moz-box-shadow: 10px 10px 0px 0px rgba(0,0,0,1);
	box-shadow: 10px 10px 0px 0px rgba(0,0,0,1);
}



@media (min-width: 540px) {
	.site_header nav ul {
		padding: 16px 30px 10px 40px;
	}
	.site_header nav li {
		padding: 4px 24px;
	}

}
@media (min-width: 700px) {
	.site_header .logo,
	.site_header .navi {
		float: left;
	}
	.site_header .logo {
		width: 34%;
	}
	.site_header .navi {
		width: 77%;
		margin: -8% 0 0 23%;
	}
	.site_header .bg-sml {
		display: block;
	}
	.site_header nav {
		position: absolute;
		top: 0;
		right: 0;
		background: rgba(255,255,255,0);
		border: 0 none;
		-webkit-box-shadow: 0 0 0px 0px rgba(0,0,0,0);
		-moz-box-shadow: 0 0 0px 0px rgba(0,0,0,0);
		box-shadow: 0 0 0px 0px rgba(0,0,0,0);
	}
	.site_header nav ul {
		padding: 10px 30px 0 40px;
	}
}
@media (min-width: 920px) {
	.site_header .bg {
		display: block;
	}
	.site_header .bg-sml {
		display: none;
	}
	.site_header nav ul {
		padding: 3% 30px 0 40px;
	}
	.site_header nav li {
		padding: 14px 24px;
	}
}
@media (min-width: 1100px) {
	.site_header nav li {
		font-size: 1.375em;
	}
}
@media (min-width: 1330px) {
	.site_header nav li {
		margin: 0 18px;
	}
}
@media (min-width: 1430px) {
	.site_header nav ul {
		padding: 4% 60px 0 40px;
	}
}
@media (min-width: 1540px) {
	.site_header nav ul {
		padding: 4% 120px 0 40px;
	}
}


/* ==========================================================================
 OVERVIEW
 ========================================================================== */
.overview {
	background: url(img/bg/intro.png);
	background-color:  #ffde14;
	background-position: center center;
	background-size: cover;
	padding: 70px 0 90px;
	color: #1a3069;
}
.cta {
	padding-top: 60px;
	text-align: center;
}
.overview .btn_contact {
	display: block;
	margin: 0 0 20px;
}
.overview .btn_pdf {
	display: block;
	margin: 0;
}



@media (min-width: 1024px) {
	.overview .btn_contact {
		display: inline-block;
		margin: 0 55px 0 0;
	}
	.overview .btn_pdf {
		display: inline-block;
		margin: 0 0 0 55px;
	}
}


/* ==========================================================================
 SLIDES
 ========================================================================== */
.slides {
	padding: 70px 0 160px;
	text-align: center;
}
.slides header {
	text-align: center;
}
.slides header a {
	color: #41b574;
}
.slides .small {
	display: none;
}
.slide.intro {
	margin-bottom: 16px;
}
.slide.value {
	margin-bottom: 48px;
}
.slide.accessing {
	margin-bottom: 86px;
}
.slide.payment {
	margin-bottom: 20px;
}
.slide.royalties {
	margin-bottom: 60px;
}
.slide.ambitions {
	margin-bottom: 88px;
}
.slide.ownership {
	margin-bottom: 58px;
}



/* ==========================================================================
 MAIN
 ========================================================================== */
.main_copy {
	background: url(img/bg/main.png);
	background-color:  #ffde14;
	background-position: center center;
	background-size: cover;
	padding: 70px 0;
}



/* ==========================================================================
 TCAT
 ========================================================================== */
.tcat {
	background: #bf2129;
	color: #fff;
	padding: 70px 0;
	text-align: center;
}
.tcat .copy,
.tcat .tcat_video {
	float: none;
	width: 100%;
}
.tcat .copy {
	padding-right: 0;
}
.tcat a {
	font-weight: 600;
	color: #fff;
}
.tcat .tcat_video {
	padding-top: 20px;
}



@media (min-width: 1280px) {
	.tcat {
		text-align: left;
	}
	.tcat .copy,
	.tcat .tcat_video {
		float: left;
		width: 50%;
	}
	.tcat .copy {
		padding-right: 80px;
	}
}



/* ==========================================================================
 CONTACT
 ========================================================================== */
.contact {
	background: url(img/bg/contact.png);
	background-color:  #37416d;
	background-position: center center;
	background-size: cover;
	padding: 60px 0;
	color: #fff;
}
.contact h5 {
	color: #fff;
	padding-bottom: 70px;
	margin-left: 0;
}
.contact .cform,
.contact .cdetails {
	float: none;
}
.contact .cform {
	width: 100%;
}
.cflabel {
	clear: both;
	float: none;
	width: 100%;
	padding-top: 5px;
	font-size: 1.125em;
	line-height: 1.5em;
}
.cform input[type=text],
.cform input[type=email],
.cform textarea  {
	float: none;
	width: 100%;
	padding: 4px;
	background: #fff;
	color: #000;
	border: 3px solid #000;
	-webkit-box-shadow: 5px 5px 0px 0px rgba(0,0,0,1);
	-moz-box-shadow: 5px 5px 0px 0px rgba(0,0,0,1);
	box-shadow: 5px 5px 0px 0px rgba(0,0,0,1);
	margin-bottom: 20px;
}
.btn-submit {
	float: none;
	margin-left: 0;
	padding: 7px 50px 5px;
	border: 0 none;
	background: #fdde2c;
	font-size: 1.625em;
	font-weight: 600;
	color: #37416d;
	border: 3px solid #000;
	-webkit-box-shadow: 5px 5px 0px 0px rgba(0,0,0,1);
	-moz-box-shadow: 5px 5px 0px 0px rgba(0,0,0,1);
	box-shadow: 5px 5px 0px 0px rgba(0,0,0,1);
}



.contact .cdetails {
	width: 100%;
	padding: 60px 0 0 0;
}
.contact .cdetails a {
	color: #fff;
	text-decoration: none;
}
.contact .cdetails li {
	padding: 0 0 60px 60px;
	font-size: 1.125em;
	line-height: 1.5em;
}
.contact .cdetails li img {
	float: left;
	margin: -8px 0 0 -60px;
}



@media (min-width: 480px) {
	.cflabel {
		float: left;
		width: 25%;
	}
	.cform input[type=text],
	.cform input[type=email],
	.cform textarea  {
		float: left;
		width: 75%;
	}
	.btn-submit {
		float: left;
		margin-left: 25%;
	}
	.contact .cdetails {
		width: 100%;
		padding: 60px 0 0 25%;
	}
}
@media (min-width: 1024px) {
	.contact .cform,
	.contact .cdetails {
		float: left;
	}
	.contact .cform {
		width: 62%;
	}
	.contact .cdetails {
		width: 38%;
		padding: 60px 0 0 60px;
	}
}
@media (min-width: 1360px) {
	.contact h5 {
		margin-left: -30px;
	}
}



/* ==========================================================================
 FOOTER
 ========================================================================== */
.site_footer {
	background: #000;
	padding: 40px 0 0;
	color: #fff;
	text-align: center;
}
.logo_strip img {
	display: block;
	margin: 0 auto 20px;
}
.signoff {
	padding-top: 20px;
}
.signoff p {
	font-size: 1em;
	padding-bottom: 10px;
}
.signoff a {
	color: #fff;
	text-decoration: none;
}



@media (min-width: 550px) {
	.logo_strip img {
		display: inline-block;
		margin: 0 60px 30px;
	}
}




/* ==========================================================================
 BACK TO TOP
 ========================================================================== */
.cd-top {
	display: inline-block;
	z-index: 100;
	height: 40px;
	width: 40px;
	position: fixed;
	bottom: 40px;
	right: 10px;
	box-shadow: 0 0 10px rgba(0,0,0,0.05);
	/* image replacement properties */
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: rgba(40,49,73,1) url(img/cd-top-arrow.svg) no-repeat center 50%;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: opacity .3s 0s, visibility 0s .3s;
	-moz-transition: opacity .3s 0s, visibility 0s .3s;
	transition: opacity .3s 0s, visibility 0s .3s;
}
.cd-top.cd-is-visible, .cd-top.cd-fade-out, .no-touch .cd-top:hover {
	-webkit-transition: opacity .3s 0s, visibility 0s 0s;
	-moz-transition: opacity .3s 0s, visibility 0s 0s;
	transition: opacity .3s 0s, visibility 0s 0s;
}
.cd-top.cd-is-visible {
	/* the button becomes visible */
	visibility: visible;
	opacity: 1;
}
.cd-top.cd-fade-out {
	/* if the user keeps scrolling down, the button is out of focus and becomes less visible */
	opacity: .5;
}
.no-touch .cd-top:hover,
.cd-top.cd-fade-out:hover {
	opacity: 1;
}


@media only screen and (min-width: 768px) {
	.cd-top {
		right: 20px;
		bottom: 20px;
	}
}
@media only screen and (min-width: 1080px) {
	.cd-top {
		height: 60px;
		width: 60px;
		right: 30px;
		bottom: 30px;
	}
}