/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; } /* CSS VARIABLES */ :root{ --dk-navy: #171738; --lt-blue: #8EF9F3; --purple: #593C8F; --lt-pink: #FFD9CE; --med-pink: #DB5461; --fonts : 'Averia Serif Libre','Noto Serif','serif'; } body { font-family: var(--fonts); font-size: 1.1rem; line-height:1.5; background : url('images/pattern.svg'); margin: 0; background-color:var(--lt-blue); color:var(--dk-navy); } header{ display: grid; grid-template-rows: 4fr 1fr; align-items: center; gap: 3rem; padding: 2rem 0 ; } .hero{ background-image: url(images/swiss-valley.jpg); background-position: center; display: flex; align-items: center; justify-content: center; margin : 0 auto; width: 1440px; height: 560px; } header, footer{ margin: 3rem auto; text-align: center; color: var(--dk-navy); } nav{ margin-top: 2rem; align-items: center; font-size: 1.5rem; } nav ul{ display: flex; justify-content: space-around; } nav a{ text-decoration: none; background-color: white; color: var(--purple); padding: 1rem; border-radius: 8px; } nav a:hover{ text-decoration: none; background-color: var(--purple); color:white; padding: 1rem; } main{ width: 1440px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; justify-content: center; padding : 2rem 0 ; background-color: white; } h1{ font-size: 60px; font-weight: bold; align-items: center; text-transform: uppercase; text-decoration: underline dotted 10px var(--lt-blue); } h1 a{ text-decoration: none; } p{ font: 1rem; max-width: 65ch; margin: 0 auto; padding: 1rem; } h2{ font-size: 2rem; font-weight: bold; align-items: center; text-decoration: underline dotted 10px var(--lt-blue); } h3{ font-size: 1.5rem; font-weight: bold; margin: 2rem auto; text-align: center; text-decoration: underline dotted 10px var(--lt-blue); } main section { margin: 0 auto ; padding: 0 2rem; } .intro { grid-column: 1/-1; text-align: center; width: auto; margin: 2rem auto; } .contact-intro h2{ display: grid; grid-column: 1/-1; max-width: 45ch; align-items: center; justify-content: start; } .contact-intro img{ display: grid; width: 100%; height: 100%; } section{ margin: 2rem auto; display: grid; align-items: start; height: auto; } .content p{ max-width: 40ch; margin-bottom: 4rem; } .contact-intro p{ max-width: 40ch; margin-bottom: 2rem; } section img{ width: 100%; filter: grayscale(90%); transition: filter 3ms; margin: 0 auto ; display: block; } section img:hover{ filter:grayscale(0);} form{ display: grid; align-items: center; justify-content: center; width: 100%; margin: 16px auto; padding: 16px; background-color: var(--lt-blue); color: var(--dk-navy); border-radius: 1rem; } input, label, textarea{ display: block; width: 85%; } label legend{ margin: 0 0 4px 16px; font-weight: bold; } input, textarea{ padding: 10px; font-size: 16px; margin-bottom: 24px; border-radius: 2rem; border: 1px inset var(--purple); } fieldset{ margin-bottom: 24px; border-radius: 4px; border-color: var(--lt-pink); display: grid; grid-template-columns: 1fr; row-gap: 8px; } input[type="submit"]{ margin: 2rem auto; background-color: var(--lt-pink); border: none; color:var(--dk-navy); font-size: 18px; font-weight: bold; box-shadow: -6px 6px 10px var(--med-pink); } input[type="radio"] { appearance: none; margin: 0; padding: 0; border: none; font-size: 0; border-radius: 0; } input[type="radio"] + label::before { content: "\00a0"; /* Non-breaking space */ font-size: 2.25em; line-height: 0.65; border-radius: 50%; display: inline-block; height: 20px; width: 22px; text-align: center; margin-right: 16px; border: 2px solid white; /* Push focus shadow away */ background-color: #fff; padding-bottom: 2px; } input[type="radio"]:checked + label::before { color: #fff; background: var(--purple); } input[type="radio"]:focus{ outline: none; } input[type="radio"]:focus + label::before { box-shadow: 0 0 0 2px var(--lt-pink) }