html, body {
  border: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#adContent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
}

#headline {
  text-align: center;
  font-family:  Arial, sans-serif;
  font-weight: bold;
  opacity: 0;
}

#description {
  font-family:  Arial, sans-serif;
  opacity: 0;
}

#logo-image {
  opacity: 0;
}

#product-image {
  opacity: 0;
}

#button {
  border-radius:4px;
  box-shadow: 0px -2px 0px rgba(0,0,0,0.7) inset;
  text-shadow:1px 1px 0 rgba(255,255,255,0.1);
  padding-bottom:2px;
  text-align: center;
  font-family:  Arial, sans-serif;
  display: block;
  opacity: 0;
}

#headline-background {
  position: absolute;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 50%);
  box-shadow: 0 2px 2px -2px rgba(0, 0, 0, .52);
  border-bottom:1px solid rgba(0,0,0,0.2);
}

[data-variation*='bannerSmall'] #headline {
  text-align: left;
}

[data-variation*='bannerSmall'] #description {
  text-align: left;
}

/* Default animations */
[data-variation]:not([data-variation*='small']) #headline,
[data-variation]:not([data-variation*='small']) #headline-background,
[data-variation]:not([data-variation*='small']) #product-image,
[data-variation]:not([data-variation*='small']) #description {
  -webkit-animation: fly_down_keyframes .6s both;
  animation: fly_down_keyframes .6s both;
}

[data-variation]:not([data-variation*='small']) #headline {
  -webkit-animation-delay: .1s;
  animation-delay: .1s;
}

[data-variation]:not([data-variation*='small']) #product-image {
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
}

[data-variation]:not([data-variation*='small']) #description {
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}

[data-variation]:not([data-variation*='small']) #logo-image {
  -webkit-animation: fly_left_keyframes .6s both .4s;
  animation: fly_left_keyframes .6s both .4s;
}

[data-variation]:not([data-variation*='small']) #button {
  -webkit-animation: fade_in_keyframes .6s both .5s;
  animation: fade_in_keyframes .6s both .5s;
}

#adContent[data-variation]:not([data-variation*='small']),
#adContent[data-variation]:not([data-variation*='small']) > * {
  -webkit-animation-timing-function: cubic-bezier(.4, 0, .2, 1);
  animation-timing-function: cubic-bezier(.4, 0, .2, 1);
}

@-webkit-keyframes
fade_in_keyframes {
    0% {opacity: 0;}
  100% {opacity: 1;}
}

@keyframes
fade_in_keyframes {
    0% {opacity: 0;}
  100% {opacity: 1;}
}

@-webkit-keyframes
fly_left_keyframes {
    0% {opacity: 0; -webkit-transform: translateX(55px);}
  100% {opacity: 1;}
}

@keyframes
fly_left_keyframes {
    0% {opacity: 0; transform: translateX(55px);}
  100% {opacity: 1;}
}

@-webkit-keyframes
fly_down_keyframes {
    0% {-webkit-transform: translateY(-50px);}
  100% {opacity: 1;}
}

@keyframes
fly_down_keyframes {
    0% {transform: translateY(-50px);}
  100% {opacity: 1;}
}

/* Small size animations */
[data-variation*='small'] #headline {
  -webkit-animation: small_l1_keyframes 3.75s ease-in-out 4 alternate both;
  animation: small_l1_keyframes 3.75s ease-in-out 4 alternate forwards;
}

[data-variation*='small'] #description {
  -webkit-animation: small_l2_keyframes 3.75s ease-in-out 4 alternate both;
  animation: small_l2_keyframes 3.75s ease-in-out 4 alternate both;
}

#adContent[data-variation*='small'],
#adContent[data-variation*='small'] > * {
  opacity: 1;
}

@-webkit-keyframes
small_l1_keyframes {
   0%, 44% {opacity: 1; -webkit-transform: translateY(0);}
  56%,100% {opacity: 0; -webkit-transform: translateY(-30px);}
}

@keyframes
small_l1_keyframes {
   0%, 44% {opacity: 1; transform: translateY(0);}
  56%,100% {opacity: 0; transform: translateY(-30px);}
}

@-webkit-keyframes
small_l2_keyframes {
   0%, 44% {opacity: 0; -webkit-transform: translateY(30px);}
  56%,100% {opacity: 1; -webkit-transform: translateY(0);}
}

@keyframes
small_l2_keyframes {
   0%, 44% {opacity: 0; transform: translateY(30px);}
  56%,100% {opacity: 1; transform: translateY(0);}
}
