/*
Theme Name: Kitter
Theme URI: http://www.kitter.com.au
Description: A WordPress theme designed and built by Caleb Gittins.
Author: Caleb Gittins
Author URI: http://www.calebgittins.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: 300 100%/1.618em 'museo-slab', Arial, Helvetica, sans-serif;
    color: #2f302b;
}

/* 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
\*------------------------------------*/

h1, h2, h3, h4, h5, h6 { 
	font-weight: 700;
	color: #222;
}

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;
    color: #1d9f7f;
    font-weight: bold;
	-webkit-transition: all .25s ease-in-out;
       -moz-transition: all .25s ease-in-out;
        -ms-transition: all .25s ease-in-out;
         -o-transition: all .25s ease-in-out;
            transition: all .25s ease-in-out;
}

a:hover {
    color: #136651;
    text-decoration: underline;
    outline: none;
}

a:focus, a:active { outline: none }

a.no-td:hover { text-decoration: none; }

/*------------------------------------*\
    $BUTTONS
\*------------------------------------*/

a.button, button, input[type="submit"] {
	font-size: 1em;
    line-height: 1em;
    padding: 1.1em 2em;
    color: #fff;
    background-color: #1d9f7f;
    border-bottom: 3px solid #136651;
    font-weight: 500;
    text-transform: uppercase;
    border-radius: 6px;
    text-shadow: -1px 1px rgba(0,0,0,0.15);
}

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: #136651;
    border-color: #0d493a;
}

a.button:active {
	box-shadow: inset 0 0 10px rgba(0,0,0,0.25);
}

a.button-alt {
	color: #666;
	background-color: #e3e3e0;
	border-color: #bbb;
}

a.button-alt:hover {
	color: #fff;
	background-color: #808080;
}

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;
}

input, select, textarea {
	padding: 0.188em 0.313em; /* 3px 5px */
}

input[type="submit"], button {
	-webkit-appearance: none; /* Remove iOS default styles */
    cursor: pointer;
    border: none;
    border-bottom: 3px solid #136651;
    -webkit-transition: all .1s linear;
       -moz-transition: all .1s linear;
        -ms-transition: all .1s linear;
         -o-transition: all .1s linear;
            transition: all .1s linear;
}

/*------------------------------------*\
    $OTHER ELEMENTS
\*------------------------------------*/

hr {
	border: solid #ddd;
    border-width: 1px 0 0 0;
    clear: both;
	width: 33%;
	margin: 2.5em auto;
}

img, iframe { 
	vertical-align: top; 
	max-width: 100%;
}





/*------------------------------------*\
    2. $LAYOUT
\*------------------------------------*/

.main {
	width: 1280px;
	margin: 0 auto;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
}

.container { 
	width: 1000px; /* 980px */
	margin: 0 auto;
}

.header {
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	background-color: #fff;
	background-color: rgba(255,255,255,0.95);
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
}

.header:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999;
	display: block;
	box-shadow: 0 8px 6px -6px rgba(0,0,0,0.2);
}

.not-home .header { border-bottom: none; }

.header .is-stuck {
	position: fixed;
}

.top .grid { margin-left: 0; }

.top .grid-item	{ padding-left: 0; }

.top .grid-alpha { width: 17%; }

.top .grid-beta { width: 83%; } 

.logo {
	height: 60px;
	padding: 11px 0;
	transition: all .25s ease-in-out;
}

.is-stuck .logo { padding: 10px 0;}

.logo img { 
	height: 60px;
	transition: all .25s ease-in-out; 
}

.is-stuck .logo img { height: 40px; }

/*------------------------------------*\
    $PRIMARY NAVIGATION
\*------------------------------------*/

.nav-primary { 
	float: right; 
	font-size: 0.938em;
	position: relative;
}
	
.nav-primary li {
	z-index: 500;
}
	
.nav-primary > li { float: left; }
	
.nav-primary a {
	padding: 0;	
	border: none;
	color: #444;
	line-height: 83px;
	padding: 0 1.5em;
	font-weight: 500;
	position: relative;
}

.is-stuck .nav-primary a { line-height:  61px;}

.nav-primary li:hover > a {
	color: #1d9f7f;
	text-decoration: none;
}

.nav-primary li:hover > ul { display: block }
	
.nav-primary .mega-menu {
	display: none;
	position: absolute;
	z-index: 999;
	top: 100%;
	left: -257px;
	width: 1000px;  
	background-color: #fff;
	border-bottom: 4px solid #1d9f7f;
}

.nav-primary .mega-menu:before {
	content: '';
	position: absolute;
	z-index: 5;
	top: 0;
	right: 0;
	left: 0;	
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
}

.nav-primary .mega-menu li {
	width: 20%;
	text-align: center;
}

.nav-primary .mega-menu a {
	line-height: 1em;
	padding: 2.5em 1em;
}

.nav-primary .mega-menu img {
	border-radius: 100%;
	margin-bottom: 1.5em;
	background-color: #1d9f7f;
}

.nav-primary .not-mega { position: relative; }

.nav-primary .not-mega .mega-menu {
	left: 0;
	width: 300px;
}

.nav-primary .not-mega .mega-menu li {
	width: 100%;
	text-align: left;
}

.nav-primary .not-mega .mega-menu a {
	float: none;
	padding: 1.25em;
}

/*------------------------------------*\
	$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: #1d9f7f;
	font-weight: 700;
}
	
* 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: #1d9f7f;
	font-weight: 700;
}

.nav-primary > li.current-menu-item > a:before, .nav-primary > li.current-menu-parent > a:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 1.4em;
	right: 1.4em;
	height: 4px;
	background-color: #1d9f7f;
}
	
.nav-primary .mega-menu .current-menu-item a { 
	background-color: #fff;
	color: #1d9f7f; 
}

/*------------------------------------*\
	$2ND LEVEL CURRENT
\*------------------------------------*/
	
.nav-primary ul li.current-menu-item > a { 
	background-color: #333;
	color: #fff;  
}	

/*------------------------------------*\
    $CAROUSEL
\*------------------------------------*/

.hero { 
	position: relative; 
	overflow: hidden;
	height: 720px;
	background: url(images/hero.jpg) 50% 0 no-repeat; 
}

.hero:before, .banner:before {
	content: '';
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	right: 0;
	height: 110px;
	background: url(images/mask-green.png) 0 100% no-repeat;
	background-size: 1280px 110px;
}

.hero-content {
	width: 62%;
	margin-top: 8em;
	margin-left: 5em;
}

.hero-text {
	background-color: #e3e3e0;
	width: 450px;
	height: 450px;
	border-radius: 100%;
	padding-top: 150px;
	text-align: center;
	position: relative;
	z-index: 2;
}

.hero .is-circle {
	position: absolute;
	z-index: 1;
	left: 130px;
	top: 100px;
	width: 215px;
	height: 215px;
	border-radius: 100%;
	background-color: #f4f4f2;
}

.hero-heading {
	font-size: 2.5em;
	line-height: 1em;
	margin-bottom: 0.25em;
	font-weight: 700;
}

.hero p {
	font-size: 1.5em;
	line-height: 1em;
	margin-bottom: 1em;
	font-weight: 500;
}

/*------------------------------------*\
    HOME PAGE
\*------------------------------------*/

.intro { 
	color: #fff; 
	text-align: center;
	padding-bottom: 110px;
	background: url(images/mask-green-flipped.png) 50% 100% no-repeat;
}

.intro .page-title {
	font-size: 2.5em;
	color: #fff;
}

.intro p {
	font-size: 1.5em;
	line-height: 1.4em;
	padding: 0 5em;
	margin-bottom: 0.5em;
}

.home-main {
	position: relative;
	z-index: 3;
	padding: 3.125em 0;
	background-color: #fff;
}

.home-main .page-title {
	text-align: center;
}

.home-primary-heading {
	text-align: center;
	font-size: 2.5em;
	margin-bottom: 1em;
}

.home-primary-content {
	text-align: center;
}

.home-primary-content img {
	height: 50px;
	margin-bottom: 1.5em;
}

.home-primary-subheading {
	font-size: 0.875em;
	margin-bottom: 3em;
	text-transform: uppercase;
	color: #666;
	font-weight: 400;
}

/*------------------------------------*\
    $BANNER
\*------------------------------------*/

.banner {
    width: 100%;
    height: 500px;
	position: relative;
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-size: cover;
}

@media all and (min-width: 61.250em) { /* 980px */

	.banner { background-size: auto; }

	.banner-content { display:  none; }	

}

/*------------------------------------*\
    $CONTENT
\*------------------------------------*/

.content { padding: 0 1.25em; }

@media all and (min-width: 43.750em) { /* 700px */

	.content { padding: 0 1.875em; }	

}

@media all and (min-width: 61.250em) { /* 980px */

	.not-home .page-title {
		font-size: 3.125em;
		line-height:  1em;
		margin-bottom: 0;
		color: #fff;
		text-align: center;
	}

	.content {
		float: left;
		padding: 0;
		width: 65%; /* 640px */
		font-size: 18px;
	}
	
	.content-right { float: right; }
	
	.content-full { 
		float: none;
		width: 100%;
	}
	
}

.content-heading {

	padding-bottom: 110px;
	background: url(images/mask-green-flipped.png) 50% 100% no-repeat;
}

/*------------------------------------*\
    $CONTENT TABLES
\*------------------------------------*/

.content table { border-collapse: collapse; }

.content table th, .content table td {
	padding: 0.313em 0.616em;
	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 */

}

/* Styling for call to action links */

a.cta {
	clear: both;
    display: block;
    padding: 1em 1.618em;
	line-height: 1.4em;
	color: #fff;
    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;
}

@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;
	border-top: 1px solid #ddd;
}

ul.child-pages li, ul.list-pages li { 
	border-bottom: 1px solid #ddd; 
	margin-bottom: 0;
}

ul.child-pages a, ul.list-pages a { 
	position: relative;
	display: block; 
	padding: 0.616em 0.313em;
}

ul.child-pages a:before, ul.list-pages a:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 0.313em;
	display: block;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	background: url(images/sprite.png) -100px -200px no-repeat;    
}

ul.list-pages a[href$=".pdf"]:before, ul.list-pages a[href$=".xlsx"]:before  {
	background-position: -100px -100px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
}

@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-image: url(images/sprite@2x.png);
		background-size: 600px 800px;
    }
	
}

/*------------------------------------*\
    
	$CHILD PAGES WITH EXCERPT
	
	[child-pages-excerpt]
	
\*------------------------------------*/

ul.list-pages-excerpt { list-style: none; }

ul.list-pages-excerpt li { 
	margin-bottom: 0; 
	border-bottom: 1px solid #e8e8e8; 
}

ul.list-pages-excerpt a {
	display: block; 
	font-weight: normal;
	padding: 0.8em 1.875em 0.8em 0;
	position: relative;
}

.list-pages-excerpt .list-main { 
	overflow: hidden; 
	width: 100%;
}

.list-pages-excerpt .list-image, .list-pages-excerpt .list-content { float: left; }

.list-pages .list-heading { margin-bottom: 0.25em; }

.list-pages-excerpt .list-image { 
	width: 30%; 
	background-color: #29a2a2;
	height: 0;
	padding-bottom: 16%;
}

.list-pages-excerpt img { transition: all .25s linear; }

.list-pages-excerpt .list-content { width: 100%; }

ul.list-pages-excerpt p {
	color: #595959; 
	line-height: 1.4em;
	margin-bottom: 0; 
}

ul.list-pages-excerpt a:hover img { opacity: 0.5; }

@media all and (max-width: 43.688em) { /* 699px */

	.list-pages-excerpt a { padding-right: 1.25em; }

	.list-pages-excerpt .list-image { display: none; }

}

@media all and (min-width: 43.750em) { /* 700px */
	
	.list-pages-excerpt .list-content { 
		width: 70%;
		padding-left: 1em;
		padding-right: 2em;
	}

}

/*------------------------------------*\
    $BLOCKQUOTE
\*------------------------------------*/

blockquote {
	position: relative;
	padding: 0 1.618em;
	font-size: 1.125em;
	line-height: 1.618em;
	text-align: center;
}

blockquote:before {
	content: '“';
	display: block;
	text-align: center;
	font-size: 7em;
	line-height: 0;
	padding: 0.35em 0 0.15em 0;
	font-family: Georgia, "Times New Roman", Times, serif;
}

blockquote p:last-child { margin: 0 }

/*------------------------------------*\
    $PULLQUOTE
\*------------------------------------*/

.pull-quote {
	font-size: 1.125em;
	border: double #ddd;
	border-width: 4px 0;
	padding: 1em 0;
}

@media all and (min-width: 43.750em) { /* 700px */

	.pull-quote {
		float: right;
		width: 33%;
		margin: 0 0 1em 1.618em;
	}	

}

/*------------------------------------*\
	$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: #ddd;
    width: 50%; 
	margin: 3em auto;
}

.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;
	-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: 8px;
	background-color: #fff;
    border: 1px solid #ddd; 
}

@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; 
	padding: 0.625em;
	text-align: center;
}

#gallery-1 img {
    border: 1px solid #ddd !important;
    background: #fff;
    padding: 8px;
}

#gallery-1 img:hover { border: 1px solid #808080 !important }

/*------------------------------------*\
    $SIDEBAR
\*------------------------------------*/

@media all and (min-width: 61.250em) { /* 980px */

	.sidebar {
		float: right;
		width: 30%; /* 280px */
	}	

}

.sidebar > div, .sidebar-blog > div { margin-bottom: 2em; }

.sidebar-heading { 
	font-size: 1.25em;
	line-height: 1.3em;
	margin-bottom: 0.5em;
	color: #1d9f7f;
	text-transform: uppercase;
	text-align: center;
}

.sidebar-section {
	padding: 1em;
	border: 1px solid #ccc;
}

.sidebar-stockist {
	border: solid #ccc;
	border-width: 1px 1px 0 1px;
}

.sidebar-stockist-item {
	padding: 1em;
	border-bottom: 1px solid #ccc;
}

/*------------------------------------*\
    $ISLAND
\*------------------------------------*/

.island {
	padding: 1em 1.168em;
	color: #fff;
}

.island-heading { color: #fff; }

/*------------------------------------*\
    $UI LIST
\*------------------------------------*/

.ul-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 .search-input { 
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0.5em 0.313em 0.5em 2.5em;
	color: #666;
	border: 1px solid #ddd;
	-webkit-border-radius: 20px;
	   -moz-border-radius: 20px;
	        border-radius: 20px;
}

.form-search:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 1em;
	margin-top: -8px;
	z-index: 1;
	display: inline-block;
	zoom: 1;
	*display: inline;
	width: 16px;
	height: 16px;
	background: url(images/sprite.png) -200px -100px no-repeat;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
	
    .form-search:before {
    	background-image: url(images/sprite@2x.png);
		background-size: 600px 800px;
	}
	
}

/*------------------------------------*\
    $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: #555; }

.footer a { font-weight: 100; }

.footer a:hover { color: #555 }

@media all and (max-width: 43.688em) { /* 699px */

	.footer { margin-bottom: 5em; } /* Height of call now button */

}





/*------------------------------------*\
    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
\*------------------------------------*/

.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-image: url(images/sprite@2x.png);			
		background-size: 600px 800px;
	}
		
}

.icon-m {
	width: 24px;
	height: 24px;
}

.icon-l {
	width: 32px;
	height: 32px;
}

.icon-xl {
	width: 64px;
	height: 64px;
}

/*------------------------------------*\
    $ROW 1
\*------------------------------------*/

.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; }

/*------------------------------------*\
    $ROW 2
\*------------------------------------*/

.icon-info { background-position: 0 -100px; }
.icon-file { background-position: -100px -100px; }
.icon-search { background-position: -200px -100px; }
.icon-cross { background-position: -300px -100px; }
.icon-tick { background-position: -400px -100px; }
.icon-user { background-position: -500px -100px; }

/*------------------------------------*\
    $ROW 3
\*------------------------------------*/

.icon-arrow-left { background-position: 0 -200px; }
.icon-arrow-right { background-position: -100px -200px; }
.icon-arrow-down { background-position: -200px -200px; }
.icon-arrow-up { background-position: -300px -200px; }
.icon-play { background-position: -400px -200px; }
.icon-website { background-position: -500px -200px; }

/*------------------------------------*\
    $EXTERNAL ICONS
\*------------------------------------*/

.icon-surf {
	background: url(http://www.surfpacific.com/sprite-logo.png);
	width: 137px;
	height: 34px;
	background-position: 0 0;
}

@media all and (max-width: 61.188em) { /* Up to 979px */

	.icon-surf {
		display: block;
		margin: 1em auto 0 auto;
	}	

}

@media all and (min-width: 61.250em) { /* 980px */

	.icon-surf { margin-left: 1em; }	

}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
	
    .icon-surf {
		background-position: -100px 0;			
		background-size: 300px 100px;
	}
	
}

/*------------------------------------*\
    $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:after {
	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:after { background-position: -300px -200px; }

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
	
    .list-accordion-title a:after {
        background-image: url(images/sprite@2x.png);
		background-size: 600px 800px;
    }
	
}

/*------------------------------------*\
    $CONTENT FOOTER
\*------------------------------------*/

.content-footer { 
	padding: 3.125em; 
	text-align: center;
	color: #787878;
}

.content-footer-heading {
	color: #e3e3e0;
	text-transform: uppercase;
	text-align: center;
	font-weight: 400;
}

.content-footer p {
	font-size: 0.938em;
	line-height:  1.3em;
	padding: 0 1em;
}

.content-footer-main:before, .content-footer-main:after {
	/*content: '';*/
	position: absolute;
	top: 0;
	bottom: 0;
	left: 33%;
	width: 1px;
	background-color: #333;
}

.content-footer-main:after {
	left: auto;
	right: 33%;
}

.content-footer .map {
	width: 150px;
}

.app-icon {
	width: 72px;
	height: 72px;
	float: left;
	border-radius: 11px;
}

.app-store {
	height: 40px;
}

.facebook-like {
	padding: 1em;
	width: 80%;
	margin: 0 auto;
}

.facebook-like img,
.facebook-like .fb-like {
	vertical-align: middle;
	margin: 0 10px;
}

/*------------------------------------*\
    $CTA GLOBAL
\*------------------------------------*/

.cta-global {
	text-align: center;
	background-color: #e3e3e0;
}

.cta-global:before, .cta-global:after {
	content: '';
	display: block;
	width: 100%;
	height: 110px;
	background: #fff url(images/mask-grey.png) 50% 0 no-repeat;
}

.cta-global:after { background: #222 url(images/mask-grey-flipped.png) 50% 0 no-repeat; }

.cta-global p {
	font-size: 1.5em;
}

.cta-global .button {
	font-size: 0.75em;
	margin-left: 1em;
}

/*------------------------------------*\
    $BENEFIT
\*------------------------------------*/

.benefit { padding-top: 3em; }

.benefit .grid { margin-left: -2em; }

.benefit .grid-item { padding-left: 2em; }

.benefit-item {
	overflow: hidden;
	margin-bottom: 2em;
}

.benefit-image {
	float: left;
	width: 20%;
}

.benefit-image img { width: 85px; }

.benefit-content {
	float: left;
	width: 80%;
	padding-left: 2em;
}

.benefit-item h3 {
	text-transform: uppercase;
	font-size: 1em;
	margin-bottom: 0.313em;
}

.sidebar .benefit-heading { margin-bottom: 2em; }

.sidebar .benefit-image {
	width: 10%;
}

.sidebar .benefit-content { 
	width: 90%;
	padding-left: 1em; 
}

.sidebar .benefit-item h3 {
	font-size: 0.938em;
	font-weight: 300;
	color: #777;
}

/*------------------------------------*\
    $GALLERY
\*------------------------------------*/

.grid-gallery { 
	margin-left: -10px; 
	margin-bottom: 2em;
}
 
.grid-gallery .grid-item { 
	width: 25%; 
	padding-left: 10px;
}

.grid-gallery .size-large { width: 50%; }

.grid-gallery-item { margin-bottom: 10px; }

/*------------------------------------*\
    $OFFER
\*------------------------------------*/

.list-offer-heading {
	font-size: 2em;
	line-height: 1em;
	margin-bottom: 0.5em;
	color: #e03177;
	text-transform: uppercase;
	font-weight: 700;
}

/*------------------------------------*\
    $VIDEO PREVIEW
\*------------------------------------*/

.video-preview a { display:  block; }

.video-preview-thumb, .video-preview-title { float: left; }

.video-preview-thumb {
	width: 50%;
	padding: 6px;
	border: 1px solid #eee;
	border-radius: 5px;
}

.video-preview-thumb img { border-radius: 3px; }

.video-preview-title {
	width: 50%;
	padding-left: 1.5em;
}

.video-preview-heading {
	font-size:  1em;
	line-height:  1.25em;
	margin-bottom: 0;
	margin-top: 1.75em;
	color: #1d9f7f;
}

/*------------------------------------*\
    $GALLERY FORM
\*------------------------------------*/

.gallery-form .grid-alpha { width: 40%; }

.gallery-form .grid-beta { width: 60%; }

/*------------------------------------*\
    $LANDING PAGE LIST
\*------------------------------------*/

.list-landing { text-align: center; }

.list-landing .grid { margin-left: -2.5em; }

.list-landing .grid-item { padding-left: 2.5em; }

.list-landing-item { margin-bottom: 2em; }

.list-landing img {
	margin-bottom: 1em;
	border-radius: 100%;
	-moz-border-radius: 100%;
}

/*------------------------------------*\
    
	$LIST TEXT

\*------------------------------------*/

.list-text { 
	margin-bottom: 1.618em; 
	padding-bottom: 1.618em;
	border-bottom: 1px solid #eee;
}

.list-text-heading {
	text-align: center;
	text-transform: uppercase;
	font-size: 1.5em;
	color: #333;
}

.list-text ul {
	list-style: none;
}

.list-text-item-heading { 
	line-height: 1.3em;
	margin-bottom: 0.5em;
}

.list-with-icon li { 
	margin-bottom: 0.5em; 
	padding-left: 1.75em;
	position: relative;
}

.list-with-icon .icon {
	position: absolute;
	top: 6px;
	left: 0;
}


/*------------------------------------*\
    $STORE LOCATER
\*------------------------------------*/

#wpseo-storelocator-form label { display: none; }

#wpseo-storelocator-form fieldset p { display: inline-block; }

#wpseo-storelocator-form #wpseo-sl-search, #wpseo-storelocator-form input[type="submit"], #wpseo-storelocator-form select {
	font-size: 1em;
	line-height: 1em;
	padding: 0.75em;
	margin: 0;
}

#wpseo-storelocator-form #wpseo-sl-search { width: 250px; }

#wpseo-storelocator-form input[type="submit"] {
	padding: 1em 2em;
	margin-left: 0.5em;
}

.wpseo-map-canvas { margin-bottom: 1.618em; }

.wpseo-result {
	float: left;
	width: 50%;
	margin-bottom: 2em;
}

.wpseo-result h3, .wpseo-result a {
	white-space: pre;           /* CSS 2.0 */
	white-space: pre-wrap;      /* CSS 2.1 */
	white-space: pre-line;      /* CSS 3.0 */
	white-space: -pre-wrap;     /* Opera 4-6 */
	white-space: -o-pre-wrap;   /* Opera 7 */
	white-space: -moz-pre-wrap; /* Mozilla */
	white-space: -hp-pre-wrap;  /* HP Printers */
	word-wrap: break-word;      /* IE 5+ */
}

.wpseo-result .wpseo-sl-route { display: none; }

.wpseo-info-window-wrapper a { pointer-events: none; }

/*------------------------------------*\
	STORE LOCATOR
\*------------------------------------*/

.facetwp-map-filtering {
	display: none;
}

.facetwp-results {
	display: none;
}

.facetwp-filter {
	margin-bottom: 48px;
}

.facetwp-filter .facetwp-facet,
.facetwp-filter button {
	float: left;
}

.facetwp-filter .facetwp-facet {
	margin-bottom: 0;
	width: 70%;
}

.facetwp-filter button {
	width: 30%;
}

.facetwp-filter input,
.facetwp-filter select {
	font-size: 18px;
	line-height: 48px;
	padding: 0 2em 0 1em;
	border: 3px solid #1d9f7f;
	border-radius: 6px;
	background-color: #fff;
	width: 100%;
}

.facetwp-filter select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.facetwp-filter .locate-me {
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
}

.facetwp-filter .location-wrap,
.facetwp-filter .select-wrap {
	display: block;
	float: left;
}

.facetwp-filter .location-wrap {
	width: 60%;
}

.facetwp-filter .select-wrap {
	position: relative;
	padding: 0 16px;
	width: 40%;
}

.facetwp-filter .select-wrap:before {
	content: "\f347";
	font-family: dashicons;
	position: absolute;
	top: 0;
	right: 28px;
	color: #1d9f7f;
	font-size: 24px;
	line-height: 52px;
}

/*------------------------------------*\
    4. $RESCUE GROUP
\*------------------------------------*/

.rescue-group .item { margin-bottom: 32px; }

.rescue-group .item-image { 
	margin-bottom: 24px; 
	max-height: 200px;
}

.rescue-group hr { width: 100%; }



/*------------------------------------*\
    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);
     -moz-opacity: 0;
   -khtml-opacity: 0;
          opacity: 0;
}

.no-transition {
	-webkit-transition: none;
       -moz-transition: none;
        -ms-transition: none;
         -o-transition: none;
            transition: none;
}





/*------------------------------------*\
    5. $THEME
\*------------------------------------*/

/*------------------------------------*\
    $COLOURS
\*------------------------------------*/

/* Brand primary and secondary colours */
.bpc { color: #1d9f7f; }
.bsc { color: #454545; }

.text-white { color: #fff; }
.text-light { color: #e3e3e0; }
.text-neutral { color: #808080; }
.text-dark { color: #222; }

::selection {
    background: #1dbdef;
    color: #fff;
    text-shadow: none;
}

/*------------------------------------*\
    $BACKGROUNDS
\*------------------------------------*/

/* Brand primary and secondary background colours */
.bpb { background-color: #1d9f7f; }
.bsb, .island { background-color: #454545; }

.bg-light { background-color: #e3e3e0; }
.bg-neutral { background-color: #808080; }
.bg-dark { background-color: #222; }

.logo-text {
	text-indent: -999em;
	display: inline-block;
	width: 37px;
	height: 16px;
	background: url(images/logo-text.png) 0 0 no-repeat;
	vertical-align: middle;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {

	.logo-text { 
		background-image: url(images/logo-text@2x.png); 
		background-size: 37px 16px;
	}

}





