/* Global Styles (portrait) ----------- */
body {
  -webkit-text-size-adjust: none;
}
input[type="input"],
input[type="tel"],
input[type="email"],
button,
textarea {
  -webkit-appearance: none;
}
#toggle-menu {
  color: var(--blue);
  font-family: var(--header-font);
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2em;
  position: relative;
  text-transform: uppercase;
  position: relative;
  display: none;
}
#toggle-menu:hover {
  text-decoration: none;
  color: var(--sky-blue);
}
@media only screen and (max-width: 1349px) {
  #logo {
    max-width: 200px;
  }
}
@media only screen and (max-width: 1199px) {
  html,
  body {
    font-size: 16px;
    line-height: 1.5em;
  }
  #navigation {
    position: relative;
    z-index: 99;
  }
  #toggle-menu {
    display: block;
  }

  #navigation > ul.desktopMenu {
    position: fixed;
    width: 35%;
    min-width: 200px;
    background: #fff;
    box-shadow: 4px 1px 8px 5px rgba(0, 0, 0, 0.25);
    display: none;
    right: 0;
    top: 0;
    height: 100vh;
    background: var(--navy);
    z-index: 999;
  }
  #navigation > ul.desktopMenu > li {
    display: block;
    margin: 0;
    border-bottom: solid 1px rgba(255, 255, 255, 0.2);
    width: 100%;
  }
  #navigation ul.desktopMenu > li > a::before {
    height: 2px;
  }
  #navigation ul.desktopMenu > li:hover > a,
  #navigation ul.desktopMenu > li.current-menu-item > a,
  #navigation ul.desktopMenu > li.current-menu-parent > a,
  #navigation ul.desktopMenu > li.current_page_parent > a {
    font-weight: 700;
  }
  #navigation > ul.desktopMenu > li > a {
    display: block;
    padding: 10px 15px;
    color: #fff;
  }
  #navigation ul.desktopMenu > li > a > i {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
  }
  #navigation ul.desktopMenu > li > ul.sub-menu {
    display: block !important;
    position: relative;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
  }
  #navigation ul.desktopMenu > li > ul.sub-menu > li {
    border-bottom: none;
    border-top: solid 1px rgba(255, 255, 255, 0.2);
  }
  #navigation ul.desktopMenu > li > ul.sub-menu > li > a {
    padding-left: 30px;
  }
  #headerContact {
    padding-left: 5px;
    margin-left: auto;
  }
  #headerBtn {
    padding-right: 0;
    margin-left: 0;
  }
  #page-home #banner .bannerTxtBx, .single-post #banner.withImg .bannerTxtBx {
	max-width: 460px;
}
  #banner h2 {
    font-size: 2.6rem;
  }
  section h2 {
    font-size: 2.5rem;
  }
  section h3 {
    font-size: 2.125rem;
  }
  section h4 {
    font-size: 1.5rem;
  }
  .font27 {
    font-size: 1.275rem;
  }

  .values-row .col {
    padding-top: 3.5rem;
    padding-bottom: 1.1rem;
  }
  .valueTxt,
  .service-home-intro {
    font-size: 0.9rem;
  }
  .p_service_category-title img {
    width: 40px;
  }
  .faqCategory .faqBx .faqQ {
    font-size: 1.75rem;
  }
}

@media only screen and (max-width: 991px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input.text,
  input.title,
  textarea,
  select,
  input[type="submit"],
  button,
  .button,
  .gfield_label {
    height: var(--line-height-mobile);
    line-height: var(--line-height-mobile);
  }
  #page-home #banner .bannerTxtBx, .single-post #banner.withImg .bannerTxtBx {
	max-width: 350px;
}
  #banner h2,
  #banner h3 {
    font-size: 2.2rem;
  }
  footer .container {
    display: block;
  }
  #footerLeft {
    width: 100%;
    max-width: 100%;
  }
  #footerRight {
    margin: 0;
    padding-top: 3rem;
    width: inherit;
    text-align: left;
  }
  #copyright {
    text-align: left;
  }
  .font24 {
    font-size: 1.1333rem;
  }
  .teamName {
    font-size: 1.2rem;
  }
  .banner-categories {
    flex-direction: column;
  }
  .banner-categories span {
    padding-bottom: 1rem;
    font-size: 1rem;
  }
  ul.service-category-list > li {
    margin: 0 0.5rem;
  }
  .p_service_category-detail {
    padding: 2rem;
  }
  .p_service_list {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .service-list-item-btns {
    justify-content: center;
  }
  .contentBx {
    padding: 2rem;
  }
  .locationsBx {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
	header{
		flex-wrap: wrap;
	}
	#navigation {
		width: 50%;
		flex-grow: 1;
	}
	#toggle-menu {
		float: right;
		padding: 0 14px;
		border-radius: var(--button-radius);
		border: solid 1px var(--blue);
		background: rgba(255,255,255,0.8);
		line-height: 30px;
	}
	#navigation > ul.desktopMenu{
		left: 0; text-align: left;
	}
	#headerContact, #headerBtn{
		padding-top: 10px;
	}
	#page-home #banner, .single-post #banner.withImg{
		padding-top: 70vw;
	}
	#page-home #banner .bg-image, .single-post #banner.withImg .bg-image{
		width: 100%; height: 70vw;
	}
	#page-home #banner .bg-image::before, #page-home #banner .bg-image::after, .single-post #banner.withImg .bg-image:before, .single-post #banner.withImg .bg-image:after {
		width: 100%;
		height: 100%;
		background: linear-gradient(360deg, #fff 0%, rgba(255, 255, 255, 0) 35%);
		z-index: 9;
		clip-path: border-box;
	}
	#page-home #banner .bg-image::after, .single-post #banner.withImg .bg-image:after{
		transform: scaleY(-1);
		background: linear-gradient(360deg, #fff 6%, rgba(255, 255, 255, 0) 40%); opacity: .8;
	}
	#page-home #banner .bannerTxtBx, .single-post #banner.withImg .bannerTxtBx {
		max-width: 100%;
	}
	.service-home-cta{
		font-size: 1.4rem;
	}
	#home-why, #about-story{
		padding-top: 0;
	}
	#home-why .bg-image, #about-story .bg-image {
		width: 100%;
		position: relative;
		height: 50vw;
	}
	#home-why .bg-image:before, #about-story .bg-image:before{
		background: linear-gradient(360deg, #fff 0%, rgba(255, 255, 255, 0) 35%);
	}
	.footerWidget{
		padding-right: 2.5rem;
	}
	.footerWidgets > .footerWidget:last-child{
		padding-right: 0;
	}
	footer h3{
		font-size: 1.13rem;
	}
	.footerAddress, #footerNav ul{
		font-size: 1.05rem;
	}
	#banner h2, #banner h3 {
		font-size: 1.9rem;
	}
	.bannerTxt {
		font-size: 1.1rem;
	}
	.bannerPoints{
		font-size: 1.15rem;
	}
	.leadershipTxtBx {
		padding-bottom: 1rem;
	}
	section h2{
		font-size: 2.125rem;
	}
	.banner-categories span{
		padding-bottom: 5px;
	}
	ul.service-category-list{
		flex-wrap: wrap;
	}
	ul.service-category-list > li{
		margin: 8px;
	}
	.p_service_category-detail .bg-image, .locationsBx .bg-image {
		position: relative;
		width: 100%;
		height: 250px;
		border-radius: 5px;
		overflow: hidden;
		margin-bottom: 1.5rem;
	}
	.p_service_category-detail .bg-image:before, .locationsBx .bg-image:before{
		opacity: .6;
	}
	.service-list-item-btns {
		padding-top: 1rem;
	}
	#banner .bannerCTA{
		font-size: 1.275rem;
	}
	.contentCTA {
		font-size: 1.35rem;
		padding-bottom: 2rem;
	}
	.font21 {
		font-size: 1.1rem;
		line-height: 1.5em;
	}
	#footerLogo {
		max-width: 120px;
	}
}

@media only screen and (max-width: 575px) {
	header{
		justify-content: space-between;
	}
	#page-home #banner{
		padding-top: 0;
	}
	#page-home #banner .bg-image{
		position: relative; height: 100vw;
	}
	#toggle-menu {
		text-transform: none;
		padding: 0 10px;
	}
	#logo{
		max-width: 160px;
	}
	#navigation {
		padding-left: 10px;
		width: 30%;
	}
	#page-home #banner .bg-image::after {
		background: linear-gradient(360deg, #fff 20%, rgba(255, 255, 255, 0) 40%);
		opacity: 1;
	}
	#headerContact, #headerBtn{
		margin: 0; padding-left: 0; padding-right: 0;
	}
	#headerBtn{
		padding-left: 10px;
	}
	#headerContact .button, #headerBtn .button {
		font-size: .87rem;
	}
	.mob-spacer{
		display: block; height: 1px; width: 100%;
	}
	.list-badge{
		font-size: 1.1rem;
	}
	section h2 {
		font-size: 1.8rem;
	}
	.footerWidgets {
		display: block;
	}
	.footerWidget {
		padding-right: 0;
		padding-bottom: 2.5rem;
	}
	#footerBtns{
		padding-left: 0;
	}
	ul.service-category-list > li {
		margin: 5px;
	}
	.button.btn-sm{
		font-size: .9rem;
	}
	.p_service_category-detail, .contentBx, .locationsBx {
		padding: 20px;
	}
	.p_service_list{
		padding-left: 20px;
		padding-right: 20px;
	}
	.faqCategory .faqBx .faqQ {
		font-size: 1.4rem;
		padding-left: 1.5em;
	}
	.faqCategory .faqBx .faqA{
		padding-left: 0;
	}
	.faqCategory .faqBx .faqA	.button.btn-sm {
		font-size: .85rem;
		padding: 0 8px;
	}
	section h3 {
		font-size: 1.8rem;
	}
#banner h3{
		font-size: 1.6rem;
	}
	#banner .bannerCTA {
		font-size: 1.15rem;
	}
	.gform_fields > .gfield{
		width: 100%;
	}
	#paginationWrapper {
		flex-direction: column;
	}
	.wp-pagenavi {
		margin: 12px 0;
	}
	.cardcarousel-item {
	width: 270px;
}
.cardcarousel-item .card .card-image{
	height: 130px;
}
.cardcarousel-item .card .card-body h4{
font-size: 1.75rem;	
}
}