/*!*****************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/index.scss ***!
  \*****************************************************************************************************************************************************************/
/* ==========================================================================
   Typography
   ========================================================================== */
/* @Font-Face : We load our custom fonts here
   ========================================================================== */
@font-face {
  font-family: 'DIN';
  font-display: auto;
  src: url(dd8e6af87599861a5165.woff2) format("woff");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'DIN';
  font-display: auto;
  src: url(b66a3a6860c6ca432dd1.woff2) format("woff");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'DIN';
  font-display: auto;
  src: url(1035f8491710ae5bd4b3.woff2) format("woff");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: 'Glypha';
  font-display: auto;
  src: url(17ddc7a4d6bbb53b44e2.woff2) format("woff");
  font-weight: normal;
  font-style: normal; }

/* ==========================================================================
   Variables
   ========================================================================== */
/* Colors
   ========================================================================== */
/* Typography
   ========================================================================== */
/* Responsive Breakpoints
   ========================================================================== */
/* Responsive Breakpoints
   ========================================================================== */
/* Mixins Responsive
========================================================================== */
html, body {
  margin: 0px;
  padding: 0px;
  height: 100%;
  height: 100%;
  font-family: DIN, sans-serif; }

h1, h2, h3, h4, h5, h6 {
  font-family: Glypha, sans-serif; }

.main-bg {
  margin: 0px;
  padding: 0px;
  height: 100%;
  height: 100%;
  background-color: #00629b;
  background-size: cover; }

/*** Logo ***/
/*************************************************************/
.logo {
  width: 100%;
  height: 24px;
  max-width: 200px;
  background-image: url(58e9205f5ccb0207fe74.webp);
  background-size: contain;
  position: absolute;
  top: 24px;
  left: 24px;
  background-repeat: no-repeat;
  z-index: 99;
  transition: all 0.75s cubic-bezier(0.455, 0.03, 0.01, 1); }

@media only screen and (min-width: 820px) {
  .logo {
    height: 32px; } }

@media only screen and (min-width: 1180px) {
  .logo {
    height: 40px;
    top: 50px;
    left: 50px; } }

@media only screen and (min-width: 1650px) {
  .logo {
    height: 50px; } }

.welcome {
  position: absolute;
  max-width: 800px;
  min-width: 300px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 20px;
  background: linear-gradient(180deg, rgba(3, 86, 141, 0.8) 0%, rgba(1, 35, 56, 0.8) 100%);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  text-align: center;
  border-radius: 10px;
  box-shadow: 0.5px 1.9px 1.8px rgba(0, 0, 0, 0.034), 1.2px 4.1px 5.8px rgba(0, 0, 0, 0.06), 2px 6.9px 14.2px rgba(0, 0, 0, 0.08), 3px 10.4px 39.9px rgba(0, 0, 0, 0.093), 4.4px 15px 67.4px rgba(0, 0, 0, 0.102), 6.2px 21.3px 75.6px rgba(0, 0, 0, 0.106), 8.8px 30.2px 79.1px rgba(0, 0, 0, 0.107), 12.8px 43.8px 80.5px rgba(0, 0, 0, 0.106), 19.7px 67.5px 80.7px rgba(0, 0, 0, 0.108), 35px 120px 80px rgba(0, 0, 0, 0.13);
  z-index: 100;
  color: #fff;
  text-shadow: 1px 1px 1px black; }

.welcome .logo {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  height: 50px;
  top: auto;
  left: auto;
  margin-top: 10px; }

.welcome p {
  font-size: 18px; }

.welcome button.continue {
  background: linear-gradient(180deg, rgba(3, 86, 141, 0.9) 0%, rgba(1, 35, 56, 0.9) 100%);
  border: solid rgba(255, 255, 255, 0.7) 3px;
  color: white;
  border-radius: 10px;
  cursor: pointer;
  font-family: inherit;
  text-shadow: 1px 1px 1px black;
  font-weight: 600;
  font-size: 18px;
  padding: 20px; }

p.legal {
  color: #7ab0d6;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
  font-size: 10px;
  line-height: 14px; }

p.legal a {
  color: #7ab0d6;
  text-decoration: underline;
  transition: all 0.75s cubic-bezier(0.455, 0.03, 0.01, 1); }

p.legal a:hover {
  color: #fff;
  text-decoration: none; }

/**
 * SWUP
 *
 * Everything to do with SWUP animations.
 */
#swup {
  height: 100%;
  width: 100%;
  /* Bug with child element transform scale. Need to declare position absolute for
	overflow hidden to work. Need overflow hidden otherwise scroll bars on animation. */
  overflow: hidden;
  position: absolute; }

.screen, .interior-template {
  width: 100vw;
  height: 100vh;
  left: 0;
  right: 0;
  margin-right: auto;
  margin-left: auto;
  position: absolute;
  transform: scale(1);
  transition: all 0.75s cubic-bezier(0.455, 0.03, 0.01, 1);
  /* Overides "transition: all" declaration. Need this for transition-origin to not
	animate, which causes odd zooming. */
  transition-property: opacity, transform; }

h1.screen-title, h2.screen-sub-title {
  color: #fff;
  text-shadow: 1px 1px 1px black;
  position: absolute;
  top: 50px;
  right: 50px;
  text-align: right;
  margin: 0;
  font-size: 40px;
  transition: all 0.5s cubic-bezier(0.455, 0.03, 0.01, 1);
  z-index: 2; }
  @media only screen and (min-width: 300px) {
    h1.screen-title, h2.screen-sub-title {
      /* Phone */
      font-size: 24px;
      top: 15px;
      right: 24px; } }
  @media only screen and (min-width: 820px) {
    h1.screen-title, h2.screen-sub-title {
      /* Tablet Landscape - Smaller Laptop */
      font-size: 34px;
      top: 14px;
      right: 24px; } }
  @media only screen and (min-width: 1180px) {
    h1.screen-title, h2.screen-sub-title {
      /* Pro Tablet Landscape - Laptop */
      font-size: 40px;
      top: 50px;
      right: 50px; } }
  @media only screen and (min-width: 1366px) {
    h1.screen-title, h2.screen-sub-title {
      /* Desktop */ } }

h2.screen-sub-title {
  top: 100px;
  text-transform: uppercase;
  font-size: 32px;
  color: #fff;
  text-shadow: 1px 1px 1px black;
  position: absolute;
  right: 50px;
  text-align: right;
  margin: 0;
  transition: all 0.5s cubic-bezier(0.455, 0.03, 0.01, 1);
  z-index: 2; }
  @media only screen and (min-width: 300px) {
    h2.screen-sub-title {
      /* Phone */
      font-size: 18px;
      top: 40px;
      right: 24px; } }
  @media only screen and (min-width: 820px) {
    h2.screen-sub-title {
      /* Tablet Landscape - Smaller Laptop */
      font-size: 24px;
      top: 60px;
      right: 24px; } }
  @media only screen and (min-width: 1180px) {
    h2.screen-sub-title {
      /* Pro Tablet Landscape - Laptop */
      font-size: 32px;
      top: 110px;
      right: 50px; } }
  @media only screen and (min-width: 1366px) {
    h2.screen-sub-title {
      /* Desktop */ } }

[class*="to-"] h1.screen-title {
  opacity: 0;
  top: 0px; }

[class*="to-"] h2.screen-sub-title {
  opacity: 0;
  top: 40px; }

.home {
  background-image: url(5876548bcd119a57991a.webp); }

/*** Animation
	
	Specify transform-orgin throughout all screens. Gives the effect that you
	are zooming in and out from a specific location.
	
/*************************************************************/
/*** Main Transition Element ***/
/*************************************************************/
.is-animating nav.transition-nav {
  bottom: 0px !important;
  opacity: 0; }

/*************************************************************/
/*** Virtual City
	
	Wrapping container for city animation to display better on mobile.
	
/*************************************************************/
.virtual-city-wrapper {
  position: absolute;
  width: 1920px;
  height: 1080px;
  transform-origin: 960px 540px;
  overflow: hidden;
  margin-left: 0;
  margin-right: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.virtual-city {
  position: absolute;
  width: 1920px;
  height: 1080px;
  transform-origin: 960px 540px;
  overflow: hidden;
  margin-left: 0;
  margin-right: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.5s cubic-bezier(0.455, 0.03, 0.01, 1); }
  @media only screen and (min-width: 300px) {
    .virtual-city {
      /* Phone */
      transform: translate(-50%, -50%) scale(0.3);
      top: 34%; } }
  @media only screen and (min-width: 820px) {
    .virtual-city {
      /* Tablet Portrait */
      transform: translate(-50%, -50%) scale(0.55); } }
  @media only screen and (min-width: 1180px) {
    .virtual-city {
      /* Tablet Landscape - Smaller Laptop */
      transform: translate(-50%, -50%) scale(0.62);
      top: 50%; } }
  @media only screen and (min-width: 1366px) {
    .virtual-city {
      /* Tablet Landscape - Smaller Laptop */
      transform: translate(-50%, -50%) scale(0.8);
      top: 50%; } }
  @media only screen and (min-width: 1650px) {
    .virtual-city {
      /* Pro Tablet Landscape - Laptop */
      transform: translate(-50%, -50%) scale(1);
      top: 50%; } }

.virtual-city .screen {
  margin-right: inherit;
  margin-left: inherit;
  width: 1920px;
  height: 1080px; }

/* Container and Row
   ========================================================================== */
.grid-container {
  position: relative;
  max-width: 1650px;
  width: 100%;
  margin: 0 auto;
  padding: 24px; }
  .grid-container.--full {
    max-width: 100%; }
  @media screen and (min-width: 300px) {
    .grid-container {
      padding: 32px; } }
  @media screen and (min-width: 820px) {
    .grid-container {
      padding: 40px; } }
  @media screen and (min-width: 1180px) {
    .grid-container {
      padding: 40px; } }

.grid-row {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 -12px; }
  .grid-row.--reverse {
    flex-wrap: wrap-reverse; }
  .grid-row.--row-reverse {
    flex-direction: row-reverse; }
  .grid-row.--justify-center {
    justify-content: center; }
  .grid-row.--justify-right {
    justify-content: right; }
  .grid-row.--justify-space {
    justify-content: space-between; }
  .grid-row.--align-center {
    align-items: center; }
  .grid-row.--align-bottom {
    align-items: flex-end; }
  .grid-row.--wrap-no-wrap {
    flex-wrap: nowrap; }
  .grid-row.--newsroom {
    margin: 0 -32px; }
  @media screen and (min-width: 820px) {
    .grid-row.--justify-center-md {
      justify-content: center; } }

ul.logo.grid-row {
  padding: 0px; }

/* ==========================================================================
   Columns
   ========================================================================== */
/* Columns 
   ========================================================================== */
[class*="col-"] {
  padding: 0 12px;
  margin: 16px 0; }

.col-pos-rel {
  position: relative; }

/* Margins 
   ========================================================================== */
.col-no-margin {
  margin-bottom: 0; }

@media screen and (min-width: 820px) {
  .col-no-margin-md {
    margin-bottom: 0; } }

@media screen and (min-width: 1180px) {
  .col-no-margin-lg {
    margin-bottom: 0; } }

/* Content Columns 
   ========================================================================== */
/* Do not put this on col-**-**. Use it as a child inside of col-**-** */
.col-content {
  column-count: 1;
  column-gap: 32px;
  column-width: 100%;
  padding: 0; }
  @media screen and (min-width: 820px) {
    .col-content {
      column-count: 2;
      column-gap: 32px;
      column-width: 50%; } }

.col-xs-hide {
  display: none; }
  @media screen and (min-width: 820px) {
    .col-xs-hide {
      display: block; } }

/* XS Default for mobile first */
.col-xs-12 {
  width: 100%; }

.col-xs-11 {
  width: 91.67%; }

.col-xs-10 {
  width: 83.33%; }

.col-xs-9 {
  width: 75%; }

.col-xs-8 {
  width: 66.67%; }

.col-xs-7 {
  width: 58.33%; }

.col-xs-6 {
  width: 50%; }

.col-xs-5 {
  width: 41.67%; }

.col-xs-4 {
  width: 33.33%; }

.col-xs-3 {
  width: 25%; }

.col-xs-2 {
  width: 16.67%; }

.col-xs-1 {
  width: 8.33%; }

@media screen and (min-width: 300px) {
  .col-sm-12 {
    width: 100%; }
  .col-sm-11 {
    width: 91.67%; }
  .col-sm-10 {
    width: 83.33%; }
  .col-sm-9 {
    width: 75%; }
  .col-sm-8 {
    width: 66.67%; }
  .col-sm-7 {
    width: 58.33%; }
  .col-sm-6 {
    width: 50%; }
  .col-sm-5 {
    width: 41.67%; }
  .col-sm-4 {
    width: 33.33%; }
  .col-sm-3 {
    width: 25%; }
  .col-sm-2 {
    width: 16.67%; }
  .col-sm-1 {
    width: 8.33%; } }

@media screen and (min-width: 820px) {
  .col-md-12 {
    width: 100%; }
  .col-md-11 {
    width: 91.67%; }
  .col-md-10 {
    width: 83.33%; }
  .col-md-9 {
    width: 75%; }
  .col-md-8 {
    width: 66.67%; }
  .col-md-7 {
    width: 58.33%; }
  .col-md-6 {
    width: 50%; }
  .col-md-5 {
    width: 41.67%; }
  .col-md-4 {
    width: 33.33%; }
  .col-md-3 {
    width: 25%; }
  .col-md-2 {
    width: 16.67%; }
  .col-md-1 {
    width: 8.33%; } }

@media screen and (min-width: 1180px) {
  .col-lg-12 {
    width: 100%; }
  .col-lg-11 {
    width: 91.67%; }
  .col-lg-10 {
    width: 83.33%; }
  .col-lg-9 {
    width: 75%; }
  .col-lg-8 {
    width: 66.67%; }
  .col-lg-7 {
    width: 58.33%; }
  .col-lg-6 {
    width: 50%; }
  .col-lg-5 {
    width: 41.67%; }
  .col-lg-4 {
    width: 33.33%; }
  .col-lg-3 {
    width: 25%; }
  .col-lg-2 {
    width: 16.66%; }
  .col-lg-1 {
    width: 8.33%; } }

/* Grid Utilities
   ========================================================================== */
.grid-clear {
  clear: both; }

/* Grid Side Bar
   ========================================================================== */
.grid-sidebar {
  width: 100%;
  padding: 24px;
  border-radius: 8px; }

nav.bottom-nav {
  display: flex;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 50px;
  text-shadow: 1px 1px 1px black;
  transition: all 1s cubic-bezier(0.455, 0.03, 0.01, 1); }

@media only screen and (min-width: 300px) {
  /* Phone */
  nav.bottom-nav {
    bottom: 100px;
    flex-wrap: wrap;
    width: 94%; }
  .page-home nav.bottom-nav {
    bottom: 75px; } }

@media only screen and (min-width: 1180px) {
  /* Tablet Portrait */
  nav.bottom-nav {
    width: 700px; } }

@media only screen and (min-width: 1180px) {
  /* Tablet Landscape - Smaller Laptop */
  nav.bottom-nav {
    width: auto;
    flex-wrap: inherit; } }

@media only screen and (min-width: 1366px) {
  /* Pro Tablet Landscape - Laptop */ }

@media only screen and (min-width: 1420px) {
  /* Desktop */ }

nav.hide {
  box-shadow: none;
  background: none; }

.btn {
  width: 260px;
  height: 130px;
  display: inline-block;
  position: relative;
  margin: 5px;
  background: #003e51;
  background: linear-gradient(180deg, rgba(0, 98, 155, 0.5) 0%, rgba(0, 62, 81, 0.7) 100%);
  border: solid rgba(255, 255, 255, 0.7) 3px;
  border-radius: 10px;
  box-shadow: 0 0.6px 2.2px rgba(0, 0, 0, 0.02), 0 1.3px 5.3px rgba(0, 0, 0, 0.028), 0 2.5px 10px rgba(0, 0, 0, 0.035), 0 4.5px 17.9px rgba(0, 0, 0, 0.042), 0 8.4px 33.4px rgba(0, 0, 0, 0.05), 0 20px 80px rgba(0, 0, 0, 0.07);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  font-family: Glypha, sans-serif;
  font-weight: 500;
  text-decoration: none;
  color: #fff;
  text-align: center;
  flex-grow: 1;
  transition: all 0.5s cubic-bezier(0.455, 0.03, 0.01, 1); }
  @media only screen and (min-width: 300px) {
    .btn {
      /* Phone */
      height: 46px; } }
  @media only screen and (min-width: 820px) {
    .btn {
      /* Phone */
      height: 76px; } }
  @media only screen and (min-width: 1180px) {
    .btn {
      /* Tablet Landscape - Smaller Laptop */
      width: 170px;
      height: 120px; } }
  @media only screen and (min-width: 1366px) {
    .btn {
      /* Tablet Landscape - Smaller Laptop */
      width: 200px; } }
  @media only screen and (min-width: 1650px) {
    .btn {
      /* Apply only when NOT on #page-home (assuming #page-home is on <body>) */ }
      body:not(.page-home) .btn {
        width: 260px;
        height: 130px; } }

.btn.case-study {
  background: linear-gradient(180deg, rgba(71, 162, 63, 0.9) 0%, rgba(0, 122, 83, 0.9) 100%); }
  @media only screen and (min-width: 1180px) {
    .btn.case-study {
      margin-left: 50px; } }

/*** Button Icons ***/
/*************************************************************/
.btn:before {
  content: " ";
  width: 100%;
  left: 0;
  height: 200px;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  transition: all 0.5s cubic-bezier(0.455, 0.03, 0.01, 1); }
  @media only screen and (min-width: 300px) {
    .btn:before {
      /* Phone */
      width: 160px;
      height: 60px; } }
  @media only screen and (min-width: 820px) {
    .btn:before {
      /* Tablet Portrait */
      height: 200px; } }
  @media only screen and (min-width: 1180px) {
    .btn:before {
      /* Tablet Landscape - Smaller Laptop */
      width: 100%; } }
  @media only screen and (min-width: 1366px) {
    .btn:before {
      /* Pro Tablet Landscape - Laptop */ } }
  @media only screen and (width: 1180px) {
    .btn:before {
      /* Tablet Landscape - Smaller Laptop */ } }

@media only screen and (max-width: 1179px) {
  .page-home .btn:before {
    width: 100px; } }

.btn-residential.btn:before {
  background-image: url(a387e37fc44a8783d06e.webp); }
  @media only screen and (min-width: 300px) {
    .btn-residential.btn:before {
      top: -8px; } }
  @media only screen and (min-width: 820px) {
    .btn-residential.btn:before {
      top: 5px; } }
  @media only screen and (min-width: 1180px) {
    .btn-residential.btn:before {
      top: -35px; } }
  @media only screen and (min-width: 1366px) {
    .btn-residential.btn:before {
      top: -45px; } }

.btn-hospitality.btn:before {
  background-image: url(16ea6a5230f259a6da87.webp); }
  @media only screen and (min-width: 300px) {
    .btn-hospitality.btn:before {
      top: -5px; } }
  @media only screen and (min-width: 820px) {
    .btn-hospitality.btn:before {
      top: 5px; } }
  @media only screen and (min-width: 1180px) {
    .btn-hospitality.btn:before {
      top: -55px; } }
  @media only screen and (min-width: 1366px) {
    .btn-hospitality.btn:before {
      top: -70px; } }

.btn-healthcare.btn:before {
  background-image: url(cbe47dafc46c1b5b8c03.webp); }
  @media only screen and (min-width: 300px) {
    .btn-healthcare.btn:before {
      top: -5px; } }
  @media only screen and (min-width: 820px) {
    .btn-healthcare.btn:before {
      top: 10px; } }
  @media only screen and (min-width: 1180px) {
    .btn-healthcare.btn:before {
      top: -35px; } }
  @media only screen and (min-width: 1366px) {
    .btn-healthcare.btn:before {
      top: -45px; } }

.btn-sports-complexes.btn:before {
  background-image: url(f8c46133a6d050c7bbd5.webp); }
  @media only screen and (min-width: 300px) {
    .btn-sports-complexes.btn:before {
      top: -5px; } }
  @media only screen and (min-width: 820px) {
    .btn-sports-complexes.btn:before {
      top: 10px; } }
  @media only screen and (min-width: 1180px) {
    .btn-sports-complexes.btn:before {
      top: -35px; } }
  @media only screen and (min-width: 1366px) {
    .btn-sports-complexes.btn:before {
      top: -40px; } }

.btn-educational.btn:before {
  background-image: url(4c2ad281e895ce858155.webp); }
  @media only screen and (min-width: 300px) {
    .btn-educational.btn:before {
      top: -10px; } }
  @media only screen and (min-width: 820px) {
    .btn-educational.btn:before {
      top: 10px; } }
  @media only screen and (min-width: 1180px) {
    .btn-educational.btn:before {
      top: -50px; } }
  @media only screen and (min-width: 1366px) {
    .btn-educational.btn:before {
      top: -70px; } }

.btn-uponor-offices.btn:before {
  background-image: url(fb9e988b183087fe3c13.webp); }
  @media only screen and (min-width: 300px) {
    .btn-uponor-offices.btn:before {
      top: -5px; } }
  @media only screen and (min-width: 820px) {
    .btn-uponor-offices.btn:before {
      top: 10px; } }
  @media only screen and (min-width: 1180px) {
    .btn-uponor-offices.btn:before {
      top: -40px; } }

.btn-acs.btn:before {
  background-image: url(b651789b884318075129.webp); }
  @media only screen and (min-width: 300px) {
    .btn-acs.btn:before {
      top: 10px; } }
  @media only screen and (min-width: 820px) {
    .btn-acs.btn:before {
      top: 10px; } }
  @media only screen and (min-width: 1180px) {
    .btn-acs.btn:before {
      top: -50px; } }

.btn-living-room.btn:before {
  background-image: url(bd0559b934859b98a4b3.webp); }

.btn-bathroom.btn:before {
  background-image: url(d9c937122268d8ffb76c.webp); }

.btn-kitchen.btn:before {
  background-image: url(d35b4e4e76bdc6c976d0.webp); }

.btn-mech-room.btn:before {
  background-image: url(4665e48f83af04d553cf.webp); }

.btn-plumbing.btn:before {
  background-image: url(0109fb58c62fdd87d9d1.webp); }

.btn-hydronic-piping.btn:before {
  background-image: url(076ec6004e20524535a2.webp); }

.btn-radiant-heating-cooling.btn:before {
  background-image: url(859c19357a57f1f6b6ce.webp); }

.btn-snow-ice-melt.btn:before {
  background-image: url(8a718e30b469fd8ec616.webp); }

.btn-turf-conditioning.btn:before {
  background-image: url(77e2987579bc7546755a.webp); }

.btn-fire-safety.btn:before {
  background-image: url(11c03b5ef2b3a184fe02.webp); }

.btn-phyn-plus.btn:before {
  background-image: url(1649c8cb8a209e9c3d66.webp); }

.btn-water-service.btn:before {
  background-image: url(41ba57a13ecfdc0f5d14.webp); }

.btn-smatrix.btn:before {
  background-image: url(f4c674c91a8b3e2fbc7a.webp); }

.btn-distribution.btn:before {
  background-image: url(dfc4f098333bed2f0aba.webp); }

.btn-manufacturing.btn:before {
  background-image: url(919fa86cd174ab742aff.webp); }

.btn-uponor.btn:before {
  background-image: url(bd49a75f30052639eee0.webp); }

/* Case Study */
.btn-applewood.btn:before {
  background-image: url(898c299fe7a06a26b92d.webp); }

.btn-toyota-park.btn:before {
  background-image: url(9078e57944870a3d440a.webp); }

.btn-auberge.btn:before {
  background-image: url(92cc6b0982f55cc183ca.webp); }

.btn-wi-u.btn:before {
  background-image: url(5b677d3b4c3099dd3d07.webp); }

.btn-usbank.btn:before {
  background-image: url(2796151146f89196331f.webp); }

.btn-co-state.btn:before {
  background-image: url(caf21b3f10b285c9328f.webp); }

.btn-700-river.btn:before {
  background-image: url(c5437f255170b455b40b.webp); }

.btn-7618-burnet.btn:before {
  background-image: url(931eb02b9d77c5ab2e18.webp); }

.btn-independent-austin.btn:before {
  background-image: url(2b863bda0d18dc47712f.webp); }

.btn-waterline-austin.btn:before {
  background-image: url(c9b9b06af733c981e827.webp); }

.btn-atx-austin.btn:before {
  background-image: url(e4d9560cbe0d9ff9352b.webp); }

@media only screen and (min-width: 300px) {
  .btn-living-room.btn:before, .btn-bathroom.btn:before, .btn-kitchen.btn:before,
  .btn-mech-room.btn:before, .btn-distribution.btn:before, .btn-manufacturing.btn:before {
    width: 130px;
    top: -10px;
    left: -15px; } }

@media only screen and (min-width: 820px) {
  .btn-living-room.btn:before, .btn-bathroom.btn:before, .btn-kitchen.btn:before,
  .btn-mech-room.btn:before, .btn-distribution.btn:before, .btn-manufacturing.btn:before {
    width: 130px;
    top: -2px;
    left: -15px; } }

@media only screen and (min-width: 1180px) {
  .btn-living-room.btn:before, .btn-bathroom.btn:before, .btn-kitchen.btn:before,
  .btn-mech-room.btn:before, .btn-distribution.btn:before, .btn-manufacturing.btn:before {
    width: 100%;
    top: -50px;
    left: 0px; } }

@media only screen and (min-width: 1650px) {
  .btn-living-room.btn:before, .btn-bathroom.btn:before, .btn-kitchen.btn:before,
  .btn-mech-room.btn:before, .btn-distribution.btn:before, .btn-manufacturing.btn:before {
    top: -90px; } }

.circle-icon:before {
  top: -90px; }
  @media only screen and (min-width: 300px) {
    .circle-icon:before {
      top: -15px;
      left: -15px; } }
  @media only screen and (min-width: 820px) {
    .circle-icon:before {
      top: -20px;
      left: -30px; } }
  @media only screen and (min-width: 1180px) {
    .circle-icon:before {
      top: -50px;
      left: 0px; } }
  @media only screen and (min-width: 1650px) {
    .circle-icon:before {
      top: -90px; } }

.btn .btn-title-container {
  position: absolute; }
  @media only screen and (min-width: 300px) {
    .btn .btn-title-container {
      left: 95px;
      top: inherit; } }
  @media only screen and (min-width: 1180px) {
    .btn .btn-title-container {
      left: inherit;
      top: 50px; } }
  @media only screen and (min-width: 1366px) {
    .btn .btn-title-container {
      top: 60px; } }

.btn .btn-title {
  display: table-cell;
  width: 999px;
  padding: 0 5px 0 5px;
  height: 60px;
  position: relative;
  vertical-align: middle;
  text-align: left; }
  @media only screen and (min-width: 300px) {
    .btn .btn-title {
      /* Phone */
      height: 46px;
      line-height: 20px; } }
  @media only screen and (min-width: 820px) {
    .btn .btn-title {
      /* Phone */
      height: 76px;
      line-height: 20px; } }
  @media only screen and (min-width: 1180px) {
    .btn .btn-title {
      /* Tablet Landscape - Smaller Laptop */
      text-align: center;
      font-size: 18px;
      height: 60px; } }
  @media only screen and (min-width: 1650px) {
    .btn .btn-title {
      /* Pro Tablet Landscape - Laptop */
      font-size: 20px;
      line-height: 24px; } }

.btn .sub-head {
  font-family: 'DIN';
  text-transform: uppercase;
  font-size: 16px;
  display: block; }
  @media only screen and (min-width: 300px) {
    .btn .sub-head {
      font-size: 12px;
      line-height: 16px; } }
  @media only screen and (min-width: 1180px) {
    .btn .sub-head {
      /* Tablet Landscape - Smaller Laptop */ } }
  @media only screen and (min-width: 1366px) {
    .btn .sub-head {
      /* Tablet Landscape - Smaller Laptop */
      font-size: 16px;
      line-height: 20px; } }

.btn-home,
.btn-back,
.btn-pdf {
  width: 50px !important;
  height: 50px !important;
  position: absolute;
  right: 24px;
  bottom: 24px;
  border-radius: 999px;
  transition: all 0.5s cubic-bezier(0.455, 0.03, 0.01, 1);
  background: none;
  box-shadow: none;
  background-size: cover;
  opacity: .90;
  border: none; }
  .btn-home:before,
  .btn-back:before,
  .btn-pdf:before {
    content: none; }
  .btn-home:hover,
  .btn-back:hover,
  .btn-pdf:hover {
    opacity: .50; }
  @media only screen and (min-width: 300px) {
    .btn-home,
    .btn-back,
    .btn-pdf {
      bottom: 40px; } }
  @media only screen and (min-width: 820px) {
    .btn-home,
    .btn-back,
    .btn-pdf {
      bottom: 24px; } }
  @media only screen and (min-width: 1180px) {
    .btn-home,
    .btn-back,
    .btn-pdf {
      right: 50px;
      bottom: 50px; } }

.btn-home {
  background-image: url(327bdfac3c146b5f6db2.webp); }

.btn-back {
  right: auto;
  left: 24px;
  background-image: url(f0b5be7e2001b77a78a4.webp); }

.btn-pdf {
  right: -50%;
  left: -50%;
  bottom: 28px;
  margin: 5px auto;
  width: 150px !important;
  font-size: 14px;
  background: #c6dbee;
  background: linear-gradient(180deg, #c6dbee 0%, #b2cee6 100%);
  color: #0156bd;
  border-radius: 100px;
  line-height: 45px;
  opacity: 1;
  height: 45px !important; }
  @media only screen and (min-width: 1180px) {
    .btn-pdf {
      right: 150px;
      left: auto;
      bottom: 55px; } }

[class*="to-"] .btn-home,
[class*="to-"] .btn-back,
[class*="to-"] .btn-pdf {
  bottom: 0px;
  opacity: 0; }

/*** Icons ***/
/*************************************************************/
/* Arrow Control */
.arrow-down {
  transform: rotate(-90deg); }

.arrow-up {
  transform: rotate(90deg); }

/**
 * Nodes
 */
.nodes {
  position: relative;
  z-index: 100; }

/*** Legal Footer ***/
/*************************************************************/
.legal {
  position: absolute;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  display: table-cell;
  width: 90%;
  text-align: center;
  font-size: 14px;
  color: white;
  opacity: .7; }
  .legal a {
    color: white; }
    .legal a svg {
      text-decoration: none; }
  .legal a:visited {
    color: white; }
  .legal p {
    vertical-align: middle;
    display: inline;
    margin-right: 10px; }
  .legal svg {
    height: 24px;
    width: 24px;
    margin-right: 10px;
    vertical-align: middle; }
  @media only screen and (min-width: 300px) {
    .legal {
      /* Phone */
      font-size: 10px;
      bottom: 10px; } }
  @media only screen and (min-width: 820px) {
    .legal {
      /* Tablet portrait */
      font-size: 14px;
      bottom: 25px; } }

/**
 * Pulse Ring Nodes
 *
 * Nodes that give the user indication
 * that they can click.
 */
.pulse {
  position: relative;
  display: block;
  background: white;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.8) 100%);
  border-radius: 48px;
  border: 5px solid rgba(255, 255, 255, 0.9);
  height: 48px;
  width: 48px;
  opacity: 1;
  z-index: 3;
  transition: all 0.5s cubic-bezier(0.455, 0.03, 0.01, 1); }
  @media only screen and (min-width: 375px) {
    .pulse .pulse {
      display: none; } }
  @media only screen and (min-width: 768px) {
    .pulse .pulse {
      display: block; } }

.pulse:after {
  content: " ";
  width: 120px;
  height: 70px;
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  top: -18px;
  left: -36px; }

.--pulse-plumbing:after {
  background-image: url(0109fb58c62fdd87d9d1.webp); }

.--pulse-hydronic-piping:after {
  background-image: url(076ec6004e20524535a2.webp); }

.--pulse-radiant-heating:after {
  background-image: url(859c19357a57f1f6b6ce.webp); }

.--pulse-snow-ice-melt:after {
  background-image: url(8a718e30b469fd8ec616.webp); }

.--pulse-turf-conditioning:after {
  background-image: url(77e2987579bc7546755a.webp); }

.--pulse-fire-safety:after {
  background-image: url(11c03b5ef2b3a184fe02.webp); }

.--pulse-phyn-plus:after {
  background-image: url(1649c8cb8a209e9c3d66.webp); }

.--pulse-water-service:after {
  background-image: url(41ba57a13ecfdc0f5d14.webp); }

.--pulse-smatrix:after {
  background-image: url(f4c674c91a8b3e2fbc7a.webp); }

.--pulse-uponor:after {
  background-image: url(bd49a75f30052639eee0.webp); }

.--pulse-ring {
  position: absolute;
  display: block;
  top: -2px;
  left: -2px;
  display: block;
  height: 48px;
  width: 48px;
  border: 2px solid #FFFFFF;
  border-radius: 48px;
  z-index: -1;
  opacity: 0; }

[class*="to-"] .pulse {
  opacity: 0; }

@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 1; }
  100% {
    transform: scale(3);
    opacity: 0; } }

.home .--pulse-1 {
  top: 620px;
  left: 480px; }

.home .--pulse-2 {
  top: 350px;
  left: 690px; }

.home .--pulse-3 {
  top: 400px;
  left: 990px; }

.home .--pulse-4 {
  top: 480px;
  left: 890px; }

.home .--pulse-5 {
  top: 70px;
  left: 300px; }

.home .--pulse-6 {
  top: 140px;
  left: 1510px; }

.home .--pulse-7 {
  left: 950px;
  top: -140px; }

/*************************************************************/
/*** Interior Template ***/
/*************************************************************/
.is-rendering .interior-template,
.is-leaving .interior-template {
  opacity: 0; }

.interior-template {
  display: flex;
  color: #FFFFFF;
  background-repeat: no-repeat;
  background-position: center center; }

.interior-template::before,
.interior-template::after {
  content: ' ';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: #00629b;
  background: linear-gradient(0deg, rgba(0, 98, 155, 0) 0%, #00629b 50%); }

.interior-template::after {
  top: unset;
  bottom: 0;
  height: 100px;
  background: #00629b;
  background: linear-gradient(180deg, rgba(0, 98, 155, 0) 0%, #00629b 50%); }

.interior__left,
.interior__right {
  box-sizing: border-box; }

.interior__left {
  text-align: left;
  padding: 90px 24px 0;
  display: block;
  width: 100%; }

.interior__left-right {
  display: block;
  align-items: center;
  margin-top: 24px; }

.interior__left-right .product-image {
  margin-right: 50px; }

.interior__left .product-image {
  width: 100%;
  height: auto;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 0.6px 2.2px rgba(0, 0, 0, 0.02), 0 1.3px 5.3px rgba(0, 0, 0, 0.028), 0 2.5px 10px rgba(0, 0, 0, 0.035), 0 4.5px 17.9px rgba(0, 0, 0, 0.042), 0 8.4px 33.4px rgba(0, 0, 0, 0.05), 0 20px 80px rgba(0, 0, 0, 0.07);
  flex: 1; }

.interior__left-right div {
  flex: 1; }

.interior__right {
  padding: 24px 24px 124px;
  width: 100%; }
  @media only screen and (max-width: 393px) {
    .interior__right {
      /* Phone */
      padding-bottom: 224px; } }

.interior-template h1,
.interior-template h2 {
  color: #fff;
  text-shadow: 1px 1px 1px black;
  margin: 0;
  font-size: 28px;
  line-height: 32px; }

.interior-template h2 {
  font-size: 24px;
  line-height: 24px;
  margin-top: 30px; }
  .interior-template h2 .interior-template h2.--tab-menu-offset {
    margin-top: 20px; }

.interior-template p {
  color: #fff;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
  font-size: 16px;
  line-height: 24px; }
  .interior-template p.disclaimer {
    font-size: 14px;
    line-height: 18px;
    font-style: italic; }

.interior-template sup {
  line-height: 0px; }

.interior__left img,
.interior__right img {
  width: 100%;
  display: block; }

.interior__left img {
  border-radius: 10px; }

.interior__title {
  position: absolute;
  right: 24px;
  top: 28px;
  color: white;
  z-index: 1; }

.interior__title h1 {
  font-size: 10px;
  margin: 0; }

.video-caption {
  padding: 20px; }

@media only screen and (min-width: 768px) {
  /* Tablet Portrait */
  .interior__left {
    /*display: flex;*/ }
  .interior__left-right {
    display: flex; }
  .interior-template .interior__left-right h2 {
    margin-top: 0; }
  .interior__title {
    top: 28px; }
  .interior__title h1 {
    font-size: 24px; } }

@media only screen and (min-width: 1024px) {
  /* Tablet Landscape - Smaller Laptop */
  .interior__left {
    padding: 140px 50px 0 50px; }
  .interior__left-right {
    margin-top: 50px; }
  .interior__right {
    padding: 24px 50px 160px; }
  .interior__title {
    right: 50px;
    top: 38px; } }

@media only screen and (min-width: 1366px) {
  /* Pro Tablet Landscape - Laptop */
  .interior__left {
    display: block;
    width: 30%; }
  .interior__left-right {
    display: block;
    margin-top: 50px;
    padding-bottom: 100px; }
  .interior-template .interior__left-right h2 {
    margin-top: 30px; }
  .interior__right {
    width: 70%;
    padding-top: 140px; }
  .interior__title {
    top: 50px; }
  .interior-template h2.--tab-menu-offset {
    margin-top: -50px; } }

@media only screen and (min-width: 1420px) {
  /* Desktop */
  .interior-template h1 {
    font-size: 40px;
    line-height: 40px; }
  .interior-template h2 {
    font-size: 30px;
    line-height: 30px; }
  .interior-template p {
    font-size: 18px; } }

/*** Interior Page ***/
/*************************************************************/
.interior__page {
  display: flex;
  flex-wrap: wrap;
  overflow-y: auto; }
  @media only screen and (min-width: 1180px) {
    .interior__page {
      flex-wrap: nowrap; } }
  @media only screen and (max-width: 300px) {
    .interior__page {
      padding-bottom: 120px; } }

/*************************************************************/
/*** Tabs ***/
/*************************************************************/
.tab-container {
  width: 100%;
  height: auto;
  border-radius: 10px;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  box-shadow: 0 0.6px 2.2px rgba(0, 0, 0, 0.02), 0 1.3px 5.3px rgba(0, 0, 0, 0.028), 0 2.5px 10px rgba(0, 0, 0, 0.035), 0 4.5px 17.9px rgba(0, 0, 0, 0.042), 0 8.4px 33.4px rgba(0, 0, 0, 0.05), 0 20px 80px rgba(0, 0, 0, 0.07); }

.tab-item {
  position: relative;
  display: none; }

.tab-item.active {
  display: block; }

.tab-item video {
  width: 100%;
  height: auto;
  background: #000; }

.tab-item.active img {
  width: 100%;
  animation: move 60s ease-in-out;
  /* Add infinite to loop. */
  animation-iteration-count: infinite; }

.tab-menu {
  display: flex;
  justify-content: center;
  margin-top: 16px; }

@media only screen and (min-width: 375px) {
  /* Phone */ }

@media only screen and (min-width: 768px) {
  /* Tablet Portrait */ }

@media only screen and (min-width: 1024px) {
  /* Tablet Landscape - Smaller Laptop */ }

@media only screen and (min-width: 1366px) {
  /* Pro Tablet Landscape - Laptop */
  .tab-menu {
    justify-content: flex-end;
    padding-bottom: 100px; } }

.tab-btn {
  position: relative;
  outline: none; }

.--tab-btn-thumb {
  height: 40px;
  width: auto;
  border-radius: 8px;
  margin-left: 8px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  opacity: .75;
  transition: all 0.5s cubic-bezier(0.455, 0.03, 0.01, 1); }

@media only screen and (min-width: 1366px) {
  /* Pro Tablet Landscape - Laptop */
  .--tab-btn-thumb {
    height: 100px;
    width: 150px; } }

.--tab-btn-thumb.active {
  opacity: 1;
  box-shadow: 0 0.6px 2.2px rgba(0, 0, 0, 0.02), 0 1.3px 5.3px rgba(0, 0, 0, 0.028), 0 2.5px 10px rgba(0, 0, 0, 0.035), 0 4.5px 17.9px rgba(0, 0, 0, 0.042), 0 8.4px 33.4px rgba(0, 0, 0, 0.05), 0 20px 80px rgba(0, 0, 0, 0.07); }

.--tab-btn-thumb img {
  height: 100%;
  width: auto; }

.--tab-btn-thumb:first-child {
  margin-left: 0; }

.--tab-btn-thumb-video:after {
  content: " ";
  position: absolute;
  top: 28px;
  right: -50%;
  left: -50%;
  display: block;
  width: 40px;
  height: 40px;
  margin: auto;
  background-image: url(b0a380de21f0343bc32d.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }

@media only screen and (min-width: 375px) {
  /* Phone */
  .--tab-btn-thumb-video:after {
    top: 5px;
    width: 30px;
    height: 30px; } }

@media only screen and (min-width: 1366px) {
  /* Pro Tablet Landscape - Laptop */
  .--tab-btn-thumb-video:after {
    top: 28px;
    width: 40px;
    height: 40px; } }

@-webkit-keyframes move {
  0% {
    -webkit-transform-origin: top left;
    -moz-transform-origin: top left;
    -ms-transform-origin: top left;
    -o-transform-origin: top left;
    transform-origin: top left;
    transform: scale(1.2);
    -ms-transform: scale(1.2);
    /* IE 9 */
    -webkit-transform: scale(1.2);
    /* Safari and Chrome */
    -o-transform: scale(1.2);
    /* Opera */
    -moz-transform: scale(1.2);
    /* Firefox */ }
  50% {
    transform: scale(1.4);
    -ms-transform: scale(1.4);
    /* IE 9 */
    -webkit-transform: scale(1.4);
    /* Safari and Chrome */
    -o-transform: scale(1.4);
    /* Opera */
    -moz-transform: scale(1.4);
    /* Firefox */ }
  100% {
    transform: scale(1.2);
    -ms-transform: scale(1.2);
    /* IE 9 */
    -webkit-transform: scale(1.2);
    /* Safari and Chrome */
    -o-transform: scale(1.2);
    /* Opera */
    -moz-transform: scale(1.2);
    /* Firefox */ } }

/*** Interior Case Study Detail ***/
/*************************************************************/
/* Modifies .interior-template */
.interior--detail {
  justify-content: center; }

.interior__detail {
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  flex-wrap: wrap;
  padding: 72px 24px 120px 24px;
  margin: 0 -16px;
  overflow-y: auto; }
  @media only screen and (min-width: 820px) {
    .interior__detail {
      /* Tablet Portrait */
      height: 92%; } }
  @media only screen and (max-width: 300px) {
    .interior__detail {
      /* Tablet Portrait */
      padding: 72px 24px 220px 24px; } }

/* Shared styles */
.interior__detail-left,
.interior__detail-center,
.interior__detail-right {
  padding: 0 16px;
  margin-bottom: 32px; }

/* Left */
.interior__detail-left {
  flex: 1.25; }

.interior__detail-left-inner {
  background-color: #002844;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 0.6px 2.2px rgba(0, 0, 0, 0.02), 0 1.3px 5.3px rgba(0, 0, 0, 0.028), 0 2.5px 10px rgba(0, 0, 0, 0.035), 0 4.5px 17.9px rgba(0, 0, 0, 0.042), 0 8.4px 33.4px rgba(0, 0, 0, 0.05), 0 20px 80px rgba(0, 0, 0, 0.07); }

.interior__detail-left-inner img {
  width: 100%; }

.interior__detail-content {
  padding: 24px; }

.interior__detail-content h2 {
  margin: 0; }

.interior__detail-content ul {
  padding-left: 18px; }

.interior__detail-stats {
  display: flex;
  text-align: center; }

.interior__detail-stats div {
  width: 33.33%; }

.interior__detail-stats img {
  width: 64px;
  height: auto; }

/* Center */
.interior__detail-center {
  flex: 1; }

.interior__detail-center-card {
  background-color: #002844;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 0.6px 2.2px rgba(0, 0, 0, 0.02), 0 1.3px 5.3px rgba(0, 0, 0, 0.028), 0 2.5px 10px rgba(0, 0, 0, 0.035), 0 4.5px 17.9px rgba(0, 0, 0, 0.042), 0 8.4px 33.4px rgba(0, 0, 0, 0.05), 0 20px 80px rgba(0, 0, 0, 0.07); }

.interior__detail-center-card div {
  padding: 24px; }

.interior__detail-center-card p {
  margin-bottom: 0; }

.interior-template p.quote {
  font-size: 20px;
  font-style: italic;
  line-height: 24px;
  padding: 24px;
  margin: 0; }

.interior-template p.quote__name,
.interior-template p.quote__title {
  margin-top: 0;
  padding-left: 48px; }

.interior-template p.quote__name {
  margin-bottom: 0; }

.interior__detail-center-card h2 {
  margin: 0; }

.interior__detail-center-card img {
  width: 100%; }

/* Right */
.interior__detail-right {
  flex: unset;
  width: 100%;
  margin-bottom: 0; }
  .interior__detail-right .interior__video video {
    width: 100%; }

.interior__detail-right p:last-child {
  margin-bottom: 0; }

.interior__detail-challenge {
  background-color: #002844;
  border-radius: 8px;
  overflow: hidden;
  padding: 24px; }

.interior__detail-challenge p {
  margin-bottom: 0; }

.interior__detail-challenge h2 {
  margin-top: 0; }

@media only screen and (min-width: 820px) {
  /* Tablet Portrait */
  .interior__detail {
    padding-top: 85px; } }

@media only screen and (min-width: 1180px) {
  /* Tablet Landscape - Smaller Laptop */
  .interior__detail {
    padding: 124px 50px 154px; } }

@media only screen and (min-width: 1366px) {
  /* Pro Tablet Landscape - Laptop */
  .interior__detail-right {
    flex: 2; } }

@media only screen and (min-width: 1650px) {
  /* Desktop */
  .interior-template p.quote {
    font-size: 26px;
    line-height: 30px; } }

/*** Interior Case Study Grid ***/
/*************************************************************/
/* Modifies .interior-template */
.interior--grid {
  justify-content: center;
  align-items: center; }

/* Grid Start */
.interior__grid {
  position: relative;
  display: flex;
  box-sizing: border-box;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow-x: auto;
  justify-content: left;
  margin: 0 -16px;
  padding: 154px 24px; }

.interior__grid-card {
  box-sizing: border-box;
  width: 25%;
  min-width: 300px;
  padding: 0 16px;
  margin-bottom: 32px; }

.interior__grid-card p,
.interior__grid-card h2 {
  margin: 24px; }

.interior__grid-card a {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  background-color: #002844;
  height: 100%;
  overflow: hidden;
  border-radius: 8px; }

.interior__grid-card p {
  font-size: 14px; }

.interior__grid-card h2 {
  flex: 2;
  font-size: 24px;
  margin-bottom: 0; }

.interior__grid-card img {
  width: 100%; }

.interior__grid-card-inner {
  transition: all 0.5s cubic-bezier(0.455, 0.03, 0.01, 1); }

.interior__grid-card-inner:hover {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), 0 2px 2px rgba(0, 0, 0, 0.14), 0 4px 4px rgba(0, 0, 0, 0.14), 0 6px 6px rgba(0, 0, 0, 0.14), 0 8px 16px rgba(0, 0, 0, 0.14); }

@media only screen and (min-width: 1366px) {
  /* Pro Tablet Landscape - Laptop */
  .interior__grid {
    flex-wrap: wrap;
    justify-content: center;
    padding: 154px 172px; }
  .interior__grid-card {
    min-width: unset; } }

/**
 * Animations
 *
 *
 */
/**
 * Radient Heat Pipe Styles
 */
.animation-pipe {
  filter: drop-shadow(0px 2px 0px rgba(0, 0, 0, 0.9)); }

/**
 * Snow Fall Styles
 */
.snowflake {
  width: 35px;
  height: 35px;
  position: absolute;
  /*background: url(http://www.clipartqueen.com/image-files/red-lobed-fall-clipart-leaf.png);*/
  background: url(25dd42e6bdc0b1fad650.webp);
  background-size: 30% 30%;
  background-repeat: no-repeat; }

#storm-snow {
  position: relative;
  top: 64px;
  width: 250px;
  height: 250px;
  z-index: 1;
  opacity: 0; }

.storm-snow-container {
  position: absolute;
  width: 250px;
  height: 300px; }
  .storm-snow-container.--education {
    left: 1000px;
    top: 350px; }
  .storm-snow-container.--healthcare {
    left: 450px;
    top: 150px; }
  .storm-snow-container.--residential {
    left: 1000px;
    top: 250px; }
  .storm-snow-container.--sports {
    left: 320px;
    top: 350px; }
  .storm-snow-container img {
    position: absolute; }
  .storm-snow-container img.cloud-1 {
    right: 5px;
    top: 98px;
    z-index: 2; }
  .storm-snow-container img.cloud-2 {
    left: -41px;
    top: -51px;
    z-index: 2; }
  .storm-snow-container img.cloud-3 {
    right: -27px;
    top: 78px;
    z-index: 2; }
  .storm-snow-container img.cloud-4 {
    top: -5px;
    left: 1px;
    z-index: 3; }
  .storm-snow-container img.cloud-5 {
    right: -51px;
    top: -29px;
    z-index: 2; }
  .storm-snow-container img.cloud-6 {
    top: -27px;
    left: -50px;
    z-index: 2; }

/**
 * Traffic
 *
 */
.gsap-anim-opacity {
  opacity: 0; }
  .gsap-anim-opacity .--blur {
    filter: blur(5px); }

.car-angle-opacity {
  opacity: 0; }

.traffic-mask.--uponor-offices #car3,
.traffic-mask.--uponor-offices #car4,
.traffic-mask.--uponor-offices #van1 {
  filter: sepia(1) blur(5px) hue-rotate(160deg); }

.traffic-mask.--hospitality #car2,
.traffic-mask.--hospitality #semi1,
.traffic-mask.--hospitality #pickup1 {
  filter: sepia(1) blur(5px) hue-rotate(160deg); }

.traffic-mask.--educational #bus1,
.traffic-mask.--educational #car1,
.traffic-mask.--educational #car2,
.traffic-mask.--educational #car5,
.traffic-mask.--educational #truck1,
.traffic-mask.--educational #semi2 {
  filter: saturate(5%) blur(5px); }

.traffic-mask {
  height: 1080px;
  width: 1920px;
  position: absolute;
  top: 0px;
  left: 0px; }
  .traffic-mask.--residential {
    mask-image: url(ef468dd4a3d358534e31.webp); }
  .traffic-mask.--educational {
    mask-image: url(50d4ee9ed194e35cc07e.webp); }
  .traffic-mask.--healthcare {
    mask-image: url(f501958a6b71ce205ca5.webp); }
  .traffic-mask.--hospitality {
    mask-image: url(8853696432f2b65573ad.webp); }
  .traffic-mask.--uponor-offices {
    mask-image: url(26d97cff687cefe4daec.webp); }

.cloud-mask {
  height: 1080px;
  width: 1920px;
  position: absolute;
  top: 0px;
  left: 0px; }
  .cloud-mask.--acs {
    mask-image: url(fdc316a234678ca77c2f.webp); }

/*************************************************************/
/*** acs ***/
/*************************************************************/
.acs {
  background-image: url(961e1bbc7c50ee750f0f.webp);
  transform: scale(0.6);
  opacity: 0;
  transform-origin: 910px 190px; }

/* From homepage to acs */
.to-acs-html .home {
  transform: scale(1.6);
  opacity: 0;
  transform-origin: 910px 190px;
  transition-delay: .25s; }

.page-acs .home {
  transform: scale(1.6);
  opacity: 0;
  transform-origin: 910px 190px; }

.page-acs .acs {
  transform: scale(1);
  opacity: 1; }

/* From acs back to homepage */
.to-index-html .acs {
  transform: scale(0.44);
  opacity: 0; }

.to-index-html .page-acs .home {
  transform: scale(1);
  opacity: 1; }

/* From acs to interior templates */
[class*="page-acs-"] .acs {
  transform: scale(1); }

[class*="page-acs-"] .home {
  transform: scale(1.6);
  opacity: 0;
  transform-origin: 910px 190px;
  transition-delay: .25s; }

.to-index-html [class*="page-acs-"] .home {
  transform: scale(1);
  opacity: 1; }

[class*="page-acs-"] .interior-template {
  background-image: url(ffc90cdfd352bda3858c.webp); }

[class*="to-acs-"] .acs {
  opacity: 0; }

.to-acs-html .acs {
  transform: scale(1);
  opacity: 1;
  transition-delay: .25s; }

/* acs Pulse */
.acs .--pulse-1 {
  top: 280px;
  left: 150px; }

.acs .--pulse-2 {
  top: 80px;
  left: 880px; }

.acs .--pulse-3 {
  top: 360px;
  left: 1160px; }

.acs .--pulse-4 {
  top: 30px;
  left: 1610px; }

.acs .--pulse-5 {
  top: -50px;
  left: 610px; }

/* Clouds */
.sky {
  position: relative;
  height: 368px;
  /* whatever you need */
  overflow: hidden;
  opacity: 1; }

[class*="to-acs-"] .sky {
  opacity: 0; }

/* One cloud layer (repeat-x so it tiles horizontally) */
.clouds {
  position: absolute;
  inset: 0;
  background-image: url(81bc1696f18b45409a68.webp);
  /* seamless tile */
  background-repeat: repeat-x;
  background-position-x: 0px;
  background-size: auto 368px;
  /* keep natural aspect; adjust height */
  will-change: background-position;
  opacity: 0.9;
  /* tweak to taste */ }

/* Two speeds for subtle parallax */
.clouds.upper {
  animation: drift-1 linear infinite;
  animation-duration: 120s; }

.clouds.lower {
  animation: drift-2 linear infinite;
  animation-duration: 420s;
  opacity: 0.4;
  background-size: auto 184px;
  top: 201px; }

/* Keyframes: slide the background 1 full width to the left */
@keyframes drift-1 {
  from {
    background-position-x: -960px; }
  to {
    background-position-x: 960px; } }

@keyframes drift-2 {
  from {
    background-position-x: -960px; }
  to {
    background-position-x: 960px; } }

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .clouds {
    animation: none; } }

/*** Educational ***/
/*************************************************************/
.educational {
  background-image: url(74ee14f7c9e2ec01caba.webp);
  transform-origin: 662px 451px;
  transform: scale(0.34);
  opacity: 0; }

/* From homepage to educational */
.to-educational-html .home {
  transform: scale(2.95);
  opacity: 0;
  transform-origin: 662px 451px;
  transition-delay: .25s; }

.page-educational .home {
  transform: scale(2.95);
  opacity: 0;
  transform-origin: 662px 451px; }

.page-educational .educational {
  transform: scale(1);
  opacity: 1; }

/* From educational back to homepage */
.to-index-html .educational {
  transform: scale(0.34);
  opacity: 0; }

.to-index-html .page-educational .home {
  transform: scale(1);
  opacity: 1; }

/* From educational to interior templates */
[class*="page-educational-"] .educational {
  transform: scale(1); }

[class*="page-educational-"] .home {
  transform: scale(2.9);
  opacity: 0;
  transform-origin: 800px 101px;
  transition-delay: .25s; }

.to-index-html [class*="page-educational-"] .home {
  transform: scale(1);
  opacity: 1; }

[class*="page-educational-"] .interior-template {
  background-image: url(235778fc2b04ba9ee7f4.webp); }

[class*="to-educational-"] .educational {
  opacity: 0; }

.to-educational-html .educational {
  transform: scale(1);
  opacity: 1;
  transition-delay: .25s; }

/* Educational Pulse */
.educational .--pulse-1 {
  top: 360px;
  left: 805px; }

.educational .--pulse-2 {
  top: 390px;
  left: 540px; }

.educational .--pulse-3 {
  top: 120px;
  left: 1130px; }

.educational .--pulse-4 {
  top: 390px;
  left: 1080px; }

/*************************************************************/
/*** Heathcare ***/
/*************************************************************/
.healthcare {
  background-image: url(92cbc3b20f9da868a72c.webp);
  transform: scale(0.34);
  opacity: 0;
  transform-origin: 956px 565px; }

/* From homepage to healthcare */
.to-healthcare-html .home {
  transform: scale(3.1);
  opacity: 0;
  transform-origin: 956px 565px;
  transition-delay: .25s; }

.page-healthcare .home {
  transform: scale(3.1);
  opacity: 0;
  transform-origin: 956px 565px; }

.page-healthcare .healthcare {
  transform: scale(1);
  opacity: 1; }

/* From healthcare back to homepage */
.to-index-html .healthcare {
  transform: scale(0.34);
  opacity: 0; }

.to-index-html .page-healthcare .home {
  transform: scale(1);
  opacity: 1; }

/* From hospitality to interior templates */
[class*="page-healthcare-"] .healthcare {
  transform: scale(1); }

[class*="page-healthcare-"] .home {
  transform: scale(3.1);
  opacity: 0;
  transform-origin: 956px 565px;
  transition-delay: .25s; }

.to-index-html [class*="page-healthcare-"] .home {
  transform: scale(1);
  opacity: 1; }

[class*="page-healthcare-"] .interior-template {
  background-image: url(b4f3b91033bfd7f6ed11.webp); }

[class*="to-healthcare-"] .healthcare {
  opacity: 0; }

.to-healthcare-html .healthcare {
  transform: scale(1);
  opacity: 1;
  transition-delay: .25s; }

/* Case Study */
.btn-episcopal-homes.btn:before {
  background-image: url(3bf9a9767b70e78fcec6.webp); }

/* Healthcare Pulse */
.healthcare .--pulse-1 {
  top: 400px;
  left: 1340px; }

.healthcare .--pulse-2 {
  top: 459px;
  left: 780px; }

.healthcare .--pulse-3 {
  top: 200px;
  left: 880px; }

.healthcare .--pulse-4 {
  top: 170px;
  left: 510px; }

/*************************************************************/
/*** Hospitality ***/
/*************************************************************/
.hospitality {
  background-image: url(890353928b6d61b92d51.webp);
  transform: scale(0.38);
  opacity: 0;
  transform-origin: 157px 843px; }

/* From homepage to hospitality */
.to-hospitality-html .home {
  transform: scale(2.6);
  opacity: 0;
  transform-origin: 157px 843px;
  transition-delay: .25s; }

.page-hospitality .home {
  transform: scale(2.6);
  opacity: 0;
  transform-origin: 157px 843px; }

.page-hospitality .hospitality {
  transform: scale(1);
  opacity: 1; }

/* From hospitality back to homepage */
.to-index-html .hospitality {
  transform: scale(0.35);
  opacity: 0; }

.to-index-html .page-hospitality .home {
  transform: scale(1);
  opacity: 1; }

/* From hospitality to interior templates */
[class*="page-hospitality-"] .hospitality {
  transform: scale(1); }

[class*="page-hospitality-"] .home {
  transform: scale(2.6);
  opacity: 0;
  transform-origin: 157px 843px;
  transition-delay: .25s; }

.to-index-html [class*="page-hospitality-"] .home {
  transform: scale(1);
  opacity: 1; }

[class*="page-hospitality-"] .interior-template {
  background-image: url(247551c221151d8ae812.webp); }

[class*="to-hospitality-"] .hospitality {
  opacity: 0; }

.to-hospitality-html .hospitality {
  transform: scale(1);
  opacity: 1;
  transition-delay: .25s; }

@media only screen and (min-width: 300px) {
  body.page-hospitality .btn {
    /* Phone */
    height: 46px; } }

@media only screen and (min-width: 820px) {
  body.page-hospitality .btn {
    /* Phone */
    height: 76px; } }

@media only screen and (min-width: 1180px) {
  body.page-hospitality .btn {
    /* Tablet Landscape - Smaller Laptop */
    width: 130px;
    height: 120px; } }

@media only screen and (min-width: 1366px) {
  body.page-hospitality .btn {
    /* Tablet Landscape - Smaller Laptop */
    width: 140px; } }

@media only screen and (min-width: 1650px) {
  body.page-hospitality .btn {
    width: 160px;
    height: 130px; } }

@media only screen and (min-width: 300px) {
  body.page-hospitality .circle-icon:before {
    top: -15px;
    left: -15px; } }

@media only screen and (min-width: 820px) {
  body.page-hospitality .circle-icon:before {
    top: -20px;
    left: -30px; } }

@media only screen and (min-width: 1180px) {
  body.page-hospitality .circle-icon:before {
    top: -20px;
    left: 0px; } }

@media only screen and (min-width: 1650px) {
  body.page-hospitality .circle-icon:before {
    top: -35px; } }

@media only screen and (min-width: 1180px) {
  body.page-hospitality .btn.case-study {
    margin-left: 25px; } }

@media only screen and (min-width: 300px) {
  body.page-hospitality .btn .btn-title {
    /* Phone */
    height: 46px;
    line-height: 20px; } }

@media only screen and (min-width: 820px) {
  body.page-hospitality .btn .btn-title {
    /* Phone */
    height: 76px;
    line-height: 20px; } }

@media only screen and (min-width: 1180px) {
  body.page-hospitality .btn .btn-title {
    /* Tablet Landscape - Smaller Laptop */
    text-align: center;
    font-size: 16px;
    height: 60px; } }

@media only screen and (min-width: 1650px) {
  body.page-hospitality .btn .btn-title {
    /* Pro Tablet Landscape - Laptop */
    font-size: 20px;
    line-height: 24px; } }

/* Hospitality Pulse */
.hospitality .--pulse-1 {
  top: 180px;
  left: 910px; }

.hospitality .--pulse-2 {
  top: 440px;
  left: 930px; }

.hospitality .--pulse-3 {
  top: 310px;
  left: 1250px; }

.hospitality .--pulse-4 {
  top: 500px;
  left: 980px; }

.hospitality .--pulse-5 {
  top: 340px;
  left: 710px; }

.hospitality .--pulse-6 {
  top: -80px;
  left: 1040px; }

/*************************************************************/
/*** Sports Complexes ***/
/*************************************************************/
.sports-complexes {
  background-image: url(d78aa230b65b1310203a.webp);
  transform: scale(0.44);
  opacity: 0;
  transform-origin: -89px 89px; }

/* From homepage to sports complexes */
.to-sports-complexes-html .home {
  transform: scale(2.23);
  opacity: 0;
  transform-origin: -89px 89px;
  transition-delay: .25s; }

.page-sports-complexes .home {
  transform: scale(2.23);
  opacity: 0;
  transform-origin: -89px 89px; }

.page-sports-complexes .sports-complexes {
  transform: scale(1);
  opacity: 1; }

/* From sports complexes back to homepage */
.to-index-html .sports-complexes {
  transform: scale(0.44);
  opacity: 0; }

.to-index-html .page-sports-complexes .home {
  transform: scale(1);
  opacity: 1; }

/* From sports complexes to interior templates */
[class*="page-sports-complexes-"] .sports-complexes {
  transform: scale(1); }

[class*="page-sports-complexes-"] .home {
  transform: scale(2.23);
  opacity: 0;
  transform-origin: -89px 89px;
  transition-delay: .25s; }

.to-index-html [class*="page-sports-complexes-"] .home {
  transform: scale(1);
  opacity: 1; }

[class*="page-sports-complexes-"] .interior-template {
  background-image: url(ccb1ba8b19adb12b5821.webp); }

[class*="to-sports-complexes-"] .sports-complexes {
  opacity: 0; }

.to-sports-complexes-html .sports-complexes {
  transform: scale(1);
  opacity: 1;
  transition-delay: .25s; }

/* Sports Complexes Pulse */
.sports-complexes .--pulse-1 {
  top: 530px;
  left: 1280px; }

.sports-complexes .--pulse-2 {
  top: 610px;
  left: 1050px; }

.sports-complexes .--pulse-3 {
  top: 420px;
  left: 490px; }

.sports-complexes .--pulse-4 {
  top: 260px;
  left: 960px; }

/*************************************************************/
/*** Residential ***/
/*************************************************************/
.residential {
  background-image: url(b91b330db84a2fbfec49.webp);
  transform: scale(0.245);
  opacity: 0;
  transform-origin: 984px 824px; }

/* From homepage to healthcare */
.to-residential-html .home {
  transform: scale(4.1);
  opacity: 0;
  transform-origin: 984px 824px;
  transition-delay: .25s; }

.page-residential .home {
  transform: scale(4.1);
  opacity: 0;
  transform-origin: 984px 824px; }

.page-residential .residential {
  transform: scale(1);
  opacity: 1; }

.to-residential-html .residential {
  transform: scale(1);
  opacity: 1;
  transition-delay: .25s; }

/* From residential back to homepage */
.to-index-html .residential {
  transform: scale(0.245);
  opacity: 0; }

.to-index-html .page-residential .home {
  transform: scale(1);
  opacity: 1; }

/*** Residential - Rooms ***/
/*************************************************************/
.residential-living-room {
  background-image: url(b9332c9405199ae882e0.webp);
  transform: scale(0.1);
  opacity: 0;
  transform-origin: 701px 193px;
  margin-top: 0px;
  transition: all 0.75s cubic-bezier(0.455, 0.03, 0.01, 1); }

.residential-bathroom {
  background-image: url(bb2bf636e55e0ff48834.webp);
  transform: scale(0.1);
  opacity: 0;
  transform-origin: 1060px 400px; }

.residential-kitchen {
  background-image: url(59ab731fcc07e88695b4.webp);
  transform: scale(0.1);
  opacity: 0;
  transform-origin: 1480px 255px; }

.residential-mech-room {
  background-image: url(bc9eadfac157b33a2d49.webp);
  transform: scale(0.1);
  opacity: 0;
  transform-origin: 1367px 551px; }

[class*="to-residential-"] .residential {
  opacity: .3; }

.to-residential-residential-living-room-html .residential-living-room,
.to-residential-residential-bathroom-html .residential-bathroom,
.to-residential-residential-kitchen-html .residential-kitchen,
.to-residential-residential-mech-room-html .residential-mech-room {
  transform: scale(1);
  opacity: 1;
  transition-delay: .25s;
  z-index: 2; }
  @media only screen and (max-width: 1179px) {
    .to-residential-residential-living-room-html .residential-living-room,
    .to-residential-residential-bathroom-html .residential-bathroom,
    .to-residential-residential-kitchen-html .residential-kitchen,
    .to-residential-residential-mech-room-html .residential-mech-room {
      /* Phone */
      margin-top: 210px; } }

[class^="page-residential-"] [class^="residential-"] {
  transform: scale(1);
  opacity: 1; }
  @media only screen and (max-width: 1179px) {
    [class^="page-residential-"] [class^="residential-"] {
      /* Phone */
      margin-top: 210px; } }

.to-residential-html [class^="residential-"] {
  transform: scale(0.1);
  opacity: 0; }

[class*="page-residential-"] .home {
  transform: scale(4.1);
  opacity: 0;
  transform-origin: 984px 824px; }

[class*="page-residential-"] .residential {
  transform: scale(1);
  opacity: .3; }

/* Override for parent level interior screens */
.page-residential-logic-plumbing .residential,
.page-residential-snow-ice-melt .residential,
.page-residential-water-service-line .residential {
  opacity: 0; }

[class*="page-residential-"] [class*="residential-"].room {
  transform: scale(1);
  opacity: 1; }

.to-residential-html [id*="residential-"] .room {
  transform: scale(0.1);
  opacity: 0; }

.to-residential-html .residential {
  opacity: 1; }

.to-index-html [class*="page-residential-"] .residential {
  transform: scale(0.25);
  opacity: 0; }

.to-index-html [class^="page-residential-"] [class^="residential-"] {
  transform: scale(0.1);
  opacity: 0;
  transition-delay: .25s;
  transform-origin: 700px 689px; }

/*************************************************************/
[class*="page-residential-"] .interior-template {
  background-image: url(93edc655ae93d8bd7c56.webp); }

[class*="to-residential-living-room-residential"] [class^="residential"],
[class*="to-residential-bathroom-residential"] [class^="residential"],
[class*="to-residential-kitchen-residential"] [class^="residential"],
[class*="to-residential-mech-room-residential"] [class^="residential"],
[class*="page-residential-living-room-"] [class*="residential"],
[class*="page-residential-bathroom-"] [class*="residential"],
[class*="page-residential-kitchen-"] [class*="residential"],
[class*="page-residential-mech-room-"] [class*="residential"] {
  opacity: 0; }

[class*="to-residential-residential"] [class^="page-residential-"] [class^="residential-"] {
  opacity: 1;
  transition-delay: .25s; }

[class*="to-residential-residential"] [class^="page-residential-"] .residential {
  opacity: .3;
  transition-delay: .25s; }

/* Override for parent level interior screens */
.to-residential-residential-logic-plumbing-html .residential, .to-residential-residential-snow-ice-melt-html .residential {
  opacity: 0 !important;
  transition-delay: none !important; }

[class*="page-residential-"] .home {
  opacity: 0; }

/*
.to-index-html [class*="page-residential-living-room-"] .home,
.to-index-html [class*="page-residential-bathroom-"] .home,
.to-index-html [class*="page-residential-kitchen-"] .home,
.to-index-html [class*="page-residential-mech-room-"] .home
*/
.to-index-html [class^="page-residential-"] .home {
  transform: scale(1);
  opacity: 1;
  transition-delay: .25s;
  transform-origin: 754px 677px; }

.cross-section {
  position: absolute;
  height: 750px;
  width: 740px;
  left: 580px;
  top: 80px;
  opacity: 1;
  transition: all 0.75s cubic-bezier(0.455, 0.03, 0.01, 1); }
  .cross-section .radiant-animation {
    position: absolute;
    width: 100%;
    height: 100%; }
  .cross-section .room-layer {
    position: absolute;
    animation-duration: 6s;
    animation-name: roomfade;
    animation-iteration-count: infinite; }

.is-animating .cross-section {
  opacity: 0; }

@keyframes roomfade {
  0% {
    opacity: 0; }
  25% {
    opacity: 1; }
  75% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@media only screen and (min-width: 375px) {
  /* Phone */ }

@media only screen and (min-width: 768px) {
  /* Tablet Portrait */ }

@media only screen and (min-width: 1024px) {
  /* Tablet Landscape - Smaller Laptop */ }

@media only screen and (min-width: 1366px) {
  /* Pro Tablet Landscape - Laptop */ }

@media only screen and (min-width: 1420px) {
  /* Desktop */ }

.residential .--pulse-1 {
  top: 190px;
  left: 700px; }

.residential .--pulse-2 {
  top: 189px;
  left: 1397px; }

.residential .--pulse-3 {
  top: 260px;
  left: 1020px; }

.residential .--pulse-4 {
  top: 340px;
  left: 1298px; }

.residential .--pulse-5 {
  top: 300px;
  left: 668px; }

.residential .--pulse-6 {
  top: 220px;
  left: 1088px; }

.residential .--pulse-7 {
  top: 40px;
  left: 868px; }

/* Residential Living Room */
.residential-living-room .--pulse-1 {
  top: 580px;
  left: 1140px; }

.residential-living-room .--pulse-2 {
  top: 169px;
  left: 737px; }

/* Residential Bathroom */
.residential-bathroom .--pulse-1 {
  top: 550px;
  left: 880px; }

.residential-bathroom .--pulse-2 {
  top: 600px;
  left: 1040px; }

.residential-bathroom .--pulse-3 {
  top: 320px;
  left: 1290px; }

/* Residential Kitchen */
.residential-kitchen .--pulse-1 {
  top: 520px;
  left: 860px; }

.residential-kitchen .--pulse-2 {
  top: 260px;
  left: 990px; }

.residential-kitchen .--pulse-3 {
  top: 480px;
  left: 1150px; }

/* Residential Mech Room */
.residential-mech-room .--pulse-1 {
  top: 220px;
  left: 950px; }

.residential-mech-room .--pulse-2 {
  top: 420px;
  left: 1140px; }

.residential-mech-room .--pulse-3 {
  top: 240px;
  left: 1045px; }

/* Specific nav ovveride due to 7 items across */
@media only screen and (min-width: 300px) {
  /* Phone */ }

@media only screen and (min-width: 1180px) {
  /* Tablet Portrait */ }

@media only screen and (min-width: 1180px) {
  /* Tablet Landscape - Smaller Laptop */
  body.page-residential nav.bottom-nav {
    width: 1120px; }
  body.page-residential .circle-icon::before {
    top: -30px; }
  body.page-residential .btn-living-room.btn::before, body.page-residential .btn-bathroom.btn::before, body.page-residential .btn-kitchen.btn::before, body.page-residential .btn-mech-room.btn::before, body.page-residential .btn-distribution.btn::before, body.page-residential .btn-manufacturing.btn::before {
    top: -30px; } }

@media only screen and (min-width: 1650px) {
  /* Pro Tablet Landscape - Laptop */
  body.page-residential nav.bottom-nav {
    width: 1620px; }
  body.page-residential .circle-icon::before {
    top: -60px; }
  body.page-residential .btn-living-room.btn::before, body.page-residential .btn-bathroom.btn::before, body.page-residential .btn-kitchen.btn::before, body.page-residential .btn-mech-room.btn::before, body.page-residential .btn-distribution.btn::before, body.page-residential .btn-manufacturing.btn::before {
    top: -60px; } }

@media only screen and (min-width: 1420px) {
  /* Desktop */ }

/*************************************************************/
/*** uponor-offices ***/
/*************************************************************/
.uponor-offices {
  background-image: url(d202066618f5a86797c5.webp);
  transform: scale(0.39);
  opacity: 0;
  transform-origin: 1907px 541px; }

/* From homepage to healthcare */
.to-uponor-offices-html .home {
  transform: scale(2.55);
  opacity: 0;
  transform-origin: 1907px 541px;
  transition-delay: .25s; }

.page-uponor-offices .home {
  transform: scale(2.55);
  opacity: 0;
  transform-origin: 1907px 541px; }

.page-uponor-offices .uponor-offices {
  transform: scale(1);
  opacity: 1; }

.to-uponor-offices-html .uponor-offices {
  transform: scale(1);
  opacity: 1;
  transition-delay: .25s; }

/* From uponor-offices back to homepage */
.to-index-html .uponor-offices {
  transform: scale(0.39);
  opacity: 0; }

.to-index-html .page-uponor-offices .home {
  transform: scale(1);
  opacity: 1; }

/*** uponor-offices - Rooms ***/
/*************************************************************/
.uponor-offices-manufacturing {
  background-image: url(272a40a7bfe6e0917a8c.webp);
  transform: scale(0.1);
  opacity: 0;
  transform-origin: 850px 490px; }

.uponor-offices-distribution {
  background-image: url(49e79d0502bf3e33324b.webp);
  transform: scale(0.1);
  opacity: 0;
  transform-origin: 1360px 487px; }

[class*="to-uponor-offices-"] .uponor-offices,
.to-uponor-offices-uponor-offices-manufacturing-html .uponor-offices,
.to-uponor-offices-uponor-offices-distribution-html .uponor-offices {
  opacity: .3; }

.to-uponor-offices-uponor-offices-manufacturing-html .uponor-offices-manufacturing,
.to-uponor-offices-uponor-offices-distribution-html .uponor-offices-distribution {
  transform: scale(1);
  opacity: 1;
  transition-delay: .25s;
  z-index: 2; }

[class^="page-uponor-offices-"] [class^="uponor-offices-"] {
  transform: scale(1);
  opacity: 1; }

.to-uponor-offices-html [class^="uponor-offices-"] {
  transform: scale(0.1);
  opacity: 0; }

[class*="page-uponor-offices-"] .home {
  transform: scale(2.55);
  opacity: 0;
  transform-origin: 1907px 541px; }

[class*="page-uponor-offices-"] .uponor-offices {
  transform: scale(1);
  opacity: .3; }

/* Override for parent level interior screens */
.page-uponor-offices-corporate .uponor-offices, .page-uponor-offices-sustainability .uponor-offices {
  opacity: 0; }

[class*="page-uponor-offices-"] [class*="uponor-offices-"].room {
  transform: scale(1);
  opacity: 1; }

.to-uponor-offices-html [id*="uponor-offices-"] .room {
  transform: scale(0.1);
  opacity: 0; }

.to-uponor-offices-html .uponor-offices {
  opacity: 1; }

.to-index-html [class^="page-uponor-offices-"] .uponor-offices {
  transform: scale(0.39);
  transition-delay: .25s;
  opacity: 0; }

.to-index-html [class^="page-uponor-offices-"] [class^="uponor-offices-"] {
  transform: scale(0.1);
  opacity: 0;
  transition-delay: .25s;
  transform-origin: 1907px 541px; }

/*************************************************************/
[class*="page-uponor-offices-"] .interior-template {
  background-image: url(fae1f162de5a0ad8d638.webp); }

[class*="to-uponor-offices-manufacturing-uponor-offices"] [class^="uponor-offices"],
[class*="to-uponor-offices-distribution-uponor-offices"] [class^="uponor-offices"],
[class*="page-uponor-offices-manufacturing-"] [class*="uponor-offices"],
[class*="page-uponor-offices-distribution-"] [class*="uponor-offices"] {
  opacity: 0; }

[class*="to-uponor-offices-uponor-offices"] [class^="page-uponor-offices-"] [class^="uponor-offices-"] {
  opacity: 1;
  transition-delay: .25s; }

[class*="to-uponor-offices-uponor-offices"] [class^="page-uponor-offices-"] .uponor-offices {
  opacity: .3;
  transition-delay: .25s; }

/* Override for parent level interior screens */
.to-uponor-offices-uponor-offices-corporate-html .uponor-offices, .to-uponor-offices-uponor-offices-sustainability-html .uponor-offices {
  opacity: 0 !important;
  transition-delay: none !important; }

[class*="page-uponor-offices-"] .home {
  opacity: 0; }

/*
.to-index-html [class*="page-uponor-offices-manufacturing-"] .home,
.to-index-html [class*="page-uponor-offices-distribution-"] .home,
.to-index-html [class*="page-uponor-offices-kitchen-"] .home,
.to-index-html [class*="page-uponor-offices-mech-room-"] .home
*/
.to-index-html [class^="page-uponor-offices-"] .home {
  transform: scale(1);
  opacity: 1;
  transition-delay: .25s;
  transform-origin: 1907px 541px; }

/* Case Study */
.btn-applewood.btn:before {
  background-image: url(898c299fe7a06a26b92d.webp); }

/* Employee Loops */
.people-loop {
  position: absolute;
  z-index: 2;
  opacity: 1;
  transition: all 0.75s cubic-bezier(0.455, 0.03, 0.01, 1); }
  .people-loop.--distribution {
    top: 415px;
    left: 915px; }
  .people-loop.--manufacturing {
    top: 358px;
    left: 698px; }

[class*="to-"] .people-loop {
  opacity: 0; }

.uponor-offices .--pulse-1 {
  top: 260px;
  left: 570px; }

.uponor-offices .--pulse-2 {
  top: 399px;
  left: 827px; }

.uponor-offices .--pulse-3 {
  top: 340px;
  left: 1298px; }

.uponor-offices .--pulse-4 {
  top: 190px;
  left: 1180px; }

/* Uponor Offices Manufacturing */
.uponor-offices-manufacturing .--pulse-1 {
  top: 480px;
  left: 850px; }

.uponor-offices-manufacturing .--pulse-2 {
  top: 310px;
  left: 670px; }

.uponor-offices-manufacturing .--pulse-3 {
  top: 230px;
  left: 1180px; }

.uponor-offices-manufacturing .--pulse-4 {
  top: 140px;
  left: 990px; }

/* Uponor Offices Distribution */
.uponor-offices-distribution .--pulse-1 {
  top: 300px;
  left: 540px; }

.uponor-offices-distribution .--pulse-2 {
  top: 490px;
  left: 800px; }

.uponor-offices-distribution .--pulse-3 {
  top: 350px;
  left: 1010px; }


/*# sourceMappingURL=main.css.map*/