@charset "utf-8";
:root{

    --blu:#0b3b63;
    --blu-chiaro:#14568f;

    --sabbia:#f5f1e8;
    --testo:#333333;

    --ombra:0 8px 30px rgba(0,0,0,.12);

}


html{

    scroll-behavior:smooth;

}
.galleria-home{

    padding:90px 0;

    text-align:center;

}

.galleria-home h2{

    margin-bottom:25px;

}

.galleria-home p{

    max-width:900px;

    margin:0 auto 50px;

    font-size:22px;

}

.gallery{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:22px;

}

.gallery img{

    width:100%;

    aspect-ratio:16/9;

    object-fit:cover;

    border-radius:12px;

    box-shadow:0 8px 20px rgba(0,0,0,.18);

    transition:.35s;

    cursor:pointer;

}

.gallery img:hover{

    transform:scale(1.03);

    box-shadow:0 18px 35px rgba(0,0,0,.30);

}
.gallery img.mappa{

    aspect-ratio:auto;

    object-fit:contain;

    max-width:420px;

    margin:auto;

    display:block;

}

body{

    margin:0;

    font-family:Verdana, Arial, sans-serif;

    font-size:20px;

    line-height:1.7;

    color:#333;

    background:#f5f1e8;

}
.centro {
  text-align: center; margin:0 auto;
}

img{

    display:block;

    max-width:100%;

    height:auto;

}

a{

    color:var(--blu);

    text-decoration:none;

    transition:.3s;

}

a:hover{

    color:var(--blu-chiaro);

}

.wrapper{

    max-width:1200px;

    margin:auto;

    background:white;

}
#lightbox{

    display:none;

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.9);

    justify-content:center;

    align-items:center;

    z-index:9999;

}

#lightbox img{

    max-width:95%;

    max-height:95%;

    border-radius:8px;

}

#close{

    position:absolute;

    top:25px;

    right:35px;

    color:#fff;

    font-size:50px;

    cursor:pointer;

}


header{

    background:#fff;

    box-shadow:0 2px 10px rgba(0,0,0,.08);

    position:sticky;

    top:0;

    z-index:0;

}
.hero-image{
    width:100%;
    max-width:1200px;
    margin:18px auto 0;
	
}

.hero-image img{
    display:block;
    width:100%;
    height:auto;
	background-attachment:fixed;
}

.scheda{

background:#f8f5ef;

border-left:6px solid #0b3b63;

padding:25px;

margin:40px 0;

border-radius:10px;

}

.scheda ul{

list-style:none;

padding:0;

}

.scheda li{

padding:8px 0;

border-bottom:1px solid #ddd;

}

.scheda li:last-child{

border-bottom:none;

}

.logo{

    text-align:center;

    padding:25px 0;

}

.logo img{

    width:320px;

    margin:auto;

}
nav{

    background:#0b3b63;

}

nav ul{

    display:flex;

    justify-content:center;

    gap:35px;

    list-style:none;

    margin:0;

    padding:18px 0;

}

nav a{

    color:white;

    text-decoration:none;

    font-size:18px;

    font-weight:bold;

    transition:.3s;

}

nav a:hover{

    color:#f5d57b;

}
.hero{

    max-width:100%;

    text-align:center;

    padding:70px 40px;

}
.hero p{

    max-width:900px;

    margin:30px auto;

    text-align:justify;

    font-size:22px;

}
h1{

    font-size:64px;

    color:#0b3b63;

    margin-bottom:20px;

}

h2{

    font-size:36px;

    color:#7a5c45;

    margin-bottom:20px;

}

h3{

    font-size:1.6rem;

    margin-bottom:10px;

}
p{

    margin-bottom:25px;

}
.btn{

    display:inline-block;

    padding:18px 45px;

    background:#0b3b63;

    color:white;

    border-radius:40px;

    font-size:20px;

    font-weight:bold;

}

.btn:hover{

    background:#14568f;

}
section{

    padding:40px 0;

}
.tappe,
.galleria-home{

    padding:45px 0;

}
.grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:40px;
}

.grid article{

    background:white;

    padding:35px;

    border-radius:15px;

    text-align:center;

    box-shadow:var(--ombra);

}
footer{
    width:96%;
    margin:30px auto;
    text-align:center;
    color:#888;
    font-family:monospace;
    font-size:small;
    line-height:1.7;
}

footer h5{
    margin:15px 0;
    text-align:center;
    font-weight:normal;
}

footer img{
    display:inline-block;
    margin:8px 4px;
    vertical-align:middle;
}


#copy{
    margin-top:20px;
    text-align:center;
    font-family:"Courier New", Courier, monospace;
    font-size:small;
}

.clear{
    clear:both;
}
/* Effetto zoom immagini pagina Tappe */
.grid article picture {
    display: block;
    overflow: hidden;
    border-radius: 10px;
}

.grid article picture img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    transition: transform 0.4s ease;
    transform-origin: center center;
}

.grid article picture img:hover {
    transform: scale(1.10);
}
@media(max-width:900px){

header .container{

    flex-direction:column;

}
.grid{
        grid-template-columns:repeat(2,1fr);
    }

nav ul{

    flex-wrap:wrap;

    justify-content:center;

    margin-top:20px;

}

.hero-box{

    padding:35px;

}

h1{

    font-size:2.3rem;

}

h2{

    font-size:1.6rem;

}

}

@media(max-width:600px){

body{

    font-size:17px;

}

.hero{

    min-height:70vh;

}

.hero-box{

    padding:25px;

}

.btn{

    width:100%;

    text-align:center;

}
.grid{
        grid-template-columns:1fr;
    }

}
