*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f5f5}header{background:url('../../../images/header-bg.jpg') no-repeat center center/cover;padding:0 20px;color:#fff}.header-top{display:flex;align-items:center;justify-content:space-between;height:200px;position:relative}.left-group{display:flex;align-items:center;gap:10px}.logo{flex:0 0 35%;display:flex;align-items:center;height:100%}.logo img{height:auto;max-height:150%;width:100%;object-fit:contain}.menu-toggle{display:none;flex-direction:column;cursor:pointer}.menu-toggle span{height:3px;background:#fff;margin:4px 0;width:25px;border-radius:2px}nav{display:flex;gap:20px;align-items:center}nav a{color:#fff!important;text-decoration:none;font-weight:bold;padding:8px 0}nav a:hover{color:#ff9}.hero-section{position:relative;height:calc(100vh - 140px);background:url('../../../images/sfondo-animato.png') center center/cover no-repeat;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-overlay{background-color:rgba(0,0,0,.5);padding:40px;border-radius:15px;text-align:center}.hero-overlay h1{color:#fff;font-size:2.5rem;animation:fadein 2s ease-in-out}.fade-in{animation:fadeIn .5s ease-in forwards}.fade-out{animation:fadeOut .5s ease-out forwards}@keyframes fadeIn{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}.hero-section::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:1}.hero-section main{position:absolute;top:11%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;width:90%;max-width:800px;padding:20px;padding-top:11%;z-index:3}.hero-section main h1{font-size:2.5rem;margin-bottom:10px}.hero-section main p{font-size:1.2rem}.hero-overlay{position:absolute;top:85%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;z-index:2;width:90%;max-width:800px;padding:15px 20px;border-radius:10px;background-color:rgba(0,0,0,.3);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.hero-overlay h1{font-size:1.4rem;font-style:italic;opacity:.95}@media(max-width:768px){.header-top{flex-wrap:wrap;justify-content:space-between;height:auto;padding-top:10px}.hero-overlay h1{font-size:1.6rem;padding:0 10px}.logo img{height:50%;max-height:100px}nav{display:none;flex-direction:column;position:absolute;top:100%;right:0;width:80%;background-color:rgba(0,0,0,.9);padding:10px;border-radius:0 0 10px 10px;z-index:10}nav.show{display:flex}nav.active{display:flex;flex-direction:column}nav a{color:#fff;padding:12px 20px}.menu-toggle{display:flex}}main{padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center}main h1{margin-bottom:10px;color:#004c99}main p{max-width:800px;font-size:1.1em}.hero-carousel{width:100%;max-width:1000px;margin:8% auto 0 auto;overflow:hidden;position:relative;z-index:3}.carousel-track{display:flex;transition:transform .5s ease-in-out;width:100%}.carousel-slide{flex:0 0 100%;max-width:100%;padding:40px;box-sizing:border-box;color:#fff;text-align:center;background:rgba(255,255,255,.1);backdrop-filter:blur(4px);background-color:rgba(255,255,255,.08);color:#fff;border-radius:12px;box-shadow:0 8px 20px rgba(0,0,0,.3);backdrop-filter:blur(8px);transition:transform .3s ease,box-shadow .3s ease}.carousel-slide h2{font-size:1.8rem;margin-bottom:15px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.carousel-slide p{font-size:1rem;margin-bottom:20px}.carousel-slide a{display:inline-block;padding:10px 20px;background-color:#0078d7;color:#fff;text-decoration:none;border-radius:6px;font-weight:bold;transition:background-color .3s ease}.carousel-slide a:hover{background-color:#005fa3}.carousel-dots{text-align:center;margin-top:20px}.carousel-dots .dot{height:12px;width:12px;margin:0 6px;background-color:#bbb;border-radius:50%;display:inline-block;cursor:pointer;transition:background-color .3s ease}.carousel-dots .dot.active{background-color:#007bff}.slide-dotnet{background:url('../../../imagesLessons/microsoft-dotnet-slide.png') center center/cover no-repeat}.content-columns{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:40px 30px;background:#f5f7fa;border:2px solid #ccc;border-radius:15px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1);margin:40px auto;max-width:90%}.column{flex:1 1 calc(33.333% - 20px);background:#fff;padding:20px;border-radius:10px;box-shadow:0 0 10px rgba(0,0,0,.1)}.column img{width:100%;height:auto;border-radius:8px;margin-bottom:15px}.column p{font-size:.95rem;color:#333;line-height:1.5}.column .read-more{margin-top:10px;padding:8px 14px;background-color:#0056b3;color:#fff;border:none;border-radius:6px;cursor:pointer}.column .read-more:hover{background-color:#003d80}@media(max-width:768px){.column{flex:1 1 100%}}.gallery-scroll{padding:40px 20px;background-color:#eef3f7;overflow-x:auto;border:2px solid #ccc;border-radius:15px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1);margin:40px auto;max-width:90%}.gallery-container{display:flex;gap:24px;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px}.gallery-item{flex:0 0 300px;scroll-snap-align:start;background:#ffffff0a;border-radius:12px;backdrop-filter:blur(8px);padding:20px;min-height:360px;box-shadow:0 8px 16px rgba(0,0,0,.15);display:flex;flex-direction:column;justify-content:space-between}.gallery-item img{width:100%;max-height:150px;object-fit:contain;border-radius:8px;margin-bottom:10px}.gallery-body p{text-align:justify;font-size:.95rem}.gallery-actions{margin-top:15px;display:flex;justify-content:space-between;gap:10px;transition:justify-content .3s ease}.gallery-actions.centered{justify-content:center}.gallery-item .read-more,.gallery-item .download-btn{padding:8px 14px;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background-color .3s}.read-more{background-color:#444;color:#fff}.download-btn{background-color:#0078d7;color:#fff;text-decoration:none;text-align:center}.download-btn:hover{background-color:#005fa3}@media(max-width:768px){.gallery-item{flex:0 0 80%}}.long-text-section{border:2px solid #ccc;border-radius:15px;padding:20px;background-color:#f9f9f9;box-shadow:0 0 10px rgba(0,0,0,.1);margin:40px auto;max-width:90%}.page-content{display:none;text-align:justify;line-height:1.5;width:95%;padding-left:5%}.page-content.active{display:block}#pagination #pagination-presentazione{margin-top:20px;text-align:center;display:flex;justify-content:center;align-items:center;gap:8px;margin:20px auto}.nav-btn{padding:6px 12px;margin:0 5px;background-color:#ccc;border:none;border-radius:5px;cursor:pointer}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.page-number{display:inline-block;margin:0 4px;padding:6px 10px;background-color:#eee;border-radius:5px;cursor:pointer}.page-number.active{background-color:#0056b3;color:#fff}.contact-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background-color:#f8f9fa;border-radius:12px;box-shadow:0 0 20px rgba(0,0,0,.1);margin:60px auto;max-width:700px}.contact-section h2{font-size:2rem;margin-bottom:30px;color:#004080}.contact-form{display:flex;flex-direction:column;width:100%;max-width:500px}.form-group{margin-bottom:20px}.form-group label{font-weight:600;margin-bottom:6px;display:block;color:#333}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:1px solid #ccc;border-radius:6px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;outline:none}.submit-btn{background-color:#007bff;color:#fff;border:none;padding:14px 24px;font-size:1rem;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.submit-btn:hover{background-color:#0056b3}.contact-message{margin-top:15px;text-align:center;font-size:.95rem;padding:10px 15px;border-radius:6px;background-color:#ffe9e9;color:#c00;border:1px solid #fcc;transition:all .3s ease}.contact-message.error{background-color:#ffe9e9;color:#c00;border:1px solid #fcc}.site-footer{background:url('../../../images/header-bg.jpg') center center/cover no-repeat;color:#fff;padding:40px 20px;font-family:sans-serif}.footer-container{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:1200px;margin:auto;gap:40px}.footer-column{flex:1 1 250px;min-width:200px}.footer-column h3{color:#fff;margin-bottom:15px;font-size:1.1rem}.footer-menu{list-style:none;padding:0;margin:0}.footer-menu li{margin-bottom:10px}.footer-menu a{color:#ccc;text-decoration:none;transition:color .3s}.footer-menu a:hover{color:#fff}.footer-logo{flex:1 1 200px;display:flex;align-items:center;justify-content:flex-start}.footer-logo img{transform:scale(1.9);transform-origin:left center;max-height:80%;max-width:150px;height:auto;object-fit:contain;filter:brightness(1.1)}@media(max-width:768px){.footer-container{flex-direction:column;align-items:flex-start}.footer-column{margin-bottom:20px}.footer-logo{justify-content:center;margin-bottom:20px}.footer-logo img{max-width:120px}}#scrollToTopBtn{position:fixed;bottom:25px;right:25px;width:40px;height:40px;background-color:#0056b3;color:#fff;font-size:22px;border:none;border-radius:6px;cursor:pointer;display:none;z-index:1000;box-shadow:0 4px 6px rgba(0,0,0,.2);transition:background-color .3s ease}#scrollToTopBtn:hover{background-color:#003d80}.comment-section{margin-top:30px;padding:20px;border-top:1px solid #ddd;background-color:#f9f9f9}.comment-form{display:flex;flex-direction:column;gap:10px}.comment-form input,.comment-form textarea{padding:8px;font-size:14px;width:100%;border:1px solid #ccc;border-radius:4px}.comment-form button{width:100px;align-self:flex-start;background-color:#0057b7;color:#fff;border:none;padding:8px;border-radius:4px;cursor:pointer}.comment-list{margin-top:20px}.comment-item{padding:10px;margin-bottom:10px;border-left:4px solid #07c;border-radius:4px;background-color:#fff;position:relative}.comment-item.reply{margin-left:40px;background-color:#f5f5f5;border-left-color:#999}.comment-loader{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px;color:#555;font-size:.95rem}.spinner{width:20px;height:20px;border:3px solid #ccc;border-top:3px solid #07c;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.reply-btn{display:inline-block;font-size:.9rem;color:#07c;background-color:rgba(0,119,204,.1);border:1px solid #07c;padding:6px 12px;border-radius:20px;cursor:pointer;transition:all .25s ease;font-weight:600}.reply-btn:hover{background-color:#07c;color:#fff;box-shadow:0 2px 6px rgba(0,119,204,.3);transform:scale(1.03)}.reply-form{background-color:#f7f9fc;border:1px solid #d0d6dd;border-radius:8px;padding:15px;margin-top:10px;box-shadow:0 2px 8px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:10px;animation:fadeIn .3s ease}.reply-form input[type="text"],.reply-form textarea{font-family:inherit;font-size:.95rem;padding:10px 12px;border:1px solid #c5cbd5;border-radius:5px;outline:none;transition:border .2s ease;width:100%;background-color:#fff}.reply-form input[type="text"]:focus,.reply-form textarea:focus{border-color:#07c;box-shadow:0 0 0 2px rgba(0,119,204,.2)}.reply-form textarea{min-height:80px;resize:vertical}.reply-form button{align-self:flex-end;padding:8px 16px;background-color:#07c;color:#fff;border:none;border-radius:5px;font-weight:600;cursor:pointer;transition:background .2s ease}.reply-form button:hover{background-color:#005fa3}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.comment-list{margin-top:20px}