@-webkit-keyframes slide-in-blurred-left {
    0% {
        -webkit-transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0) scaleY(1) scaleX(1);
        transform: translateX(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}
@keyframes slide-in-blurred-left {
    0% {
        -webkit-transform: translateX(-1000px) scaleX(2.5) scaleY(0.2);
        transform: translateX(-1000px) scaleX(2.5) scaleY(0.2);
        -webkit-transform-origin: 100% 50%;
        transform-origin: 100% 50%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0) scaleY(1) scaleX(1);
        transform: translateX(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}
@-webkit-keyframes slide-in-blurred-right {
    0% {
        -webkit-transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        -webkit-transform-origin: 0% 50%;
        transform-origin: 0% 50%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0) scaleY(1) scaleX(1);
        transform: translateX(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}
@keyframes slide-in-blurred-right {
    0% {
        -webkit-transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        transform: translateX(1000px) scaleX(2.5) scaleY(0.2);
        -webkit-transform-origin: 0% 50%;
        transform-origin: 0% 50%;
        -webkit-filter: blur(40px);
        filter: blur(40px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0) scaleY(1) scaleX(1);
        transform: translateX(0) scaleY(1) scaleX(1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-filter: blur(0);
        filter: blur(0);
        opacity: 1;
    }
}
@-webkit-keyframes slide-in-elliptic-bottom-bck {
    0% {
        -webkit-transform: translateY(600px) rotateX(-30deg) scale(6.5);
        transform: translateY(600px) rotateX(-30deg) scale(6.5);
        -webkit-transform-origin: 50% -100%;
        transform-origin: 50% -100%;
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0) rotateX(0) scale(1);
        transform: translateY(0) rotateX(0) scale(1);
        -webkit-transform-origin: 50% 500px;
        transform-origin: 50% 500px;
        opacity: 1;
        }
}
@keyframes slide-in-elliptic-bottom-bck {
    0% {
        -webkit-transform: translateY(600px) rotateX(-30deg) scale(6.5);
        transform: translateY(600px) rotateX(-30deg) scale(6.5);
        -webkit-transform-origin: 50% -100%;
        transform-origin: 50% -100%;
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0) rotateX(0) scale(1);
        transform: translateY(0) rotateX(0) scale(1);
        -webkit-transform-origin: 50% 500px;
        transform-origin: 50% 500px;
        opacity: 1;
    }
}

@-webkit-keyframes text-focus-and-go {
    0% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }
    10% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
    90% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
    100% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }
}
@keyframes text-focus-and-go {
    0% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }
    10% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
    90% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
    100% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }
}
@-webkit-keyframes text-focus-in {
    0% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }
    10% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}
@keyframes text-focus-in {
    0% {
        -webkit-filter: blur(12px);
        filter: blur(12px);
        opacity: 0;
    }
    10% {
        -webkit-filter: blur(0px);
        filter: blur(0px);
        opacity: 1;
    }
}

@-webkit-keyframes bounce-in-bck {
    0% {
        transform: scale(2.5);
        animation-timing-function: ease-in;
        opacity: 0;
    }
    38% {
        transform: scale(1);
        animation-timing-function: ease-out;
        opacity: 1;
    }
    55% {
        transform: scale(1.5);
        animation-timing-function: ease-in;
    }
    89% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
    95% {
        transform: scale(1.04);
        animation-timing-function: ease-in;
    }
    100% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
}
@keyframes bounce-in-bck {
    0% {
        transform: scale(2.5);
        animation-timing-function: ease-in;
        opacity: 0;
    }
    38% {
        transform: scale(1);
        animation-timing-function: ease-out;
        opacity: 1;
    }
    55% {
        transform: scale(1.5);
        animation-timing-function: ease-in;
    }
    89% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
    95% {
        transform: scale(1.04);
        animation-timing-function: ease-in;
    }
    100% {
        transform: scale(1);
        animation-timing-function: ease-out;
    }
}

@keyframes show-in {
  0% {
    opacity: 0;
    overflow: hidden;
    height: 0;
  }
  100% {
    opacity: 1;
    overflow: visible;
    height: auto;
  }
}

@keyframes show-out {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    height: initial;
  }
  100% {
    opacity: 0;
    overflow: hidden;
    height: 0;
  }
}


@media screen and (min-width:768px) {
  #popup-modem-indoor .mobile {
    display: none
  }
}

@media screen and (min-width:1024px) {
  #popup-modem-indoor .tablet {
    display: none
  }
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .tablet {
    display: none
  }
}

@media screen and (max-width:1023px) {
  #popup-modem-indoor .desktop {
    display: none
  }
}

@media screen and (min-width:768px) {
  #popup-modem-indoor {
    min-width: 0
  }
}

@media screen and (min-width:768px) {
  #popup-modem-indoor {
    padding: 50px 25px
  }
}

#popup-modem-indoor {
  width: 100%;
  padding: 0;
  display: block
}

@media screen and (max-width:767px) {
  #popup-modem-indoor {
    width: 100%;
  }
}

#popup-modem-indoor .offerta-modem {
  overflow: hidden;
  height: 100%;
}

#popup-modem-indoor header {
  color: #004691;
  line-height: 1;
  text-align: center;
  display: block;
  height: auto;
  padding: 38px 0;
  background: #fff;
  overflow: hidden;
  width: 100%;
  margin-top: -400px;
  opacity: 0
}

@media screen and (max-width:767px) {
  #popup-modem-indoor header {
    padding-top: 25px;
  }
}

#popup-modem-indoor header h1 {
  font-size: 28px;
  font-weight: 700;
  margin: 0
}

@media screen and (max-width:767px) {
  #popup-modem-indoor header h1 {
    font-size: 22px
  }
}

#popup-modem-indoor header h2 {
  font-size: 26px;
  font-weight: 200;
  margin: 0
}

@media screen and (max-width:767px) {
  #popup-modem-indoor header h2 {
    font-size: 20px;
    line-height: 2em
  }
}

#popup-modem-indoor footer {
  z-index: 5;
  position: absolute;
  text-align: center;
  display: block;
  width: 100%;
  height: 40px;
  bottom: 15px;
  opacity: 0
}

#popup-modem-indoor footer p {
  color: #fff;
  line-height: 40px;
  margin: -15px 0;
}

#popup-modem-indoor footer a {
  color: #fff;
  font-size: 14px;
  text-transform: uppercase;
  border-bottom: solid thin;
  text-decoration: none;
  display: inline-block;
}

#popup-modem-indoor footer a:hover {
  text-decoration: none
}

#popup-modem-indoor .offerta-container {
  background-image: linear-gradient(-60deg, #6ad4ff, #003A79);
  padding: 15px 15px 40px 15px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 500px;
  transition: height .8s cubic-bezier(0, 0, .55, 1);
  transition-delay: 1.1s
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container {
    height: 550px
  }
}

#popup-modem-indoor .offerta-container #blocco-1 {
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
  width: 28%;
  padding-left: 15px;
  z-index: 2;
  text-align: left
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container #blocco-1 {
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    width: 50%;
    padding: 0 10px;
    height: 20vh;
    text-align: right
  }
}

#popup-modem-indoor .offerta-container #blocco-2 {
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
  width: 22%
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container #blocco-2 {
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    width: 50%;
    height: 20vh
  }
}

#popup-modem-indoor .offerta-container #blocco-2 img {
  margin: 17px 0 15px 0;
  height: 270px
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container #blocco-2 img {
    margin-left: 40px;
    height: auto
  }
}

#popup-modem-indoor .offerta-container #blocco-3 {
  -webkit-order: 3;
  -ms-flex-order: 3;
  order: 3;
  width: 22%
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container #blocco-3 {
    -webkit-order: 4;
    -ms-flex-order: 4;
    order: 4;
    width: 50%;
    height: 25vh
  }
}

#popup-modem-indoor .offerta-container #blocco-3 img {
  margin: 17px 0 15px 0;
  height: 270px
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container #blocco-3 img {
    margin: -30px 0 15px 33px;
    height: auto
  }
}

#popup-modem-indoor .offerta-container #blocco-4 {
  -webkit-order: 4;
  -ms-flex-order: 4;
  order: 4;
  width: 28%;
  padding-right: 15px;
  text-align: right
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container #blocco-4 {
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
    width: 50%;
    height: 25vh;
    padding-left: 20px;
    text-align: left
  }
}

#popup-modem-indoor .offerta-container .pop-txt {
  font-size: 18px;
  color: #fff
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container .pop-txt {
    font-size: 16px;
    font-weight: 100;
    line-height: 1.3
  }
}

#popup-modem-indoor .offerta-container .pop-txt-0 {
  margin: 20px 0 86px 0
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container .pop-txt-0 {
    margin: 20px 0 14px 0
  }
}

#popup-modem-indoor .offerta-container .pop-txt-1 {
  position: relative
}

@media screen and (min-width:768px) {
  #popup-modem-indoor .offerta-container .pop-txt-1::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    left: 240px;
    bottom: 0;
    border-radius: 8px;
    position: absolute;
    border: solid 1px #004691;
    z-index: 1
  }

  #popup-modem-indoor .offerta-container .pop-txt-1::after {
    content: '';
    position: absolute;
    height: 1px;
    border-right: 135px solid #004691;
    clear: both;
    padding: 0;
    margin: 0;
    left: 106px;
    bottom: 4px;
    top: auto;
    display: block;
    z-index: 1
  }
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container .pop-txt-1::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    right: 203px;
    top: 43px;
    border-radius: 8px;
    position: absolute;
    border: solid 1px #004691;
    z-index: 1
  }

  #popup-modem-indoor .offerta-container .pop-txt-1::after {
    content: '';
    position: absolute;
    height: 1px;
    border-right: 113px solid #004691;
    clear: both;
    padding: 0;
    margin: 0;
    right: 90px;
    bottom: 11px;
    display: block;
    z-index: 1
  }
}

#popup-modem-indoor .offerta-container .pop-txt-2 {
  margin: 30px 0 86px 0
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container .pop-txt-2 {
    margin: 30px 0 14px 0
  }
}

#popup-modem-indoor .offerta-container .pop-txt-3 {
  margin: 20px 0 85px 0
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container .pop-txt-3 {
    margin: 110px 0 0 0;
    position: absolute
  }
}

#popup-modem-indoor .offerta-container .pop-txt-4 {
  position: relative
}

@media screen and (min-width:768px) {
  #popup-modem-indoor .offerta-container .pop-txt-4 {
    margin-bottom: 16px
  }

  #popup-modem-indoor .offerta-container .pop-txt-4::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    right: 287px;
    bottom: -8px;
    border-radius: 8px;
    position: absolute;
    border: solid 1px #004691;
    z-index: 1
  }

  #popup-modem-indoor .offerta-container .pop-txt-4::after {
    content: '';
    position: absolute;
    height: 1px;
    border-right: 190px solid #004691;
    clear: both;
    padding: 0;
    margin: 0;
    right: 97px;
    bottom: -4px;
    display: block;
    z-index: 1
  }
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container .pop-txt-4 {
    margin: 75px 0 15px 0
  }

  #popup-modem-indoor .offerta-container .pop-txt-4::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    left: 195px;
    top: 31px;
    border-radius: 8px;
    position: absolute;
    border: solid 1px #004691;
    z-index: 1
  }

  #popup-modem-indoor .offerta-container .pop-txt-4::after {
    content: '';
    position: absolute;
    height: 1px;
    border-right: 95px solid #004691;
    clear: both;
    padding: 0;
    margin: 0;
    left: 100px;
    bottom: auto;
    top: 35px;
    display: block;
    z-index: 1
  }
}

#popup-modem-indoor .offerta-container .pop-txt-5 {
  position: relative
}

@media screen and (min-width:768px) {
  #popup-modem-indoor .offerta-container .pop-txt-5::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    right: 287px;
    bottom: 22px;
    border-radius: 8px;
    position: absolute;
    border: solid 1px #004691;
    z-index: 1
  }

  #popup-modem-indoor .offerta-container .pop-txt-5::after {
    content: '';
    position: absolute;
    height: 1px;
    border-right: 163px solid #004691;
    clear: both;
    padding: 0;
    margin: 0;
    right: 124px;
    bottom: 27px;
    display: block;
    z-index: 1
  }
}

@media screen and (max-width:767px) {
  #popup-modem-indoor .offerta-container .pop-txt-5::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    left: 195px;
    top: -3px;
    border-radius: 8px;
    position: absolute;
    border: solid 1px #004691;
    z-index: 1
  }

  #popup-modem-indoor .offerta-container .pop-txt-5::after {
    content: '';
    position: absolute;
    height: 1px;
    border-right: 85px solid #004691;
    clear: both;
    padding: 0;
    margin: 0;
    left: 110px;
    bottom: auto;
    top: 2px;
    display: block;
    z-index: 1
  }
}

#popup-modem-indoor section.action #blocco-2 img,
#popup-modem-indoor section.action #blocco-3 img {
  animation: slide-in-elliptic-bottom-bck .5s cubic-bezier(.25, .46, .45, .94) both;
  animation-delay: .6s
}

#popup-modem-indoor section.action .pop-txt-0 {
  animation: text-focus-in .5s cubic-bezier(.55, .085, .68, .53) both;
  animation-delay: 1.5s
}

#popup-modem-indoor section.action .pop-txt-1 {
  animation: slide-in-blurred-left .5s cubic-bezier(.23, 1, .32, 1) both;
  animation-delay: 2s
}

@media screen and (max-width:767px) {
  #popup-modem-indoor section.action .pop-txt-1 {
    animation: slide-in-blurred-right .5s ease-in-out both;
    animation-delay: 2s
  }
}

#popup-modem-indoor section.action .pop-txt-2 {
  animation: slide-in-blurred-left .5s cubic-bezier(.23, 1, .32, 1) both;
  animation-delay: 2s
}

@media screen and (max-width:767px) {
  #popup-modem-indoor section.action .pop-txt-2 {
    animation: slide-in-blurred-right .5s ease-in-out both;
    animation-delay: 2s
  }
}

#popup-modem-indoor section.action .pop-txt-3 {
  animation: text-focus-in .5s cubic-bezier(.55, .085, .68, .53) both;
  animation-delay: 2.5s
}

#popup-modem-indoor section.action .pop-txt-4 {
  animation: slide-in-blurred-right .5s ease-in-out both;
  animation-delay: 3s
}

@media screen and (max-width:767px) {
  #popup-modem-indoor section.action .pop-txt-4 {
    animation: slide-in-blurred-left .5s cubic-bezier(.23, 1, .32, 1) both;
    animation-delay: 3s
  }
}

#popup-modem-indoor section.action .pop-txt-5 {
  animation: slide-in-blurred-right .5s ease-in-out both;
  animation-delay: 3.5s
}

@media screen and (max-width:767px) {
  #popup-modem-indoor section.action .pop-txt-5 {
    animation: slide-in-blurred-left .5s cubic-bezier(.23, 1, .32, 1) both;
    animation-delay: 3.5s
  }
}

#popup-modem-indoor section.offerta-container.action {
  height: calc(100% - 120px);
}

#popup-modem-indoor header.action {
  opacity: 1;
  margin-top: 0
}

#popup-modem-indoor header.action h1 {
  animation: bounce-in-bck 1.3s both;
  animation-delay: 2.2s
}

#popup-modem-indoor header.action h2 {
  animation: text-focus-in 1.5s cubic-bezier(.55, .085, .68, .53) both;
  animation-delay: 2.7s
}

#popup-modem-indoor footer.action {
  opacity: 1;
  transition: opacity 1s ease 2s;
}

#popup-modem-indoor footer.action a {
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
}

/* STEP 2 */
#popup-modem-indoor #blocco-6 img {
  display: block;
  width: 50%;
  margin: 0 auto;
}

#popup-modem-indoor #blocco-5 p,
#popup-modem-indoor #blocco-7 p {
  font-size: 13px;
  line-height: 1.1;
  padding: 0 20px 4px;
}

#popup-modem-indoor #blocco-8 p {
  font-size: 11px;
  line-height: 1.1;
  padding: 0 20px 4px;
}

@media screen and (min-width:768px) {
  #popup-modem-indoor #blocco-6 img {
    width: 100%;

  }

  #popup-modem-indoor #blocco-5,
  #popup-modem-indoor #blocco-6,
  #popup-modem-indoor #blocco-7 {
    width: 33%;
  }

  #popup-modem-indoor #blocco-5 p,
  #popup-modem-indoor #blocco-7 p {
    font-size: 18px;
    line-height: 1.3;
    padding: 0 30px 8px;
  }

  #popup-modem-indoor #blocco-8 p {
    font-size: 13px;
    line-height: 1.2;
    padding: 0 30px 8px;
  }
}



/* hide text on mobile */
@media screen and (max-width:767px) {
  .pop-txt-1,
  .pop-txt-4,
  .pop-txt-5 {
    display: none;
  }
}

/* ANIMATION STEPS */
#popup-modem-indoor .action .step-1 {
  animation: show-out 1s ease forwards;
  animation-delay: 7s;
}

#popup-modem-indoor .action .step-2 {
  opacity: 0;
  overflow: hidden;
  height: 0;
  animation: show-in 1s ease forwards;
  animation-delay: 8s;
}


/* ID SPECIFIC RULES */
#mp--716317876 .tm-modal-overlay__container  {
  width: 800px;
  padding: 0;
  height: 500px;
  overflow: hidden;
}

@media screen and (device-aspect-ratio: 40/71) {
  #mp--716317876 .tm-modal-overlay__container{
      width: 100% !important;
      height: 500px !important;
  }
  #popup-modem-indoor section.offerta-container.action {
      top: 120px;
  }
  span.pop-txt-8.pop-txt {
      padding: 0 10px;
      font-size: 4.2vw;
  }
}

@media screen and (max-width: 767px){
  #mp--716317876 .tm-modal-overlay__container {
      width: 100% !important;
      height: 550px !important;
  }
  #popup-modem-indoor section.action .pop-txt-4 {
      animation:text-focus-and-go 4s ease-in-out 7.1s both;
  }

  #popup-modem-indoor footer{ top: 505px; }

  #popup-modem-indoor footer p { 
    line-height: 14px;
    margin: -15px 0;
  }
}