/* Copyright 1999-2017. Parallels IP Holdings GmbH. All Rights Reserved. */
@import url('https://fonts.googleapis.com/css?family=Dosis:200,600,800&subset=latin');
@import url('https://fonts.googleapis.com/css?family=Roboto:400,400i,700&subset=latin');

html {
    /*font: normal 13px/1.4 "Dosis", "Helvetica Neue", Helvetica, sans-serif;*/
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    overflow-y: scroll;
    color: #000;
}
html,
body {
    height: 100%;
    min-height: 100%;
}
body { margin: 0; }
a { background-color: transparent; }
a:active,
a:hover { outline: 0; }
a {
    color: #2498e3;
    text-decoration: none;
    cursor: pointer;
}
a:hover {
    color: #188dd9;
    text-decoration: underline;
}
img {
    box-sizing: border-box;
    border: 0;
    vertical-align: middle;
    -ms-interpolation-mode: bicubic;
}
.page-container {
    position: relative;
    display: table;
    width: 100%;
    height: 100%;
    table-layout: fixed;
}
.page-header-wrapper,
.page-content-wrapper,
.page-footer-wrapper {
    box-sizing: border-box;
    display: table-row;
}
.page-content-wrapper { height: 100%; }
.page-header {
    padding: 0 10px;
    min-height: 50px;
    border-bottom: 1px solid #1c2229;
    background: #222a32;
}
.page-header:before,
.page-header:after {
    display: table;
    content: "";
}
.page-header:after { clear: both; }
.page-content {
    margin: auto;
    padding: 20px 10px;
    max-width: 960px;
}
.page-footer {
    padding: 5px 10px;
    text-align: center;
    color: rgba(255, 255, 255, 0.6);
    border-top: 1px solid #38444f;
    background: #222a32;
    font-size: 12px;
    line-height: 24px;
}
.page-footer a,
.page-footer a:hover {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.6);
}
.page-footer .separator {
    width: 1px;
    display: inline-block;
    height: 12px;
    vertical-align: -2px;
    margin: 0 5px;
    background: rgba(255, 255, 255, 0.6);
}
.product-logo { float: left; }
.product-logo img { height: 50px; }
.company-logo {
    float: right;
    margin-top: 9px;
}
.company-logo img { height: 31px; }
.page-info-wrapper { margin-bottom: 15px; }
.page-info {
    box-sizing: border-box;
    padding: 20px;
    border: 1px solid #ccc;
    background: #f2f2f2;
}
.page-info-heading {
    margin: 0 0 15px;
    font-size: 20px;
    line-height: 24px;
}
.page-info p,
.page-info ul { margin: 15px 0; }
.page-info ul { padding-left: 20px; }
.product-info-wrapper p {
    margin: 0 0 15px;
    padding: 0;
}
.product-info-wrapper { margin: 0 -10px; }
.product-info-wrapper:before,
.product-info-wrapper:after {
    display: table;
    content: "";
}
.product-info-wrapper:after { clear: both; }
.product-info-wrapper .col {
    float: left;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 15px;
    padding: 0 10px;
}

.product-info-wrapper ul.links {
    display: inline-block;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #ddd;
    text-align: center;
}
.links > li {
    display: inline-block;
    float: left;
    vertical-align: top;
    width: 50%;
    margin-top: 15px;
}
.links > li > a {
    display: inline-block;
    margin: 0;
    cursor: pointer;
    text-align: center;
    vertical-align: top;
}
.links > li > a:before {
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    margin: 0 auto 5px;
    background-repeat: no-repeat;
    background-size: 32px 32px;
}
.blog:before { background-image: url(../img/blog.png); }
.forum:before { background-image: url(../img/forum.png); }
.knowledge-base:before { background-image: url(../img/knowledge-base.png); }
.facebook:before { background-image: url(../img/facebook.png); }
.twitter:before { background-image: url(../img/twitter.png); }
.google-plus:before { background-image: url(../img/google-plus.png); }

.fastcgi:before { background-image: url(../img/fastcgi.png); }
.python:before { background-image: url(../img/python.png); }
.php:before { background-image: url(../img/php.png); }
.perl:before { background-image: url(../img/perl.png); }
.ssi:before { background-image: url(../img/ssi.png); }

.product-info {
    border: 1px solid #bebebe;
    background: #fafafa;
}
.product-info-heading {
    margin: -1px;
    padding: 5px 11px;
    font-size: 16px;
    color: #fff;
    background: #09729f;
}
.product-info-content { padding: 10px; }

@media (max-width: 767px) {
    .page-header-wrapper { height: auto !important; }
}
@media (min-width: 480px) {
    .links > li { width: 33.33%; }
}
@media (min-width: 768px) {
    .page-header-wrapper { height: 51px; }
    .page-header {
        box-sizing: border-box;
        position: fixed;
        z-index: 300;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        min-height: 51px;
    }
    .page-header,
    .page-content,
    .page-footer {
        padding-right: 20px;
        padding-left: 20px;
    }
    .page-info {
        box-sizing: border-box;
        min-height: 240px;
        padding: 20px 40px 20px 313px;
        border: 1px solid #ccc;
        background: #f2f2f2 url(../img/globe.png) no-repeat;
        background-size: 273px 240px;
    }
    .links > li { width: 33.33%; }
    .product-info-wrapper .col {
        width: 50%;
    }
}

.pathbar {
    display: inline-block;
    width: 100%;
    font-size: 12px;
}
.pathbar a {
    color: #2c2c2c;
    text-decoration: none;
    position: relative;
    float: left;
    margin-right: 3px;
    padding: 0 5px 0 15px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    background: #ebebeb;
}
.pathbar a:before {
    position: absolute;
    top: 0;
    left: 0;
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #ffffff;
    content: "";
}
.pathbar a:after {
    position: absolute;
    top: 0;
    right: -10px;
    z-index: 1;
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #ebebeb;
    content: "";
}
.pathbar a:hover { background: #2298cb; color: #fff; }
.pathbar a:hover:after { border-left-color: #2298cb; }
.pathbar a:first-child { padding-left: 10px; }
.pathbar a:first-child:before { display: none; }
.test h1 {
    margin: 0 0 12px;
    padding: 0;
    font-size: 24px;
    font-weight: 200;
    line-height: 28px;
    color: #444;
}
.test h2 {
    margin: 0 0 5px;
    padding: 0;
    font-size: 18px;
    font-weight: 200;
    line-height: 20px;
    color: #444;
}
.test p { margin: 12px 0; }
iframe { border: 1px solid #bebebe; }
.test-data table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.test-data td,
.test-data th { padding: 0; }
.test-data table > thead > tr > th,
.test-data table > tbody > tr > th,
.test-data table > tfoot > tr > th,
.test-data table > thead > tr > td,
.test-data table > tbody > tr > td,
.test-data table > tfoot > tr > td {
    padding: 6px 8px;
    line-height: 1.4;
    vertical-align: top;
    border-top: 1px solid #d6d6d6;
}
.test-data table > thead > tr:first-child > th,
.test-data table > tbody > tr:first-child > th,
.test-data table > tfoot > tr:first-child > th,
.test-data table > thead > tr:first-child > td,
.test-data table > tbody > tr:first-child > td,
.test-data table > tfoot > tr:first-child > td {
    border-top: 0;
}
.test-data table th {
    text-align: left;
    white-space: nowrap;
    font-weight: 700;
    background: #fafafa;
}


/****************************************/



.clear {
	clear:both;
}
.white-text {
	color:#fff;
}
.blue-text {
	color:#2d3690;
}
.pink-text {
	color:#ec008b;
}
.purple-text {
	color:#92278f;
}
.cyan-text {
	color:#28aae0;
}
body {
	font-family: "Dosis", "Helvetica Neue", Helvetica, sans-serif !important;
	color:#94949e !important;
	font-size:18px !important;
	font-weight: 300 !important;
}
html, body {
  position: relative;
  height: 100%;
}
input:focus, textarea:focus { 
	outline: none; 
	-webkit-box-shadow:none;
	-moz-box-shadow:none;
	box-shadow:none;
}
h1 {
	font-weight:200 !important;
	font-size:26px !important;
	margin:0 0 10px 0 !important;
	position:relative !important;
	line-height:34px !important;
}
h2 {
	font-weight:200 !important;
	font-size:26px !important;
	margin:0 0 10px 0 !important;
	position:relative !important;
	line-height:34px !important;
}
h3 {
	font-weight:200 !important;
	font-size:18px !important;
	margin:0 0 10px 0 !important;
	position:relative !important;
	line-height:26px !important;
}
h1 span, h2 span, h3 span {
	text-transform: lowercase !important;
}
p {
	line-height: 22px !important;
}
ul {
	list-style-type: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
ul li {
	display: inline-block !important;
}
.main-nav-linkedin {
	background: url(/img/imgs/icon_in_circle.svg) center center no-repeat;
	width:30px;
	height:30px;
	position: relative;
	bottom:-7px;
}
#mobile-menu-wrapper {
	overflow:hidden;
	background-color: #2b2b2b;
	height:0;
	position: relative;
	z-index:100;
	-webkit-transition: height 0.5s ease-in-out 0.1s;
	transition: height 0.5s ease-in-out 0.1s;
}
#mobile-menu-wrapper li.current {
	color:#28aae0;
	cursor: default !important;
}
.mobile-menu {
	padding:30px 25px 40px 25px !important;
}
#header {
	padding-top:20px;
	overflow: visible;
	position: relative;
	z-index: 10;
}
#header-bg {
	position: absolute;
	top:0;
	left:0;
	background: url(/img/imgs/header-bg.svg) top left no-repeat;
	background-size: 30px auto;
	height:65px;
	width:30%;
}
#logo {
	background: url(/img/imgs/logo_horiz.svg) center right 30% no-repeat;
	height:38px;
	background-size: contain;
	max-width: 57%;
	position: relative;
	padding:0;
}
#logo a {
	display:block;
	width:100%;
	height:100%;
}
#main-mobile-nav {
	background: url(/img/imgs/main-nav-icon.svg) center center no-repeat;
	width:45px;
	height:45px;
	margin-right:10px;
	cursor: pointer;
	position: fixed;
	top:15px;
	right:5px;
	z-index:1000;
}
#main-mobile-nav::after {
	content: "";
	background: url(/img/imgs/close-nav-icon.svg) center center no-repeat;
	width:45px;
	height:45px;
	position: absolute;
	top:0;
	left:0;
	opacity:0;
	-webkit-transition: opacity 0.1s ease-in-out;
	transition: opacity 0.1s ease-in-out;
}
#main-mobile-nav.active {
	position: absolute !important;
	top:15px !important;
	right:5px !important;
}
#main-mobile-nav.active::after {
	opacity:1;
}
#main-nav a li, #main-nav li.current, #main-nav li.product-menu {
	position: relative;
	margin:10px 10px 0;
	text-transform: uppercase;
	text-decoration: none;
	font-size:0.75em;
	color:#92278f;
	cursor: pointer;
	-webkit-transition: color 0.2s ease;
	transition: color 0.2s ease;
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none;
}
#main-nav li.current {
	font-weight:600;
}
#main-nav li.current, #main-nav div.current {
	color:#ec008b;
}
#main-nav li.current:not(#main-nav li .product-menu-btn) {
	cursor: default;
}
#main-nav li .product-menu-btn {
	cursor: pointer !important;
}
#main-nav a li:hover:not(#main-nav a li.active), #main-nav li span a div:hover:not(#main-nav li span a div.active) {
	color:#ec008b;
	text-decoration: none;
}
.global-btn {
	text-transform: uppercase;
	color:#92278f;
	font-size:1.2em;
	text-align:center;
	-webkit-box-shadow:inset 0px 0px 0px 1px #92278f;
	-moz-box-shadow:inset 0px 0px 0px 1px #92278f;
	box-shadow:inset 0px 0px 0px 1px #92278f;
	position: relative;
	overflow: hidden;
	padding:8px 15px 8px 10px;
	cursor: pointer;
	-webkit-transition: background 0.2s ease;
	transition: background 0.2s ease;
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none;
}
.global-btn:hover {
	background-color:#92278f;
	color:#fff;
}
.global-btn-end {
	width:50px;
	height:150px;
	background: #fff;
	border: solid 1px #92278f;
	-webkit-transform: rotate(23deg);
	-moz-transform: rotate(23deg);
	transform: rotate(23deg);
	position: absolute;
	right:-38px;
	bottom:-50px;
}
.top-wrapper {
	/*background: url(/img/imgs/lower-bg.svg) bottom -125px right -1px no-repeat;*/
	background: url(/img/imgs/lower-bg.svg) bottom -240px right -51px no-repeat;
	background-size: auto 700px;
	padding-bottom: 80px;
}
.global-city {
	background: url(/img/imgs/videos/global-city-vert.gif) center center no-repeat;
	background-size: contain;
	height: 80vh;
	margin: 0px 0 20px;
	z-index: 1 !important;
}
.global-city video {
	display: none;
}
.headline, .sub-title {
	position: relative;
}
.headline p:not(.company-intro .headline p):not(.product-wrapper .headline p), .sub-title p {
	position: absolute;
	width:80%;
}
.headline strong, .sub-title strong {
	font-weight:600;
}
.headline h1, .sub-title h1, h1 {
	text-transform: uppercase;
}
.sub-title h1 {
	margin-bottom:15px !important;
}
.sub-title h2 {
	font-size: 1em!important;
	line-height: 1.2em!important;
	left:0px !important;	
}
.company-intro .headline {
	text-align:center;
	margin-top:60px;
}
.slanted-line {
	height:100%;
	width:1px;
	border-right:1px solid #2d3690;
	-webkit-transform: rotate(23deg);
	-moz-transform: rotate(23deg);
	transform: rotate(23deg);
	position:absolute;
	top:0;
	left:30px;
}
.purple-text .slanted-line {
	border-color: #92278f !important;
}
.product-wrapper .slanted-line {
	left:15px !important;	
}
.sub-title .slanted-line {
	border-color: #fff;
	left:10px;	
}
h2 .slanted-line {
	left:3px !important;	
}
.text-slant-1, .text-slant-2, .text-slant-3, .text-slant-4, .text-slant-5 {
	float: left;
	clear:left;
	height:34px;
}
.text-slant-1 {
	width:85px;
}
.text-slant-2 {
	width:68px;
}
.text-slant-3 {
	width:53px;
}
.text-slant-4 {
	width:38px;
}
.text-slant-5 {
	width:20px;
}
.news {
	clear: both;
	margin: 100px auto 30px !important;
	/*height: 330px !important;*/
}
.news .swiper-news {
	display: flex;
}
.news-thumb-wrapper {
	width:275px!important;
	height:auto !important;
}
.news-thumb {
	-webkit-box-shadow: 0px 0px 10px 0px rgba(191,191,191,1);
	-moz-box-shadow: 0px 0px 10px 0px rgba(191,191,191,1);
	box-shadow: 0px 0px 10px 0px rgba(191,191,191,1);
	height:calc(100% - 20px);
	width:calc(100% - 20px);
	margin:10px auto;
	padding-bottom:70px;
	position: relative;
	overflow: hidden;
}
.news-thumb-more-btn-wrapper {	
	width:200px !important;
	margin:0;
	padding:0 20px;
}
.news-thumb-more-btn {
	background: url(/img/imgs/news-nav.svg) right center no-repeat;
	background-size: 60px 60px;
	margin-top:120px;
	padding:20px 60px 20px 0;
	color:#92278f;
	text-transform: uppercase;
	text-align: right;
	line-height:0.9em;
	font-size: 1.3em;
	
}
.news-thumb-more-btn span {
	display:block;
	font-size: 0.6em;
}
#news-thumb1, #news-thumb2, #news-thumb3 {
	width:100%;
	height:275px;
	background-size:cover !important;
}
#news-thumb1 {
	background: url(/img/imgs/news/news-1.jpg) center center no-repeat;
}
#news-thumb2 {
	background: url(/img/imgs/news/news-2.jpg) center center no-repeat;
}
#news-thumb3 {
	background: url(/img/imgs/news/news-3.jpg) center center no-repeat;
}
.news-headline {
	text-transform: uppercase;
	font-size: 0.95em;
	line-height: 1.4em;
	padding:20px 20px 20px;
	font-weight: 600;
	background: #fff;
	z-index: 10;
	position:absolute;
	bottom:0;
	-webkit-transition: all 1s;
    transition: all 1s;
}
.news-date-bg {
	-webkit-transform: rotate(23deg);
	-moz-transform: rotate(23deg);
	transform: rotate(23deg);
	background:#92278f;
	width:250px;
	height:300px;
	position:absolute;
	top:-90px;
	left:-210px;
}
.news-date {
	color:#fff;
	font-size: 0.65em;
	position: absolute;
	top:20px;
	left:15px;
	font-weight:500;
	text-transform: uppercase;
	text-align: center !important;
	line-height: 1.15em;
	width:25px;
}
.news-date span {
	font-size: 2em;
	font-weight:600;
}
.news-copy {
	font-size:0.7em;
	line-height: 1.6em !important;
	font-family: "Roboto", "Helvetica Neue", Helvetica, sans-serif !important;
	background: #fff;
	z-index: 10;
	text-transform: none;
	font-weight: normal;
	color:#94949e;
	height:0;
	overflow: hidden;
	-webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
	position:relative;
	opacity: 0;
}
.news-copy .read-more-btn {
	font-weight:bold;
	display: block;
	margin:10px auto 0;
	text-decoration: none;
	color:#92278f;
	text-align:center;
	cursor:pointer !important;
	position:absolute;
	bottom:0;
	width:100%;
}
.more-info-btn {
	text-transform: uppercase;
	color:#92278f;
	font-size:1.75em;
	line-height:0.9em;
	display: block;
	padding: 5px 0;
}
.more-info-btn span {
	display: block;
	font-size: 0.6em;
}
.more-info-btn .go-icon {
	width:43px;
	height:30px;
	background: url(/img/imgs/news-nav.svg) right center no-repeat;
	background-size: 40px 40px;
	display: inline-block;
	margin-bottom:-3px;
}
.showcase {
	background: #eee;
	min-height:400px;
	position: relative;
}
.partners {
	min-height:300px;
	position: relative;
	background: #2d3690;
	color:#fff;
}
.partners-alt {
	background: #ec008b;
}
.contacts {
	position: relative;
	background-color: #2b2b2b;
	bottom:0;
}
.partners .container {
	padding: 75px 0 45px !important;
}
.contacts .container {
	padding: 75px 0 !important;
}
.showcase .container {
	padding: 75px 15px !important;
}
.partners-bg, .contacts-bg, .showcase-bg {
	position: absolute !important;
	width:100%;
	height:100%;
	top:0;
	right:0;
	background: url(/img/imgs/pattern_bg-bw.svg) top -110px right -202px repeat;
	background-size: auto 700px;
	opacity:0.2;
}
.partners-alt .partners-bg {
	background: url(/img/imgs/pattern_bg-bw.svg) top -280px right -127px repeat;
	background-size: auto 700px;
	opacity:0.25;
}
.showcase-bg {
	background: url(/img/imgs/pattern_bg-bw-2.svg) top -111px right -1266px no-repeat;
	background-size: auto 1400px;
	opacity:0.07;
}
.showcase h1 {
	padding-top:15px;
	padding-bottom:10px;
}
.showcase h3 {
	font-weight: 600 !important;
	font-size:1em !important;
	color:#28aae0;
}
.showcase p {
	/*font-family: "Roboto", "Helvetica Neue", Helvetica, sans-serif !important;
	font-weight: 400 !important;
	font-size:16px !important;*/
}
.partners h3 {
	margin-top:50px !important;
}
h3 .slanted-line {
	left:-35px !important;
}
.partners .swiper-slide {
	padding:45px 0 45px;
	text-align:center;
	
}
.partners .swiper-pagination {
	/*bottom:15px !important;
	right:15px;*/
	bottom:0;
}
.partners .swiper-slide img {
	max-width:120px;
	width:100%;
	margin: 10px auto;
	opacity: 0.4;
	display: inline-block;
}
.partners-alt .swiper-slide img {
	opacity: 0.55;
}
.partners .swiper-pagination-bullet {
	background-color: #fff;
	margin:0 2px;
}
.partners .swiper-pagination-bullet:not(.partners-alt .swiper-pagination-bullet) {
	opacity: 0.1;
}
.partners .swiper-pagination-bullet-active {
	background-color: #28aae0;
	opacity: 1 !important;
}
.partners-alt .swiper-pagination-bullet-active {
	background-color: #2d3690;
}
.contacts .sub-title p {
	position: relative;
	color:#fff;
	font-size:1em;
	font-weight: 200;
	line-height: 1.3em !important;
	padding-left:40px;
}
.contacts a, .contacts a:hover {
	color:#fff;
	text-decoration: none;
}
.contacts .col {
	padding:0px;
}
.contacts .row {
	margin:0px;
}
.swiper-contact .swiper-slide {
	background-color: #2b2b2b !important;
}
.contacts input, .contacts textarea, .chat-box input, .chat-box textarea {
	width:100%;
	background-color: #4a4a4a;
	margin: 4px 0;
	padding:7px 15px;
	border-radius: 0 !important;
	font-family: "Dosis", "Helvetica Neue", Helvetica, sans-serif !important;
	color: #94949e;
	font-size:1.1em;
	border:0;
}
.chat-box input, .chat-box textarea {
	background-color: #fff;
}
.contacts input, .chat-box input {
	height: 45px;
}
.contacts textarea, .chat-box textarea {
	height:110px;
	resize: none;
}
.contacts .col-6 input {
	width:97.5%;
}
.contacts input.error, .contacts textarea.error {
	border: 2px solid #ec008b;
}
.chatnome.error, .chattel.error, .chatmensagem.error {
	border: 2px solid #ec008b !important;
}
.contacts .global-btn, .chat-box .global-btn {
	margin-top:20px;
	color:#fff;
	-webkit-box-shadow:inset 0px 0px 0px 1px #fff;
	-moz-box-shadow:inset 0px 0px 0px 1px #fff;
	box-shadow:inset 0px 0px 0px 1px #fff;
}
.chat-box .global-btn {
	margin-top:0px;
}
.contacts .global-btn:hover, .chat-box .global-btn:hover  {
	background-color:#fff;
	color:#2b2b2b;
}
.contacts .global-btn-end, .chat-box .global-btn-end {
	background: #2b2b2b;
	border: solid 1px #fff;
}
.chat-box .global-btn-end {
	background: #28aae0;
}
.contact-tab, .tab-btn {
	margin: 50px 0 30px;
	border-bottom: 1px solid #94949e;
	color: #94949e;
	font-size: 0.80em;
	line-height:1.2em;
	text-align: center;
	padding-bottom:8px !important;
	font-family: "Roboto", "Helvetica Neue", Helvetica, sans-serif !important;
	cursor: pointer;
	z-index: 15 !important;
}
.contact-tab.active, .tab-btn.active {
	color:#28aae0;
	border-bottom: 4px solid #28aae0;
	margin-bottom: 27px;
}
.contact-tab:hover:not(.contact-tab.active) {
	color:#fff;
}
.tab-btn:hover:not(.tab-btn.active) {
	color:#333;
}
.contacts .note {
	font-size: 0.80em;
	font-family: "Roboto", "Helvetica Neue", Helvetica, sans-serif !important;
	line-height:1.2em;
	padding-bottom:15px;
}
.icon-mail, .icon-tel, .icon-location, .icon-linkedin {
	background: url(/img/imgs/icon_mail.svg) left center no-repeat;
	background-size: 30px auto;
}
.icon-tel {
	background-image: url(/img/imgs/icon_tel.svg);
}
.icon-location {
	background-image: url(/img/imgs/icon_location.svg);
	background-position: left top;
}
.icon-linkedin {
	background-image: url(/img/imgs/icon_in.svg);
}
.product-wrapper {
	padding-top:30px;
	padding-bottom:60px;
	padding:30px 15px 50px !important;
}
.product-industrial {
	background: url(/img/imgs/produtos_industrial_bg.png) center bottom -200px no-repeat;
	background-size: 475px auto;
	padding-bottom: 300px !important;
}
.product-residential {
	background: url(/img/imgs/produtos_residencial_bg.png) center bottom -200px no-repeat;
	background-size: 405px auto;
	padding-bottom: 350px !important;
}
.product-solutions {
	background: url(/img/imgs/produtos_solucoes_bg.png) left 40% bottom -200px no-repeat;
	background-size: 425px auto;
	padding-bottom: 270px !important;
}
/*.swiper-product, */.swiper-product .swiper-wrapper {
	/*height:auto !important;*/
	-webkit-transition: height 0.2s ease-out 0.2s;
	transition: height 0.2s ease-out 0.2s;
	min-height:330px;
}
.tab-btn {
	display: flex;
	align-items:center;
	justify-content: space-around;
}
.tab-btn * {
	display:block;
	width:100%;
}
.product-wrapper .headline p {
	position: relative;
}
.product-wrapper h4, .mobile-menu li {
	position: relative;
	display: block;
	width:100%;
	text-transform: uppercase;
	color:#92278f;
	font-weight:600;
	font-size: 1em;
	border-bottom: 1px solid #2d3690;
	padding:15px 0;
	background-size: 50px auto;
	cursor: pointer;
	margin:0;
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */
	-khtml-user-select: none; /* Konqueror HTML */
	-moz-user-select: none; /* Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none;
}
.mobile-menu a:not(.menu-drop-down span a) {
	display: block;
	width:100%;
}
.menu-drop-down span {
	display: block;
}
.mobile-menu li {
	color:#e8e8e8;
	border-bottom: 1px solid #e8e8e8;
}
.product-wrapper h4:before, .mobile-menu li:before {
	content: "";
	position: absolute;
	width: 50px;
	height: 50px;
	top: 1px;
	right:10px;
	-webkit-transition: transform 0.3s ease-in-out;
	transition: transform 0.3s ease-in-out;
}
.product-wrapper h4:before, .mobile-menu li.menudrop-btn:before {
	background: url(/img/imgs/arrow-down.svg) center center no-repeat;
	background-size: 55px auto;
}
.icon-product {
	display:block;
	width:100%;
	height:40px;
	background-size: contain;
	background-position:  center center;
	background-repeat:no-repeat; 
}
.icon-rede-est {
	background-image: url(/img/imgs/tab-icon-produto-redeEst.svg);
}
.tab-btn:hover .icon-rede-est:not(.tab-btn.active .icon-rede-est) {
	background-image: url(/img/imgs/tab-icon-produto-redeEst-hover.svg);
}
.tab-btn.active .icon-rede-est {
	background-image: url(/img/imgs/tab-icon-produto-redeEst-on.svg);
}
.icon-rede-ati {
	background-image: url(/img/imgs/tab-icon-produto-redeAti.svg);
}
.tab-btn:hover .icon-rede-ati:not(.tab-btn.active .icon-rede-ati) {
	background-image: url(/img/imgs/tab-icon-produto-redeAti-hover.svg);
}
.tab-btn.active .icon-rede-ati {
	background-image: url(/img/imgs/tab-icon-produto-redeAti-on.svg);
}
.icon-etiq {
	background-image: url(/img/imgs/tab-icon-produto-etiq.svg);
}
.tab-btn:hover .icon-etiq:not(.tab-btn.active .icon-etiq) {
	background-image: url(/img/imgs/tab-icon-produto-etiq-hover.svg);
}
.tab-btn.active .icon-etiq {
	background-image: url(/img/imgs/tab-icon-produto-etiq-on.svg);
}
.icon-fttx {
	background-image: url(/img/imgs/tab-icon-produto-fttx.svg);
}
.tab-btn:hover .icon-fttx:not(.tab-btn.active .icon-fttx) {
	background-image: url(/img/imgs/tab-icon-produto-fttx-hover.svg);
}
.tab-btn.active .icon-fttx {
	background-image: url(/img/imgs/tab-icon-produto-fttx-on.svg);
}
.mobile-menu li.menu-drop-btn:before {
	background-image: url(/img/imgs/arrow-down-w.svg);
	top: 4px;
	right:0;
}
.product-wrapper h4.active:before, .mobile-menu li.active:before {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.drop-down, .menu-drop-down {
	display: block;
	width:100%;
	height:0;
	line-height: 1em !important;
	overflow: hidden;
	border-bottom: 0px solid #2d3690;
	-webkit-transition: height 0.5s ease 0.1s, margin 0.5s ease 0.1s, border 0s ease 0.6s;
	transition: height 0.5s ease 0.1s, margin 0.5s ease 0.1s, border 0s ease 0.6s;
}
.menu-drop-down {
	border-color: #fff !important;
}
.drop-down span, .menu-drop-down span {
	opacity: 0;
	color:#92278f;
	font-size: 0.80em;
	font-family: "Roboto", "Helvetica Neue", Helvetica, sans-serif !important;
	-webkit-transition: opacity 0.2s ease-in-out;
	transition: opacity 0.2s ease-in-out;
}
.menu-drop-down span {
	color:#e8e8e8;
}
.drop-down span h5, .menu-drop-down span h5 {
	display: inline-block;
	margin:0;
	text-transform: uppercase;
	font-family: "Dosis", "Helvetica Neue", Helvetica, sans-serif !important;
	font-size: 1.2em;
	font-weight: 600;
}
.menu-drop-down span h5 {
	margin: 8px 0;	
	padding-left: 20px;
	color:#999;
}
.drop-down.active, .menu-drop-down.active {
	margin-top:25px;
	border-bottom: 1px solid #2d3690;
	-webkit-transition: height 0.5s ease, margin 0.5s ease, border 0s;
	transition: height 0.5s ease, margin 0.5s ease, border 0s;
}
.menu-drop-down.active {
	margin-top:17px;
}
.menu-drop-down span a.current h5 {
	color:#28aae0;
}
.drop-down.active span, .menu-drop-down.active span {
	opacity: 1;
	-webkit-transition: opacity 0.2s ease-in-out 0.3s;
	transition: opacity 0.2s ease-in-out 0.3s;
}
.product-nav {
	margin-bottom: 30px;
}
.product-nav, .tab-btn {
	position: relative !important;
	overflow: hidden !important;
	z-index: 9999 !important;
}
.company-intro .headline h1, .company-intro .headline p {
	width:90%!important;
	margin: 0 auto .5rem !important;
}
.factor-row .sub-title h2 {
	font-size:1.4em !important;
}
.factor-icon {
	text-align: center;
	padding-bottom:20px !important;
}
.factor-icon img {
	width:65%;
	max-width:100px;
}
.factor-icon h2 {
	text-transform: uppercase;
	font-size:1em !important;
	padding-top:20px !important;
	line-height: 1.2em !important;
}
.chat-box-wrapper {
	position: fixed;
	z-index:9999;
	right:0;
	bottom:calc(55px - 320px);
	transition: bottom ease 0.3s;
}
.chat-box-wrapper.open {
	bottom:0 !important;
}
.chat-box-wrapper::before {
	content: "";
	background: url(/img/imgs/close-chat-icon.svg) center center no-repeat;
	width:25px;
	height:25px;
	position: absolute;
	top:14px;
	right:12px;
	opacity:0;
	z-index:0;
	-webkit-transition: opacity 0.1s ease-in-out;
	transition: opacity 0.1s ease-in-out;
}
.chat-box-wrapper.open::before {
	opacity:1;
}
.chat-box {
	width:100vw;
	height:320px;
	overflow: hidden;
	position: relative;
	color:#fff;
}
.chat-box input {
	width:calc(50% - 4px) !important;
}
.chat-box textarea {
	height: 85px !important;
}
.chat-box::before {
	content:'';
	width:650px;
	height:1500px;
	background: #28aae0;
	-webkit-transform: rotate(23deg);
	-moz-transform: rotate(23deg);
	transform: rotate(23deg);
	position: absolute;
	left: -200px;
	top: -160px;
	z-index: -1;
}
.chat-header {
	padding: 11px 25px 10px 65px;
	font-family: "Dosis", "Helvetica Neue", Helvetica, sans-serif !important;
	font-size: 1.2em;
	position: relative;
	background: url(/img/imgs/icon_chat.svg) left 25px top 11px no-repeat;
	background-size: 35px auto;
	cursor: pointer;
}
.chat-container {
	padding: 5px 25px;
}	
.chat-container p {
	font-size: 0.70em;
	line-height: 1.4em !important;
	font-weight: 400;
	margin-bottom:5px;
	font-family: "Roboto", "Helvetica Neue", Helvetica, sans-serif !important;

}
.about-us {
	background: url(/img/imgs/about-us.jpg) center center no-repeat;
	background-size: cover;
}
.about-us h3, .about-us h2 {
	color:#fff !important;
}
.about-us h3 {
	text-align: center !important;
}
.about-us .slanted-line {
	border-color: #fff !important;
}
.about-bg {
	position: absolute !important;
	width:100%;
	height:100%;
	top:0;
	right:0;
	background: #333;
	opacity:0.5;
}
.showcase.about-us .container {
	padding-bottom: 0px !important;
}


/******** LIGHTBOX ***********/
#lightbox {
	position: fixed;
	top:0;
	left:0;
	height:100vh;
	width:100vw;
	background: rgba(0,0,0,0.6);
	z-index:99990;
	opacity: 0;
	transition: opacity 0.2s linear, visibility 0.1s linear 0.2s;
	display:flex;
	visibility: hidden;
}
.noscroll #lightbox {
	opacity: 1;
	visibility: visible;
}
.noscroll {
	overflow: hidden;
	margin:0;
}
.noscroll #header, .noscroll #header-bg {
	top:0;
}
.noscroll #logo {
	margin-top:3px;
}
.noscroll .nav-container {
	margin-top:-10px;
}
#lightbox .wrapper {
	max-height:85vw;
	min-height:100px;
	max-width:85vw;
	min-width:100px;
	position: relative;
	background: #000;
	margin:auto;
}
#lightbox img {
	max-height:100%;
	max-width:100%;
}
#lightbox .close-btn {
	background: #333 url(/img/imgs/close-chat-icon.svg) center center no-repeat;
	width:45px;
	height:45px;
	background-size: 25px 25px;
	position: absolute;
	top:-20px;
	right:-20px;
	border-radius: 50%;
	transition: all 0.2s linear;
	cursor: pointer;
}
#lightbox .close-btn:hover {
	background-color: #000;
	filter: invert(100%);
}


/* X-Small devices */
@media (min-width: 375px) { 
	body {
		font-size:20px !important;
	}
	#header-bg {
		background-size: 40px auto;
		height:95px;
	}
	h1 {
		font-size:30px !important;
		line-height:38px !important;
	}
	.text-slant-1, .text-slant-2, .text-slant-3, .text-slant-4, .text-slant-5 {
		height:38px;
	}
	p {
		line-height: 26px !important;
	}
	p .text-slant-1, p .text-slant-2, p .text-slant-3, p .text-slant-4, p .text-slant-5 {
		height:26px !important;
		background: #000 !important;
	}
	.news-thumb-wrapper {
		width:320px!important;
	}
	.news-thumb {
		padding-bottom:90px;
	}
	#news-thumb1, #news-thumb2, #news-thumb3 {
		height:310px;
	}
	.news-thumb-more-btn-wrapper {	
		width:200px !important;
	}
	.more-info-btn .go-icon {
		width:45px;
		height:33px;
		background-size: 43px 43px;
	}
	.product-industrial {
		background-position: center bottom -250px;
		background-size: 525px auto;
	}
}

@media (min-width: 414px) { 
	#logo {
		background-position: center left 20%;
		height:45px;
		max-width: 65%;
	}
	.contacts .col-6 input {
		width:98%;
	}
	.company-intro .headline h1, .company-intro .headline p {
		width:80%!important;
		margin: 0 auto .5rem !important;
	}
}

@media (min-width: 568px) { 
	.global-city {
		background: url(/img/imgs/videos/global-city.gif) center center no-repeat;
		background-size: auto 400px;
		height: 400px;
		margin: -30px 0 0;
	}
	.top-wrapper {
		margin-top: -20px;
		padding-top: 0px;
		padding-bottom: 40px;
	}
	.product-industrial {
		background-position: right -150px bottom -250px;
		background-size: 525px auto;
	}
	.product-residential {
		background-position: right -100px bottom -215px;
		background-size: 405px auto;
	}
	.product-solutions {
		background-position: right -100px bottom -235px;
		background-size: 475px auto;
	}
	.company-intro, .product-wrapper {
		margin-top:-30px !important;
	}
	.company-intro .headline, .product-nav {
		margin-top:120px !important;
	}
	.chat-box-wrapper {
		bottom:calc(55px - 400px);
	}
	.chat-box {
		width:350px;
		height:400px;
		overflow: hidden;
		position: relative;
		color:#fff;
	}
	.chat-box input {
		width:100% !important;
	}
	.chat-box textarea {
		height: 105px !important;
	}
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) { 
	#header-bg {
		background-size: 60px auto;
		height:130px;
	}
	.global-city {
		margin: -10px 0 0;
	}
	.top-wrapper {
		padding-bottom: 60px;
	}
	.headline p:not(.company-intro .headline p) {
		position: relative !important;
		width:90%;
	}
	.company-intro .headline h1, .company-intro .headline p {
		width:80%!important;
		margin: 0 auto .5rem !important;
	}
	.slanted-line {
		top:-15%;
		left:20px;
	}
	.headline .slanted-line {
		height:210%;
	}
	.sub-title .slanted-line {
		height:120%;
	}
	.text-slant-3, .text-slant-4, .text-slant-5 {
		height:28px;
	}
	.news {
		max-width:100% !important;
	}
	.contacts .col-6 input {
		width:98.5%;
	}
	.showcase .container {
		padding: 75px 0px !important;
	}
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	
	#logo {
		height:50px;
		background-position: center left 30%;
	}
	.top-wrapper {
		background: url(/img/imgs/lower-bg.svg) bottom -250px right -1px no-repeat;
		background-size: auto 700px;
		padding-top: 20px;
		padding-bottom: 90px;
		position: relative;
		z-index: 1 !important;
		min-height:230px;
		margin-top:-30px;
	}
	.partners-bg {
		background: url(/img/imgs/pattern_bg-bw.svg) top -141px right -153px repeat;
		background-size: auto 700px;
	}
	.showcase-bg {
		background: url(/img/imgs/pattern_bg-bw-2.svg) top -275px right -1292px no-repeat;
		background-size: auto 1400px;
	}
	h1 {
		font-size:36px !important;
		line-height:44px !important;
	}
	.headline .slanted-line {
		height:200%;
	}
	.company-intro .headline h1, .company-intro .headline p {
		width:75%!important;
	}
	.global-city {
		/*background: url(/img/imgs/cidade_home.png) center center no-repeat;
		background-size: auto 530px;*/
		background: none;
		position: relative;
		/*height: 520px;*/
		height:450px;
		margin: -30px 0 20px;
		z-index: 1 !important;
		text-align: center;
		overflow: hidden;
	}
	.global-city video {
		height:110%;
		width:auto;
		margin: auto;
		display: block;
    	position: absolute;
		left:50%;
    	-webkit-transform: translate(-50%, 0);
    	transform: translate(-50%, 0);
		z-index: -1 !important;
		margin-top:-15px;
	}
	.partners-alt .partners-bg {
		background: url(/img/imgs/pattern_bg-bw.svg) top -274px right -78px repeat;
		background-size: auto 700px;
		opacity:0.25;
	}
	.partners-copy {
		position: relative;
		top:8px;
	}
	.contact-tab {
		margin-top: 15px;
	}
	.contacts .sub-title p {
		font-size:1.2em;
		line-height: 1.3em !important;
		padding-left: 5px 0 5px 35px;
		padding-left:40px;
	}
	.product-industrial {
		padding-top: 100px;
		background: url(/img/imgs/produtos_industrial_bg.png) right -555px bottom -495px no-repeat;
		background-size: auto 1300px;
		padding-bottom: 100px !important;
	}
	.product-residential {
		padding-top: 100px;
		background: url(/img/imgs/produtos_residencial_bg.png) right -295px bottom -300px no-repeat;
		background-size: auto 850px;
		padding-bottom: 100px !important;
	}
	.product-solutions {
		padding-top: 100px;
		background: url(/img/imgs/produtos_solucoes_bg.png) right -500px bottom -340px no-repeat;
		background-size: auto 1100px;
		padding-bottom: 100px !important;
	}
	.showcase h3 {
		font-size:1.2em !important;
	}
	.showcase p {
		/*font-size:0.9em !important;*/
	}
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) { 
	
	#header {
		position: absolute;
		top: 20px;
		padding-top:30px;
	}
	#header-bg {
		background-size: 80px auto;
		height:170px;
		width:10%;
		top:10px;
	}
	
	#mobile-menu-wrapper, #main-mobile-nav {
		display:none !important;
	}
	#logo {
		background-position: center left !important;
		margin-top:13px;
	}
	#main-nav {
		padding-right:10px !important;
	}
	li.product-menu {
		padding:0 2px;
	}
	#main-nav li.active {
		font-weight:600;
	}
	#main-nav li.active:not(.current) {
		padding:0px !important;
	}
	#main-nav li span {
		font-weight:200;
		position: absolute;
		left:0;
		top:30px;
		text-align: left;
		white-space:nowrap;
		font-size: 0.8em;
	}
	#main-nav li span a div {
		color:#92278f;
		margin-top:-10px;
		opacity:0;
		height: 0;
		overflow: hidden;
		-webkit-transition: opacity 0.2s ease 0.2s, margin 0.2s ease 0.2s, height 0s ease 0.5s;
		transition: opacity 0.2s ease 0.2s, margin 0.2s ease 0.2s, height 0s ease 0.5s;
	}
	#main-nav li span a:hover {
		text-decoration: none !important;
	}
	#main-nav li span div.elem-2 {
		-webkit-transition: opacity 0.2s ease 0.1s, margin 0.2s ease 0.1s, height 0s ease 0.5s;
		transition: opacity 0.2s ease 0.1s, margin 0.2s ease 0.1s, height 0s ease 0.5s;
	}
	#main-nav li span div.elem-3 {
		-webkit-transition: opacity 0.2s ease, margin 0.2s ease, height 0s ease 0.5s;
		transition: opacity 0.2s ease, margin 0.2s ease, height 0s ease 0.5s;
	}
	#main-nav li.active span div.elem-1 {
		-webkit-transition: opacity 0.2s ease, margin 0.2s ease, height 0s 0s;
		transition: opacity 0.2s ease, margin 0.2s ease, height 0s 0s;
	}
	#main-nav li.active span div.elem-2 {
		-webkit-transition: opacity 0.2s ease 0.1s, margin 0.2s ease 0.1s, height 0s 0s;
		transition: opacity 0.2s ease 0.1s, margin 0.2s ease 0.1s, height 0s 0s;
	}
	#main-nav li.active span div.elem-3 {
		-webkit-transition: opacity 0.2s ease 0.2s, margin 0.2s ease 0.2s, height 0s 0s;
		transition: opacity 0.2s ease 0.2s, margin 0.2s ease 0.2s, height 0s 0s;
	}
	#main-nav li.active span div {
		margin-top:0;
		opacity:1;
		height: 18px;
	}
	.top-wrapper {
		background: url(/img/imgs/lower-bg.svg) bottom -210px right -1px no-repeat;
		background-size: auto 700px;
		padding-top: 20px;
		padding-bottom: 90px;
		position: relative;
		z-index: 1 !important;
		min-height:310px;
		margin-top:-70px;
	}
	.product-wrapper {
		position: relative !important;
		z-index: 1 !important;
	}
	.product-wrapper .product-nav {
		position: relative !important;
		z-index: 100 !important;
	}
	h1/*:not(.company-intro h1)*/ {
		font-size:50px !important;
		line-height:58px !important;
	}
	.company-intro h1, .showcase h1 {
		font-size:45px !important;
		line-height:53px !important;
	}
	h3 .slanted-line {
		left:-60px !important;
	}
	.sub-title h2 {
		font-size: 1.2em!important;
		left:5px !important;	
	}
	p {
		line-height: 30px !important;
		font-size:1.1em;
	}
	.global-city {
		height: 600px;
	}
	#global-city-video {
		height:105%;
		margin-top:25px;
	}
	.headline .slanted-line {
		height:190%;
		left:20px;
	}
	.text-slant-1, .text-slant-2, .text-slant-3, .text-slant-4, .text-slant-5 {
		margin-left:30px;
		
	}
	.company-intro .headline h1, .company-intro .headline p {
		width:68%!important;
	}
	.news {
		max-width: 960px !important;
		margin-bottom:45px !important;
	}
	.news-thumb-wrapper {
		width:33%!important;
	}
	.news-thumb:hover .news-copy {
		height:125px;
		padding-top:10px;
		opacity: 1;
	}
	.more-info-btn {
		text-align:right;
		position: relative;
		padding-right:55px;
		font-size:1.2em;
	}
	.more-info-btn .go-icon {
		width:55px;
		height:55px;
		background-size: 55px 55px;
		position: absolute;
		right:0;
		top:1px;
	}
	.partners-copy {
		position: relative;
		top:15px;
	}
	.contact-tab {
		margin-top: 25px;
	}
	.contacts .sub-title p {
		padding-left:70px;
	}
	.icon-mail, .icon-tel, .icon-location, .icon-linkedin {
		background-size: 40px auto;
	}
	.product-industrial {
		padding-top: 100px;
		background: url(/img/imgs/produtos_industrial_bg.png) right -250px bottom -400px no-repeat;
		background-size: auto 1200px;
	}
	.product-residential {
		padding-top: 100px;
		background: url(/img/imgs/produtos_residencial_bg.png) right -170px bottom -370px no-repeat;
		background-size: auto 950px;
	}
	.product-solutions {
		padding-top: 100px;
		background: url(/img/imgs/produtos_solucoes_bg.png) right -250px bottom -300px no-repeat;
		background-size: auto 1100px;
	}
	.factor-row {
		padding: 0 10%;
	}
	.company-intro .headline, .product-nav {
		margin-top:180px !important;
	}
	.partners-alt .partners-bg {
		background: url(/img/imgs/pattern_bg-bw.svg) top -314px right -78px repeat;
		background-size: auto 700px;
	}
	#lightbox .wrapper {
		max-height:75vw;
		max-width:75vw;
	}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) { 
	.container {
		max-width: 1040px !important;
	}
	#header-bg {
		background-size: 100px auto;
		height:220px;
	}
	#main-nav {
		padding-right:30px !important;
	}
	.top-wrapper {
		background: url(/img/imgs/lower-bg.svg) bottom -240px right -1px no-repeat;
		background-size: auto 700px;
		padding-bottom: 50px;
		min-height: 280px;
	}
	.news {
		max-width: 1140px !important;
	}
	#news-thumb1, #news-thumb2, #news-thumb3 {
		height:350px;
	}
	.news-date-bg {
		left:-200px;
	}
	.news-date {
		font-size: 0.75em;
		width:33px;
	}
	.news-headline {
		font-size: 1.1em;
		padding-left:20px;
	}
	.news-thumb:hover .news-copy {
		height:140px;
	}
	.partners .swiper-container {
		width:80% !important;
	}
	.partners-bg {
		background: url(/img/imgs/pattern_bg-bw.svg) top -111px right -153px repeat;
		background-size: auto 700px;
	}
	.partners-alt .partners-bg {
		background: url(/img/imgs/pattern_bg-bw.svg) top -284px right -78px repeat;
		background-size: auto 700px;
	}
}