@import url('https://fonts.googleapis.com/css2?family=Share:wght@700&family=Ubuntu+Mono&family=Ubuntu:wght@300;700&display=swap'); /* @import url('https://fonts.googleapis.com/css2?family=Sen&family=Work+Sans:wght@700&display=swap'); */ :root { --font-title: 'Share', cursive; --font-text: 'Ubuntu', sans-serif; --font-mono: 'Ubuntu Mono', monospace; } * { box-sizing: border-box; } html, body { position: relative; margin: 0; min-height: 100%; width: 100vw; overflow-x: hidden; font-family: var(--font-text); font-weight: 300; font-size: 17px; line-height: 1.25; } html { background: white; height: 100%; min-height: 100%; } body { margin: 0 auto; padding-bottom: 5rem; max-width: 850px; text-align: justify; background: white; } /* Typography */ h1, h2, h3, h4 { margin: 0; font-family: var(--font-title); font-weight: 700; } p { margin: 0.75rem 0; } p:last-child { margin-bottom: 0; } /* Elements */ nav { margin-bottom: 1rem; display: flex; flex-wrap: wrap; border: 4px solid; border-top: none; gap: 2px; /* border-bottom: 1rem solid black; */ } .nav-item { flex-grow: 1; display: flex; align-items: center; justify-content: center; height: 2.5rem; padding: 0 0.75rem; margin: -2px; font-size: 130%; font-weight: bold; border: 2px solid; } nav a { text-decoration: none; } section { border: 4px solid; padding: 1rem; margin-bottom: 1rem; } header { display: flex; width: 100%; justify-content: center; margin: 2.5rem 0; } header .logo { flex-grow: 1; margin-right: 1rem; object-fit: contain; object-position: right; } header .title { flex-grow: 1; display: flex; flex-direction: column; justify-content: space-around; } header .title h1 { font-size: 56px; display: inline-block; transform: translate(-0.125rem); } .service-list { display: flex; flex-wrap: wrap; gap: 0.5rem; } .service { flex: 1 1 calc(50% - 1rem); min-width: 300px; padding: 1rem 0.75rem; /* Brutal */ border: 2px solid black; } .user-list { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 0.25rem; } .user { display: flex; flex-grow: 1; width: calc(50% - 0.25rem / 2); min-width: 250px; align-items: center; justify-content: space-between; padding: 0.125rem 0.25rem; border: 2px solid; } .user h4 { font-size: 90%; line-height: 1; font-family: var(--font-mono); } .user a { text-decoration: none; } .user a:hover img { opacity: 0.6; } .user img { margin: 0.5rem; } footer { position: absolute; bottom: 0; left: 0; right: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; background: black; color: white; border-bottom: none; } .footer-item { padding: 0.5rem; font-size: 90%; } .search { display: flex; align-items: center; max-width: 27rem; margin: 1.5rem auto; border: 2px solid black; } #search-field { width: 100%; flex-grow: 1; height: 1.75rem; padding: 0 0.5rem; border: none; border-right: 2px solid black; } .search img { display: block; transform: scale(0.8); width: 1.75rem; height: 1.75rem; cursor: pointer; } /* Common */ img { display: block; } a, a:visited { color: black; } a:hover { color: gray; } hr { width: 100%; height: 1rem; margin: 1rem 0; padding: 0; background: black; border: none; } ul { list-style: square; } li { margin: 0.25rem 0; } form { margin: 3rem auto; padding: 0.75rem; max-width: 30rem; border: 4px solid black; } form .row { display: flex; width: 100%; } form .row:not(:last-child) { margin-bottom: 0.5rem; } form label { width: 30%; } form input[type=text], form input[type=password] { flex-grow: 1; } form button, form input[type=submit] { margin-top: 0.5rem; } input[type=text], input[type=password] { font-size: 15px; padding: 0 0.2rem; height: 1.5rem; appearance: none; outline: none; border: 2px solid black; } input[type=text]:focus, input[type=password]:focus { background: #e0e0e0; } button, input[type=submit] { outline: none; font-size: 17px; font-family: var(--font-title); padding: 0 4rem; height: 1.6rem; background: black; color: white; border: none; /* border: 2px solid black; */ cursor: pointer; } button:hover, input[type=submit]:hover { background: #444; } /* Utils */ .icons8 { width: 25px; height: 25px; display: inline-block; vertical-align: middle; } h2 .icons8 { transform: translateY(-0.125rem); } .hfill { flex-grow: 1000; } @media screen and (max-width: 850px) { section, nav { border-left: none; border-right: none; } } @media screen and (max-width: 30rem) { form { border-left: none; border-right: none; } }