
/*
Theme Name: Jason Dorsey
Author: Glass Mountains Digital
Version: 1.0
*/


* {
vertical-align: baseline;
border: 0 none;
outline: 0;
padding: 0;
margin: 0;
}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 1.05em;
font-weight: 400;
color: #434343;
background: #fff;
-webkit-text-size-adjust: none;
-ms-text-size-adjust: none;
}
body.noscroll {
overflow: hidden;
}


/* Canvas layout
....................................................................... */
#site-wrapper {
overflow: hidden;
width: 100%;
}
#site-canvas {
-webkit-transform: translateX(0);
transform: translateX(0);
-o-transform: translateX(0);
-ms-transform: translateX(0);
-webkit-transition: .3s ease all;
transition: .3s ease all;
-ms-transition: .3s ease all;
}
#site-left {
width: 300px;
height: auto;
position: absolute;
top: 0;
left: -301px;
border-right: 1px solid #e5e5e5;
background: #fff;
overflow: hidden;
overflow-y: auto;
}


/* Layout
....................................................................... */
#page-wrap_header {
position: relative;
clear: both;
float: left;
width: 100%;
box-shadow: 0 0 5px rgba(0,0,0,0.15);
z-index: 11;
}
#page-wrap_heading {
clear: both;
float: left;
width: 100%;
background: #f1f1f1;
padding: 50px 0;
}
#page-wrap_hero {
position: relative;
clear: both;
float: left;
width: 100%;
background-color: #0b0b0b;
background-position: 100% 50%;
background-repeat: no-repeat;
background-size: cover;
z-index: 1;
}
.page-wrap_content {
position: relative;
clear: both;
float: left;
width: 100%;
padding: 30px 0 50px 0;
}
.page-wrap_media {
clear: both;
float: left;
width: 100%;
color: #999;
background: #373737;
border-top: 40px solid #fff;
}
.page-wrap_cta {
clear: both;
float: left;
width: 100%;
text-align: center;
background: #f78e22 url(img/bg_cta.jpg) 50% 50% no-repeat;
background-size: cover;
padding: 120px 0;
}
.page-wrap_videopreview {
clear: both;
float: left;
width: 100%;
background: #fff;
padding: 60px 0;
margin: 0 0 5px 0;
}
.page-wrap_hometop {
position: relative;
clear: both;
float: left;
width: 100%;
background: #e5e5e5; /* Old browsers */
background: -moz-linear-gradient(left, #e5e5e5 50%, #f78e22 50%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #e5e5e5 50%,#f78e22 50%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #e5e5e5 50%,#f78e22 50%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5e5e5', endColorstr='#f79031',GradientType=1 ); /* IE6-9 */
border-top: 6px solid #fff;
padding: 70px 0 30px 0;
margin: 0 0 5px 0;
}
.page-wrap_hometop:after {
content: '';
position: absolute;
top: 0;
left: 50%;
width: 6px;
height: 100%;
background: #fff;
margin: 0 0 0 -3px;
z-index: 11;
}
.page-wrap_altclients {
clear: both;
float: left;
width: 100%;
color: #999;
background: #373737;
padding: 70px 0 20px 0;
margin: 0 0 40px 0;
}
.page-wrap_homecontent {
clear: both;
float: left;
width: 100%;
padding: 70px 0 50px 0;
}
.page-wrap_homecontent + .page-wrap_homecontent {
padding-top: 20px;
}
.page-wrap_popularposts {
clear: both;
float: left;
width: 100%;
background: #f1f1f1;
padding: 50px 0;
}
#page-wrap_footer {
clear: both;
float: left;
width: 100%;
color: #fff;
background: #373737;
padding: 50px 0 0 0;
}
.center {
clear: both;
width: 980px;
margin: 0 auto;
}

.row:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.row {
display: inline-block;
}
html[xmlns] .row {
display: block;
}
* html .row {
height: 1%;
}
.span1 {
float: left;
width: 5.125%;
margin: 0 3.5% 0.75em 0;
}
.span2 {
float: left;
width: 13.75%;
margin: 0 3.5% 0.75em 0;
}
.span3 {
float: left;
width: 22.375%;
margin: 0 3.5% 0.75em 0;
}
.span4 {
float: left;
width: 31%;
margin: 0 3.5% 0.75em 0;
}
.span5 {
float: left;
width: 39.625%;
margin: 0 3.5% 0.75em 0;
}
.span6 {
float: left;
width: 48.25%;
margin: 0 3.5% 0.75em 0;
}
.span7 {
float: left;
width: 56.875%;
margin: 0 3.5% 0.75em 0;
}
.span8 {
float: left;
width: 65.5%;
margin: 0 3.5% 0.75em 0;
}
.span9 {
float: left;
width: 74.125%;
margin: 0 3.5% 0.75em 0;
}
.span10 {
float: left;
width: 82.75%;
margin: 0 3.5% 0.75em 0;
}
.span11 {
float: left;
width: 91.375%;
margin: 0 3.5% 0.75em 0;
}
.span12 {
float: left;
width: 100%;
margin: 0 0 0.75em 0;
}
.span1.last,
.span2.last,
.span3.last,
.span4.last,
.span5.last,
.span6.last,
.span7.last,
.span8.last,
.span9.last,
.span10.last,
.span11.last {
margin: 0;
}


/* Globals
....................................................................... */
p {
line-height: 1.6em;
margin: 0 0 1.1em 0;
word-wrap: break-word;
word-break: break-word;
}
pre {
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
line-height: 1.5em;
padding: 0.5em 0 0 0;
margin: 0 0 1.5em 0;
}
a {
color: #f78e22;
text-decoration: underline;
}
a:hover {
color: #434343;
}
h1 {
font-size: 2.75em;
font-weight: 700;
line-height: 1.1em;
letter-spacing: -0.05em;
margin: 0 0 0.35em 0;
}
h2 {
color: #f78e22;
font-size: 1.75em;
font-weight: 700;
line-height: 1.1em;
letter-spacing: -0.025em;
margin: 0 0 0.6em 0;
}
h2.oversize {
color: #434343;
font-size: 1.5em;
font-weight: 700;
text-transform: uppercase;
line-height: 1.1em;
letter-spacing: -0.025em;
margin: 0 0 0.65em 0;
}
h2.underline {
position: relative;
padding: 0 0 20px 0;
}
h2.underline:after {
position: absolute;
left: 0;
bottom: 0;
content: '';
display: block;
width: 100px;
height: 5px;
background: #f78e22;
}
h3 {
font-size: 1.35em;
font-weight: 700;
line-height: 1.2em;
letter-spacing: -0.015em;
margin: 0 0 0.65em 0;
}
h4 {
color: #f78e22;
font-size: 1.1em;
font-weight: 700;
line-height: 1.3em;
margin: 0 0 0.75em 0;
}
h5 {
font-size: 0.9em;
font-weight: 700;
text-transform: uppercase;
line-height: 1.3em;
margin: 0 0 0.75em 0;
}
strong {
font-weight: 700;
}
img {
max-width: 100%;
height: auto !important;
}
img, img a {
border: 0;
text-decoration: none;
}
ol {
margin: 0 0 0.75em 25px;
}
ol li {
margin: auto;
line-height: 1.6em;
padding: 0 0 0.75em 5px;
margin-left: 0;
}
ul {
padding: 0;
margin: 0 0 0.75em 10px;
list-style: none;
}
ul li {
position: relative;
margin: auto;
list-style: none;
line-height: 1.6em;
padding: 0 0 0.75em 25px;
margin: 0 0 0 0;
}
ul li:before {
position: absolute;
top: 0;
left: 0;
font-family: 'FontAwesome';
content: '\f111';
font-size: 6px;
color: #f78e22;
}
li ul {
margin: 0.75em 0 0 0;
}
li ul li:last-child {
padding-bottom: 0;	
}
hr {
clear: both;
border: 0;
border-bottom: 1px solid #e5e5e5;
background: transparent;
height: 1px;
padding: 5px 0 0 0;
margin: 0 0 25px 0;
}
blockquote {
background: #f1f1f1;
border-left: 10px solid #f78e22;
padding: 30px 50px;
margin: 0 0 20px 0;
}
blockquote p:last-child {
margin: 0;
}
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.clearfix {
display: inline-block;
}
html[xmlns] .clearfix {
display: block;
}
* html .clearfix {
height: 1%;
}
.clear {
clear: both;
}
.floatleft {
float: left;
}
.floatright {
float: right;
}
.alignleft {
float: left;
margin: 0 15px 5px 0;
}
.alignright {
float:right;
margin: 0 0 5px 15px;
}
.textcenter,
.aligncenter {
text-align: center;
}
img.aligncenter {
display: block;
margin: 0 auto 15px auto;
}
.wp-caption {
margin-bottom: 1.5em;
text-align: center;
padding-top: 5px;
}
.wp-caption.aligncenter {
width: 100% !important;
}
.wp-caption.alignleft,
.wp-caption.alignright {
}
.wp-caption img {
border: 0 none;
padding: 0;
margin: 0;
}
.wp-caption p.wp-caption-text {
line-height: 1.5;
font-size: 0.7em;
font-style: italic;
margin: 0;
}
.textcenter,
.aligncenter {
text-align: center;
}
img.aligncenter {
display: block;
margin: 0 auto;
}
.textright {
text-align: right;
}
.small {
font-size: 0.8em;
}
.nomargin {
margin: 0;
}
.hidden {
display: none;
}
.maxwidth {
max-width: 960px;
}
.uppercase {
text-transform: uppercase;
}
.fa {
display: inline-block;
font-family: FontAwesome;
font-feature-settings: normal;
font-kerning: auto;
font-language-override: normal;
font-size: inherit;
font-size-adjust: none;
font-stretch: normal;
font-style: normal;
font-synthesis: weight style;
font-variant: normal;
font-weight: normal;
line-height: 1;
text-rendering: auto;
}
.viewall_link {
position: relative;
}
.viewall_link h1,
.viewall_link h2,
.viewall_link h3,
.viewall_link h4 {
/* Approx max-width of a 'view all' link */
padding-right: 190px;
}
p.viewall {
position: absolute;
right: 0;
top: 50%;
font-size: 0.9em;
margin-top: -0.75em;
}
.spacer {
clear: both;
padding: 15px 0;
}
.cta a,
a.cta {
display: inline-block;
text-decoration: none;
font-size: 0.9em;
font-weight: 700;
line-height: 1.25em;
text-shadow: -1px -1px 1px rgba(0,0,0,0.2);
color: #fff;
background: #f78e22;
border-radius: 4px;
padding: 10px 15px;
margin: 5px 0 5px 0;
transition: all 0.2s;
}
.cta a:hover,
a.cta:hover {
color: #fff;
background: #e16b28;
text-decoration: none;
}
.cta.cta_big a,
a.cta.cta_big {
font-size: 1.25em;
text-transform: none;
padding: 15px 20px 15px 20px;
}
.cta a .fa,
a.cta .fa {
font-size: 0.8em;
}
.cta.cta_block {
display: block;
text-align: center;
}
a.boldlink {
display: inline-block;
text-decoration: none;
}
a.boldlink:hover {
color: #000;
}
a.boldlink .fa {
font-size: 0.9em;
}
.show-on-mobile {
display: block !important;
}


/* Forms
....................................................................... */
form {
margin: 0 0 20px 0;
padding: 0;
}
fieldset {
border: 0;
padding: 0;
margin: 0;
}
legend {
color: #434343;
font-size: 1.3em;
font-weight: 300;
padding: 0;
margin: 0 0 15px 0;
}
label {
display: block;
color: #434343;
font-size: 0.9em;
font-weight: 700;
padding: 0 0 5px 0;
}
input,
textarea,
select {
display: block;
color: #666;
width: 100%;
max-width: 624px;
font-size: 1em;
font-weight: normal;
font-family: Arial, Helvetica, sans-serif;
background: #fff;
border: 1px solid #e5e5e5;
box-shadow: inset 2px 2px 2px rgba(0,0,0,0.05);
border-radius: 4px;
padding: 10px;
margin: 0 5px 15px 0;
box-sizing: border-box;
}
input:focus,
textarea:focus {
color: #434343;
border: 1px solid #b7b7b7;
box-shadow: 0 0 4px rgba(0,0,0,0.15);
}
::-webkit-input-placeholder {
color: #999;
opacity: 1;
}
:-moz-placeholder { /* Firefox 18- */
color: #999;
opacity: 1;
}
::-moz-placeholder {  /* Firefox 19+ */
color: #999;
opacity: 1;
}
:-ms-input-placeholder {
color: #999;
opacity: 1;
}
select {
line-height: 2.25em;
}
select option {
padding: 1px 10px;
}
textarea {
overflow: auto;
overflow-x: hidden;
resize: none;
}
.radio,
.checkbox {
display: inline-block;
font-family: Arial, Helvetica, sans-serif;
padding: 5px 15px 10px 0;
}
input[type="radio"],
input[type="checkbox"] {
display: inline-block;
width: auto !important;
padding: 0;
border: 0;
}
input:disabled {
cursor: not-allowed;
}
button,
input.submit, 
input[type=submit] {
width: auto;
display: inline-block;
text-decoration: none;
font-size: 1.25em;
font-weight: 700;
line-height: 1.25em;
text-shadow: -1px -1px 1px rgba(0,0,0,0.2);
color: #fff;
background: #f78e22;
border-radius: 4px;
border: 0;
padding: 15px 20px 15px 20px;
margin: 5px 0 5px 0;
transition: all 0.2s;
-webkit-appearance: none;
cursor: pointer;
}
button:hover,
input.submit:hover, 
input[type=submit]:hover {
color: #fff;
background-color: #e16b28;
}

.ninja-forms-all-fields-wrap {
border-top: 1px solid #e5e5e5;
padding-top: 20px;
}
.nf-before-form-content,
.ninja-forms-required-items {
padding-bottom: 20px;
}
/* Ninja form appends to Ultimate Posts content in sidebar */
.upw-content .ninja-forms-cont {
display: none !important;
}


/* Social links
....................................................................... */
.socnet strong {
display: inline-block;
vertical-align: middle;
}
.socnet a {
display: inline-block;
vertical-align: middle;
text-decoration: none;
padding: 5px 2px;
margin: 0 5px;
}
.socnet a span {
display: none;
}
.socnet a .fa {
font-size: 1.75em;
color: #000;
}
footer .socnet a .fa {
color: #616365;
}
.socnet a:hover .fa.fa-twitter {
color: #56bee5;
}
.socnet a:hover .fa.fa-facebook {
color: #084b8f;
}
.socnet a:hover .fa.fa-linkedin {
color: #127db5;
}
.socnet a:hover .fa.fa-google-plus {
color: #dc4f3b;
}
.socnet a:hover .fa.fa-youtube {
color: #e52117;
}
.socnet a:hover .fa.fa-instagram {
color: #b826e1;
}
.socnet a:hover .fa.fa-pinterest {
color: #bd081c;
}



/* Side navigation
....................................................................... */
#sidehead {
padding: 35px 20px;
}
#sidehead strong {
font-size: 1em;
text-transform: uppercase;
}
#sidehead a.close_menu {
display: inline-block;
float: right;
color: #f78e22;
font-size: 1.4em;
padding: 5px 0 5px 5px;
margin: -8px 0 0 0;
}
#sidehead a.close_menu:hover {
color: #434343;
}
#sidenavi {
clear: both;
position: relative;
}
#sidenavi ul {
border-top: 1px solid #e5e5e5;
background: #fff;
box-sizing: border-box;
padding: 0;
margin: 0;
}
#sidenavi li {
position: static;
list-style: none;
background-image: none;
border-bottom: 1px solid #e5e5e5;
padding: 0;
margin: 0;
}
#sidenavi li:before {
display: none;
}
#sidenavi li a {
position: relative;
display: block;
width: 300px;
font-size: 0.9em;
color: #434343;
text-decoration: none;
box-sizing: border-box;
padding: 15px 45px 15px 20px;
margin: 0;
}
#sidenavi li > a:after {
content: '\f054';
position: absolute;
right: 30px;
top: 50%;
color: #e5e5e5;
display: inline-block;
font-family: FontAwesome;
font-feature-settings: normal;
font-kerning: auto;
font-language-override: normal;
font-size: inherit;
font-size-adjust: none;
font-stretch: normal;
font-style: normal;
font-synthesis: weight style;
font-variant: normal;
font-weight: normal;
line-height: 0.1;
text-rendering: auto;
font-size: 15px;
}
#sidenavi li.menu-item-has-children > a:after {
color: #f78e22;
}
#sidenavi li a:hover {
background: #f1f1f1;
}
#sidenavi li.current_page_item > a {
background: #f1f1f1;
}
#sidenavi li ul {
position: absolute;
top: 0;
left: 300px;
transition: all 0.3s;
z-index: 9999;
background: #fff;
}
#sidenavi li ul li a {
padding-left: 30px;
}
#sidenavi li ul li a:before {
content: '-';
display: inline-block;
padding: 0 5px 0 0;
}
#sidenavi li ul li.title a {
padding-left: 20px;
}
#sidenavi li ul li.title a:before {
content: '';
display: none;
}
#sidenavi li ul li.back a {
font-weight: 700;
padding-left: 20px;
color: #9a9b9c;
}
#sidenavi li ul li.back a:before {
content: '\f053';
display: inline-block;
font-family: FontAwesome;
font-feature-settings: normal;
font-kerning: auto;
font-language-override: normal;
font-size: inherit;
font-size-adjust: none;
font-stretch: normal;
font-style: normal;
font-synthesis: weight style;
font-variant: normal;
font-weight: normal;
line-height: 0.1;
text-rendering: auto;
font-size: 15px;
}
#sidenavi li.back > a:after {
content: '';
display: none;
}
#sidenavi li ul li ul {
border: 0;
}


/* Header
....................................................................... */
header {
float: left;
width: 100%;
}

#logo {
display: inline-block;
vertical-align: middle;
width: 30%;
margin: 0 -4px 0 0;
}
#logo span {
position: absolute;
left: -9999px;
top: -9999px;
}
#logo a {
display: block;
}
#logo img {
width: 100%;
height: auto;
display: block;
max-width: 315px;
}

#header_tools {
display: inline-block;
vertical-align: top;
width: 70%;
text-align: right;
margin: 0 -4px 0 0;
}
#header_contact {
display: inline-block;
color: #fff;
background: #f78e22;
font-size: 0.8em;
font-weight: 400;
padding: 7px 10px;
margin: 0 0 10px 0;
}
#header_contact a {
display: inline-block;
color: #fff;
text-decoration: none;
margin: 0 5px;
}
#header_contact a:hover {
text-decoration: underline;
}
#toggle_navi {
display: none;
}
#toggle_navi a {
display: block;
font-size: 0.8em;
font-weight: 700;
text-decoration: none;
text-transform: uppercase;
color: #434343;
padding: 15px 0 0 0;
}
#toggle_navi a .fa {
vertical-align: middle;
font-size: 1.3em;
color: #f78e22;
padding-right: 2px;
}
#toggle_navi a:hover {
color: #f78e22;
}


/* Top navigation
....................................................................... */
#topnavi {
clear: both;
float: left;
width: 100%;
}
#topnavi ul {
margin: 0;
padding: 0;
}
#topnavi li {
display: inline-block;
vertical-align: middle;
position: relative;
list-style: none;
padding: 0;
margin: 0 -4px 0 0;
}
#topnavi li:before {
display: none;
}
#topnavi li a {
display: block;
color: #434343;
font-size: 0.8em;
font-weight: 700;
text-decoration: none;
text-transform: uppercase;
padding: 10px 10px;
margin: 0;
}
#topnavi li.menu-item-has-children > a:after {
content: '\f078';
position: absolute;
left: 50%;
bottom: 8px;
color: #ddd;
display: inline-block;
font-family: FontAwesome;
font-feature-settings: normal;
font-kerning: auto;
font-language-override: normal;
font-size: inherit;
font-size-adjust: none;
font-stretch: normal;
font-style: normal;
font-synthesis: weight style;
font-variant: normal;
font-weight: normal;
line-height: 0.1;
text-rendering: auto;
font-size: 10px;
margin-left: -5px;
}
#topnavi > ul > li.current-menu-item > a {
color: #f78e22;
}
#topnavi li:hover > a {
color: #f78e22;
}
#topnavi li a.nolink {
cursor: default;
}
#topnavi li a.nolink:hover {
text-decoration: none;
}

#topnavi li ul {
visibility: hidden;
opacity: 0;
position: absolute;
left: 0;
top: 45px;
width: 200px;
text-align: left;
background: #fff;
border: 1px solid #e5e5e5;
padding: 3px 0 3px 0;
margin: 0;
z-index: 99;
-webkit-transition-property: opacity, visibility;
-moz-transition-property: opacity, visibility;
-o-transition-property: opacity, visibility;
transition-property: opacity, visibility;
-webkit-transition-duration: .4s, 0s;
-moz-transition-duration: .4s, 0s;
-o-transition-duration: .4s, 0s;
transition-duration: .4s, 0s;
-webkit-transition-delay:  0s, .4s;
-moz-transition-delay:  0s, .4s;
-o-transition-delay:  0s, .4s;
transition-delay:  0s, .4s;
}
#topnavi li ul li,
#topnavi li.current-menu-item ul li {
clear: both;
background-image: none;
border: 0 !important;
padding: 0;
margin: 0;
}
#topnavi li ul li a,
#topnavi li.current-menu-item ul li a {
float: none;
display: block;
width: 180px;
background: transparent;
font-weight: 400;
font-size: 0.8em;
line-height: 1.2em;
text-transform: none;
text-decoration: none;
border-top: 1px solid #e5e5e5;
background-image: none !important;
padding: 8px 0;
margin: 0 10px 0 10px;
}
#topnavi li:hover ul li a {
background: transparent;
}
#topnavi li ul li.menu-item-has-children > a:after {
content: '\f054';
position: absolute;
left: auto;
bottom: auto;
right: 10px;
top: 50%;
margin-left: 0;
}
#topnavi li ul li:hover > a,
#topnavi li ul li > a:hover,
#topnavi li.current-menu-item ul li > a:hover {
background: transparent;
}
#topnavi li ul li:first-child > a,
#topnavi li.current-menu-item ul li:first-child > a {
border-top: 0;
}
#topnavi li ul li:last-child a,
#topnavi li.current-menu-item ul li:last-child a {
border-bottom: 0;
}
#topnavi ul li:hover > ul {
visibility: visible;
opacity: 1;
-webkit-transition-delay:  0s, .0s;
-moz-transition-delay:  0s, .0s;
-o-transition-delay:  0s, .0s;
transition-delay:  0s, .0s;
}

#topnavi ul li ul li ul {
top: -4px;
left: 200px;
}


/* Page heading
....................................................................... */
#page-wrap_heading h1 {
margin: 0;
}


/* Hero
....................................................................... */
.row#hero {
clear: both;
position: relative;
min-height: 300px;
padding: 50px 0;
}
.hero_pic {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
background-position: 100% 50%;
background-repeat: no-repeat;
background-size: cover;
z-index: -2;
}
#hero_overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: -moz-linear-gradient(left, rgba(0,0,0,0.33) 0%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, rgba(0,0,0,0.33) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, rgba(0,0,0,0.33) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54000000', endColorstr='#00000000',GradientType=1 ); /* IE6-9 */
z-index: -1;
}
#hero h1,
#hero h2,
#hero h3,
#hero h4,
#hero p,
#hero li,
#hero a {
color: #fff;
}
#hero h1,
#hero h2,
#hero h3,
#hero h4,
#hero p,
#hero li {
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
#hero h1 {
font-size: 3.25em;
margin: 0 0 0.4em 0;
}
#hero h2,
#hero h3,
#hero h4 {
margin: 0 0 1em 0;
}
#hero p:last-child,
#hero ul:last-child {
margin-bottom: 0;
}
#hero a:hover {
color: #fff;
}
#hero a.cta {
color: #fff;
}
#hero p.postscript {
font-size: 0.65em;
}
@media screen and (max-width: 1023px) {
	.row#hero {
	min-height: 0;
	}
	#hero_overlay {
	background: rgba(0,0,0,0.45);
	}
}
@media screen and (max-width: 768px) {
	#page-wrap_hero {
	background-position: 80% 0;
	background-repeat: no-repeat;
	z-index: 1;
	}
	.hero_pic {
	width: 100%;
	height: 300px;
	}
	.hero_pic:after {
	content: '';
	width: 100%;
	height: 75px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: rgb(11,11,11);
	background: linear-gradient(360deg, rgba(11,11,11,1) 0%, rgba(11,11,11,0) 100%);
	}
	#hero_overlay {
	background: transparent;
	}
	.row#hero {
	padding: 250px 0 20px 0;
	}
}


/* Homepage hero
....................................................................... */
.home-page-wrap_hero#page-wrap_hero {
min-height: 450px;
}
.home-page-wrap_hero#page-wrap_hero .hero_pic {
background-position: 50% 50%;
}
.home-page-wrap_hero#page-wrap_hero #hero_overlay {
background: -moz-linear-gradient(top, rgba(0,0,0,0) 30%, rgba(0,0,0,0.5) 70%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(0,0,0,0) 30%,rgba(0,0,0,0.5) 70%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(0,0,0,0) 30%,rgba(0,0,0,0.5) 70%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#cc000000',GradientType=0 ); /* IE6-9 */
}

ul.hero_stats {
text-align: center;
padding: 0;
margin: 0 0 20px 0;
}
.hero_stats li {
display: inline-block;
vertical-align: middle;
width: 24%;
text-align: center;
color: #fff;
text-transform: uppercase;
font-size: 0.9em;
font-weight: 700;
box-sizing: border-box;
border-left: 1px solid #fff;
padding: 0 1%;
margin: 0 -4px 0 0;
}
.hero_stats li:first-child {
border: 0;
}
.hero_stats li:before {
display: none;
}
.hero_stats li strong {
display: block;
font-size: 2.75em;
letter-spacing: -0.025em;
color: #f78e22;
padding: 5px 0 15px 0;
}

.hero_play {
display: table;
position: absolute;
top: 50%;
left: 50%;
width: 13.75%;
text-align: center;
margin: -100px 0 0 -6.875%;
}
.hero_play a {
height: 100%;
display: table-cell;
vertical-align: middle;
background: transparent;
border-radius: 50%;
transition: all 0.2s;
}
.hero_play a:hover {
background: #f78e22;
}
.hero_play a img {
display: block;
}

@media screen and (max-width: 1023px) {
	.home-page-wrap_hero#page-wrap_hero {
	text-align: center;
	}
	.home-page-wrap_hero#page-wrap_hero .hero_pic {
	width: 100%;
	height: 400px;
	background-position: 75% 50%;
	}
	.home-page-wrap_hero#page-wrap_hero .hero_pic:after {
	content: '';
	width: 100%;
	height: 75px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: rgb(11,11,11);
	background: linear-gradient(360deg, rgba(11,11,11,1) 0%, rgba(11,11,11,0) 100%);
	}
	.home-page-wrap_hero#page-wrap_hero .row#hero {
	padding-top: 300px;
	}
	.home-page-wrap_hero#page-wrap_hero #hero_overlay {
	display: none;
	}
	.hero_play  {
	top: 170px;
	width: 100px;
	margin: 0 0 0 -50px;
	}
	.hero_stats li {
	font-size: 0.7em;
	}
}
@media screen and (max-width: 768px) {
	.home-page-wrap_hero#page-wrap_hero .row#hero {
	padding-bottom: 10px;
	}
	.hero_stats li {
	width: 50%;
	border: 0;
	margin: 10px -4px 10px 0;
	}
}
@media screen and (max-width: 479px) {
	.home-page-wrap_hero#page-wrap_hero {
	background-size: 500px auto;
	background-position: 100% 0;
	text-align: center;
	}
	.hero_stats li {
	font-size: 0.6em;
	}
}



/* Breadcrumb
....................................................................... */
.breadcrumbs {
font-size: 0.75em;
line-height: 2em;
border-bottom: 1px solid #e5e5e5;
padding: 0 0 20px 0;
margin: 0 0 20px 0;
}
.breadcrumbs a {
display: inline-block;
padding: 0 3px;
}
.breadcrumbs > span:last-child a {
color: #434343;
text-decoration: none;
}


/* Client logo list
....................................................................... */
ul.client_list {
padding: 0;
margin: 0 0 10px 0;
}
.client_list li {
display: inline-block;
vertical-align: middle;
background-image: none;
width: 25%;
box-sizing: border-box;
padding: 15px 25px;
margin: 0 -4px 0 0;
}
.client_list li:before {
display: none;
}
.client_list li img {
display: block;
max-height: 75px;
width: auto;
margin: 0 auto;
}

.home_clients {
background: #e5e5e5;
padding: 0 30px 0 0;
}
.home_clients h2.underline:after {
background: #434343;
}
.home_clients .swiper_clients .client_list li {
box-sizing: border-box;
width: 50% !important;
margin: 0 -4px 0 0;
}
.home_clients .swiper_clients {
background: transparent;
padding: 0;
}


/* Alt client logo list
....................................................................... */
ul.altclient_list {
padding: 0;
margin: 0 0 10px 0;
}
.altclient_list li {
display: inline-block;
vertical-align: middle;
background-image: none;
width: 16.666%;
box-sizing: border-box;
padding: 15px 15px;
margin: 0 -4px 0 0;
}
.altclient_list li:before {
display: none;
}
.altclient_list li img {
display: block;
max-height: 75px;
width: auto;
margin: 0 auto;
}

.home_altclients h2 {
color: #f78e22;
}
.home_altclients h2.underline:after {
background: #f78e22;
}

@media screen and (max-width: 1023px) {
	.altclient_list li {
	width: 33.333%;
	}
}



/* Media logo list
....................................................................... */
.box_media_list {
/* Flexible content element container */
clear: both;
width: 100%;
background: #434343;
box-sizing: border-box;
padding: 30px;
margin: 0 0 20px 0;
}
ul.media_list  {
padding: 0;
margin: 0 0 10px 0;
}
.media_list li {
display: inline-block;
vertical-align: middle;
background-image: none;
padding: 15px 25px;
margin: 0;
}
.media_list li:before {
display: none;
}
.media_list li img {
display: block;
max-height: 75px;
width: auto;
margin: 0 auto;
}

.home_media {
position: relative;
float: left;
width: 100%;
padding: 60px 0 30px 0;
}
.page-wrap_media .pic {
position: absolute;
top: -40px;
left: 0;
width: 38%;
height: 100%;
background-position: 0 0;
background-repeat: no-repeat;
background-size: cover;
padding: 0 0 40px 0;
z-index: 1;
}
.page-wrap_media .text {
width: 60%;
margin: 0 0 0 40%;
}
.home_media .avatar {
display: none;
width: 100px;
height: 100px;
background: #fff;
box-sizing: border-box;
border: 1px solid #e5e5e5;
border-radius: 50%;
margin: 0 10px 20px 0;
overflow: hidden;
}
.home_media .avatar img {
display: block;
}
.home_media h2 {
color: #f78e22;
}
.home_media h2.underline:after {
background: #f78e22;
}

.home_media .media_list li {
box-sizing: border-box;
width: 33.333%;
margin: 0 -4px 0 0;
}


/* Sidebar
....................................................................... */
.widget {
clear: both;
position: relative;
padding: 0;
margin: 0 0 50px 0;
}
.widget h2.title {
position: relative;
font-size: 1em;
font-weight: 700;
text-transform: uppercase;
color: #434343;
line-height: 1.3em;
padding: 0 0 20px 0;
margin: 0 0 20px 0;
}
.widget h2.title:after {
position: absolute;
left: 0;
bottom: 0;
content: '';
display: block;
width: 100px;
height: 2px;
background: #f78e22;
}
.widget p {
font-size: 0.9em;
}
.widget p img {
width: 100%;
}
.widget a.cta {
margin: 5px 0 5px 0;
}
.widget ul {
padding: 0;
margin: -10px 0 0 0;
}
.widget li {
position: relative;
border-bottom: 1px solid #e5e5e5;
background-image: none;
padding: 10px 0 10px 0;
margin: 0;
}
.widget li:before {
display: none;
}
.widget li:last-child {
border: 0;
}
.widget li a {
position: relative;
display: block;
line-height: 1.5em;
color: #434343;
text-decoration: none;
padding: 0 15px 0 0;
}
.widget li a:hover {
color: #f78e22;
}
.widget li a:after {
content: '\f054';
position: absolute;
right: 0;
top: 5px;
color: #f78e22;
display: inline-block;
font-family: FontAwesome;
font-feature-settings: normal;
font-kerning: auto;
font-language-override: normal;
font-size: inherit;
font-size-adjust: none;
font-stretch: normal;
font-style: normal;
font-synthesis: weight style;
font-variant: normal;
font-weight: normal;
line-height: 1;
text-rendering: auto;
font-size: 15px;
}
.widget form {
padding: 0;
margin: 0;
}
.widget input,
.widget textarea,
.widget select {
font-size: 0.9em;
}
.widget button,
.widget input.submit, 
.widget input[type=submit] {
font-size: 1em;
}

.widget.widget_boxed {
clear: both;
background: #f1f1f1;
padding: 30px 20px;
}
.widget.widget_boxed p:last-child {
margin: 0;
}

.widget.widget_boxed.widget_dark {
clear: both;
color: #fff;
background: #434343;
padding: 30px 20px;
}
.widget.widget_boxed.widget_dark h2.title {
color: #f78e22;
}
.widget.widget_boxed.widget_dark h1,
.widget.widget_boxed.widget_dark h3,
.widget.widget_boxed.widget_dark p,
.widget.widget_boxed.widget_dark li,
.widget.widget_boxed.widget_dark a,
.widget.widget_boxed.widget_dark label {
color: #fff;
}

.widget .post {
width: 100%;
padding: 0;
margin: 0 0 30px 0;
}
.widget .post:last-child {
margin: 0;
}
.widget .post h4 a .fa {
font-size: 0.7em;
}

.widget .video_list li {
width: 100%;
padding: 0;
margin: 0;
}
.widget .video_list li a {
color: #f78e22;
}
.widget .video_list li a:hover {
color: #434343;
}
.widget .video_list li a:after {
display: none;
}
.widget .video_list li .pic a {
padding: 0;
}

.widget.widget_services li a {
font-size: 1.5em;
font-weight: 700;
letter-spacing: -0.025em;
}
.widget.widget_services li a:after {
top: 14px;
}


/* Post list
....................................................................... */
.post {
display: inline-block;
vertical-align: top;
width: 33.333%;
padding: 0 0.75%;
box-sizing: border-box;
margin: 15px -4px 30px 0;
}
.span9 .post {
width: 50%;
}

.post .pic {
background: #434343;
margin: 0 0 15px 0;
}
.post .pic a {
display: block;
}
.post .pic img {
position: relative;
right: 0;
display: block;
width: 100%;
max-width: none;
transition: all .2s;
z-index: 2;
-webkit-backface-visibility: hidden;
}
.post .pic a:hover img {
opacity: 0.75;
}

.post h4 {
margin: 0 0 10px 0;
}
.post h4 a {
color: #434343;
text-decoration: none;
}
.post h4 a:hover {
color: #f78e22;
}
.post p {
color: #999;
font-size: 0.9em;
margin: 0 0 10px 0;
}
.post a.post_link {
display: inline-block;
color: #f78e22;
text-decoration: none;
white-space: nowrap;
}
.post a.post_link .fa {
font-size: 0.8em;
}
a.post_link:hover {
color: #434343;
}

.post p.meta {
font-size: 0.7em;
font-weight: 700;
line-height: 1.4em;
text-transform: uppercase;
color: #666;
}
.post .meta a {
display: inline-block;
color: #666;
margin: 0 2px;
}
.post .meta a:hover {
color: #434343;
}

p.category {
font-size: 0.85em;
font-weight: 400;
line-height: 1.4em;
color: #666;
padding: 2px 0 0 0;
margin: 0;
}
p.category span {
margin: 0 5px 0 0;
}
p.category a {
display: inline-block;
white-space: nowrap;
color: #666;
background: #e5e5e5;
text-decoration: none;
border-radius: 3px;
padding: 2px 10px;
margin: 5px;
transition: all .2s;
}
p.category a:hover {
color: #fff;
background: #999;
}


/* Post list - Compact layout 
(shows 'most read' posts)
....................................................................... */
.blog_compact .post {
}
.blog_compact .post .pic {
float: left;
max-width: 100px;
margin: 5px 15px 5px 0;
}
.blog_compact .post h4,
.blog_compact .post p {
margin: 0 0 2px 0;
}


/* Post list - Flex layout 
....................................................................... */
.blog_flex .post {
display: block;
width: 100%;
padding: 0;
margin-right: 0;
}


/* Posts - Detail page
....................................................................... */
.post_full {
display: block;
width: auto;
border: 0;
padding: 0;
margin: 0;
}
.post_full p {
color: #434343;
margin: 0 0 1.1em 0;
}
.post_full p.powerpress_links {
font-size: 0.9em;
padding: 1em 0;
margin: 0;
}
.post_full .addthis_toolbox {
display: inline-block !important;
}
.post_full p.category {
padding: 20px 0;
}

.post_full .postmeta {
margin: 30px 0 20px 0;
}
.post_full .postmeta .postmeta_avatar {
float: left;
width: 50px;
height: 50px;
background: #fff;
box-sizing: border-box;
border: 1px solid #e5e5e5;
border-radius: 50%;
margin: 0 10px 0 0;
overflow: hidden;
}
.post_full .postmeta .postmeta_avatar a {
display: block;
margin: 0;
}
.post_full .postmeta .postmeta_avatar img {
display: block;
}
.post_full .postmeta .postmeta_info {
font-size: 0.7em;
font-weight: 700;
line-height: 1.6em;
text-transform: uppercase;
color: #999;
padding: 5px 0;
}
.post_full .postmeta .postmeta_info a {
color: #999;
}
.post_full .postmeta .postmeta_info a:hover {
color: #434343;
}
.post_full .postmeta .sharing {
/*float: right;*/
}
.post_full .pic img {
width: 100%;
margin: 0 0 20px 0;
}

@media (max-width: 479px) {
	.post_full .postmeta .postmeta_avatar {
	float: none;
	}
}

.commentlist li {
list-style: none;
background-image: none;
border-top: 1px solid #e5e5e5;
padding: 15px 0 5px 50px;
margin: 0 0 20px 0;
}
.commentlist li:before {
display: none;
}
.commentlist .avatar {
float: left;
margin-left: -50px;
}
.commentlist li a {
color: #616365;
}
.commentlist li a:hover {
color: #000;
}
.comment-author {
color: #9a9b9c;
}
.comment-meta {
font-size: 0.9em;
color: #616365;
padding: 10px 0 10px 0;
}
.reply {
font-size: 0.9em;
}
#respond { /* Comments form */
clear: both;
background: #f1f1f1;
padding: 15px;
}
#respond textarea {
width: 96%;
}
#respond a {
color: #616365;
}
#respond a:hover {
color: #000;
}


/* Post navigation
....................................................................... */
.navigation {
clear: both;
margin: 20px 0 30px 0;
}
.prev-posts,
.next-posts {
display: inline-block;
width: 50%;
margin: 0 -4px 0 0;
}
.prev-posts {
text-align: right;
}
.prev-posts a,
.next-posts a {
color: #616365;
font-weight: 700;
text-decoration: none;
}
.prev-posts a:hover,
.next-posts a:hover {
color: #000;
}

.wp-pagenavi-container {
clear: both;
padding: 20px 0 20px 0;
}
.wp-pagenavi {
font-size: 0.9em;
padding: 10px 0 0 0;
}
.wp-pagenavi a,
.wp-pagenavi span {
display: inline-block;
color: #616365;
border-color: #e5e5e5 !important;
border-radius: 0;
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
color: #000 !important;
}


/* Video listings
....................................................................... */
ul.video_list {
text-align: center;
padding: 0;
margin: 0;
}
.video_list li {
display: inline-block;
vertical-align: top;
width: 24%;
list-style: none;
text-align: left;
box-sizing: border-box;
padding: 0 0.5%;
margin: 15px -4px 30px 0;
}
.span9 .video_list li {
width: 50%;
}
.video_list li:before {
display: none;
}
.video_list li .pic {
position: relative;
margin: 0 0 10px 0;
}
.video_list li .pic a {
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.33) url(img/play_arrow_small.png) 50% 50% no-repeat;
text-indent: -9999px;
z-index: 11;
transition: all 0.2s;
}
.video_list li .pic img {
width: 100%;
display: block;
}
.video_list li .pic a:hover {
background-color: rgba(0,0,0,0.45);
}
.video_list li h4 {
color: #434343;
margin: 0 0 5px 0;
}
.video_list li p {
font-size: 0.9em;
}
.video_list li p a {
text-decoration: none;
}

.video_full_player {
background: #373737;
text-align: center;
padding: 30px;
margin: 0 0 30px 0;
}
.video_full_player_inner {
max-width: 800px;
margin: 0 auto;
}


/* Testimonial listings
....................................................................... */
.testimonial {
position: relative;
box-sizing: border-box;
background: #f78e22;
padding: 25px 25px 25px 80px;
margin: 0 -4px 20px 0;
}
.testimonial .icon {
display: inline-block;
vertical-align: top;
width: 50px;
height: 50px;
font-family: Arial, Helvetica, sans-serif;
font-size: 4.5em;
font-weight: 900;
line-height: 1em;
color: #fff;
margin: -7px 0 0 -60px;
}
.testimonial .text {	
display: inline-block;
vertical-align: top;
width: 100%;
}
.testimonial h4 {
font-size: 1.2em;
color: #fff;
font-weight: 700;
margin: 0;
}
.testimonial p {
font-size: 1.2em;
line-height: 1.2em;
color: #fff;
margin-bottom: 15px;
}
.testimonial .company {
}
.testimonial .company_left,
.testimonial .company_right {
display: inline-block;
vertical-align: middle;
width: 50%;
margin: 0 -4px 0 0;
}
.testimonial .company_right {
text-align: right;
}
.testimonial .company_right img {
max-height: 75px;
width: auto;
}

.home_testimonials {
background: #f78e22;
padding: 0 0 0 30px;
}
.home_testimonials h2.underline:after {
background: #434343;
}
.home_testimonials .swiper_testimonials {
background: transparent;
padding: 0;
}


/* Reserach listings
....................................................................... */
.research {
box-sizing: border-box;
padding: 10px 30px 10px 115px;
margin: 10px -4px 10px 0;
}
.span12 .research,
.span9 .research,
.span8 .research {
display: inline-block;
vertical-align: top;
width: 50%;
}
.span6 .research,
.span4 .research,
.span3 .research {
display: block;
width: 100%;
}
.research .icon {
display: inline-block;
vertical-align: top;
width: 100px;
height: 100px;
color: #ddd;
margin: 0 10px 0 -115px;
}
.research .text {	
display: inline-block;
vertical-align: top;
width: 100%;
}
.research h4 {
color: #434343;
margin-bottom: 10px;
}
.research p {
color: #999;
font-size: 0.9em;
margin-bottom: 10px;
}


/* Swiper controls
....................................................................... */
.swiper-container {
margin-bottom: 30px;
}
.swiper-pagination {
position: relative;
top: auto;
left: auto;
text-align: left;
padding-top: 15px;
}
.swiper-pagination-bullet {
width: 14px;
height: 14px;
background: transparent;
border: 3px solid #434343;
opacity: 1;
}
.swiper-pagination-bullet-active {
background: #434343;
}

.swiper_media .swiper-pagination-bullet,
.swiper_altclients .swiper-pagination-bullet {
border-color: #fff;
}
.swiper_media .swiper-pagination-bullet-active,
.swiper_altclients .swiper-pagination-bullet-active {
background: #fff;
}


/* Services list with images
....................................................................... */
ul.service_list {
display: flex;
flex-wrap: wrap;
padding: 0;
margin: 0 0 20px 0;
}
#page-wrap_services ul.service_list {
margin: 0;
}
.service_list li {
position: relative;
/* Fall back to inline block */
display: inline-block;
vertical-align: bottom;
display: flex;
flex-direction: column;
width: 33.333%;
list-style: none;
background-image: none;
color: #fff;
background: #434343;
text-align: center;
box-sizing: border-box;
padding: 0;
margin: 0;
overflow: hidden;
border-left: 2px solid #fff;
border-right: 2px solid #fff;
}
.service_list li:first-child {
left: -2px;
}
.service_list li:last-child {
right: -2px;
}
.service_list li:before {
display: none;
}
.service_list li .pic {
position: relative;
display: block;
overflow: hidden;
}
.service_list li .pic a img {
display: block;
position: relative;
width: 100%;
max-width: none;
z-index: 0;
transition: opacity 0.3s;
-webkit-backface-visibility: hidden;
}
.service_list li .pic a h2 {
position: absolute;
top: 0;
left: 0;
width: 100%;
min-height: 125px;
font-size: 2.5em;
line-height: 1em;
letter-spacing: -0.025em;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.25);
background: url(img/bg_servicetext.png) 0 0 repeat-x;
box-sizing: border-box;
padding:  25px 20px 25px 20px;
margin: 0;
}
.service_list li .pic a h2 em {
display: block;
font-weight: 400;
font-style: normal;
font-size: 0.5em;
letter-spacing: normal;
}
.service_list li .pic a p {
position: absolute;
bottom: 30px;
left: 0;
width: 100%;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.25);
text-align: center;
font-size: 0.9em;
line-height: 1em;
box-sizing: border-box;
margin: 0;
}
.service_list li .pic a p span {
display: inline-block;
background: rgba(0,151,217,0.8);
border-radius: 25px;
padding:  8px 20px;
margin: 0 auto;
}
.service_list li .pic h2 .fa { 
font-size: 0.7em;
}
.service_list li .pic a img {
opacity: 1;
}
.service_list li .pic a:hover img {
opacity: 0.6;
}

@media screen and (max-width: 1023px) {
	.service_list li .pic a h2 {
	font-size: 2em;
	}
	.service_list li .pic a p {
	font-size: 0.8em;
	}
}
@media screen and (max-width: 767px) {
	ul.service_list {
	display: block;
	}
	.service_list li {
	display: block;
	width: 100%;
	margin: 5px 0;
	}
	.service_list li:first-child,
	.service_list li:last-child {
	right: auto;
	left: auto;
	}
}


/* Homepage video preview
....................................................................... */
.videopreview_left {
display: inline-block;
vertical-align: middle;
width: 40%;
margin: 0 -4px 0 0;
}
.videopreview_right {
display: inline-block;
vertical-align: middle;
width: 60%;
box-sizing: border-box;
padding: 0 0 0 5%;
margin: 0 -4px 0 0;
}

.page-wrap_videopreview h2 {
line-height: 1.3em;
color: #373737;
text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
padding: 0;
margin: 0;
}
.page-wrap_videopreview h4 {
color: #373737;
margin: 15px 0 0 0;
}
.page-wrap_videopreview .homevideolink_container .pic {
position: relative;
}
.page-wrap_videopreview .homevideolink_container a {
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
background: transparent url(img/play_arrow_medium.png) 5% 50% no-repeat;
text-indent: -9999px;
z-index: 11;
opacity: 0.75;
transition: all 0.2s;
}
.page-wrap_videopreview .homevideolink_container a:hover {
background-color: rgba(0,0,0,0.33);
opacity: 1;
}
.page-wrap_videopreview .homevideolink_container .pic img {
width: 100%;
display: block;
}

@media screen and (max-width: 767px) {
	.videopreview_left,
	.videopreview_right {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	}
	.videopreview_left {
	margin-bottom: 20px;
	}
}


/* Footer call to action
....................................................................... */
.page-wrap_cta h2,
.page-wrap_cta p {
display: inline-block;
color: #fff;
padding: 0 5px;
margin: 0;
}
.page-wrap_cta h2 {
text-shadow: 1px 1px 2px rgba(0,0,0,0.25);
}
.page-wrap_cta a.cta {
color: #fff;
background: #373737;
text-shadow: none;
}
.page-wrap_cta a.cta:hover {
color: #434343;
background: #fff;
}


/* Footer
....................................................................... */
footer #footer_navi ul {
display: inline-block;
vertical-align: top;
width: 50%;
padding: 0;
margin: 0 -4px 12px 0;
}
footer #footer_navi li {
display: block;
background-image: none;
padding: 0 3% 8px 0;
margin: 0 -4px 0 0;
}
footer #footer_navi li:before {
display: none;
}
footer #footer_navi li a {
font-size: 0.8em;
color: #fff;
}
footer #footer_navi li h5 {
color: #f78e22;
margin: 0;
}
footer #footer_navi li a:hover {
color: #ddd;
}

footer #footer_bio h5 {
color: #f78e22;
}
footer #footer_bio p {
font-size: 0.8em;
}

footer #footer_contact {
text-align: right;
}
footer #footer_contact .socnet {
display: block;
margin: 0 0 20px 0;
}
footer #footer_contact .socnet a .fa {
color: #fff;
}
footer #footer_contact .socnet a:hover .fa {
color: #ddd;
}
footer #footer_contact h4 {
font-weight: 400;
color: #fff;
line-height: 2em;
margin: 0 0 20px 0;
}
footer #footer_contact h4 a {
display: inline-block;
color: #f78e22;
font-weight: 700;
}
footer #footer_contact h4 a:hover {
color: #fff;
}
footer #footer_contact h4 span {
display: block;
padding: 0 5px;
}
footer #footer_contact p {
font-size: 0.8em;
color: #fff;
}

footer .row.copyright {
color: #a6a6a6;
font-size: 0.75em;
border-top: 1px solid #5e5e5e;
padding: 30px 0 20px 0;
}
footer .copyright a {
color: #a6a6a6;
}
footer .copyright a:hover {
color: #ddd;
}
footer .copyright ul {
padding: 0;
margin: 0;
}
footer .copyright li {
display: inline-block;
padding: 0;
margin: 0;
}
footer .copyright li:before {
display: none;
}
footer .copyright li a {
display: inline-block;
padding: 0 5px;
}
footer .copyright p.linky {
margin: 0;
}


/* Video Modals
....................................................................... */
.videomodal {
display: none;
background: rgba(0,0,0,0.9);
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9999999999;
}
.videomodal_content {
position: fixed;
top: 4%;
left: 4%;
width: 92%;
height: 92%;
text-align: center;
overflow: hidden;
color: #fff;
box-sizing: border-box;
margin: 0;
z-index: 99999999999;
float: left;
display: table;
vertical-align: middle;
}
.videomodal .centertop {
display: table-cell;
vertical-align: middle;
}
.modalvideo {
display: block;
}
.videomodal_content iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.videomodal_close {
position: absolute;
top: 15px;
right: 15px;
width: 30px;
height: 30px;
z-index: 999999999999;
color: #f78e22;
font-size: 2em;
cursor: pointer;
}
.videomodal_close:hover {
color: #fff;
}
.videomodal_close .text {
display: none;
}
.videomodal .addthis_toolbox {
display: none !important;
}
@media screen and (max-width: 767px) {
	.videomodal_content {
	top: 2.5%;
	left: 2.5%;
	width: 95%;
	height: 95%;
	border: 0;
	margin: 0;
	}
	.videomodal_close {
	top: 2.5%;
	right: 2.5%;
	}
}


/* GM modal
....................................................................... */
#gm_modal {
display: none;
background: rgba(0,0,0,0.9);
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9999999999;
}
#gm_content {
position: fixed;
top: 50%;
left: 50%;
width: 700px;
height: 540px;
text-align: center;
border: 10px solid #333;
overflow: hidden;
box-sizing: border-box;
border-radius: 5px;
margin: -270px 0 0 -350px;
z-index: 99999999999;
}
#gm_content iframe {
width: 100% !important;
height: 100% !important;
border: 0 !important;
}
#gm_close {
position: absolute;
top: 20px;
right: 20px;
width: 21px;
height: 21px;
background: rgba(255,255,255,1);
border-radius: 50%;
z-index: 999999999999;
cursor: pointer;
}
#gm_close:hover {
background: rgba(255,255,255,0.8);
}
#gm_close .text {
display: none;
}
#gm_close .line {
position: absolute;
left: 5px;
top: 9px;
display: inline-block;
width: 12px;
height: 3px;
background: #000;
transform-origin: 50% 50%;
transition: all .3s;
}
#gm_close .line1 {
-moz-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
-o-transform:rotate(45deg);
-ms-transform:rotate(45deg);
}
#gm_close .line2 {
-moz-transform:rotate(-45deg);
-webkit-transform:rotate(-45deg);
-o-transform:rotate(-45deg);
-ms-transform:rotate(-45deg);
}
@media screen and (max-width: 767px) {
	#gm_content {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	margin: 0;
	}
}




@media screen and (min-width: 1131px) {

	.center {
	max-width: 1300px !important;
	width: 90%;
	}
	
}


@media screen and (max-width: 1023px) {

	#site-wrapper.show-left #site-canvas {
	-webkit-transform: translateX(300px);
	transform: translateX(300px);
	-o-transform: translateX(300px);
	-ms-transform: translateX(300px);
	box-shadow: inset 0 -10px 10px rgba(0,0,0,0.25);
	position: fixed;
	}
	#site-wrapper.show-left #site-canvas-switchoff {
	opacity: 0.15;
	pointer-events: none;
	-webkit-transition: .3s ease all;
	transition: .3s ease all;
	-ms-transition: .3s ease all;
	}

	.page-wrap_content {
	padding-top: 20px;
	padding-bottom: 20px;
	}

	.span1,
	.span2,
	.span3,
	.span4,
	.span5,
	.span6,
	.span7,
	.span8,
	.span9,
	.span10,
	.span11,
	.span12 {
	float: none;
	clear: both;
	width: 100%;
	margin-right: 0;
	}

	.center {
	width: 94%;
	padding: 0;
	margin: 0 0 0 3%;
	}
	.sidebar {
	padding-top: 30px;
	}
	
	#logo {
	width: 50%;
	}
	#header_tools {
	width: 50%;
	}
	#toggle_navi {
	display: block;
	}
	#topnavi {
	display: none;
	}
	
	.page-wrap_hometop {
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	background: transparent;
	padding: 30px 0 10px 0;
	margin: 0;
	}
	.page-wrap_hometop .center {
	width: 100%;
	margin: 0;
	}
	.page-wrap_hometop:after {
	display: none;
	}
	.home_clients,
	.home_testimonials {
	padding: 40px 30px 1px 30px;
	}
	
	.home_altclients {
	padding: 0 10px;
	}
	
	.client_list li {
	width: 33%;
	}

	.page-wrap_media .pic {
	display: none;
	}
	.page-wrap_media .text {
	width: 100%;
	margin: 0;
	}
	.home_media .avatar {
	float: right;
	display: block;
	margin-top: -10px;
	}
	.home_media .swiper_media {
	clear: both;
	}
	
	.post {
	width: 50%;
	}
	.blog_feature .post:first-child {
	width: 100%;
	}
	
	.video_list li {
	width: 49%;
	}
	
	footer #footer_navi ul {
	width: 100%;
	text-align: center;
	}
	footer #footer_navi li {
	display: inline-block;
	width: auto;
	padding: 5px;
	}
	footer #footer_navi li.title {
	display: block;
	}
	footer #footer_bio {
	text-align: center;
	padding-top: 20px;
	margin-bottom: 50px;
	}
	footer #footer_contact {
	text-align: center;
	margin-bottom: 30px;
	}
	footer .row.copyright,
	footer .row.copyright .textright {
	text-align: center;
	}
	
}


@media screen and (min-width: 767px) {

	.blog_feature .post:first-child {
	position: relative;
	width: 100%;
	}
	.blog_feature .post:first-child .pic {
	margin: 0;
	}
	.blog_feature .post:first-child .text {
	position: absolute;
	bottom: 0;
	left: 1.1%;
	width: 97.75%;
	z-index: 11;
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 40%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.8) 40%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.8) 40%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#cc000000',GradientType=0 ); /* IE6-9 */
	box-sizing: border-box;
	padding: 40px 30px 20px 30px;
	}
	.blog_feature .post:first-child h4 a,
	.blog_feature .post:first-child p,
	.blog_feature .post:first-child .meta a,
	.blog_feature .post:first-child a.post_link:hover {
	color: #fff;
	}
	.blog_feature .post:first-child p.category a {
	color: #434343;
	}
	.blog_feature .post:first-child p.category a:hover {
	color: #fff;
	background: #999;
	}

}

@media screen and (min-width: 1024px) {

	.blog_feature .post:first-child {
	position: relative;
	width: 66.666%;
	}
	
}


@media screen and (max-width: 767px) {

	p,
	.page-wrap_content li {
	font-size: 0.95em;
	}
	.page-wrap_content li p,
	.page-wrap_content li ul li {
	font-size: 1em;
	}
	h1,
	#hero h1,
	#home_hero h1,
	#hero_specialist_row h1 {
	font-size: 2em;
	}
	h2 {
	font-size: 1.3em;
	}
	h2.oversize {
	font-size: 1.5em;
	}
	h2.title {
	font-size: 1.3em;
	}
	h3 {
	font-size: 1.2em;
	}
	h4 {
	font-size: 1em;
	}
	.page-wrap_content img.alignleft,
	.page-wrap_content img.alignright {
	max-width: 120px;
	}
	.wp-caption.alignleft,
	.wp-caption.alignright {
	width: 100% !important;
	margin-bottom: 1.5em;
	text-align: center;
	padding-top: 5px;
	}
	a.cta {
	font-size: 0.85em;
	padding: 6px 10px;
	}
	a.cta.cta_big {
	font-size: 1.1em;
	padding: 10px 15px;
	}
	
	#header_tools {
	vertical-align: middle;
	}
	#toggle_navi a {
	padding: 10px 0;
	}
	#header_contact {
	display: none;
	}

	.research {
	display: block !important;
	width: 100% !important;
	padding-right: 0;
	margin-right: 0;
	}
	
	.testimonial {
	padding-left: 50px;
	padding-right: 10px;
	}
	.testimonial .icon {
	width: 25px;
	height: 30px;
	font-size: 2em;
	margin-left: -30px;
	}
	.testimonial .text img {
	max-height: 50px;
	}
	.home_testimonials .testimonial p,
	.home_testimonials .testimonial h4 {
	font-size: 1.25em;
	}
	
	.home_clients .client_list li {
	padding: 15px 10px;
	}
	.media_list li img,
	.client_list li img,
	.altclient_list li img {
	max-height: 50px;
	}
	
	.page-wrap_cta {
	padding: 50px 0;
	}
	.page-wrap_cta h2,
	.page-wrap_cta p {
	display: block;
	}
	.page-wrap_cta h2 {
	margin-bottom: 15px;
	}

}


@media screen and (max-width: 600px) {

	.viewall_link h1,
	.viewall_link h2,
	.viewall_link h3,
	.viewall_link h4 {
	padding-right: 0;
	}
	p.viewall {
	position: relative;
	right: auto;
	top: auto;
	}

	.post,
	.span9 .post {
	width: 100%;
	padding: 0;
	}
	.blog_feature .post:first-child {
	width: 100%;
	}
	
	.client_list li {
	width: 50%;
	}
	.altclient_list li {
	width: 50%;
	}
	.home_media .media_list li {
	width: 50%;
	padding: 15px 10px;
	}
	
	.testimonial .company_left,
	.testimonial .company_right {
	display: block;
	width: auto;
	text-align: left;
	margin: 5px 0;
	}
	
}


@media screen and (max-width: 479px) {

	.video_list li,
	.span9 .video_list li {
	width: 100%;
	padding: 0;
	}
	
}

