* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-family: 'Gotham Rounded Book', sans-serif;
  overflow-x: hidden;
}

body{
  background: #00e1b2;
  overflow-x: hidden;
  overflow-x: hidden;
}

h1{
  color: #000;
  font-family: 'Lilita One', sans-serif;
  font-size: 70px;
  line-height: 60px;
}

a{
  color: #000;
  font-family: 'Lilita One', sans-serif;
  font-size: 24px;
  line-height: 20px;
  text-decoration: none;
}

p{
  font-size: 18px;
  margin-top: 10px;
}

span{
  font-size: 18px;
  margin-top: 10px;
  display: block;
  font-family: 'Gotham Rounded';
}

svg{font-weight:bold;max-width:600px;height:100%;}

/* Preloader styles */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent white */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999; /* Ensure preloader is above other content */
}

.loader {
  border: 8px solid #f3f3f3; /* Light grey */
  border-top: 8px solid #3498db; /* Blue */
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite; /* Spin animation */
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.hidden {
    opacity: 0;
    transition: opacity 1s ease-in-out;
  }

  /* Animate the elements when they come into view */
  .visible {
    opacity: 1;
  }


#wrapper{
  width: 100%;
  max-width: 1920px;
  margin: auto;
  display: none;
  overflow-x: hidden;
}

header{
  width: 100%;
  display: flex;
  position: fixed;
  top: 0;
  z-index: 100;
  background: #FFF;

}

header.small{
  box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.5);
}

header.small .hcontent{
  min-height: 70px;
}

.hcontent .logo img{
  width: 160px;
}

.hcontent{
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  min-height: 100px;
  max-width: 1040px;
  padding: 0 20px;
  align-items: center;
  transition: all 0.3s;
}

.hcontent .logo{
  margin-left: 20px;
}

.header-nav{
  background-color: rgba(0, 255, 178, 0.6);
  width: 100vw;
  height: 100vh;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  display: flex;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s;
}

.header-nav.show{
  opacity: 1;
  pointer-events: all;
}

.header-nav .content{
  background-color: #00e1b2;
  max-width: 450px;
  width: 100%;
  height: 100vh;
  margin-left: auto;
  display: flex;
  flex-flow: column;
}

.header-nav .content .close{
  margin-left: auto;
  margin-right: 35px;
  margin-top: 15px;
}

.header-nav .content nav{
  padding: 0 40px;
  display: flex;
  flex-flow: column;
}

.header-nav .content nav a{
  margin-top: 50px;
}

/*****HOME****/

.home{
  width: 100%;
  min-height: 654px;
  margin-top: 150px;
  position: relative;
  /*background-image: url(../images/header-bg.png);
  background-image: url(../images/home-bg.png);*/
  background-size: auto;
  background-repeat: no-repeat;
  background-position: top;
}

.home .content{
  width: 1344px;
  position: relative;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}

.flotter{
  position: absolute;
}

.flotter.w1{
  top: 67px;
  left: 95px;
  right: auto;
}

.flotter.w8t{
  top: 99px;
  right: 55px;
  left: auto;
}

.flotter.home-info{
  top: 15px;
  left: 379px;
  z-index: -1;
}

.flotter.home-info .dogs{
  position: absolute;
  top: 0;
}

.flotter.home-info .dogs img{
  position: absolute;
}

.dogs .jaw-dog{
  top: 58px;
  left: -77px;
}

.dogs .top-dog{
  top: -77px;
  left: 54px;
}

.dogs .peer{
  top: 315px;
  left: 223px;
}

.flotter.home-info nav{
  position: absolute;
  top: 140px;
  left: 90px;
}

.flotter.home-info nav a{
  position: absolute;
  width: 140px;
  text-align: center;
}

.flotter.home-info nav a div.regular{
  opacity: 1;
  transition: all 0.3s;
}

.flotter.home-info nav a div.hover{
  position: absolute;
  top: -2px;
  left: 0px;
  width: 100%;
  opacity: 0;
  transition: all 0.3s;
}

.flotter.home-info nav a div.hover svg{
  margin-top: -10px;
}

.flotter.home-info nav a div.hover svg:first-of-type{
  margin-top: 0;
}

.flotter.home-info nav a:hover  div.regular{
  opacity: 0.2;
}

.flotter.home-info nav a:hover  div.hover{
  opacity: 1;
}


.flotter.home-info nav a.wwd{
  top: -116px;
  left: 54px;
}

.flotter.home-info nav a.wu {
  top: -27px;
  left: 205px;
}

.flotter.home-info nav a.wwa {
  top: 287px;
  left: -175px;
}

.flotter.home-info nav a.wwj {
  top: 360px;
  left: 80px;
}

.flotter.home-info nav a.wtu{
  top: 238px;
  left: 301px;
}


/*****WHO WE ARE****/

.who-we-are{
  width: 100%;
  height: 521px;
  background-image: url('../images/who-we-arre-back.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto;
  display: flex;
  justify-content: center;
}

.who-we-are img{
  max-width:564px;
  width: 45%;
  margin: auto;
  margin-right: 0;
}

.who-we-are .info{
  width: 33%;
  min-width: 400px;
  margin: auto;
  margin-left: 45px;
}


/************WHAT WE DO******/

.what-we-do{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 50px;
}

.what-we-do .info{
  width: 18%;
  min-width: 210px;
  margin: auto;
  margin-right: 100px;
}

.what-we-do > img{
  margin: auto;
  margin-left: 0;
  max-width: 573px;
  width: 52%;
}

.what-we-do nav{
  width: 100%;
  max-width: 900px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  margin-top: 10px;
}

a.animated{
  position: relative;
  min-width: 170px;
  text-align: center;
}

a.animated div.regular{
  opacity: 1;
  transition: all 0.3s;
}

a.animated div.hover{
  position: absolute;
  top: -2px;
  left: 0px;
  width: 100%;
  opacity: 0;
  transition: all 0.3s;
}

a.animated div.hover svg{
  margin-top: -10px;
}

a.animated div.hover svg:first-of-type{
  margin-top: 0;
}

a.animated:hover  div.regular{
  opacity: 0.2;
}

a.animated:hover  div.hover{
  opacity: 1;
}

/*****WHY US****/

.why-us{
  width: 100%;
  height: 617px;
  background-image: url('../images/why-us-back.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto;
  display: flex;
  justify-content: center;
  margin-top: 80px;
}

.why-us img{
  max-width: 423px;
  width: 38%;
  margin: auto;
  margin-right: 0;
}

.why-us .info{
  width: 35%;
  min-width: 590px;
  margin: auto;
  margin-left: 10px;
}

/************WELL WORTH JOINING******/

.well-worth{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 90px;
}

.well-worth .info{
  width: 23%;
  max-width: 310px;
  margin: auto;
  margin-right: 30px;
}

.well-worth > img{
  margin: auto;
  margin-left: 0;
  max-width: 639px;
  width: 41%;
}

.well-worth nav{
  width: 100%;
  max-width: 1070px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 60px;
}

/**********WRITE TO US********/

.contact{
  width: 100%;
  height: 629px;
  background-image: url('../images/write-to-us-back.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto;
  display: flex;
  justify-content: center;
  margin-top: 200px;
}

.contact .info{
  width: 44%;
  max-width: 575px;
  margin: auto;
  margin-right: 0px;
  z-index: 1;
  padding-left: 110px;
}

.contact .info form{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.contact .info form input{
  width: 100%;
  height: 40px;
  border: 2px solid #000;
  border-radius: 40px;
  padding: 18px;
  font-family: 'Gotham Rounded', sans-serif;
  background: transparent;
  font-size: 18px;
  color: #FFF;
  margin-top: 15px;
}

.contact .info form input::placeholder{
  color: #FFF;
}

.contact .info form input.half{
  width: 49%;
  max-width: 420px;
}

.contact .info form textarea{
  width: 100%;
  height: 160px;
  border: 2px solid #000;
  border-radius: 40px;
  padding: 18px;
  font-family: 'Gotham Rounded', sans-serif;
  background: transparent;
  font-size: 18px;
  color: #FFF;
  margin-top: 15px;
  box-sizing: border-box;
}

.contact .info form textarea::placeholder{
  color: #FFF;
}

.contact .info form button{
  margin-top: 20px;
  width: 155px;
  height: 37px;
  border: 0;
  background: transparent;
  background-image: url('../images/submit.png');
  background-size: contain;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Lilita One';
  font-size: 22px;
  color: #000;
  cursor: pointer;
}

.contact .info form button:hover{
  background-image: url('../images/submit-over.png');
  color: #FFF;
}

.contact .info form button.loading{
  pointer-events: none;
  color: transparent;
  background-image: url(../images/loading.gif), url('../images/submit.png');
  background-repeat: no-repeat;
  background-size: 80px, contain;
  background-position: center;
}

.contact .info div.message{
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: column;
  align-items: center;
  display: none;
  min-height: 300px;
}

.contact .info div.message img{
  margin: auto;
  margin-left: 90px;
  margin-bottom: 0;
}

.contact .info div.message h4{
  font-family: 'Lilita One';
  font-size: 24px;
}

.contact .info div.message p{
  font-size: 16px;
  max-width: 260px;
  margin-top: 5px;
  margin-bottom: auto;
}

.robot{
  margin-top: 15px;
  width: 50%;
  max-width: 180px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-left: 15px;
}

.robot p{
  font-family: 'Gotham Rounded', sans-serif;
  font-size: 18px;
  margin: 0;
}

.robot a{
  width: 25px;
  height: 25px;
  background: url('../images/box-content.png');
  position: relative;
  background-size: contain;
  background-repeat: no-repeat;
}

.robot a img{
  display: none;
  position: absolute;
  left: 5px;
  top: -2px;
}

.robot a.checked img{
  display: block;
}


.contact > img{
  margin: auto;
  margin-left: 110px;
  max-width: 490px;
  margin-left: -70px;
  width: 40%;
}

/******POP UP********/

.pop-up{
  position: fixed;
  top: 0;
  left: 100vw;
  z-index: 200;
  width: 100%;
  height: 100vh;
  background: #FFF;
  display: flex;
  transition: all 0.3s;
  padding: 20px 0;
}

.pop-up.e-marketing{
  background: #FF8DFF;
}

.pop-up.data{
  background: #00E09E;
}

.pop-up.ryd{
  background: #ff8500;
}
.click-through-image {
  pointer-events: none;
}

.pop-up.show{
  left: 0;
}

.pop-up.e-marketing .content.e-marketing, .pop-up.data .content.data, .pop-up.ryd .content.ryd{
  display: flex;
}
.content.ryd .info{
  min-height: 600px;
}

.pop-up .content{
  width: auto;
  max-width: 1350px;
  margin: auto;
  display: none;
  padding: 0 20px;
}

.pop-up .content .info{
  position: relative;
  max-width: 370px;
  width: 100%;
  display: flex;
  flex-flow: column;
}

.pop-up .content .info a.back{
  width: 44px;
  height: 45px;
  background-image: url(../images/back.png);
}

.pop-up .content .info h1{
  margin-top: 30px;
  font-size: 40px;
  line-height: 35px;
}

.pop-up .content .info p{
  font-family: 'Gotham Rounded';
  margin-top: 20px;
}

.pop-up .content .info img{
  position: absolute;
  bottom: 0;
}

.pop-up .content .data{
  padding: 80px;
  background: #FFF;
  border-radius: 40px;
  margin: auto 0;
  margin-left: 100px;
  max-width: 650px;
}

.pop-up.wwj .content{
  min-width: 70%;
}

.pop-up.wwj .info{
  min-height: 600px;
  margin-right: auto;
}

.pop-up.wwj img.right-img{
  margin: auto;
}

.pop-up.wwj .content .info h1{
  margin-top: auto;
  margin-bottom: 0;
  margin-left: 100px;
}

.pop-up.wwj .content .info p{
  margin-bottom: auto;
  max-width: 220px;
  margin-left: 100px;
}

.pop-up.heath .content.heath, .pop-up.holidays .content.holidays, .pop-up.sick-days .content.sick-days, .pop-up.eat-and-drink .content.eat-and-drink, .pop-up.animal-zone .content.animal-zone, .pop-up.on-boarding .content.on-boarding{
  display: flex;
}



footer{
  width: 100%;
  height: 80px;
  display: flex;
  background: #FFF;
  margin-top: 70px;
  -webkit-box-shadow: 0px -5px 20px 0px rgba(0,0,0,0.5);
  -moz-box-shadow: 0px -5px 20px 0px rgba(0,0,0,0.5);
  box-shadow: 0px -5px 20px 0px rgba(0,0,0,0.5);
}

.f-content{
  padding: 0 20px;
  width: 100%;
  max-width: 740px;
  margin: auto;
  display: flex;
  justify-content: space-between;
}

.f-content p{
  margin-top: 0;
  font-size: 12px;
}

.f-content nav{
  display: flex;
  align-items: center;
}

.f-content nav span{
  font-size: 12px;
  font-family: 'Gotham Rounded Book';
  margin: 0 10px;
}

.f-content a{
  font-size: 12px;
  font-family: 'Gotham Rounded Book';
}


@media screen and (max-width:1200px) {
  .pop-up .content .info img{
    max-width: 40vw;
  }
}

@media screen and (max-width:800px) {
  .flotter.w1, .flotter.w8t{
    display: none;
  }

  .home .content{
    width: 100%;
    transform: none;
    left: 0;
    display: flex;
    min-height: 600px;
  }

  .flotter.home-info {
     position: relative;
     margin: auto;
     display: block;
     top: auto;
     left: auto;
   }

   .flotter.home-info nav a.wwa{
     left: -135px;
   }

   h1{
     font-size: 55px;
     line-height: 50px;
   }

   p{
     font-size: 16px;
   }

   a{
     font-size: 22px;
   }

   .who-we-are .info{
     margin-left: 10px;
   }

   .what-we-do .info{
     margin-right: 30px;
   }

   .what-we-do nav{
     justify-content: center;
   }

   .what-we-do nav img{
     margin: 0 20px;
   }

   a.animated{
     min-width: 40px;
   }

   .why-us{
     background-size: cover;
     padding: 30px 0;
     height: auto;
   }

   .why-us img{
     max-width: none;
     width: 50%;
     margin-right: 0;
     margin-left: 10px;
   }

   .why-us .info{
     width: 45%;
     margin-left: 10px;
     margin-right: 10px;
     min-width: 0;
   }

   .well-worth .info{
     max-width: none;
     width: 49%;
     margin-right: 10px;
     padding-left: 10px;
   }

   .well-worth > img{
     width: 49%;
   }

   .well-worth nav{
     flex-wrap: wrap;
     justify-content: space-around;
   }

   .well-worth nav a{
     margin: 10px;
   }

   .contact{
     padding: 40px 20px;
     height: auto;
     background-size: cover;
   }

   .contact .info{
     padding-left: 0;
     width: 48%;
   }

   .contact > img{
     width: calc(50% + 70px);
     margin-right: 0;
   }

   .robot{
     width: 100%;
   }

   .pop-up .content .info img{
     /*display: none;*/
     position: inherit;
     width: 90%;
    max-width: none;
    margin: auto;
    margin-top: auto;
    margin-top: 20px;
   }

   .pop-up .content .data{
     margin-left: 20px;
   }

   .pop-up.wwj .content{
     flex-flow: column;
   }

   .pop-up.wwj .info{
     min-height: 0;
     max-width: none;
   }

   .pop-up.wwj .content .info p{
     max-width: none;
     margin-left: 0;
   }

   .pop-up.wwj .content .info h1{
     margin-left: 0;
     margin-top: 20px;
   }

   .pop-up.wwj img.right-img{
     margin-top: 20px;
     width: 100%;
   }

   .contact .info div.message img{
     margin-left: 0;
   }

}

@media screen and (max-width:700px) {
  .pop-up .content{
    flex-flow: column;
    padding-bottom: 100px;
  }

  .pop-up .content .data{
    margin-left: 0;
    max-width: none;
    margin-top: 20px;
    padding: 20px;
    border-radius: 20px;
  }

  .pop-up .content .info{
    max-width: none;
  }
}

@media screen and (max-width:600px) {
  .flotter.home-info nav{
    display: none;
  }

  footer{
    height: auto;
    padding: 20px 0;
  }

  .f-content{
    flex-flow: column;
    justify-content: center;
  }

  .f-content p{
    text-align: center;
  }

  .f-content nav{
    justify-content: center;
    margin-top: 10px;
  }

}

@media screen and (max-width:500px) {
    h1{
      font-size: 45px;
      line-height: 40px;
    }

    p{
      font-size: 15px;
    }

    .who-we-are{
      flex-flow: column;
      padding-top: 30px;
      padding-bottom: 70px;
      background-size: cover;
      height: auto;
    }

    .who-we-are img, .who-we-are .info{
      width: 90%;
      margin: auto;
      min-width: 0;
    }

    .who-we-are .info{
      margin-top: 20px;
    }

    .who-we-are .info h1 br{
      display: none;
    }

    .what-we-do .info{
      width: 90%;
      margin: auto;
    }

    .what-we-do .info h1 br{
      display: none;
    }

    .what-we-do > img{
      width: 90%;
      margin: auto;
      margin-top: 20px;
    }

    .what-we-do nav{
      margin-top: 0;
    }

    .why-us{
      flex-flow: column;
      padding-bottom: 40px;
    }

    .why-us img, .why-us .info{
      width: 90%;
      margin: auto;
    }

    .why-us .info{
      margin-top: 20px;
    }

    .well-worth{
      flex-flow: column;
      padding-bottom: 40px;
      margin-top: 40px;
    }

    .well-worth > img, .well-worth .info{
      width: 90%;
      margin: auto;
    }

    .well-worth > img{
      margin-top: 20px;
    }

    .well-worth nav{
      justify-content: center;
    }

    .contact{
      margin-top: 30px;
      padding: 0;
      padding: 50px 0;
      flex-flow: column-reverse;
    }

    .contact .info{
      width: 90%;
      margin: auto;
      margin-top: 20px;
    }

    .contact > img{
      width: 90%;
      margin: auto;
    }

    .pop-up{
      overflow-y: scroll;
    }

    .flotter.home-info{
      display: flex;
    }

    .flotter.home-info > img{
      width: 100%;
      margin: auto;
    }

    .home .content{
      min-height: 0;
    }

    .home{
      min-height: 0;
      padding-bottom: 30px;
    }

    a.animated div.hover{
      display: none;
    }

}
