
:host {
  display: block;
  width: 572px;
  height: 325px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

:host * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
#phone {
  width: 580px;
  height: 333px;
  background-image: url("assets/phone.png");
  background-position: -10px -30px;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    margin-left: -40px; /* Hacky; make phone seem more centered */
}
#phone .offshoot {
    transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#phone:hover {} #phone:hover .offshoot :not(:hover) {
    opacity: 0.5 !important;
}
.screen {
    display: block;
    position: absolute;
    width: 460px;
    height: 240px;
    position: absolute;
    transition: all 0.3s ease-in-out;
}

#screen-app {
    /*
   * Initial
   */
  left: 46px;
  top: -24px;
  width: 527px;
  height: 280px;
  /* hacky way to match approx size to phone scale(0.94) */

    background-size: cover;
    /* final translate(0px, -150px) */

opacity: 1;
    background-image: url("assets/app.png");
    transition: all 0.3s ease-in-out;
}
#screen-ssl {
  background: url(assets/ssl-layer.png) no-repeat center center;
  left: 46px;
  top: -24px;
  width: 527px;
  height: 280px;
  background-size: cover;
  -webkit-transform: scale(0.94);
  transform: scale(0.94);

}

#screen-truste {
  background: url(assets/truste-layer.png) no-repeat center center;
  left: 46px;
  top: -24px;
  width: 527px;
  height: 280px;
  background-size: cover;
  -webkit-transform: scale(0.94);
  transform: scale(0.94);

}
#screen-sipc {
  background: url(assets/sipc-layer.png) no-repeat center center;
  left: 46px;
  top: -24px;
  width: 527px;
  height: 280px;
  background-size: cover;
  -webkit-transform: scale(0.94);
  transform: scale(0.94);

}
#screen-mcafee {
  background: url(assets/mcaffee-layer.png) no-repeat center center;
  left: 46px;
  top: -24px;
  width: 527px;
  height: 280px;
  background-size: cover;
  -webkit-transform: scale(0.94);
  transform: scale(0.94);

}

.logo {
    display: block;
    cursor: pointer;
    position: relative;
    opacity: 0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
   -moz-backface-visibility: hidden;
}
.logo .tooltip {
    position: absolute;
    padding: 13px 17px;
    font-size: 12px;
    color: #505050;
    background: #fff;
    border-radius: 4px;
    text-align: center;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.2);
    width: 300px;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s linear 0.3s;
    -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s linear 0.3s;
    -moz-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s linear 0.3s;
}
.logo .tooltip:before {
    content: "";
    position: absolute;
    width: 25px;
    height: 15px;
    z-index: -1 !important;
    background: url(assets/tooltip-arrow.png) no-repeat center center;
    background-size: 25px 15px;
}
.logo:hover .tooltip {
    visibility: visible;
    transition-delay: 0s;
    -webkit-transition-delay: 0s;
    -moz-transition-delay: 0s;
    opacity: 1;
    -webkit-transform: scale(1) translate(0px, 0px) !important;
    transform: scale(1) translate(0px, 0px) !important;
}
.line {
    opacity: 0;
}
.dot {
    position: absolute;
    top: 0px;
    left: 1px;
    width: 5px;
    height: 3px;
    background: #fff;
    border-radius: 100%;
    opacity: 0;
    box-shadow: 0px 7px 8px rgba(0, 0, 0, 0.9);
}
.dot:after {
    content: "";
    display: block;
    position: absolute;
    top: -3px;
    left: -4px;
    width: 11px;
    height: 8px;
    border-radius: 100%;
    border: 1px solid #fff;
    opacity: 0;
    transform: scale(0.5);
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);

    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
}
.dot.growIn:after {

    opacity: 1;
     transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
}
/*
 * Position Offshoots
 */

#mcafee-offshoot {
    position: absolute;
    display: block;
    -webkit-transform: translate(370px, 140px);
    transform: translate(370px, 140px);
}
#mcafee-offshoot .line {
    width: 200px;
    height: 80px;
}
#mcafee-offshoot .dot {
    top: -4px;
    left: -5px;
}
#mcafee-offshoot .logo {
    width: 109px;
    height: 34px;
    background: url("assets/McAfee.svg");
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transform: translate(40px, 20px);
    transform: translate(40px, 20px);
    opacity: 0;
}
#mcafee-offshoot .logo .tooltip {
    top: -80px;
    left: -90px;
    -webkit-transform: scale(0.75) translateY(20px);
    transform: scale(0.75) translateY(20px);
}
#mcafee-offshoot .logo .tooltip:before {
    bottom: -15px;
    left: calc(50% - 13px);
}
#sipc-offshoot {
    position: absolute;
    display: block;
    -webkit-transform: translate(220px, 190px);
    transform: translate(220px, 190px);
}
#sipc-offshoot .line {
    width: 215px;
    height: 90px;
}
#sipc-offshoot .dot {
    top: -4px;
    left: -5px;
}
#sipc-offshoot .logo {
    width: 63px;
    height: 30px;
    background: url("assets/sipc.svg");
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transform: translate(30px, 35px);
    transform: translate(30px, 35px);
    opacity: 0;
}
#sipc-offshoot .logo .tooltip {
    top: -80px;
    left: -115px;
    -webkit-transform: scale(0.75) translateY(20px);
    transform: scale(0.75) translateY(20px);
}
#sipc-offshoot .logo .tooltip:before {
    bottom: -15px;
    left: calc(50% - 13px);
}
#truste-offshoot {
    position: absolute;
    display: block;
    -webkit-transform: translate(-20px, 35px);
    transform: translate(-20px, 35px);
}
#truste-offshoot .line {
    width: 146px;
    height: 86px;
}
#truste-offshoot .dot {
    top: 86px;
    left: 149px;
}
#truste-offshoot .logo {
    width: 44px;
    height: 45px;
    background: url("assets/truste.svg");
    position: absolute;
    top: -90px;
    left: -51px;
    -webkit-transform: translate(30px, 35px);
    transform: translate(30px, 35px);
    opacity: 0;
}
#truste-offshoot .logo .tooltip {
    top: -80px;
    left: -130px;
    -webkit-transform: scale(0.75) translateY(20px);
    transform: scale(0.75) translateY(20px);
}
#truste-offshoot .logo .tooltip:before {
    bottom: -15px;
    left: calc(50% - 13px);
}
#ssl-offshoot {
    position: absolute;
    display: block;
    -webkit-transform: translate(485px, 0px);
    transform: translate(485px, 0px);
}
#ssl-offshoot .line {
    width: 160px;
    height: 58px;
}
#ssl-offshoot .dot {
    top: -4px;
    left: -5px;
}
#ssl-offshoot .logo {
    width: 87px;
    height: 31px;
    background: url("assets/ssl.svg");
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transform: translate(40px, -35px);
    transform: translate(40px, -35px);
    opacity: 0;
}
#ssl-offshoot .logo .tooltip {
    left: -320px;
    top: -15px;
    -webkit-transform: scale(0.75) translateX(60px);
    transform: scale(0.75) translateX(60px);
}
#ssl-offshoot .logo .tooltip:before {
    bottom: calc(50% - 7px);
    right: -19px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
#touchid-offshoot {
    position: absolute;
    display: block;
    -webkit-transform: translate(-30px, 135px);
    transform: translate(-30px, 135px);
}
#touchid-offshoot .line {
    width: 146px;
    height: 86px;
}
#touchid-offshoot .dot {
    top: 85px;
    left: 147px;
}
#touchid-offshoot .logo {
    width: 42px;
    height: 42px;
    background: url("assets/touchID.svg");
    position: absolute;
    top: -90px;
    left: -51px;
    -webkit-transform: translate(30px, 35px);
    transform: translate(30px, 35px);
    opacity: 0;
}
#touchid-offshoot .logo .tooltip {
    right: -320px;
    top: -5px;
    -webkit-transform: scale(0.75) translateX(-60px);
    transform: scale(0.75) translateX(-60px);
}
#touchid-offshoot .logo .tooltip:before {
    bottom: calc(50% - 7px);
    left: -19px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
#app-offshoot {
    position: absolute;
    display: block;
    -webkit-transform: translate(140px, -100px);
    transform: translate(140px, -100px);
}
#app-offshoot .line {
    width: 101px;
    height: 57px;
}
#app-offshoot .dot {
    top: 57px;
    left: 103px;
}
#app-offshoot .logo {
    width: 64px;
    height: 39px;
    background: url("assets/cloud@2x.png") no-repeat top center;
    background-size: 64px 39px;
    position: absolute;
    top: -90px;
    left: -51px;
    -webkit-transform: translate(20px, 40px);
    transform: translate(20px, 40px);
    opacity: 0;
}
#app-offshoot .logo .tooltip {
    left: -320px;
    top: -15px;
    -webkit-transform: scale(0.75) translateX(60px);
    transform: scale(0.75) translateX(60px);
}
#app-offshoot .logo .tooltip:before {
    bottom: calc(50% - 7px);
    right: -19px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
.growIn {
    -webkit-animation: growIn 0.42 ease-out;
    animation: growIn 0.42 ease-out;
    opacity: 1 !important;
}
.fadeIn {
    opacity: 1 !important;
     transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
}
.hide {
    transition: opacity 0.3s ease-in-out;
    -webkit-animation: fadeOut 0.3s ease-in-out;
    animation: fadeOut 0.3s ease-in-out;
}
@media (max-width: 480px) {
    #phone .offshoot {
        display: none;
   }
}
@media (max-width: 1060px) {
    #phone .offshoot {
        display: none;
   }
}
