/*
Theme Name: XDC
Theme URI: http://byjon.nz
Description: Built using the Bootstrap 3 framework.
Version: 2.2
Author: Jon Holtslag
Author URI: http://byjon.nz
*/

a, button, input[type="submit"]{
	transition:all 0.3s ease;
}
body{
	font-family: 'Muli', sans-serif;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	font-size: 16px;
}
a{
	color:#8dc63f;
}
a:hover,
a:focus{
	text-decoration: none;
	color:black;
}
::selection {
  background: #8dc63f; /* WebKit/Blink Browsers */
  color:white;
}
::-moz-selection {
  background: #8dc63f; /* Gecko Browsers */
  color:white;
}
#main_wrapper,#small_header_wrapper,#header_wrapper,#content_wrapper,#footer_wrapper,#small_footer_wrapper{
	padding-left:0px;
	padding-right:0px;
}
img, svg{
	max-width: 100%;
	height:auto;
}
iframe{
	max-width: 100%;
}
h1,h2,h3,h4,h5,h6{
	margin-top: 0px;
	font-family: 'Montserrat', sans-serif;
	margin-bottom: .4em;
}
/*
******************************************************************************************************************
=Header
                                                                          
88                                            88                          
88                                            88                          
88                                            88                          
88,dPPYba,    ,adPPYba,  ,adPPYYba,   ,adPPYb,88   ,adPPYba,  8b,dPPYba,  
88P'    "8a  a8P_____88  ""     `Y8  a8"    `Y88  a8P_____88  88P'   "Y8  
88       88  8PP"""""""  ,adPPPPP88  8b       88  8PP"""""""  88          
88       88  "8b,   ,aa  88,    ,88  "8a,   ,d88  "8b,   ,aa  88          
88       88   `"Ybbd8"'  `"8bbdP"Y8   `"8bbdP"Y8   `"Ybbd8"'  88          

******************************************************************************************************************
*/

#header_wrapper{
	padding:10px 0 5px 0;
	border-bottom: 1px solid #e8e8e8;
	//background:url(img/xdc-header.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center -10px;
}
#header_inner{
	position: relative;
}
#logo{
	position: absolute;
	left:50%;
	transform: translateX(-50%);
	z-index: 100;
}
#logo img{
}
.header_text{
	
}
#header_text_1{

}
#header_text_2{
	
}
#page_title{
	background: #F0F0F0;
	border-bottom: 1px solid #e8e8e8;
}
#page_title .container{
	position: relative;
}
#page_title h1{
	margin-bottom: 0px;
	padding:20px 0;
    text-transform: uppercase;
    font-size: 22px;
    max-width: 40%;
}
#page_title .contact_button{
	position: absolute;
	right:0px;
	top:50%;
	transform: translateY(-50%);
	font-family: 'Montserrat',sans-serif;
	text-transform: uppercase;
	background:white;
	padding:5px 10px;
	font-size: 14px;
	background:#8dc63f;
	color:white;
}
#page_title .contact_button:hover{
	color:#333;
	background:white;
}
.home.page #page_title{
	display: none;
}
/*
****************************************************************
=NAV
****************************************************************
*/
/*Non-mobile and mobile nav buttons*/
header nav ul li a{
	text-transform: uppercase;
	font-family: 'Montserrat', sans-serif;
}
/*Header desktop nav container*/
header nav.hidden-xs{
	display: inline-block;
	width: 50%;
	margin:100px 0 0 0;
}
header nav.left{
	float: left;
	text-align: right;
	padding-right: 100px;
}
header nav.right{
	float: right;
	text-align: left;
	padding-left: 100px;
}
header nav.hidden-xs ul{
	margin:0px;
	padding-left:0px;
	font-size:0;/*Removes 4px space of inline-block*/
}
header nav.hidden-xs ul li{
	display:inline-block;
	list-style: none;
	position:relative;
}
header nav.hidden-xs ul li a{
	text-decoration: none;
	display:inline-block;
	padding:10px 17px;
	font-size: 12px;
	text-align: center;
	color:#555;
}
header nav.hidden-xs ul li a:hover,
header nav.hidden-xs ul li a:focus,
header nav.hidden-xs ul li.current_page_item > a{
	text-decoration: none;
	color:#8dc63f;
}

/*
****************************************************************
=DROPDOWN MENU
****************************************************************
*/
/*Parent a:after - indication it has children*/
header nav ul li.menu-item-has-children > a:after{
	content:"\f078";
	font-family:'FontAwesome'; 
	font-weight: normal;
	font-size:.75em;
	margin-left: 5px;
    vertical-align: middle;
}
header nav.hidden-xs ul li ul{
	visibility:hidden;
	position:absolute;
	padding:0;
	top:140%;
	left:10px;
	display:block;
	opacity:0;
	transition:all 0.3s ease;
	z-index: 50;
	border:1px solid #e8e8e8;
}
/*Parent 'a' of dropdown menu when dropdown is being hovered*/
header nav.hidden-xs ul li:hover > a{

}
header nav.hidden-xs ul li:hover ul,
header nav.hidden-xs ul li.hover > ul{
	opacity:1;
	visibility: visible;
	top:100%;
}
header nav.hidden-xs ul li ul li{
	display: block;
}
/*Dropdown nav buttons*/
header nav.hidden-xs ul li ul a{
	width: 170px;
	text-align: left;
	padding-left:10px;
	padding-right: 10px;
	background:#fff;
	font-size: 12px;
}
/*Dropdown nav button hover*/
header nav.hidden-xs ul li ul a:hover{

}

/*
****************************************************************
=MOBILE NAV
****************************************************************
*/
/*XS nav control button*/
header #show_xs_nav{
	display:inline-block;
	background:#8dc63f;
	color:white;
	padding:5px 10px;
	text-align:center;
	float: right;
	font-size: 20px;
	margin-top: 40px;
}
header  nav.visible-xs{
	position: relative;
}
#xs_nav_inner{
	visibility: hidden;
	opacity: 0;
	width: 0%!important;
	position: absolute;
	top:40px;
	z-index: 100;
	background:#fff;
	overflow: hidden;
	border:1px solid #e8e8e8;
	box-shadow: 0 15px 35px rgba(50,50,93,.15),0 5px 15px rgba(0,0,0,.1);
    -webkit-transform: rotate3d(1,1,0,-30deg);
    transform: rotate3d(1,1,0,-30deg);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
	transition-duration:0ms,0ms, 300ms,300ms;
	transition-property:width,visibility,opacity,transform;	
	transition-delay: 300ms, 300ms, 0ms, 0ms;
}
#xs_nav_inner.in_view{
	opacity: 1;
	visibility: visible;
	width: 100%!important;
	transform: none;
	transition-duration:0ms, 0ms, 300ms, 300ms;
	transition-property:width,visibility,opacity,transform;
	transition-delay: 0ms;
}
#hide_xs_nav{
	position: absolute;
	right: 10px;
	top:8px;
	z-index: 200;
}
#hide_xs_nav i{
	font-size: 25px;
}
header  nav.visible-xs ul{
	padding:0px;
	margin:0px;
}
header  nav.visible-xs li{
	display:block;
}
header  nav.visible-xs #xs_nav_inner > div > ul > li{
	padding:0px 40px 0 15px;
} 
/*XS nav buttons*/
header  nav.visible-xs ul li a{
	display:block;
	width:100%;
	padding:10px 0px;
}
/*Mobile nav submenu*/
header nav.visible-xs ul li ul{
	visibility: visible;
	opacity:1;
	position: relative;
	top:0;
	padding-left:20px;
}
header nav.visible-xs ul li ul a{
	width:100%;
}


/*
******************************************************************************************************************
=content
                                       ,d                              ,d     
                                       88                              88     
 ,adPPYba,   ,adPPYba,   8b,dPPYba,  MM88MMM  ,adPPYba,  8b,dPPYba,  MM88MMM  
a8"     ""  a8"     "8a  88P'   `"8a   88    a8P_____88  88P'   `"8a   88     
8b          8b       d8  88       88   88    8PP"""""""  88       88   88     
"8a,   ,aa  "8a,   ,a8"  88       88   88,   "8b,   ,aa  88       88   88,    
 `"Ybbd8"'   `"YbbdP"'   88       88   "Y888  `"Ybbd8"'  88       88   "Y888                                                                             

******************************************************************************************************************
*/
#content_inner a{
	font-weight: bold;
}
#content_wrapper{

}
#content_inner{
	padding-top: 100px;
}
.default_padding_top,
.default_padding,
.wpb_wrapper > .default_padding_element:first-child, /*When default padding is first child of a column*/
.wpb_wrapper > .default_padding_element:not(:last-child) /*If element is not the last child - somewhere in the middle of content*/
{
	padding-top: 60px;
}
.default_padding_bottom,
.default_padding,
/*When default padding is last child of a column*/
.wpb_wrapper > .default_padding_element:last-child,
#content_inner{
	padding-bottom: 35px; /*Not the same as padding top as VC elements have default bottom margins*/
}
/*Overwrites Visual composer padding top for columns*/
#content_inner .vc_column-inner{
	padding-top: 0px;
}
blockquote{
	border:0;
	padding:25px;
	position: relative;
	background:#ececec;
	margin-bottom: 45px;
}
blockquote:after{
	content:"";
	left:30px;
	position: absolute;
	bottom:-30px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30px 30px 0 0px;
	border-color: #ececec transparent transparent transparent;
}
blockquote cite{
	display: block;
}
blockquote cite:before{
	content:"- ";
}
.hexagon_wrap{
	position: relative;
	margin:auto;
	width: 600px;
	height: 600px;
	margin-top: 60px;
	font-size: 14px;
}
.hexagon{
	width: calc(100%/3);
	overflow: hidden;
	position: absolute;
	transition: 0.6s ease all;
	transform: scale(0) rotate(30deg);
}
.hexagon.visible{
	transform:scale(1) rotate(0deg);
}
.hexagon .inner{
	transition: 0.8s ease all;
	transform-style: preserve-3d;
	text-align: center;
}
.hexagon .front, .hexagon .back{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	padding:6px;
	transform: rotateX(0deg); /*Thunderbird bug fix*/
}
.hexagon .front{
	z-index: 2;
	position: relative;
}
.hexagon .front svg path{
	fill:rgba(32,32,32,0.8);
}
.hexagon .back{
	position: absolute;
	top: 0;
	left: 0;
	left:0;
	right:0;
	transform: rotateY(180deg);
}
.hexagon .back svg path{
	fill:rgba(141, 198, 63, 0.74);
}
.hexagon span,
.hexagon .back a{
	position: absolute;
	left: 50%;
	top:50%;
	transform: translate(-50%, -50%);
	color:white;
	text-transform: uppercase;
	padding:0 15px;
}
.hexagon .back a{
	border:2px solid white;
	color:white;
	padding:5px;
}
.hexagon .back a:hover{
}
.hexagon.line_two{
	top:172px;
}
.hexagon.line_three{
	top:344px;
}
.hexagon:nth-child(1){
	left:calc(50%/3);
}
.hexagon:nth-child(2){
	left:calc(150%/3);
}
.hexagon:nth-child(3){

}
.hexagon:nth-child(4){
	left:calc(100%/3);
}
.hexagon:nth-child(5){
	left:calc(200%/3);
}
.hexagon:nth-child(6){
	left:calc(50%/3);
}
.hexagon:nth-child(7){
	left:calc(150%/3);
}
.hexagon:hover .inner{
	transform: rotateY(180deg)
}
.home_icons,
.contact_icons{
	text-align: center;
}
.home_icons i{
	font-size: 75px;
	margin-bottom: 20px;
}
.home_icons h3{
	text-transform: uppercase;
}
.contact_icons i{
	font-size: 60px;
	height: 75px;
}
.contact_icons .phone i{
	font-size: 75px;
}
/*
******************************************************************************************************************
=footer
                                                                 
   ad88                                                          
  d8"                              ,d                            
  88                               88                            
MM88MMM  ,adPPYba,    ,adPPYba,  MM88MMM  ,adPPYba,  8b,dPPYba,  
  88    a8"     "8a  a8"     "8a   88    a8P_____88  88P'   "Y8  
  88    8b       d8  8b       d8   88    8PP"""""""  88          
  88    "8a,   ,a8"  "8a,   ,a8"   88,   "8b,   ,aa  88          
  88     `"YbbdP"'    `"YbbdP"'    "Y888  `"Ybbd8"'  88          

******************************************************************************************************************
*/
footer{
	font-size: 13px;
	line-height: 1.75;
}
footer a{
	color:#aaa;
	border-bottom: 1px dotted #666;
	padding-bottom: 1px;
}
footer a:hover{
	color:#8dc63f;
}
#footer_wrapper{
	background:#333;
	color:#aaa;
	padding-top: 40px;
	padding-bottom: 40px;
}
#footer_wrapper h3{
	color:white;
	font-size: 20px;
	text-transform: uppercase;
	border-bottom: 1px solid #8dc63f;
	padding-bottom: 5px;
	display: inline-block;
	margin-bottom: 25px;
}
#footer_inner{
	
}
#footer_wrapper ul{
	padding:0px;
	margin:0;
}
#footer_wrapper ul li{
	list-style: none;
	width: 50%;
	float: left;
}
#small_footer_wrapper{
	background:#2c2c2c;
	font-size: 10px;
}
#small_footer_inner{
	padding:10px 0;
	color:#aaa;
}
footer .widget strong{
	display: inline-block;
	width: 50px;
}
.footer_text{
	
}
#footer_text_1{
	float: left;
}
#footer_text_2{
	float:right;
}

/*
******************************************************************************************************************
=misc                                           
                    88                         
                    ""                         
                                               
88,dPYba,,adPYba,   88  ,adPPYba,   ,adPPYba,  
88P'   "88"    "8a  88  I8[    ""  a8"     ""  
88      88      88  88   `"Y8ba,   8b          
88      88      88  88  aa    ]8I  "8a,   ,aa  
88      88      88  88  `"YbbdP"'   `"Ybbd8"'  

******************************************************************************************************************
*/
form.wpcf7-form{
	padding-bottom: 35px;
}
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='password'],
input[type='search'],
select,
textarea{
	padding:10px 15px;
	width:100%;
	border:1px solid #d7d7d7;
	transition:0.2s ease all;
}
input[type='submit']{
	border:0;
	padding:10px 15px;
	background:#efefef;
	background: #333;
	color: white;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 16px;
}
textarea{
	height: 147px;
}
input[type='submit']:hover{
	background:#666;
}
.wpcf7-form-control-wrap{
	position: relative;
	display: block;
}
#content_inner span.wpcf7-not-valid-tip{
	position: absolute;
	right:0px;
	top:0px;
	color:white;
	background:#e21721;
	padding:2px 5px;
	font-size: 12px;
}
input[aria-invalid='true']{
	border-color:#e21721;
}
#content_inner div.wpcf7-validation-errors{
	position: absolute;
	right:0px;
	bottom:0px;
	background:#e21721;
	border:none;
	color:white;
}
img.centered, .aligncenter, div.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.left,.alignleft{
	float:left;
	margin-right:10px;
	margin-bottom:10px;
}
.right,.alignright{
	float:right;
	margin-left:10px;
	margin-bottom:10px;
}
.clear{
	clear:both;
}
.page_not_found{
	display: block;
	text-align: center;
	margin:20px 0;
}
/*Wordpress captions*/
.wp-caption {
	border: 1px solid #ddd;
	text-align: center;
	background-color: #d4d4d4;
	padding-top: 4px;
	margin: 10px;
	max-width: 100%;
}
.wp-caption img {
	margin: 0;
	padding: 0;
	border: 0 none;
}
.wp-caption p.wp-caption-text {
	font-size: 0.85em;
	line-height: 1.214em;
	padding: 0 4px 5px;
	margin: 0;
}
.button{
	display:inline-block;
	background:#eee;
	color:#222;
	padding:8px 13px;
}
.button:hover{
	color:white;
	background:#222;
}

/*Pagination*/
.pagination a{
	display:inline-block;
	padding:2px 10px;
	margin-left:4px;
	text-align: center;
	background:#222;
	color:white;
}
.pagination a:hover{
	background:#444;
}
.white{
	color:white;
}


/*Phones*/
@media (max-width: 767px) {

	#header_text_1,
	#footer_text_1{
		margin-bottom: 10px;
	}
	#header_text_1,
	#header_text_2,
	#footer_text_1,
	#footer_text_2{
		float: none;
		text-align: center;
	}
	#logo{
		float:left;
	}
	.footer_widget{
		margin-bottom: 15px;
	}
	.hexagon_wrap{
		width:90vw;
		height: calc(((90vw/3) * 1.1795)*2.6);
	}
	.hexagon{
		width:calc(90vw/3);
		height: calc((90vw/3) * 1.1795);
	}
	.hexagon.line_two{
		top:calc((90vw/3) * .86);
	}
	.hexagon.line_three{
		top:calc(((90vw/3) * .86) * 2);
	}
	#logo img{
		width: 190px;
	}
	#header_inner{
		padding-left: 20px;
		padding-right: 20px;
		height: 168px;
	}
	#content_inner{
		padding-top: 50px;
	}
	#page_title .contact_button{
		right:20px;
		top:initial;
		right: initial;
	}
	#page_title h1{
		max-width: 100%;
		padding-top: 40px;
	}

}
/*Tablet*/
@media (min-width: 768px) and (max-width: 991px){
	#logo img{
		width: 190px;
	}
	#header_inner{
		padding-left: 20px;
		padding-right: 20px;
		height: 168px;
	}
	#content_inner{
		padding-top: 50px;
	}
	#page_title h1{
		float:left;
	}
	#page_title .contact_button{
		position: relative;
		float: right;
		transform: none;
		margin-top: 17px;
	}
}
/*medium devices - desktops*/
@media (min-width: 992px) and (max-width: 1199px) {
	#logo img{
		width: 190px;
	}
	header nav.hidden-xs ul li a{
		padding-left: 5px;
		padding-right: 5px;
	}
	header nav.left,
	header nav.right{
		margin-top: 75px;
	}

}
/*Large devices*/
@media (min-width: 1200px) {

}


