/*******************************************
********************************************
RESPONSIVE STYLES */

/*------------tablet landscape view------*/
@media (max-width:1200px) {
	.main {
		width: 100%;
		padding: 0 5%;
	}
	.our-services ul li {
		margin-right: 4%;
	}
	.our-contacts .find-us {
		padding: 4px 0;
	}
	.our-contacts .call-us {
		padding-left: 2%;
	}
	.banner .main {
		padding-left:120px;
	}
	.banner-text {
		padding-top: 23%;
	}
	.banner h1 {
		font-size: 32px;
	}
	.banner p {
		line-height: 24px;
	}
}

/*------------tablet portrait  view------*/
@media (max-width:1023px) {
	
	.our-services ul li .services-icon {
		width: 140px;
		height: 140px; 
	}
	.our-services ul li a {
		font-size: 11px;
	}
	.inner-page .inner-banner .inner-banner-wrapper .inner-banner-content {
	  	padding: 0px 80px;
	}
}

@media (max-width:980px) {
	
  .banner .item,
	#slider, .bx-wrapper, .bx-viewport {
		height: 650px !important;
	}
	.index #header {
		height: 185px;
	}
  
	.fixed #header {
		height:85px !important;
	}
	
	.fixed #header-main {
		height:85px;
	}
	.fixed #header-main > .main,
	.header-top {
		background-color:#363636;
	}
  
  .fixed #header-main .logo img {
	  height:65px !important;
  }
  
  .header-top {
	  display: none;
	  background-image:none;
  }
  
  .enumenu_container .header-top {
	  display: block;
  }
  
  .inner-page.fixed #header {
    height: 142px;
  }
  .inner-page .inner-banner,
  .inner-page .inner-banner::after {
    height: 336px;
  }
  .inner-page #header-main, .fixed #header-main {
    transition:none !important;
  }
  .header-top ul {
		text-align: center;
	    width: 100%;
	}
	.enumenu_ul {
		display: none;
		padding: 10px 0;
	}
	.menu-block {
		height: auto;
	}
	.menu-icon {
		display: block;
	}
	#header-main {
		background: rgba(54, 54, 54, 1);
	}
	#header-main .logo a, #header-main .logo a img {
  	display: inline-block;
	}
	.services-detail a.pba-detail {
		border-bottom: 2px solid #d3d9da;
	}
	.enumenu_ul > li {
		display: block;
		margin: 0px;
		padding: 0px;
		border-bottom: 1px solid rgba(224, 204, 188, 0.20)
	}
	.enumenu_ul > li:last-child {
		border: none;
	}
	.enumenu_ul > li > a {
		display: block;
		text-align: left;
		padding: 10px 0;
	}
	.enumenu_ul > li:hover::after, .enumenu_ul > li.active::after {
		display: none;
	}
	.enumenu_ul {
		width: 100%;
	}
	.enumenu_ul > li ul {
		margin: 0;
	}
	.enumenu_ul > li ul a {
		text-align: center;
		display: block;
		text-align: left;
		padding: 10px;
		color: #e0cfbc;
		font-size: 12px;
	}
	.enumenu_ul > li ul li > ul li a {
		padding: 5px 20px;
	}
	.enumenu_ul > li ul li > ul > li > ul li a {
		padding: 5px 30px;
	}
	.enumenu_ul > li ul li > ul > li > ul > li > ul li a {
		padding: 5px 40px;
	}
	.enumenu_ul > li ul a:hover {
		color: #006b64
	}
	.enumenu_ul .arrow.up {
		background: url(/images/layout/minus.png) no-repeat center center;
	}
	#header-main {
		top: 0;
	}
	#header-main .logo {
		border: 0 none;
		position: static;
	}
	#header-main .logo a img {
		height: 90px;
	}
	.header-top ul li {
		margin-right: 10px;
		padding-right: 10px;
	}
	.banner-text {
		padding-top: 97px;
	}
	.our-services {
		padding: 58px 0 15px;
	}
	.our-services ul li {
		width: 24%;
		margin: 0 2% 20px;
	}
	h2 {
		font-size: 30px;
		margin-bottom: 20px;
	}
	.our-contacts {
		text-align: center;
	}
	.our-contacts .call-us, .our-contacts .find-us {
		padding: 0 3%
	}
	.our-contacts span {
		width: 100%;
	}
	.our-contacts span.heading {
		margin-bottom: 5px;
	}
	.about-our-firm {
		padding: 40px 0;
	}
	.our-services {
		padding: 40px 0 15px;
	}
	#footer-main {
		padding: 30px 0 20px;
	}
	.middle-container .left-panel {
		width: 68%;
	}
	.middle-container aside {
		width: 32%;
	}
	.related-topics {
		padding: 20px 20px 25px;
	}
	.aside-nav ul li a {
		padding: 10px;
	}
	#header-main .logo a img {
		height: 110px;
	}
	
	.blog-posts a {
		padding:15px;
	}
	.blog-posts a p {
		min-height:161px;
	}
}

@media screen and (max-width:770px) { /* Tablet View */
  h1 {
    font-size: 30px;
  }
  #faqs-list .cell p.question {
    line-height: 32px;
  }
  .banner .item {
    position: relative;
  }
  .banner .item:before {
    content: "";
    height: 100%;
    width: 100%;
    top:0px;
    left: 0px;
    background: rgba(0,0,0,0.52);
  }
	/* iOS Clicking Fix */
	body {
		cursor: pointer;
	}
	.our-services ul li {
		width: 25%;
	}
	.banner .item {
		height: 450px;
	}
	h2 {
		font-size: 25px;
		margin-bottom: 10px
	}
	p {
		font-size: 12px;
		line-height: 24px;
		padding-bottom: 15px;
	}
	.help-plan-left {
		width: 100%;
		float: none;
		height: 350px;
	}
	.help-plan-right {
		width: 100%;
		float: none;
		height: auto;
		min-height: 0;
		padding: 40px 0
	}
	.help-plan-right::before {
		height: 100%;
		min-height: 0
	}
	.help-plan-wrapper {
		width: 90%;
		max-width: 100%;
		display: inline-block;
		height: auto
	}
	.help-plan-wrapper .help-plan-content {
		display: inline-block
	}
	.our-services ul {
		margin-top: 10px;
	}
	.our-contacts {
		text-align: left;
		padding: 30px 0
	}
	.our-contacts .find-us {
		border-right: none;
		border-bottom: 1px solid rgba(50, 50, 50, 0.3);
		padding-bottom: 20px
	}
	.our-contacts .call-us, .our-contacts .find-us {
		width: 100%;
		margin: 10px 0
	}
	.our-contacts span.heading {
		margin-right: 12px
	}
	.our-contacts span {
		width: 70%
	}
	.help-plan h2 {
		font-size: 26px;
		line-height: 30px;
	}
	#footer-main ul li {
		padding-right: 15px;
		margin-right: 10px;
	}
	#footer-main p {
		line-height: 24px;
	}
	.inner-page .middle-container {
		padding: 30px 0;
	}
	.header-top ul li:last-child {
		margin-right: 10%
	}
	.middle-container .left-panel {
		
	}
	.middle-container aside {
	}
	.related-topics::before {
		background-size: cover
	}
	.aside-nav {
	}
	.related-topics {
	}
	.header-top ul li:last-child {
		margin-right: 0
	}
	.staff-list li {
    width: 50%;
    text-align: center;
    padding: 0px 10px;
  }
  .contact-us .table .left-panel.cell,
  .contact-us .table aside.cell {
    display: block !important;
    width: 100% !important;
  }
  
  .contact-us .table aside.cell {
    padding-top: 26px;
  }
  
  #contact-form {
    padding-right: 0 !important;
  }
  
  .error + p::before {
    left:-20%;
    right:auto;
    width: 140%;
    top:25px;
    bottom: auto;
    margin: 0 auto;
  }
  
  .error + p::after {
    left:-20%;
    right:auto;
    width: 140%;
    top:auto;
    bottom: 25px;
  }
  
  	.award:after {
		height:215px;
		width:80px;
		background-size:contain;
	}
	
	.banner .main { 
		padding-left:100px;
	}
  
}

@media (max-width:700px) {
  
  .middle-container .table .cell {
    display: block !important;
    width: 100%;
    padding: 0px;
  }
  
  .related-topics::before {
    height: 44px;
    margin-top: -44px;
  }
  
  .aside-nav p > img,
  .aside-nav img {
    display: block;
    margin: 0 auto;
  }
  
  #file-list .cell + .cell {
    display: none !important;
  }
  
  .sup-staff-list h2,
  .sup-staff-list p {
		display: inline-block;
		width: 100%;
	}
	
	.blog-posts a {
		display: block;
		width:100%;
	}
	
	.blog-posts a + a,
	.blog-posts a:nth-child(3n-1) {
		margin:15px auto 0;
	}
	
	.blog-posts a,
	.blog-posts a p {
		min-height:0;
	}
  
}

/*------------mobile portrait view------*/
@media (max-width:640px) {
	.header-top ul li {
		display: block;
		margin-bottom: 8px;
		border: none;
		padding-right: 0;
		margin-right: 0
	}
	.header-top ul li::after {
		display: none
	}
	.inner-page.fixed #header {
    height: 169px;
  }
  .inner-page .inner-banner,
  .inner-page .inner-banner::after {
    height: 336px;
  }
	.banner-text {
    padding-top: 43px;
    width: 100%;
    max-width: 600px;
  }
  .banner-text article {
    font-size: 32px;
    line-height: 34px;
  }
  .banner-text p br {
    display: none;
  }
	.header-top ul li:last-child {
		margin-right: 10%
	}
	.header-top ul li {
		width: auto;
		margin: 0 10% 5px;
		display: inline-block
	}
	#header-main .logo {
		position: static;
		text-align: center;
		padding: 10px 0 3px;
	}
	#header-main .logo a, #header-main .logo a img {
		display: inline-block
	}
	#header-main {
		position: static
	}
	.header-top ul li.time-icon {
		margin: 0 30% 5px;
	}
	.header-top ul li.social {
		margin: 0 10px;
	}
	.header-top ul li.fb-like {
		margin: 5px 0 0 10px;
	}
  .banner .item,
	#slider, .bx-wrapper, .bx-viewport {
		height: 600px !important;
	}
	.banner h1 {
		font-size: 26px;
		line-height: 30px;
		margin-bottom: 5px;
	}
	.banner p {
		font-size: 12px;
		line-height: 20px;
	}
	.bx-controls {
    bottom: 20px;
  }
	.banner .owl-carousel .owl-controls {
		top: 30%
	}
	.our-services ul li {
		width: 35%;
		margin: 0 5% 20px
	}
	.about-our-firm {
		padding: 30px 0;
	}
	.our-services {
		padding: 30px 0 5px;
	}
	#footer-main {
		padding: 20px 0 10px;
	}
	.help-plan-right {
		padding: 30px 0;
	}
	.our-contacts {
		padding: 20px 0;
	}
	.btn-border a {
		font-size: 13px;
		padding: 10px 20px;
	}
	.help-plan-left {
		height: 275px
	}
	.our-contacts {
		text-align: center
	}
	.our-contacts span.heading {
		display: inline-block
	}
	.our-contacts span {
		width: 100%
	}
	.our-contacts .call-us, .our-contacts .find-us {
		margin: 5px 0;
	}
	.our-contacts .find-us {
		padding-bottom: 15px;
	}
	span.jb-logo {
		margin: 20px 0 10px;
		position: static;
	}
	.banner .owl-carousel .owl-controls {
		top: 92%;
		text-align: center
	}
	.banner .owl-carousel .owl-controls .owl-dots .owl-dot {
		float: none;
		display: inline-block;
		margin: 0 15px 0 0;
		height: 15px;
		width: 15px;
	}
	.banner .owl-carousel .owl-controls .owl-dots .owl-dot:hover::after, .banner .owl-carousel .owl-controls .owl-dots .owl-dot.active::after {
		width: 20px;
		height: 20px;
		left: -5px;
		top: -5px
	}
	.inner-page .header-wrapper {
		text-align: center
	}
	.inner-page #header-main .logo {
		display: inline-block
	}
	.inner-page #header-main .logo a, .inner-page #header-main .logo a img {
		display: block
	}
	.aside-nav {
		margin-bottom: 60px
	}
	.aside-nav {
		width: 100%;
	}
	.related-topics {
		width: auto;
		margin-left: 0
	}
	h3 {
		font-size: 24px;
		line-height: 26px;
		margin-bottom: 10px
	}
	.error + p::before,
	.error + p::after {
  	left: 0px;
  	width: 100%;
	}
	.inner-banner-content h2 {
  	font-size: 34px;
  	text-align: center;
  	position: relative;
  	display: inline-block;
  	text-align: left;
  	padding-left: 10px;
	}
	
	.inner-banner-content h2:after {
	  display: block;
	  text-align: left;
	  content: "";
	  background: rgba(0, 0, 0, 0) url("/images/layout/heading-sep.png") repeat-x scroll 0 0;
    height: 18px;
    margin-bottom: 10px;
    width: 217px;
	}
	
	.inner-page .header-sep {
  	display: none;
	}
	.inner-banner-content:after {
	  content: "";
	  z-index: 0;
	  width: 100%;
	  height: 100%;
	  top:0px;
	  left:0px;
	  position: absolute;
	  background-color: rgba(0, 0, 0, 0.4);
	}
	.inner-banner-content h2,
	.inner-page .header-sep {
  	position: relative;
  	z-index: 1;
	}
	
	.inner-page .inner-banner .inner-banner-wrapper .inner-banner-content {
	  padding: 0px 10px;
	}
	
}

@media (max-width:550px) {
  .footer-wrapper p span {
    display: block;
  }
  .breadcrumbs {
    display: none;
  }
	.header-top ul li.time-icon {
		margin: auto;
		display: block;
		width: 185px;
	}
}

/*----------optional css------*/
@media (max-width:480px) {
	.our-staff h2 {
  	text-align: center;
	}
	.staff-list li {
    width: 100%;
    padding: 0px;
  }
	.banner .item,
	#slider, .bx-wrapper, .bx-viewport {
		height: 600px !important;
	}
	.our-services ul li {
		margin-right: 0;
		margin-left: 0;
		display: inline-block;
		width: auto;
	}
	#footer-main ul li {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		display: inline-block;
		width: 100%;
		padding: 0 0 15px 0;
		margin: 0 0 15px 0
	}
	#footer-main ul li:last-child {
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		display: inline-block;
		width: 100%;
		padding: 0 0 15px 0;
		margin: 0 0 15px 0
	}
	span.jb-logo {
		margin: 8px 0 10px
	}
	.banner-text {
		width: 100%
	}
	.banner h1 {
		font-size: 22px;
		line-height: 26px
	}
	h2, .help-plan h2 {
		font-size: 22px;
		line-height: 26px
	}
	p, .inner-page .middle-container p {
		line-height: 22px
	}
	.btn {
		margin-top: 10px
	}
	.btn a {
		font-size: 12px;
	}
	.btn-border a {
		padding: 8px 15px;
	}
	h3 {
		font-size: 20px;
		line-height: 24px;
		margin-bottom: 10px
	}
	.header-top ul li {
		margin: 0 0 5px;
		font-size: 12px;
	}
	.header-top ul li:last-child {
		margin-right: 0;
		margin-left:5%;
	}
	.related-topics::before {
    height: 23px;
    margin-top: -23px;
  }
  .error .cell p {
    font-size: 16px;
    line-height: 28px;
  }
  .inner-page .inner-banner::after {
    width: 100%;
    max-width: 400px;
  }
}

@media screen and (max-width:400px) {
	.g-recaptcha {
	  -webkit-transform: scale(0.9);
	      -ms-transform: scale(0.9);
	          transform: scale(0.9);
	  -webkit-transform-origin:0;
	      -ms-transform-origin:0;
	          transform-origin:0;
	}
}

@media screen and (max-width:360px) {
  .inner-page .inner-banner .inner-banner-wrapper .inner-banner-content {
	  	box-sizing: border-box;
	  	padding: 0px !important;
	  	position: relative;
	}
	
	#faqs-list .cell p.question {
	  	font-size: 16px;
	  	line-height: 26px;
	}
	
	/* make sure banner text fits */
	
	.banner .main {
		padding-left:90px;
	}
	
	.banner-text {
		padding-top:20px;
	}
	.banner-text article {
		font-size:26px;
		line-height:1.15;
		margin-bottom:8px;
	}
	.header-sep {
		margin-bottom:6px;
	}
	
	.g-recaptcha {
	  -webkit-transform: scale(0.75);
	      -ms-transform: scale(0.75);
	          transform: scale(0.75);
	  -webkit-transform-origin:0;
	      -ms-transform-origin:0;
	          transform-origin:0;
	}
}

@media screen and (max-width:320px) {
  .inner-page .inner-banner .inner-banner-wrapper .inner-banner-content {
  	padding: 0px 40px;
	}
	
	.error .cell h1 {
    font-size: 70px;
  }
}