:root { --k: 1353651.53435435; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Arial, sans-serif; line-height: 1.6; background-color: #f5f5f5; color: #333; } .container { max-width: 1200px; margin: 2rem auto; padding: 0 1rem; } h1 { color: #2c3e50; margin-bottom: 1rem; text-align: center; } h2 { color: #34495e; margin-bottom: 0.5rem; } .file-list summary { padding: 0.5rem 1rem; background-color: white; border-radius: 4px; color: #2c3e50; transition: background-color 0.3s; margin-bottom: 0.5em; font-weight: bold; } .file-list summary:hover { background-color: #e0e0e0; } .file-list summary::marker { content: "📁 "; } .file-list details[open] summary::marker { content: "📂 "; } .file-list ul { list-style: none; } .file-list li { margin-left: 0.5rem; } .file-list a::before { content: "📄 "; } .file-list a { display: block; padding: 0.5rem 1rem; background-color: white; border-radius: 4px; text-decoration: none; color: #2c3e50; transition: background-color 0.3s; margin-bottom: 0.5em; } .file-list a:hover { background-color: #e0e0e0; } .link { display: inline-block; margin-bottom: 1rem; color: #3498db; text-decoration: none; } .link:hover { text-decoration: underline; } main { display: flex; flex-flow: wrap; gap: 1rem; margin-bottom: 2rem; } ul { list-style: none; } details { cursor: pointer; } main > table { margin: auto; } td { text-align: left; } .member { border-spacing: 0; margin: 0; border: 8px solid #34495e; border-radius: 6px; } .legend { border-collapse: collapse; border-spacing: 0; } .legend tbody { border: 2px solid black; } .member td, .legend td { border: 2px inset #2c3e50; } .interface { position: relative; text-align: center; min-width: 2em; height: 2em; mix-blend-mode: darken; /*! padding: 0; */ print-color-adjust: exact; cursor: help; transition: 0.2s background-color; } .interface:hover { background-color: #ddd; } .vlan { color: #ecf0f1; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); background-color: hsl(calc(var(--k) * var(--pvid)) 97% 70%); } .vlan:hover { background-color: hsl(calc(var(--k) * var(--pvid)) 65% 70%); } .trunk { font-weight: bold; border: 4px solid !important; border-image-slice: 1 !important; border-image-source: linear-gradient( 127deg, red, orange, yellow, green, blue, violet ) !important; padding: 0; } .hybrid { background-image: linear-gradient( 135deg, hsl(calc(var(--k) * var(--tagged)) 100% 60%) 50%, hsl(calc(var(--k) * var(--untagged)) 100% 60%) 50% ); } .shutdown:not([class*="loopback-detection action shutdown"]) { background-color: lightgray !important; background-image: none !important; color: gray !important; } .poe::before { content: "⚡"; font-size: 0.65em; position: absolute; top: -0.2em; right: -0.25em; } .voice_vlan::after { content: "📞"; font-size: 0.65em; position: absolute; bottom: -0.15em; left: 0; } footer { display: flex; flex-flow: column; align-items: center; } #colorSlider { width: 33%; } @media print { .no-print { display: none; } }