@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');



/* ----- NAVBAR ----- */

.navbar-custom {

    background: rgba(97, 68, 68, 0.302);

    backdrop-filter: blur(4px);

}

.navbar-nav .nav-link {

    color: white !important;

    margin: 0 10px;

}

.navbar-nav .nav-link:hover {

    border-bottom: 2px solid #d33;

}



#themeToggle{

    border: 2px solid white;

}



/* ----- HOME ----- */

#home {

    height: 100vh;

    padding: 0;

    background-image: url('../image/home-bk.jpg');

    background-size: cover;

    background-position: center;

    position: relative;

    filter: opacity(0.8);  /* 0.5 significa 50% di opacità */

}







#home .overlay-text {

    position: absolute;

    right: 5%;

    bottom: 3%;

    text-align: right;

}



#home h1 {

    font-size: 6rem;

    font-weight: 1500;

    line-height: 0.9;



    font-family: "Oswald", sans-serif;

  font-optical-sizing: auto;

  font-weight: 8;

  font-style: normal;

  color: white;

    font-weight: bolder;

}



#home .subtext{

    color: white;

}



#line {

    height: 3px;

    background: red;

}



.line {

    height: 3px;

    background-color: #d33;

    width: 200px;

    margin-left: auto;

}



.img-fluid{

    /*max-height: 800px;*/

    max-height: 80vh

}



/* --- ANIMAZIONE INIZIALE HOME --- */

.slide-in {

    opacity: 0;

    transform: translateX(-200px);

    animation: slideIn 1.2s ease-out forwards;

    animation-delay: 0.3s;

}



@keyframes slideIn {

    to {

        opacity: 1;

        transform: translateX(0);

    }

}



/* ----- SEZIONI FULL ----- */

section {

    /*height: 100vh;*/

    min-height: 100vh;

    padding-top: 120px;

    padding-bottom: 80px;

}



/* ----- Scroll effect ----- */

.scroll-fade {

    opacity: 0;

    transform: translateY(40px);

    transition: 0.8s ease-out;

}

.scroll-fade.visible {

    opacity: 1;

    transform: translateY(0);

}



/* ----- TITOLI SEZIONI ----- */

.section-title {

    font-weight: 700;

    border-left: 5px solid #d33;

    padding-left: 10px;

}



/* ----- Cards ----- */

.card-custom {

    border: none;

    border-bottom: 3px solid #d33;

    padding-top: 20px;

    transition: 0.3s;

}

.card-custom:hover {

    transform: translateY(-6px);

}





/* ---- Contatti ----*/

.contatti {



    /*background-color: #ffffff;



    min-height: 100vh;



    max-height: auto;*/



    box-sizing: border-box !important;



    margin: 0 !important;



    color: black;



    /*padding-top: 50px;*/



}







.contatti .text {



    display: flex;



    justify-content: center;



    flex-direction: column;



    padding: 5%;



    text-align: left;



}







.contatti .icons {



    display: flex;



    justify-content: left;



    flex-direction: row;



    padding: 0 5% 0 5%;



    text-align: left;



    height: min-content;



}











.contatti .icons .box-link {



    margin: 0 5% 0 5%;



    text-align: center;



    padding: 0 !important;



}







.contatti .icons .box-link a {



    color: black;



    border-bottom: 1px solid black;



    text-decoration: none;



}







.contatti .icons .box-link .image-link {



    margin: 10px 0 10px 0;



}



#mail_response{

    text-align: center;

}



/* ----- FOOTER ----- */

/*footer {

    height: 50vh;

    background: #222;

    color: white;

    display: flex;

    align-items: center;

    padding: 40px;

}*/



footer {



    background-color: #303030 !important;



    min-height: 50vh;



    max-height: auto;



    box-sizing: border-box !important;



    margin: 0 !important;



    color: black;



}



footer h2{

    color: #d33;

}







footer .text {



    display: flex;



    justify-content: left;



    flex-direction: row;



    padding: 5%;



    text-align: left;



    height: min-content;



    align-items: center;



}







footer .text h2 {



    margin: 0;



}







footer .text img {



    height: 100px;



    width: 100px;



}







footer .info {



    justify-content: left;



    padding: 2% 5% 2% 5%;



    display: flex;



    flex-direction:row;



    color: white;



}







footer .info .col div:first-child {



    font-weight: bold;



    padding-bottom: 5px;



}







footer .copyright {



    justify-content: left;



    padding: 2% 5% 2% 5%;



    color: white;



}







footer .info div a {



    color: white;



    text-decoration: none;



}







footer .info div a:hover {



    text-decoration: underline;



}



/* ----- DARK MODE ----- */

.dark-mode {

    background: #181818;

    color: #eee;

}

.dark-mode section {

    background: #222 !important;

}



.dark-mode #home {

    height: 100vh;

    padding: 0;

    background-image: url('../image/home-bk.jpg') !important;

    background-size: cover !important;

    background-position: center !important;

    position: relative !important;

    filter: opacity(0.8) !important;  /* 0.5 significa 50% di opacità */

}



.dark-mode footer {

    background: #222 !important;

}

.dark-mode .navbar-custom {

    background: rgba(20, 20, 20, 0.85);

}

.dark-mode .card-custom {

    background: #333;

    color: #fff;

}





/* Tema Chiaro */

body.light-mode {

    background-color: #f8f9fa; /* Colore di sfondo chiaro */

    color: #000; /* Testo scuro */

}



body.light-mode .contatti-text {

    color: #000; /* Testo nero */

}



body.light-mode .contatti-link {

    color: #0066cc; /* Link blu per tema chiaro */

}



body.light-mode .icons .box-link img {

    filter: none; /* Nessun filtro per le icone */

}



/* Tema Scuro */

body.dark-mode {

    background-color: #333; /* Colore di sfondo scuro */

    color: #fff; /* Testo chiaro */

}



body.dark-mode .contatti-text {

    color: #fff; /* Testo bianco */

}



body.dark-mode .contatti-link {

    color: #fff; /* Link arancione per tema scuro */

}



body.dark-mode .contatti h6{

    color: #fff !important; /* Link arancione per tema scuro */

}



body.dark-mode .contatti a {

    color: #fff !important; /* Link arancione per tema scuro */

    border-bottom: 1px solid white !important;

}



body.dark-mode .icons .box-link img {

    filter: brightness(0) invert(1); /* Inverti le icone per il tema scuro (diventano bianche) */

}













@media screen and (width <=992px) {



    nav {



        height: auto;



    }



    .contatti .icons {



        display: flex;



        justify-content: center;



        flex-direction: column;



        text-align: center;



    }







}





@media screen and (width <1200px) {



    footer .info {



        flex-direction: column;



        justify-content: center;



    }







    footer .info .col{



        margin-top: 20px;



        margin-bottom: 20px;



    }

}