* { margin: 0; padding: 0; box-sizing: border-box; } html { font-size: 16px; background-color: #cdcdcd; } body { margin: 2rem 0; width: 100%; } header { text-align: center; padding: 2rem 0; max-width: 100%; } header h1 { font-size: 4rem; } header h2 { font-size: 2rem; } footer { text-align: center; position: absolute; bottom: 0; width: 100%; padding: 1rem; } footer a { text-decoration: none; } main { padding: 2.5rem; margin: 1.7rem auto; max-width: 100%; max-width: 1100px; text-align: center; align-items: center; align-content: center; } main hr { margin: 2.7rem auto; max-width: 50%; color: #4e464644; } .link-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); /* Maximum 3 columns */ gap: 1rem; } .link { border: 1px solid #ddd; padding: 1rem; text-align: center; border-radius: 8px; transition: transform 0.2s, box-shadow 0.2s; } .link:hover { transform: scale(1.15); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } .link img { max-width: 100%; height: auto; } .link .link-icon { width: 24px; height: 24px; margin-right: 8px; } .link a { display: flex; align-items: center; text-decoration: none; color: #000; width: 100%; height: 100%; } .link h2 { font-size: 24px; } @media (max-width: 700px) { header { padding: 1rem 0; } main { padding: 0.3rem 1.7rem; margin: 0.7rem auto; } main hr { margin: 1.7rem auto; } footer { text-align: center; position: relative; bottom: 0; width: 100%; padding: 1rem; } }