* { 
  box-sizing: border-box; 
}

body { 
  margin: 0; 
  padding: 0; 
  background-color: #00edef; 
  line-height: 1;
}

.main-logo { 
  width: 100%;  
  max-width: 800px;
  height: 748px;
  background-size: 100%;
  background-repeat: no-repeat;
  margin: 0 auto; 
  padding: 0; 
  background-image: url('/img/logo.gif');
}

.footer {
  position: relative; 
  top: 0px; 
  height: 50px; 
  width: 100%;
  padding: 0; 
  z-index: 99; 
  margin: 100px 0 0;
}

.copyright { 
  position: relative; 
  top: 0px; 
  padding: 0;
  width: 400px; 
  height: 35px;  
  line-height: 35px; 
  text-align: center; 
  margin: 0 auto 0;
  font-family: arial; 
  font-size: 10px; 
  font-weight: 400; 
  color: white; 
}

.social-menu {
  display: flex;
  justify-content: center;
}

.social-menu a img { 
  text-decoration: none; 
  width: 25px;
  height: 25px;
}

.social-menu a:hover img { 
  opacity: 0.7; 
  cursor: pointer;
}

.wrapper {
  position: relative;
  top: 10px;
  width: 100%;
  max-width: 900px;
  height: 90vh;
  margin: 0 auto;
}

.outer-container {
  position: absolute;
  top: 0px; 
  width: 100%;
  max-width: 900px;
  overflow: hidden;
  height: 100%;
  pointer-events: none;
}

.outer-container.interact {
  pointer-events: auto;
}

.cloud {
  position: absolute;
  top: 20px;
  right: 20px;
	width: 45%; 
  max-width: 300px;
  height: auto;
	animation: float 6s ease-in-out infinite;
	z-index: 9;
  cursor: grab;
}

.cloud img { 
  width: 100%; 
  max-width: 300px; 
  height: auto; 
}

.stevie-position,
.sunny-position {
  position: absolute;
  top: 0px;
  right: 0px; 
  height: auto;
} 

.stevie-position {
  width: 90%;
  padding-top: 50%;
}

.sunny-position {
  width: 95%;
  padding-top: 56%;
}

.stevie {
  position: absolute;
  bottom:0px; 
  left:0px; 
  width: 20%;
  height: auto;
  z-index: 9;
  cursor: grab;
}

.sunny {
  position : absolute;
  bottom: 0px; 
  left: 0px;  
  width: 11%;
  height: auto;
  z-index: 9;
  cursor: grab;
}

.sunny img,
.stevie img{
  width: 100%; 
  max-width: 300px; 
  height: auto;
}

.bird {
  position: absolute;
  top: 15%; 
  right: 0px;
	width: 5%;
  height: 130px;
  background-image: url('/img/bird.gif');
  background-size: 100%;
  background-repeat: no-repeat;
  max-width: 150px;
}

.bird-wrapper {
  animation: flying-up 30s -15s linear infinite;
  width: 100%; 
  height: 100%; 
  z-index: 9999;
}

.container {
  width: 400%; 
  height: 100%;  
  max-height: 600px;
  display: flex;
}

.container.narrower {
  width: 200%; 
}

.plain-mtn {
  background-image: url('/img/mountain.png');
}

.checkered-mtn {
  background-image: url('/img/checkered_mountain.png');
}

.colourful-mtn-1 {
  background-image: url('/img/colourful_mountain_1.png');
}

.colourful-mtn-2 {
  background-image: url('/img/colourful_mountain_2.png');
}

.flowers {
  background-image: url('/img/flowers.gif');
}

.bg {
  height: 630px;
  width: 900px;
  max-width: 100%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.loop-90-a {
  animation: loop 90s -45s linear infinite;
}

.loop-90-b {
  animation: loop-2 90s -45s linear infinite;
}

.loop-50-a {
  animation: loop 50s -25s linear infinite;
}

.loop-50-b {
  animation: loop-2 50s -25s linear infinite;
}

.loop-30-a {
  animation: loop 30s -15s linear infinite;
}

.loop-30-b {
  animation: loop-2 30s -15s linear infinite;
}

@keyframes loop {
  from { transform: translateX(100%); }
  to { transform: translateX(-100%); }
}

@keyframes loop-2 {
  from { transform: translateX(0); }
  to { transform: translateX(-200%); }
}
  
@keyframes flying-up {
  from { transform: translateX(0) translateY(70%); }
  to { transform: translateX(-100%) translateY(-20%); }
}

@keyframes float {
	0% { transform: translatey(0px); }
	50% { transform: translatey(-20px); } 
  100% { transform: translatey(0px); }
}