html {
scroll-padding-top: 70px;
}
:root {
--primary-color: #1e3a5f; /* Blu scuro */
--secondary-color: #000000;
--accent-color: #64748b; /* Grigio metallizzato */
--text-color: #0f172a;
--white: #ffffff;
--shadow: rgba(0, 0, 0, 0.1);
}
body {
font-family: 'Lato', sans-serif;
background-image: url('sfondo.jpg');
background-attachment: fixed;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-color: var(--secondary-color);
color: var(--text-color);
line-height: 1.6;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Montserrat', sans-serif;
}
.navbar {
font-family: 'Montserrat', sans-serif;
}
.hero {
color: white;
padding: 100px 0;
margin-bottom: 40px;
position: relative;
}
.section-title {
position: relative;
margin-bottom: 30px;
padding-bottom: 15px;
font-weight: 600;
}
.section-title::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 70px;
height: 4px;
background: var(--primary-color);
}
.card {
border: none;
border-radius: 12px;
box-shadow: 0 8px 20px var(--shadow);
transition: transform 0.3s ease, box-shadow 0.3s ease;
background-color: var(--white);
overflow: hidden;
}
.card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
}
.card-img-top {
height: 220px;
object-fit: cover;
}
.card-title {
color: var(--primary-color);
font-weight: bold;
}
.form-container {
background: var(--white);
border-radius: 15px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
padding: 35px;
margin-bottom: 50px;
}
.form-label {
font-weight: 600;
color: #333;
}
.form-control,
.form-select {
border: 2px solid #cbd5e1;
border-radius: 8px;
padding: 12px 15px;
transition: all 0.3s ease;
}
.form-control:focus,
.form-select:focus {
border-color: var(--primary-color);
box-shadow: 0 0 0 0.25rem rgba(30, 58, 95, 0.2);
}
.btn-primary {
background-color: var(--primary-color);
border: none;
padding: 12px 30px;
font-weight: 600;
border-radius: 8px;
transition: all 0.3s ease;
}
.btn-primary:hover {
background-color: #172d4d;
transform: translateY(-2px);
}
.benefit-item {
display: flex;
align-items: center;
margin-bottom: 20px;
}
.benefit-icon {
background-color: rgba(30, 58, 95, 0.1);
color: var(--primary-color);
width: 50px;
height: 50px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-right: 15px;
font-size: 20px;
}
.testimonial-card {
background: var(--white);
border-radius: 12px;
padding: 25px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
margin-bottom: 20px;
position: relative;
}
.testimonial-author img {
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 15px;
object-fit: cover;
}
.footer {
background: var(--primary-color);
color: #ccc;
padding: 50px 0 20px;
}
.footer a {
color: #ddd;
text-decoration: none;
}
.footer a:hover {
color: var(--white);
}
.social-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
background: rgba(255, 255, 255, 0.1);
border-radius: 50%;
margin-right: 10px;
transition: all 0.3s ease;
}
.social-icon:hover {
background: var(--accent-color);
color: white;
}
.back-to-top {
position: fixed;
bottom: 30px;
right: 30px;
width: 50px;
height: 50px;
background-color: var(--primary-color);
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
transition: all 0.3s ease;
opacity: 0;
visibility: hidden;
z-index: 999;
}
.back-to-top.active {
opacity: 1;
visibility: visible;
}
.back-to-top:hover {
background-color: #172d4d;
transform: translateY(-3px);
}
@media (max-width: 768px) {
.hero .container.position-relative.z-1 {
display: none;
}
#auto {
transform: translateY(-40px);
}
}
.white-text {
color: #ffffff !important;
}
.background-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5); /* Nero semi-trasparente */
z-index: -2; /* Mantiene l'overlay sotto il contenuto */
}
.slideshow-container {
position: relative;
width: 100%;
height: 100%;
}
.mySlides {
left: 0;
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
transition: opacity 1s ease-in-out;
}
.mySlides.active {
opacity: 1;
}
@media (max-width: 768px) {
.position-absolute.top-0.start-0.w-100.h-100[style*="z-index: -2; background-color: rgba(0, 0, 0, 0.4);"] {
display: none !important;
}
}