/* ------------------------------------------------------------------------- */
/* ------ Fonts ------------------------------------------------------------ */
/* ------------------------------------------------------------------------- */

body { font-family: 'Open Sans', sans-serif; -webkit-font-smoothing: antialiased; color: #4d4d4d; }

button, input, textarea, select { font-family: 'Open Sans', sans-serif; }

.f11-w300 { font-size: 11px; font-weight: 300; }
.f11-w700 { font-size: 11px; font-weight: 700; }

.f12-w700 { font-size: 12px; font-weight: 700; }

.f13-w300 { font-size: 13px; font-weight: 300; }
.f13-w400 { font-size: 13px; font-weight: 400; }
.f13-w600 { font-size: 13px; font-weight: 600; }
.f13-w700 { font-size: 13px; font-weight: 700; }

.f15-w700 { font-size: 15px; font-weight: 700; }

.f16-w300 { font-size: 16px; font-weight: 300; }

.f20-w700 { font-size: 20px; font-weight: 700; }

.f21-w300 { font-size: 21px; font-weight: 300; }
.f21-w600 { font-size: 21px; font-weight: 600; }
.f21-w700 { font-size: 21px; font-weight: 700; }

.f24-w700 { font-size: 24px; font-weight: 700; }

.f26-w300 { font-size: 26px; font-weight: 300; }
.f26-w600 { font-size: 26px; font-weight: 600; }

.f44-w300 { font-size: 44px; font-weight: 300; }
.f44-w700 { font-size: 44px; font-weight: 700; }

/* ------------------------------------------------------------------------- */
/* ------ Pre- & Resets ---------------------------------------------------- */
/* ------------------------------------------------------------------------- */

html, body, h1, h2, h3, h4, h5, h6, p, ul, ol, figure { padding: 0; margin: 0; }
body { overflow-x: hidden; }
h1, h2, h3, h4, h5, h6, p, div, a, ul, li {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
a, a:link, a:visited, a:hover, a:active { text-decoration: none; outline: none; }
ul, ol { list-style: none; }

a img { border: none; }

/* ------------------------------------------------------------------------- */
/* ------ Colors ----------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

.whitbg { background-color: #fff; }
.bluebg { background-color: #016ab2; }
.yellbg { background-color: #ecb000; }
.purpbg { background-color: #a23988; }
.turqbg { background-color: #00abe3; }

.darker-purpbg { background-color: #B0579A; }

.bluetxt { color: #016ab2 !important; }
.yelltxt { color: #ecb000 !important; }
.purptxt { color: #a23988 !important; }
.turqtxt { color: #00abe3 !important; }
.whittxt { color: #fff; }

/* ------------------------------------------------------------------------- */
/* ------ General ---------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

.overflow-limit { overflow: hidden; }

.fix-max-width { max-width: 1080px; margin: 0 auto; }

a:not(.grid-item), a:not(.grid-item) span {
    -webkit-transition: all .25s;
    -moz-transition: all .25s;
    -ms-transition: all .25s;
    -o-transition: all .25s;
    transition: all .25s;
}

.col-push-1 { width: 10%; }

.col-1-3, .col-2-3, .col-1-2, .col-1-4, .col-push-1 {
    float: left;
    padding: 0 15px;
    min-height: 1px;
}

.col-1-2 { width: 50%; }
.col-1-3 { width: 33.3333333%; }
.col-1-4 { width: 25%; }
.col-2-3 { width: 66.6666666%; }

.topbar a:hover,
.topbar a:hover span,
.footer .sitemap a:hover {
    color: #cfcfcf;
}

.header-banner {
    height: 225px;
    display: table;
    width: 100%;
}

.header-banner .banner-content {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.header-banner .banner-content p {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 15px;
}

.header-banner img {
    max-height: 72px;
    max-width: 55px;
    margin-bottom: 25px;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.home-banner,
.tech-partners-banner,
.tech-services-banner,
.project-banner {
    background-attachment: fixed;
    height: 400px;
    background-size: cover;
    background-position: 50% 50%;
}

.home-services h2,
.home-history h2,
.about-container h2,
.history-container h2,
.it-container h2,
.re-container h2,
.project-container h2,
.project-partners h2,
.tech-container h2 {
    padding: 65px 0;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.more-info-dot {
    position: absolute;
    bottom: 75px;
    left: 50%;
    text-transform: uppercase;
    text-align: center;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.more-info-dot img,
.more-info-dot span {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.more-info-dot img {
    margin-bottom: 8px;
    width: 12px;
    height: 12px;
    -webkit-transition: all .3s;
    -moz-transition:  all .3s;
    -ms-transition:  all .3s;
    -o-transition:  all .3s;
    transition:  all .3s;
}

.hidden-on-desktop { display: none; }

.menu,
.home-services,
.home-history,
.tech-partners,
.tech-services,
.project-header,
.project-partners
    { background-color: #fff; }

.t-center { text-align: center; }

/* ------------------------------------------------------------------------- */
/* ------ Top Bar ---------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

.topbar { padding: 0 70px; overflow: hidden; }
.topbar .topbar-contact { float: left; }
.mlg-switch { float: right; }
.mlg-switch li { display: inline-block; }
.topbar a, .topbar span {
    height: 40px;
    line-height: 40px;
    color: #fff;
    padding: 0 5px;
    text-transform: uppercase;
}

.topbar a img,
.footer .sitemap img {
    width: 16px;
}

.topbar .mlg-switch span { text-decoration: underline; }

.topbar .fixed-max-width { position: relative; }

.topbar .topbar-menu { 
    position: absolute;
    top: 5px;
    left: 50%;
    overflow: hidden;
    display: table;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.topbar .topbar-menu a { font-weight: 400; }

.topbar .topbar-menu li { float: left; padding: 0 35px; }

.topbar .topbar-menu li a.whitbg {
    padding: 5px 30px 15px 30px;
    margin: 0 -30px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

/* ------------------------------------------------------------------------- */
/* ------ Menu ------------------------------------------------------------- */
/* ------------------------------------------------------------------------- */
.menu-container { position: relative; }
.menu {
    height: 150px;
    display: table;
    max-width: 475px;
    width: 100%;
    padding: 0 15px 25px 15px;
}

.menuLeft, .menuRight {
    display: table-cell;
    position: relative;
}

.footer .footer-logo img
    { width: 275px; }

.menu-container .menuLogo {
    position: absolute;
    top: 50px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    z-index: 100;
}

.menu-container .menuLogo img {
    height: 25px;
    width: auto;
    display: block;
    margin: 0 auto;
}

.menu-container .menuLogo.hx2 { top: 25px; }
.menu-container .menuLogo.hx2 img { height: 50px; }

.menu .ulclassul {
    position: absolute;
    bottom: -10px;
    width: 100%;
    display: table;
    text-align:center;
}

.menu ul {
	margin:auto;
	display:inline;
}

.menu ul li {
    /*float: left;*/
    /*width: 33.333333%;*/
    padding-left:13px;
    padding-right:13px;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}

.menu ul li.d3 { width: 33.33333%; }
.menu ul li.d4 { width: 25%; }
.menu ul li.d5 { width: 20%; }

.menu ul li a {
    text-transform: uppercase;
    color: #888;
}

.menu ul li a:hover { color: #4d4d4d; }

/* ------------------------------------------------------------------------- */
/* ------ Slider ----------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

.slider-container, .slider, .slider .slide {
    position: relative;
    height: 480px;
}

.slider-container .slider-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 480px;
}

.slider .slick-prev { left: 80px; z-index: 10; }
.slider .slick-next { right: 80px; z-index: 10;  }

.slider .slide {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.slider .slide .slide-content {
    height: 100%;
    width: 100%;
    background-color: rgba(1, 106, 178, 0.75);
    display: table;
}

.slider .slide .slide-content .slide-center-content {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.slider .slide .slide-content .slide-center-content h2 { margin-bottom: 10px; }
.slider .slide .slide-content .slide-center-content p { width: 65%; margin: 0 auto; }

.slick-next, .slick-prev, .slick-next:hover, .slick-prev:hover, .about-business-container .slick-next:before, .about-business-container .slick-prev:before {
    height: 36px;
    width: 20px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    -webkit-transition: all .3s;
    -moz-transition:  all .3s;
    -ms-transition:  all .3s;
    -o-transition:  all .3s;
    transition:  all .3s;
}

.slick-next { background-image: url('../img/next_arrow.png'); }
.slick-prev { background-image: url('../img/prev_arrow.png'); }

.about-business-container .slick-next:before { background-image: url('../img/slider_arrow_next.png'); content: ' '; display: table; }
.about-business-container .slick-prev:before { background-image: url('../img/slider_arrow_prev.png'); content: ' '; display: table; }
.about-business-container .slick-prev { left: -35px; }
.about-business-container .slick-next { right: -35px; }

.slick-next:before, .slick-prev:before {
    content: ' ';
}

div:not(.about-business-container) .slick-next:hover, div:not(.about-business-container) .slick-prev:hover {
    -webkit-transform: scale(1.1) translate(0, -50%);
    -moz-transform: scale(1.1) translate(0, -50%);
    -ms-transform: scale(1.1) translate(0, -50%);
    -o-transform: scale(1.1) translate(0, -50%);
    transform: scale(1.1) translate(0, -50%);
}

.slick-next:hover { background-image: url('../img/next_arrow.png'); }
.slick-prev:hover { background-image: url('../img/prev_arrow.png'); }

/* ------------------------------------------------------------------------- */
/* ------ Tabs ------------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

.tabs {
    max-width: 980px;
    margin: 0 auto;
}

.tabs > ul {
    border-bottom: 1px solid #b2b2b2;
    height: 58px;
}

.tabs > ul li {
    float: left;
    text-align: center;
    color: #b2b2b2;
    padding: 20px 30px;
}

.tabs > ul li span, .tabs > ul li div { cursor: pointer; display: inline-block; position: relative; max-height: 18px; }
.tabs > ul li span:hover { color: #4d4d4d; }
.tabs.ict-tabs > ul li:first-of-type { text-align: right; }
.tabs.ict-tabs > ul li:last-of-type { text-align: left; }

.tabs.ict-tabs > ul li { padding: 20px 50px; }

.tabs > div:not(:first-of-type) { display: none; }

.tabs > ul li span.f13-w600 .bottom-line,
.tabs > ul li div.f13-w600 .bottom-line {
    position: absolute;
    bottom: -20px;
    height: 1px;
    width: 120%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.tabs .tab-content {
    padding: 50px 30px;
    position: relative;
}

.tabs .tab-content .col-2-3 { padding: 0 0 0 60px; }

.tabs .tab-content .col-2-3 ul { font-size: 13px; font-weight: 300; line-height: 24px; }
.tabs .tab-content .col-2-3 ul li { position: relative; padding-left: 15px; }
.tabs .tab-content .col-2-3 ul li:before {
    position: absolute;
    left: 0;
    top: 0;
    content: '-';
}

.tabs .tab-content .col-2-3 a {
    position: relative;
    padding-left: 25px;
    display: inline-block;
    margin-top: 20px;
}

.tabs .tab-content .col-2-3 a img {
    width: 15px;
    left: 0;
    -webkit-transition: all .3s;
    -moz-transition:  all .3s;
    -ms-transition:  all .3s;
    -o-transition:  all .3s;
    transition:  all .3s;
}
.tabs .tab-content .col-2-3 a span { text-transform: uppercase; }
.tabs .tab-content h3 { text-transform: uppercase; }

.tabs .tab-content img {
    width: 30%;
    position: absolute;
    top: 50%;
    left: 30px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.tabs .tab-content p {
    padding: 10px 0 10px 0;
    line-height: 24px;
}

/* ------------------------------------------------------------------------- */
/* ------ Homepage --------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

.home-service-container,
.home-history {
    max-width: 880px;
    margin: 0 auto;
    position: relative;
    padding: 0 15px;
}

.home-service-container { padding-bottom: 60px; }

.home-service-block {
    float: left;
    width: 33.33333333%;
    padding: 0 6px;
    text-align: center;
    position: relative;
    opacity: 0;
}

.home-service-block a {
    padding: 35px 50px;
    min-height: 300px;
    display: block;
}

.home-service-block h3 { text-transform: uppercase; }
.home-service-block p { line-height: 24px; }

.home-service-block .home-service-image-wrapper {
    position: relative;
    display: table;
    height: 100px;
    width: 100%;
    padding-bottom: 25px;
}

.home-service-block figure {
    display: table-cell;
    vertical-align: bottom;
}

.home-service-block figure img {
    max-width: 60px;
    vertical-align: bottom;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.home-service-block:hover figure img,
.project-tile:hover img,
.tech-service-block:hover img,
.more-info-dot:hover img,
.tabs .tab-content .col-2-3 a:hover img,
.header-banner img:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
}

.tabs .tab-content .col-2-3 a:hover img {
    -webkit-transform: scale(1.2) translateY(-50%);
    -moz-transform: scale(1.2) translateY(-50%);
    -ms-transform: scale(1.2) translateY(-50%);
    -o-transform: scale(1.2) translateY(-50%);
    transform: scale(1.2) translateY(-50%);
}

.home-banner { background-image: url('../img/home_banner_new.jpg'); }

.home-history { padding-bottom: 90px; }

.home-history .more-info-dot { bottom: 50px; }

.home-history p {
    text-align: center;
    line-height: 24px;
    padding: 0 0 50px 0;
}

/* ------------------------------------------------------------------------- */
/* ------ About Us --------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

.about-business { border-top: 1px solid #888; }

.about-container, .history-container { overflow-x: hidden; }

.about-business-container {
    margin: 0 auto 60px auto;
    width: 85%;
    max-width: 1000px;
}

.about-business-container .about-business-block {
    /*width: 20%;*/
    /*float: left;*/
    height: 160px;
    padding: 0 10px;
    display: table;
}

.about-business-container .about-business-block a {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    background-color: transparent;
    padding: 0 10px;
    background-color: #f0f0f0;
    /*-webkit-transition: all 0.7s ease;*/
    /*-moz-transition: all 0.7s ease;*/
    /*-ms-transition: all 0.7s ease;*/
    /*-o-transition: all 0.7s ease;*/
    /*transition: all 0.7s ease;*/
}

.about-business-container .slick-slide img { display: inline; }

.about-business-container .about-business-block img {
    max-width: 100%;
    max-height: 70px;
}

/* ------------------------------------------------------------------------- */
/* ------ Real Estate ------------------------------------------------------ */
/* ------------------------------------------------------------------------- */

.re-container .tabs > ul li { text-transform:  uppercase; }
.re-container .tabs .tab-content p { text-align: center; }
.re-portfolio { background-color: #f0f0f0; }
.grid-container { padding: 75px 40px 65px 40px; }

.grid:after {
    content: '';
    display: block;
    clear: both;
}

.grid-item,
.grid-sizer
    { width: 25%; }

.grid-item {
    float: left;
    height: 275px;
    padding: 5px;
}

.grid-item--width2 { width: 50%; }
.grid-item--height2 { height: 550px; }
.grid-item .project {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}
/*.grid-item.com .project { background-color: #f63; }*/
/*.grid-item.res .project { background-color: #36f; }*/

.grid-item .project .project-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    max-height: 0;
    width: 100%;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;

    padding-top: 0;
    background: transparent; /* Old browsers */
    background: -moz-linear-gradient(top, transparent 0%, #333 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,transparent), color-stop(100%,#333)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, transparent 0%,#333 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, transparent 0%,#333 100%); /* Opera11.10+ */
    background: -ms-linear-gradient(top, transparent 0%,#333 100%); /* IE10+  */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='transparent', endColorstr='#333',GradientType=0 ); /* IE6-9 */
    background: linear-gradient(top, transparent 0%,#333 100%); /* W3C */
}

.grid-item .project .project-overlay p { text-align: center; }

.grid .project:hover .project-overlay,
.grid-item .project .project-overlay:hover
    { padding-top: 80px; }

.grid-item.grid-item--height2 .project:hover .project-overlay,
.grid-item.grid-item--height2 .project .project-overlay:hover
    { padding-top: 150px; }

.grid-item .project:hover .project-overlay,
.grid-item .project .project-overlay:hover {
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    max-height: 50%;

}

/* ------------------------------------------------------------------------- */
/* ------ Real Estate Project ---------------------------------------------- */
/* ------------------------------------------------------------------------- */

.hover_gallerie:hover{
	transition: all 0.1s linear;
	transform: scale(1.02);
}

.project-container .project-banner {
    background-image: url('../img/slide_img.jpg');
    position: relative;
    height: 225px;
}

.project-container .project-banner .gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: transparent; /* Old browsers */
    background: -moz-linear-gradient(top, transparent 0%, #333 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,transparent), color-stop(100%,#333)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, transparent 0%,#333 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, transparent 0%,#333 100%); /* Opera11.10+ */
    background: -ms-linear-gradient(top, transparent 0%,#333 100%); /* IE10+  */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='transparent', endColorstr='#333',GradientType=0 ); /* IE6-9 */
    background: linear-gradient(top, transparent 0%,#333 100%); /* W3C */

}

.project-banner a {
    display: block;
    position: absolute;
    bottom: 30px;
    left: 55px;
    text-transform: uppercase;
    z-index: 5;
}

.project-banner h1 {
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    text-align: center;
    line-height: 1;
    padding: 0 15px;
}

.project-container .project-header {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
    padding: 0 15px;
}

.project-container .project-header h2 {padding-bottom: 35px; }
.project-container .project-header p { padding-bottom: 65px; line-height: 24px; }
.project-container .project-tiles-container { padding: 50px 40px; }
.project-container .project-tiles-container .project-tiles-wrapper { overflow: hidden; display: table; margin: 0 auto; max-width: 1050px; }

.gallerie-tile{
	width: 25%;
}

.project-container .project-tiles-container .project-tiles-wrapper .project-tile {
    float: left;
    width: 20%;
    border: 15px solid #fff;
    opacity: 0;
    overflow: hidden;
}

.project-container .project-tiles-container.info-tiles .project-tiles-wrapper .project-tile { max-width: 20%; }
.project-container .project-tiles-container.specs .project-tiles-wrapper .project-tile { overflow: hidden; }
.project-container .project-tiles-container.darker-purpbg .project-tiles-wrapper .project-tile { border: 15px solid #B0579A; }
.project-container .project-downloads { padding-bottom: 65px; }

.project-container .project-tiles-container .project-tiles-wrapper .project-tile .project-item {
    height: 100%;
    width: 100%;
    background-color: #a23988;
    text-align: center;
    padding: 30px 30px 1030px 30px;
    margin-bottom: -1000px;
}

.project-container .project-tiles-container .project-tiles-wrapper .project-tile .project-item img {
    height: 30px;
    margin-bottom: 5px;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.project-container .project-tiles-container .project-tiles-wrapper .project-tile .project-item h3 { margin-bottom: 20px; }
.project-container .project-tile .project-item .full-txt { display: none; position: relative; top: -40px; }
.project-container .project-tile .project-item .project-read-more { text-decoration: underline; cursor: pointer; }
.project-container .project-tile .project-item .project-read-more:hover { text-decoration: none; }
.project-downloads { background-color: #fff; }
.project-downloads .project-download-links { display: table; margin: 0 auto; }
.project-downloads .project-single-download {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding: 0 50px;
}

.project-downloads .project-single-download > img { max-height: 50px; max-width: 45px; margin-bottom: 15px; }
.project-downloads .project-single-download a img { width: 10px; height: auto; margin-right: 5px; }

.project-video {
    display: table;
    height: 330px;
    width: 100%;
    position: relative;
}

.project-video .video-overlay .video-bg-placeholder {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: 50% 50%;
    z-index: -1;
}

.project-video .video-overlay {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    background-color: rgba(255,255,255,0.5);
}

.project-video .video-overlay h2 { padding: 0; }
.project-video .video-overlay img {
    width: 130px;
    margin-bottom: 30px;
    cursor: pointer;
}

.project-video .homepage-hero-module {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.project-video .homepage-hero-module .fillWidth {
    height: 100%;
    width: 100%;
}

.project-video .video-close-button {
    display: none;
    position: absolute;
    top: 15px;
    right: 20px;
    height: 20px;
    width: 20px;
    background-image: url(../img/close_button.png);
    background-size: contain;
    background-position: 50% 50%;
    cursor: pointer;
    z-index: 5;
}

.project-video.open .video-close-button { display: block; }

.project-video .video-container { height: 100%; }

.wi_25{
	width:25%;
}
.wi_33{
	width:33.3333333333%;
}
.wi_50{
	width:50%;
}
.wi_100{
	width:100%;
}

/* ------------------------------------------------------------------------- */
/* ------ Tech ------------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

.tech-container .tabs > ul { display: table; width: 100%; }
.tech-container .tabs > ul li {
    text-transform: uppercase;
    padding: 20px 30px;
    float: none;
    display: table-cell;
    vertical-align: middle;
}

.tech-container .tabs > ul li span {
    display:inline-block;
}

.tech-container .tabs > ul li span::after {
    display: block;
    content: attr(title);
    font-weight: bold;
    height: 1px;
    color: transparent;
    overflow: hidden;
    visibility: hidden;
    margin-bottom: -1px;
}

.tech-partners-banner { background-image: url('../img/light-man-hand-pen.jpg'); }
.tech-services-banner { background-image: url('../img/510009422.jpg'); }

.tech-container .tech-services {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
    padding: 0 15px;
}

.tech-services h2 { padding-bottom: 35px; }
.tech-services p { padding-bottom: 65px; line-height: 24px; }
.tech-services-container:not(.jobs) { 
	padding: 50px 0; 
/*	background-color: #4dd2ff; */
}

.tech-services-container .tech-services-wrapper {
    max-width: 980px;
    overflow: hidden;
    margin: 0 auto;
    padding: 0 15px;
}

.tech-services-container .tech-services-wrapper .tech-service-block {
    height: 175px;
    width: 25%;
    padding: 7px;
    float: left;
    display: table;
    opacity: 0;
}

.tech-services-container .tech-services-wrapper .tech-service-block .tech-service-item {
    height: 100%;
    width: 100%;
    background-color: #00abe3;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}

.tech-services-container .tech-services-wrapper .tech-service-block .tech-service-item p {
    position: absolute;
    bottom: 25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    padding-bottom: 0; 
}

.tech-services-container .tech-services-wrapper .tech-service-block .tech-service-item img {
    max-height: 60px;
    max-width: 50px;
    margin-bottom: 45px;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

/* ------------------------------------------------------------------------- */
/* ------ Contact ---------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

input, button, textarea, select {
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    border: none;
    height: 45px;
    background-color: transparent;
    color: #fff;
    display: inline-block;
}

::-webkit-input-placeholder { color: #fff; }
:-ms-input-placeholder { color: #fff; }
:-moz-placeholder { color: #fff; opacity: 1; }
::-moz-placeholder { color: #fff; opacity: 1; }

.contact-container { padding: 60px 15px; margin-bottom: 5px; }
.contact-container h2 { text-align: center; margin-bottom: 25px; padding: 0; }
.contact-container p { text-align: center; margin-bottom: 40px; }

.contact-form {
    width: 460px;
    margin: 0 auto;
}

.contact-form input,
.contact-form textarea,
.contact-form select,
.contact-form .contact-button {
    border: 1px solid #ffffff;
    border: 1px solid rgba(255,255,255,0.3);
    width: 100%;
    margin-bottom: 25px;
    padding: 0 25px;
    -webkit-transition: all 0.30s ease-in-out;
    -moz-transition: all 0.30s ease-in-out;
    -ms-transition: all 0.30s ease-in-out;
    -o-transition: all 0.30s ease-in-out;
    transition: all 0.30s ease-in-out;
    outline:none;
}

.bluebg .contact-form input:focus,
.bluebg .contact-form textarea:focus,
.bluebg .contact-form select:focus,
.bluebg .contact-form .contact-button:hover {
    box-shadow: 0 0 5px rgb(81, 203, 238);
    border: 1px solid rgb(255, 255, 255);
}

.yellbg .contact-form input:focus,
.yellbg .contact-form textarea:focus,
.yellbg .contact-form select:focus,
.yellbg .contact-form .contact-button:hover {
    box-shadow: 0 0 5px rgb(255, 223, 128);
    border: 1px solid rgb(255, 255, 255);
}

.turqbg .contact-form input:focus,
.turqbg .contact-form textarea:focus,
.turqbg .contact-form select:focus,
.turqbg .contact-form .contact-button:hover {
    box-shadow: 0 0 5px rgb(128, 223, 255);
    border: 1px solid rgb(255, 255, 255);
}

.purpbg .contact-form input:focus,
.purpbg .contact-form textarea:focus,
.purpbg .contact-form select:focus,
.purpbg .contact-form .contact-button:hover {
    box-shadow: 0 0 5px rgb(222, 161, 207);
    border: 1px solid rgb(255, 255, 255);
}

.contact-form input.missing,
.contact-form textarea.missing,
.contact-form select.missing
    { border: 1px solid rgba(255,0,0,1); }

.contact-form textarea { height: 200px; padding: 15px 25px; /*resize: none;*/ }
.contact-form .contact-button { cursor: pointer; background-color: #fff; }

.contact-form select {
    background-image:
            url('../img/select_arrow.png'),
            linear-gradient(to right, rgba(255,255,255,0.3), rgba(255,255,255,0.3));
    background-position:
            right 15px bottom 50%,
            100% 0;
    background-size:
            13px 12px,
            45px 100%;
    background-repeat: no-repeat;
}

/* ------------------------------------------------------------------------- */
/* ------ Footer ----------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

.footer { padding: 35px 70px; position: relative; }
.footer .footer-logo {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.footer .sitemap {
    float: right;
    width: 485px;
    text-transform: uppercase;
}
.footer .sitemap > div:last-of-type a {
    /*text-align: right;*/
}

.footer .sitemap ul li:first-of-type { margin-bottom: 10px; }

.footer .sitemap .line {
    width: 100%;
    height: 1px;
    background-color: #fff;
    margin-bottom: 35px;
}

.footer .sitemap a {
    color: #fff;
    padding: 4px 0;
    display: block;
}

.footer .sitemap ul li:first-of-type a { padding: 0; }
.footer .sitemap ul li:first-of-type a span { padding-left: 5px; }
.footer .sitemap ul li img { vertical-align: middle; }




/* ------------------------------------------------------------------------- */
/* ------ Timeline --------------------------------------------------------- */
/* ------------------------------------------------------------------------- */

.timeline {
    width: 80%;
    margin: 0 auto;
}

.come-in {
    opacity: 0;
    -webkit-transform: translateY(150px);
    -moz-transform: translateY(150px);
    -ms-transform: translateY(150px);
    -o-transform: translateY(150px);
    transform: translateY(150px);
}

.come-in:nth-child(1),
.tech-services-wrapper .come-in:nth-child(5) {
    -webkit-animation: come-in 0.3s ease-in-out forwards;
    -o-animation: come-in 0.3s ease-in-out forwards;
    animation: come-in 0.3s ease-in-out forwards;
}

.come-in:nth-child(2),
.tech-services-wrapper .come-in:nth-child(6) {
    -webkit-animation: come-in 0.6s ease-in-out forwards;
    -o-animation: come-in 0.6s ease-in-out forwards;
    animation: come-in 0.6s ease-in-out forwards;
}

.come-in:nth-child(3),
.tech-services-wrapper .come-in:nth-child(7) {
    -webkit-animation: come-in 0.9s ease-in-out forwards;
    -o-animation: come-in 0.9s ease-in-out forwards;
    animation: come-in 0.9s ease-in-out forwards;
}

.come-in:nth-child(4),
.tech-services-wrapper .come-in:nth-child(8) {
    -webkit-animation: come-in 1.2s ease-in-out forwards;
    -o-animation: come-in 1.2s ease-in-out forwards;
    animation: come-in 1.2s ease-in-out forwards;
}

.come-in:nth-child(5) {
    -webkit-animation: come-in 1.5s ease-in-out forwards;
    -o-animation: come-in 1.5s ease-in-out forwards;
    animation: come-in 1.5s ease-in-out forwards;
}

@-moz-keyframes come-in {
    to {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@-ms-keyframes come-in {
    to {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@-o-keyframes come-in {
    to {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@-khtml-keyframes come-in {
    to {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@-webkit-keyframes come-in {
    to {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes come-in {
    to {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}
