:root { --white: hsl(0, 0%, 98%); --darkblue: #013e7a; --lightblue: #1a77d3; --cyan: hsl(192, 100%, 83%); --lightCyan: hsl(192, 100%, 94%); --yellow: #fed318; } * { box-sizing: border-box; } html, body { padding: 0; margin: 0; } html { background: var(--white); height: 100%; } body { height: 100%; font-family: futura, Avenir Next, Verdana, Geneva, Tahoma, sans-serif; } .align { margin: 0 auto; max-width: 1280px; padding: 0 1em; } .align .large { max-width: 1500px; } .beforeTheFold, main { position: relative; min-height: 100%; } button, input { font-size: inherit; font-family: inherit; color: inherit; background-color: transparent; } button { border: 0.15em solid var(--darkblue); } input { border: none; border-bottom: 0.15em solid var(--darkblue); padding: 0.1em 0.3em; } header { position: relative; background-color: var(--lightCyan); } header.homepage { background-color: transparent; } nav a { text-decoration: none; font-family: futura, Avenir Next, Verdana, Geneva, Tahoma, sans-serif; color: var(--darkblue); padding: 1rem 2rem; margin: 0 1rem; } nav ul { list-style: none; justify-content: space-between; } nav li { display: inline-block; } nav { display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; } header .logo { width: 79px; height: 83px; } h2 { font-family: futura, Avenir Next, Verdana, Geneva, Tahoma, sans-serif; font-size: 3.4rem; color: var(--darkblue); } .beforeTheFold h2 { max-width: 30rem; } .intro { position: relative; } .studentZijn { margin: 4rem 0 2rem 3rem; margin: 11vh 0 2rem 3rem; } .hidden { display: none; } .quote { margin-top: 3rem; display: flex; position: relative; z-index: 2; } .quote img { width: 103px; height: 185px; margin-right: 2rem; } .quote p { max-width: 25rem; font-size: 1.5rem; font-family: Avenir Next, Verdana, Geneva, Tahoma, sans-serif; font-style: italic; font-weight: 500; margin: 0.5em 0; } .quizSpotlight { margin-top: 2rem; font-size: 2rem; font-family: Arial, Helvetica, sans-serif; font-weight: bold; } .quizSpotlight a { position: relative; text-decoration: none; background: var(--white); color: var(--darkblue); border: 0.4rem solid var(--darkblue); padding: 1rem 2rem; margin-right: 3rem; } .quizSpotlight a:hover { background-color: var(--lightblue); border: 0.4rem solid var(--lightblue); color: var(--white); } .scroll { display: block; position: absolute; bottom: 0.5rem; left: 0; right: 0; text-align: center; z-index: 1; } .scroll a { display: inline-block; color: var(--darkblue); font-size: 1.1rem; text-decoration: none; padding: 0.7rem 1.1rem; font-weight: 500; text-shadow: 0 0 1em hsla(0, 0%, 100%, 1), 0 0 1em hsla(0, 0%, 100%, 1), 0 0 0.1em hsla(0, 0%, 100%, 1); } .shade { z-index: -1; position: absolute; bottom: 0; left: 0; right: 0; height: 7rem; background: linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0.6)); } .backgroundSquare { z-index: -2; position: absolute; background-color: var(--lightCyan); } .header_blueSquare { right: 20%; left: -1000px; left: -100vw; top: -1000px; top: -100vw; bottom: -1rem; z-index: -3; } .header_photo { background: url(/assets/placeholder.jpg) center center; background-size: cover; right: 0; left: 50%; bottom: 0; top: 20%; } .randomVerenigingen p:nth-child(odd) { -webkit-text-stroke-width: 2px; -webkit-text-stroke-color: var(--lightblue); color: transparent; } .randomVerenigingen p { text-transform: uppercase; } .underline, .active_link { box-shadow: inset 0 -0.15em 0 var(--yellow); } #postcodeField { -webkit-appearance: none; margin: 0; } #postcodeField::-webkit-outer-spin-button, #postcodeField::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } /* Firefox */ #postcodeField[type="number"] { -moz-appearance: textfield; } fieldset { max-height: 60vh; display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); overflow-y: auto; margin: auto; } fieldset p label { display: flex; } fieldset p { margin: 15px 10px; } fieldset p label input { margin-right: 10px; } .buttons { width: 70%; margin: 20px auto; display: flex; justify-content: space-between; } .link { display: grid; grid-template-columns: minmax(min-content, 25%) 80%; background-color: #fff; border-radius: 4px; box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); transition: 0.3s; transition-property: box-shadow; margin: 30px auto; gap: 20px; padding: 0.5rem; } .link:hover { cursor: pointer; box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2); } .link__img { justify-self: center; align-self: center; min-width: 100px; } .link__content { margin-right: 20px; } @media only screen and (max-width: 400px) { .link { grid-template-columns: auto; } } .tile-grid--flex { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; } .tile-grid { display: grid; gap: 0.5rem; align-items: center; justify-items: center; grid-template-columns: repeat(3, minmax(33%, 12vw)); } .tile { min-width: 200px; max-width: 300px; flex: 1 0 calc(25% - 10px); margin: 5px; background: #111; position: relative; } .tile--small { min-width: 50px; max-width: 50px; } .tile--medium { min-width: 150px; max-width: 33%; } .tile--white { background-color: antiquewhite; } .tile::before { content: ""; float: left; padding-top: 100%; } .tile__image { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); height: 80%; width: auto; transition: ease-in 0.2s; transition-property: filter; } .tile:hover .tile__image { filter: blur(2px); } .tile:hover .tile__title { opacity: 1; } .tile__title { opacity: 0; position: absolute; bottom: 0; left: 0; width: 100%; max-width: 100%; font-size: 1.5rem; text-align: center; font-weight: bold; color: white; text-shadow: 2px 2px #333; padding: 5px; transition: ease-in 0.2s; transition-property: opacity; } .tile__title--medium { font-size: 1.2rem; } .clickable { transform: scale(1); transition: ease-in 0.2s; transition-property: transform; } .clickable:hover { cursor: pointer; transform: scale(1.05); } .split-2 { display: flex; flex-wrap: wrap; justify-content: space-evenly; } .split-2-1, .split-2-2 { min-width: 400px; flex-basis: 1; } .split-2-2, .split-2-1 { width: 45%; } .split-title { text-align: center; } @media only screen and (max-width: 600px) { .tile-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.1rem; } } @media only screen and (max-width: 400px) { .tile-grid { grid-template-columns: auto; gap: 0.1rem; } }