.spinner{border:4px solid #f3f3f3;border-top:4px solid #2c5aa0;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:20px auto;}@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);backdrop-filter:blur(5px);}.modal-content{background-color:white;margin:10% auto;padding:40px;border-radius:10px;width:90%;max-width:600px;position:relative;animation:modalSlideIn 0.3s ease-out;}@keyframes modalSlideIn{from{opacity:0;transform:translateY(-50px);}to{opacity:1;transform:translateY(0);}}.modal-close{position:absolute;top:15px;right:20px;font-size:28px;font-weight:bold;cursor:pointer;color:#aaa;transition:color 0.3s ease;}.modal-close:hover{color:#333;}.alert{padding:15px 20px;margin:20px 0;border-radius:6px;border-left:4px solid;animation:slideDown 0.3s ease-out;}@keyframes slideDown{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}.alert-success{background-color:#d4edda;border-color:#28a745;color:#155724;}.alert-error{background-color:#f8d7da;border-color:#dc3545;color:#721c24;}.alert-info{background-color:#d1ecf1;border-color:#17a2b8;color:#0c5460;}.alert-warning{background-color:#fff3cd;border-color:#ffc107;color:#856404;}.hover-lift{transition:transform 0.3s ease,box-shadow 0.3s ease;}.hover-lift:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,0.15);}.gradient-blue{background:linear-gradient(135deg,#2c5aa0 0%,#1e3a5f 100%);}.gradient-light{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);}.image-overlay{position:relative;overflow:hidden;}.image-overlay::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(44,90,160,0.8);opacity:0;transition:opacity 0.3s ease;z-index:1;}.image-overlay:hover::before{opacity:1;}.image-overlay .overlay-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:white;text-align:center;opacity:0;transition:opacity 0.3s ease;z-index:2;}.image-overlay:hover .overlay-content{opacity:1;}.progress-bar{width:100%;height:6px;background-color:#e9ecef;border-radius:3px;overflow:hidden;}.progress-fill{height:100%;background:linear-gradient(90deg,#2c5aa0,#1e3a5f);border-radius:3px;transition:width 0.8s ease;}.testimonial-card{background:white;padding:30px;border-radius:10px;box-shadow:0 5px 20px rgba(0,0,0,0.1);text-align:center;position:relative;margin-top:20px;}.testimonial-card::before{content:'"';font-size:4rem;color:#2c5aa0;position:absolute;top:-10px;left:20px;font-family:serif;}.testimonial-text{font-style:italic;margin-bottom:20px;font-size:1.1rem;line-height:1.6;}.testimonial-author{font-weight:600;color:#2c5aa0;}.testimonial-role{color:#666;font-size:0.9rem;}.timeline{position:relative;padding:20px 0;}.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:#2c5aa0;transform:translateX(-50%);}.timeline-item{position:relative;margin-bottom:50px;width:50%;}.timeline-item:nth-child(odd){left:0;padding-right:40px;text-align:right;}.timeline-item:nth-child(even){left:50%;padding-left:40px;}.timeline-marker{position:absolute;width:15px;height:15px;background:#2c5aa0;border-radius:50%;top:0;}.timeline-item:nth-child(odd) .timeline-marker{right:-7px;}.timeline-item:nth-child(even) .timeline-marker{left:-7px;}.timeline-content{background:white;padding:20px;border-radius:8px;box-shadow:0 3px 15px rgba(0,0,0,0.1);}.accordion-item{border:1px solid #e9ecef;border-radius:6px;margin-bottom:10px;overflow:hidden;}.accordion-header{background:#f8f9fa;padding:20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background 0.3s ease;}.accordion-header:hover{background:#e9ecef;}.accordion-title{font-weight:600;color:#2c5aa0;margin:0;}.accordion-icon{transition:transform 0.3s ease;}.accordion-item.active .accordion-icon{transform:rotate(180deg);}.accordion-content{max-height:0;overflow:hidden;transition:max-height 0.3s ease;}.accordion-item.active .accordion-content{max-height:1000px;}.accordion-body{padding:20px;}.badge{display:inline-block;padding:4px 12px;font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;border-radius:20px;margin:2px;}.badge-primary{background:#2c5aa0;color:white;}.badge-secondary{background:#6c757d;color:white;}.badge-success{background:#28a745;color:white;}.badge-warning{background:#ffc107;color:#212529;}.breadcrumb{display:flex;list-style:none;padding:15px 0;margin-bottom:20px;}.breadcrumb-item{display:flex;align-items:center;}.breadcrumb-item+.breadcrumb-item::before{content:'/';margin:0 10px;color:#6c757d;}.breadcrumb-item a{color:#2c5aa0;text-decoration:none;transition:color 0.3s ease;}.breadcrumb-item a:hover{color:#1e3a5f;}.breadcrumb-item.active{color:#6c757d;}@media (max-width:768px){.timeline::before{left:20px;}.timeline-item{width:100%;left:0 !important;padding-left:50px !important;padding-right:0 !important;text-align:left !important;}.timeline-marker{left:13px !important;}.modal-content{margin:20% auto;padding:20px;width:95%;}}.nav-item.has-dropdown{position:relative;}.dropdown-arrow{margin-left:4px;font-size:10px;transition:transform 0.3s ease;display:inline-block;}.nav-item.has-dropdown:hover .dropdown-arrow{transform:rotate(180deg);}.dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);background:white;min-width:220px;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,0.15);opacity:0;visibility:hidden;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);z-index:1000;list-style:none;padding:4px 0;margin:0;display:flex;flex-direction:column;gap:0;}.nav-item.has-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}.dropdown-menu li{display:block;width:100%;}.dropdown-link{display:block;padding:8px 20px;color:#1a1a1a;text-decoration:none;font-size:14px;font-weight:500;transition:all 0.2s ease;position:relative;width:100%;box-sizing:border-box;}.dropdown-link::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#002B49;transform:scaleY(0);transition:transform 0.2s ease;}.dropdown-link:hover{background:rgba(0,43,73,0.05);color:#002B49;padding-left:23px;}.dropdown-link:hover::before{transform:scaleY(1);}@media (max-width:768px){.dropdown-menu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;background:rgba(0,43,73,0.05);margin-top:8px;border-radius:4px;display:none;}.nav-item.has-dropdown.dropdown-open .dropdown-menu,.nav-item.has-dropdown:hover .dropdown-menu{display:block;}.dropdown-arrow{display:none;}}