html {
  height: 100%;
}
html, body {
  margin:0;
  font-family: Arial, sans-serif;
  font-style: normal;
  font-variant: normal;
}
.pd-5vw{
  padding: 5vw;
}

.dpd-20{
  padding-bottom: 20px;
}
.text-center{
  text-align: center;
}

.text-purple{
  color: #6435c9;
}
.text-green{
  color: #72d597;
}
.text-grey{
  color: #5f7f89;
}
.text-blue{
  color: #4fc1ea;
}

.text-size-20-vh{
  font-size: 20vh;
  line-height: normal;
}

.text-size-10-vh{
  font-size: 10vh;
}

.text-size-5-vh{
  font-size: 5vh;
}
.text-size-18{
  font-size: 18px;
}
.text-height-1-5{
  line-height: 1.5;
}

.bg-404{
  height: 100%;
  position: relative;
  background: #eee;
  background: -moz-linear-gradient(top, rgba(232,247,252,1) 0%, rgba(249,249,249,1) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(232,247,252,1) 0%,rgba(249,249,249,1) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(232,247,252,1) 0%,rgba(249,249,249,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f7fc', endColorstr='#f9f9f9',GradientType=0 ); /* IE6-9 */
}

.bottom-copy{
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  min-height: 140px;
  text-align: center;
}


.gears-grd1{
  stop-color:#4fc1ea; stop-opacity:1
}
.gears-grd2{
  stop-color:#6435c9; stop-opacity:1
}

.gears-img{
  position: absolute;
  text-align: right;
  right: 10vw;
  bottom: 10vh;
  width: 40%;
}
.gears-img img{
  max-width: 100%;
}

.machine {
  width: 60vmin;
}

.small-shadow, .medium-shadow, .large-shadow {
  fill: rgba(0, 0, 0, 0.05); }

.small {
  -webkit-animation: counter-rotation 2.5s infinite linear;
  -moz-animation: counter-rotation 2.5s infinite linear;
  -o-animation: counter-rotation 2.5s infinite linear;
  animation: counter-rotation 2.5s infinite linear;
  -webkit-transform-origin: 100.136px 225.345px;
  -ms-transform-origin: 100.136px 225.345px;
  transform-origin: 100.136px 225.345px; }

.small-shadow {
  -webkit-animation: counter-rotation 2.5s infinite linear;
  -moz-animation: counter-rotation 2.5s infinite linear;
  -o-animation: counter-rotation 2.5s infinite linear;
  animation: counter-rotation 2.5s infinite linear;
  -webkit-transform-origin: 110.136px 235.345px;
  -ms-transform-origin: 110.136px 235.345px;
  transform-origin: 110.136px 235.345px; }

.medium {
  -webkit-animation: rotation 3.75s infinite linear;
  -moz-animation: rotation 3.75s infinite linear;
  -o-animation: rotation 3.75s infinite linear;
  animation: rotation 3.75s infinite linear;
  -webkit-transform-origin: 254.675px 379.447px;
  -ms-transform-origin: 254.675px 379.447px;
  transform-origin: 254.675px 379.447px; }

.medium-shadow {
  -webkit-animation: rotation 3.75s infinite linear;
  -moz-animation: rotation 3.75s infinite linear;
  -o-animation: rotation 3.75s infinite linear;
  animation: rotation 3.75s infinite linear;
  -webkit-transform-origin: 264.675px 389.447px;
  -ms-transform-origin: 264.675px 389.447px;
  transform-origin: 264.675px 389.447px; }

.large {
  -webkit-animation: counter-rotation 5s infinite linear;
  -moz-animation: counter-rotation 5s infinite linear;
  -o-animation: counter-rotation 5s infinite linear;
  animation: counter-rotation 5s infinite linear;
  -webkit-transform-origin: 461.37px 173.694px;
  -ms-transform-origin: 461.37px 173.694px;
  transform-origin: 461.37px 173.694px; }

.large-shadow {  
  -webkit-animation: counter-rotation 5s infinite linear;
  -moz-animation: counter-rotation 5s infinite linear;
  -o-animation: counter-rotation 5s infinite linear;
  animation: counter-rotation 5s infinite linear;
  -webkit-transform-origin: 471.37px 183.694px;
  -ms-transform-origin: 471.37px 183.694px;
  transform-origin: 471.37px 183.694px; }

@-webkit-keyframes rotation {
  from {-webkit-transform: rotate(0deg);}
  to   {-webkit-transform: rotate(359deg);}
}
@-moz-keyframes rotation {
  from {-moz-transform: rotate(0deg);}
  to   {-moz-transform: rotate(359deg);}
}
@-o-keyframes rotation {
  from {-o-transform: rotate(0deg);}
  to   {-o-transform: rotate(359deg);}
}
@keyframes rotation {
  from {transform: rotate(0deg);}
  to   {transform: rotate(359deg);}
}

@-webkit-keyframes counter-rotation {
  from {-webkit-transform: rotate(359deg);}
  to   {-webkit-transform: rotate(0deg);}
}
@-moz-keyframes counter-rotation {
  from {-moz-transform: rotate(359deg);}
  to   {-moz-transform: rotate(0deg);}
}
@-o-keyframes counter-rotation {
  from {-o-transform: rotate(359deg);}
  to   {-o-transform: rotate(0deg);}
}
@keyframes counter-rotation {
  from {transform: rotate(359deg);}
  to   {transform: rotate(0deg);}
}

@media only screen and (max-width: 767px) {
  .sm-hide{
    display: none;
  }
  .text-size-10-vh{
    font-size: 6vh;
  }
}