/* responsive */

@media only screen and (max-width:962px) {

	.wrapper {
		width: 96%;
	}

	.header {
		padding: 4px;
	}

	.nav {
		float: right;
		width: 74%;
	}

		.header .main-nav,
		.header.fixed .main-nav {
			padding-top: 8px;
			margin-top: 12px;
		}

	 	.header .trial a,
		.header .login a,
		.header .community a,
		.header.fixed .trial a,
		.header.fixed .login a,
		.header.fixed .community a {
			font-size: 11px;
		}

		.header.fixed {
			top: 0;
			position: fixed;
			opacity: .98;
		}

	.logo {
		margin-top: 1%;
		width: 25%;
	}

	.header.fixed .logo-img,
	.header .logo-img {
		margin-top: 0;
  		width: 20vw;
	}

	.main-nav > li {
  		margin-right: 1%;
  		height: 22px;
  	}

 /* 	.main-nav > li .sub-menu {
  		top: 26px;
  	}*/

	.home section.clients h2,
	.home section.clients p {
		width: 100%;
	}

	.home section.slider .slides .slide {
		width: 80%;
	}

	.home section.clients .client-logos li {
		margin: 14px 30px;
	}

	.home section.our-products {
		height: 1030px;
	}

	.home section.our-products .products .left,
	.home section.our-products .products .right {
		width: 40%;
		padding: 50px;
		background-color: #fff;
		border-radius: 1px;
		margin-top: 42%;
	}

	.home section.our-products .products .left {
		margin-left: 5%;
	}

	.home section.our-products .products .right {
		margin-right: 5%;
	}

	.home section.what-we-do {
 		height: 1030px;
	}

	.home section.what-we-do .topics h2 {

  	}

  	.home section.what-we-do .topics {
		height: 900px;
		margin-bottom: 0;
	}

	.home section.what-we-do .topics-bg {
  		top: 260px;
  	}

  	.home section.what-we-do .topics .cybersecurity,
  	.home section.what-we-do .topics .segmentation {
		width: 40%;
		top: 0;
		margin: 5%;
  	}

  	.home section.what-we-do .topics .architecture {
  		bottom: 0px;
  	}

  	.main .two-columns .content {
  		width: 58%;
  	}

  	.template-resources .article-body-image + .article-body-content {
  		width: 100%;
  		margin-left: 0;
  	}

  	.template-resources .article-body-image {
		width: 100%;
		margin-bottom: 10px;
	}

	.template-resources .article-read-all {
		float: left;
	}

	.home section.slider .slides {
  		margin: 10px 0 30px;
  	}

  	.home section.slider {
  		height: 730px;
  	}
}

@media only screen and (max-width:800px) {
	.main-nav > li {
		margin-right: 1%;
	}

	.home section.learn-more .title {
		font-size: 58px;
	}

	.home section.learn-more .description {
  		font-size: 22px;
  	}

  	.products .products .left, .home section.our-products .products .right {
  		padding: 50px 10px;
  	}

  	.home section.what-we-do .topics h2 {
  		top: 41%;
  	}

}

@media only screen and (max-width:768px) {

	body {
		overflow-x: hidden;
	}

	.desktop {
		display: none !important;
	}

	.mobile {
		display: inherit;
	}

	.mce-content-body h1 {
	  font-size: 36px;
	}

	h2,
	.mce-content-body h2 {
		font-weight: 500;
		font-size: 32px;
	}

	.main .page.padding {
		padding: 2% 3%;
	}

	.header .wrapper {
		width: 100%;
	}

	.external-links-top,
	.nav .search
	{
		display: none;
	}

	.header	{
		padding: 0;
		box-shadow: 0px 0px 6px -1px #333;
	}

	.header .logo {
		margin: 2% 0 0 5%;
		width: 24%;
	}

	.header .logo-img {
		/*width: 50%;*/
		width: 100%;
	}

	.header .main-nav,
	.header.fixed .main-nav {
	    padding-top: 0;
	    margin-top: 0
	}

	.menu-button {
	    float: right;
	    transition: all 100ms ease-in-out;
	    font-size: 42px;
	    line-height: 42px;
	    color: #FFF;
	    padding: 2% 5% 2% 2%;
	}

	.nav.active .main-nav {
	    display: block
	}
	.menu-button:after {
	    content: '\f0c9';
	    font-family: 'FontAwesome';
	    transition: color 150ms ease-in-out
	}
	.menu-button.active {
	    background-color: #009ddc;
	    color: #fff;
	}
	.nav {
	    text-align: left;
	    width: 100%;
	    top: 0px;
	    position: absolute;
	    box-shadow: 0px 3px 5px -3px #333;
	    border-top: 1px solid #e7e7e5;
	}
	.nav > ul > li.menu-item {
	    display: block
	}

	.main-nav {
		display: none;
		padding: 0;
	    left: 0;
	    right: 0;
	    background-color: #fff;
	    transition: all 200ms ease-in-out;
	    border-top: 0
	}

	.main-nav a {
		color: #53534a;
		font-size: 16px;
  		font-weight: 600;
  		margin: 0 5%;
  		display: block;
	}

	.main-nav li {
	    margin: 0;
	    height: auto;
	    border-bottom: 1px solid #e7e7e5;
	    padding: 20px 0;
	    position: relative;
	    list-style: none
	}

	.menu-item-has-children:after {
	    content: '+';
	    font-size: 50px;
	    color: #009ddc;
		line-height: 16px;
		position: absolute;
		right: 5%;
		top: 22px;
	}

		.menu-item-has-children.active:after {
	    	content: '-';
		}

	.main-nav > li .sub-menu {
	    padding: 0;
	    display: none;
	    box-shadow: none;
	    width: auto;
	    position: relative;

	    transition: all 400ms ease-in-out;
	}

	.main-nav > li:hover .sub-menu {
	    display: none;
	    width: auto;
	}
	.main-nav > li.sep:after {
	    content: none
	}

	.main-nav > li:hover > a {
	  color: #53534a;
	}

	.main-nav > li .sub-menu li {
		background-color: #00529b;
		border-bottom-color: #009ddc;
	}

	.main-nav > li .sub-menu li a {
  		border-top: 0;
  		padding: 0;
  		color: #fff;
  		width: 86%;
  	}
  	.main-nav > li.active {
  		padding-bottom: 0;
  	}
  	.main-nav > li.active .sub-menu {
	    display: block;
	    height: auto;
	    margin-top: 20px;

	}
	.main-nav > li .sub-menu li a:hover {
		background-color: transparent;
		color: #fff;
	}

	.main-nav > li.phone {
	    background-color: #53534a;
	    text-align: center;
	}

	.main-nav > li.phone a {
	    font-size: 20px;
	    font-weight: 700;
	    color: #fff;
	    display: inline-block;
	    margin-left: 10px;
	}

	.main-nav > li.phone:before {
		color: #fff;
		display: inline-block;
		font-size: 25px;
		line-height: 20px;
	}

  	.main-nav li:last-child {
	    border-bottom: none;
	}

	.sub-menu li:after {
	    content: '\f0da';
	    font-size: 26px;
	    color: #fff;
		line-height: 16px;
		position: absolute;
		right: 6%;
		top: 22px;
		font-family: 'FontAwesome';
	}

	.nav .search-toggle {
		display: none;
		background-color: #f0f0f0;
		padding: 5%;
	}

	.nav .search-toggle .b {
		display: none;
		visibility: hidden;
	}

	.nav.active .search-toggle {
		display: block;
	}

	.nav.active .search {
		display: table;
		background-color: #fff;
		width: 100%;
	}

	.search-form {
		position: relative;
		width: 100%;
		height: auto;
		display: block;
		background-color: transparent;
		top: 0;
	}

	.search-form .search-submit.mobile {
		width: 42px;
		background-color: #009ddc;
		border-radius: 1px;
		display: table-cell;
  		margin: 0px;
		position: absolute;
		top: 1px;
		right: 1px;
		bottom: 1px;
		padding: 0;
	}

	.search-form .search-submit.mobile:after {
		content: '\f002';
		font-family: 'FontAwesome';
		font-size: 24px;
		line-height: 22px;
		transition: all 100ms ease-in-out;
		color: #fff;
		font-weight: 500;
		padding: 0;
	}

	.search-form .search-input {
		float: none;
		display: table-cell;
		font-size: 20px;
	}

	.nav .search-toggle:before {
		display: none;
	}

	.search-title {
		color: #009ddc;
		font-size: 20px;
		font-weight: 600;
		margin-bottom: 10px;
	}

	.mobile-top { }

	.mobile-top {
		display: table;
		width: 100%;
	}

	.mobile-top li {
		display: table-cell;
		border: 0;
		margin: 0;
		padding: 0;
	}

	.mobile-top a {
		color: #fff;
		font-size: 14px;
		font-weight: 700;
		text-align: center;
		display: inline-block;
		text-transform: uppercase;
		width: 100%;
		letter-spacing: 0.02em;
		line-height: 26px;
		padding: 0;
		margin: 0;
		border-radius: 0;
	}

	.mobile-top .trial {
		width: 60%;
	}

	.mobile-top .login {
		width: 40%;
	}

	.footer-nav {
		width: 80%;
	}

	.home section.learn-more {
	  padding-top: 20%;
	  height: auto;
	}

	.home section.learn-more .title {
		font-size: 60px;
		line-height: 72px;
	}

	.home section.learn-more .description {
		font-size: 18px;
		line-height: 28px;
	}

	.home section.learn-more .button {
  		margin-top: 14px;
  	}

	.home section.our-products h2,
	.home section.what-we-do h2,
	.home section.slider h2,
	.home section.clients h2,
	.home section.free-trial h2 {
		font-size: 40px;
	}

	.home section.our-products {
  		height: 1100px;
	}

	.home section.our-products .products {
		margin-top: 0;
	}

	.home section.our-products .products .left,
	.home section.our-products .products .right {
		width: 100%;
		float: none;
		box-shadow: none;
		margin-left: 0;
		margin-right: 0;
		text-align: center;
		padding: 0;
		background-color: transparent;
	}

	.home section.our-products .products .left {
		margin-top: 46vw;
	}

	.home section.our-products .products .right {
	  	margin-top: 60px;
	}

	.home section.what-we-do {
		height: 1250px;
	}

	.home section.what-we-do .topics {
		/*background-position: center 130px;*/
		height: auto;
	}

	.home section.what-we-do .topics-bg {
		top: 150px;
	}

	.home section.what-we-do .topics .cybersecurity,
	.home section.what-we-do .topics .segmentation,
	.home section.what-we-do .topics .architecture {
		width: 100%;
		position: relative;
		margin: 0;
		text-align: center;
		display: inline-block;
		bottom: 0;
		left: 0;
		right: 0;
	}

	.home section.what-we-do .topics h2 {
		/*top: 320px;*/
	}

	.home section.what-we-do .topics .cybersecurity {
		margin-top: 640px;
	}

	.home section.free-trial .form {
		margin: 0 auto;
		padding: 50px 2%;
	}

	.home section.free-trial .form {
		width: 100%;
	}

	.home section.free-trial h2,
	.home section.free-trial p {
		width: 100%;
	}

	.home section.free-trial input[type="text"],
	.home section.free-trial input[type="email"] {
		padding: 10px 15px;
		margin: 5px 0;
		width: 96%;
	}

	.home section.free-trial {
		height: 1140px;
	}

	.main .page {
  		top: -30px;
  	}

	.title-header {
		height: 145px;
	}

	.title-header .wrapper {
		height: 110px;
	}

	.title-header h1 {
  		font-size: 32px;
  	}

  	.template-solutions .items-template .item {
  		width: 90%;
  		margin: 65px 5% 26px;
  	}

  	.template-solutions .content-template,
  	.template-solutions .columns-template {
		padding: 25px 4%;
	}

  	.template-solutions .content-template .media,
  	.template-solutions .content-template .text {
  		width: auto;
  		margin: 0 auto !important;
  	}

  	.template-solutions .content-template .media,
  	.template-solutions .content-template .text {
  		padding: 25px 0;
  		float: none !important;
  		width: 100%;
  	}

	.template-solutions .columns-template h2,
	.template-solutions .columns-template p,
	.template-solutions .columns-template .no-button {
		text-align: left;
		width: 100%;
	}

	.template-solutions .columns-template .column {
  		width: auto;
  		margin-right: 0;
  		margin-top: 20px;
  	}

  	.template-solutions .columns-template .columns {
		margin-top: 20px;
	}

	.template-solutions .columns-template .column li {
  		padding: 0.5em 0 0.3em 0em;
  	}

  	.pre-footer p {
		font-size: 20px;
		margin: 9% 0 40px;
	}

  	.main .two-columns .content {
  		width: 100%;
  		float: none;
  	}

	.main .two-columns .sidebar {
		width: 100%;
		margin: 10px 0 0;
	}

	.content .search-input {
		width: 98%;
		padding: 0 1%;
	}

	.error404 .main .search-submit.mobile {
		display: none;
	}

	.error404 .main .search-submit.desktop {
		display: block !important;
	}

	.template-resources .article-body-image + .article-body-content {
  		width: 65%;
  		margin-left: 5%;
  	}

  	.template-resources .article-body-image {
		width: 30%;
		margin-bottom: 0px;
	}

	.template-resources .article-read-all {
  		float: right;
  	}

	.home .blog-bg {
		text-align: center;
	}

	.home .blog .thumb {
		height: 300px;
	}

}

@media only screen and (max-width: 756px) {

	section.free-trial .button {
		float: unset;
		margin: 0;
	}
}

@media only screen and (max-width: 660px) {

	.home section.our-products .products {
		background-size: contain;
  	}

  	.pre-footer p {
		margin-top: 9%;
	}

	.header .logo {
		width: 170px;
	}

  	.template-resources .article {
		padding: 26px 0;
	}

	.template-resources .article-body-image,
	.template-resources .article-body-content {
  		display: block;
  		width: 100%;
  	}

  	.template-resources .article-body-image + .article-body-content {
		 width: auto;
		 margin: 20px 0 0;
	}

	.template-resources .article-category {
		width: 85%;
		font-size: 30px;
	}

	.template-resources .article-read-all {
		display: block;
		float: left;
		clear: both;
	}

	.template-resources .article .article-body {
		/*margin-bottom: 20px;*/
	}

	.resources .template-resources .article .article-body {
		margin-bottom: 0;
	}

	.resources .template-resources .article .article-body {
		height: 0 !important;
		overflow: hidden;
		transition: all 100ms ease-in-out;
	}

	.resources .template-resources .article .article-sep,
	.resources .template-resources .article .article-read-all {
		display: none;
	}

		.resources .template-resources .article.active .article-sep,
		.resources .template-resources .article.active .article-read-all {
			display: block;
		}

		.resources .template-resources .article.active .article-body {
			height: auto !important;
			min-height: 100px;
			/*margin-bottom: 20px;*/
		}

		.resources .template-resources .article-share.active {
			margin-bottom: 50px;
		}

	.article .article-category:after {
		content: '\f105';
		font-family: 'FontAwesome';
		float: right;
		margin-right: -8px;
		line-height: 0;
		vertical-align: middle;
		margin-top: 18px;
		transition: all 100ms ease-in-out;
	}

		.article.active .article-category:after {
			transform: rotate(90deg);
	    	-webkit-transform: rotate(90deg);
	    	color: #f2673a;
		}


	.home section.slider .slides .prev,
	.home section.slider .slides .next {
  		bottom: 60px;
  		top: auto;
  	}

  	.home section.slider .slides .prev {
  		left: 36%;
  	}

  	.home section.slider .slides .next {
  		right: 36%;
  	}

  	.home section.slider .slides {
	 	padding-bottom: 60px;
	}

	.home section.slider {
		/*height: 840px;*/
		  height: auto;
  padding-bottom: 70px;
	}

}

@media only screen and (max-width: 500px) {

 	/*.home section.what-we-do .topics {
		background-size: contain;
		background-position: center 32vw;
	}*/
	.header .logo {
  		margin: 2% 0 0 4%;
  	}

  	.menu-button {
  		padding: 2% 4%;
  	}

	.home section.learn-more .title {
		font-size: 38px;
		line-height: 52px;
  	}

  	.home section.what-we-do {
		padding-bottom: 70px;
		height: auto;
	}

	.home section.what-we-do .topics h2 {
		/*top: 72vw;
		font-size: 11vw;*/
		font-size: 34px;
	}

	.home section.what-we-do .topics .cybersecurity {
		margin-top: 450px;
	}

	.home section.slider .wrapper {
		padding-top: 120px;
	}

	.home section.slider .slides {
		margin-bottom: 0px;
	}

	.home section.our-products h2,
	.home section.what-we-do h2,
	.home section.slider h2,
	.home section.clients h2,
	.home section.free-trial h2 {
		font-size: 34px;
	}

	.home section.what-we-do .topics-bg {
  		top: 120px;
  		width: 300px;
  		height: 300px;
  		left: calc(50% - 150px);
  		background-size: contain;
	}

	.home section.what-we-do .topics {
		height: auto;
	}

	.template-resources .article-body-image {
  		text-align: center;
  	}


}

/*-----------------------------------------
// Recent posts section
//-----------------------------------------*/
@media (min-width: 768px) {

	.recent-blog-posts .recent-post,
	.features .item {
		float: left;
		width: 50%;
	}

	section.free-trial form {
		overflow: hidden;
	}
}

@media (min-width: 992px) {

	.recent-blog-posts .recent-post {
		width: 25%;
	}

	.features .item {
		width: 33.3333333%;
	}

}

@media (min-width: 1170px) {
	.home .wrapper {
		width: 1170px;
	}

	.main-nav {
		text-align: left;
	}

	.main-nav > li {
		margin-right: 0;
		margin-left: 8.5%;
	}

	.main-nav > li:first-child {
		margin-left: 4%;
	}

	.main-nav > li:last-child {
		float: right;
		margin-left: 4%;
		margin-right: 4%;
		padding-left: 5.3%;
		text-align: center;
	}

	.main-nav > li.sep {
		padding-left: 5.3%;
	}
}


/*-----------------------------------------
// Home Hero
//-----------------------------------------*/
@media (min-width: 768px) {
	.home section.learn-more {
		background-image: url('../img/bg/home_hero_tablet.jpg');
	}

	.ie.home section.learn-more .flex-wrapper > div {
		height: 104px;
		width: 100%;
	}
}

@media (min-width: 1200px) {
	.home section.learn-more {
		background-attachment: fixed;
		background-image: url('../img/bg/home_hero.jpg');
		background-position: 73% 75px;
	}

	.home section.learn-more .flex-wrapper {
		width: 50%;
		justify-content: flex-start;
		margin: 0;
		max-width: 493px;
	}

	.title-header {
		background-size: cover;
	}
}