/** defaults **/

* {
  margin: 0;
  padding: 0;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {}

#clickTag {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10;
  cursor: pointer;
}

.banner {
  position: relative;
  width: 300px;
  height: 250px;
  background-color: #da1a33;
  cursor: pointer;
  border: 1px solid #666;
  overflow: hidden;
  -moz-user-select: none;
  -ms-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

.banner-frame {
  position: absolute;
  width: 100%;
  height: 100%;
}

#frame1 {
  background-color: #da1a33;
  opacity:0;
}

#end {
  opacity: 0;
  z-index: 8;
  background: #FFF;
}

.end-logo {
  width: 41px;
  height: 41px;
  background-image: url('target_logo.svg');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top:10px;
  right:10px;
  z-index: 10;
  opacity: 0;
}

.end-cta {
  display: none;
  opacity: 0;
  background-color: #da1a33;
  -webkit-transition: .2s all ease-out;
  -moz-transition: .2s all ease-out;
  -o-transition: .2s all ease-out;
  transition: .2s all ease-out;
  color: #FFF;
  height: 30px;
  position: absolute;
  top: 170px;
  left:147px;
  margin: auto;
  z-index: 12;
  padding: 0px 22px;
  white-space: nowrap;
  overflow: hidden;
}

.end-cta img {
  position: relative;
  top: 50%;
  width: 100%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  pointer-events: none;
  display:block;
}

.banner:hover .end-cta {
  background-color: #3b8536;
  color: #FFF;
}

.end-copy {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.end-product {
  position: relative;
  top: 50px;
  left: 25px;
  text-align: center;
  background-size: 100%;
  background-position: center center;
  background-repeat: no-repeat;
}

/** ship **/

.ship-target-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 146px;
  height: 146px;
  background-image: url('target_logo_white.svg');
  background-size: 100%;
  background-repeat: no-repeat;
  z-index: 0;
  display:none;
}

.ship-container {
  position: absolute;
  top: 36px;
  right: 0px;
  z-index:4;
}

.ship {
  position: absolute;
  width: 430px;
  height: 201px;
  z-index: 4;
  background-image: url('ship.png');
  -webkit-transition: 1s all ease-out;
  -moz-transition: 1s all ease-out;
  -o-transition: 1s all ease-out;
  transition: 1s all ease-out;
}

.ship.rock {
  -ms-transform: rotate(6deg);
  -moz-transform: rotate(6deg);
  -webkit-transform: rotate(6deg);
  -o-transform: rotate(6deg);
  transform: rotate(6deg);
}

.front-waves {
  position: absolute;
  bottom: 0px;
  width: 300px;
  height: 76px;
  z-index: 5;
  background: url('front_waves.png') repeat-x;
}

/** sled **/

.sled-target-logo {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 21px;
  width: 131px;
  height: 131px;
  background-image: url('target_logo_white.svg');
  background-size: 100%;
  background-repeat: no-repeat;
  z-index: 0;
}

.starting-snow {
  position: absolute;
  z-index: 0;
  bottom: 0;
  right: 0;
  width: 284px;
  height: 178px;
  background-image: url('starting_snow.png');
}

.trees {
  position: absolute;
  bottom: 0;
  width: 300px;
  height: 146px;
  left: 0;
  z-index: 5;
  background-image: url('trees.png');
}

.sled-dog {
  position: absolute;
  z-index: 4;
  top: -80px;
  right: -195px;
  width: 148px;
  height: 130px;
  background-image: url('sled_dog.png');
}

.created-snow {
  position: absolute;
  z-index: 6;
}

.top-snow {
  position: absolute;
  width: 600px;
  height: 64px;
  right: -300px;
  bottom: -90px;
  z-index: 5;
  background-image: url('top_snow.png');
  -ms-transform: rotate(-25deg);
  -webkit-transform: rotate(-25deg);
  transform: rotate(-25deg);
}

.top-snow:after {
  position: absolute;
  width: 600px;
  height: 600px;
  bottom: -599px;
  content: "";
  background: #FFF;
}

.sled-snow {
  background-color: #FFF;
  border-radius: 50%;
  position: absolute;
}

/** snow **/

.snow-target-logo {
  position: absolute;
  left: 50%;
  top: 18px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 131px;
  height: 131px;
  background-image: url('target_logo_white.svg');
  background-size: 100%;
  background-repeat: no-repeat;
  z-index: 0;
}

.snow {
  position: absolute;
  top: 102px;
  width: 300px;
  height: 148px;
  background-image: url('snow.png');
}

.snow:after {
  position: absolute;
  width: 300px;
  height: 600px;
  background: #FFF;
  content: "";
  bottom: -598px;
}

.snowball {
  background-color: #FFF;
  border-radius: 50%;
  position: absolute;
}

.snow-dog {
  position: absolute;
  width: 121px;
  height: 139px;
  background-image: url('snow_dog.png');
  top: 70px;
  left: 103px;
  display: none;
}

.snow-dog .snowball {
  top: 50px;
}

.dog-pile {
  width: 99px;
  height: 37px;
  position: absolute;
  background-image: url('dog_pile.png');
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 172px;
  z-index: 3;
}

.dog-pile:after {
  position: absolute;
  content: "";
  background: #FFF;
  width: 200px;
  height: 200px;
  top: 37px;
}

.present {
  position: absolute;
  width: 74px;
  height: 71px;
  background-image: url('present.png');
  top: 140px;
  display: none;
}

.left-pile {
  position: absolute;
  top: 192px;
  left: 29px;
  width: 80px;
  height: 30px;
  background-image: url('left_pile.png');
  z-index: 3;
}

.left-pile:after {
  width: 100px;
  height: 200px;
  position: absolute;
  content: "";
  top: 28px;
  background: #FFF;
}

.right-pile {
  position: absolute;
  width: 90px;
  height: 27px;
  background-image: url('right_pile.png');
  top: 191px;
  right: 34px;
  z-index: 3;
}

.right-pile:after {
  width: 200px;
  height: 200px;
  position: absolute;
  content: "";
  top: 25px;
  background: #FFF;
}

.present.right {
  -moz-transform: scaleX(-1);
  -o-transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
  filter: FlipH;
  -ms-filter: "FlipH";
  right: 30px;
}

.present.left {
  left: 29px;
}