*{
	margin: 0;
	padding: 0;
	font-family: 'Poppins', sans-serif;
	
}
.footer-bottom {
  width: 100%;
  text-align: center;
  margin-top: 20px;
  border-top: 1px solid #444;
  padding-top: 10px;
}


a[href^="tel"] {
    color: inherit;
    text-decoration: none;
}


a[href^="tel"]:link,
a[href^="tel"]:visited,
a[href^="tel"]:hover,
a[href^="tel"]:active {
    color: inherit;
    text-decoration: none;
}

.footer-bottom p {
  color: #ffffff;
  font-size: 12px;
}

.partefinale {
  position: relative;
}


.header{
	min-height: 100vh;
	width: 100%;
	background-image: linear-gradient(rgba(4,9,30,0.7),rgba(4,9,30,0.7)),url(images/fotounoj.jpg);
	background-position: center;
	background-size: cover;
	position: relative;
}

nav{
	display: flex;
	padding: 2% 6%;
	justify-content: space-between;
	align-items: center;
}

nav img{
	width: 150px;
}

.nav-links{
	flex:1;
	text-align:right;
}

.nav-links ul li{
	list-style: none;
	display: inline-block;
	padding: 8px 12px;
	position: relative;
}

.nav-links ul li a{
	color: #fff;
	text-decoration: none;
	font-size: 16px;
}

.nav-links ul li::after{
	content:'';
	width: 0%;
	height: 2px;
	background: #2eaab1;
	display: block;
	margin: auto;
	transition: 0.5s;
}

.nav-links ul li:hover::after{
	width: 100%;	
}

.text-box{
	width: 90%;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
}

.text-box h1{
	font-size: 60px;
	color:#2eaab1;
	-webkit-text-stroke: 0.40px #fff;  /* bordo scritta electrical */
	  text-transform: uppercase;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #2eaab1; /* contorno piu' sottile */
  text-shadow: 0 0 5px rgba(46,170,177,0.3); /* alone leggero */
  letter-spacing: 5px;
  transition: 0.3s ease-in-out;
  transform: scale(1); /* per ingrandimento e' lo stato iniziale */
}

/* illumina la scritta ELECTRICAL 360 quando ci passi sopra*/
.text-box h1:hover {
    color: #fff;
    text-shadow:
     0 0 3px #2eaab1,
        0 0 6px #2eaab1,
        0 0 9px #2eaab1;
		transform: scale(1.08); /* ingrandimento leggero */
}
.text-box p{
	margin: 10px 0 40px;
	font-size: 18px;
	color: #fff;
}

.hero-btn{
	display: inline-block;
	text-decoration: none;
	color: #fff;
	border: 1px solid #2eaab1;
	padding: 12px 34px;
	font-size: 13px;
	background: transparent;
	position: relative;
	cursor: pointer;
}

.hero-btn:hover{
	border: 1px solid #2eaab1;
	background: #2eaab1;
	transition: 1s;
}

nav .fas{
	display: none;
}

.testo-iniziale {
    width: 90%;
    color: #fff;
    position: absolute;
    top: 45%;   /* verticale centrato come nella pagina Chi siamo */
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}


@media(max-width: 700px){
	.text-box h1{
	font-size: 24px;
    }	
	.nav-links ul li{
		  display: block;
	}
	.nav-links{
		position: fixed;
		background: #2eaab1;
		height: 100vh;
		width: 200px;
		top: 0;
		right: -200px;
		text-align: left;
		z-index: 2;
		transition: 1s;
	}
	nav .fas{
		display: block;
		color: #fff;
		margin: 10px;
		font-size: 22px;
		cursor: pointer;
	}
	.nav-links ul{
		padding: 30px;
		
	}

	.testo-iniziale {
        position: relative;   /* evita problemi con absolute */
        top: auto;
        left: auto;
        transform: none;
        margin: 0 auto;
        padding-top: 180px;    /* <-- aumenta questo valore per spostare più in basso */
        text-align: center;
    }
    .testo-iniziale h1 {
        font-size: 28px; /* adatta dimensione */
    }
}


.course{
	width: 80%;
	margin: auto;
	text-align: center;
	padding-top: 100px;	
}


h1{
	font-size: 36px;
	font-weight: 600;
}

.titoli_prima_pagina{

	h1{
	background:linear-gradient(90deg, #000000, #111111, #222222, #333333, #444444, #555555, #666666, #777777, #888888, #dddddd);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-size: 100% 70%;
	font-size: 36px;
	font-weight: 600;
}

	h2{
	font-size: 36px;
	font-weight: 600;
	color: #2eaab1
}


}


p{
	color: #777;
	font-size: 20px;
	font-weight: 300;
	line-height: 22px;
	padding: 10px;
}


.row{
	margin-top: 5%;
	display: flex;
	justify-content: space-between;
}


.course-col{
	flex-basis: 31%;
	background: #2eaab130;
	border-radius: 10px;
	margin-bottom: 5%;
	padding: 20px 12px;
	box-sizing: border-box;	
	transition: 0.5;
}

h3{
	text-align: center;
	font-weight: 600;
	margin: 10px 0;
}

.course-col:hover{
	box-shadow: 0 0 20px 0px rgba(0,0,0,0.2);
}

@media(max-width: 700px){
	.row{
		flex-direction: column;
	}
}


/* seconda pagina */

.sub-header{
	height: 50vh;
	width: 100%;
	background-image: linear-gradient(rgba(4,9,30,0.7),rgba(4,9,30,0.7)),url(images/fotootto.JPG);
	background-position: center;
	background-size: cover;
	text-align: center;
	color: #fff;
}

.about-us{
	width: 80%;
	margin: auto;
	padding-top: 80px;
	padding-bottom: 50px;
}

.about-col{
	flex-basis: 250%;
	padding: 30px 2px;
	margin-right: 13%;
	margin-left: 5%;
}


.about-col img{
	width: 100%;
}

.about-col p{
	padding: 15px 0 25px;
}

@media(max-width: 768px) {
   
     .testo-iniziale {
        padding-top: 100px; /* aumenta se serve */
        min-height: 140px;
    }
}




/* slider pagina ristrutturazioni*/
/* Slider 1 */
#prev { left: 20px; } 
#next { right: 20px; }

/* Slider 2 */
#prev-2 { left: 20px; } 
#next-2 { right: 20px; }







.location{
	width: 80%;
	margin: auto;
	padding:80px 0;
}

.location iframe{
	width: 100%;
}





.contact-us{
	width: 80%;
	margin: auto;
}

.contact-col{
	flex-basis: 48%;
	margin-bottom: 30px;
}

.contact-col div{
	display: flex;
	align-items: center;
	margin-bottom: 40px;
}

.contact-col div .fa{
	font-size: 28px;
	color: #2eaab1;
	margin: 10px;
	margin-right: 30px;
}

.contact-col div p{
	padding: 0;
}

.contact-col div h5{
	font-size: 20px;
	margin-bottom: 5px;
	color: #555;
	font-weight: 400;
}


.contact-col input, .contact-col textarea{
	width: 100%;
	padding: 15px;
	margin-bottom: 17px;
	outline: none;
	border: 1px solid #CCC;
	box-sizing: border-box;
}

.ristrutturazione-uffici {
    font-size: 28px;         /* snella e professionale */
    font-weight: 500;        /* elegante, non troppo grassa */
    color: #34495E;
    text-align: center;
    letter-spacing: 1px;     /* leggero spazio tra le lettere */
    margin: 15px 0 5px 0;
}

.underline {
    width: 350px; /* lunghezza della linea, puoi adattarla */
    height: 2px;
    background-color: #34495E;
    margin: 5px auto 20px auto; /* auto per centrare */
    border-radius: 1px;
}



.tasto-invio{
	display: inline-block;
	text-decoration: none;
	color: #2eaab1;
	border: 1px solid #2eaab1;
	padding: 12px 34px;
	font-size: 13px;
	background: transparent;
	position: relative;
	cursor: pointer;
}

.tasto-invio:hover{
	border: 1px solid #2eaab1;
	background: #2eaab1;
	transition: 1s;
	color: #fff;
}







.intro-lavori {
  text-align: center;
  margin: 80px auto 30px;
  max-width: 800px;
  padding: 0 20px;
}

.intro-lavori h2 {
  font-size: 2rem;
  color: #2eaab1;
  font-weight: 600;
  letter-spacing: 1px;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.intro-lavori .divider {
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, #2eaab1, #88d9e6);
  margin: 0 auto 15px;
  border-radius: 3px;
}

.intro-lavori p {
  color: #555;
  font-size: 1rem;
  line-height: 1.6;
}









.icons .fab{
	color: #fff;
	margin: 0 13px;
	cursor: pointer;
	padding: 18px 0;
	
}



.partefinale{
	color: #fff;
	text-align: center;
	background-color: #2eaab1;
}


.wrapper{
	color: #555;
}


#slider{
	margin-top: 8%;
	margin-bottom: 8%;
    width:60%;
    display: flex;
    align-items: center;
    justify-content: center;
	margin-left: 20%;
	margin-right: 20%;
}
#img_slider{
    width:100%;
}
#img_slider img{
    width:100%;
    display: none;
}
#img_slider img:nth-child(1){
    display:block;
}
#slider button{
    width:50px;
    height:50px;
    border:solid #fff 2px;
    color:#2eaab1;
    outline:none;
    cursor: pointer;
    background:none;
    border-radius: 25px;
    font-size:40px;
    transition: all 0.1s ease-in-out;
}
#slider button:hover{
    transform:scale(1.05);
}
#slider button:active{
    transform:scale(0.95);
}





@media(max-width: 700px){
	#slider{
	width: 350px;
	margin-left: 3%;
	margin-right: 0%;
	}
}



.chisiamo{
	margin-left: 12%;
	margin-right: 12%;
}


.tastodopo-chisiamo{
	margin-bottom: 2%;
	text-align: center;
}



.tasto-invio-2{
	display: inline-block;
	text-decoration: none;
	color: #2eaab1;
	border: 1px solid #2eaab1;
	padding: 12px 34px;
	font-size: 13px;
	background: transparent;
	position: relative;
	cursor: pointer;
}

.tasto-invio-2:hover{
	border: 1px solid #2eaab1;
	background: #2eaab1;
	transition: 1s;
	color: #fff;
}

.tasto{
	display: inline-block;
	text-decoration: none;
    padding: 12px 34px;
	font-size: 13px;
	background: transparent;
	position: relative;
	cursor: pointer;
}


@media(max-width: 700px){
	.testo-iniziale{
	margin-left: 3%;
	margin-right: 3%;
	}
}


@media(max-width: 700px){
	.testo-iniziale{
	margin-top: 20%;
	}
}





.fotovoltaico-boxes .box-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
}












.container{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 40px 20px 0 20px;
}

.container .heading{
  width: 50%;
  padding-bottom: 50px;
}
.container .heading h3{
  font-size: 3em;
  font-weight: bolder;
  padding-bottom: 10px;
  border-bottom: 3px solid #222;
}

.container .heading h3 span{
  font-weight: 100;
}
.container .box{
 display: flex;
 flex-direction: row;
 justify-content: space-between;
}

.container .box .dream{
  display: flex;
  flex-direction: column;
  width: 32.5%;
}

.container .box .dream img {
  width: 100%;
  padding-bottom: 15px;
  border-radius: 5px;
}

.container .btn{
  margin: 40px 0 70px 0;
  background: #222;
  padding: 15px 40px ;
  border-radius: 5px;
}

.container .btn a{
 color: #fff;
 font-size: 1.2em;
 text-decoration: none;
 font-weight: bolder;
 letter-spacing: 3px;
}

.footer-links {
  margin: 10px 0;      /* meno spazio sopra e sotto */
  text-align: center;
}

.footer-links .tasto-invio {
  display: inline-block;
  background-color: transparent;   /* trasparente per integrarsi con il footer */
  color: #fff;                     /* testo bianco */
  border: 1.5px solid #fff;        /* bordo sottile bianco */
  padding: 6px 14px;               /* più piccolo */
  border-radius: 20px;             /* arrotondato */
  text-decoration: none;
  font-weight: 500;
  font-size: 0.85em;               /* più piccolo */
  transition: all 0.3s ease;
}

.footer-links .tasto-invio:hover {
  background-color: #fff;          /* bianco al passaggio */
  color: #2eaab1;                  /* colore testo brand */
  transform: scale(1.05);
}

@media only screen and (max-width: 769px){
    .container .box{
   flex-direction: column;
  }

.container .box .dream{
  width: 100%;
}





}

@media only screen and (max-width: 643px){
.container .heading{
  width: 100%;
}
.container .heading h3{
  font-size: 1em;

}


.modal {
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;             /* altezza viewport */
    background-color: rgba(0,0,0,0.9);
    
    display: none;             /* parte nascosto */
    justify-content: center;   /* centra orizzontalmente */
    align-items: center;       /* centra verticalmente */
    overflow: auto;            /* permette scroll se immagine piu' grande */
    padding: 20px;             /* margine dai bordi su mobile */
    box-sizing: border-box;
}

.modal-content {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    border-radius: 8px;
    display: block;
    margin: auto;              /* centra immagine se piu' piccola */
}








}

/* menu impianti con più voci*/
.dropdown{
	position:relative;
	display: inline-block;
}

/*Nasconde il menu a tendina */

.dropdown-content{
	margin-top: 10px;
	display: none;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	
}

/* stile del link nel menu a tendina */
.dropdown-content a {
	margin-bottom: 8px;
	padding: 12px 16px;
	text-decoration: none;
	text-align: center;
	display:block;
}

.dropdown-content a:hover{
	background-color: #2eaab1;
}
/* mostra il menu quando si passa sopra il titolo */

.dropdown:hover .dropdown-content{
	display: block;
}


@media(max-width: 700px){
	.dropdown{
	position:static;
	width:100%;
	}

.dropdown-content {
    position: relative;
    background: #2eaab1;
    display: none;
    margin: 0;
    padding: 0;
	max-height:0;
	opacity:0;
	transition: max-height 0.4s ease, opacity 0.3s ease;
  }

  .dropdown.open .dropdown-content {
    display: block;
	max-height: 500px;
	opacity:1;
  }

  .dropdown-content a {
    color: #fff;
    padding: 20px 16px;
	font-size:16px;
	display:flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	white-space: nowrap;

  }

  .dropdown.open > a {
  background-color: #fff;    /* sfondo bianco */
  color: #2eaab1;            /* testo turchese */
  padding: 24px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease; /* effetto fluido */
  white-space: nowrap;
}

  .dropdown-content a:hover {
     background-color: #fff;
    color: #2eaab1;
    transition: 0.3s ease;
  }



}



/* Timeline responsive */
@media(max-width: 768px) {
    .timeline-item {
        width: 100%;
        left: 0 !important;
        padding-left: 60px; /* testo più staccato dal bordo */
        padding-right: 20px;
        margin-bottom: 40px;
    }
    .timeline::before {
        left: 30px; /* pallini più centrati rispetto al testo */
    }
    .timeline-item::before {
        left: 22px;
    }
    .about {
        flex-direction: column;
        gap: 20px;
    }
}



