/*
Theme Name: Surf Pacific Standard Responsive
Theme URI: http://www.surfpacific.com.au
Description: A responsive WordPress theme designed and built by Surf Pacific.
Author: Surf Pacific
Author URI: http://www.surfpacific.com.au
Version: 1.0
*/

/*------------------------------------*\
    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;
}

* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;	
}

ul, ol { list-style: none; }

body {
    background: #fff;
    font: normal 100%/1.5em 'Proxima Nova W01', Arial, Helvetica, sans-serif;
    color: #333;
    overflow-y: scroll; 
}

body.not-home { background-color: #efefef; }

@media all and (max-width: 43.688em) { /* 699px */

	body { padding-bottom: 3.563em; }

}

/* Give elements the same bottom margin to create consistent vertical rhythm */

p, ul, ol, blockquote, table, hr, iframe, .grid, .cta, .message, .button, .promo, .content, .has-mb { margin-bottom: 1.1618em; } 

/*------------------------------------*\
    $TYPOGRAPHY
\*------------------------------------*/

h1, h2, h3, h4, h5, h6, .titillium, .nav-primary { 
	font-family: 'Titillium Web', Arial, Helvetica, sans-serif;
	font-weight: normal; 
	color: #0e7cc1;
}

h1, .alpha {
    font-size: 2.813em; /* 45px */
    line-height: 1.178em; /* 53px */
	margin-bottom: 0.4em; /* 18px */
}

h2, .beta {
    font-size: 1.688em; /* 27px */
    line-height: 1.296em; /* 35px*/
	margin-bottom: 0.667em; /* 18px*/
}

h3, .gamma {
    font-size: 1.188em; /* 19px*/
    line-height: 1.421em; /* 27px*/
	margin-bottom: 0.947em; /* 18px*/
}

h4, .delta {
    font-size: 1.125em; /* 18px*/
    line-height: 1.444em; /* 26px*/
	margin-bottom: 1em; /* 18px*/
}

h5, .epsilon {
	font-size: 1em; /* 16px*/
    line-height: 1.5; /* px*/
	margin-bottom: 1.125em; /* 18px*/
}

h6, .zeta {
	font-size: 0.875em; /* 14px*/
	line-height: 1.571em; /* 22px*/
	margin-bottom: 1.286em; /* 18px*/
}

small, .small {
    font-size: 0.875em;
    line-height: 1.4em;
}

/*------------------------------------*\
    $LINKS
\*------------------------------------*/

a:link, a:visited {
    text-decoration: none;
    color: #ff7800;
    font-weight: bold;
	-webkit-transition: all .1s linear;
       -moz-transition: all .1s linear;
        -ms-transition: all .1s linear;
         -o-transition: all .1s linear;
            transition: all .1s linear;
}

a:hover {
    color: #d86601;
    text-decoration: underline;
    outline: none;
}

a:focus, a:active { outline: none }

/*------------------------------------*\
    $BUTTONS
\*------------------------------------*/

.button, input[type="submit"] {
	text-transform: uppercase;
	-webkit-border-radius: 3px;
	   -moz-border-radius: 3px;
	        border-radius: 3px;
}

a.button, .button {
    display: inline-block;
    zoom: 1;
    *display: inline;
    font-size: 1em;
    line-height: 1em;
	font-weight: bold;
    padding: 0.75em 1.618em;
    color: #fff;
    background-color: #ff7800;
	border: 3px solid #ff7800;	
	-webkit-transition: all .1s linear;
       -moz-transition: all .1s linear;
        -ms-transition: all .1s linear;
         -o-transition: all .1s linear;
            transition: all .1s linear;
}

a.button:hover, .button:hover {
    text-decoration: none;
    color: #fff;
    background-color: #d86601;
	border-color: #d86601;
}

a.button-alt, .button-alt {
	background-color: transparent;
	color: #007cc4;
	border-color: #007cc4;
}

a.button-alt:hover, .button-alt:hover {
	background-color: #007cc4;
	border-color: #007cc4;
	color: #fff;
}

a.button-alt-secondary {
	color: #ff7800;
	border-color: #ff7800;
}

a.button-alt-secondary:hover {
	background-color: #ff7800;
	border-color: #ff7800;
	color: #fff;
}

.button + .button { margin-left: 0.75em; }

/*------------------------------------*\
    $FORMS
\*------------------------------------*/

input, select, textarea {
    font-family: inherit;
	font-size: inherit; 
    line-height: 1em;
    border: 1px solid #d5d5d5;
	padding: 0.188em 0.313em; /* 3px 5px */
}

input[type="submit"] {
	-webkit-appearance: none; /* Remove iOS default styles */
    line-height: 1em;
    padding: 1em 1.618em;
    cursor: pointer;
    border: none;
    color: #fff;
    background-color: #ff7800;
    -webkit-transition: all .1s linear;
       -moz-transition: all .1s linear;
        -ms-transition: all .1s linear;
         -o-transition: all .1s linear;
            transition: all .1s linear;
}

input[type="submit"]:hover { background-color: #d86601 }

/*------------------------------------*\
    $OTHER ELEMENTS
\*------------------------------------*/

hr {
	border: solid #d5d5d5;
    border-width: 1px 0 0 0;
    clear: both;
}

img, iframe { 
	vertical-align: top; 
	max-width: 100%;
}





/*------------------------------------*\
    2. $LAYOUT
\*------------------------------------*/

.container, .header, .navigation, .main, .footer { width: 100%; }

.header { 
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
}

.top {
	padding: 1.618em 0.625em;
	background-color: #fff;
	background-color: rgba(255,255,255,0.8);
}

.logo { width: 10em; }

@media all and (min-width: 43.750em) { /* 700px */

	.top { padding: 1.618em; }

	.logo { width: auto; }

}

@media all and (min-width: 61.250em) { /* 980px */

	.top { padding: 1.5em 0; }
	
	.contact { margin: 0.313em 0.625em 0 0; }
	
	.list-contact { 
		text-transform: lowercase;
		font-size: 0.938em; 
		overflow: hidden; /* To keep everything within the rounded corners */
		-webkit-border-radius: 3px;
		   -moz-border-radius: 3px;
		        border-radius: 3px;
	}
	
	.list-contact .icon { margin-right: 0.25em; }
	
	.list-contact a {
		line-height: 1.3em;
		padding: 1em 2em;
		font-weight: normal;
		color: #333;
	}
	
	.list-contact a:hover { 
		background-color: #fff;
		text-decoration: none; 
	}

	.list-contact a.is-number {
		color: #fff;
		background-color: #ff7800;
		border: 1px solid #ff7800;
	}
	
	.list-contact a.is-number:hover { 
		background-color: #d86601;
		border-color: #d86601; 
	}

	.list-contact a.is-button { border: 1px solid #007cc4; }

	.list-contact li:last-child .is-button { 
		border-left: 0; 
		-webkit-border-radius: 0 3px 3px 0;
		   -moz-border-radius: 0 3px 3px 0;
		        border-radius: 0 3px 3px 0;
	}

	.like { 
		float: right; 
		width: 2.813em;
		height: 4.188em;
	}

	.container { 
		width: 61.250em; /* 980px */
		margin: 0 auto;
	}

}

/*------------------------------------*\
    $RESPONSIVE NAV
\*------------------------------------*/

#nav-primary-toggle {
	position: absolute;
	top: 50%; 
	right: 1em;
	margin-top: -22px;
	width: 45px;
	height: 45px;
	text-indent: -9999em;
	background: url(images/sprite.png) 0 -200px no-repeat;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
	
	#nav-primary-toggle {
		background: url(images/sprite@2x.png) 0 -200px no-repeat;			
		background-size: 600px 800px;
	}
		
}

#nav ul {
	width: 100%;
	display: block;
	text-transform: uppercase;
}

#nav li { float: none; }

#nav a {
	display: block;
	width: 100%;
	background-color: #007cc4;
	color: #fff;
	font-weight: normal;
	padding: 0.625em;
	text-align: center;
}

#nav a:hover, #nav .current-menu-item > a, #nav .current-menu-ancestor > a {
	text-decoration: none;
	color: #fff;
	background-color: #046095;
}

#nav .current-menu-item > a, #nav .current-menu-ancestor > a { font-weight: bold; }

#nav ul ul { display: none; }

.js #nav {
	clip: rect(0 0 0 0);
	max-height: 0;
	position: absolute;
	display: block;
	overflow: hidden;
	zoom: 1;
}

#nav.opened { max-height: 9999px; }

#nav a:hover { text-decoration: none; }

@media all and (min-width: 61.250em) {
	
	.js #nav { overflow: visible; }
		
}

@media screen and (min-width: 61.250em) { /* 980px - this determines when the nav toggle button is hidden and the full nav is displayed */
	
	.js #nav { position: relative; }
	.js #nav.closed { max-height: none; }
	#nav-primary-toggle { display: none; }
  
}

@media all and (max-width: 43.688em) { /* 699px */

	#nav.opened {
		-webkit-box-shadow: 0 8px 6px -6px rgba(0,0,0,0.3);
		   -moz-box-shadow: 0 8px 6px -6px rgba(0,0,0,0.3);
				box-shadow: 0 8px 6px -6px rgba(0,0,0,0.3);		
	}	

}

/*------------------------------------*\
    $FULL SIZE NAV
\*------------------------------------*/

@media all and (min-width: 61.250em) { /* 980px */
		
	#nav li {
		position: relative;
		z-index: 500;
	}
	
	#nav > ul > li { float: left; }
	
	#nav a {
		padding: 0;	
		border: none;
		background-color: #007cc4;
		color: #fff;
		font-size: 0.875em;
		padding: 0 0.5em;
		line-height: 3.2em;		
		text-align: left;
	}

	#nav li:hover > a {
		background: #015d92;
		color: #fff;
	}

	#nav li:hover > ul { display: block }
	
	#nav ul ul {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		float: left;
		width: 16em;
		z-index: 99999;
		-webkit-box-shadow: 0px 5px 5px rgba(0,0,0,0.25);
		   -moz-box-shadow: 0px 5px 5px rgba(0,0,0,0.25);
				box-shadow: 0px 5px 5px rgba(0,0,0,0.25);   
	}
	
	#nav ul ul li { min-width: 16em; }
	
	#nav ul ul a {
		background: #015d92;
		color: #fff;
		font-size: 0.875em;
		line-height: 1.4em;
		padding: 0.5em 0.875em; /* 5px 7px */
		width: 100%;
		height: auto;
	}
	
	#nav ul ul :hover > a {
		background: #003f63;
		color: #fff;
	}
	
	#nav ul ul ul {
		left: 100%;
		top: 0;
	}
	
	
	#nav li.current_page_item > a, #nav li.current-menu-ancestor > a, #nav li.current-menu-item > a, #nav li.current-menu-parent > a {
		background-color: #003f63;
		color: #fff;
	}
	
	* html #nav li.current_page_item a, * html #nav li.current-menu-ancestor a, * html #nav li.current-menu-item a, * html #nav li.current-menu-parent a, * html #nav li a:hover {
		background-color: #003f63;
		color: #fff;
	}
	
	/* Drop down current item */
	
	#nav ul ul li.current-menu-item > a { 
		background-color: #003f63;
		color: #fff;  
	}
	
}

/*------------------------------------*\
    $CAROUSEL
\*------------------------------------*/

.feature { 
	position: relative; 
	padding-bottom: 2.375em;
}

.feature-content, .banner-content {
	position: absolute;
	bottom: 3%;
	left: 0;
	width: 100%;
	background-color: #fff;
	background-color: rgba(255,255,255,0.8);
	padding: 0.9em;
	text-align: center;
}

.feature-heading, .banner-heading {
	font-size: 2.375em;
	line-height: 1.2em;
	margin-bottom: 0;
}

.feature p, .banner p { font-weight: 500; }

@media all and (min-width: 43.750em) { /* 700px */

	.feature-heading, .banner-heading { margin-bottom: 0.5em; }	

}

@media all and (min-width: 61.250em) { /* 980px */

	.feature { padding-bottom: 0; }	
	
	.feature-content, .banner-content { 
		bottom: 5%; 
		padding: 1.25em 0;
	}

	.feature-heading, .banner-heading { 
		font-size: 2.813em; 
		margin-bottom: 0.25em;
	}

	.feature .button { min-width: 15.063em; }

}

/*------------------------------------*\
    $PROMO
\*------------------------------------*/

.promo {
	padding: 2.813em 1.618em 0 1.618em;
	text-align: center; 
}

.promo a { 
	font-weight: normal;
	display: block; 
}

.promo a:hover { text-decoration: none; }

.promo-item { margin-bottom: 2em; }

.promo-image { margin-bottom: 1em; }

.promo-heading { 
	font-size: 1.875em;
	line-height: 1.2em;
	margin-bottom:  0.5em; 
	color: #777778;
}

.promo p {
    font-size: 0.9em;
    line-height: 1.5em;
	text-transform: uppercase;
	color: #333;
	font-weight: 500;
}

@media all and (min-width: 43.750em) { /* 700px */

	.promo img { width: 80%; }
	
	.promo-heading {
		font-size: 1.25em;
	}	

}

@media all and (min-width: 61.250em) { /* 980px */

	.promo { padding: 4.688em 0; }

	.promo .grid { margin-left: -7.188em; }
	
	.promo .grid-item { padding-left: 7.188em; }
	
	.promo img { width: auto; }	
	
	.promo-heading { font-size: 1.875em; }
	
	.promo p { font-size: 0.938em; }
	
	.promo-item, .promo .button { margin-bottom: 0; }

}

/*------------------------------------*\
    $BANNER
\*------------------------------------*/

.banner {
    width: 100%;
    height: 21.250em;
	position: relative;
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-size: cover;
}

@media all and (min-width: 43.750em) { /* 700px */

	.banner { height: 36.875em; }	
	
	.banner p { text-transform: uppercase; }

}

@media all and (min-width: 61.250em) { /* 980px */

	.banner { 
		height: 38em; 
		background-size: auto;
	}		
	
	.banner-content { 
		text-align: left; 
	}
	
	.banner-text, .banner .button-group { float: left; }
	
	.banner-text { width: 76%; }
	
	.banner .button-group { 
		width: 24%; 
		position: absolute;
		right: 0;
		bottom: 0;
	}
	
	.banner .button, .banner p { margin-bottom: 0; }
	
	.banner .button {
		text-align: center;
		padding-left: 0;
		padding-right: 0;
		display: block;
	}
	
	.banner .container { position: relative; }

}

/*------------------------------------*\
    $CONTENT
\*------------------------------------*/

.content { padding: 0 1.618em; }

.content-full { 
    float: none;
    width: 100%;
}

.page-heading { 
	padding: 1em 0; 
	margin-bottom: 1em;
	margin-top: 6em;
}

.page-title {
	color: #fff;
	text-align: center;
	margin-bottom: 0;
}

.content h2, .content h3, .content h4, .content h5, .content h6 { font-weight: bold; }

@media all and (max-width: 43.688em) { /* 699px */
	.padding-heading {
		margin-top:0;
	}
	.page-title { font-size: 1.75em; }
	
	.content h2 { font-size: 1.2em; }

}

@media all and (min-width: 43.750em) { /* 700px */

	.content { 
		font-size: 1.125em;
		padding: 0 2em; 
	}	
	.page-heading {
		margin-top:0;
	}
}

@media all and (min-width: 61.250em) { /* 980px */

	.content {
		float: left;
		padding: 0;
		width: 65%; /* 640px */
	}
	
	.content-right { float: right; }

	.content-full { width: 100%; } /* Avoids overwrite */
	
	.page-title {
		width: 21.778em;
		margin: 0 auto;
	}
	.page-id-9 .page-heading {
		margin-top: 10.5em;
	}
	
}

/*------------------------------------*\
    $CONTENT TABLES
\*------------------------------------*/

.content table {
    border-top: 1px solid #d5d5d5;
    border-right: 1px solid #d5d5d5;
    border-collapse: collapse;
}

.content table th {
	color: #fff;
	padding: 0.313em 0.616em;
	text-align: left;
}

.content table td {
    border-bottom: 1px solid #d5d5d5;
    border-left: 1px solid #d5d5d5;
    padding: 0.313em 0.616em;
}

/*------------------------------------*\
    $CONTENT LISTS
\*------------------------------------*/

.content ul, .content ol { margin-left: 1em; }

@media all and (min-width: 43.750em) { /* 700px */

	.content ul, .content ol { margin-left: 2.625em; } /* 42px */

}

.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.616em; /* 10px */ 
    margin-bottom: 0;
}


/* Styling for call to action links */

a.cta {
	clear: both;
	color: #fff;
    display: block;
    padding: 1em 1.618em;
	line-height: 1.4em;
    background-color: #808080;
    -webkit-transition: all .25s ease-in-out;
	   -moz-transition: all .25s ease-in-out;
	        transition: all .25s ease-in-out;
}

a.cta:hover { 
	text-decoration: none;
	background-color: #454545;
}

/* Two column list */

ul.list-double {
	margin-left: 0;
	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;
	border-top: 1px solid #dfdfdf;
}

ul.child-pages li, ul.list-pages li { 
	border-bottom: 1px solid #dfdfdf; 
	margin-bottom: 0;
}

ul.child-pages a, ul.list-pages a { 
	display: block; 
	padding: 0.616em 0.313em;
}

@media all and (min-width: 25em) { /* 400px */

	ul.child-pages a:before, ul.list-pages a:before {
		content: '';
		display: inline-block;
		zoom: 1;
		*display: inline;
		vertical-align: middle;
		width: 24px;
		height: 24px;
		background: url(images/sprite.png) -300px -100px no-repeat;   
		margin-right: 0.5em; 
		float: right;
	}	

}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
	
    ul.child-pages a:before, ul.list-pages a:before {
        background: url(images/sprite@2x.png) -300px -100px no-repeat;
		background-size: 600px 800px;
    }
	
}

/* List of pages with excerpt */

ul.list-pages-excerpt { 
	list-style: none;
	margin: 0 0 1.618em 0;
	border-top: 1px solid #dfdfdf; 
}

ul.list-pages-excerpt li {
	border-bottom: 1px solid #dfdfdf;
	padding-top: 1.618em;
}

ul.list-pages-excerpt a { text-decoration: none; }

/*------------------------------------*\
    $BLOCKQUOTE
\*------------------------------------*/

blockquote {
	border: double #d5d5d5;
	border-width: 4px 0;
	padding: 1.618em;
	font-size: 1em;
	line-height: 1.618em;
	text-align: center;
}

blockquote p { margin: 0 }

/*------------------------------------*\
	$MESSAGES
\*------------------------------------*/

.message {
    padding: 0.875em 1.618em;
    border: 1px solid;
    color: #555;
}

.note {
	background: #fcffc5;
	border-color: #fbffa3;
}

.highlight {
	background: #A9E8FA;
	border-color: #79dbf7;
}

.warning {
    background-color: #ef1000;
    border-color: #cf0000;
    color: #fff;
}

/*------------------------------------*\
    $BLOG
\*------------------------------------*/

.post-divider {
    display: block;
    height: 1px;
    background: #ccc;
    margin-bottom: 1.618em;
}

.post-meta p {
	font-size: 0.875em;
	line-height: 1.4em;
}

.post-navigation {
    font-size: 0.875em;
    list-height: 1.5em;
    border-top: 1px solid #d5d5d5;
    padding: 1em 0;
}

.archive-navigation {
    display: block;
    clear: both;
    padding: 1em 0;
    text-align: center;
    border-top: 1px solid #d5d5d5;
}

.archive-navigation span, .archive-navigation a {
    padding: 3px 6px;
    border: 1px solid #d5d5d5;
	-webkit-border-radius: 2px;
     -opera-border-radius: 2px;
     -khtml-border-radius: 2px;
 	   -moz-border-radius: 2px;
            border-radius: 2px;
    
}

.post-share h5 {
    font-size: 0.875em;
	line-height: 1.5em;
    text-transform: uppercase;
}

@media all and (min-width: 43.750em) { /* 700px */

	.post-share h5 {
		float: left;
		margin: 0 0.616em 0 0;
	}

}

#___plusone_0 { vertical-align: top !important; }

/*------------------------------------*\
    $CONTENT IMAGES
\*------------------------------------*/

.alignright, a.alignright, .alignleft, a .alignleft, .aligncenter, a .aligncenter, .alignnone, a.alignnone, .wp-caption {
	padding: 0.5em; /* 8px */
	background-color: #fff;
    border: 1px solid #d5d5d5; 
}

@media all and (max-width: 25.000em) { /* 400px */

	img.alignright, 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 */
}

.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; /* 14px */
    line-height: 1.4em; /* 19px */
    margin: 0.357em 0 0 0; /* 5px 0 0 0 */
	padding: 0.714em 0 0.357em 0; /* 10px 0 5px 0 */
	text-align: center;
}

#gallery-1 img {
    border: 1px solid #d5d5d5 !important;
    background: #fff;
    padding: 6px;
}

#gallery-1 img:hover { border: 1px solid #808080 !important }

/*------------------------------------*\
    $RIGHT SIDEBAR
\*------------------------------------*/

@media all and (min-width: 61.250em) { /* 980px */

	.sidebar {
		float: right;
		width: 28%; /* 280px */
	}	

}

.sidebar > div, .sidebar-blog > div { margin-bottom: 2em; }

.sidebar-heading {
	background-color: #007cc4;
	color: #fff;
	font-size: 1.25em;
	text-align: center;
	padding: 0.25em 0;
}

.island {
	padding: 1em 1.168em;
	color: #fff;
}

.island-heading { color: #fff; }

.list ul {
    list-style: none;
	margin: 0;
	padding: 0 2em;
	text-align: center;
}

.list li:after {
	content: '';
	width: 50%;
	height: 1px;
	margin: 0 auto;
	display: block;
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAABCAYAAADjAO9DAAAAFElEQVQIW2NkqDnynwEZtNgwInMBTjIDAmx2PIAAAAAASUVORK5CYII=) 0 0 repeat-x;
}

.list a {
	color: #333;
    display: block;
    padding: 1em 0.313em;
	line-height: 1.4em;
	font-weight: normal;
}

.list a:hover, .list .current_page_item a { 
	text-decoration: none; 
	color: #007cc4;
}

/*------------------------------------*\
    $SEARCH
\*------------------------------------*/

.search {
	background-color: #fff;
	border: 1px solid #d5d5d5;
	-webkit-border-radius: 20px;
     -opera-border-radius: 20px;
     -khtml-border-radius: 20px;
 	   -moz-border-radius: 20px;
            border-radius: 20px;
}

#s {
    display: block;
	width: 83%;
    padding: 5px 10px 5px 30px;
    color: #777;
	border: none;
    background: url(images/icon-search.png) 10px 50% no-repeat;
	-webkit-border-radius: 20px;
     -opera-border-radius: 20px;
     -khtml-border-radius: 20px;
 	   -moz-border-radius: 20px;
            border-radius: 20px;
}

#s:focus {
    background-color: #fff;
    outline: none;
}

#searchsubmit { display: none }

/*------------------------------------*\
    $LEFT SIDEBAR
\*------------------------------------*/

.sidebar-left { 
	padding: 0 1em; 
	margin-bottom: 1em;
}

.sidebar-left .contact-detail {
    padding: 1em 0;
    border-bottom: 1px solid #d5d5d5;
}

.sidebar-left h4 {
    font-size: 1em;
    line-height: 1em;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0 0 5px 0;
}

.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 }

@media all and (min-width: 43.750em) { /* 700px */

	.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;
		font-size: 1.1em;
	}

	.sidebar-left { font-size: 1em; }
	
	.sidebar-left p, .sidebar-left table { font-size: 1em; }
		
	.sidebar-left h4 { margin-bottom: 0.875em; }
	
	.sidebar-left table { width: 100%; }
	
}

/*------------------------------------*\
    $NEWSLETTER SUBSCRIPTION
\*------------------------------------*/

.subscribe p { text-align: center ;}

.form-subscribe input { 
	margin: 0 0 1px 0;
	width: 100%;
	font-size: 1em;
	line-height: 1em;
}

.form-subscribe input[type="text"] { 
	color: #007cc4;
	padding: 0.5em; 
	border: none;
	-webkit-border-radius: 3px;
	   -moz-border-radius: 3px;
	        border-radius: 3px;
}	

.form-subscribe input[type="submit"] { 
	margin-top: 0.5em;
	padding: 0.75em; 
	background-color: transparent;
	color: #007cc4;
	font-weight: bold;
	border: 3px solid #007cc4;
}

.form-subscribe input[type="submit"]:hover { 
	background-color: #007cc4;
	color: #fff;
}

@media all and (min-width: 61.250em) { /* 980px */

	.subscribe p { 
		line-height: 1.4em; 
		padding: 0 2em;
	}	
	
	.form-subscribe { padding: 0 1em; }
	
	.form-subscribe input[type="submit"] {
		width: 50%;
		margin-left: auto;
		margin-right: auto;
		display: block;
	}

}

/*------------------------------------*\
    $FOOTER
\*------------------------------------*/

.footer {
    clear: both;
	text-align: center;
    font-size: 0.75em;
    line-height: 1.4em;
	padding: 1em 2em;
}

.footer p, .footer a { 
	color: #fff; 
	font-weight: normal;
}	

.footer a:hover { color: #fff; }

@media all and (min-width: 43.750em) { /* 700px */

	.footer { padding: 2em; }

}

@media all and (min-width: 61.250em) { /* 980px */

	.footer {
		padding: 2em 0;
		font-size: 0.875em;
	}	

}





/*------------------------------------*\
    3. $MODULE
\*------------------------------------*/ 

/*------------------------------------*\
    $NAV
\*------------------------------------*/ 

ul.nav, .nav ul { 
    list-style: none; 
    margin: 0;
    padding: 0;
}

.nav li { float: left; }

.nav a { display: block; }

ul.nav-stacked li { float: none; }

/*------------------------------------*\
    $PADDING
\*------------------------------------*/

.has-p { padding: 1em 1.618em; }
.has-pv { padding: 1em 0; }
.has-ph { padding: 0 1.618em; }

.has-p-l { padding: 2em 3.236em; }
.has-pv-l { padding: 2em 0; }
.has-ph-l { padding: 0 3.236; }

/*------------------------------------*\
    $MARGIN
\*------------------------------------*/

.has-m { margin: 1em 1.618em; }
.has-mv { margin: 1em 0; }
.has-mh { margin: 0 1.618em; }

.has-m-l { margin: 2em 3.236em; }
.has-mv-l { margin: 2em 0; }
.has-mh-l { margin: 0 3.236; }

/*------------------------------------*\
    $HELPER
\*------------------------------------*/

.clr { clear: both }

.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; }

.semi { font-weight: 500; }

.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, .nav:before, .nav:after {
    content: " ";
    display: table;
}
.cf:after, .grid:after, .main:after, .content:after, .nav-primary:after, .container:after, .top:after, .navigation:after, .nav:after { clear: both; }
.cf, .grid, .main, .content, .nav-primary, .container, .top, .navigation, .nav { *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
\*------------------------------------*/

.icon {
    display: inline-block;
    zoom: 1;
    *display: inline;
    vertical-align: middle;
    width: 16px;
    height: 16px;
    background: url(images/sprite.png) 0 0 no-repeat;   
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
	
	.icon {
		background: url(images/sprite@2x.png) 0 0 no-repeat;			
		background-size: 600px 800px;
	}
		
}

.icon-m {
	width: 24px;
	height: 24px;
}

.icon-l {
	width: 46px;
	height: 46px;
}

.icon-phone { background-position: 0 0; }
.icon-fax { background-position: -100px 0; }
.icon-email { background-position: -200px 0; }
.icon-address { background-position: -300px 0; }
.icon-hours { background-position: -400px 0; }
.icon-payment { background-position: -500px 0; }

.icon-info { background-position: 0 -100px; }
.icon-search { background-position: -100px -100px; }
.icon-arrow-white { background-position: -200px -100px;}
.icon-arrow-colour { background-position: -300px -100px;}
.icon-arrow-down { background-position: -400px -100px;}
.icon-arrow-up { background-position: -500px -100px;}

.icon-nav { background-position: 0 -200px; }
.icon-call { background-position: -100px -200px; }
.icon-book { background-position: -200px -200px;}
.icon-refer { background-position: -300px -200px;}
.icon-carousel-previous { background-position: -400px -200px;}
.icon-carousel-next { background-position: -500px -200px;}

.icon-facebook { background-position: 0 -300px; }
.icon-googleplus { background-position: -100px -300px; }
.icon-twitter { background-position: -200px -300px;}
.icon-facebook:hover, .link-facebook:hover .icon { background-position: -300px -300px;}
.icon-googleplus:hover, .link-googleplus:hover .icon { background-position: -400px -300px;}
.icon-twitter:hover, .link-twitter:hover .icon { background-position: -500px -300px;}

.icon-pager { background-position: 0 -400px; }
.icon-pager-current { background-position: -100px -400px; }

.icon-surf {
	width: 137px;
	height: 34px;
	background-position: 0 -500px;
}

@media all and (max-width: 61.188em) { /* 979px */

	.icon-surf {
		display: block;
		margin: 1em auto 0 auto;
	}

}

@media all and (min-width: 61.250em) { /* 980px */

	.icon-surf { margin-left: 0.5em; }

}

/*------------------------------------*\
    $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-right: 10px; }

/*------------------------------------*\
    $ACCORDION
\*------------------------------------*/

.list-accordion {
	margin-left: 0;
	border-top: 1px solid #dfdfdf;
}

.list-accordion-title { 
	font-size: 1em;
	margin-bottom: 0;
	padding: 0.625em 0.313em; /* 10px 5px */
	border-bottom: 1px solid #dfdfdf; 
}

.list-accordion-title.open { border-bottom: none; }

.list-accordion-title a { display: block;  }

.list-accordion-content {
	padding: 0.313em; /* 5px */
	border-bottom: 1px solid #dfdfdf;
}

@media all and (min-width: 25em) { /* 400px */

	.icon-collapse {
		display: inline-block;
		zoom: 1;
		*display: inline;
		vertical-align: middle;
		width: 24px;
		height: 24px;
		background: url(images/sprite.png) -400px -100px no-repeat;   
		margin-right: 0.5em; 
		float: right;
	}	
	
	.open .icon-collapse { background-position: -500px -100px; }

}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
	
    .icon-collapse {
        background-image: url(images/sprite@2x.png) -400px -100px no-repeat;
		background-size: 600px 800px;
    }
	
}

/*------------------------------------*\
    $CALL NOW
\*------------------------------------*/

.call {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
}

.call a {
	display: block;
	font-size: 2.375em;
	line-height: 1em;
	padding: 0.25em;
	background-color: #0e7cc1;
	color: #fff;
	text-align: center;
	font-weight: normal;
}

.call a:hover {
	text-decoration: none;
	background-color: #045b91;
}

/*------------------------------------*\
    $INTRO
\*------------------------------------*/

.intro { 
	padding: 1.618em;
	color: #fff; 
}

.intro-heading {
	color: #fff;
	font-size: 1.5em;
}

@media all and (min-width: 43.750em) { /* 700px */

	.intro { padding: 1.85em 2.5em; }
	
	.intro-heading {
		font-size: 1.875em;
		line-height: 1.3em;
		margin-bottom: 0.75em;
	}	
	
	.intro p { 
		font-size: 1.25em; 
		line-height: 1.4em;
	}		

}

@media all and (min-width: 61.250em) { /* 980px */

	.intro { padding: 3.125em 5em; }	
	
	.intro p { padding: 0 6.6em; }

}

/*------------------------------------*\
    $HOME SECTIONS
\*------------------------------------*/

.home-section { padding: 2.5em 1.618em; }
.home-section.home-primary {padding: 6em 2.5em 1.618em; }
.home-section-heading {
	font-size: 1.875em;
	line-height: 1.3em;
}

@media all and (min-width: 40.313em) { /* 645px */
	.home-section.home-primary {
		padding: 2.5em 1.618em;
	}
}

@media all and (min-width: 43.750em) { /* 700px */

	.home-section, .home-section.home-primary { 
		padding: 3em 2.5em;
		font-size: 1.125em;
	}
	
	.home-section-heading {
		font-size: 2em;
		line-height: 1.3em;
	}
	
	.home-section h3 { font-weight: bold; }
	
}

@media all and (min-width: 61.250em) { /* 980px */

	.home-section, .home-section.home-primary {
		padding: 3.750em 0;
		font-size: 1em;
	}

	.home-section-heading { font-size: 2.813em; }	

	.home-primary p { 
		padding: 0 5.5em; 
		margin-bottom: 0;
	}
	
	.home-section h3 {
		font-size: 1.875em;
		line-height: 1.2em;
		margin-bottom: 0.5em;
	}

}

/*------------------------------------*\
    $HOME SECONDARY
\*------------------------------------*/

.home-secondary {
	background: #007cc4;
	background-size: cover;
	color: #fff;
}

@media all and (min-width: 43.750em) { /* 700px */
	.home-secondary {
		background: #007cc4 url(images/parallax-s.jpg) 50% 0 no-repeat;
	}
}

@media all and (min-width: 61.250em) { /* 980px */

	.home-secondary { 
		position: relative;
		background-image: url(images/parallax.jpg); 
		background-size: auto;
		background-attachment: fixed;
	}			
	
	.home-secondary .grid { margin-left: -6.250em; }
	
	.home-secondary .grid-item { padding-left: 6.250em; }
	
	.home-secondary .grid-alpha { width: 42%; }
	
	.home-secondary .grid-beta { width: 58%; }
	
	.home-secondary p {
		font-size: 1.25em;
		line-height: 1.5em;
		margin-bottom: 1em;
	}

	.home-tertiary { padding: 2em 0; }

}


/*------------------------------------*\
    $GLOBAL CALL TO ACTION
\*------------------------------------*/

.cta-global {
	padding: 2.5em 1em;
	text-align: center;
}

.cta-global-heading {
	font-size: 1.875em;
	line-height: 1.3em;
	margin-bottom: 0.5em;
}

.cta-global p { margin-bottom: 1em; }

.cta-global .is-number { 
	color: #333;
	font-size: 1.875em;
	line-height: 1em;
	margin-bottom: 0.5em; 
	font-weight: normal;
	display: block;
}

@media all and (min-width: 43.750em) { /* 700px */
	
	.cta-global .grid { margin-left: 0; }
	
	.cta-global .grid-item { padding-left: 0; }

	.cta-global .grid-beta { width: 20%; }

	.cta-global .grid-gamma { width: 35%; }
	
	.cta-global .grid-epsilon { width: 40%; } 
	
	.cta-global .grid-delta { width: 5%; }	

	.cta-global p { line-height: 2.875em; }
	
	.cta-global .is-number { 
		line-height: 1.533em; 
		margin-bottom: 0;
	}

}

@media all and (min-width: 61.250em) { /* 980px */

	.cta-global { padding: 1.750em 0; }
	
	.cta-global .grid-alpha { width: 28%; }	
	
	.cta-global .grid-beta { width: 13%; }

	.cta-global .grid-gamma { width: 21%; }
	
	.cta-global .grid-delta { width: 8%; } 
	
	.cta-global .grid-epsilon { width: 30%; }
	
	.cta-global-heading, .cta-global p { margin-bottom: 0; }
	
	.cta-global-heading { line-height: 1.867em; }
	
	.cta-global p { line-height: 3.5em; }
	
	.cta-global .button { 
		font-size: 1.25em;
		line-height: em;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		text-align: center;
	}

}

/*------------------------------------*\
    $GLOBAL CONTACT DETAILS
\*------------------------------------*/

.map-content {
	background-color: #007cc4;
	padding: 0.75em;
}

.map-inner {
	background-color: #dadada;
	padding: 1.618em 1em;
	-webkit-box-shadow: 0 0 10px rgba(0,0,0,.4);
	   -moz-box-shadow: 0 0 10px rgba(0,0,0,.4);
	        box-shadow: 0 0 10px rgba(0,0,0,.4);
}

@media all and (min-width: 43.750em) { /* 700px */

	.map { 
		background: url(images/map.jpg) 58% 100% no-repeat;
		padding-bottom: 0; 
	}

	.map-content {
		background-color: transparent;
		padding: 1em;
	}
	
	.map-inner { 
		width: 44%; 
		padding: 1em;
	}
	
	.map p, .map table { font-size: 0.938em; }
	
}

@media all and (min-width: 61.250em) { /* 980px */

	.map { background-position: 50% 50%; }

	.map-inner { width: 29%; }	

}

/*------------------------------------*\
    $FOOTER CONTENT
\*------------------------------------*/

.content-footer { padding: 2.5em 2.5em 0.5em 2.5em; }

.content-footer-item { margin-bottom: 3em; }

.content-footer-heading, .map-heading {
	text-align: center;
	text-transform: uppercase;
	font-size: 1.25em;
	line-height: 1em;
	font-weight: bold;
}

@media all and (min-width: 43.750em) { /* 700px */

	.content-footer { padding: 2.5em 1em; }
	
	.content-footer-item { margin-bottom: 0; }	

}

/*------------------------------------*\
    $SOCIAL LIST
\*------------------------------------*/

.list-social { padding: 0 2em; }

.list-social li { margin-bottom: 0.5em; }

.list-social a {
	display: block;
	color: #007cc4;
	font-weight: 500;
}

.list-social a:hover { text-decoration: none; }

.list-social .icon { margin-right: 1.5em; }

@media all and (min-width: 43.750em) { /* 700px */

	.list-social { padding: 0 1em; }

}

@media all and (min-width: 61.250em) { /* 980px */

	.list-social { padding: 0 4.5em; }	

}

/*------------------------------------*\
    $FEED
\*------------------------------------*/

.feed { text-align: center; }

.feed-item-heading { font-size: 1.25em; }

@media all and (min-width: 61.250em) { /* 980px */

	.feed-item-heading { padding: 0 2em; }	

}






/*------------------------------------*\
    4. $STATE
\*------------------------------------*/

.is-hidden { display: none; }

@media all and (max-width: 29.938em) { /* 479px */

	.palm-is-hidden { display: none; }

}

@media all and (min-width: 30em) and (max-width: 43.688em) { /* 480px and 699px */

	.palm-landscape-is-hidden { display: none; }

}

@media all and (min-width: 43.688em) and (max-width: 56.250em) { /* 699px to 900px */

	.lap-is-hidden { display: none; }

}

@media all and (min-width: 61.250em) { /* 980px */

	.desk-is-hidden { display: none; }

}





/*------------------------------------*\
    5. $THEME
\*------------------------------------*/

/*------------------------------------*\
    $COLOURS
\*------------------------------------*/

/* Brand primary and secondary colours */
.bpc { color: #007cc4; }
.bsc { color: #ff7800; }

.text-white { color: #fff; }
.text-light { color: #eee; }
.text-dark { color: #333; }
.text-neutral { color: #808080; }

::selection {
    background: #007cc4;
    color: #fff;
    text-shadow: none;
}

/*------------------------------------*\
    $BACKGROUNDS
\*------------------------------------*/

/* Brand primary and secondary background colours */
.bpb, .page-heading { background-color: #007cc4; }
.bsb, .island { background-color: #ff7800; }

.bg-light { background-color: #efefef; }
.bg-neutral { background-color: #dadada; }
.bg-dark { background-color: #282828; }

/*------------------------------------*\
    $BORDERS
\*------------------------------------*/

.has-border-all { border: 1px solid #d5d5d5; }

.has-border-v {
    border: solid #d5d5d5;
    border-width: 1px 0;
}

.has-border-h {
    border: solid #d5d5d5;
    border-width: 0 1px;
}

/*------------------------------------*\
    $AREA
\*------------------------------------*/

.area {
	background-color: #f1f1f1;
	padding: 1.25em;
}

.area-heading, .list-area-heading { 
	display: inline; 
	color: #0e7cc1;
	font-size: 0.938em;
	line-height: 1.3em;
	margin-bottom: 0;
}

.list-area-heading a {
	color: #0e7cc1;
}
