:root { --blue: #517EA6; --sky-blue: #B6DBF2; --peach: #F2BC79; --orange: #D97E4A; --maroon: #59362E; --lt-gray: #999999; --fonts: "grappa-variable", sans-serif, "cursive"; --font-size: 1.5rem; --content-width: 1280px; } html { height: 100%; max-width: 1440px; margin: 0 auto; font-family: var(--fonts); background: conic-gradient(at calc(250%/3) calc(100%/3), var(--sky-blue) 0 120deg, #0000 0), conic-gradient(from -120deg at calc(50%/3) calc(100%/3), #34378d 0 120deg, #0000 0), conic-gradient(from 120deg at calc(100%/3) calc(250%/3), var(--blue) 0 120deg, #0000 0), conic-gradient(from 120deg at calc(200%/3) calc(250%/3), var(--blue) 0 120deg, #0000 0), conic-gradient(from -180deg at calc(100%/3) 50%, #34378d 0 60deg, var(--blue) 60deg 120deg, #0000 0), conic-gradient(from 60deg at calc(200%/3) 50%, var(--blue) 0 60deg, var(--sky-blue) 60deg 120deg, #0000 0), conic-gradient(from -60deg at 50% calc(100%/3), var(--blue) 0 120deg, #34378d 0 240deg, var(--sky-blue) 0); background-size: calc(82px * 1.732) 82px; color: var(--maroon); } #contact-body, body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; background: transparent; font-family: var(--fonts); color: var(--maroon); } header { background-image: url('images/swiss-valley.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat; color: var(--maroon); text-align: center; min-height: 300px; border-radius: 6px; } header img { width: 100%; height: auto; display: block; margin-top: 1rem; border-radius: 8px; } header, #index-main, #contact-main, footer { width: 100%; max-width: var(--content-width); margin: 0 auto; padding: 4rem 1rem; background-color: white; box-sizing: border-box; } header h1 { text-align: center; font-family: var(--fonts); font-size: 3.5rem; color: var(--maroon); margin-bottom: 0.5rem; } nav ul li a{ padding: 0.75rem 3rem; background-color: var(--peach); border-radius: 999px; color: var(--white); text-decoration: none; font-weight: bold; font-size: 2.1rem; top: 5ch; position: relative; } nav ul { display: flex; justify-content: center; gap: 2rem; list-style: none; padding: 0; margin: 1rem 0; } nav a { color: var(--blue); font-weight: bold; text-decoration: none; font-family: var(--fonts); } nav a:hover, nav a:focus { color: var(--orange); border-bottom: 2px solid var(--orange); outline: none; } nav a.active { color: var(--orange); border-bottom: 2px solid var(--orange); } section { margin: 2rem 0; } section h2, section h3 { color: var(--maroon); } main { max-width: var(--content-width); margin: 2rem auto; padding: 0 1rem; display: flex; flex-wrap: wrap; gap: 2rem; } #intro { flex: 1 1 100%; text-align: center; } #intro p { font-size: 1.25rem; line-height: 1.6; margin: 1rem auto; max-width: 75ch; text-align: center; } #swiss, #snowy { flex: 1 1 48%; display: flex; flex-direction: column; align-items: center; text-align: center; } #swiss img, #snowy img { width: 100%; max-width: 100%; height: auto; border-radius: 10px; margin-bottom: 1rem; } #swiss h3, #swiss p, #snowy h3, #snowy p { order: 1; font-size: 1.35rem; } form { max-width: none; width: 100%; margin: 2rem auto; display: flex; flex-direction: column; gap: 1rem; font-family: var(--fonts); top: 75px; position: relative; height: 830px; } #contact-form { min-height: 800px; } label { font-weight: bold; color: var(--blue); margin-bottom: 0.5rem; display: block; font-size: var(--font-size); text-align: left; } input, textarea { padding: 0.5rem; border: 2px solid var(--lt-gray); border-radius: 5px; font-size: var(--font-size); font-family: var(--fonts); } input:focus, textarea:focus { border-color: var(--blue); outline: none; } input:invalid, textarea:invalid { border-color: var(--maroon); } fieldset { border: 2px solid var(--lt-gray); border-radius: 5px; padding: 1rem; } input[type='radio']{ transform: scale(1.25); } fieldset label { float: left; width: 50%; } legend { font-weight: bold; color: var(--blue); } button[type="submit"] { background-color: var(--blue); color: var(--sky-blue); border: none; padding: 0.75rem 1.5rem; border-radius: 5px; font-size: var(--font-size); transition: background-color 0.3s ease; font-family: var(--fonts); } button[type="submit"]:hover, button[type="submit"]:focus { background-color: var(--orange); outline: none; } #contact-main { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: var(--content-width); background: white; margin: 0 auto; text-align: center; } #contact-container{ display: flex; flex-wrap: wrap; gap: 2rem; justify-content: center; align-items: flex-start; width: 100%; margin: 2rem auto; } #contact-image { max-width: 520px; width: 120%; height: auto; object-fit: cover; border-radius: 10px; display: block; margin: 1rem 2rem; } #contact-us { margin-bottom: 2rem; } #contact-us h2 { font-size: 2rem; margin-bottom: 0.5rem; text-align: left; } #contact-us p { font-size: 1.1rem; max-width: 700px; margin: 0 auto 1rem; line-height: 1.5; text-align: left; } #contact-us, form { flex: 1 1 45%; max-width: 600px; width: auto; } footer { text-align: center; background-color: var(--sky-blue); font-size: 1.5rem; margin-top: auto; font-family: var(--fonts); }