body { margin: 0; padding: 0; background: #FFF; font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; color: #808080; }
html { margin: 0; padding: 0;  }
strong { font-weight: 700; }




/********* BOOTSTRAP CUSTOM **********/
@media (min-width: 1200px) {
    .container { max-width: 1300px; }
}

/*.pt-6, .py-6 {padding-top: 5rem !important; }
.pr-6, .px-6 { padding-right: 5rem !important; }
.pb-6, .py-6 { padding-bottom: 5rem !important; }
.pl-6, .px-6 { padding-left: 5rem !important; }*/





/********* TOP **********/
#divTopMenu { min-height: 135px; background: #FFFFFF; font-family: 'Poppins', sans-serif; font-size: 17px; }
#aLogo { display: block; }

.navbar { padding: 0; }
.navbar-brand { padding: 0; }

.navbar-toggler { border-color: rgba(152,152,152,0.7); border-width: 1px; padding: 0.25rem 0.5rem;}
.navbar-toggler:hover { border:none; background-color:rgba(150,175,219,0.7);  }
.navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(152,152,152, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }
.navbar-toggler:hover .navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); }

.navbar a { display: block; color: #989898; padding: 12px; font-size: 17px; text-align: center; border-top: 1px solid rgba(255,255,255,0.2); }
.navbar a:hover { text-decoration: none; color: #96afdb; }
.navbar-collapse.collapse.show { padding-bottom: 45px; }
.navbar-top li:last-of-type a  { border-bottom: 1px solid rgba(255,255,255,0.2) }

.ulSubmenu { display: none; padding: 0; }
#imgArrowDown { display: none; }


@media (min-width: 992px) {
    .navbar a { border-top: none; } 
    .navbar-top li:last-of-type a  { border-bottom: none; }

    .navbar-top { position: absolute; top: 54px; right: 0; font-size: 16px; font-weight: 400; }
    .navbar-top a { text-decoration: none; padding: 10px; margin-right: 35px; margin-top: 14px; }
    .navbar-top a.sel { color: #96afdb; }
    .navbar-top a:hover { color: #96afdb; }
    .navbar-top li:last-of-type a { margin-right: 0; }

    .navbar-top a::after { visibility: hidden; display: block; width: 100%; height: 1.5px; background-color: #96afdb; content: ""; opacity: .9; transform: scaleX(0); transition: all .2s ease-in-out 0s; }
    .navbar-top a:hover::after, .navbar-top a.sel::after { visibility: visible; transform: scaleX(1); }

    .navbar-collapse.collapse.show { padding-bottom: 0; }
}

@media (max-width: 992px) {
    .ulSubmenu { display: none; list-style-type: none; padding-top: 5px; padding-bottom: 20px; }
    .ulSubmenu li a { color: #989898; padding-top: 5px; padding-bottom: 5px; font-size: 92%; }
    .ulSubmenu li:first-of-type a { border-top: 1px solid #ddd; }
    .ulSubmenu li:last-of-type a { border-bottom: 1px solid #ddd; }
    #imgArrowDown { display: inline; position: absolute; right: 0; top: 16px; cursor: pointer; } 
}




/************ HOME e pezzi simili  *************/
.divTopImage {/* height: 600px;*/ overflow: hidden; }
.divTopImageItem { height: 600px; background-size: cover; background-repeat: no-repeat; background-position: center center; text-align: center; position: relative; }
.divTopImageItem h2 { font-family: 'Poppins', sans-serif; font-size: 50px; font-weight: 700; color: #FFFFFF; padding: 0 4%; margin: 0; }
.divTopImageItem a { display: inline-block; color: #FFFFFF; border: 1px solid #FFFFFF; padding: 12px 30px; margin-top: 25px; font-family: 'Poppins', sans-serif; font-weight: 300; font-size: 18px; }
.divTopImageItem a:hover { text-decoration: none; background: #96afdb; border-color: #96afdb;  }

.divTopImage2 { height: 500px; overflow: hidden; }
.divTopImage2 .divTopImageItem { height: 500px;  }

#divTopHome1 { background-image: url(../images/home-top-1.jpg); }
#divTopChisiamo { background-image: url(../images/chi-siamo-top-2.jpg); }
#divTopSoluzioniHotel { background-image: url(../images/soluzione-hotel-top.jpg); }
 #divTopSoluzioniBusiness { background-image: url(../images/soluzione-business-top.jpg); }
 #divTopSoluzioniCasa { background-image: url(../images/soluzione-casa-top.jpg); }
 #divTopSoluzioniFotovoltaico { background-image: url(../images/soluzione-fotovoltaico-top.jpg); }
#divTopAlexa { background-image: url(../images/top-alexa.jpg); }
.divDarkener { background: rgba(0, 0, 0, 0.5); height: 100%; }

.h3Title, .h3TitleWhite { font-family: 'Poppins', sans-serif; font-size: 36px; font-weight: 700; color: #96afdb; padding: 50px 0; text-align: center; }
.h3TitleWhite { color: #FFFFFF; }

.divIconHome { display: block; padding: 0 0 50px 0 ; font-family: 'Poppins', sans-serif; max-width: 204px; margin: auto; font-size: 18px; }
.divIconHome:hover { text-decoration: none; }
.icon-home { width: 204px; height: 204px; background: no-repeat top left; margin: auto;  }
.icon-home-1 { background-image: url('../images/per-la-tua-casa.png'); }
.icon-home-2 { background-image: url('../images/per-la-tua-struttura-ricettiva.png'); }
.icon-home-3 { background-image: url('../images/per-il-tuo-business.png'); }
.icon-home-4 { background-image: url('../images/fotovoltaico-e-risparmio-energetico.png'); }
.icon-home-text { padding: 25px 0; color: #96afdb; font-weight: 300; }
.icon-home-text2 { padding: 0 0 25px 0; color: #808080; font-weight: 300; font-family: 'Roboto', sans-serif; font-size: 16px; }
.icon-home-link, .boxed-link { display: inline-block; color: #96afdb; border: 1px solid #96afdb; padding: 12px 30px;  font-weight: 300; font-size: 18px;  font-family: 'Poppins', sans-serif;  }
.divIconHome:hover .icon-home { background-position: top right; }
.divIconHome:hover .icon-home-text, .divIconHome:hover .icon-home-text2 { text-decoration: none !important; }
.divIconHome:hover .icon-home-link, .boxed-link:hover, .boxed-link.sel { text-decoration: none; background: #96afdb; color: #FFFFFF; }

.boxed-link-white { display: inline-block; color: #FFFFFF; border: 1px solid #FFFFFF; padding: 12px 30px;  font-weight: 300; font-size: 18px;  font-family: 'Poppins', sans-serif; }
.boxed-link-white:hover { color: #96afdb; background: #FFF; text-decoration: none; }


.divPanna { background-color: #EAEEF7; padding: 70px 0; }
.divBianco { background-color: #FFFFFF; padding: 70px 0; }
.divColore { background-color: #96afdb; padding: 70px 0; }
.divColore2 { background-color: #EAEEF7; padding: 70px 0; }
.superTitle { color: #000; font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 700; }

.ulElenco { list-style-type: none; padding-left: 20px; }
.ulElenco li { padding-bottom: 8px; }
.ulElenco li:before { content: '\00a0'; margin-left: -20px; margin-right: 10px; width: 14px; height: 14px; background: #96afdb; float: left; border-radius: 7px; margin-top: 4px } 


.portfolio_item { display: block; position: relative; width: 100%; padding-top: 100%; /* 1:1 Aspect Ratio */ overflow: hidden; margin-bottom: 35px; }
.portfolio_item > img { position:  absolute; top: 0; left: 0; width: 100%; } /* max 510 x 510 */
.portfolio_row .info { position:  absolute; top: 0; left: 0; width: 100%; height: 100%; text-align:center; background-color: rgba(150,175,219,0.75); }
.portfolio_row .info > div {  margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }  /* centratura orizzontale e verticale */ 
.portfolio_row .info > div > strong { font-family: 'Poppins', sans-serif; font-size: 24px; color: #FFFFFF; line-height: 26px; } 
.portfolio_row .info > div > p { color: #000; padding-top: 5px; }
.portfolio_row .info > div > i { color: #FFF; }

.banda-parliamone { text-align: center; background: #778AAA; color: #96afdb; font-family: 'Poppins', sans-serif; font-size: 36px; font-weight: 700; padding: 40px 0; }



.owl-partners { padding: 0 30px; }
.owl-partners .owl-item > div { padding: 0 20px; height: 100px; text-align: center; }
.owl-partners .owl-item > div > img { width: auto !important; display: inline-table !important; }

.owl-partners .owl-nav { margin-top: 0; position: absolute; width: 100%; height: 100%; top: 0; margin-left: -30px; }
.owl-partners .owl-nav [class*=owl-] { margin: 0 !important; position: absolute; top: 36px; display: block !important; width: 30px; height: 26px; overflow: hidden; }
.owl-partners .owl-prev { left: 0; background: url(../images/arrow-L.png) no-repeat top left !important; }
.owl-partners .owl-next { right: 0; background: url(../images/arrow-R.png) no-repeat top left !important; }
.owl-partners .owl-nav [class*=owl-]:hover { background-position: top right !important; }


.owl-soluzioni .owl-nav [class*=owl-] { margin: 0 !important; position: absolute;  display: block !important; width: 50px; height: 50px; overflow: hidden; border: none !important; }
.owl-soluzioni .owl-prev { background: url(../images/arrow-L2.png) no-repeat top left !important; top: 43%; left: 0; transform: translate(-50%, 0); }
.owl-soluzioni .owl-next { background: url(../images/arrow-R2.png) no-repeat top left !important; top: 43%; right: 0; transform: translate(50%, 0);}
.owl-soluzioni .owl-nav [class*=owl-]:hover { background-position: top right !important; }
.owl-soluzioni .owl-dots .owl-dot span { width: 20px; height: 20px; background: #FFF; }
.owl-soluzioni .owl-dots .owl-dot.active span, .owl-soluzioni .owl-dots .owl-dot:hover span { background: #96afdb; }



.divFooter { background: #96afdb; color: #FFF;  font-size: 14px; }
.footer-title { font-family: 'Poppins', sans-serif; }  
/*.divFooter .row > div { padding: 45px 0 0 0; }*/
.pFooter { line-height: 25px; padding-top: 10px; }

.aWhite { color: #FFF; text-decoration: none; }
.aWhite:hover { color: #FFF; text-decoration: underline; }
.aWhite2 { color: #FFF; text-decoration: underline;  }
.aWhite2:hover { color: darkblue; text-decoration: underline; }



/* altre pagine */
.team_info { background: #96afdb; font-family: 'Poppins', sans-serif; text-align: center; padding: 35px 0; }
.team_info strong { color: #FFF; font-size: 18px; font-weight: 700; }
.team_info span { color: #778AAA; font-size: 14px; }
.team-row > div { margin-bottom: 30px; }

.h2TopFrase { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 50px; color: #96afdb; background: #EAEEF7; text-align: center; padding: 40px 0; margin-bottom: 0; }
.divTopFrase { background: #EAEEF7; text-align: center; padding: 40px 0 30px 0; }
.h2TopFrase2 { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 50px; color: #96afdb; margin-bottom: 0; padding-bottom: 10px; }
.subH2 { margin-bottom: 0; font-size: 14px; }

.divTopFocus { background: #EAEEF7; text-align: center; height: 500px; padding-top: 40px; overflow: visible; }


.divFiltriProgetti { padding: 80px 0 15px 0; }
.divFiltriProgetti > div { cursor: pointer; margin-bottom: 20px; }

.news_row > div { padding: 0 25px; }
.news_item { display: block;  border: 1px solid #96afdb; width: 100%;  font-family: 'Poppins', sans-serif; margin-bottom: 50px; } 
.news_item:hover { text-decoration: none; }
.news_item:hover .boxed-link { text-decoration: none; background: #96afdb; color: #FFFFFF; }
.news_title { display: block; padding: 20px; color: #96afdb; font-weight: 300; font-size: 18px; height: 150px; overflow: hidden; }
.news_leggi { padding: 0 0 20px 20px; }
.news_item_img {  position: relative; padding-top: 68.75%; /* 16:11 Aspect Ratio */ }

.focus_item { display: block; background: #FFFFFF; width: 100%;  font-family: 'Poppins', sans-serif; margin-bottom: 50px; } 
.focus_item:hover { text-decoration: none; }
.focus_item:hover .boxed-link { text-decoration: none; background: #96afdb; color: #FFFFFF; }
.focus_div_image { height: 266px; }
/* .focus_div_image > img {  } */
.focus_text { padding: 20px 25px; font-weight: 300; font-size: 18px; height: 200px; overflow: hidden; }
.focus_text_short { padding: 20px 25px; font-weight: 300; font-size: 18px; height: 110px; overflow: hidden; margin-bottom: 20px; }
.focus_title { color: #96afdb; font-weight: 300; }
.focus_p { padding: 10px 0 0 0 ; }
.pRoboto16 { font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; color: #808080; } 
.focus_leggi { padding: 0 0 20px 20px; }




.divFormContatto { background: url(../images/form_contatto.jpg) no-repeat center center; background-size: cover; }
.h3Contatto { font-family: 'Poppins', sans-serif; font-size: 36px; font-weight: 700; color: #FFF; }
.pContatto { font-family: 'Poppins', sans-serif; font-size: 22px; font-weight: 400; color: #FFF; }

.divContactForm input, .divContactForm textarea { border: none; display: block; width: 100%; background: #FFF; font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; color: #808080; margin-bottom: 15px; padding: 10px; }
#divContactSend #btnSubmit { border: 1px solid #96afdb; background: #FFF; font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 400; color: #96afdb; font-size: 18px; cursor: pointer; padding: 10px 30px;  }
#divContactSend #btnSubmit:hover { border: 1px solid #778AAA; background: #778AAA; color:  #FFF; }
#divContactSend #pPrivacy { color: #FFF; padding-top: 25px; font-size: 15px; }
.divContactBoxLoader { color: #FFF; }

.contact-form .divContactForm input, .contact-form .divContactForm textarea { border: 1px solid #96afdb; } 

.contact-grey-color .divContactBoxLoader, .contact-grey-color #lblContactBoxFeedback, .contact-grey-color #divContactSend #pPrivacy { color: #808080; }
.contact-grey-color .aWhite2 { color: #808080; text-decoration: underline; }
.contact-grey-color .aWhite2:hover { color: darkblue; }

.contact-border-color .divContactForm input, .contact-border-color .divContactForm textarea { border: 1px solid #96afdb; } 



.yt_container { position: relative; width: 100%; height: 0; padding-bottom: 56.25% }
.yt_container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.dynamic-content img { max-width: 100%; width: 100% !important; height: auto !important; }
.dynamic-content .divLeft { border-right: 1px solid #808080; padding-right: 90px; }
.dynamic-content .divRight { padding-left: 40px; }
.dynamic-content h1 { font-family: 'Poppins', sans-serif; font-size: 36px; font-weight: 700; color: #96afdb; padding-top: 50px; }
.dynamic-content h3 { font-size: 24px; font-weight: 400; color: #96afdb; padding-top: 30px; }
.dynamic-content a { color: #96afdb; }

.dynamic-focus h2 { font-family: 'Poppins', sans-serif; font-size: 36px; font-weight: 700; color: #96afdb; padding-top: 50px; }


.pagination-area { text-align: center; width: 100%;}
.pagination-area .pagination { display: inline-block; list-style: none; padding: 40px 0 20px 0; }
.pagination-area .pagination li { display: inline; }
.pagination-area .pagination li a, .pagination-area .pagination li a.active { float: left; margin-right: 3px; padding: 7px 15px; transition: all 0.3s ease 0s; text-decoration: none; color: #96afdb; border: 1px solid #96afdb; }
.pagination-area .pagination li a:hover, .pagination-area .pagination li.active a { color: #FFF; background : #96afdb; }





/********* RIUSABILI **********/
.none { display: none; }
.clearer { clear: both; height: 1px; overflow: hidden; }
.p-absolute { position: absolute; top: 0; left: 0; }
.pointer { cursor: pointer; }
.max-w-100 { max-width: 100%; }
.centered_parent { position:  absolute; top: 0; left: 0; width: 100%; height: 100%; }  /* il suo contenitore deve avere position: relative */ 
.centered {  margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }  /* centratura orizzontale e verticale in .centered_parent */ 
.centered-vertical {  margin-top: 0; position: relative; top: 50%; -ms-transform: translateY(-50%); transform: translateY(-50%); } 
.centered_img { width: 100%; height: 100%;  object-fit: cover; } /* applicare questa clase ad una immagine per farla estendere in modalità cover centrata */
.divRatio16-9 {  position: relative; padding-top: 56.25%; /* 16:9 Aspect Ratio */ }
.rwd-video { height: 0; overflow: hidden; padding-bottom: 56.25%; padding-top: 30px; position: relative; }
.rwd-video iframe, .rwd-video object, .rwd-video embed {height: 100%; left: 0; position: absolute; top: 0; width: 100%; }




/********* GENERICO **********/
.pT5 { padding-top: 5px; }
.pT10 { padding-top: 10px; }
.pT20 { padding-top: 20px; }
.pT30 { padding-top: 30px; }
.pT40 { padding-top: 50px; }
.pT50 { padding-top: 50px; }
.pT60 { padding-top: 60px; }
.pT70 { padding-top: 70px; }
.pB0 { padding-bottom: 0; }
.pB10 { padding-bottom: 10px; }
.pB15 { padding-bottom: 15px; }
.pB20 { padding-bottom: 20px; }
.pB50 { padding-bottom: 50px; }
.pB60 { padding-bottom: 60px; }
.pB70 { padding-bottom: 70px; }

.ffPoppins { font-family: 'Poppins', sans-serif; }
.fs18 { font-size: 18px; } 
.fs22 { font-size: 20px; } 
.clFFF { color: #FFF; }
.clColore { color: #96afdb; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw700 { font-weight: 700; }
.aLink { color: #808080; }
.aLink:hover { color: #96afdb; }





/********* RESPONSIVE **********/
/* 576 - 768 - 992 - 1200 */
@media (max-width: 1199.98px) { 
    .divTopFocus { height: 390px; }
}


@media (max-width: 991.98px) {
    .dynamic-content .divLeft { border-right: none; padding-right: 15px; }
    .dynamic-content .divRight { padding-left: 15px; }
    .divTopFocus { height: 290px; }
}


@media (max-width: 767.98px) { 
    .team-row > div { margin-bottom: 50px; }
    .divTopFocus { height: auto; background: none; }
    .divBiancoFocus { padding-top: 20px;  }
}


@media (max-width: 575.98px) { 
    .pagination-area .pagination li a { padding: 6px 11px; }
    .pagination-area .pagination li:last-child a { margin-right: 0; }
}

@media (max-width: 400px) { 
    #divChiSiamoLateral { display: none; }
}

/********* LOADER CONTATTI  **********/
/* regola aggiunta come patch per le dimensioni del loader che nella pagina news 
   si espandeva a 760px a causa dello stile di .dynamic-content img */
.dynamic-content img.loader-img {
    width: 32px !important;
    height: 32px !important;
    max-width: none !important;}