/*
Theme Name: Camla Farm
Theme URI: http://www.avatar.co.nz
Description: Camla Farm theme by <a href="http://www.avatar.co.nz">Avatar</a>
Version: 1
Author: Avatar
Author URI: http://www.avatar.co.nz
Tags: avatar
*/


* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}

body {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 16px;
	line-height: 26px;
	color: #333;
	background: #fff;
	margin: 0;
}
.wrapper {
	width: 1120px;
	margin: 0 auto;
}
a img {
	border: none;
}

/* Header
-------------------------------------------------------------- */ 

#header {
	width: 100%;
}
#logo {
	width: 292px;
	height: 129px;
	margin: 30px auto;
}

/* Menu
-------------------------------------------------------------- */ 

#menu-container {
	display: block;
	width: 100%;
	height: 42px;
	border-top: 1px solid #777;
	border-bottom: 1px solid #777;
}
#menu-container ul {
	float: left;
	list-style-type: none; 
	padding: 0; 
	margin: 0;
}
#menu-container ul li {
	float: left; 
	margin: 0 0 0 100px;
	padding: 0;
	position: relative;
	z-index: 200;
}
#menu-container ul li a {
	display: block; 
	padding: 12px 15px 14px 15px;
	color: #333;
	font-size: 16px;
	line-height: 16px;
	text-decoration: none;
	text-transform: uppercase;
}
#menu-container ul li a:hover, #menu-container ul li.active a {
	color: #777;
	text-decoration: none;
}
#menu-container ul ul {
	display: none;
}

/* --------- Drop downs --------- */

#menu-container li ul.sub-menu {
	display: none;
	position: absolute;
	z-index: 200;
	clear: both;
	width: 210px;
	top: 40px;
	margin: 0;
}
#menu-container li ul.sub-menu:hover {
	display: block;
}
#menu-container li ul.sub-menu li {
	clear: both;
	padding: 0;
	margin: 0;
	float: left;
}
#menu-container li ul.sub-menu li a {
	display: block;
	width: 210px;
	color: #fff;
	font-size: 16px;
	line-height: 16px;
	padding: 10px 15px;
	font-weight: normal;
	text-decoration: none;
	background: #333;
}
#menu-container li ul.sub-menu li a:hover, #menu-container li ul.sub-menu li.active a {
	color: #fff;
	text-decoration: none;
	background: #000;
}
#menu-container li ul.sub-menu ul {
	display: none;
	margin-left: 210px; /* ul width */
	top: 0;
}
#menu-container li ul.sub-menu ul li a:hover {
	color: #fff;
}

/* Slider
-------------------------------------------------------------- */ 

#slider {
	clear: both;
	width: 100%;
	height: auto;
	position: relative;
	margin-top: 20px;
}
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
	bottom: 30px;
	right: 30px;
	z-index: 100;
}

/* Body
-------------------------------------------------------------- */

#body {
	clear: both;
	display: block;
	width: 100%;
	padding: 0 0 12px;
	margin: 0;
}
.home #body {
	padding: 20px 0 0;
}
h1 {
	font-size: 30px;
	line-height: 1;
	font-weight: bold;
	margin: 0 0 30px;
	padding: 55px 0 26px;
	text-transform: uppercase;
	border-bottom: 1px solid #777;
}
h2 {
	font-size: 24px;
	font-weight: bold;
	margin: 30px 0 20px;
}
h3 {
	font-size: 18px;
	font-weight: bold;
	margin: 0;
}
p {
	margin: 10px 0 18px 0;
}
a {
	color: #ef2d40;
	text-decoration: none;
}
a:hover {
	color: #ef2d40;
	text-decoration: underline;
}
.first-letter {
	float: left;
	font-size: 58px;
	line-height: 0.85;
	margin: 1px 3px 0 0;
}
hr {
    clear: both;
    border: none;
    height: 1px;
    color: #777;
    background-color: #777;
    margin: 30px 0;
}
a.btn {
	color: #fff;
	font-size: 16px;
	line-height: 1;
	display: inline-block;
	padding: 15px 30px;
	margin: 0 10px 0 0;
	text-decoration: none;
	background: #000;
}
a.btn:hover {
	color: #fff;
	background-color: #404040;
	text-decoration: none;
}
div.ddsg-wrapper p {
	display: none;
}
a.phone-link {
	color: #333;
	text-decoration: none;
	cursor: default;
}
.mapp-layout {
	clear: both;
	margin: 0 !important;
	border: 1px solid #777 !important;
}
.mapp-map-links {
	display: none;
}
.left {
	float: left;
	margin: 0 5px 0 0;
}
.right {
	float: right;
	margin: 0 0 0 5px;
}
.clear-floats {
	clear: both;
}
.clearfix:before,
.clearfix:after {
    content:"";
    display:table;
}
.clearfix:after {
    clear:both;
}
.clearfix {
    zoom:1; /* For IE 6/7 (trigger hasLayout) */
}

/* Blog
-------------------------------------------------------------- */

#blog-posts {
	width: 100%;
	padding: 0 0 10px;
}
.home #blog-posts {
	border-top: 1px solid #777;
	padding: 30px 0 10px;
}
.post-container {
	float: left;
	width: 360px;
	margin: 0 20px 20px 0;
	text-align: center;
}
.post-thumb {
	float: left;
	width: 100%;
	background: #000;
}
.post-thumb img {
	display: block;
	width: 100%;
	height: auto;
}
.post-thumb img:hover {
	opacity: 0.85;
}
.post-excerpt {
	float: left;
	width: 100%;
}
.post-excerpt h3 {
	margin: 10px 0 0;
	font-weight: normal;
	text-transform: uppercase;
}
.post-excerpt h3 a {
	color: #333;
}
.post-excerpt p {
	margin: 6px 0 15px 0;
}
.last {
	margin-right: 0 !important;
}
.post-excerpt p.date, p.date {
	color: #999;
	margin: 0;
}

/* CTAs
-------------------------------------------------------------- */

#ctas {
	clear: both;
	width: 100%;
	border-top: 1px solid #777;
	padding: 30px 0 10px;
}
a.cta {
	float: left;
	width: 360px;
	color: #333;
	font-size: 18px;
	margin: 0 20px 20px 0;
	position: relative;
	background: #000;
}
a.cta img {
	display: block;
	width: 100%;
	height: auto;
	opacity: 1;
	transition: all 0.3s;
}
a.cta:hover img {
	opacity: 0.85;
}
.cta-title-container {
	position: absolute;
	width: 100%;
	padding: 30px;
	bottom: 0;
}
.cta-title {
	width: 100%;
	text-transform: uppercase;
	text-align: center;
	padding: 22px 30px 23px 30px;
	background: rgb(255,255,255);
	background: rgba(255,255,255,0.85);
	transition: all 0.3s;
}
a.cta:hover .cta-title {
	background: rgb(255,255,255);
	background: rgba(255,255,255,1);
}
.cta-title span {
	position: relative;
}
.cta-title span:before, .cta-title span:after {
    position: absolute;
    top: 50%;
    overflow: hidden;
    width: 30px;
    height: 1px;
    content: '\a0';
    background-color: #777;
}
.cta-title span:before {
    margin-left: -45px;
    text-align: right;
}
.cta-title span:after {
    margin-left: 15px;
}

/* Forms
-------------------------------------------------------------- */

#gform_wrapper_1 {
	float: left;
	width: 540px;
}
#body .gform_body ul, #sect-body .gform_body ul {
    margin: 0;
    padding: 0;
}
#body .gform_body ul li, #sect-body .gform_body ul li {
    background-image: none;
    margin: 0 0 10px 0;
    padding: 0;
}
#body .gform_body ul li li, #sect-body .gform_body ul li li {
    margin: 0;
}
#body .gform_body ul li.gfield.gfield_error, #sect-body .gform_body ul li.gfield.gfield_error, #body .gform_body ul li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning, #sect-body .gform_body ul li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
    background-color: #FFDFE0;
}
.gform_wrapper .top_label .gfield_label {
    margin-bottom: 0 !important;
}
.gform_wrapper textarea.medium {
    width: 100% !important;
}
.gform_button {
	color: #fff;
	font-size: 16px;
	line-height: 1;
	display: inline-block;
	padding: 15px 30px !important;
	text-decoration: none;
	background: #000;
	border: none;
	cursor: pointer;
}
.gform_button:hover {
	color: #fff;
	background-color: #404040;
	text-decoration: none;
	cursor: pointer;
}
#gform_confirmation_message_1 { 
	float: left;
	background: #777;
	color: #fff;
	padding: 15px 30px;
}

/* WordPress Core
-------------------------------------------------------------- */

.alignnone {
    margin: 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 0 0 40px 40px;
}

.alignleft {
    float: left;
    margin: 0 40px 40px 0;
}

.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

a img.alignright {
    float: right;
    margin: 0 0 40px 40px;
}

a img.alignnone {
    margin: 0;
}

a img.alignleft {
    float: left;
    margin: 0 40px 40px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 0 40px 40px 0;
}

.wp-caption.alignleft {
    margin: 0 40px 40px 0;
}

.wp-caption.alignright {
    margin: 0 0 40px 40px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 14px;
    line-height: 18px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Responsive Images
-------------------------------------------------------------- */

.entry-content img,
.comment-content img,
#footer img,
.widget img {
	max-width: 100%; /* Fluid images for posts, comments, and widgets */
}
img[class*="align"],
img[class*="wp-image-"] {
	height: auto; /* Make sure images with WordPress-added height and width attributes are scaled correctly */
}
img.size-full, #body img {
	max-width: 100%;
	width: auto; /* Prevent stretching of full-size images with height and width attributes in IE8 */
	height: auto;
}

/* Footer
-------------------------------------------------------------- */

#footer {
	clear: both;
	width: 100%;
	border-top: 1px solid #777;
	text-align: center;
}
#footer p {
	margin: 26px 0;
}
#footer a {
	color: #B2B2B2;
	text-decoration: none;
}
#footer a:hover {
	color: #F59139;
	text-decoration: none;
}
#social-icons {
	margin: 30px 0 0;
	height: 40px;
}
#social-icons a {
	display: inline-block;
	width: 40px;
	height: 40px;
	margin: 0 5px;
	text-indent: -1000px;
	overflow: hidden;
	opacity: 1;
}
#social-icons a:hover {
	opacity: 0.75;
}
#social-icons a.facebook {
	background: url(images/icon-facebook.gif);
}
#social-icons a.instagram {
	background: url(images/icon-instagram.gif);
}
#social-icons a.email {
	background: url(images/icon-email.gif);
}
.footer-divider {
	margin: 0 14px;
}
#avatar-link a {
	color: #333;
}
#avatar-link a:hover {
	color: #ef2d40;
}

/* Mobile Menu
-------------------------------------------------------------- */

#mobile-menu-container, #mobile-menu, #mobile-menu-btn {
	display: none;
}
#mobile-menu-container {
	clear: both;
}
#mobile-menu-btn {
	height: 40px;
	width: 100%;
	margin: 0;
}
#mobile-menu-btn #mobile-btn {
	height: 40px;
	width: 100%;
	display: block;
	color: #333;
	font-size: 22px;
	line-height: 40px;
	text-decoration: none;
	text-align: center;
}
#mobile-menu-btn a#mobile-btn:hover {
	color: #ef2d40;
	text-decoration: none;
}
#mobile-menu ul, #mobile-menu ul li {
	width: 100%;
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
}
#mobile-menu ul {
	margin: 0 0 20px;
}
#mobile-menu ul li {
	position: relative;
}
#mobile-menu ul li a {
	width: 100%;
	display: block;
	color: #333;
	padding: 15px;
	text-align: center;
	font-size: 18px;
	line-height: 18px;
	text-decoration: none;
	border-bottom: 1px solid #777;
}
#mobile-menu ul li a:hover {
	color: #ef2d40;
	text-decoration: none;
}
#mobile-menu ul li ul {
	display: none;
	border-bottom: 1px solid #777;
	margin: 0;
}
#mobile-menu ul li.current-menu-item ul, #mobile-menu ul li.current-menu-parent ul {
	/* display: block; */
}
#mobile-menu ul li li a {
	font-size: 14px;
	line-height: 14px;
	font-weight: normal;
	text-transform: none;
	border-bottom:	none;
}
#mobile-menu ul li span {
	position: absolute;
	z-index: 1;
	right: 0;
	top: 0;
	width: 50px;
	height: 50px;
	display: block;
	text-align: center;
	cursor: pointer;
	background: url(images/plus-icon.png) no-repeat center center;
}
#mobile-menu ul li span.active {
	background: url(images/minus-icon.png) no-repeat center center;
}

/* Mobile
-------------------------------------------------------------- */

#view-full-site, #view-mobile-site {
	display: none;
}

@media screen and (max-width: 1140px) {
	.wrapper {
		width: 970px;
	}
	#menu-container ul li {
		margin: 0 0 0 75px;
	}
	.post-container, a.cta {
		width: 310px;
	}
}
@media screen and (max-width: 980px) {
	.wrapper {
		width: 90%;
	}
	#menu {
		display: none
	}
	#mobile-menu-container, #mobile-menu-btn {
		display: block;
	}
	.last {
		margin-right: 20px !important;
	}
}
@media screen and (max-width: 800px) {
	.alignleft, .alignright {
		display: block;
		float: none;
		margin: 5px auto 20px;
	}
	.mapp-layout {
		width: 100% !important;
		margin: 10px 0 20px !important;
	}
}
@media screen and (max-width: 740px) {
	.post-container, a.cta {
		float: none;
		display: block;
		margin: 0 auto 40px;
	}
	.post-excerpt {
		margin-bottom: 30px;
	}
	.last {
		margin-right: auto !important;
	}
}
@media screen and (max-width: 670px) {
	#logo {
		float: none;
		margin: 30px auto;
	}
	#footer p {
		line-height: 20px;
	}
	#copyright, #footer-links {
		float: left;
		width: 100%;
		text-align: center;
	}
	#footer-links {
		margin-top: 5px;
	}
	#footer p#avatar-link {
		margin-top: 20px;
	}
}
@media screen and (max-width: 500px) {
	.gform_wrapper .top_label input.medium, .gform_wrapper .top_label select.medium {
		width: 100% !important;
	}
}
@media screen and (max-width: 450px) {
	#logo {
		width: 80%;
		height: auto;
	}
	#logo img {
		width: 100%;
		height: auto;
		max-width: 100%;
	}
	.footer-divider {
		margin: 0 5px;
	}
}
@media screen and (max-width: 360px) {
	.post-container, a.cta {
		width: 100%;
	}
}