@media (hover: hover) and (pointer: fine) {
  .team-card {
    &:hover .photo-hover { opacity: 1; }
    &:hover .photo-default { opacity: 0; }
  }
}

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

	.row.welcome {top: -100px;}

}

@media only screen and (max-width: 1920px){
	
	.row.welcome {top:0;}
	.row.welcome .video-overlay, .row.welcome video {mask-position: 100% -100px; -webkit-mask-position: 100% -100px; mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat;}

}

@media only screen and (max-width: 1640px){
	
	.welcome-intro-section {margin-top: -300px;}

}

@media only screen and (max-width: 1440px){
	
	.single-rounded-hero .grid-x .overlay,
	.row.whyinfrasensehero .overlay-wrapper .overlay,
	.row.whohero .overlay-wrapper .overlay,
	.row.welcome .overlay-wrapper .overlay,
	.row.contacthero .overlay-wrapper .overlay,
	.row.careerhero .overlay-wrapper .overlay,
	.row.casestudieshero .overlay-wrapper .overlay {left: 5%;}

	.welcome-intro-section .welcome-intro-content .welcome-intro-title,
	.welcome-intro-section .welcome-intro-content .welcome-intro-copy,
	.welcome-intro-section .welcome-intro-content ul.welcome-intro-accordion {padding-left: 70px;}
	.welcome-intro-section .welcome-intro-content .welcome-intro-cta {margin-left: 70px;}

	.grid-container.map-header {padding: 45px 30px 0 30px;}

}

@media only screen and (max-width: 1400px){
	
	header .row#header {padding: 0 30px;}
	#company-nav-panel, #services-nav-panel, #technology-nav-panel {padding-left: 30px; padding-right: 30px;}

	.welcome-intro-section {margin-top: -250px;}

	.grid-container.map-header .map-title {font-size: 2.35rem;}

	.contactform {padding: 4rem 2rem 4rem 2rem;}
	.contactform .form-content {padding: 0 90px 0 0;} 

}

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

	.infrasense-btn {font-size: 0.95rem;}
	
	header .row#header .topbar .nav-search-wrapper .nav-wrapper ul#menu-main-menu li a {font-size: 16px;}

	.welcome-intro-section {margin-top: -220px;}

	.services-section ul#services-grid li.cell h4 {font-size: 20px;}
	.services-section ul#services-grid li.cell p {font-size: 15px;}

	.callout-section .maxWidth {padding: 0 30px;}

	.testimonial-section .testimonial-swiper .testimonial-quote {font-size: 1.25rem;}

	.team-card.is-active {font-size: 0.9rem;}
	.team-card .card-content h4.name, .team-card.is-active h4.name {font-size: 1.1rem;}
	.team-card .card-content .position, .team-card.is-active .position {font-size: 0.86rem;}

	.single-header .single-header-wrapper h1 {max-width: 90%;}

}

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

	.row.welcome .video-overlay, .row.welcome video {mask-position: 90% -140px; -webkit-mask-position: 90% -140px; mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat;}

	.welcome-intro-section {margin-top: -260px;}
	
	.inset-map {width: 280px; height: 193px;}

	.sticky-scroll-nav .sticky-scroll-nav-wrapper .nav-page-title {display: none;}

}

@media only screen and (max-width: 1100px){
	
	header .row#header {display: none;}
	header .row#mobile-header {display: block;}

	.welcome-intro-section .welcome-intro-content ul.welcome-intro-accordion .accordion-item .accordion-title {position: relative; padding-left: 61px; display: block; text-indent: 0;}
  .welcome-intro-section .welcome-intro-content ul.welcome-intro-accordion .accordion-item .accordion-title img {position: absolute; left: 12px; top: 50%; width: 32px; transform: translateY(-50%); padding-right: 0;}
  .welcome-intro-section .welcome-intro-content ul.welcome-intro-accordion .accordion-item .accordion-content {padding-left: 61px !important;}

  .welcome-intro-section .welcome-intro-content ul.welcome-intro-accordion .accordion-item.is-active .accordion-title img {top: 65%;}

	.single-header, .row.careerhero, .row.casestudieshero {margin-top: -45px;}
	body.page-template-template-whyinfrasense {padding-top: 40px;}

	.search-results {margin:40px auto 0 auto;}

	.grid-container.map-header .map-title {font-size: 2rem;}

	.single-rounded-hero {margin-top: -45px; padding-bottom: 5px;}
	.single-rounded-hero .grid-x .overlay {top: 40%;}
	.single-rounded-hero .grid-x .overlay h1 {font-size: 22px;}
	.single-rounded-hero .grid-x .overlay h2 {font-size: 44px;}

	.latest-news-section.latest-news-section, .latest-news-section.case-studies-section {padding: 60px 0 120px 10px;}

	.sticky-scroll-nav {top: 0;}

	.site-footer .footer-main .footer-top .footer-newsletter .footer-newsletter-text {font-size: 16px;}
	.site-footer .footer-main .footer-middle .footer-contact {font-size: 0.8rem;}
	.site-footer .footer-main .footer-middle .footer-col h4 {font-size: 0.9rem;}
	.site-footer .footer-main .footer-middle .footer-col ul.panel-nav li a, .site-footer .footer-main .footer-middle .footer-col ul.panel-nav-2-col li a {font-size: 0.8rem; line-height: 0.5em;}
	.site-footer .footer-main .footer-middle .footer-col ul.panel-nav li, .site-footer .footer-main .footer-middle .footer-col ul.panel-nav-2-col li {line-height: 1.5em;}
	.site-footer .footer-bottom-bar .footer-bottom .footer-copy, .site-footer .footer-bottom-bar .footer-bottom .footer-links a {font-size: 0.8rem;}

}


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

	.grid-container.map-header .map-title {font-size: 1.75rem; padding-bottom: 15px;}
	.inset-map {width: 260px; height: 179px;}

	.welcome-intro-section .welcome-intro-content .welcome-intro-title {padding: 60px 30px 0 40px;}
	.welcome-intro-section .welcome-intro-content .welcome-intro-copy {padding: 0 30px 0 40px;}
	.welcome-intro-section .welcome-intro-content ul.welcome-intro-accordion {padding: 0 30px 0 40px;}
	.welcome-intro-section .welcome-intro-content .welcome-intro-cta {margin: 1rem 0 0 40px;}

	.services-section .intro {max-width: 75%;}

	.info-section .intro-content .intro-title {padding: 30px 30px 0 30px;}

	#scrollToTop {bottom: 80px; right: 24px;}

}

@media only screen and (max-width: 1024px){
	
	.stats-section .stats-bg {height: 620px;}
	.stats-section .stats-item {align-items: center; text-align: center;}
	.stats-section .stats-item {margin-bottom: 30px;}
	.stats-section .stats-item .stat-desc {padding-left: 45px; padding-right: 45px;}

}

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

	.infrasense-btn {font-size: 0.9rem; padding: 0.65rem 1.35rem 0.65rem 1.55rem;}

  .grid-container.map-header {padding: 45px 30px 0 30px;}
  #map, #map-container {height: 580px;}
  #map-conus {height: 500px;}

  .testimonial-section .testimonial-swiper .testimonial-logo img {width: 76px; margin-left: 10px;}
  .testimonial-section .testimonial-swiper .testimonial-quote {font-size: 1.1rem; padding-right: 70px; padding-bottom: 15px; text-indent: -9px;} 
  .testimonial-section .testimonial-swiper .testimonial-author {font-size: 13px; text-indent: 18px;}
  .testimonial-section .testimonial-swiper .testimonial-bio {font-size: 12px; padding-left: 18px;}
  .testimonial-section .testimonial-slider-cell .testimonial-swiper-prev, .testimonial-section .testimonial-slider-cell .testimonial-swiper-next {width: 40px; height: 40px;}

  .row.whyinfrasensehero .overlay-wrapper .overlay h2 {width: 100%;}

  .row.whohero .overlay-wrapper .overlay h2,
  .row.careerhero .overlay-wrapper .overlay h2,
  .row.contacthero .overlay-wrapper .overlay h2,
  .row.casestudieshero .overlay-wrapper .overlay h2 {width: 100%;}

	.single-rounded-hero .grid-x .overlay {top: 32%;}
	.single-rounded-hero .grid-x .overlay h1 {font-size: 19px;}
	.single-rounded-hero .grid-x .overlay h2 {font-size: 35px;}

	.sticky-scroll-nav {padding: 20px 2rem 14px 2rem;}
	.sticky-scroll-nav .sticky-scroll-nav-wrapper .infrasense-btn {display: none;}
	.sticky-scroll-nav .sticky-scroll-nav-wrapper a.scroll {font-size: 14px;}

	.case-studies-filters {border-bottom: none;}
	.case-studies-filters .case-studies-filter-wrapper .filter-dropdowns {flex-direction: column;}
	.case-studies-filters .case-studies-filter-wrapper .filter-dropdowns .filter,
	.case-studies-filters .case-studies-filter-wrapper .filter-dropdowns .cell.medium-3:last-child {flex: none; width: 100%; border-right: none !important; border-bottom: 1px solid #A1A8AD; padding: 0.75rem 1rem;}
	.case-studies-filters .case-studies-filter-wrapper .filter-dropdowns .filter::after,
	.case-studies-filters .case-studies-filter-wrapper .filter-dropdowns .cell.medium-3:last-child::after {top: 50%;}
	.case-studies-filters .case-studies-filter-wrapper .filter-dropdowns .cell.medium-3:last-child {border-bottom: none;}

	.search-results .search-results-wrapper .search-group .search-mobile-thumb {display: none;}

}

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

	html {overflow-x: hidden;}
	body {overflow-x: visible;}

	.row.welcome .overlay-wrapper .overlay h2.sub-hero {width: auto;}
	.row.welcome video {height: 800px;}
	.row.welcome .video-overlay, .row.welcome video {mask-position: 88% -120px; -webkit-mask-position: 88% -120px; mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat;}

	.row.whyinfrasensehero, .row.whohero, .row.contacthero, .row.casestudieshero {margin-top: -60px;}
	.row.whyinfrasensehero video, .row.whohero, .row.contacthero, .row.casestudieshero, .row.careerhero {height: 420px;}

	.welcome-intro-section {margin-top: -180px; padding: 4rem 0.5rem 4rem 1.5rem;}
	.welcome-intro-section .welcome-intro-image-sm {padding-right: 25px;}
	.welcome-intro-section .welcome-intro-content .welcome-intro-title {padding: 30px 180px 0 10px;}
	.welcome-intro-section .welcome-intro-content .welcome-intro-copy {font-size: 0.96rem; padding: 0 15px 0 10px;}
	.welcome-intro-section .welcome-intro-content ul.welcome-intro-accordion {padding: 0 25px 0 10px;}
	.welcome-intro-section .welcome-intro-content .welcome-intro-cta {margin: 1rem 0 0 10px;}
	.welcome-intro-section .welcome-intro-content ul.welcome-intro-accordion .accordion-item .accordion-title {font-size: 16px;}
	.welcome-intro-section .welcome-intro-content ul.welcome-intro-accordion .accordion-item.is-active .accordion-content {font-size: 15px;}

	.latest-news-section.latest-news-section {padding: 60px 10px 120px 10px;}
	.latest-news-section .latest-news-wrapper h3 {font-size: 1.8rem; padding-left: 8px;}
	.latest-news-section ul#latest-news-grid li.cell h4,
	.latest-news-section ul#featured-news-grid li.cell h4,
	.latest-news-section ul#similar-news-grid li.cell h4 {font-size: 1.1rem;}

	.latest-news-section.case-studies-section {padding: 60px 10px 120px 10px;}

	.latest-news-swiper {padding: 0 10px 30px 10px;}

	.stats-section .stats-item {display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; text-align: center;}
    .stats-section .stats-item .stat-icon, .stats-section .stats-item .stat-number {margin: 0 0.5rem 0 0;}
    .stats-section .stats-item .stat-desc {flex-basis: 100%; margin-top: 0.5rem;}
	.stats-section .stats-bg {height: 900px;}
	.stats-section .stats-bg.imgLiquidFill.fill img {left: calc(50% + 300px) !important; transform: translateX(-50%) !important;}
	.stats-section h3 {line-height: 1.3em;}
	.stats-section .stats-item .stat-number {font-size: 2.85rem; margin-left: 10px;}
	.stats-section .stats-item .stat-desc {margin-top: -3px; padding-left: 20px; padding-right: 20px;}

	.services-section {padding: 55px 10px 90px 10px;}
	.services-section h3 {font-size: 1.8rem;}
	.services-section .intro {font-size: 16px; max-width: 90%; padding-bottom: 30px;}

	.grid-container.us-map {padding: 0;}
	.grid-container.map-header .map-title {font-size: 1.8rem; padding-right: 30px;}
	#map, #map-container {height: 480px;}
    #map-conus {height: 400px;}
	.inset-map {width: 160px; height: 110px;}

	.testimonial-section .testimonial-slider-cell .swiper-slide {padding-bottom: 60px;}
	.testimonial-section .testimonial-swiper .testimonial-logo img {width: 70px; margin-top: 45px;}
	.testimonial-section .testimonial-swiper {margin-bottom: 45px}
	.testimonial-section .testimonial-slider-cell .swiper-slide .slide-text {padding: 0 30px;}
	.testimonial-section .testimonial-swiper .testimonial-quote {font-size: 1rem; padding-top: 30px; padding-right: 90px;}
	.testimonial-section .testimonial-slider-cell .testimonial-swiper-prev {top: 75%;}
	.testimonial-section .testimonial-slider-cell .testimonial-swiper-next {top: calc(75%);}
	.testimonial-section .testimonial-slider-cell .testimonial-swiper-pagination {display: block; margin-bottom: 0px;}

	.info-section {padding: 0 0.5rem 2rem 2rem;}
	.info-section .intro-content .intro-copy {font-size: 0.96rem; padding: 0 45px 0 15px;}
	.info-section .intro-content .intro-title {padding: 0 45px 0 15px;}
	.info-section .intro-image { clip-path: inset(60px 0 0 0); margin-top: -45px; padding: 0 25px 25px 0;}
	.info-section .intro-content .infrasense-btn {margin-left: 15px;}

	.innovation-section .inno-item .inno-desc {padding: 0 30px;}

	.partner-section .partner-wrapper h2 {font-size: 1.8rem;}
	.partner-section .partner-wrapper img {max-width: 120px;}

	.single-content.state .single-wrapper .project-content p:first-of-type {font-size: 24px;}

	.timeline-section .timeline-bg {height: 480px;}
	.timeline-section .timeline-overlay h2 {font-size: 34px; padding: 0 10px; text-align: center;}
	.timeline-section .timeline-overlay .timeline-swiper {margin-top: 15px; padding-bottom: 45px;}
	.timeline-section .timeline-overlay .timeline-swiper .timeline-item {display: block; padding: 0 15px; text-align: center;}
    .timeline-section .timeline-overlay .timeline-swiper .timeline-item .timeline-icon {display: inline-block; vertical-align: middle; margin-right: 0.75rem; margin-bottom: 0;}
    .timeline-section .timeline-overlay .timeline-swiper .timeline-item .timeline-year {display: inline-block; vertical-align: middle; margin-bottom: 0; margin-top: 0px;}
    .timeline-section .timeline-overlay .timeline-swiper .timeline-item .timeline-title {display: block; margin-top: 0;}
    .timeline-section .timeline-overlay .timeline-swiper .timeline-item .timeline-desc {display: block; margin-top: 0.5rem; padding-right: 0;}

	.cta-section .cta-wrapper h2 {font-size: 32px;}
	.cta-section .cta-wrapper .cta {font-size: 15px;}

	.photo-banner {height: 240px;}

	.callout-section .callout-wrapper {flex-direction: column; text-align: center;}
	.callout-section .callout-wrapper .cell {width: 100%; max-width: none; margin: 0;}
	.callout-section .callout-wrapper .cell.shrink {margin-top: 3rem;}

	.callout-section .callout-title {font-size: 1.4rem;}

	.open-section .open-wrapper {padding: 30px 20px;}
	.apply-section .apply-wrapper {padding: 30px 20px;}

	.team-section .team-wrapper h2 {font-size: 28px; padding: 0 30px;}
	.team-section .team-wrapper .team-intro {font-size: 15px; padding: 0 30px 30px 30px;}
	.team-card, .team-swiper-container .team-card {min-height: 520px;}
	.team-card .read-text {opacity: 1 !important;}
	.team-card::before {width: 100% !important;}

	.team-swiper .team-card .photo-hover, .team-swiper .team-card .photo-default {transition: none;}
	.team-swiper .team-card .card-photos:hover .photo-hover, .team-swiper .team-card .card-photos:hover .photo-default {opacity: inherit;}

	.single-rounded-hero .grid-x .overlay {display: block; top: auto; left: auto; padding: 20px 20px 5px 26px;}
	.single-rounded-hero .grid-x .overlay h1 {font-size: 19px;}
	.single-rounded-hero .grid-x .overlay h2 {font-size: 37px;}

	.sticky-scroll-nav {width: 100vw; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 0;}
	.sticky-scroll-nav .sticky-scroll-nav-wrapper {max-width: 640px; margin: 0 auto; display: flex; flex-wrap: nowrap; overflow-x: auto; overflow-y: visible; scrollbar-width: none; -ms-overflow-style: none; padding-bottom: 0.5rem;}
	.sticky-scroll-nav .sticky-scroll-nav-wrapper::-webkit-scrollbar {display: none;}
	.sticky-scroll-nav .sticky-scroll-nav-wrapper > * {flex: 0 0 auto; white-space: nowrap;}
	.sticky-scroll-nav .sticky-scroll-nav-wrapper a.scroll {position: relative; padding-bottom: 6px; color: #4E555D; text-decoration: none;
	    &::after {content: ""; position: absolute; left: 0; bottom: -8px; height: 2px; width: 0; background: #e14c3c; transition: width 0.3s ease; z-index: 2;}
	    &:hover::after, &.active::after {width: 100%;}
	  }
	.sticky-scroll-nav .sticky-scroll-nav-wrapper .infrasense-btn {margin-left: auto; flex: 0 0 auto;}

	.capabilities-section .capabilities-item {display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; grid-template-areas: "icon name" "desc desc"; -moz-column-gap: 12px; column-gap: 12px; row-gap: 8px; padding-right: 0;}
	.capabilities-section .capabilities-item .capabilities-icon {grid-area: icon; align-self: center; margin-bottom: 0;}
  .capabilities-section .capabilities-item .capabilities-name {grid-area: name; align-self: center; margin-bottom: 0;}
  .capabilities-section .capabilities-item .capabilities-desc {grid-area: desc; padding-right: 0; padding-left: 60px; margin: 0;}

  .technology-section .technology-overlay h2 {font-size: 1.8rem;}

  .whywork-section .whywork-item {display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; grid-template-areas: "icon name" "desc desc"; -moz-column-gap: 12px; column-gap: 12px; row-gap: 8px; padding-right: 0;}
	.whywork-section .whywork-item .whywork-icon {grid-area: icon; align-self: center; margin-bottom: 0;}
  .whywork-section .whywork-item .whywork-name {grid-area: name; align-self: center; margin-bottom: 0;}
  .whywork-section .whywork-item .whywork-desc {grid-area: desc; padding-right: 0; padding-left: 60px; margin: 0;}

  .faqs-section .faqs-wrapper {padding: 50px 30px 30px 30px;}
  .faqs-section .faqs-wrapper h3 {margin-bottom: 15px;}
  .faqs-section .faqs-wrapper ul.faqs-accordion {margin-top: 15px;}
  .faqs-section .faqs-wrapper ul.faqs-accordion .accordion-item .accordion-title {font-size: 16px;}
  .faqs-section .faqs-wrapper ul.faqs-accordion .accordion-item .accordion-title::before { top: 24%;}

  .contactform .form-content {padding: 0;}
  .contactform .form-wrapper img.sidebar-logo {display: none;}
  .contactform .form-wrapper ul.locations {padding-top: 45px;}

  .contact-methods {padding: 0 20px 120px 20px;}
  .contact-methods ul#contact-methods-grid li.cell h3 {font-size: 24px;}
  .contact-methods ul#contact-methods-grid li.cell .description p {font-size: 14px;}

  .single-header {padding-bottom: 0;}

  .search-results .search-results-wrapper {padding: 30px 10px 30px 20px;}
  .search-results .search-results-wrapper .search-group.posts-grid {margin: 30px auto 90px 18px;}
  .search-results .search-results-wrapper .search-group.posts-grid ul#results-grid {margin-left: -15px;}
  .search-results .search-results-wrapper .search-group.posts-grid ul#results-grid li.cell h4 {font-size: 19px;}

	.site-footer .footer-main .footer-top .footer-newsletter {margin-bottom: 25px;}
	.site-footer .footer-main .site-footer-inner {padding: 1.5rem 1rem;}
	.site-footer .footer-main .footer-middle .footer-contact a {display: inline-block; margin-right: 15px;}
	.site-footer .footer-main .footer-middle .footer-contact p {display: inline-block; margin-right: 8px;}
	.site-footer .footer-main .footer-middle .footer-contact .wrap {display: block;}

	.footer-links a {display: block; margin: 0;}
	.site-footer .footer-bottom-bar .footer-bottom .footer-copy {font-size: 0.72em;}
	.site-footer .footer-bottom-bar .footer-bottom .footer-links a {font-size: 0.68rem; margin-left: 0; padding-top: 5px;}

}

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


	.welcome-intro-section .welcome-intro-content .welcome-intro-title {padding: 30px 90px 0 10px;}
	.welcome-intro-section .welcome-intro-content .welcome-intro-copy {font-size: 0.9rem; padding: 0 30px 0 10px;}
	.welcome-intro-section .welcome-intro-content ul.welcome-intro-accordion {padding: 0 30px 0 10px;}
	.welcome-intro-section .welcome-intro-content .welcome-intro-cta {margin: 1rem 0 0 10px;}

}

