/* ==================================================
   Reset CSS + Clearfix
================================================== */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
.clearfix:before,.clearfix:after{content:".";display:block;height:0;overflow:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}

/* ==================================================
   Images
================================================== */

img
{
	display: block;
	
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	
	outline: 1px solid transparent;
}

/* ==================================================
   Fancy Underline (Potential)
================================================== */

a.underline
{
	color: #222;
	
	background-image: linear-gradient(0deg, #27ae60 0%, #27ae60 100%);
	background-repeat: no-repeat;
	background-size: 100% 0.1em;
	background-position: 0 100%;
	
	-webkit-transition: background-size 0.2s ease-out 0s, color 0.2s ease-out 0s;
	-moz-transition: background-size 0.2s ease-out 0s, color 0.2s ease-out 0s;
	-o-transition: background-size 0.2s ease-out 0s, color 0.2s ease-out 0s;
	transition: background-size 0.2s ease-out 0s, color 0.2s ease-out 0s;
	
	cursor: pointer;
}

	a:hover.underline
	{
		background-size: 100% 88%;
		color: #FFF;
		text-decoration: none;
	}

/* ==================================================
   LazySizes
================================================== */

.lazyloading:not(iframe)
{
	opacity: 0;
}

.lazyloaded
{
	opacity: 1;
	transition: 400ms opacity;
}

[data-expand].lazyload
{
	opacity: 0;
	transform: scale(0.8);
}

[data-expand].lazyloaded
{
	opacity: 1;
	transition: all 700ms;
	transform: scale(1);
}

/**

img.lazyloaded, 
img.lazyload
{
	display: block;
	width: 100%;
	max-width: 1000px;
}

**/

/** <img class="lazyload" src="images/img-small.jpg" data-srcset="images/img-small.jpg 768w, images/img-large.jpg 1024w" alt="" /> **/

/* ==================================================
   Typography
================================================== */

.section p
{
	margin: 0 0 20px 0;
}

	.section p.highlighttext
	{
		font-size: 120%;
	}

.section strong, .section b
{
	font-weight: 700;
}

.section em, .section i
{
	font-style: italic;
}

.section h1, .section h2, .section h3, .section h4, .section h5, .section h6
{
	margin: 0 0 20px 0;
	font-weight: 800;
	line-height: 1em;
	font-family: "Nunito Sans", Arial, Verdana, Helvetica, sans-serif;
	text-transform: none;
	letter-spacing: -0.03em;
}

	.section h1
	{
		font-size: 2.6em;
	}
	
		#mainfull.section h1
		{
			font-size: 2.2em;
		}
	
	.section h2
	{
		font-size: 2.0em;
	}
	
	.section h3
	{
		font-size: 1.8em;
	}
	
	.section h4
	{
		font-size: 1.6em;
	}
	
	.section h5
	{
		font-size: 1.5em;
	}
	
	.section h6
	{
		font-size: 1.2em;
	}

.section hr
{
	clear: both;
	border: 0;
	height: 0;
	margin: 0 0 25px 0;
	border-top: 1px dotted #CCC;
}

.section ul
{
	margin: 0 0 20px 25px;
	list-style-type: square;
}

	.section ul li
	{
		padding: 0;
	}

		.section ul ul
		{
			margin: 0 0 0 20px;
		}

.section ol
{
	margin: 0 0 20px 25px;
	list-style-type: decimal;
}

	.section ol li
	{
		padding: 0;
	}

		.section ol ol
		{
			margin: 0 0 0 20px;
		}

.section .treemenu, .section .treemenu ul, .section .treemenu li
{
     position: relative;
}

	.section .treemenu ul
	{
		list-style: none;
		margin: 0 0 20px 0;
		line-height: 1.4em;
		padding-left: 15px;
	}
	
	.section .treemenu ul ul
	{
		padding-top: 5px;
		padding-left: 20px;
		margin: 0 0 5px 0;
	}
	
		.section .treemenu ul li
		{
			padding: 1px 0;
		}
		
			.section .treemenu li::before,
			.section .treemenu li::after
			{
				content: "";
				position: absolute;
				left: -15px;
			}

			.section .treemenu li::before
			{
				border-top: 1px solid #AAA;
				top: 12px;
				width: 8px;
				height: 0;
			}
			
			.section .treemenu li::after
			{
				border-left: 1px solid #AAA;
				height: 100%;
				width: 0px;
				top: 2px;
			}

/* ==================================================
   Images
================================================== */

img
{
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	
	outline: 1px solid transparent;
}

p.imgcaption
{
	font-size: 86%;
	color: rgba(0,0,0,0.5);
	line-height: 1.4em;
	text-align: left;
}

	p:last-child.imgcaption
	{
		margin: 0;
	}

.imgleftdiv
{
    float: left;
    max-width: 280px;
    margin: 0 25px 20px 0;
}
	
    .imgleftdiv img
	{
        width: 100%;
        display: block;
        margin: 0 0 8px 0;
    }
        
.imgrightdiv
{
    float: right;
    margin: 0 0 20px 25px;
}
        
    .imgrightdiv img
	{
        width: 100%;
        display: block;
        margin: 0 0 8px 0;
    }

.imgfull
{
	width: 100%;
}

@media only screen and (max-width: 768px)
{
	
	.imgleftdiv
	{
		float: none;
		margin: 0 0 20px 0;
	}
	
	.imgrightdiv
	{
		float: none;
		margin: 0 0 20px 0;
	}
	
}

/**

<div class="imgrightdiv" style="max-width:400px">
	<img src="https://unsplash.it/600/400/?random" alt="" />
</div>

**/

/* ==================================================
   Button
================================================== */

.mybutton
{
	position: relative;
	display: inline-block;
	padding: 13px 16px;
	margin: 0;
	width: auto;
	overflow: hidden;
	text-decoration: none !important;
	text-transform: none;
	font-size: 1em;
	font-weight: 700;
	text-align: left;
	font-family: inherit;
	line-height: 1em;
	color: #000 !important;
	cursor: pointer;
	letter-spacing: 0em;
	border: 2px solid #000;
	
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	
	-webkit-appearance: none;

	background: #FFF;
	background-image: linear-gradient(to bottom, transparent 50%, #EEE 50%);
	background-size: 100% 200%;
	
	-webkit-transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
	transition: all 200ms cubic-bezier(0.77, 0, 0.175, 1);
}

	.mybutton:hover
	{
		color: #000 !important;
		background-position: 0 -100%;
	}
	
		.mybutton.fullbutton
		{
			width: 100%;
		}
		
		.mybutton.smallbutton
		{
			font-size: 1em;
			padding: 10px 12px;
			font-weight: 700;
		}
		
#ctacont .mybutton
{
	background: #333;
	background-image: linear-gradient(to bottom, transparent 50%, #FFF 50%);
	background-size: 100% 200%;
}

	#ctacont .mybutton:hover
	{
		color: #27ae60 !important;
		background-position: 0 -100%;
	}
		

/* ==================================================
   Searchbox
================================================== */

.sb-search
{
	position: relative;
	float: left;
	width: 100%;
}

	.sb-search form
	{
		float: left;
		width: 100%;
	}
	
		.sb-search form input.sb-search-input
		{
			float: left;
			width: 100%;
			height: 55px;
			background: #EEE;
			padding: 0 70px 0 15px;
			line-height: 1em;
			font-size: 0.95em;
			border: none;
			outline: none;
			font-family: inherit;
			
			-webkit-appearance: none;
			
			-webkit-border-radius: 0;
			-moz-border-radius: 0;
			border-radius: 0;
		}
		
		.sb-search form button.formbutton
		{
			position: absolute;
			top: 0;
			right: 0;
			width: 100%;
			height: 55px;
			max-width: 55px;
			line-height: 1em;
			font-size: 1.3em;
			background: #27ae60;
			color: #FFF;
			border: none;
			cursor: pointer;
		}
		
.underline
{
	position: absolute;
	display: inline-block;
	left: 0;
	bottom: 0;
	background: #27ae60;
	width: 100%;
	height: 2px;
	
	transform-origin: 0% 100%;
	
	-webkit-transform: scale(0,1);
	-moz-transform: scale(0,1);
	-o-transform: scale(0,1);
	-ms-transform: scale(0,1);
	transform: scale(0,1);
	
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

	.sb-search form input.sb-search-input:focus + .underline
	{
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-o-transform: scale(1);
		-ms-transform: scale(1);
		transform: scale(1);
	}
	
/**

<div class="sb-search clearfix">
	<form action="http://www.google.com/search" name="searchbox" method="get" target="_blank" />
		<input type="hidden" name="hl" value="en" />
		<input type="hidden" name="ie" value="ISO-8859-1" />
		<input type="hidden" name="sitesearch" value="192.168.0.10" />
		<input class="sb-search-input" name="q" type="text" placeholder="What are you looking for?" />
		<span class="underline"></span>
		<button class="formbutton" type="submit" name="btnG"><span class="fa fa-search"></span></button>
	</form>
</div>

**/

/* ==================================================
   Blog Styles
================================================== */

#mainfull .blogdiv
{
	border-top: 1px dotted #CCC;
	padding-top: 30px;
	margin: 0 0 20px 0;
}

#mainfull .metadetails
{
	margin: -10px 0 15px 0;
}

	#mainfull .metadetails ul
	{
		list-style-type: none;
		margin: 0;
	}
	
		#mainfull .metadetails ul li
		{
			display: inline;
			float: left;
			padding: 0;
			margin-right: 15px;
			font-size: 15px;
			line-height: 15px;
		}
		
			#mainfull .metadetails ul li span
			{
				font-weight: 700;
				line-height: 16px;
			}
			
/* ==================================================
	Social Media Icons
================================================== */

#mainfull .socialicons
{
	float: left;
	width: 100%;
	margin:mainfull0;
}

	#mainfull .socialicons ul
	{
		list-style-type: none;
		width: 100%;
		
		width: -moz-calc(100% + 20px);
		width: -webkit-calc(100% + 20px);
		width: -o-calc(100% + 20px);
		width: calc(100% + 20px);
		
		margin: 0 -10px;
	}
	
		#mainfull .socialicons ul li
		{
			float: left;
			width: 20%;
			padding: 0 10px;
			margin: 0 0 20px 0;
		}
		
			#mainfull .socialicons ul li a
			{
				float: left;
				width: 100%;
				text-align: center;
				font-size: 25px;
				line-height: 25px;
				color: #2B2523;
				padding: 15px 0;
					
				background-size: 100% 200%;
				background-image: linear-gradient(to top, #2B2523 50%, rgb(43,37,35,0.15) 50%);
				
				-webkit-transition: background-position 0.2s, color 0.2s;
				-moz-transition: background-position 0.2s, color 0.2s;
				transition: background-position 0.2s, color 0.2s;
			}
			
				#mainfull .socialicons ul li a:hover
				{
					background-position: 50% -100%;
					color: #FFF;
				}
				
@media only screen and (max-width: 992px)
{
	
	#mainfull .socialicons ul li
	{
		width: 20%;
	}
	
}
							
@media only screen and (max-width: 576px)
{
	
	#mainfull .socialicons ul li
	{
		width: 50%;
	}
	
}

/* ==================================================
   Images
================================================== */

img
{
	height: auto;
	max-width: 100%;
}

.alignleft
{
	float: left;
	margin: 10px 20px 10px 0;
}

.alignright
{
	float: right;
	margin: 10px 0 10px 20px;
}

.aligncenter
{
	clear: both;
	display: block;
	margin: 10px auto;
}

a.fancybox img
{
	-webkit-transition: opacity 0.1s ease-out 0.05s;
	-moz-transition: opacity 0.1s ease-out 0.05s;
	-o-transition: opacity 0.1s ease-out 0.05s;
	transition: opacity 0.1s ease-out 0.05s;
}

	a:hover.fancybox img
	{
		opacity: 0.7;
	}

.wp-caption
{
	margin-bottom: 20px;
}

	.wp-caption p.wp-caption-text
	{
		margin-top: 10px;
		font-size: 0.85em;
		font-style: normal;
		line-height: 1.3em;
		color: #767676;
		
		-webkit-box-sizing: border-box;
		-moz-box-sizing:    border-box;
		box-sizing:         border-box;
	}

@media only screen and (max-width: 768px)
{
	
	.imgwrap
	{
		float: left;
		width: 100%;
	}
	
	.alignleft
	{
		float: none;
		margin: 10px 0;
	}

	.alignright
	{
		float: none;
		margin: 10px 0;
	}

	.aligncenter
	{
		clear: both;
		display: block;
		margin: 10px 0;
	}
	
	.wp-caption
	{
		width: auto !important;
	}
	
}

/* ==================================================
   Pagination
================================================== */

.pagination
{
	float: left;
	width: 100%;
	border-top: 1px dotted #CCC;
	padding: 20px 0;
}

	.pagination a
	{
		text-decoration: none !important;
	}

	.pagination a:hover
	{
		text-decoration: none !important;
	}

	.pagination .nav-links
	{
		float: left;
		width: 100%;
	}
	
		.pagination .nav-links .page-numbers
		{
			float: left;
			width: 100%;
			max-width: 40px;
			line-height: 40px;
			background: #E5E5E5;
			color: #888;
			color: rgba(0,0,0,0.5);
			text-align: center;
			font-size: 1em;
			font-weight: 600;
			font-family: inherit;
			margin-right: 5px;
		}
		
			.pagination .nav-links .page-numbers span
			{
				line-height: 40px;
			}
		
				.pagination .nav-links .page-numbers.current
				{
					background: #2B2523;
					color: #FFF;
				}
				
				.pagination .nav-links a:hover.page-numbers
				{
					background: #2B2523;
					color: #FFF;
				}
	
				.pagination .nav-links .page-numbers.dots
				{
					background: none;
					color: #888;
				}

/* ==================================================
   Contact Form
================================================== */

.screen-reader-text,
.screen-reader-response
{
	display: none;
}

#contactform7
{
	margin: 0 0 20px 0;
}

	#contactform7 #ctf7alert .wpcf7-validation-errors
	{
		width: 100%;
		background: #e74c3c;
		color: #FFF;
		margin: 0 0 10px 0;
		padding: 8px 14px;
		text-transform: uppercase;
		font-weight: 700;
		font-size: 18px;
	}

	#contactform7 #ctf7alert .wpcf7-mail-sent-ok
	{
		width: 100%;
		background: #11CD86;
		color: #FFF;
		margin: 0 0 10px 0;
		padding: 8px 14px;
		text-transform: uppercase;
		font-weight: 700;
		font-size: 18px;
	}

	#contactform7 #ctf7form
	{
		
	}
	
		#contactform7 #ctf7form ul
		{
			margin: 0 !important;
			padding: 0 !important;
			list-style-type: none !important;
		}

			#contactform7 #ctf7form
			{
				position: relative;
				list-style-type: none;
				float: left;
				padding: 0 0 10px 0;
				font-weight: 600;
			}
			
				#contactform7 #ctf7form label
				{
					line-height: 1.2em !important;
					margin-bottom: 8px;
				}
			
				#contactform7 #ctf7form span.fa
				{
					position: absolute;
					top: 50px;
					right: 15px;
					font-size: 18px;
					color: #FC6621;
				}
				
				#contactform7 #ctf7form.paddingright10 span.fa
				{
					right: 25px;
				}
				
				@media only screen and (max-width: 992px)
				{
					#contactform7 #ctf7form.paddingright10 span.fa
					{
						right: 15px;
					}
								
				}
				
					#contactform7 #ctf7form.paddingright10
					{
						padding-right: 10px;
					}
				
					#contactform7 #ctf7form.clearli
					{
						clear: both;
					}
				
					#contactform7 #ctf7form p
					{
						margin: 0 0 5px 0;
					}

					#contactform7 #ctf7form input[type=text],
					#contactform7 #ctf7form input[type=email],
					#contactform7 #ctf7form textarea,
					#contactform7 #ctf7form select
					{
						position: relative;
						z-index: 1;
						width: 100%;
						font-family: inherit;
						font-size: 16px;
						padding: 0 10px;
						height: 50px;
						color: #444;
						font-weight: 400;
						border: 0;
						border: 2px solid #CCC;
						background: #FFF;
						
						-webkit-appearance: none;
						
						-webkit-border-radius: 0;
						-moz-border-radius: 0;
						border-radius: 0;
					}
					
					#contactform7 #ctf7form textarea
					{
						height: 250px;
					}
					
						#contactform7 #ctf7form input[type=text]:focus,
						#contactform7 #ctf7form input[type=email]:focus,
						#contactform7 #ctf7form textarea:focus,
						#contactform7 #ctf7form select:focus
						{
							border: 2px solid #000;
						}
						
						#contactform7 #ctf7form input[type=checkbox]
						{
							margin-right: 8px;
						}
						
							#contactform7 #ctf7form input[type=text].wpcf7-not-valid,
							#contactform7 #ctf7form input[type=email].wpcf7-not-valid,
							#contactform7 #ctf7form textarea.wpcf7-not-valid,
							#contactform7 #ctf7form select.wpcf7-not-valid
							{
								border: 2px solid #e74c3c;
							}
						
				#contactform7 #ctf7form .wpcf7-form-control-wrap.servicesrequired
				{
					float: left;
					width: 100%;
					padding: 15px;
					background: #EEE !important;
				}
					
				#contactform7 #ctf7form span.wpcf7-checkbox
				{
					float: left;
					width: 100%;
					padding-top: 10px !important;
				}
				
					#contactform7 #ctf7form span.wpcf7-checkbox span.wpcf7-list-item
					{
						float: left;
						width: 50%;
						line-height: 1em;
						margin: 0 0 15px 0;
						font-style: normal;
						font-size: 0.92em;
					}
				
						#contactform7 #ctf7form span.wpcf7-checkbox span.wpcf7-list-item span
						{
							padding-left: 6px;
						}
					
					#contactform7 #ctf7form.fullwidth
					{
						width: 100%;
						padding: 0 0 10px 0;
					}
					
					#contactform7 #ctf7form.marginbottom
					{
						margin-bottom: 15px !important;
					}
					
						#contactform7 #ctf7form.fullwidth input[type=text]
						{
							width: 100%;
						}
			
				#contactform7 #ctf7form span.required,
				#contactform7 #ctf7form span.wpcf7-not-valid-tip
				{
					color: #E73A38;
				}
				
				#contactform7 #ctf7form span.wpcf7-not-valid-tip
				{
					float: left;
					background: #e74c3c;
					color: #FFF;
					font-size: 15px;
					line-height: 1em;
					width: 100%;
					padding: 8px 10px;
					font-weight: 400;
				}
				
				.gdpr-acceptance
				{
					font-weight: 400;
					line-height: 1.4em;
				}
				
				#contactform7 #ctf7form textarea
				{
					width: 100%;
					padding: 8px 10px;
				}

					#contactform7 #ctf7form input.wpcf7-submit
					{
						float: left;
						margin-top: 10px;
					}

						#contactform7 #ctf7form img.wpcf7-captchac
						{
							width: auto;
							height: auto;
						}

						#contactform7 #ctf7form input.wpcf7-captchar
						{
							width: auto;
							margin: 0 10px;
							font-weight: 600;
							font-size: 16px;
							text-align: center;
						}

							#contactform7 #ctf7form img.ajax-loader
							{
								float: right;
								width: auto;
								height: auto;
								margin-top: 7px;
								margin-right: 15px;
							}

		/** Errors **/

		#contactform7 #ctf7alert span.wpcf7-not-valid-tip
		{
			float: left;
			background: #e74c3c;
			color: #FFF;
			font-size: 15px;
			width: 100%;
			font-weight: 400;
		 }

@media only screen and (max-width: 992px)
{
	
	#contactform7 #ctf7form
	{
		list-style-type: none;
	}
	
		#contactform7 #ctf7form.paddingright10
		{
			padding-right: 0px;
		}

		#contactform7 #ctf7form input[type=text],
		#contactform7 #ctf7form textarea
		{
			text-align: left;
		}
		
			#contactform7 #ctf7form span.wpcf7-checkbox span.wpcf7-list-item
			{
				width: 50%;
			}

			#contactform7 #ctf7form p input.wpcf7-submit
			{
				float: none;
				margin: 0;
			}
	
				#contactform7 #ctf7form img.ajax-loader
				{
					display: none;
				}
}

@media only screen and (max-width: 576px)
{
		
	#contactform7 #ctf7form
	{
		list-style-type: none;
		float: left;
		
	}
	
		#contactform7 #ctf7form span.wpcf7-checkbox span.wpcf7-list-item
		{
			
		}
	
		#contactform7 #ctf7form input.wpcf7-submit
		{
			float: none;
			margin: 15px auto 0 auto;
			text-align: left;
		}

			#contactform7 #ctf7form img.ajax-loader
			{
				display: none;
			}

}

