/******************************
RESPONSIVE STYLES 
******************************/
@media screen and (max-width: 1250px) {
  .nav-menu > li:first-child > .sub-menu { 
	  left:0;
	  -webkit-transform: translate(0);
	  -moz-transform: translate(0);
		transform: translate(0);
  }
  .nav-menu > li:last-child > .sub-menu { 
	  left:auto;
	  right:0;
	  -webkit-transform: translate(0);
	  -moz-transform: translate(0);
		transform: translate(0);
  }
  
}
@media screen and (max-width: 1150px) {
	.jbsystems{
		right: 15px;
	}
	.nav-menu > li{
	    margin: 0 22px;
	}
}
@media screen and (max-width: 1100px) {
	.header-menu .logo img{
		width: 290px;
	}
	.nav-menu > li {
	    margin: 0 10px;
	}
	.slick-arrow.slick-prev{
		left: 15px;
	}
	.slick-arrow.slick-next{
		right: 15px;
	}
	.content-slider .slick-dots{
		left: 25px;
	}
	.footer-wrapper > .relative{
		padding-bottom: 45px;
	}
	.jbsystems{
		position: static;
		margin-top: 20px;
	}
	.quick-links-wrapper .container > .table > .cell:first-child{
		width: 290px;
		padding-left: 30px;
	}
	#home .quick-links-wrapper .container{
		padding-bottom: 0;
	}
	.testimonials-wrapper {
		padding-top:  0px !important;
	}
	.bar-callout {
		height: auto;
		padding: 20px 0px 30px;
	}
	.bar-callout .container {
		padding: 0 25px;
	}
	.bar-callout .container > .table > .cell {
		display: block;
		width: 100%;
		height: auto;
		text-align: center !important;
		padding: 20px 0 ;
	}
}

@media screen and (max-width: 1000px) { /* Target Screen Width */
	.logo-mobile-wrapper,
	.mob-links,
	.mob-link{
	    display: inline-block;
	}
	.top-bar, .nav-menu > .logo-item,
	.home-menu .main-nav{
		display: none;
	}
	.logo-mobile{
	    width: 220px;
	    display: block;
	}
	.logo-mobile img{
		display: block;
	}
	.search-btn.mob-link{
		position: absolute;
		right: 60px;
	    top: 11px;
	}
	.search-btn.mob-link .ico-search{
		background: url(../images/icons/search-mob.png) no-repeat;
	}
	.search-btn.mob-link .ico-search:before{
		content: none;
	}
	.header-wrapper{
		position: fixed;
	}
	#header, #inner #header{
		height: 70px;
	}
	.header-menu{
		height: 64px;
	}
	.header-menu{
	    background: #fff;
	    text-align: left;
	    padding: 8px 0;
	    -webkit-box-shadow: 0 3px 8px 0 rgba(1,1,1,.1);
	    -moz-box-shadow: 0 3px 8px 0 rgba(1,1,1,.1);
	    box-shadow: 0 3px 8px 0 rgba(1,1,1,.1);
	}
	/*=== Navigation ===*/

	#nav-btn {
		display: block;
	    position: absolute;
        right: 15px;
        top: 7px;
	    font-size: 32px;
	    color: #324531;
	}
	#nav-close-btn {
		font-size: 32px;
		position: absolute;
		top: 35px;
		right: 55px;
		display: block;
		z-index: 5;
	}
	.fixed .main-nav, #inner .main-nav{
		padding: 0;
	}
	.main-nav {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		width: 0;
		margin: 0;
		color: #fff;
		background-color: #324531;
		overflow: hidden;
		overflow-y: auto;
		z-index: 110;
		font-size: inherit;
		-webkit-transition: all 0.5s ease 0s;
		   -moz-transition: all 0.5s ease 0s;
			-ms-transition: all 0.5s ease 0s;
			 -o-transition: all 0.5s ease 0s;
				transition: all 0.5s ease 0s;
	}
	.open .main-nav {
		width: 450px;
	}
	.main-nav nav {
		position: relative;
		min-width: 450px;
		padding: 80px 80px 40px 40px;
		text-align: left;
	}
	.nav-menu {
		padding-top: 0 !important;
		text-align: left;
	}
	.nav-menu > li {
		display: block;
		margin: 0;
		padding: 0;
	}
	.nav-menu > li > a,
	#inner .nav-menu > li > a{
		display: block;
		letter-spacing: 2px;
	    padding: 14px 30px 12px 25px;
	    border-bottom: 1px solid #202e1f;
	    -webkit-box-shadow: 0px 1px rgba(255, 255, 255, 0.2);
    	-moz-box-shadow: 0px 1px rgba(255, 255, 255, 0.2);
	    box-shadow: 0px 1px rgba(255, 255, 255, 0.2);
	    font-size: 20px;
        color: inherit;
	}
	#inner .nav-menu  li  a{
		color: #fff;
	}
	/*.nav-menu > li:last-child > a {
		border-bottom: 0;
	    -webkit-box-shadow: none;
    	-moz-box-shadow: none;
	    box-shadow: none;
	}*/
	.nav-menu > li.active > a,
	.nav-menu > li:hover > a {
		color: inherit;
	}
	.nav-menu > li:not(.logo-item) > a:after,
	.sub-menu li a:after {
		content: none;
	}
	.sub-ctrl {
	    position: absolute;
	    top: 8px;
	    right: 0;
	    width: 30px;
	    height: 40px;
	    text-align: center;
		cursor: pointer;
		z-index: 1;
	}
	.sub-ctrl:after {
	    content: "\f105";
	    font: 22px/40px Font Awesome\ 5 Pro;
	    font-weight: bold;
	}
	.sub-ctrl.show {
		-webkit-transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	.sub-menu {
		position: static;
		display: none;
	    width: 100%;
	    margin: 0 !important;
        padding: 5px 25px;
	    text-align: inherit;
	    background: none;
	    border-radius: 0;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform:none;
		-o-transform: none;
		transform: none;
		-webkit-transition: none;
		-moz-transition: none;
	 	-ms-transition: none;
		-o-transition: none;
		transition: none;
		background-color: transparent;
		opacity: 1;
		visibility: visible;
	}
	.sub-menu li {
	    margin-bottom: 0;
	}
	.sub-menu li:first-child a{
		padding-top: 10px;
	}
	.sub-menu li:last-child a{
		padding-bottom: 0;
	}
	.sub-menu li a {
        display: block;
	    padding: 7px 0px 7px 0px;
        text-transform: none;
	    font-size: 18px;
	    letter-spacing: 0;
	    height: auto;
        color: inherit;
        background: none;
        margin: 0;
	}
	.sub-menu li a:hover{
		font-family: 'Lato-Bold';
		color: inherit;
	}
	.mob-links{
		padding: 14px 30px 12px 25px;
		white-space: nowrap;
	}
	.mob-links .phone{
		font: 20px 'Montserrat-Black';
		letter-spacing: 2px;
		margin-right: 20px;
	}
	.large-text{
		font-size: 75px;
		line-height: 80px;
	}
	.banner-text{
	    padding: 0 60px;
	}
	.content-slider .slick-dots{
		top: auto;
		left: 0;
		bottom: 25px;
		width: 100%;
		text-align: center;
	}
	.content-slider .slick-dots li{
		display: inline-block;
    	margin: 0 3.5px;
	}
	.quick-links-wrapper{
		padding: 0;
	}
	.quick-links-wrapper .large-text br{
		display: none;
	}
	.quick-links-wrapper .container > .table ,
	.quick-links-wrapper .container > .table > .cell{
		display: block;
		height: auto;
		width: 100%;
	}
	.quick-links-wrapper .container > .table > .cell:first-child{
		width: auto;
		text-align: center;
		padding: 30px 15px 0;
	}
	#home .quick-links-wrapper .img-box{
		top: 0;
	}
	.quick-links-wrapper .img-box:before{
		content: none;
	}
	.cta-title{
		font-size: 26px;
	}
	.main-content .sidebar{
		width: 330px;
		padding-left: 40px;
	}
	.quick-links-wrapper .img-box {
		margin-top: 0px;
	}
	.quick-links-wrapper .container > .table > .cell:first-child {
		padding: 30px 15px;
	}
	.nav-menu > li > a {
		padding: 14px 15px 12px 15px !important;
	}
}

@media screen and (max-width: 900px) {
	h1 br{
		display: none;
	}
	.large-text {
	    font-size: 65px;
	    line-height: 70px;
	}
	.banner{
	    min-height: 480px;
	}
	.about-wrapper .more{
		padding-bottom: 20px;
	}
	.testimonial-box .inner-box{
		padding: 0 15px;
	}
	.main-content.full-width{
		background: none;
	}
	.main-content{
		min-height: 500px;
	}
	.main-content .col-left,
	.main-content .col-right{
		display: block;
	}
	.main-content .sidebar{
		width: 330px;
		padding-left: 0;
		margin: 30px auto 0;
	}
}

@media screen and (max-width: 770px) { /* Tablet View */
	body {
		cursor: pointer; /* iOS Clicking Fix */
	}
	h1, h2{
		line-height: 38px;
		letter-spacing: 1px;
	}
	.banner-content{
		margin: 0 auto 30px;
	}
	.banner-bottom span, .breadcrumbs li{
		letter-spacing: 1.5px;
	}
	.testimonial-box{
		height: auto;
		min-height: 400px;
		padding: 40px 0;
	}
	.main-content.full-width .col-left{
		padding-right: 0;
	}
	.breadcrumbs-wrapper{
		padding: 9px 0;
	}
	.bar-callout-simple span{
		font: 25px/38px 'Montserrat-Bold';
	}
	.bar-callout-simple .more:after{
	    margin-left: 20px;
	}
	.testimonial-box {
		padding: 40px 0 90px;
	}
	.testimonials-wrapper .more {
		left: 50%;
		-webkit-transform: translateX(-65%);
	  -moz-transform:    translateX(-65%);
	  -ms-transform:     translateX(-65%);
	  -o-transform:      translateX(-65%);
	  transform:         translateX(-65%);
	  white-space: nowrap
	}
	.error-page .page-nav > li:not(.logo-item) {
		display: block !important;
		padding: 10px 0 0 0 !important;
	}
	
	.error-page .page-nav > li > .btn {
		width: 100%;
		max-width: 250px;
	}
}

@media screen and (max-width: 670px) { /* Phone View */
	#nav-close-btn{
		top: 15px;
		right: 25px;
	}
	.banner-text{
		padding: 0;
	}
	.banner-bottom{
		padding: 14px 15px 10px;
	}
	.banner-bottom span{
		font-size: 14px;
	}
	.banner-content, .banner-text p{
		font-size: 16px;
		line-height: 28px;
	}
	.about-wrapper{
		padding: 40px 0;
		background: none;
	}
	.quick-links-wrapper .img-box{
		padding-top: 45px;
	}
	.quick-links-wrapper .img-box{
		height: auto;
		text-align: center;
	}
	.quick-links-wrapper li{
		display: block;
		width: auto;
		margin: 0 0 30px;
	}
	.ql-box h3{
		display: block;
	}
	.main-content{
		padding-top: 40px;
	}
	.bar-callout-simple .cell{
		display: block;
		text-align: center;
		width: auto !important;
		text-align: center !important;
	}
	.bar-callout-simple span{
		display: block;
		margin-bottom: 15px;
	}
	.section-content p {
		font-size: 16px;
		line-height: 22px;
		padding: 5px 0;
	}
  .error-page .main-content .container {
	  padding: 0;
  }
  .error-page .main-content p a:after {
	  display: none;
  }
}
@media screen and (max-width: 480px) {
	h1, h2,
	.main-content .col-left > h1{
		font-size: 24px;
		line-height: 36px;
		margin-bottom: 15px;
	}
	.open .main-nav{
		width: 350px;
	}
	.main-nav nav{
		min-width: 350px;
		padding: 60px 30px 40px 30px;
	}
	.sub-menu li a{
		padding-left: 10px;
	}
	.mob-links{
		padding-left: 15px;
	}
	.banner-bottom{
		display: none;
	}
	.banner-text .btn{
		min-width: 200px;
	}
	.sub-banner .banner-text{
		text-align: center;
	}
	.large-text {
	    font-size: 55px;
	    line-height: 55px;
	}
	.search-box input[type="text"]{
		width: calc(100% - 45px);
	}
	.search-box input[type="submit"]{
		margin-left: 10px;
	}
	.ql-box i{
		width: 120px;
		height: 120px;
		border-width: 6px;
	}
	.quick-links-wrapper .large-text{
		font: 32px/46px 'Montserrat-Bold';
	}
	.main-content .col-left .list li:first-child::before{
		top: 10px;
	}
	.main-content .col-left .list li::before{
		top: 26px;
	}
	.main-content .col-left .list li{
		padding: 16px 15px 16px 35px;
	}
}

@media screen and (max-width: 380px) {
	.open .main-nav{
		width: 300px;
	}
	.main-nav nav{
		min-width: 300px;
		padding-left: 15px;
		padding-right: 25px;
	}
	.header-menu {
    	height: 55px;
	}
	.logo-mobile{
		width: 180px;
	}
	#nav-btn{
		top: 2px;
	}
	#header, #inner #header {
    	height: 61px;
	}
	.search-btn.mob-link{
		top: 7px;
	}
	.about-wrapper{
		padding: 30px 0;
	}
	.footer-wrapper .ico-logo{
		margin-bottom: 20px;
	}
	.footer-wrapper p{
		letter-spacing: 1.5px;
	}
	.main-content .sidebar{
		width: 100%;
	}
	.page-section button {
    font-size: 17px !important;
    line-height: 22px !important;
  }
  .breadcrumbs li > a, .breadcrumbs li > span {
    font: 11px/25px 'Montserrat-Regular';
  }
}
