.author-avatar img,.header-image-container img{width:100%;height:100%;object-fit:cover}.overlay,body{min-height:100vh}body{font-family:Inter,sans-serif;background-image:url('assets/SmartSelect_20250201_131436_Gallery.png');background-size:cover;background-attachment:fixed;background-repeat:no-repeat;background-color:rgba(224,242,247,.8);display:flex;flex-direction:column;padding-top:55px}.container{max-width:1200px;margin:0 auto;padding:1rem}.company-card{background-color:#fff;border:2px solid #9ca3af;border-radius:1rem;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:1rem;margin-bottom:1.5rem;transition:transform .2s ease-in-out;display:flex;flex-direction:column}.company-card:hover{transform:translateY(-5px)}.company-title-block{color:#fff;padding:.75rem 1rem;border-radius:.75rem;text-align:center;font-size:1.5rem;font-weight:700;margin-bottom:1rem;box-shadow:0 2px 6px rgba(0,0,0,.2);background-image:linear-gradient(to right,#253444,#0056b3);flex-shrink:0}.contact-info,.notes{font-size:.875rem;white-space:pre-wrap}.company-title-block h3{margin:0}.schedule-table{width:100%;border-collapse:collapse;margin-top:.5rem;flex-grow:1}.schedule-table td,.schedule-table th{padding:.6rem .8rem;text-align:center;border-bottom:1px solid #e2e8f0}.schedule-table th{background-color:#f0f4f8;font-weight:600;color:#4a5568;border-radius:.5rem .5rem 0 0}.schedule-table tr:last-child td{border-bottom:none}.notes{color:#ef4444;margin-top:1rem}.contact-info{color:#6b7280;margin-top:.5rem}.passed-time{color:#9ca3af;text-decoration:line-through;transition:opacity .3s ease-in-out}.next-ferry-time{background-color:#d1fae5;font-weight:700;color:#065f46;border-radius:.25rem}.header-image-container{position:relative;width:100%;height:200px;overflow:hidden;border-radius:0 0 3rem 3rem;display:flex;align-items:center;justify-content:center}.header-image-container img{filter:brightness(70%)}.header-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;z-index:10;padding:1rem;width:100%}.modal-overlay,nav{position:fixed;top:0;z-index:1000}.about-author-section{background-color:#ffffff6e;border-radius:1rem;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:2rem;margin-top:2rem;text-align:center}.author-avatar{width:100px;height:100px;border-radius:50%;overflow:hidden;border:3px solid #007bff;box-shadow:0 2px 8px rgba(0,0,0,.2);margin:0 auto 1rem}.download-section{background-color:#ffffffc2;border-radius:1rem;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:2rem;margin-top:2rem;text-align:center}.download-section img{max-width:100%;height:auto;border-radius:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.15);margin:0 auto 1.5rem;display:block}.download-button{display:inline-block;background-color:#28a745;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;text-decoration:none;transition:background-color .2s ease-in-out,transform .2s ease-in-out;box-shadow:0 2px 6px rgba(40,167,69,.3)}.add-to-home-button,.instagram-button{display:inline-flex;color:#fff;padding:.75rem 1.5rem;font-weight:600;text-decoration:none}.download-button:hover{background-color:#218838;transform:translateY(-2px)}.instagram-button{align-items:center;background:linear-gradient(45deg,#f09433 0,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);border-radius:.5rem;margin-top:1rem;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;box-shadow:0 2px 6px rgba(220,40,67,.4)}.instagram-button:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(220,40,67,.6)}.add-to-home-button svg,.instagram-icon{width:20px;height:20px;margin-right:.5rem;fill:currentColor}.add-to-home-button{align-items:center;background-color:#007bff;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease-in-out,transform .2s ease-in-out;box-shadow:0 2px 6px rgba(0,123,255,.3);margin-bottom:1.5rem}.add-to-home-button:hover{background-color:#0056b3;transform:translateY(-2px)}.modal-overlay{left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s ease-in-out}.modal-overlay.show{opacity:1;visibility:visible}.modal-content{background-color:#fff;padding:2rem;border-radius:1rem;box-shadow:0 8px 24px rgba(0,0,0,.3);max-width:500px;width:90%;position:relative;transform:translateY(20px);transition:transform .3s ease-in-out}.modal-overlay.show .modal-content{transform:translateY(0)}.modal-close-button{position:absolute;top:1rem;right:1rem;background:0 0;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280}.modal-content h3{font-size:1.75rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem;text-align:center}.modal-content ol{list-style:decimal;padding-left:1.5rem;margin-bottom:1.5rem}.modal-content ol li{margin-bottom:.75rem;color:#374151;line-height:1.6}.modal-content ol li strong{color:#007bff}.modal-content .tip{background-color:#e0f2f7;border-left:4px solid #007bff;padding:1rem;border-radius:.5rem;font-size:.9rem;color:#374151;margin-top:1.5rem}.suspension-main-card{background-color:#fff;border-radius:1rem;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:1.5rem;margin-bottom:1.5rem;text-align:center;border:none}.suspension-main-card h2{color:#c62828;margin-bottom:1.5rem;font-size:2rem;font-weight:700}.suspension-item{background-color:#f8f9fa;border-radius:.75rem;padding:.8rem;margin-bottom:.8rem;border:1px solid #e9ecef;text-align:left;display:block;position:relative}.suspension-item:last-child{margin-bottom:0}.suspension-item .date{font-weight:700;color:#495057;margin-bottom:.3rem;font-size:.95rem}.suspension-item .notes,.suspension-item .reason{font-size:.85rem;color:#6c757d}.suspension-item .affected-companies{font-size:.9rem;color:#343a40;font-weight:500;margin-top:.3rem}.status-tag{display:inline-block;padding:.25rem .75rem;border-radius:.5rem;font-weight:600;font-size:.85rem;margin-left:.5rem;vertical-align:middle;text-align:center;white-space:nowrap}.utility-section,.warning-section{border-radius:1rem;text-align:center}.status-tag.normal{background-color:#d1fae5;color:#065f46}.status-tag.partial{background-color:#ffeccf;color:#ea580c}.status-tag.suspended{background-color:#fecaca;color:#b91c1c}.status-tag.unknown{background-color:#e5e7eb;color:#4b5563}@media (min-width:768px){.grid-cols-1-md-2{grid-template-columns:repeat(2,minmax(0,1fr))}.header-image-container{height:250px}.suspension-main-card #suspension-notices-display{display:block}}@media (min-width:1024px){.container{max-width:900px;padding:1.5rem 2rem}.grid-cols-1-lg-3{grid-template-columns:repeat(3,minmax(0,1fr))}.header-image-container{height:300px}}.utility-section{background-color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:2rem;margin-top:2rem;margin-bottom:1.5rem}.utility-section h2{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem}.more-about-me-button{display:inline-flex;align-items:center;background:linear-gradient(45deg,#20bf55,#01baef);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;text-decoration:none;margin-top:1rem;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;box-shadow:0 2px 6px rgba(32,191,85,.4)}.warning-section,.weather-section{box-shadow:0 4px 12px rgba(0,0,0,.1);margin-top:2rem;margin-bottom:1.5rem}.more-about-me-button:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(32,191,85,.6)}.warning-section{background-color:#fffbeb;padding:2rem;border:2px solid #f59e0b;color:#d97706}.warning-section h2{font-size:2rem;font-weight:700;color:#d97706;margin-bottom:1rem}.warning-section p{font-size:1.1rem;line-height:1.6;margin-bottom:.5rem}.weather-section{padding:20px;background-color:#ffffffa8;border-radius:1rem;display:flex;flex-direction:column}.section-title{font-size:2rem;font-weight:700;color:#000;margin-top:0;margin-bottom:1.5rem;padding-bottom:10px;border-bottom:2px solid;border-image:linear-gradient(to right,transparent,#007bff,transparent) 4;text-align:center;width:100%}.temperature,.weather-card-header{margin-bottom:15px}.weather-card{background-color:#62b6fa;border-radius:10px;padding:15px;box-shadow:0 2px 5px rgba(216,212,212,.1)}.weather-card-header h2{margin:0;font-size:1.2rem;color:#000}.temperature{display:flex;align-items:center}.weather-icon{width:64px;height:64px}.temperature span{font-size:2.5rem;font-weight:700;margin-left:10px}.weather-details{display:flex;justify-content:space-between;margin-bottom:10px}.air-quality,.weather-details span{color:#000}nav{display:flex;justify-content:space-between;align-items:center;background-color:rgba(10,109,202,.7);padding:.2rem 2rem;width:100%}nav .nav-left img{height:50px}nav .nav-right a{color:#fff;text-decoration:none;margin-left:1.5rem;font-weight:700;font-size:1rem;transition:color .3s}nav .nav-right a:hover{color:#63e6be}.overlay{background:rgba(0,0,0,.5);padding:2rem;display:flex;flex-direction:column;justify-content:center}#visitor-count{display:inline-block;padding:.5rem 1.2rem;background:rgba(0,0,0,.4);color:#fff;font-size:1rem;font-weight:500;border-radius:999px;backdrop-filter:blur(6px);box-shadow:0 4px 12px rgba(0,0,0,.2);margin:2rem auto 2.5rem;text-align:center;animation:1s ease-out fadeIn}#visitor-count:hover{background:rgba(0,0,0,.6);transform:scale(1.05);transition:.3s}.ticket-info{background:rgba(255,255,255,.85);padding:1rem;margin-top:1rem;border-left:4px solid #1c7ed6;border-radius:.75rem;font-size:.95rem;color:#1f2937;line-height:1.6}.ticket-info ul{list-style:disc;margin-left:1.5rem;margin-bottom:.5rem}.ticket-info li{margin-bottom:.3rem}.ticket-info strong{color:#e03131}