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;

  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

#text1 {
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: bold;
  opacity: 0;
  z-index: 1;
}

#text2 {
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 300;
  opacity: 0;
  z-index: 1;
}

#url {
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 300;
  z-index: 1;
  opacity: 0.7;
}

#product {
  opacity: 0;
  z-index: 0;
}

#button {
  border-radius: 50%;
  box-shadow: 1px 2px 3px 0px rgba(0,0,0,.4);
  text-shadow:1px 1px 0 rgba(255,255,255,0.1);
  display: block;
  z-index: 1;
  opacity: 0;
}

#color-slot1 {
  position: absolute;
}

#color-slot3,
#color-slot2 {
  position: absolute;
  z-index: 1;
}

[data-variation='towerA'] #text1,
[data-variation='towerA'] #text2,
[data-variation='squareC'] #text1,
[data-variation='squareC'] #text2 {
  text-align: center;
}

[data-variation='squareD'] #product {
  z-index: 2;
}

/* Default animations */
[data-variation]:not([data-variation*='small']) #text1 {
  opacity: 1;
}

[data-variation]:not([data-variation*='small']) #text2 {
  opacity: 1;
}

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

[data-variation]:not([data-variation*='small']) #product {
  -webkit-animation: fadein_keyframes .9s both;
  animation: fadein_keyframes .9s both;
}

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

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

/* Small size animations */
#adContent[data-variation*='small'] #button,
#adContent[data-variation*='small'] #text1,
#adContent[data-variation*='small'] #text2,
#adContent[data-variation*='small'] #product {
  opacity: 1;
}

/* Small banner animations */
[data-variation='smallBanner'] #text1 {
  -webkit-animation: frames1 9s ease-in-out 2 both;
  animation: frames1 9s ease-in-out 2 both;
}

[data-variation='smallBanner'] #text2 {
  -webkit-animation: frames2 9s ease-in-out 2 both;
  animation: frames2 9s ease-in-out 2 both;
}

[data-variation='smallBanner'] #url {
  -webkit-animation: frames3 9s ease-in-out 2 both;
  animation: frames3 9s ease-in-out 2 both;
}

@-webkit-keyframes
frames1 {
   0%, 30% {opacity: 1; -webkit-transform: translateY(0);}
  35%, 95% {opacity: 0; -webkit-transform: translateY(-200%);}
      100% {opacity: 1; -webkit-transform: translateY(0);}
}

@keyframes
frames1 {
   0%, 30% {opacity: 1; transform: translateY(0);}
  35%, 95% {opacity: 0; transform: translateY(-200%);}
      100% {opacity: 1; transform: translateY(0);}
}

@-webkit-keyframes
frames2 {
   0%, 30% {opacity: 0; -webkit-transform: translateY(200%);}
  35%, 65% {opacity: 1; -webkit-transform: translateY(0);}
  70%, 100% {opacity: 0; -webkit-transform: translateY(-200%);}
}

@keyframes
frames2 {
   0%, 30% {opacity: 0; transform: translateY(200%);}
  35%, 65% {opacity: 1; transform: translateY(0);}
  70%, 100% {opacity: 0; transform: translateY(-200%);}
}

@-webkit-keyframes
frames3 {
   0%, 65% {opacity: 0; -webkit-transform: translateY(200%);}
  70%, 95% {opacity: 1; -webkit-transform: translateY(0);}
      100% {opacity: 0; -webkit-transform: translateY(200%);}
}

@keyframes
frames3 {
   0%, 65% {opacity: 0; transform: translateY(200%);}
  70%, 95% {opacity: 1; transform: translateY(0);}
      100% {opacity: 0; transform: translateY(200%);}
}
