/* definizione slide */
.slide{
    height: 700px;
    background-size: cover;
    margin-bottom: 16px;
    background-repeat: no-repeat;
    background-position: center;
}
.slide>.container{
    position: relative;
}
.badgeImage{
    position:absolute; 
    bottom:4px; 
    left:15px; 
    width: 170px; 
    height: 170px; 
}
.badgeImage img{
    float:left;
    margin-top:0 !important;
}
.stripeSlide{
    height: 72px; 
    margin-top:-16px; 
    margin-bottom: 16px;
    padding-top: 13px;
    padding-bottom: 13px
}
.stripeSlide h3{
    margin:0;
    font-weight: normal;
    font-size:20px;
    padding-bottom:8px;
    letter-spacing: 1px
}
.stripeSlide p{
    font-weight: normal;
    font-size:11px;
}
#badgeImage, #stripeSlide{
    cursor: pointer;
}
.slide h1, .slide h2{
    color: #FFFEFE;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 0.38px;
    line-height: 40px;
    text-align: center;
    margin:0 !important
}
.boxTestoPromo{
    padding:0 !important;
    height: 24px;
}
.testoPromo{
    font-size: 17px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0.17px;
    color:#3a3a3a;
    background-color: #ffba00;
    height: 24px;
    padding: 0 20px;
}
.slide.miniSlideMobile h2{
    text-align: left;
    color:#FFF;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0.38px;
    line-height: 60px;
}
.slide div{
    color: #FFFFFF;
    font-size: 20px;
    letter-spacing: 0.4px;
    line-height: 24px;
    text-align: center;
}
.slide div>img{
    margin-top:8px;
    margin-bottom:8px
}
.slide.miniSlideMobile p{
    text-align: left;
    font-size: 18px;
    letter-spacing: 0;
    line-height: 24px;
}

.miniSlide,.miniSlide .content-flex {
    height: 400px;
}
.slide.miniSlideMobile a.btn-casa{
    color:#000
}
/*.miniSlideMobile{
    height:46vh
}
.miniSlideMobile .content-flex{
    height:46vh
}*/

.miniSlideMobile .content-flex div{
    text-align: left;
}
.miniSlideMobile .bLeft{
    padding-left: 150px;
}

.content-flex{
    position: relative;
    height: 572px;
    margin-top:128px;

}

.content-flex div{
    width: 100%;
    text-align: center;
    padding: 4px 0;
}
.spacer{
    height: 50px;
}
.infoTec{
    font-size: 14px !important;
    letter-spacing: 0 !important;
    line-height: 18px !important;
    padding:0px !important;
    position: absolute;
    bottom: 40px;
}
.infoTec a{
    color:#FFF
}

.infoTec ul{
    margin-bottom:0 !important;
}

.infoTec ul li{
    list-style-type: none;
    line-height: 32px;
}

.infoTec.FIBRA ul li:before{
    background-image: url('/media/immagini/semafori/FIBRA.png');
}
.infoTec.FIBRA-RADIO ul li:before{
    background-image: url('/media/immagini/semafori/FIBRA-RADIO.png');
}
.infoTec.FIBRA-RAME ul li:before{
    background-image: url('/media/immagini/restyling/v002/FIBRA-RAME.png');
}
.infoTec.RAME ul li:before{
    background-image: url('/media/immagini/restyling/v002/RAME.png');
}
.infoTec.onlyText {
    margin-left: -34px;
}
.infoTec ul li:before {
    background-size: 30px 30px;
    background-repeat: no-repeat;
    display: inline-block;
    width: 34px;
    height: 34px;
    content: "";
    position: absolute;
    left: 78px;
}
.card_100 .content-flex{
    height: 50vh;
}
.card_100{
    margin:80px 0 0 15px;
    border-radius: 8px;
    box-shadow: 0 0 30px 0 rgba(0,0,0,0.3);
    height: 456px;
}
.card_100 h2{
    font-size:40px
}
.card_100 .visual{
    height: 456px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: center;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}
.card_100 .visual.visualDx{
    border-radius: 8px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}
.card_100 .content-flex{
    height: 50vh;
    font-size:18px
}
.card_100 .content-flex div{
    padding-left:40px;
    text-align: left;
}
.card_100 h3, .miniCard h3{
    color: #5F57A1;
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0.38px;
    line-height: 48px;
}
.miniCard h3{
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.3px;
    line-height: 32px;
    margin:0 0 10px;
}
.miniCard div{
    font-size: 18px;
    letter-spacing: 0;
    line-height: 22px;
}
.descMiniCard{
    color: #3A3A3A;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 36px;
    text-align: center;
    padding:96px 0 64px;
}
.boxServizi{
    padding-bottom: 96px;
}
.card_100 .text{
    padding:80px;
    height: 456px;
}
.card_100 .boxButton{
    left:80px;
    bottom: 80px;
}
.miniCard{
    border-radius: 8px;
    box-shadow: 0 0 30px 0 rgba(0,0,0,0.3);
    height: 650px;
    margin:0;
    position: relative;
    background-color: #FFF;
}
.card_33{
    margin: 96px 0 0;
    background-color: #F2F2F2;
    padding-bottom: 96px;
}
.card_33 .miniCard h2{
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.3px;
    line-height: 32px;
}
.card_33 .miniCard {
    height: 600px ;
}
.miniCard .visual{
    height: 248px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: center;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.miniCard .visual.visual_33{
    height: 192px !important;

}

.miniCard .text{
    padding:60px 80px 80px;
    position: relative;
}
.sezione{
    margin:0;
}
.miniCard p{
    margin:5px 0
}
.card_33 .miniCard .text{
    padding: 60px 40px 80px;
}
.card_50 p.text{
    height:105px;
}
.card_33 p.text{
    height:85px;
}
.miniBox{
    position: relative;
    padding-bottom: 96px;
}
.simpleBox{
    text-align: center;
    padding:0 30px;
    border-right: 1px solid #BFC0C0;
}
.simpleBoxLast{
    border: 0 !important
}
.simpleBox h3{
    color: #5F57A1;
    font-size: 24px;
    letter-spacing: 0.3px;
    line-height: 32px;
    margin-top:0
}
.varUnil{
    background-color: #F8F2FF;
    height: 240px;
    text-align: center;
    margin-bottom: 192px;
}
.varUnil h4{
    color: #3A3A3A;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 36px;
}
.varUnil .content-flex{
    height: 240px;
    margin-top:50px
}
.varUnil .content-flex div{
    text-align: center;
    font-size: 18px;
    letter-spacing: 0;
    line-height: 24px;
    text-align: center;
}
.varUnil .btn-casa{
    margin-top:40px
}
.boxButton{
    position: absolute;
    bottom:80px;
    left:80px;
    z-index:1
}
.card_33 .boxButton{
    left:40px
}
.simpleBox .btn-casa{
    margin-top: 20px;
}
#full_name_domain{
    margin-top:10px;
    height: 50px;
    border: 1px solid #BFC0C0;
    border-radius: 4px;
    background-color: #FFFFFF;
    color: #333;
    font-size: 20px;
    letter-spacing: 0;
    line-height: 24px;
}
#errDomain{
    display:none;
    padding: 5px;
    margin-top:5px
}
/*@media screen and (min-width: 1980px),
       screen and (min-height: 850px),
       (-webkit-min-device-pixel-ratio: 2), 
       (min-resolution: 192dpi) {
    .slide,.content-flex{
        height:650px
    }
    
}*/
@media only screen
and (min-device-width: 375px)
and (max-device-width: 812px)
and (orientation: landscape) {
    .ppSlide .boxButton {
        position: relative;
        left: auto;
        bottom: auto;
        margin-bottom: 20px;
    }
    .visualImage {
        height:260px;
        background-size: cover;
        background-repeat: no-repeat;
    }
    .infoTec {
        position: absolute;
        bottom: 0;
        left: 0;
    }
    .infoTec ul li {
        margin-left: 20px;
    }
    .miniSlideMobile {
        padding: 60px 20px;
        text-align: center;
    }

    .card_50 .miniCard,.card_33 .miniCard{
        height:375px;
        margin-top:40px
    }
    /* accordion */
    .expandServices{
        border:1px solid #F2F2F2;
        padding: 20px;
        font-size: 16px;
        font-weight: 500;
        text-align: left;
        margin:20px 0
    }
    .expandServices .closeServices{
        display: none
    }
    .expandServices .fa-chevron-down, .expandServices  .fa-chevron-up{
        margin-left: 8px
    }
    .expandServices .azione{
        text-align: right ;
    }
    .expandServices a:hover{
        text-decoration: none
    }
    .varUnil {
        height: auto !important;
        padding: 20px 0;
    }
}

@media only screen and (max-device-width: 768px){
    .infoTec ul li:before{
        left:22px
    }
    .miniCard .text,.card_33 .miniCard .text{
        padding:30px 40px 60px
    }
    .card_33 .miniCard .boxButton .btn-casa{
        width:150px
    }
    .boxButton{
        bottom: 60px;
        left: 30px;
    }
    .card_33 .boxButton{
        left:20px
    }
    .varUnil{
        height:20vh
    }
    .varUnil .content-flex{
        height: 20vh;
    }
}
@media only screen and (max-device-width: 455px){
    .badgeImage{
        left:auto;
        right: 15px;
    }
    .badgeImage img{
        float:right;
    }
    .badgeTec ul li{
        line-height: 16px;
        width:60%;
    }
    .stripeSlide{
        height:145px;
        margin-left: -15px;
        margin-right: -15px;
        margin-top: 0;
        margin-bottom: 0;
    }
    .slideMobile{
        margin-bottom: 16px;
    }
    .formDomini{
        margin-bottom: 30px;
    }
    .ppSlide{
        color: #3A3A3A;
        height: auto;
        background-color: #FFF;
        padding: 20px;
    }
    .ppSlide h1,.ppSlide h2{
        color: #5F55A3;
        font-size: 30px;
        font-weight: 700;
        letter-spacing: 0.29px;
        line-height: 32px;
        margin-top:0
    }
    .visualImage {
        height:260px;
        background-size: cover;
        background-repeat: no-repeat;
    }
    .textSlide{
        margin:10px 0
    }
    .prezzo{
        margin:10px 0
    }
    /*    .prezzo img {
            height: 100px;
        }*/
    .infoTec{
        position: absolute;
        bottom: 0;
        left: 0;
    }
    .infoTec ul li{
        padding-left: 20px;
    }
    .infoTec ul li:before{
        left:20px
    }
    .miniCard{
        margin:0 5px;
        height:auto
    }
    .miniCard .btn-casa{
        margin-top:10px;
        width:100%
    }
    .card_33 .miniCard {
        height: auto ;
    }
    .miniSlideMobile{
        padding:60px 20px;
        text-align: center;
    }
    .miniSlideMobile h2{
        font-size: 30px;
        font-weight: 700;
        letter-spacing: 0;
        line-height: 32px;
    }
    .miniSlideMobile .btn-casa{
        margin-top:27px
    }
    .descMiniCard{
        padding: 30px 20px 0;
        font-size: 28px;
        line-height: 32px;
    }
    .descMiniCardMobile{
        margin-top:30px
    }

    .boxButton {
        bottom: 24px;
        left: 20px;
    }
    .card_33 {
        margin: 40px 0 0;
        padding-bottom: 40px;
    }

    .card_33 .boxButton{
        bottom: 24px;
        left: 20px;
    }
    .miniBox{
        margin-left: 20px;
        margin-right: 20px;
        padding-bottom: 40px;
    }
    .miniBox .descMiniCard{
        margin-bottom: 20px;
    }
    .simpleBox {
        border-bottom: 1px solid #BFC0C0;
        border-right: 0px;
        padding-top: 40px;
        padding-bottom: 40px;
        height: auto;
    }
    .varUnil{
        height: auto;
        margin-bottom: 0;
        padding: 40px 0
    }
    .varUnil .content-flex{
        display: initial;
        height: auto;
    }
    /* accordion */
    .expandServices{
        border:1px solid #F2F2F2;
        padding: 20px;
        font-size: 16px;
        font-weight: 500;
        text-align: left;
        margin:20px 0
    }
    .expandServices .closeServices{
        display: none
    }
    .expandServices .fa-chevron-down, .expandServices  .fa-chevron-up{
        margin-left: 8px
    }
    .expandServices .azione{
        text-align: right ;
    }
    .expandServices a:hover{
        text-decoration: none
    }

}

@media screen and (max-width: 1366px),
screen and (max-height: 768px) {
    .slide{
        height: 500px;
    }
    .content-flex{
        position: relative;
        height: 476px;
        margin-top:24px;
    }
    .infoTec{
        bottom:24px
    }
}