/**
 * Theme-specific CSS
 *
 * This file contains all theme-specific CSS. Unless necessary, 
 * editing of this file is discouraged. Custom css should go in custom.css 
 * or in a child-theme's style.css or custom.css. 
 *
 * This file can be overwritten in a child-theme. 
 */

/*============================================================
## GENERAL STYLING: General things
============================================================*/
@media screen and (max-width: 767px) {
	body {
		overflow-x: hidden;
	}
}

/* If the admin bar is being displayed, make sure it doesn't overlap with header and page */ 
body.admin-bar .navbar-fixed-top {
	top: 32px
}

/*============================================================
## GENERAL STYLING: Base Typography
============================================================*/
h1, h2, h3, h4, h5, h6, p, body {}

body, p {}

h1, .h1 {}
h2, .h2 {}
h3, .h3 {}
h4, .h4 {}
h5, .h5 {}
h6, .h6 {}

/*============================================================
## GENERAL STYLING: Base elements
============================================================*/

/* Add standard elements here */

/*============================================================
## GENERAL STYLING: Bootstrap 3 Overrides
============================================================*/

/* Disable pull-classes for smaller windows */
@media screen and (max-width: 767px) {
	.pull-right, .pull-left {
		float: none !important;
	}
}

/*============================================================
## GENERAL STYLING: SiteOrigin Sitebuilder Overrides
## NOTE: Should be moved to seperate file
============================================================*/

/* #main .so-panel .panel-grid */ 
#main .panel-grid {
	margin-top: 0px;
	margin-bottom: 0px
}

#main .panel-grid-cell {
	margin-bottom: 15px;
}

.textwidget p {
	margin-bottom: 30px;
}

.widget_sow-image img {
	margin-bottom: 15px;
}

/* Remove top padding on first panel of the layout */
.single .entry-content .panel-grid:first-child > div > div.panel-grid-cell {
	padding-top: 0px;
}

.entry-content > div > .panel-grid > div, 
.single .entry-content .panel-grid > div > div.panel-grid-cell, 
.page .entry-content .panel-grid > div > div.panel-grid-cell {
	padding-top: 30px;
	padding-bottom: 30px;
}

/*============================================================
## GENERAL STYLING: Visual Composer Overrides
## NOTE: Should be moved to seperate file
============================================================*/

/*============================================================
## GENERAL STYLING: Misc general styling
============================================================*/
body > .body-wrapper.is-boxed {
	background-color:  #efefef;
}

body > .body-wrapper.is-boxed > .container {
	background-color:  #ffffff;
	padding:  0;
	overflow: hidden;
}

body.fixed-top #content {
	margin-top:  130px;
}
/*============================================================
## HEADER STYLING: Topheader
============================================================*/

#topheader {
	background-color: #f5f5f5;
	color:  #9ba4ae;
	font-size:  85%;
}

.topheader-left, .topheader-right {
	padding-top:  7px;
	padding-bottom:  7px;	
}


#topheader a {
	color:  #9ba4ae;
}
/* Heading Styling */
#topheader h3 {
	margin-top: 0; 
	margin-bottom: 0;
	font-size: 18px;
}

/* Widget Styling */
#topheader .topheader-widget {
	display: inline-block;
	margin-right: 30px;
}

#topheader .topheader-widget:last-child {
	margin-right: 0;
}

#topheader .topheader-right {
	text-align: right;
}



/* Menu Widget */
#topheader ul.menu {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
	margin-left: -15px;
	margin-right: -15px;
}

#topheader ul.menu > li {
	display: inline-block;
	padding: 0 15px;
}

#topheader ul.menu > li ul {
	display: none;
}
@media (max-width: 767px) {
	.topheader-inner {
		padding-left: 30px !important;
	}
	#topheader .topheader-right, #topheader .topheader-left {
		width: auto !important;
		float: left;
		text-align: left; 
	}
	#topheader .topheader-widget {
		margin-right: 0;
	}

	#topheader ul.menu > li {
		padding: 0 7px;
	}
}

/*============================================================
## HEADER STYLING: Navigation
============================================================*/
.navbar-default {
	background-color: #fff;
	min-height: 0;
}

.navbar-default > .navbar-primary {
	padding: 15px;
}

/* Add shadow to navigation on medium+ devices */
@media screen and (min-width: 481px) {
	.navbar#site-navigation {
		-webkit-box-shadow: 0px 3px 5px 5px rgba(0,0,0,0.3);
		-moz-box-shadow: 0px 3px 5px 5px rgba(0,0,0,0.3);
		box-shadow: 0px 3px 5px 5px rgba(0,0,0,0.3);
	}

}

/* Define header size with and without scroll */
@media screen and (min-width: 768px) { 
	/* Set widths of menu's */
	#nav-primary {
		float: right;
		text-align: right;
	}

	.navbar-collapse {
		text-align: right;
	}

	.navbar-nav > li > a {
		padding: 30px 15px;
		box-shadow: none;
	}

	.nav li.menu-item-has-children:hover ul {
		display: block;
	}

}
@media (min-width: 768px) and (max-width: 991px) {
	.navbar-nav > li > a {
		padding: 30px 10px;
	}

	.navbar-header .site-branding > a > img {
		height: 40px;
	}

	.navbar-header .site-branding > a {
		padding: 25px 0;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.navbar-nav > li > a {
		padding: 30px 15px;
	}
}

/* Logo */
.navbar-header .site-branding > a {
	display: block;
	padding: 12px 0; /* Depending on the logo, this might need adjustment */
}

.navbar-header .site-branding > a > img  {
	max-width: 100%;
	height: 65px;
}



/*============================================================
## HEADER STYLING: Mobile
============================================================*/
/* Mobile brand & navigation */
@media screen and (max-width: 480px) {

	.navbar-header .site-branding {
		max-width: 80%;
	}

	.navbar-header .site-branding > a > img  {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	.navbar#site-navigation {
		border-bottom: 1px solid #f5f5f5;
	}
}

@media screen and (max-width: 767px) {
	/* Setup to hide shadow left and right */
	.navbar-primary #navbar {
		-webkit-box-shadow: inset 0px 0px 10px 0px rgba(153,153,153,1);
		-moz-box-shadow: inset 0px 0px 10px 0px rgba(153,153,153,1);
		box-shadow: inset 0px 0px 10px 0px rgba(153,153,153,1);
		margin-left: -20px;
		margin-right: -20px;
		padding-left: 20px;
		padding-right: 20px;
		background-color: #fafafa;
	}

	.navbar-primary .navbar-toggle {
		margin-top: 30px;
	}

	/* Set mobile menu height */
	.navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse {
		max-height: none;					/* Fallback old browsers */
		max-height: 100vh;					/* Fallback less old browsers + (iOS) Safari */
		max-height: calc(100vh - 130px);	/* Good browsers: viewport height - preheader - navbar */
	}

	.navbar-collapse .caret { display: none;}

	.navbar-header .site-branding > a > img {
		height: auto !important;
		width: auto !important;
		padding: 15px;
	}

	.navbar-header .site-branding > a {
		padding: 0 0 !important;
	}

	.nav-scrolled .site-branding > a {
		padding: 0 !important;
	}

	.navbar-primary .navbar-toggle {
		margin-top: 10px;
		margin-bottom: 0;
	}

	.navbar-default > .navbar-primary {
		padding: 15px 0;
	}
}

.home .navbar-static-top {
	margin-bottom:  0;
}

/*============================================================
## FOOTER STYLING: General
============================================================*/
#prefooter {
	background-color: #ffffff;
	padding-top: 30px;
	padding-bottom: 30px;
	border-top: 1px solid;
}

@media (min-width: 768px) {
	.prefooter-sidebar .widget:first-of-type h3 {
		margin-top: 0;
	}
}


/*============================================================
## FOOTER STYLING: Colophon / Trim
============================================================*/
#colophon {
	background-color: #f5f5f5;
	color: #9ba4ae;
	font-size: 14px;
	padding-top:  15px;
	padding-bottom:  15px;
}

#colophon span.copyright {
	display: inline-block;
	padding: 15px; 
}

#colophon #nav-colophon.nav > li > a {
    padding: 15px;
}
#nav-colophon.nav {
	text-align: right;
}

#nav-colophon.nav > li {
    display: inline-block;
}

@media (max-width: 991px) {
	#nav-colophon.nav, #colophon {
		text-align: center !important;
	}
}

/*============================================================
## BODY STYLING: General
============================================================*/
#content {
	padding: 0;
	position: relative;
}

span.block {
	display: block;
}

/*============================================================
## BODY STYLING: General single (page/post/etc)
============================================================*/

.breadcrumbs.row {
	margin-top: 40px;
}


.breadcrumbs ul#breadcrumbs {
	list-style: none;
	padding-left: 0px;
}

.breadcrumbs ul#breadcrumbs li {
	padding: 7px 5px;
	display: inline-block;
	color: #0084de;
}

@media (max-width: 767px) {
	.breadcrumbs ul#breadcrumbs li {
		line-height: 1.3em;
	}
}

.breadcrumbs ul#breadcrumbs li:first-child {
	padding-left: 0px;
}

.breadcrumbs ul#breadcrumbs li a:hover {
	text-decoration: underline;
}

/*============================================================
## BODY STYLING: General pages
============================================================*/

/* General page styling (so no posts or other singles) */

/*============================================================
## BODY STYLING: General archives
============================================================*/
article.post-list {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #eee
}

.post-list .entry-header {
	margin-bottom: 15px;
}

.post-list .entry-header .postdate {
	font-size: 1.2em;
}

/*============================================================
## BODY STYLING: General single (excluding page)
============================================================*/
.navigation.posts-navigation, .navigation.post-navigation {
	padding: 15px 0;
	display: block;
	margin-bottom: 15px;
}

.navigation.posts-navigation h2, .navigation.post-navigation h2 { display:  none !important; }

.nav-links .nav-previous > a::before {
	content: "\00ab  ";
}
.nav-links .nav-next > a::after {
	content: " \00bb";
}
.nav-links .nav-previous {
	float: left;
}
.nav-links .nav-next {
	float: right;
}

/*============================================================
## BODY STYLING: 404
============================================================*/

.linkedin-share-container {
	margin-bottom: 5px;
}

.linkedin-share {
	padding: 2px 3px;
	padding-bottom: 1px;
    background-color: #0e76a8;
    border-radius: 3px;
    color: #fff;
    font-size: 12px;
}

.linkedin-share i {
	margin-right: 5px;
	font-family: 'FontAwesome';
	font-style: normal;
	font-size: 16px;
}

.linkedin-share .fa-linkedin:before {
    content: "\f08c";
}

.linkedin-share:hover,
.linkedin-share:focus {
	color: #fff;
	text-decoration: none;
}
