@media screen and (min-width: 901px) {
	.mobile-only {
		display: none;
	}
}
@media screen and (max-width: 1080px) {
	
}
@media screen and (max-width: 900px) {
	:root {
		--gap: 24px;
		--gap72: 36px;
		--logo-height: 42px;
	}

	html,
	body {
		font-size: 15px;
	}
	
	body {
		padding-top: 72px;
	}
	
	.top-menu .logo {
		width: 105px;
	}

	.desktop-only {
		display: none;
	}
	
	.footer .footnote {
		flex-direction: column;
		align-items: start;
	}
	.footer > .col > .row {
		flex-wrap: wrap;
		align-items: start;
		justify-content: start;
	}
	.footer > .col > .row > .col {
		/* flex-direction: column; */
		flex-basis: calc(50% - var(--gap18));
	}
	.tablet-vertical {
		flex-direction: column;
	}
	.row.page-header {
		min-height: 1px;
		height: 40vw;
	}
}

@media screen and (max-width: 640px) {
	
	:root {
		--logo-height: 36px;
	}

	html,
	body {
		font-size: 14px;
	}
	
	.top-menu .logo {
		width: 90px;
	}
	.top-menu .menu {
		gap: var(--gap18);
	}
	.top-menu .menu .icon {
		width: 16px;
		height: 16px;
		background-size: contain !important;
	}
	
	.top-menu>.row {
		padding-left: var(--gap24)
	}

	.icon-content-boxes,
	.footer-cta,
	.mobile-vertical,
	.single-page-header {
		flex-direction: column;
	}
	
	.cta-thumbnail, .col-thumbnail, .single-page-header .col.banner {
		min-height: 50vw;
	}
	
	h1,
	.h1 {
		font-size: 2.3rem;
		/* 40px */
	}
	
	.row.page-header {
		min-height: 50vw;
		height: auto;
	}
	
	.home-slider .h1 {
		font-size: 1.6rem;
	}
	
	.home-slider .slide-content {
		padding: var(--gap);
		gap: var(--gap18);
		padding-bottom: var(--gap48);
	}
	
	.home-slider .slick-dots {
		bottom: var(--gap24);
		right: var(--gap);
	}
	
	.home-slider .slick-dots li {
		width: var(--gap);
		height: 4px;
	}
	
	.h1-s {
		font-size: 2.05rem;
		/* 36px */
	}
	
	h2,
	.h2 {
		font-size: 1.8rem;
		/* 32px */
	}
	
	.h2-s {
		font-size: 1.45rem;
		/* 26px */
	}
	
	h3,
	.h3 {
		font-size: 1.3rem;
		/* 24px */
	}
	
	.h3-s {
		font-size: 1.2rem;
		/* 22px */
	}
	
	h4,
	.h4 {
		font-size: 1.1rem;
		/* 20px */
	}
	
	h5,
	.h5 {
		font-size: 1rem;
		/* 18px */
	}
	
	h6,
	.h6 {
		font-size: 1rem;
		/* 16px */
	}
	.footer {
		flex-direction: column;
		background-size: 30% auto;
	}
	
	.footer .footnote .note span {
		display: block;	
	}
	
	.footer>.col:last-child {
		display: none;
	}
	
	.footer .footer-logo {
		width: 100px;
	}	
	
	.row.profile-listing {
		flex-direction: column;
	}
	.mobile-nogap {
		gap: 0;
	}
	
	.mobile-gap10 {
	  gap: var(--gap10);
	  --inherit-gap: var(--gap10);
	}
	
	.mobile-gap12 {
	  gap: var(--gap12);
	  --inherit-gap: var(--gap12);
	}
	
	.mobile-gap18 {
	  gap: var(--gap18);
	  --inherit-gap: var(--gap18);
	}
	
	.mobile-gap24 {
	  gap: var(--gap24);
	  --inherit-gap: var(--gap24);
	}
	
	.mobile-gap {
	  gap: var(--gap);
	  --inherit-gap: var(--gap);
	}
	
	.mobile-gap72 {
	  gap: var(--gap72);
	  --inherit-gap: var(--gap72);
	}
	
	.mobile-gap108 {
	  gap: var(--gap108);
	  --inherit-gap: var(--gap108);
	}
	
	.pad-left72 {
	  padding-left: calc(var(--gap));
	}
	
	.pad-right72 {
	  padding-right: calc(var(--gap));
	}
	
	.map-area {
		height: 100vw;
	}
	
	.branches {
		flex-direction: column;
	}
	.branches .branch.blank {
		display: none;
	}
	
	.icon-profile-linkedin {
	  width: 24px;
	  height: 24px;
	
}
@media screen and (max-width: 420px) {
	:root {
		--logo-height: 32px;
	}
	.top-menu .logo {
		width: 90px;
	}
	.btn {
		font-size: 0.8rem;
	}
	.top-menu .menu .icon {
		width: 14px;
		height: 14px;
	}
	.footer > .col > .row,
	.mini-mobile-vertical {
		flex-direction: column;
	}
	.footer > .col > .row > .col {
		flex-basis: 100%;
	}
}
@media screen and (max-width: 380px) {
	.top-menu .menu {
		gap: var(--gap12);
	}
}