
body {
	min-width: 320px;
}

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

	body:before,
	div.wrapper:before {
		display: none;
	}

	/*header h1.logo a, 
	header p.logo a {
		background: url(/images/logo-white.png) no-repeat;
	}*/
	
	nav {
		margin: 0 15px;
	}
	nav ul.top > li > a {
		padding: 0 10px;
	}

	div.wrapper {
		width: auto;
		margin: 0 15px;
	}
	.c-header .wrapper,
	.c-nav .wrapper {
		padding: 0;
	}
	
	.c-video {
		height: auto;
	}
	.c-video .wrapper > p {
		height: 0;
		padding-bottom: 56.25%;
		position: relative;
	}
	.c-video .wrapper > p > iframe {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	
	section {
		width: auto;
		float: none;
	}

	div.partners ul li.video
	{
		height: auto;
	}
	
	div.partners ul li,
	div.partners ul li.last {
		width: 23.5591506572%;
		height: auto;
		margin: 0 1.921132457% 1.921132457% 0;
	}
	div.partners ul li:nth-child(4n) {
		margin-right: 0;
	}
	div.partners ul li div.box {
		width: 100%;
		height: 0;
		padding-bottom: 70%;
		position: relative;
	}
	
	div.partners ul li.video h2, div.partners ul li.video p.subtitle{white-space: normal;overflow: inherit;}
	div.partners ul li.video div.box{height: 0; padding-bottom: 56.25%;}
	
	div.partners ul li p.image {
		width: 100%;
		height: 100%;
		margin: 0;
		position: absolute;
		top: 0;
		left: 0;
	}
	div.partners ul li p.image img {
		width: 100%;
		height: auto;
	}

	section.contact div.contactLeft {
		width: auto;
		float: none;
	}
	section.contact div.contactRight {
		float: none;
	}

	aside {
		width: auto;
		margin: 0;
		padding: 15px;
		float: none;
		background-color: #231F20;
	}
	aside div.sideFooter,
	aside div.sideContent {
		width: 70%;
		float: left;
		padding-right: 40px;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	aside p.sideIntro {
		line-height: 1.2em;
	}
	aside p.sideIntro span {
		display: inline-block;
		width: 100%;
	}
	aside p.buttonDemo {
		margin: 40px 0;
	}
	aside div.sideFooter,
	footer div.support,
	footer div.footerBottom {
		margin: 0 0 15px;
	}
	footer div.nzOwned {
		display: none;
	}
	aside p.copy {
		clear: both;
		text-align: center;
	}
	aside p.copy br {
		display: none;
	}

	#back-to-top {
		display: block;
		margin: 15px 0;
		text-align: center;
	}

}

@media screen and (max-width: 830px) {
	
	body {
		position: relative;
		left: 0;
		-moz-transition: left 0.3s ease;
		-webkit-transition: left 0.3s ease;
		transition: left 0.3s ease;
	}
	body.nav-open {
		left: -270px;
	}

	header {
		padding-bottom: 20px;
	}

	header div.logoBox {
		float: none;
	}

	header p.logo {
		margin-bottom: 15px;
	}

	#nav-button {
		display: block;
		margin: 0 0;
		clear: both;
		font-size: 1em;
		text-align: right;
	}
	#nav-button a {
		display: inline-block;
		height: 28px;
		padding: 0 15px;
		background-color: #FFF;
		border-radius: 4px;
		font-family: "BlockBE";
		font-size: 1.5em;
		text-transform: uppercase;
		line-height: 28px;
		color: #649D00;
	}
	.nav-open #nav-button a {
		color: #000;
	}

	nav {
		width: 270px;
		height: 100%;
		margin: 0;
		position: fixed;
		right: -270px;
		top: 0;
		background-color: #373737;
		border: none;
		overflow-y: auto;
		-moz-transition: right 0.3s ease;
		-webkit-transition: right 0.3s ease;
		transition: right 0.3s ease;
	}
	.nav-open nav {
		right: 0;
	}
	
	nav,
	nav ul.top,
	nav ul.top > li:first-child > a,
	nav ul.top > li.last > a {
		border-radius: 0;
	}

	nav ul.top,
	nav ul.top > li {
		display: block;
	}
	nav ul.top:before {
		display: none;
	}
	nav ul.top > li {
		background: none;
	}
	nav ul.top > li > a {
		border-top: 1px solid #000;
		font-weight: bold;
		text-align: left;
	}
	nav ul.top > li:first-child > a {
		border-top: none;
		padding-left: 10px;
	}
	nav ul.top > li:last-child > a {
		padding-right: 10px;
		text-align: left;
	}

	nav div.sub {
		display: block !important;
		width: auto;
		padding: 10px;
		position: static;
		opacity: 1 !important;
		background: #414141;
		border-top: 1px solid #000;
	}
	nav div.sub div.subTop,
	nav div.sub div.subBottom {
		padding: 0;
		background: none;
	}
	nav div.sub div.subRepeat,
	nav div.sub ul {
		width: auto;
	}
	nav div.sub div.subRepeat {
		background: none;
	}
	nav div.sub ul {
		margin: 0
	}
	nav div.sub ul li {
		width: 100%;
		height: auto;
		margin: 10px 0 0 0;
		border: none;
		border-radius: 0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	nav div.sub ul li:first-child {
		margin-top: 0;
	}
	nav div.sub ul li p {
		margin: 0;
	}
	nav div.sub ul li p a, 
	nav div.sub ul li p a:link, 
	nav div.sub ul li p a:visited {
		font-size: 1em !important;
		font-weight: normal;
	}
	nav div.sub ul li img,
	nav div.sub ul li div.dropdownText {
		display: none;
	}

	div.partners ul li,
	div.partners ul li.last,
	div.partners ul li:nth-child(4n) {
		width: 31.6645807259%;
		margin: 0 2.5031289111% 2.5031289111% 0;
	}
	div.partners ul li:nth-child(3n) {
		margin-right: 0;
	}

	.c-footer__col {
		width: 50%;
	}
	.c-footer__col:nth-child(3) {
		display: none;
	}

}

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

	aside div.sideContent {
		width: 100%;
		margin-bottom: 20px;
		padding-right: 0;
		float: none;
		text-align: center;
	}
	aside p.sideIntro {
		font-size: 3.2em;
	}
	aside p.buttonDemo {
		margin: 20px 0;
	}
	aside div.sideFooter, 
	aside div.sideFooter p.logoSidebar a {
		display: inline-block;
	}
	footer p.title {
		text-align: center;
	}
	footer div.footerBottom {
		display: none;
	}

	.c-video .wrapper {
		display: block;
	}
	
	.c-footer__links,
	.c-footer__other,
	.c-footer__social {
		float: none;
	}

	.c-footer__links {
		margin-bottom: 15px;
	}

}

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

	div.partners ul li,
	div.partners ul li.last,
	div.partners ul li:nth-child(4n) {
		width: 48.3304042179%;
		margin: 0 3.3391915641% 3.3391915641% 0;
	}
	div.partners ul li:nth-child(2n) {
		margin-right: 0;
	}

	div.blog div.images {
		margin: 0 auto 10px;
		float: none;
		text-align: center;
	}
	div.blog div.images img {
		max-width: 100%;
		height: auto;
	}

}

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

	header h1.logo, 
	header p.logo {
		width: 100%;
		margin-bottom: 15px;
	}
	header h1.logo a,
	header p.logo a {
		margin: 0 auto;
	}

	header ul.rtbs {
		margin: 0;
		float: left;
	}
	p#nav-button {
		margin: 0;
		float: right;
		clear: none;
	}

	div.partnersPopup div.image {
		width: 100%;
		margin: 0 auto;
		float: none;
	}

	.c-footer__col {
		width: 100%;
		padding: 0;
		text-align: center;
	}
	.c-footer__col a.youtube, 
	.c-footer__col a.facebook {
		margin: 0 auto 12px;
	}

}

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

	section.home h1 {
		font-size: 7em;
	}
	section.internal h1.sectionTitle {
		font-size: 5em;
	}
	section.internal div.content h2 {
		font-size: 2.4em;
	}
	section.internal div.content p.intro {
		font-size: 1.6em;
	}

	header .left {
		display: none;
	}
	header .right {
		width: 100%;
	}

}

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

	section.internal h1.sectionTitle {
		font-size: 4.5em;
	}
	section.internal div.content h2 {
		font-size: 2em;
	}

	div.form input[type="text"], 
	div.form input[type="password"],
	div.form select,
	div.contact form textarea,
	div.enquiry form textarea {
		width: 100%;
		background: #dadada;
		border: 1px solid #FFF;
		border-radius: 4px;
		-moz-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5);
   		-webkit-box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5);
		box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5);
	}

	div.form p.field,
	div.enquiry div.form p.field.products,
	div.form input[type="text"], 
	div.form input[type="password"],
	div.form select,
	div.contact form textarea,
	div.enquiry form textarea,
	div.form div.status ul {
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	section.contact div.contactRight,
	div.contact,
	div.newsletter,
	div.enquiry  {
		width: auto;
	}
	div.formBg,
	div.newsletterBg {
		border-radius: 7px;
		overflow: hidden;
	}
	div.formBg {
		background-color: #000;
	}
	div.contact,
	div.newsletter,
	div.enquiry {
		padding-left: 0;
		padding-right: 0;
	}
	div.newsletter,
	div.enquiry {
		margin-top: 0;
	}

	div.form div.status {
		width: auto;
	}
	div.form div.status ul {
		width: 100%;
	}

	div.form p.field,
	div.form p.field.newsletter,
	div.enquiry div.form p.field.products {
		width: 100%;
		padding: 0 15px;
	}

	input#verify {
		width: 50%;
	}

	aside div.sideFooter, 
	footer {
		width: 100%;
		float: none;
	}

}

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

	div.partners ul li,
	div.partners ul li.last,
	div.partners ul li:nth-child(2n) {
		width: 100%;
		margin: 0 0 15px 0
	}

}
