/*
Theme Name: CG
Theme URI: http://www.calebgittins.com.au
Description: WordPress theme by Caleb Gittins
Author: Caleb Gittins
Author URI: http://www.calebgittins.com.au
Version: 1
*/

/*------------------------------------*\
    CONTENTS
\*------------------------------------*/

/*

1. BASE.........Reset and default styles
2. LAYOUT.......Main and unique elements
3. MODULE............Reusable components
4. STATE..................Current states
5. THEME............Branding and colours

*/

/*------------------------------------*\
    1. $BASE
\*------------------------------------*/

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, capt, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

* { box-sizing: border-box;	}

ul, ol { list-style: none; }

body {
    background: #fff;
    font: normal 100%/1.618em 'Josefin Sans', Arial, Helvetica, sans-serif;
    color: #565656;
}

/* Give elements the same bottom margin to create consistent vertical rhythm */

p, ul, ol, blockquote, table, hr, iframe, .grid, .cta, .message, .button, .content, .has-mb { margin-bottom: 1.618em; } 

/*------------------------------------*\
    $TYPOGRAPHY
\*------------------------------------*/

.sans { font-family: 'Josefin Sans', sans-serif; }

h1, h2, h3, h4, h5, h6 { 
	font-weight: normal; 
	font-family: 'Merriweather', serif;
	color: #28317c;
}

h1, .alpha {
    font-size: 2.125em; /* 34px */
    line-height: 1.235em; /* 42px */
	margin-bottom: 0.618em; /* 21px */
}

h2, .beta {
    font-size: 1.438em; /* 23px */
    line-height: 1.348em; /* 31px*/
	margin-bottom: 0.913em; /* 21px*/
}

h3, .gamma {
    font-size: 1.188em; /* 19px*/
    line-height: 1.421em; /* 27px*/
	margin-bottom: 1.105em; /* 21px*/
}

h4, .delta {
    font-size: 1.125em; /* 18px*/
    line-height: 1.444em; /* 26px*/
	margin-bottom: 1.167em; /* 21px*/
}

h5, .epsilon {
	font-size: 1em; /* 16px*/
    line-height: 1.5em; /* 24px*/
	margin-bottom: 1.313em; /* 21px*/
}

h6, .zeta {
	font-size: 0.875em; /* 14px*/
	line-height: 1.571em; /* 22px*/
	margin-bottom: 1.5em; /* 21px*/
}

small, .small {
    font-size: 0.875em;
    line-height: 1.4em;
}

/*------------------------------------*\
    $LINKS
\*------------------------------------*/

a:link, a:visited {
    text-decoration: none;
    font-weight: bold;
    color: #555;
	transition: all .25s ease-in-out;
}

a:hover {
    text-decoration: underline;
    outline: none;
    color: #000;
}

a:focus, a:active { outline: none }

a.no-td:hover { text-decoration: none; }

a.block-link { display: block; }

/*------------------------------------*\
    $BUTTONS
\*------------------------------------*/

a.button, button, input[type="submit"] {
	font-size: 0.875em;
    line-height: 1em;
    padding: 1.25em 2.5em;
    color: #fff;
    background-color: #28317c;
    text-transform: uppercase;
}

a.button {
    display: inline-block;
    zoom: 1;
    *display: inline;    
}

a.button:hover, button:hover, input[type="submit"]:hover {
    text-decoration: none;
    color: #fff;
    background-color: #333;
}

a.button-alt {
	color: #28317c;
	background-color: #fff;
}

a.button-alt:hover {
	color: #fff;
	background-color: #454545;
}

a.button-full {
	width: 100%;
	display: block;
	text-align: center;
	padding-left: 0;
	padding-right: 0;
}

a.button-cta {
	font-size: 2em;
	font-weight: bold;
	margin-bottom: 0.469em;
}

.button + .button { margin-left: 0.75em; }

/*------------------------------------*\
    $FORMS
\*------------------------------------*/

input, select, textarea, button {
    font-family: inherit;
	font-size: inherit; 
    line-height: 1em;
    border: 1px solid #ddd;
	padding: 0.188em 0.313em; /* 3px 5px */
}

input[type="submit"], button {
    cursor: pointer;
    border: none;
	transition: all .25s ease-in-out;
	-webkit-appearance: none; /* Remove iOS default styles */
}

/*------------------------------------*\
    $OTHER ELEMENTS
\*------------------------------------*/

hr {
	border: solid #ddd;
    border-width: 3px 0 0 0;
    clear: both;
	width: 33%;
	margin: 2.5em auto;
}

img, iframe { 
	vertical-align: top; 
	max-width: 100%;
}





/*------------------------------------*\
    2. $LAYOUT
\*------------------------------------*/

.header, .navigation, .main, .footer { width: 100%; }

.container {
	width: 80%; /* 290px */
	margin: 0 auto;
}

@media all and (min-width: 30em) { /* 480px */

	.container { width: 80%; } /* 430px */	

}

@media all and (min-width: 43.750em) { /* 700px */

	.container { width: 40em; }	/* 640px */

}

@media all and (min-width: 61.250em) { /* 980px */

	.container { width: 61.25em; } /* 980px */
	
}

/*------------------------------------*\
    $HEADER
\*------------------------------------*/

@media all and (max-width: 699px) {

	.site { padding-top: 45px; }

}

.header { position: relative;}

.logo { 
	position: absolute;
	z-index: 50;
	top: 0;
	left: 50%;
	margin-left: -125px;
	width: 250px;
	height: 105px;
	background: url(images/shape.png) 50% 0 no-repeat; 
	background-size: cover;
	text-align: center;
}

.logo img {
	width: 75px;
	margin-top: 10px;
}

@media all and (max-width: 699px) {

	.header .container { width: 100%; }
	
}		

@media all and (min-width: 700px) {

	.header {
		position: absolute;
		z-index: 999;
		top: 45px;
		right: 0;
		left: 0;
	}

.top { padding: 1.25em 0; }
	
	.header { 
		top: 0; 
		background-color: rgba(255, 255, 255, 0.85);
		border-bottom: 1px solid #fff;
	}

	.logo { 
		left: -100px;
		width: 350px;
		height: 146px;
		margin-left: 0;
	}

	.logo img {
		width: 105px;
		margin-top: 10px;
	}

	.top .grid-item { 
		width: 25%; 
		min-height: 1px;
	}

	.top .grid-beta { width: 75%; }

	.top .contact { padding-right: 120px;}

	.contact h2 {
		font-size: 1.125em;
		line-height: 40px;
		font-weight: 700;
	}

	.contact h2 a { color: #s28317c;}

}		

@media all and (min-width: 980px) {
	
	.logo { 
		left: -100px;
		width: 480px;
		height: 200px;
	}

	.logo img {
		width: 150px;
		margin-top: 10px;
	}

	.top .contact { padding-right: 0; }
	
	.contact h2 {
		font-size: 1.5em;
		line-height: 1em;
		margin-bottom: 0.75em;
	}

}		

/*------------------------------------*\
    
	$TOUCH NAV
	
	Only displayed on touch devices
	
\*------------------------------------*/

.nav-touch-toggle {
	position: absolute;
	top: 50%; 
	right: 1em;
	margin-top: -22px;
	width: 45px;
	height: 45px;
	text-indent: -9999em;
	background: url(images/sprite.png) 0 -300px no-repeat;
}

.nav-touch-top {
	padding: 1em 1.25em; 
	position: relative;
}

.nav-touch-search { width: 75%; }

.nav-touch-close { 
	position: absolute;
	top: 50%;
	right: 1em;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	font-size: 24px;
	line-height: 1em;
	color: #454545;
}

.nav-touch {
	width: 100%;
	display: block;
	font-size: 0.938em;
	border-top: 1px solid #eee;
}

.nav-touch a {
	display: block;
	width: 100%;
	background-color: #fff;
	color: #565656;
	border-bottom: 1px solid #eee;
	font-weight: normal;
	text-transform: uppercase;
	padding: 0.625em 1em;
}

.nav-touch ul { display: none; }

.nav-touch a:hover ul { display: block; }

.nav-touch ul a { padding: 0.625em 2em; }

.nav-touch ul ul a { padding: 0.625em 3em; }

.nav-touch a:hover { text-decoration: none; }

.nav-touch .current-menu-item > a {
	text-decoration: none;
	color: #fff;
	background-color: #28317C;
}

/*------------------------------------*\
    $FULL SIZE NAV
\*------------------------------------*/

@media all and (min-width: 61.250em) { /* 980px */
	
	.nav-primary { float: right; }

	.nav-primary li {
		position: relative;
		z-index: 500;
	}
	
	.nav-primary > li { float: left; }

	.nav-primary > li a span { position: relative; }

	.nav-primary > li a span:before {
		content: '';
		position: absolute;
		bottom: -8px;
		left: 0;
		right: 0;
		height: 2px;
		background-color: #28317c;
		opacity: 0;
		transition: all .25s ease-in-out;
	} 
	
	.nav-primary a {
		color: #565656;
		font-size: 1em;
		line-height: 3em;
		padding: 0 1.25em;
		text-align: left;
		text-transform: uppercase;
	}

	.nav-primary > li:last-child a { padding-right: 0; }

	.nav-primary li:hover > a {
		color: #28317c;
		text-decoration: none;
	}

	.nav-primary > li:hover > a span:before, .nav-primary > li.current-menu-item > a span:before { opacity: 1; }

	.nav-primary li:hover > ul { display: block }
	
	/*------------------------------------*\
		$2ND LEVEL
	\*------------------------------------*/
	
	.nav-primary ul, .nav-primary ul li { width: 16em; }
	
	.nav-primary ul {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		float: left;
		z-index: 99999;  
	}
	
	.nav-primary ul a {
		background-color: #28317c;
		color: #fff;
		line-height: 1.4em;
		padding: 0.65em 0.875em;
		width: 100%;
		height: auto;
		border-bottom: 1px solid #3440a3;
	}
	
	.nav-primary ul :hover > a {
		background-color: #454545;
		color: #fff;
	}
	
	/*------------------------------------*\
		$3RD LEVEL
	\*------------------------------------*/
	
	.nav-primary ul ul {
		left: 100%;
		top: 0;
	}
	
	/*------------------------------------*\
		$1ST LEVEL CURRENT
	\*------------------------------------*/
	
	.nav-primary li.current_page_item > a, .nav-primary li.current-menu-ancestor > a, .nav-primary li.current-menu-item > a, .nav-primary li.current-menu-parent > a {
		color: #28317c;
	}
	
	* html .nav-primary li.current_page_item a, * html .nav-primary li.current-menu-ancestor a, * html .nav-primary li.current-menu-item a, * html .nav-primary li.current-menu-parent a, * html .nav-primary li a:hover {
		color: #28317c;
	}
	
	/*------------------------------------*\
		$2ND LEVEL CURRENT
	\*------------------------------------*/
	
	.nav-primary ul li.current-menu-item > a { 
		background-color: #454545;
		color: #fff;  
	}
	
}

/*------------------------------------*\
    $CAROUSEL
\*------------------------------------*/

.feature { 
	position: relative; 
	overflow: hidden;
	background-color: #28317c;
}

.feature, .feature .slides li { height: 400px; }

.feature-content, .banner-content {
	position: absolute;
	bottom: 50px;
	left: 1.25em;
	right: 1.25em;
	color: #fff;
	text-align: center;
	text-shadow: 0 0 5px rgba(0,0,0,0.5);
	background-color: rgba(40, 49, 124, 0.75);
	padding: 1.25em;
}

.feature-heading, .feature-subheading {
	color: #fff;
}

.feature-heading {
	font-size: 1em;
	margin-bottom: 1em;
	margin-bottom: 0.5em;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.feature-subheading {
	font-size: 30px;
	margin-bottom: 0;
}

@media all and (min-width: 700px) {

	.feature, .feature .slides li { height: 600px; }

	.feature-content { 
		bottom: 100px;
		padding: 30px 50px; 
	}

	.feature-heading { font-size: 1.5em; }

	.feature-subheading { font-size: 50px; }
	
}		

@media all and (min-width: 61.250em) { /* 980px */

	.feature, .feature .slides li {
		height: 750px;
	}

	.feature .container {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		margin-left: -30.625em;
	}

	.feature-content {
		bottom: 80px;
		padding: 50px 100px;
	}

	.feature-heading { font-size: 1.5em; }

	.feature-subheading { font-size: 75px; }

}

/*------------------------------------*\
    $FLEXSLIDER
\*------------------------------------*/

.flexslider {
	margin: 0; 
	padding: 0;
}

.flexslider .slides > li { display: none; }

.flexslider .slides img {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -320px; /* Half of width - 980px */
	max-width: none;
	width: auto;
}

.slides:after {
	content: "\0020"; 
	display: block; 
	clear: both; 
	visibility: hidden; 
	line-height: 0; 
	height: 0;
}

html[xmlns] .slides { display: block; }

* html .slides { height: 1%; }

.no-js .slides > li:first-child { display: block; }

@media all and (min-width: 700px) {

	.flexslider .slides img { margin-left: -490px; }
	
}		

@media all and (min-width: 61.250em) { /* 980px */

	.flexslider .slides img {
		margin-left: -60em; /* Half of width - 1920px */
	}

}

/*------------------------------------*\
    $DIRECTION NAV - ARROWS
\*------------------------------------*/

ul.flex-direction-nav { margin-bottom: 0; }

.flex-direction-nav a {
    width: 24px;
    height: 24px;
    display: block;
    position: absolute;
	top: 50%;
	left: 5%;
	margin-top: -12px;
    z-index: 100000;
    cursor: pointer;
    text-indent: -9999px;
    background: url(images/sprite.png) 0 -200px no-repeat;
}

.flex-direction-nav a.flex-next {
	left: auto;
	right: 5%;
	background-position: -100px -200px;
}

/*------------------------------------*\
    $CONTROL NAV - DOTS
\*------------------------------------*/

.feature-nav {
	position: absolute;
	z-index: 999;
	bottom: 1em;
	right: 0;
	left: 0;
}

ol.flex-control-nav {
	margin-bottom: 0;
	text-align: center;
}

.flex-control-nav li {
    margin: 0 5px;
    display: inline-block;
    zoom: 1;
    *display: inline;
	text-indent: -9999em;
	vertical-align: bottom;
}

.flex-control-paging li a {
    width: 14px;
    height: 14px;
    display: block;
    background-color: transparent;
    border: 1px solid #fff;
    cursor: pointer;
	border-radius: 100%;
}

.flex-control-paging li a.flex-active {
    background-color: #fff;
    cursor: default;
}

/*------------------------------------*\
    $INTRO
\*------------------------------------*/

.home-section { padding: 1.25em 0; }

.intro-heading, .home-heading {
	font-size: 30px;
	font-weight: 700;
	text-align: center;
}

.intro-subheading {
	font-size: 1.25em;
	font-style: italic;
	color: #565656;
}

.intro hr { 
	width: 25%; 
	margin: 1em auto;
}

@media all and (min-width: 700px) {

	.home-section { padding: 50px 0; }

	.intro-heading, .home-heading {
		font-size: 50px;
	}

	.intro hr { margin: 2em auto; }

	.intro-subheading { 
		font-size: 1.5em;
		line-height: 1.5em;
		padding: 0 1.5em; 
	}
	
}		

@media all and (min-width: 980px) {

	.home-section { padding: 75px 0; }

	.intro-subheading { padding: 0 2.5em; }
	
}		

/*------------------------------------*\
    $PROMO
\*------------------------------------*/

.promo { margin-bottom: 25px; }

.promo-item-image {
	border: 10px solid #28317c;
	border-radius: 1000px;
	overflow: hidden;
	padding: 25px;
	width: 50%;
	margin: 0 auto 1.5em auto;
}

.promo-item-heading {
	font-size: 1.5em;
	line-height: 1em;
	margin-bottom: 0.75em;
	font-weight: 700;
}

.promo-item p {
	font-size: 1.125em;
	line-height: 1.4em;
}

@media all and (max-width: 699px) {

	.promo-item { margin-bottom: 1.25em; }

	.promo-item-03 { margin-bottom: 0; }
	
}		

@media all and (min-width: 700px) {

	.promo { margin-bottom: 50px; }

	.promo-item-image { width: 65%; }

	.promo-item p { font-size: 1em; }
	
}		

@media all and (min-width: 980px) {

	.promo { margin-bottom: 75px; }

	.promo-item p {
		font-size: 1.125em;
	}
	
}		

/*------------------------------------*\
    $HOME PRIMARY
\*------------------------------------*/

.home-primary .grid { margin-left: -3.5em; }

.home-primary .grid-item { padding-left: 3.5em; }

.home-primary-image { border-radius: 1000px; }

.home-primary .list-ticked {
	font-size: 1.25em;
	margin-bottom: 0;
}

.home-primary .list-ticked li:last-child { margin-bottom: 0; }

@media all and (max-width: 699px) {

	.home-primary-image { margin-bottom: 1.5em; }
	
}		

@media all and (min-width: 700px) {

	.home-primary .grid-item { width: 40%; }

	.home-primary .grid-beta { width: 60%; }
	
}		

/*------------------------------------*\
    $HOME SECONDARY
\*------------------------------------*/			

.home-secondary-heading {
	font-size: 1.875em;
	text-align: left;
}

.home-secondary-content { padding: 1.25em 0; }

.home-secondary .content {
	font-size: 18px;
}

.home-secondary ol {
	font-size: 22px;
}

@media all and (min-width: 700px) {
	
	.home-secondary-heading { font-size: 40px; }

}		

@media all and (min-width: 980px) {

	.home-secondary { 
		overflow: hidden; 
		position: relative;
	}

	.home-secondary-content { padding: 75px 0; }

	.home-secondary-image {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 50%;
		margin-right: -640px;
		width: 640px;
	}
	
}		

/*------------------------------------*\
    $BANNER
\*------------------------------------*/

.banner {
    width: 100%;
    height: 200px;
	position: relative;
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-size: cover;
}

@media all and (min-width: 700px) {

	.banner { height: 300px; }
	
}		

@media all and (min-width: 61.250em) { /* 980px */

	.banner { 
		height: 500px;
		background-size: auto; 
	}

	.banner-content { position: relative; }	

}

/*------------------------------------*\
    $CONTENT
\*------------------------------------*/

.content-heading {
	padding: 1.25em 0;
	margin-bottom: 1.25em;
	background-color: #28317c;
}

.page-title {
	font-size: 1.5em;
	color: #fff;
	font-weight: 700;
	margin-bottom: 0;
}

.content {
	font-size: 18px;
	line-height: 26px;
}

@media all and (max-width: 43.750em) { /* 700px */

	.content h2, .content h3, .content h4, .content h5, .content h6 {
		font-size: 1em;
		line-height: 1.4em;
		margin-bottom: 1.167em;
	}	

}

@media all and (min-width: 700px) {

	.page-title {
		font-size: 2.5em;
	}
	
}		

@media all and (min-width: 61.250em) { /* 980px */

	.content {
		float: left;
		padding: 0;
		width: 640px;
	}
	
	.content-right { float: right; }
	
	.content-full { 
		float: none;
		width: 100%;
	}
	
}

/*------------------------------------*\
    $CONTENT TABLES
\*------------------------------------*/

.content table { border-collapse: collapse; }

.content table th, .content table td {
	padding: 0.625em;
	border-bottom: 1px solid #ddd;
}

.content table th {
    font-weight: bold;
	text-align: left;
}

/*------------------------------------*\
    $CONTENT LISTS
\*------------------------------------*/

.content ul, .content ol { margin-left: 1em; }

.content ul { list-style: disc; }

.content ol { list-style: decimal; }

.content li { margin-bottom: 0.875em; }

.content li > ul, .content li > ol { 
    margin-top: 0.625em; 
    margin-bottom: 0;
}

@media all and (min-width: 43.750em) { /* 700px */

	.content ul, .content ol { margin-left: 2.625em; } /* 42px */

}

/*------------------------------------*\
    $NUMBERED LIST
\*------------------------------------*/

.content ol { 
	list-style: none;
	margin-left: 0;
	counter-reset: number-counter;
}

.content ol li { 
	margin-bottom: 0.875em; 
	padding-left: 2em;
	position: relative;
}

.content ol li:before {
	content: counter(number-counter);
	counter-increment: number-counter;
	position: absolute;
	top: 3px;
	left: 0;
	width: 24px;
	height: 24px;
	text-align: center;
	background-color: #fff;
	color: #28317c;
	font-size: 17px;
	line-height: 24px; /* Same as height */
	border-radius: 100%;
	font-weight: 700;
	font-family: 'Merriweather', serif;
}

/*------------------------------------*\
    $TICKED LIST
\*------------------------------------*/

ul.list-ticked { 
	margin-left: 0;
	list-style: none; 
}

ul.list-ticked li { 
	margin-bottom: 0.875em; 
	padding-left: 2em;
	position: relative;
}

ul.list-ticked li:before {
	content: '\f14a';
	position: absolute;
	top: 3px;
	left: 0;
	color: #28317c;
}

@media all and (min-width: 43.688em) { /* 699px */
	
	/* Two column list */

	ul.list-double {
		margin-left: 0;
		margin-bottom: 1em;
		clear: both;
		overflow: hidden;
	}
	
	ul.list-double li {
		float: left;
		width: 40%;
		margin-left: 10%;
	}

}

/* Page lists displayed with [list-pages] and [child-pages] */

ul.child-pages, ul.list-pages {
	list-style: none;
	margin-left: 0;
}

ul.child-pages li, ul.list-pages li { 
	border-bottom: 1px solid #fff; 
	margin-bottom: 0;
}

ul.child-pages a, ul.list-pages a { 
	position: relative;
	display: block; 
	padding: 0.625em 2em 0.625em 0.8em;
	color: #fff;
	background-color: #28317c;
}

ul.child-pages a:hover, ul.list-pages a:hover {
	background-color: #454545;
	text-decoration: none;
}

ul.child-pages a:before, ul.list-pages a:before {
	content: '\f054';
    position: absolute;
    top: 50%;
    right: 1em;
    font-size: 24px;
    margin-top: -8px; 
}

/*------------------------------------*\
    $BLOCKQUOTE
\*------------------------------------*/

blockquote {
	position: relative;
	font-size: 1.125em;
	line-height: 1.618em;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	font-style: italic;
	border: solid #eee;
	border-width: 10px 0;
}

blockquote p:last-child { margin: 0 }

@media all and (min-width: 61.250em) { /* 980px */

	blockquote { padding: 1.5em 2em; }

}

/*------------------------------------*\
    $BLOG
\*------------------------------------*/

.post-meta p {
	font-size: 0.875em;
	line-height: 1.4em;
}

.post-navigation {
    font-size: 0.875em;
    line-height: 1.5em;
    border-top: 1px solid #ddd;
    padding: 1em 0;
}

.archive-navigation {
    display: block;
    clear: both;
    padding: 1em 0;
    text-align: center;
    border-top: 1px solid #ddd;
}

.archive-navigation span, .archive-navigation a {
    padding: 3px 6px;
    border: 1px solid #ddd;
	border-radius: 2px;
}

/*------------------------------------*\
    $CONTENT IMAGES
\*------------------------------------*/

@media all and (max-width: 25.000em) { /* 400px */

	img.alignleft, img.alignright { 
		max-width: 50%;
		height: auto; 
	}

}

.alignright, a.alignright {
    float: right;
    margin: 0 0 1.618em 1.618em; /* 0 0 26px 26px */
}

.alignleft, a.alignleft {
    float: left;
    margin: 0 1.618em 1.618em 0; /* 0 26px 26px 0 */
}

.aligncenter, a .aligncenter {
    display: block;
    margin: 0 auto 1.618em auto; /* 0 auto 26px auto */
}

.alignnone, a .alignnone {
    display: block;
    margin-bottom: 1.618em; /* 26px */
}

img.no-image-border {
	padding: 0;
	border: none;
}

.wp-caption { margin-bottom: 1.618em; /* 26px */ } 

.wp-caption img {
    border: none;
    margin: 0;
    padding: 0;
}

.wp-caption p.wp-caption-text {
    font-size: 0.875em;
    line-height: 1.4em; 
	margin-bottom: 0;
	padding: 0.625em 0;
	font-style: italic;
	border-bottom: 1px solid #ddd;
}

/*------------------------------------*\
    $GALLERY
\*------------------------------------*/

.gallery-item { padding-bottom: 0.625em; }

.gallery br { display: none; }

.gallery img {
	width: 100%;
	height: auto !important;
    border: 1px solid #ddd !important;
    background: #fff;
    padding: 8px;
}

.gallery img:hover { border: 1px solid #808080 !important }

@media screen and (min-width: 43.75em) {

	.gallery { 
		overflow: hidden;
		margin-left: -1em; 
	}

	.gallery-item {
		float: left;
		width: 100%;
		padding-left: 1em;
		padding-bottom: 1em;
		transition: all .25s ease-in-out;
	}

	.gallery-columns-2 .gallery-item { width: 50%; }

	.gallery-columns-3 .gallery-item { width: 33.333%; }

	.gallery-columns-4 .gallery-item { width: 25%; }

	.gallery-columns-5 .gallery-item { width: 20%; }

	.gallery-columns-6 .gallery-item { width: 16.667%; }

	.gallery-columns-7 .gallery-item { width: 14.285%; }

	.gallery-columns-8 .gallery-item { width: 12.5%; }

	.gallery-columns-9 .gallery-item { width: 11.1%; }

}

/*------------------------------------*\
    $SIDEBAR
\*------------------------------------*/

@media all and (min-width: 61.250em) { /* 980px */

	.sidebar {
		float: right;
		width: 18.75em;
	}	

}

.sidebar > div, .sidebar-blog > div { margin-bottom: 2em; }

.sidebar-heading { 
	font-size: 1.5em;
	line-height: 1.3em;
	margin-bottom: 0.5em;
	font-weight: 700;
}

.sidebar p { 
	font-size: 17px;
	line-height: 1.3em;
	margin-bottom: 1em; 
}

.sidebar-cta img {
	width: 100px;
	float: right;
	margin-left: 15px;
	border-radius: 1000px;
}

/*------------------------------------*\
    $ISLAND
\*------------------------------------*/

.island {
	padding: 1em 1.168em;
	color: #fff;
}

.island-heading { color: #fff; }

/*------------------------------------*\
    $UI LIST
\*------------------------------------*/

.ui-list {
    list-style: none;
    border-top: 1px solid #ddd;
	margin: 0;
}

.ui-list li { border-bottom: 1px solid #ddd; }

.ui-list a {
    display: block;
    padding: 0.625em 0.313em;
	line-height: 1.4em;
	font-weight: normal;
}

.ui-list a:hover, .ui-list .current_page_item a { text-decoration: none; }

/*------------------------------------*\
    $SEARCH
\*------------------------------------*/

.form-search { position: relative; } 

.form-search input.search-input { 
	width: 100%;
	margin: 0;
	padding: 0.5em;
	color: #666;
	border: none;
	border: solid #ddd;
	border-width: 1px 0 1px 1px;
}

.form-search .search-submit {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 45px;
	border: none;
	margin: 0;
}

.form-search .search-submit:before {
	content: '\f002';
}

/*------------------------------------*\
    $SIDEBAR - LEFT
\*------------------------------------*/

.sidebar-left { 
	padding: 0 1em; 
	margin-bottom: 1em;
}

.sidebar-left .contact-detail {
    padding: 1em 0;
    border-bottom: 1px solid #ddd;
}

.sidebar-left h4 {
    font-size: 1em;
    line-height: 1em;
    font-weight: bold;
    text-transform: uppercase;
  	margin-bottom: 0.313em;
}

.sidebar-left .icon { vertical-align: top; }

.sidebar-left p, .sidebar-left table {
    font-size: 1em;
    line-height: 1.4em;
    margin: 0;
}

.sidebar-left p + p { margin: 10px 0 0 0 }

.sidebar-left .is-day, .sidebar-left .is-time { width: 50%; }

@media all and (min-width: 43.750em) and (max-width: 61.188em) { /* 700px - 979px */

	.sidebar-left table { width: 50%; }
	
}

@media all and (min-width: 61.250em) { /* 980px */

	.sidebar-left {
		float: left;
		width: 18.750em; /* 300px */
		padding: 0;
		margin-bottom: 1em;
	}
		
	.sidebar-left h4 { margin-bottom: 0.875em; }
	
}

/*------------------------------------*\
    $FOOTER
\*------------------------------------*/

.footer {
	text-align: center;
	padding: 1.25em;
}

.footer-body {
	font-size: 0.813em;
    line-height: 1.4em;
}

.footer p, .footer a { color: #ccc; }

.footer a { font-weight: normal; }

.footer a:hover { color: #ccc; }





/*------------------------------------*\
    3. $MODULE
\*------------------------------------*/ 

/*------------------------------------*\
    $NAV
\*------------------------------------*/ 

ul.nav, .nav ul { 
    margin: 0;
    padding: 0;
}

.nav li { float: left; }

.nav a { display: block; }

ul.nav-stacked li { float: none; }

/*------------------------------------*\
    $HELPER
\*------------------------------------*/

.left { float: left }

.right { float: right }

.text-center { text-align: center; }

.text-right { text-align: right; }

.upper { text-transform: uppercase; }

.lower { text-transform: lowercase;}

.under { border-bottom: 1px solid; }

.spaced { letter-spacing: 2px; }

.no-mb { margin-bottom: 0; }

.is-relative { position: relative; }

.inline-block {
    display: inline-block;
    zoom: 1;
    *display: inline;
}

.cf:before, .cf:after, .grid:before, .grid:after, .main:before, .main:after, .content:before, .content:after, .nav-primary:before, .nav-primary:after, .container:before, .container:after, .top:before, .top:after, .navigation:before, .navigation:after {
    content: '';
    display: table;
}

.cf:after, .grid:after, .main:after, .content:after, .nav-primary:after, .container:after, .top:after, .navigation:after { clear: both; }

.cf, .grid, .main, .content, .nav-primary, .container, .top, .navigation { *zoom: 1; }

/*------------------------------------*\
    $GRID
\*------------------------------------*/ 

.grid { margin-left: -1.618em; }

.grid-item {
    display: block;
    float: left;
    padding-left: 1.618em;
    width: 100%;
}

@media all and (min-width: 18.750em) {

	.palm-whole .grid-item { width: 100%; }
	
	.palm-halves .grid-item { width: 50%; }
	
	.palm-thirds .grid-item { width: 33.3333333%; }
	
	.palm-fourths .grid-item { width: 25%; }
	
	.palm-fifths .grid-item { width: 20%; }

}

@media all and (min-width: 43.750em) and (max-width: 61.250em) {

	.lap-whole .grid-item { width: 100%; }
	
	.lap-halves .grid-item { width: 50%; }
	
	.lap-thirds .grid-item { width: 33.3333333%; }
	
	.lap-one-two-thirds .lap-one-third { width: 33.3333333%; }
	
	.lap-one-two-thirds .lap-two-thirds { width: 66.666667%; }
	
	.lap-fourths .grid-item { width: 25%; }
	
	.lap-fifths .grid-item { width: 20%; }
	
}

@media all and (min-width: 61.250em) { 

	.desk-whole .grid-item { width: 100%; }

	.desk-halves .grid-item { width: 50%; }
		
	.desk-thirds .grid-item { width: 33.3333333%; }
	
	.desk-one-two-thirds .desk-one-third { width: 33.3333333%; }
	
	.desk-one-two-thirds .desk-two-thirds { width: 66.666667%; }
	
	.desk-fourths .grid-item { width: 25%; }
	
	.desk-fifths .grid-item { width: 20%; }

}

/*------------------------------------*\
    $ICONS
\*------------------------------------*/

.has-fa:before, .has-fa:after, ul.list-ticked li:before, ul.list-pages a:before, ul.child-pages a:before {
  	display: inline-block;
  	font: normal normal normal 14px/1 FontAwesome;
  	font-size: inherit;
  	text-rendering: auto;
}

/*------------------------------------*\
    $INLINE LIST
\*------------------------------------*/

.list-inline { list-style: none; }

.list-inline li { display: inline; }

.list-inline a {
    display: inline-block;
    zoom: 1;
    *display: inline;
}

/*------------------------------------*\
    $ICON LIST
\*------------------------------------*/

.list-icon { font-size: 0; }

.list-icon li { margin-left: 10px; }

.list-icon li:first-child { margin-left: 0; }

/*------------------------------------*\
    $ACCORDION LIST
\*------------------------------------*/

.list-accordion {
	margin-left: 0;
	border-top: 1px solid #ddd;
}

.list-accordion-title { 
	font-size: 1em;
	line-height: 1.3em;
	margin-bottom: 0;
	border-bottom: 1px solid #ddd; 
}

.list-accordion-title.open { border-bottom: none; }

.list-accordion-title a { 
	display: block; 
	position: relative; 
	padding: 0.625em 0.313em; 
}

.list-accordion-content {
	padding: 0.313em;
	border-bottom: 1px solid #ddd;
}

.list-accordion-title a:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 0.313em;
	display: block;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	background: url(images/sprite.png) -200px -200px no-repeat;   
}	
	
.list-accordion-title.open a:before { background-position: -300px -200px; }

/*------------------------------------*\
    $CTA MOBILE
\*------------------------------------*/

.cta-mobile {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
}

.nav-cta-mobile { 
	overflow: hidden;
	font-size: 0.938em; 
	text-transform: uppercase;
	text-align: center;
	border-bottom: 1px solid #fff;
}

.nav-cta-mobile li { width: 50%; }

.nav-cta-mobile li:first-child { border-right: 1px solid #fff; }

.nav-cta-mobile a {
	background-color: #28317c;
	color: #fff;
	padding: 0.75em 0;
}

.nav-cta-mobile a:hover {
	background-color: #444;
	text-decoration: none;
}

@media all and (min-width: 700px) {

	.cta-mobile {
		position: absolute;
		left: auto;
		top: 1.25em;
		bottom: 0;
	}

	.nav-cta-mobile li { width: auto; }

	.nav-cta-mobile a {
		padding: 0.5em 1.25em;
	}
	
}		

/*------------------------------------*\
    
    $SIDR

	Slide out sidebar for touch devices

\*------------------------------------*/

.sidr {
    display: none;
    position: absolute;
    position: fixed;
    top: 0;
    height: 100%;
    z-index: 999999;
    width: 280px;
    overflow-x: none;
    overflow-y: auto;
	background-color: #fff;
	padding-bottom: 2em;
}

.sidr.right {
    left: auto;
    right: -280px;
}

.site { position: relative; }

.site:before {
	content: '';
	transition: background .3s ease-in-out;	
}

.sidr-open .site:before {
	content: '';
	position: absolute;
	z-index: 9999;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0,0,0,.75);
}

/*------------------------------------*\
    $NEWSLETTER SUBSCRIPTION
\*------------------------------------*/

.form-subscribe input { 
	margin-bottom: 0.313em; /* 5px */
	width: 100%;
	font-size: 1em;
	line-height: 1em;
}

.form-subscribe input[type="text"] { padding: 0.5em; }

.form-subscribe input[type="submit"] { padding: 0.75em; }

/*------------------------------------*\
    $BREADCRUMBS
\*------------------------------------*/

.nav-breadcrumb {
	font-size: 0.813em;
	line-height: 1em;
	margin-bottom: 1em;	
	color: #fff;
	text-transform: uppercase;
}

.nav-breadcrumb a { color: #fff; }

.breadcrumb-divider { margin: 0 0.5em; }

/*------------------------------------*\

    $CONVERSION PAGE

	page-conversion.php

\*------------------------------------*/

.page-conversion { background-color: #f9f9f9; }

.page-conversion .page-title { font-size: 1.875em; }

.page-conversion-intro h2 { font-size: 1.125em; }

.page-conversion ul.list-ticked { margin-bottom: 1.618em; }

.page-conversion .list-ticked li { margin-bottom: 0.75em; }

.page-conversion-intro .intro-image {
	overflow: hidden;
	padding: 9px;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 15px;
}

.page-conversion-intro img { border-radius: 10px; }

.page-conversion-cta { text-align: center; }

.page-conversion-quote img {
	margin-right: 1em;
	padding: 9px;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 100%;
}

.page-conversion-quote, .page-conversion-footer { 
	background-color: #fff; 
	border: solid #eee;
	border-width: 1px 0; 
}

.page-conversion-intro, .page-conversion-quote, .page-conversion-content, .page-conversion-footer { padding: 1.25em; }

.page-conversion-form-heading { 
	text-align: center;
	text-transform: uppercase;
}

.page-conversion-form-heading { font-size: 1.5em; }

.page-conversion-cta { font-size: 1.25em; }

.page-conversion a.button-cta { font-size: 1em; }

@media all and (max-width: 43.688em) { /* 699px */
	
	.page-conversion-cta .is-alternative {
		display: block;
		margin: 0.313em 0;
	}

	.page-conversion a.button-cta { 
		text-align: center;
		display: block;
	}		
	
	.page-conversion-quote .grid-alpha {
		width: 45%;
		padding-right: 1em;
	}
	
	.page-conversion-quote .grid-beta { float: none; }

}

@media all and (min-width: 43.750em) { /* 700px */
	
	.page-conversion .page-title { font-size: 3em; }
	
	.page-conversion-intro h2 { 
		font-size: 1.5em;
		width: 72%;
		margin: 0 auto 1.5em auto;
	}
	
	.page-conversion ul.list-ticked { margin-bottom: 0; }
	
	.page-conversion .list-ticked li {
		font-size: 1.125em; 
		margin-bottom: 1em; 
	}
	
	.page-conversion-intro .intro-image { margin-bottom: 1.618em; } 
	
	.page-conversion-quote .quote-content { text-align: center; }
	
	.page-conversion-quote .grid { margin-left: -2em; }
	
	.page-conversion-quote .grid-item { padding-left: 2em; }
	
	.page-conversion-quote .grid-alpha { width: 23%; }
	
	.page-conversion-quote .grid-beta { width: 77%; }
	
	.page-conversion-quote p { 
		font-size: 1.25em; 
		line-height: 1.5em;
	}

	.page-conversion-intro, .page-conversion-quote, .page-conversion-content, .page-conversion-footer { padding: 3em 2em; }
	
	.page-conversion-cta { font-size: 1.5em; }
	
	.page-conversion-cta .is-alternative { margin: 0 1em; }

}

@media all and (min-width: 61.250em) { /* 980px */

	.page-conversion ul.list-ticked { margin-top: 3em; }
	
	.page-conversion .list-ticked li { font-size: 1.25em; }

	.page-conversion-quote .quote-content { padding-top: 1.5em; }

	.page-conversion-form {
		width: 62%;
		margin: 0 auto;
	}
	
	.page-conversion-intro, .page-conversion-quote, .page-conversion-content, .page-conversion-footer { padding: 2em 0; }
	
	.page-conversion-cta { font-size: 1.875em; }
	
	.page-conversion-content .page-conversion-cta { margin-top: 1em; }

}

/*------------------------------------*\
    $CTA GLOBAL
\*------------------------------------*/			

.cta-global { 
	padding: 1.25em 0; 
	text-align: center;
}

.cta-global-heading {
	font-size: 1.5em;
	margin-bottom: 0.75em;
	text-align: center;
}

.cta-global .is-number { 
	font-size: 1.25em;
	margin-bottom: 0.5em; 
}

.cta-global .is-number a { color: #fff; }

@media all and (max-width: 699px) {
	
	.cta-global .is-number { display: block; }

}		





/*------------------------------------*\
    4. $STATE
\*------------------------------------*/

.is-hidden { display: none; }

@media all and (max-width: 43.688em) { /* 489px */

	.palm-is-hidden { display: none; }

}

@media all and (min-width: 43.688em) and (max-width: 61.188em) { /* 699px to 979px */

	.lap-is-hidden { display: none; }

}

@media all and (min-width: 61.250em) { /* 980px */

	.desk-is-hidden { display: none; }

}

.is-invisible {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	    filter: alpha(opacity=0);
	   opacity: 0;
}

.no-transition { transition: none; }

.spinner {
	height: 60px;
	width: 60px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -30px;
	margin-left: -30px;
	animation: rotation 1s infinite linear;
	border-left: 6px solid rgba(255,255,255,.15);
	border-right: 6px solid rgba(255,255,255,.15);
	border-bottom: 6px solid rgba(255,255,255,.15);
	border-top: 6px solid rgba(255,255,255,.8);
	border-radius: 100%;
}

@keyframes rotation {
	from { transform: rotate(0deg); }
	to { transform: rotate(359deg); }
}





/*------------------------------------*\
    5. $THEME
\*------------------------------------*/

/*------------------------------------*\
    $COLOURS
\*------------------------------------*/

/* Brand primary and secondary colours */
.bpc { color: #28317c; }
.bsc { color: #454545; }

.text-white { color: #fff; }
.text-light { color: #eee; }
.text-neutral { color: #808080; }
.text-dark { color: #333; }

::selection {
    background: #808080;
    color: #fff;
    text-shadow: none;
}

/*------------------------------------*\
    $BACKGROUNDS
\*------------------------------------*/

/* Brand primary and secondary background colours */
.bpb { background-color: #28317c; }
.bsb, .island { background-color: #454545; }

.bg-light { background-color: #eee; }
.bg-neutral { background-color: #808080; }
.bg-dark { background-color: #333; }



