/* Global Box-Sizing */
*,
*:after,
*:before {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}
fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}
textarea {
    resize: vertical;
}
.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}
/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}
.alignright {
	float: right;
	margin: 5px 0 32px 32px;
}
.alignleft {
	float: left;
	margin: 5px 32px 32px 0;
}
a img.alignright {
	float: right;
	margin: 5px 0 32px 32px;
}
a img.alignnone {
	margin: 5px 32px 32px 0;
}
a img.alignleft {
	float:left;
	margin: 5px 32px 32px 0;
}
a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption {
	background: #FFF;
	border: 1px solid #F0F0F0;
	max-width: 96%;
	padding: 5px 3px 10px;
	text-align: center;
}
.wp-caption.alignnone {
	margin: 5px 32px 32px 0;
}
.wp-caption.alignleft {
	margin: 5px 32px 32px 0;
}
.wp-caption.alignright {
	margin: 5px 0 32px 32px;
}
.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}
.sticky {}
.bypostauthor {}

/* ==========================================================================
   Typography
   ========================================================================== */
html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;	
}
body {
	font: 20px/25px 'PT Sans', Arial, sans-serif;
	color: #0c2552;
}   
h1 {
    font-size: 2em;
    margin: 0.67em 0;
	line-height: 1;
}
h2 {
    font-size: 1.5em;
    margin: 0.83em 0;
	line-height: 1;
}
h3 {
    font-size: 1.17em;
    margin: 1em 0;
	line-height: 1;
}
h4 {
    font-size: 1em;
    margin: 1.33em 0;
	line-height: 1;
}
h5 {
    font-size: 0.83em;
    margin: 1.67em 0;
	line-height: 1;
}
h6 {
    font-size: 0.67em;
    margin: 2.33em 0;
	line-height: 1;
}

span.no-line-break {
	white-space: nowrap;
}


/* ==========================================================================
   Begin Primary Styles
   ========================================================================== */
img {	
	max-width: 100%;
	height: auto;	
}
.container {
	width: 95%;
	max-width: 1500px;
	margin: 0 auto;	
	position: relative;
	/*overflow: hidden*/;
}
.container:before, .container:after {
	content: "";
  	display: table;  	
}
.container:after {
	clear: both;
}
.container {
    zoom: 1; /* For IE 6/7 (trigger hasLayout) */
}
.center {
	display: block;
	margin: 0 auto;
}
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}
.text-center {
	text-align: center;
}
.push-left {
	float: left;
}
.push-right {
	float: right;
}
.text-box {
	background-color: #7AC041;
	border: 2px solid #0067B2;
	border-bottom: 5px solid #0067B2;
	padding: 10px;
	color: #fff;
	font-size: 1.1em; /* 22px */
	text-align: center;	
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
	behavior: url(ie-pie_1.0/PIE.htc);
	position: relative;
	z-index: 8000;
}
.text-box-2 {
	padding: 64px 32px 32px;
	background-color: #E5F3DA;
	margin-bottom: 32px;
}
.page-title-large {
	font-size: 10em; /* 200px */
	line-height: 25px;	
	opacity: .5;
	color: #0068b3;
	position: absolute;
	top: -30px;
	right: 0;
	margin: 0;	
	text-transform: lowercase;	
}
#page-title-mobile {
	display: none;
}
.section-title {
	color: #fff;
	padding-bottom: 0;
	margin-bottom: 0;
	text-transform: uppercase;
	text-align: center;	
	font-size: 1.5em;
	font-weight: bold;
}
.button {
	background: #0067b2;
	padding: 10px;	
	font-size: .9em; /* 18px */
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
	text-align: center;
	display: inline-block;
	white-space: nowrap;
	behavior: url(ie-pie_1.0/PIE.htc);
	position: relative;
	z-index: 8000;	
}
.button:hover {
	background-color: #7AC041;
}	
.button a  {
	text-decoration: none;	
	color: #fff;
}
.button a:active {	
	color: #0067b2;
}
hr.section-divider {
    display: block;
    height: 1px;
    border: 0;
    border-top: 2px solid #fff;
    margin: 1em auto;
    padding: 0;
	width: 80%;	
}
ul.services-list,
ul.services-list ul {	
	padding: 0;		
}
ul.services-list li {	
	list-style-type: none;	
}

/* Header / Nav / Social Icons */
/* Main Logo */
div#main-logo-area {}
div#main-logo-container {}
img#logo-main-large {}

img#logo-main-small {
	display: none;
}
div#top-nav-bar-home {
	background-color: #0068b3;	
	height: 50px;	
}
div#top-nav-bar {
	background-color: #7AC041;	
	height: 80px;	
}
div#top-nav-bar-home div#top-nav-bar-left,
div#top-nav-bar-home div#top-nav-bar-right {
	background-color: #0067B2;
	height: 50px;
}
div#top-nav-bar-left,
div#top-nav-bar-right {
	background-color: #7AC041;	
	height: 80px;
	margin-bottom: 80px;
	overflow: visible;
}

/* Main Navigation */
nav#main-nav ul#menu {
    text-align: justify;    
	padding: 0;
	margin: 0;	
}
nav#main-nav ul#menu:after {
    content: '';
    display: inline-block;
    width: 100%;
}
nav#main-nav ul li {
	list-style-type: none;
	display: inline-block;
	margin-right: 15%;	
}
nav#main-nav ul li:last-of-type {
	margin-right: 0;
}
div#top-nav-bar-home  nav#main-nav ul li a {
	text-decoration: none;
	font: 24px/50px 'PT Sans', sans-serif;
	color: #fff;	
	display: inline-block;	
}
nav#main-nav ul li a {
	text-decoration: none;
	font: 24px/80px 'PT Sans', sans-serif;
	color: #fff;	
	display: inline-block;
	text-transform: lowercase;	
}
nav#main-nav a:hover, 
nav#main-nav:active {
	color: #0067B2;
}
div#top-nav-bar-home nav#main-nav a:hover, 
div#top-nav-bar-home nav#main-nav:active {
	color: #7AC041;
}
/* Drop Down Menu */
/* Initialize */
nav#main-nav ul#menu, 
ul#menu ul.sub-menu,
nav#main-nav ul#menu-pages-menu, 
ul#menu-pages-menu ul.sub-menu {
    padding: 0;
    margin: 0;		
}
ul#menu ul.sub-menu li,
ul#menu-pages-menu ul.sub-menu li {
    list-style-type: none;
    display: inline-block;
	width: 250px;
	text-align: left;
	padding: 2px 0;
}
/* Link Appearance */
ul#menu li ul.sub-menu li a,
ul#menu-pages-menu li ul.sub-menu li a {
    text-decoration: none;    
    padding: 0;
    display: inline-block;	
	color: #fff;
}
ul#menu li ul.sub-menu li a:hover, 
ul#menu li ul.sub-menu li a:active {
	color: #0068B3;
}
/* Make the parent of sub-menu relative */
nav#main-nav ul#menu li,
nav#main-nav ul#menu-pages-menu li {
    position: relative;
}
/* Sub menu */
nav#main-nav ul#menu ul.sub-menu,
nav#main-nav ul#menu-pages-menu ul.sub-menu {
    display: none;
    position: absolute;
    top: 55px;
    left: 0;    
	background-color: #7AC041;		
}
nav#main-nav ul#menu li:hover ul.sub-menu,
nav#main-nav ul#menu-pages-menu li:hover ul.sub-menu {
    display: block;	
}
nav#main-nav ul#menu li ul.sub-menu li a,
nav#main-nav ul#menu-pages-menu li ul.sub-menu li a {	
	width: 100%;
	height: auto;		
	line-height: 1 !important;	
}
/* Highlight Current Nav */
#menu li.current-menu-item > a,
#menu-pages-menu li.current-menu-item > a,
.current_page_parent > a {	
	color: red !important;
}
/* Mobile Menu */
.slicknav_menu {
	display: none;
}
/* Social Icons / Links */
div#social-media-icons-nav {
	display: none;
}	
div#top-nav-bar-home div#social-media-icons {
	text-align: right;
	line-height: 50px;	
}
div#social-media-icons {
	text-align: right;
	line-height: 80px;	
}
div#social-media-icons img {
	margin-left: 16px;	
}
/* Language Selector */
#lang_sel {
	float: right;	
	position: relative;
	top: -80px;
	right: 0;
	z-index: 55;
}

/* Main Content */
div#main-content {
	margin-top: 80px;
	padding: 32px 0;	
}
/* Main Footer */
footer#main-footer {
	min-height: 162px;
	background-color: #0068b3;
	padding: 32px;
}
footer#main-footer p {
	font-size: 18px;
	line-height: 24px;
	color: #fff;		
}
footer#main-footer a {
	color: #7ac041;
	text-decoration: none;
}
div#social-media-icons-footer {
	padding-top: 32px;
}

/* Pages */
/* Clients Page */
div#client-list {
	background: url(../img/bg_clients.png) no-repeat center center #A4BDDB;
	text-align: center;
	margin-top: 32px;
	margin-bottom: 32px;
	padding: 64px 0;
}
div#client-list ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}
div#client-list ul li {
	padding: 5px; 0;
}
/* Testimonials Section */
div#client-testimonials {
	background-color: #E4F3D9;
	padding: 32px 0;	
}
div#client-testimonials h2 {
	text-transform: uppercase;
	text-align: center;
}
/* Testimonials */
div#client-testimonials div#testimonial_slider_1_wrap {
	margin: 0 auto;
}
div#client-testimonials div.testimonial_content {
	line-height: 1.4;	
}
	


.testimonial_slider__default .testimonial_slideri,
div.testimonial_content_wrap {
	height: auto !important;
	margin: 0 !important;
}
	
/* Services Page */
section.services .text-box-2 {
	/*padding-bottom: 164px;*/
}
div#services-list {		
	overflow: hidden;	
}
div#services-list .col {
	background-color: #A4BDDB;	
	margin-bottom: -99999px;
	padding-bottom: 99999px;		
}

/* Contact Page */
#contact-img {
	display: block;
	margin: 16px auto 0;
}
section.contact input.wpcf7-text,
section.contact textarea.wpcf7-textarea {
	width: 100%;
}
#contact-info-2 {
	display: none;
}





/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers:
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */

   
@media only screen and (max-width: 1200px) {

	/* Page Titles */
	.about.page-title-large,
	.contact.page-title-large,
	.services.page-title-large,
	.clients.page-title-large {
		font-size: 6em;  120px 
	}	
		nav#main-nav ul li {		
		margin-right: 5%;
	}
	
}
@media only screen and (max-width: 1100px) {


	
} 
@media only screen and (max-width: 1080px) {

	nav#main-nav ul li {		
		margin-right: 5%;
	}
	
}  

@media only screen and (max-width: 768px) {
	img#logo-main-large {
		display: none;
	}
	img#logo-main-small {
		display: inline-block;
		position: relative;
		z-index: 500;		
	}
	/* Mobile Menu */
	.js #menu {
		display: none;
	}
	div#main-content {
		margin-top: 0;		
	}
	/* Home / Landing Page */	
    a.slicknav_btn {
	    background-color: #fff;	   
    }
	a.slicknav_btn span.slicknav_menutxt {
		text-shadow: none;
		color: #0067b2;
	}	
	.js .slicknav_menu {
		display: block;
		background-color: #7AC041;
		position: absolute;
		z-index: 300;
		width: 100%;
		top: 1px;
	}
	div#top-nav-bar {
		height: 56px;
	}
	div#top-nav-bar-left,
	div#top-nav-bar-right {
		display: none;
	}	
	div#social-media-icons {
		display: none;
	}
	div#social-media-icons-nav {
		display: inline-block;
		position: relative;
		z-index: 500;		
	}
	div#social-media-icons-nav img {
		width: 20px;
		height: 20px;
	}
	.slicknav_nav, .slicknav_nav ul {
		margin-top: 50px !important;
	}
	ul.slicknav_nav li a:hover {
		background-color: #fff;
		color: #0067B2;
	}
	/* Language Selector */
	#lang_sel {		
		top: 0;
		left: 0;		
		float: none;
	}
	/* Page Titles */
	.about.page-title-large,
	.contact.page-title-large,
	.services.page-title-large,
	.clients.page-title-large {
		font-size: 3em;
	}	
	.page-title-large {				
		margin: 32px 0 4px;			
		/*padding-top: 60px;*/
		position: static;
		text-align: center;
	}	
	#contact-title-mobile {
		display: inline-block;		
		margin: auto;
		width: 100%;
		margin-top: 60px;
	}
	div#main-content .container img {
		display: block;
		margin: 32px auto;
	}
	footer#main-footer p {
		text-align: center;	
	}
	div#social-media-icons-footer {
		padding-top: 0;
	}
	/* Contact Page */
	section.contact .page-title-large,
	section.contact .text-box-2 {
		display: none;
	}
	#contact-info-2 {
		display: block;
		margin: auto;
		background-color: #E5F3DA;
		font-weight: bold;
		padding: 32px 16px;
	}
}
	
@media only screen and (max-width: 480px) {	

	/* Page Titles */
	.about.page-title-large,
	.contact.page-title-large,
	.services.page-title-large,
	.clients.page-title-large {
		font-size: 3em;  100px 	
	}
	/* Testimonials Slider on Clients page */	
	.testimonial_wrapper { 
		height: 500px !important; 
	}
	.testimonial_slideri { 
		height: 500px !important; 
	}

}

@media only screen and (max-width: 380px) {	
	/* Page Titles */
	.about.page-title-large,
	.contact.page-title-large,
	.services.page-title-large,
	.clients.page-title-large {
		/*font-size: 5em;*/ 
	}
	/* Testimonials Slider on Clients page */	
	.testimonial_wrapper { 
		height: 550px !important; 
	}
	.testimonial_slideri { 
		height: 550px !important; 
	}


}
	

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

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
