/*
	Theme Name: Webb AV
	Theme URI: http://html5blank.com
	Description: Custom WordPress Theme
	Version: 1.4.3
	Author: Stoke
	Author URI: http://thestokegroup.com
	Tags: HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font:300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color:#000;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    *zoom:1;
}
h1, h2, h3, h4, h5, h6, a, p{
    font-family: 'Montserrat', sans-serif;
}
img {
	max-width:100%;
	vertical-align:bottom;
    height:auto;
}
a {
	color:#000;
	text-decoration:none;
    cursor:pointer !important;
}
p{
    font-size:16px;
    font-weight:500;
}
a:hover {
	color:#000;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}
ul,ol{
    margin-left: 20px;
    font-size: 16px;
    font-family: 'Montserrat', sans-serif;
}
.tg-element-absolute{
	pointer-events:none;
}
.section-title{
    text-align:center;
    position:relative;
    font-size: 52px;
    font-weight: 700;
    line-height: 54px;
    padding: 70px 0px 25px 0px;
}
.section-title:after{
    content:'';
    position:absolute;
    bottom:0;
    left:50%;
    margin-left:-20px;
    width:40px;
    height:4px;
    background:#00AFEF;
}
.section-title-white{
    color:#ffffff;
    text-align:center;
    position:relative;
    font-size: 52px;
    font-weight: 700;
    line-height: 54px;
    padding: 70px 0px 25px 0px;
}
.section-title-white:after{
    content:'';
    position:absolute;
    bottom:0;
    left:50%;
    margin-left:-20px;
    width:40px;
    height:4px;
    background:#00AFEF;
}
.section-content{
    padding: 25px;
    max-width: 764px;
    margin: 0 auto;
    text-align:center;
}
.career-content{
    margin: 75px auto;
}
.center-button{
    text-align:center;
    padding-bottom:60px;
}
.section-button{
    color: #000;
    border: 2px solid #000;
    padding: 10px 20px;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 600;
    background: transparent;
    transition: all .5s ease;
    line-height:40px;
}
.section-button:hover{
    color:#fff;
    background:#000;
}
/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
	margin: 0 auto;
    position: relative;
    max-width: 1050px;
}
.home-bottom-wrapper{
    padding: 75px 0;
}
.careers-wrapper{
    margin: 0 auto;
    position: relative;
    max-width: 950px;
    margin-bottom:75px;
    margin-top:50px;
}

/* inner wrapper */
.inner-wrapper {
	max-width:1280px;
	width:95%;
	margin:0 auto;
	position:relative;
}
/* header */
.header {
	background:#000000;
	height:75px;
}
*{
  margin:0;
  padding:0;
  text-decoration:none
}
header{
    background:#000000;
    position: fixed;
    z-index: 99999;
    width: 100%;
    top:0;
}
.menu-fill{
    height:60px;
}
nav {
    background: #000000;
    position: relative;
    margin: 0 auto;
}

#flexmenu{
  display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
  flex-flow: row wrap;
  max-width:1080px;
}
.logo {
    z-index: 123;
    padding: 15px;
    width:100px;
    flex-grow:1;
    flex-shrink:1;
}
.logo a {
    color: #F14F80;
}
.logo img{
    max-width:120px;
}
#flexmenu ul{
  align-self: flex-end; 
}
/* keep the drop-downs from being hidden by content wrappers etc */
#flexmenu ul ul{
  z-index: 1234;
}

/* General Menu Styling */
#flexmenu li,
#flexmenu li a{
    list-style: none;
    line-height: 1;
    display: inline-block;
    position: relative;
    text-transform: uppercase;
    transition: all ease-in-out .3s;
}

#flexmenu ul li a {
    padding: 24px 15px;
    font-size: 16px;
    letter-spacing: 1px;
    text-decoration: none;
    color: #fff;
    opacity:0.75;
    font-weight:600;
}

#flexmenu ul li.has-sub > a {
    padding-right: 30px;
}
/* Drop icon */
/*#flexmenu ul li.has-sub > a:before {
    position: absolute;
    top: 26px;
    right: 10px;
    width: 8px;
    height: 2px;
    display: block;
    content: '';
    border-top: 6px solid #fff;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
}*/
/*#flexmenu ul li.has-sub > a:after {
    position: absolute;
    top: 26px;
    right: 11px;
    width: 8px;
    height: 2px;
    display: block;
    content: '';
    border-top: 5px solid #000;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}*/
#flexmenu ul li.has-sub > a:after {
    position: absolute;
    top: 29px;
    right: 5px;
    display: block;
    content: '\232A';
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
#flexmenu ul ul li.has-sub > a:after {
    position: absolute;
    top: 16px;
    right: 11px;
    width: 8px;
    height: 2px;
    display: block;
    background: #FFF;
    content: '';
    transition: all .3s ease;
    border:none;
}
#flexmenu > ul > li.has-sub > a:before {
/*    position: absolute;
    top: 19px;
    right: 14px;
    display: block;
    width: 2px;
    height: 8px;
    background: #ddd;
    transition: all .25s ease;*/
}
#flexmenu > ul > li.has-sub:hover > a:before {
  /*  top: 23px;
    height: 0;*/
}
#flexmenu ul ul li.has-sub > a:before {
    position: absolute;
    top: 13px;
    right: 14px;
    display: block;
    width: 2px;
    height: 8px;
    content: '';
    transition: all .3s ease;
    border:none;
    background:#fff;
}
#flexmenu ul ul > li.has-sub:hover > a:before {
    top: 17px;
    height: 0;
}
#flexmenu ul li:hover{
        /*background: #000;*/
}
#flexmenu ul li:hover > a{
    opacity:1;
   /* text-shadow: 0px 0px 8px #fff, 0px 0px 8px #fff;*/
}
#flexmenu ul ul li.has-sub:hover,
#flexmenu ul li.has-sub ul li.has-sub ul li:hover {
        background: #000;
}
/* Submenu default states, removed by hover gives the animation */
#flexmenu ul ul {
    position: absolute;
    left: -9999px;
}
#flexmenu li:hover > ul {
    left: auto;
}
#flexmenu ul ul li {
    height: 0;
    display:block;
    background: #000000;
    transition: all .25s ease;
    border-top:1px solid rgba(255,255,255,0.1);
}
#flexmenu li:hover > ul > li {
    height: 35px;
}
/* tertiary menu */
#flexmenu ul ul ul {
    margin-left: 100%;
    top: 0;
}
#flexmenu ul ul li a {
    padding: 11px 15px;
    width: 250px;
    font-size: 14px;
    text-decoration: none;
    color: #FFF;
}
@media screen and (max-width: 950px) {
  /* Center the logo and remove the bar */
    #flexmenu ul li a {
        padding: 17px 15px;
    }   
    .logo {
        /*position: absolute;*/
        top: 0;
        left: 0;
        width: 100%;
        height: 50px;
        text-align: center;
        padding: 10px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .logo img {
        max-width: 110px;
    }
  /* Hamburger */
    .nav-button {
        background: #000;
        width: 50px;
        height: 50px;
        position: absolute;
        right: 0;
        top: 0;
        cursor: pointer;
        z-index: 10000;
        border-left: 1px solid rgba(255,255,255,0.1);
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .nav-button:after {
        position: absolute;
        top: 24px;
        right: 50%;
        margin-right: -10px;
        display: block;
        height: 8px;
        width: 20px;
        border-top: 2px solid #fff;
        border-bottom: 2px solid #fff;
        content: '';
    }
    .nav-button:before {
        transition: all .3s ease;
        position: absolute;
        top: 18px;
        right: 50%;
        margin-right: -10px;
        display: block;
        height: 2px;
        width: 20px;
        background: #fff;
        content: '';
    }
  /* Turn it into an X when open */
    .nav-button.menu-opened{
     
    }
    .nav-button.menu-opened:after {
        transition: all .3s ease;    
        top: 23px;
        border: 0;
        height: 2px;
        width: 19px;
        background: #fff;
        transform: rotate(45deg);
    }
    .nav-button.menu-opened:before {
        top: 23px;
        background: #fff;
        width: 19px;
        transform: rotate(-45deg);
    }
  /* reset horizontal styles */
    #flexmenu ul {
        display: none;
        width:100%;
    }
    #flexmenu ul li,
    #flexmenu ul li a,
    #flexmenu ul ul li a{
        width: 100%;
    }

    #flexmenu ul ul li,
    #flexmenu li:hover > ul > li {
        height: auto;  
        background: transparent;
        border-color: rgba(255,255,255,0.1);
    }
    #flexmenu ul ul li a {
        padding-left: 35px;
    }
    #flexmenu ul ul ul li a {
        padding-left: 35px;
    }

    #flexmenu ul ul,
    #flexmenu ul ul ul {
        position: relative;
        left: 0;
        width: 100%;
        margin: 0;
        text-align: left;
    }
    #flexmenu ul ul ul li.active a {
        border-left: none;
    }
    #flexmenu > ul > li.has-sub > ul > li.focus > a,
    #flexmenu > ul ul > li.has-sub > ul > li.focus > a {
        background: #262626;
        transition: all .3s ease;
    }
  /* remove cross when menu item is toggled */
    #flexmenu > ul > li.has-sub > a:after,
    #flexmenu > ul > li.has-sub > a:before,
    #flexmenu ul ul > li.has-sub > a:after,
    #flexmenu ul ul > li.has-sub > a:before {
        display: none;
    }

  /* submenu toggles */
    #flexmenu .submenu-button {
        position: absolute;
        z-index: 99;
        right: 0;
        top: 0;
        display: block;
        /*border-left: 1px solid #000;*/
        height: 46px;
        width: 50px;
        cursor: pointer;
    }
    #flexmenu ul ul .submenu-button {
        height: 34px;
        width: 34px;
    }
    #flexmenu .submenu-button:after {
        position: absolute;
        top: 22px;
        right: 19px;
        width: 8px;
        height: 2px;
        display: block;
        background: #ddd;
        content: '';
    }
    #flexmenu ul ul .submenu-button:after {
        top: 15px;
        right: 13px;
    }
    #flexmenu .submenu-button.submenu-opened:after {
        background: #fff;
    }
    #flexmenu .submenu-button:before {
        position: absolute;
        top: 19px;
        right: 22px;
        display: block;
        width: 2px;
        height: 8px;
        background: #ddd;
        content: ''
    }
    #flexmenu ul ul .submenu-button:before {
        top: 12px;
        right: 16px;
    }
    #flexmenu .submenu-button.submenu-opened:before {
        display: none;
    }   
    #flexmenu ul li:hover {
        background: #000;
    }
}
/* footer */
.footer {
    background:#000000;
    text-align:center;
}
#footer-logo{
    width: 60px;
    position: relative;
    left: 50%;
    margin-left: -30px;
}
#footer-logo img{
    padding:50px 0px 35px;
}
.footer ul{
    margin:0;
}
.footer ul li{
    display:inline-block;
    position:relative;
    padding:initial;
}
.footer ul li:after{
    content:'';
    position:absolute;
    right:0;
    top:0;
}
.footer ul li a{
    color:#ffffff;
    font-size: 16px;
    text-transform: uppercase;
    font-weight:600;
    opacity:0.75;
    transition: all ease-in-out .3s;
}
#footer-contact-info{
    padding-top:15px;
}
#footer-contact-info ul li a{
    font-size:14px;
    text-transform:none;
}
.backlash-divider{
    padding:0px 10px !important;
    pointer-events:none;
}
.menu-no-link{
    pointer-events:none;
}
.footer ul li a:hover{
    opacity:1;
}
#social-menu{
    padding-top:35px;
}
#social-menu ul{
    margin-bottom:35px;
}
#social-menu ul li{
    padding:0px 20px;
}
#social-menu h3{
    font-size:16px;
    font-weight:600;
    color:#fff;
    margin-bottom:20px;
}
.copyright{
    color: #fff;
    opacity: 0.5;
    padding-bottom: 15px;
    text-align:left;
    padding-left:15px;
    font-size:11px;
}
/* Hero Slider -----------------------*/
.hero-slider{
    height:620px;
    overflow:hidden;
    background:#000;
    margin-bottom:0px !important;
}
.slick-prev {
    left: 5%;
    z-index: 999;
}
.slick-next {
    right: 5%;
    z-index: 999;
}
.slick-dots{
    bottom:5px;
}   
.slick-dots li button:before{
    font-size:10px;
    color:#ffffff;
}
.slick-dots li.slick-active button:before{
    color:#ffffff;
}
.hero-slide-background{
    width:100%;
    height:620px;
}
.slick-slide img{
    width:100%;
    height: 100%;
    object-fit: cover;
}
.slick-slide{
    height:620px;
}
.center-slide{
    position:relative;
    height:620px;
}
.slide-overlay{
    height: 100%;
    width: 100%;
    position: absolute;
    z-index:1;
}
.hero-info-box{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align:center;
    width:80%;
    z-index:1;
}
.slide-video{
    z-index: 0;
    width:100%; 
    height:100%; 
    object-fit:cover;
}
.slide-title{
    text-align: center;
    width: 100%;
    color: #ffffff;
    font-size: 52px;
    font-weight: 700;
    line-height: 54px;
    padding:0 10%;
    margin-bottom:35px;
}
.web-button-link{
    color: #00AFEF;
    border: 2px solid #00AFEF;
    padding: 10px 20px;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 600;
    background:transparent;
    transition: all .5s ease;
}
.web-button-link:hover{
    color: #ffffff;
    background:#00AFEF;
}
#acf-field_5cab746791815-0-field_5cacd9f1f310f-alt{
    width:80% !important;
}
/*------------------------------------*/

/*------------------------------------*\
    PAGES
\*------------------------------------*/

/*HOME*/
.quadrant-container{
    /*max-width: 1280px;*/
    max-width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-gap: 0px;
}
.quadrant-box{
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.quadrant-content-group{
    width:100%;
    align-self:normal;
    padding:20% 0;
    transition: all .5s ease;
    background:transparent;
}
.box-yellow:hover{
    background:#000000;
}
.box-black:hover{
    background:#000000;
}
.box-pink:hover{
    background:#000000;
}
.box-blue:hover{
    background:#000000;
}
.quadrant-title{
    font-size: 40px;
    font-weight: 700;
    line-height: 54px;
    color: #fff;
    position: relative;
    padding:30px 25px 20px;
    margin-top:0px;
    text-align:center;
}
.quadrant-title:after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -20px;
    width: 40px;
    height: 4px;
    background: #00AFEF;
}
.quadrant-content{
    padding:20px 20%;
    color: #fff;
    font-weight:600;
}
.swap-on-hover {
  position: relative;   
    margin:  0 auto;
    max-width: 100px;
    height:100px;
}
.swap-on-hover img {
  position: absolute;
  top:0;
  left:0;
    overflow: hidden;
    /* Sets the width and height for the images*/
    width: 100px;
    height: 100px;
}
.swap-on-hover .swap-on-hover__front-image{
  z-index: 9999;
  transition: opacity .5s linear;
  cursor: pointer;
}
.swap-on-hover .swap-on-hover__back-image{
  opacity:0;
}
/* When we hover the figure element, the block with .swap-on-hover, we want to use > so the front-image is going to have opacity of 0, which means it will be hidden, to the back image will show */
.quadrant-content-group:hover > .swap-on-hover .swap-on-hover__front-image{
  opacity: 0;
}
.quadrant-content-group:hover > .swap-on-hover .swap-on-hover__back-image{
  opacity: 1;
}
.sec-background-img{
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
.background-img-title{
    color: #fff;
    margin-bottom: 25px;
    padding-left: 15%;
    padding-right: 15%;
}
.background-img-title:after{
    display:none;
}
/* SERVICE PAGE TEMPLATE */

.service-section{
    height:auto;
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.service-content-all{
    margin:200px 0;
}
.service-title{
    padding-top:0px;
}
.service-content-text{
    color:#ffffff;
    width:520px;
    margin:0 auto;
}
#webb-equation{
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top:75px;
    margin-bottom:0px;
}
.equation-text{
    align-self: normal;
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    display:block;
}
.operator-sign{
    align-self: normal;
    line-height: 40px;
    color: #ffffff;
    font-size: 16px;
    padding: 0 25px;
}
#icon-list{
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin:0 auto;
    margin-top: 75px;
    margin-bottom: 75px;
    max-width:1050px;
}
.icon-box{
    align-self:normal;
    padding:0 20px;
    font-size: 16px;
    color: #fff;
    margin:0;
}
.list-icon{
    height:60px;
}
.icon-title{
    padding-bottom:15px;
    padding-top:20px;
}
.service-page-link{
    color: #fff;
    font-size: 16px;
    text-decoration: underline;
}

.service-page-link:hover{
    color: #00AFEF;
}/* ABOUT PAGE */
.page-hero{
    height: 420px;
    margin: 0px;
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
    position: relative;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.about-hero-head{
    font-size:92px;
    line-height:100px;
    font-weight:700;
    width: 100%;
    padding: 0px 10%;
}
.our-values{
    margin-top: 50px;
    position: relative;
    padding:40px 0 150px;
}
.value-container{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-gap: 50px 100px;
    padding-top:50px;
}
.value-box{
    padding:0;
}
.value-title{
    color:#ffffff;
    margin-bottom:15px;
    font-size:16px;
}
.value-description{
    color:#ffffff;
}
.client-container{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto;
    grid-gap: 0px;
    padding: 50px 0 75px
}
.client-container-home{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: auto;
    grid-gap: 0px;
    padding: 50px 0 75px
}
.client-logo-box{
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px 0;
}
.client-logo-box-home{
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px 20%;
}
.client-logo{
    max-height:70px;
}
/* TEAM PAGE */
.team-page{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    grid-gap: 100px;
    padding: 50px 0 150px;
}
.team-image-container{
    margin-bottom:20px;
}
.team-name{
    font-size: 18px;
    font-weight:700;
    text-align: center;
}
.team-title{
    font-size: 16px;
    text-align: center;
}
.team-box:last-of-type {
      grid-column-start: 2;
    grid-column-end: 2;
}
/* SINGLE PORTFOLIO PAGE */
.project-title{
    text-align: left;
    position: relative;
    font-size: 52px;
    font-weight: 700;
    line-height: 54px;
    padding: 70px 0px 25px 0px; 
    margin-bottom:25px;
    margin-top:0;
}
.project-title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 4px;
    background: #000000;
} 
.project-sub-title{
    font-size:18px;
    padding-bottom:35px;
}  
.project-description{
    padding-bottom:50px;
    /*width:70%;*/
    width:100%;
    text-align:justify;
}
.category-list{
    
}
.category-item{
    line-height:14px;
}
.cat-divider{

}
.category-item:first-of-type{
    padding-left:0;
}
.category-item:last-of-type{
    border:none;
}
.share-list a{
    font-size:16px;
    padding-right:15px;
}
.additional-info{
    display: grid;
    padding-bottom: 100px;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: auto;
    grid-gap:0px;
}
.info-title{
    padding-bottom:5px;
}
.project-info-bit{
    padding-right:10px;
}
.project-info-bit p{
    line-height:20px;
}
.additional-portfolio{
    padding: 50px 0 75px;
}
.additional-items{
    max-width: 1050px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-gap: 25px;
}
.additional-item{
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height:380px;
    position:relative;
    overflow:hidden;
}
.testimonial-image{
    width:80px;
    height:80px;
    border-radius:50%;
    margin:0 auto;
}
.testimonial-item{
    background:#f0f0f0;
    padding:0;
}
.image-item{
    height:380px;
}
.test-content{
    padding:0 20%;
}
.testimonial-name{
    font-weight: 700;
    text-transform: uppercase;
    padding: 10px 0 0;
}
.testimonial-subtitle{
    padding: 0 0 20px;
}
.testimonial-text{
    font-weight: 400;
    padding: 0 0 35px;
}
.quote-sign{
    font-size:36px;
}
.infobit-item{
    display:block;
    position:relative;
}
.infobit-container{
    width: 100%;
    padding: 0 25px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.infobit-title{
    font-size: 24px;
    padding:0 0 15px;
    text-align:center;
}
.infobit-text{
    padding: 0 10px 10px;
    text-align:center;
}
.chart-title{
    font-size: 18px;
    padding: 35px 0 10px;
}
.progress {
  width: 100%;
  height: 15px;
}
.progress-wrap {
  /*background: #f80;*/
  margin: 5px 0 15px;
  overflow: hidden;
  position: relative;
}
.progress-bar {
    background: #F0F0F0;
    left: 0;
    position: absolute;
    top: 0;
}
.bar-item-info{
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
}
.bar-left-text, .bar-right-text{
    width:50%;
}
.bar-left-text{
    text-align:left;
}
.bar-right-text{
    text-align:right;
    font-weight:700;
}
.stat-container{
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
}
.counter{
    flex:1;
    text-align: center;
    position: relative;
    margin: 5px;
    border-radius: 15px;
}
.counter-icon{
    width: 60px;
    margin: 0 auto;
}
.counter p{
    padding: 0 10px 10px;
}
.stat-number{
   display: block;
   font-size: 34px;
   line-height:38px;
   font-weight: bold;
   color: #000;
   padding:10px 0;
}
.play-video-link{
    color: #ffffff;
    font-size: 60px;
    opacity:0.85;
    transition: all ease-in-out .3s;
}
.play-video-link:hover{
    color:#ffffff;
    opacity: 1;
}
.modal-box {
    display: none;
    position: fixed;
    z-index: 1000;
    width: 80%;
    background: #000;
    border-bottom: 1px solid #aaa;
    border-radius: 4px;
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(0, 0, 0, 0.1);
    background-clip: padding-box;
}

.modal-box header,
.modal-box .modal-header {
    padding: 1.25em 1.5em;
    border-bottom: 1px solid #ddd;
}

.modal-box header h3,
.modal-box header h4,
.modal-box .modal-header h3,
.modal-box .modal-header h4 {
    margin: 0;
}

.modal-box .modal-body {
    padding: 40px 25px 25px;
}

.modal-box footer,
.modal-box .modal-footer {
    padding: 1em;
    border-top: 1px solid #ddd;
    background: rgba(0, 0, 0, 0.02);
    text-align: right;
}

.modal-overlay {
    opacity: 0;
    filter: alpha(opacity=0);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 900;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 1) !important;
}

.modal-box .close {
    font-size: 24px;
    line-height: 24px;
    position: absolute;
    top: 10px;
    right: 10px;
    text-decoration: none;
    color: #fff;
}

.modal-box .close:hover {
    cursor: pointer;
}
.modal-body video{
    width:100%;
}
/* CONTACT PAGE */
.contact-hero{
    height:400px;
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
    align-items:center;
    justify-content:center;
}
.contact-form{
    padding:50px 0 75px;
}
.intro-text{
    padding-bottom:50px;
    width:60%;
    margin:0 auto;
    text-align:center;
}
.wpcf7-form{
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
}
.form-half{
    width:50%;
}
.form-left{
    padding-right:50px;
}
.form-right{
    padding-left:50px;
}
.wpcf7-form label{
    font-size:16px;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
}
.wpcf7-response-output{
    position:absolute;
    bottom:50px;
    width:100%;
    text-align:center;
}
span.wpcf7-not-valid-tip {
    font-size:10px;
    font-weight:400 !important;
}
.form-left input, .form-right textarea{
    background-color: #fff;
    border: #000 1px solid;
    box-sizing: border-box;
    color: #000;
    font-size: 16px;
    line-height: 21px;
    padding: 12px 15px;
    width: 100%;
    border-radius: 0;
    margin:5px 0 35px;
    font-weight: 300;
    font-family: 'Montserrat', sans-serif;
}
.form-right textarea{
    height:260px;
}
.wpcf7-submit{
    color: #000;
    border: 2px solid #000;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 400;
    background: transparent;
    transition: all .5s ease;
    line-height: 43px;
    width: 100%;
    margin-top: 25px;
}
.wpcf7-submit:hover{
    color: #fff;
    background: #000;
}
/*------------------------------------*\
    BLOG
\*------------------------------------*/
.tg-webb-portfolio .tg-element-4{
    font-weight:700 !important;
}
.blog-hero{
    position:relative;
    height:400px;
    overflow:hidden;
    margin-bottom:50px;
}
.blog-title-area{
    background: rgba(0,0,0,0.5);
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    display: -webkit-flex;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-flex;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
}
.blog-title{
    margin:0;
    padding-top:5px;
}
.blog-title-area .date{
    color: #fff;
    font-size:12px;
    text-align: center;
    text-transform: uppercase;
    font-weight: 400;
    width: 100%;
}
.wrapper #share-buttons{
    display:none;
}
.author{
    color:#fff;
    text-align:center;
    text-transform: uppercase;
    font-size: 12px;
    padding-top: 20px;
}
.author a{
    color:#fff;
}
.blog-wrapper{
    max-width:850px;
    margin-bottom:50px;
}
.blog-wrapper h1, .blog-wrapper h2, .blog-wrapper h3, .blog-wrapper h4{
    font-size:24px;
    line-height:26px;
    padding-bottom:20px;
    text-transform:uppercase;
}
.blog-wrapper p{
    font-weight:300;
}
.blog-wrapper blockquote{
    padding: 25px 0px 25px 20px;
    border-left: 3px solid #000;
}
.blog-wrapper blockquote p{
    font-weight:700;
    font-size:18px;
}
.post-categories{
    list-style: none;
    padding: 75px 0 35px;
    border-bottom: 2px solid #000;
    margin-bottom: 35px;
}
.post-categories li{
    display:inline-block;
    margin-right:20px;
    line-height:40px;
    margin-bottom:0px;
}
.post-categories li a{
    pointer-events:none;
    border: 2px solid #000;
    background: transparent;
    padding: 10px 15px;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 400;
    color:#000;
    transition: all .5s ease;
}
.post-categories li a:hover{
    background: #000;
    color:#fff;
}
.related-post{
    display:none;
}
.show-related-posts .related-post{
    display:block;
    margin-bottom:50px;
}
.related-post .headline{
    text-align:center;
}
.post-list .title{
    text-align:left;
    font-weight:400;
    text-transform:uppercase;
    padding-left:10px;
}
.related-post .post-list .item{
    border:1px solid #000;

}
/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

@font-face {
    font-family: 'Celine Dion Handwriting';
    src: url('fonts/CelineDionHandwriting.eot');
    src: url('fonts/CelineDionHandwriting.eot?#iefix') format('embedded-opentype'),
        url('fonts/CelineDionHandwriting.woff') format('woff'),
        url('fonts/CelineDionHandwriting.ttf') format('truetype'),
        url('fonts/CelineDionHandwriting.svg#CelineDionHandwriting') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-Medium.eot');
    src: url('fonts/Gotham-Medium.eot?#iefix') format('embedded-opentype'),
        url('fonts/Gotham-Medium.woff') format('woff'),
        url('fonts/Gotham-Medium.ttf') format('truetype'),
        url('fonts/Gotham-Medium.svg#Gotham-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-MediumItalic.eot');
    src: url('fonts/Gotham-MediumItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/Gotham-MediumItalic.woff') format('woff'),
        url('fonts/Gotham-MediumItalic.ttf') format('truetype'),
        url('fonts/Gotham-MediumItalic.svg#Gotham-MediumItalic') format('svg');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Gotham Book';
    src: url('fonts/Gotham-BookItalic.eot');
    src: url('fonts/Gotham-BookItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/Gotham-BookItalic.woff') format('woff'),
        url('fonts/Gotham-BookItalic.ttf') format('truetype'),
        url('fonts/Gotham-BookItalic.svg#Gotham-BookItalic') format('svg');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Gotham Book';
    src: url('fonts/Gotham-Book.eot');
    src: url('fonts/Gotham-Book.eot?#iefix') format('embedded-opentype'),
        url('fonts/Gotham-Book.woff') format('woff'),
        url('fonts/Gotham-Book.ttf') format('truetype'),
        url('fonts/Gotham-Book.svg#Gotham-Book') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-Bold.eot');
    src: url('fonts/Gotham-Bold.eot?#iefix') format('embedded-opentype'),
        url('fonts/Gotham-Bold.woff') format('woff'),
        url('fonts/Gotham-Bold.ttf') format('truetype'),
        url('fonts/Gotham-Bold.svg#Gotham-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-Light.eot');
    src: url('fonts/Gotham-Light.eot?#iefix') format('embedded-opentype'),
        url('fonts/Gotham-Light.woff') format('woff'),
        url('fonts/Gotham-Light.ttf') format('truetype'),
        url('fonts/Gotham-Light.svg#Gotham-Light') format('svg');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-BoldItalic.eot');
    src: url('fonts/Gotham-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/Gotham-BoldItalic.woff') format('woff'),
        url('fonts/Gotham-BoldItalic.ttf') format('truetype'),
        url('fonts/Gotham-BoldItalic.svg#Gotham-BoldItalic') format('svg');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-Thin.eot');
    src: url('fonts/Gotham-Thin.eot?#iefix') format('embedded-opentype'),
        url('fonts/Gotham-Thin.woff') format('woff'),
        url('fonts/Gotham-Thin.ttf') format('truetype'),
        url('fonts/Gotham-Thin.svg#Gotham-Thin') format('svg');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Gotham';
    src: url('fonts/Gotham-LightItalic.eot');
    src: url('fonts/Gotham-LightItalic.eot?#iefix') format('embedded-opentype'),
        url('fonts/Gotham-LightItalic.woff') format('woff'),
        url('fonts/Gotham-LightItalic.ttf') format('truetype'),
        url('fonts/Gotham-LightItalic.svg#Gotham-LightItalic') format('svg');
    font-weight: 300;
    font-style: italic;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (min-width:1400px) {
    .slide-title{
        padding: 0 15%;
    }
}
@media only screen and (max-width:1100px) {
    .wrapper{
        max-width:90%;
    }
    .careers-wrapper {
        max-width: 90%;
    }
    .additional-items{
        max-width:90%;
    }
    .form-left{
        padding-right:25px;
    }
    .form-right{
        padding-left:25px;
    }
}
@media only screen and (max-width:950px) {
    .slide-title, .section-title, .quadrant-title{
        font-size:36px;
        line-height:40px;
    }
    .team-page{
        grid-gap: 75px;
        padding: 50px 0 100px;
    }
    .project-title{
        font-size:36px;
        line-height:40px;
    }
    .team-text span{
        font-size:36px;
        line-height:40px;
    }
    .team-text {
        padding: 150px 0;
    }
    .about-hero-head{
        font-size:60px;
        line-height:70px;
    }
    .footer ul li{
        display:block;
        padding:5px 0;
    }
    #social-menu ul li{
        display:inline-block;
    }
    .backlash-divider{
        display:none !important;
    }
    .service-content-text{
        width:400px;
    }
    #icon-list{
        display: block;
        max-width:60%;
    }
    .icon-box {
        border-right:none;
        margin:35px 0;
    }
    .client-container {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .team-text{
        width: 500px;
    }
    .intro-text {
        width: 80%;
    }
    .stat-container {
        width: 100%;
    }
    .menu-fill{
        height:49px;
    }
    .home-bottom-wrapper{
        padding: 50px 0;
    }
}
@media only screen and (max-width:768px) {
    .team-page{
        grid-template-columns: 1fr 1fr;
    }
    .home-bottom-wrapper{
        padding: 25px 0;
    }
    .hero-slider, .slick-slide, .center-slide, .hero-slide-background{
        height:480px;
    }
    .quadrant-container{
        grid-template-columns:1fr;
    }
    .slide-title{
        padding:0 10%;
    }
    .background-img-title{
        padding-left: 15%;
        padding-right: 15%;
    }
    .value-container {
        grid-gap: 50px 50px;
    }
    .client-container {
        grid-template-columns: 1fr 1fr;
    }
    .client-container-home{
        grid-template-columns: 1fr 1fr 1fr;
    }
     .additional-items{
        grid-template-columns: 1fr;
    }
    .stat-container {
        width: 100%;
    }
    .additional-item img {
        width: 100%;
        height: auto;
    }
    .additional-info {
        grid-template-columns: 1fr 1fr;
        grid-gap: 30px 0px;
    }
    .project-description {
        width: 100%;
    }
    .wpcf7-form{
        display:block;
    }
    .form-half{
        width:100%;
    }
    .form-left{
        padding-right:0px;
    }
    .form-right{
        padding-left:0px;
    }
    .contact-hero {
        height: 300px;
    }
    .category-list{
        flex-wrap:wrap;
    }
    .category-item {
        line-height: 14px;
        padding: 0 0 5px;
        width: 100%;
        border-right: none;
    }
}
@media only screen and (max-width:625px) {
    .service-content-text{
        width:350px;
    }
    .value-container {
        grid-template-columns: 1fr;
        grid-gap: 40px;
    }
    .our-values {
        padding: 40px 0 75px;
    }
    .team-text{
        width: 350px;
    }
    .team-text span{
        font-size:24px;
        line-height:30px;
    }
    .related-post .post-list .item {
        width: 28% !important;
    }
    .client-container-home{
        grid-template-columns: 1fr 1fr;
    }
    .team-page{
        grid-gap: 50px;
        padding: 50px 0 75px;
    }
}
@media only screen and (max-width:500px) {
    .team-page{
        grid-template-columns: 1fr;
    }
    .team-box{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .team-box:last-of-type {
        grid-column-start: 1;
        grid-column-end: 1;
    }
    .service-section{
        height:auto;
    }
    #webb-equation{
        display: block;
        justify-content: center;
        align-items: center;
        text-align: center;
        margin-top:50px;
        margin-bottom:75px;
    }
    .service-content-all{
        margin:75px 0;
    }
    .value-box {
        padding: 0 20px;
    }
    .client-container {
        grid-template-columns: 1fr;
        grid-gap:15px;
    }
    .client-container-home{
        grid-template-columns: 1fr;
    }
    .additional-item{
        height:auto;
    }
    .testimonial-item{
        padding:25px 0px;
    }
    .image-item{
        height:300px;
    }
    .form-left input, .form-right textarea{
        margin:5px 0 20px;
    }
    .wpcf7-submit{
        margin-top:15px;
    }
    .intro-text {
        width: 90%;
    }
    .related-post .post-list .item {
        width: 100% !important;
        margin: 0 0 20px 0;
    }
    .post-categories li{
        display:block;
        margin-bottom:10px;
    }
    .career-content {
        margin: 35px auto;
    }
    #flexmenu ul li a{
        font-size:14px;
    }
    #flexmenu ul ul li a{
        font-size:12px;
    }
    .footer ul li a{
        font-size:14px;
    }
    #footer-contact-info ul li a{
        font-size:12px;
    }
    .home-bottom-wrapper{
        padding:0;
    }
}
@media only screen and (max-width:450px) {
    .slide-title, .section-title, .quadrant-title{
        font-size:24px;
        line-height:30px;
    }
    .project-title{
        font-size:24px;
        line-height:30px;
    }
    .team-text {
        padding: 100px 0;
        width:80%;
    }
    .client-logo {
        max-height: 25px;
    }
    .about-hero-head{
        font-size:48px;
        line-height:60px;
    }
    .page-hero{
        height:360px;
    }
    .slide-title{
        padding:0;
    }
    .service-content-text{
        width:80%;
    }
    #icon-list{
        max-width:80%;
    }
    .client-container {
        padding: 30px 0 50px;
    }
    .additional-info {
        padding-bottom: 75px;
    }
    .project-title {
        padding: 35px 0px 25px 0px;
    }
    .image-item {
        height: 250px;
    }
    .stat-number {
        font-size: 24px;
        line-height: 26px;
    }
    .counter i {
        font-size: 32px;
    }
    .intro-text {
        width: 100%;
    }
    .contact-hero {
        height: 200px;
    }
    .stat-container {
        display:block;
    }
    .counter {
        width: 100%;
        margin: 0 0 10px;
    }
}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 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 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.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 {

}

/*------------------------------------*\
    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;
	}
}