body {
    align-items: center;
    margin: 0%;
    height: fit-content;
}

/*CAMBIO TEMA*/
#change_mode{
    width: 20px;
    padding: 0;
    border-radius: 50px;
    box-shadow: 0px 0px 0px white;
    background-color: white;
    text-align: center;
}
  
#change_mode:hover {
    cursor: pointer;
    background-color: grey;
}
  
#button_mode {
    width: fit-content;
    height: fit-content;
    align-items: center;
    align-content: center;
    justify-content: center;
    justify-items: center;
    top: 4.5vh;
    margin-left: -95%;
    background-color: black;
    position: relative;
    display: flex;
    position: absolute;
}

@media (max-width:678px) {
    #button_mode {
        width: 40px;
        top: 1.3vh;
        margin-right: 0%;
    }

    #change_mode{
        width: 40px;
    }
}
  
/*BODY DARK*/
.dark-mode {
    margin: 0;
    background-color: black;
    color: white;

    .contatti .colonna2 .links a {
        border: 2px solid white;
        color: white;
    }
    form button {
        background-color: white;
        color: black;
    }
    input, select, textarea {
        border: 1px solid white; 
        background-color: black;
        color: white;
    }
}
  
/*BODY LIGHT*/
body {
    margin: 0;
    background-color: white;
    color: black;
}

/*TOPNAV*/

.topnav {
    height: fit-content;
    width: 100vw;
    min-height: 6vh;
    background-color: black;
    padding-top: 1.5%;
    padding-bottom: 1.5%;
    position: fixed;
    align-items: center;
    align-content: center;
    text-align: center;
    justify-content: center;
    z-index: 2;

    #logo {
        display: inline-block;
        min-width: 40px;
        max-width: 4%;
        justify-content: center;
        box-shadow: 0px 0px 10px white;
        border-radius: 50%;
        animation: sizeInLogo 1s;
    }
}
@keyframes sizeInLogo {
    0% { min-width: 0%; box-shadow: 10px 0px 0px white; }
    100% { min-width: 100%; box-shadow: 0px 0px 10px white; }
}


.topnavmobile {
    display: none;  /*"display: none" non permette la visualizzazione del menu mobile su desktop*/
}

/*TOPNAV SU DISPOSITIVI MOBILI*/
@media (max-width:678px) {
    .topnavmobile {
        display: flex;   /*ora il menu mobile viene mostrato su dispositivi mobili*/
        flex-direction: row;
        height: fit-content;
        width: 100vw;
        min-height: 6vh;
        background-color: black;
        padding-top: 1.5%;
        padding-bottom: 1.5%;
        position: fixed;
        align-items: center;
        align-content: center;
        text-align: center;
        justify-content: center;
        z-index: 2;
    }
    
    .iconamenu {
        width: 4vw;
        height: 4vw;
        display: flex;
        margin-left: 20px;
        margin-right: 20px;

    }
    
    .topnav {
        display: none; /*"display: none" su ".topnav" non mostra il menu desktop che viene sostituito da ".topnavmobile"*/
    }
    
    .alogo {
        margin-left: 20%;
        margin-right: 20%;
    }

}

nav {
    justify-items: center;
    text-align: center;
    text-justify: center;
    justify-content: center;
    display: flex;

    .linkmenu {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 1em;
        font-weight: bold;
        color: white;
        text-decoration: none;
        text-align: center;
        margin-left: 2%;
        margin-right: 2%;
        justify-content: center;
        align-items: center;
        align-content: center;
        animation: fadeInNav 1s;
    }

    .alogo {
        width: 40px;
        height: 40px;
        display: flex;
        border-radius: 50%;
        margin-left: 2%;
        margin-right: 2%;
    }
}

.linkmenu:hover {
    color: rgb(116, 116, 116);
}



/*CONTENUTO DELLA PAGINA*/

/*SEZIONE DEI CONTATTI*/
.contatti {
    height: 100vh;
    width: 100vw;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    justify-items: center;
    margin:0%;
    overflow: hidden;
    animation: contatti 0.7s;

    /*COLONNA 1*/
    .colonna1 {
        align-self: center;
        width: fit-content;
        display: grid;
        padding-left: 10%;
        padding-right: 10%;
        
        h1 {
            font-family: Arial, Helvetica, sans-serif;
            font-size: 10vh;
            float: none;
            align-items: center;
        }
        
        .orari {
            display: block;
            float:none;
            font-family: Arial, Helvetica, sans-serif;
            font-weight: bold;
        }
    }
    
    
    /*COLONNA 2*/
    
    .colonna2 {
        display: inline-block;
        align-items: center;
        width: fit-content;
        padding-left: 10%;
        padding-right: 10%;
        .links {
            position:relative;
            font-family: Arial, Helvetica, sans-serif;
            font-weight: bold;
            display:inline-block;
            width: fit-content;
        }
    
        a.links:hover {
            text-decoration: underline;
        }
        
        .links a {
            border: 2px solid black;
            padding: 2%;
            text-decoration: none;
            color: rgb(111, 111, 111);
            font-weight: bold;
        }
    }
}

@keyframes contatti {
    0% {opacity: 0%;}
    100% {opacity: 100%;}
}

/*ELEMENTI RESPONSIVE DEL CONTENITORE ".contatti"*/
@media (max-width:678px) {
    .contatti {
        display: flex;
        flex-direction: column;
    }

    .colonna1 {
        display: block;
        padding: 0%;
    }

    h1 {
        align-items: center;
        display: flex;
        justify-content: center;
    }

    .colonna2 {
        display: flex;
        left: 0;
        padding-top: 0%;
    }

    .links {
        padding-top: 15%;
        display: flex;
        flex-direction: column;
    }

    .orari {
        align-items: center;
        justify-items: center;
        justify-content: center;
        padding: 10%;
        display: flex;
        flex-direction: column;
    }
}


/*FORM DI CONTATTO*/

.sfondoform {
    border-radius: 5px;
    min-height: 100vh;
    margin-top: 5%;
    margin-bottom: 5%;

    form {
        width: 100vw;
        align-items: center;
        justify-items: center;
        display: grid;
    }
}

h2 {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 5vh;
    font:bold;
    text-align: center;
}

input, select, textarea {
    width: 30%; 
    padding: 12px;
    border: 1px solid #000000; 
    border-radius: 4px; 
    box-sizing: border-box; 
    margin-top: 6px; 
    margin-bottom: 16px; 
    resize: vertical; 
    font-family: Arial, Helvetica, sans-serif;
}

button {
    background-color: black;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
}

button:hover {
  background-color: #525252;
}

/*RIDIMENSIONAMENTO DEL FORM SU DISPOSITIVI MOBILI*/

@media (max-width: 500px) {
    input[type=text], select, textarea {
        width: 90%; 
        padding: 12px; 
        border: 1px solid #ccc; 
        border-radius: 4px; 
        box-sizing: border-box; 
        margin-top: 6px; 
        margin-bottom: 16px; 
        resize: vertical;
    }

    input[type=number], select, textarea {
        width: 90%; 
        padding: 12px; 
        border: 1px solid #ccc; 
        border-radius: 4px; 
        box-sizing: border-box; 
        margin-top: 6px; 
        margin-bottom: 16px; 
        resize: vertical;
    }
}


iframe {
    width: 100vw;
    height: 60vh;
    border: 0;
    margin: 0;
    padding: 0;
}


/*FOOTER*/

footer {
    min-height: 62vh;
    width: 100vw;
    background-color: black;
    display: grid;
    align-content: center;
    text-align: center;
    justify-content: center;
    justify-items: center;
}
  
.footer {
    animation: fadeInFooter 1.5s;
}
  
@keyframes fadeInFooter {
    0% {opacity: 0%;}
    100% {opacity: 100%;}
}
  
#logofooter {
    display: flex;
    width: 15%;
}
  
.logofooter {
    justify-items: center;
    display: grid;
    margin: 10%;
}
  
#emailfooter {
    font-family: Arial, Helvetica, sans-serif;
    color: white;
    text-decoration: none;
}
  
footer p {
    font-family: Arial, Helvetica, sans-serif;
    color: rgb(135, 135, 135);
}
  
#zinco {
    width: 70px;
    margin: 15%;
}
  
@media (max-width:768px) {
    footer p {
      padding-left: 10%;
      padding-right: 10%;
      display: grid;
    }
  
    #emailfooter {
      padding: 5%;
      display: block;
    }
}