:root { --primary-color: #0a1128; --white-color: #ffffff; --dark-gray-color: #2e3038; --container-width: 120rem; --container-width-small: 80rem; --container-images: 36rem; --spacings-xsmall: 1rem; --spacings-small: 2rem; --spacings-medium: 3rem; --spacings-large: 5rem; --spacings-xlarge: 8rem; --spacings-xxlarge: 11rem; --font-bold: 700; --font-xxlarge: 10rem; --font-xlarge: 8rem; --font-large: 6rem; --font-medium: 4rem; --font-normal: 2.3rem; --font-small: 1.8rem; --font-xsmall: 1.6rem; --font-xxsmall: 1.4rem; --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } .section-parallax { min-height: 100vh; min-width: 100vw; position: relative; color: var(--white-color); } .section-parallax-bg { color: var(--white-color); background-repeat: no-repeat; background-position: top center; background-size: cover; position: absolute; top: 0; left: 0; bottom: 0; right: 0; min-width: 100vw; min-height: 100vh; z-index: -2; content: ''; transform: scale(2) translateZ(-1px); } .scroll-container { width: 100vw; height: calc(100vh - 60px); perspective: 1px; transform-style: preserve-3d; overflow-x: hidden; overflow-y: auto; position: relative; scroll-behavior: smooth; } .site-container { perspective: 1px; transform-style: preserve-3d; } .bg-svg-1 { color: var(--white-color); background-color: #0a1128; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2000' height='1000' viewBox='0 0 1600 800'%3E%3Cpath fill='%23757537' d='M1102.5 734.8c2.5-1.2 24.8-8.6 25.6-7.5.5.7-3.9 23.8-4.6 24.5C1123.3 752.1 1107.5 739.5 1102.5 734.8zM1226.3 229.1c0-.1-4.9-9.4-7-14.2-.1-.3-.3-1.1-.4-1.6-.1-.4-.3-.7-.6-.9-.3-.2-.6-.1-.8.1l-13.1 12.3c0 0 0 0 0 0-.2.2-.3.5-.4.8 0 .3 0 .7.2 1 .1.1 1.4 2.5 2.1 3.6 2.4 3.7 6.5 12.1 6.5 12.2.2.3.4.5.7.6.3 0 .5-.1.7-.3 0 0 1.8-2.5 2.7-3.6 1.5-1.6 3-3.2 4.6-4.7 1.2-1.2 1.6-1.4 2.1-1.6.5-.3 1.1-.5 2.5-1.9C1226.5 230.4 1226.6 229.6 1226.3 229.1zM33 770.3C33 770.3 33 770.3 33 770.3c0-.7-.5-1.2-1.2-1.2-.1 0-.3 0-.4.1-1.6.2-14.3.1-22.2 0-.3 0-.6.1-.9.4-.2.2-.4.5-.4.9 0 .2 0 4.9.1 5.9l.4 13.6c0 .3.2.6.4.9.2.2.5.3.8.3 0 0 .1 0 .1 0 7.3-.7 14.7-.9 22-.6.3 0 .7-.1.9-.3.2-.2.4-.6.4-.9C32.9 783.3 32.9 776.2 33 770.3z'/%3E%3Cpath fill='%23572910' d='M171.1 383.4c1.3-2.5 14.3-22 15.6-21.6.8.3 11.5 21.2 11.5 22.1C198.1 384.2 177.9 384 171.1 383.4zM596.4 711.8c-.1-.1-6.7-8.2-9.7-12.5-.2-.3-.5-1-.7-1.5-.2-.4-.4-.7-.7-.8-.3-.1-.6 0-.8.3L574 712c0 0 0 0 0 0-.2.2-.2.5-.2.9 0 .3.2.7.4.9.1.1 1.8 2.2 2.8 3.1 3.1 3.1 8.8 10.5 8.9 10.6.2.3.5.4.8.4.3 0 .5-.2.6-.5 0 0 1.2-2.8 2-4.1 1.1-1.9 2.3-3.7 3.5-5.5.9-1.4 1.3-1.7 1.7-2 .5-.4 1-.7 2.1-2.4C596.9 713.1 596.8 712.3 596.4 711.8zM727.5 179.9C727.5 179.9 727.5 179.9 727.5 179.9c.6.2 1.3-.2 1.4-.8 0-.1 0-.2 0-.4.2-1.4 2.8-12.6 4.5-19.5.1-.3 0-.6-.2-.8-.2-.3-.5-.4-.8-.5-.2 0-4.7-1.1-5.7-1.3l-13.4-2.7c-.3-.1-.7 0-.9.2-.2.2-.4.4-.5.6 0 0 0 .1 0 .1-.8 6.5-2.2 13.1-3.9 19.4-.1.3 0 .6.2.9.2.3.5.4.8.5C714.8 176.9 721.7 178.5 727.5 179.9zM728.5 178.1c-.1-.1-.2-.2-.4-.2C728.3 177.9 728.4 178 728.5 178.1z'/%3E%3Cg fill-opacity='0.48' fill='%23FFF'%3E%3Cpath d='M699.6 472.7c-1.5 0-2.8-.8-3.5-2.3-.8-1.9 0-4.2 1.9-5 3.7-1.6 6.8-4.7 8.4-8.5 1.6-3.8 1.7-8.1.2-11.9-.3-.9-.8-1.8-1.2-2.8-.8-1.7-1.8-3.7-2.3-5.9-.9-4.1-.2-8.6 2-12.8 1.7-3.1 4.1-6.1 7.6-9.1 1.6-1.4 4-1.2 5.3.4 1.4 1.6 1.2 4-.4 5.3-2.8 2.5-4.7 4.7-5.9 7-1.4 2.6-1.9 5.3-1.3 7.6.3 1.4 1 2.8 1.7 4.3.5 1.1 1 2.2 1.5 3.3 2.1 5.6 2 12-.3 17.6-2.3 5.5-6.8 10.1-12.3 12.5C700.6 472.6 700.1 472.7 699.6 472.7zM740.4 421.4c1.5-.2 3 .5 3.8 1.9 1.1 1.8.4 4.2-1.4 5.3-3.7 2.1-6.4 5.6-7.6 9.5-1.2 4-.8 8.4 1.1 12.1.4.9 1 1.7 1.6 2.7 1 1.7 2.2 3.5 3 5.7 1.4 4 1.2 8.7-.6 13.2-1.4 3.4-3.5 6.6-6.8 10.1-1.5 1.6-3.9 1.7-5.5.2-1.6-1.4-1.7-3.9-.2-5.4 2.6-2.8 4.3-5.3 5.3-7.7 1.1-2.8 1.3-5.6.5-7.9-.5-1.3-1.3-2.7-2.2-4.1-.6-1-1.3-2.1-1.9-3.2-2.8-5.4-3.4-11.9-1.7-17.8 1.8-5.9 5.8-11 11.2-14C739.4 421.6 739.9 421.4 740.4 421.4zM261.3 590.9c5.7 6.8 9 15.7 9.4 22.4.5 7.3-2.4 16.4-10.2 20.4-3 1.5-6.7 2.2-11.2 2.2-7.9-.1-12.9-2.9-15.4-8.4-2.1-4.7-2.3-11.4 1.8-15.9 3.2-3.5 7.8-4.1 11.2-1.6 1.2.9 1.5 2.7.6 3.9-.9 1.2-2.7 1.5-3.9.6-1.8-1.3-3.6.6-3.8.8-2.4 2.6-2.1 7-.8 9.9 1.5 3.4 4.7 5 10.4 5.1 3.6 0 6.4-.5 8.6-1.6 4.7-2.4 7.7-8.6 7.2-15-.5-7.3-5.3-18.2-13-23.9-4.2-3.1-8.5-4.1-12.9-3.1-3.1.7-6.2 2.4-9.7 5-6.6 5.1-11.7 11.8-14.2 19-2.7 7.7-2.1 15.8 1.9 23.9.7 1.4.1 3.1-1.3 3.7-1.4.7-3.1.1-3.7-1.3-4.6-9.4-5.4-19.2-2.2-28.2 2.9-8.2 8.6-15.9 16.1-21.6 4.1-3.1 8-5.1 11.8-6 6-1.4 12 0 17.5 4C257.6 586.9 259.6 588.8 261.3 590.9z'/%3E%3Ccircle cx='1013.7' cy='153.9' r='7.1'/%3E%3Ccircle cx='1024.3' cy='132.1' r='7.1'/%3E%3Ccircle cx='1037.3' cy='148.9' r='7.1'/%3E%3Cpath d='M1508.7 297.2c-4.8-5.4-9.7-10.8-14.8-16.2 5.6-5.6 11.1-11.5 15.6-18.2 1.2-1.7.7-4.1-1-5.2-1.7-1.2-4.1-.7-5.2 1-4.2 6.2-9.1 11.6-14.5 16.9-4.8-5-9.7-10-14.7-14.9-1.5-1.5-3.9-1.5-5.3 0-1.5 1.5-1.5 3.9 0 5.3 4.9 4.8 9.7 9.8 14.5 14.8-1.1 1.1-2.3 2.2-3.5 3.2-4.1 3.8-8.4 7.8-12.4 12-1.4 1.5-1.4 3.8 0 5.3 0 0 0 0 0 0 1.5 1.4 3.9 1.4 5.3-.1 3.9-4 8.1-7.9 12.1-11.7 1.2-1.1 2.3-2.2 3.5-3.3 4.9 5.3 9.8 10.6 14.6 15.9.1.1.1.1.2.2 1.4 1.4 3.7 1.5 5.2.2C1510 301.2 1510.1 298.8 1508.7 297.2zM327.6 248.6l-.4-2.6c-1.5-11.1-2.2-23.2-2.3-37 0-5.5 0-11.5.2-18.5 0-.7 0-1.5 0-2.3 0-5 0-11.2 3.9-13.5 2.2-1.3 5.1-1 8.5.9 5.7 3.1 13.2 8.7 17.5 14.9 5.5 7.8 7.3 16.9 5 25.7-3.2 12.3-15 31-30 32.1L327.6 248.6zM332.1 179.2c-.2 0-.3 0-.4.1-.1.1-.7.5-1.1 2.7-.3 1.9-.3 4.2-.3 6.3 0 .8 0 1.7 0 2.4-.2 6.9-.2 12.8-.2 18.3.1 12.5.7 23.5 2 33.7 11-2.7 20.4-18.1 23-27.8 1.9-7.2.4-14.8-4.2-21.3l0 0C347 188.1 340 183 335 180.3 333.6 179.5 332.6 179.2 332.1 179.2zM516.3 60.8c-.1 0-.2 0-.4-.1-2.4-.7-4-.9-6.7-.7-.7 0-1.3-.5-1.4-1.2 0-.7.5-1.3 1.2-1.4 3.1-.2 4.9 0 7.6.8.7.2 1.1.9.9 1.6C517.3 60.4 516.8 60.8 516.3 60.8zM506.1 70.5c-.5 0-1-.3-1.2-.8-.8-2.1-1.2-4.3-1.3-6.6 0-.7.5-1.3 1.2-1.3.7 0 1.3.5 1.3 1.2.1 2 .5 3.9 1.1 5.8.2.7-.1 1.4-.8 1.6C506.4 70.5 506.2 70.5 506.1 70.5zM494.1 64.4c-.4 0-.8-.2-1-.5-.4-.6-.3-1.4.2-1.8 1.8-1.4 3.7-2.6 5.8-3.6.6-.3 1.4 0 1.7.6.3.6 0 1.4-.6 1.7-1.9.9-3.7 2-5.3 3.3C494.7 64.3 494.4 64.4 494.1 64.4zM500.5 55.3c-.5 0-.9-.3-1.2-.7-.5-1-1.2-1.9-2.4-3.4-.3-.4-.7-.9-1.1-1.4-.4-.6-.3-1.4.2-1.8.6-.4 1.4-.3 1.8.2.4.5.8 1 1.1 1.4 1.3 1.6 2.1 2.6 2.7 3.9.3.6 0 1.4-.6 1.7C500.9 55.3 500.7 55.3 500.5 55.3zM506.7 55c-.3 0-.5-.1-.8-.2-.6-.4-.7-1.2-.3-1.8 1.2-1.7 2.3-3.4 3.3-5.2.3-.6 1.1-.9 1.7-.5.6.3.9 1.1.5 1.7-1 1.9-2.2 3.8-3.5 5.6C507.4 54.8 507.1 55 506.7 55zM1029.3 382.8c-.1 0-.2 0-.4-.1-2.4-.7-4-.9-6.7-.7-.7 0-1.3-.5-1.4-1.2 0-.7.5-1.3 1.2-1.4 3.1-.2 4.9 0 7.6.8.7.2 1.1.9.9 1.6C1030.3 382.4 1029.8 382.8 1029.3 382.8zM1019.1 392.5c-.5 0-1-.3-1.2-.8-.8-2.1-1.2-4.3-1.3-6.6 0-.7.5-1.3 1.2-1.3.7 0 1.3.5 1.3 1.2.1 2 .5 3.9 1.1 5.8.2.7-.1 1.4-.8 1.6C1019.4 392.5 1019.2 392.5 1019.1 392.5zM1007.1 386.4c-.4 0-.8-.2-1-.5-.4-.6-.3-1.4.2-1.8 1.8-1.4 3.7-2.6 5.8-3.6.6-.3 1.4 0 1.7.6.3.6 0 1.4-.6 1.7-1.9.9-3.7 2-5.3 3.3C1007.7 386.3 1007.4 386.4 1007.1 386.4zM1013.5 377.3c-.5 0-.9-.3-1.2-.7-.5-1-1.2-1.9-2.4-3.4-.3-.4-.7-.9-1.1-1.4-.4-.6-.3-1.4.2-1.8.6-.4 1.4-.3 1.8.2.4.5.8 1 1.1 1.4 1.3 1.6 2.1 2.6 2.7 3.9.3.6 0 1.4-.6 1.7C1013.9 377.3 1013.7 377.3 1013.5 377.3zM1019.7 377c-.3 0-.5-.1-.8-.2-.6-.4-.7-1.2-.3-1.8 1.2-1.7 2.3-3.4 3.3-5.2.3-.6 1.1-.9 1.7-.5.6.3.9 1.1.5 1.7-1 1.9-2.2 3.8-3.5 5.6C1020.4 376.8 1020.1 377 1019.7 377zM1329.7 573.4c-1.4 0-2.9-.2-4.5-.7-8.4-2.7-16.6-12.7-18.7-20-.4-1.4-.7-2.9-.9-4.4-8.1 3.3-15.5 10.6-15.4 21 0 1.5-1.2 2.7-2.7 2.8 0 0 0 0 0 0-1.5 0-2.7-1.2-2.7-2.7-.1-6.7 2.4-12.9 7-18 3.6-4 8.4-7.1 13.7-8.8.5-6.5 3.1-12.9 7.4-17.4 7-7.4 18.2-8.9 27.3-10.1l.7-.1c1.5-.2 2.9.9 3.1 2.3.2 1.5-.9 2.9-2.3 3.1l-.7.1c-8.6 1.2-18.4 2.5-24 8.4-3 3.2-5 7.7-5.7 12.4 7.9-1 17.7 1.3 24.3 5.7 4.3 2.9 7.1 7.8 7.2 12.7.2 4.3-1.7 8.3-5.2 11.1C1335.2 572.4 1332.6 573.4 1329.7 573.4zM1311 546.7c.1 1.5.4 3 .8 4.4 1.7 5.8 8.7 14.2 15.1 16.3 2.8.9 5.1.5 7.2-1.1 2.7-2.1 3.2-4.8 3.1-6.6-.1-3.2-2-6.4-4.8-8.3C1326.7 547.5 1317.7 545.6 1311 546.7z'/%3E%3C/g%3E%3C/svg%3E"); } * { margin: 0; padding: 0; box-sizing: border-box; } html { font-size: 62.5%; scroll-behavior: smooth; } body { font-size: var(--font-normal); font-family: var(--font-family); color: var(--primary-color); } h1, h2, h3 { text-transform: uppercase; font-weight: var(--font-bold); font-size: var(--font-large); margin: 0 0 var(--spacings-large); } h2 { font-size: var(--font-large); } h3 { font-size: var(--spacings-medium); text-transform: initial; margin: 0 0 var(--spacings-medium); } p { margin: 0 0 var(--spacings-medium); } img { max-width: 100%; height: auto; } article { width: 100%; } .responsive-table { overflow-x: auto; } table { border-collapse: collapse; width: 100%; min-width: 600px; } table caption { text-align: left; caption-side: top; margin: 1rem 0; font-size: var(--font-small); font-style: italic; } table th { background: #eee; } table td, table th { border: 1px solid #eee; padding: 5px 10px; text-align: left; } fieldset { border: none; } .top-menu-space { width: 100%; height: 60px; } .primary-background { color: var(--white-color); background-color: var(--primary-color); } .white-background { background-color: var(--white-color); color: var(--primary-color); } .section { margin: 0 auto; } .section .section-header { margin-bottom: var(--spacings-xlarge); } .section .section-header h1, .section .section-header h2, .section .section-header h3 { margin-bottom: var(--spacings-small); } .section-content { max-width: var(--container-width); margin: 0 auto; padding: var(--spacings-medium); min-height: 100vh; } .main-header { display: grid; grid-template-columns: 1fr 1.5fr; gap: var(--spacings-large); justify-content: center; align-content: center; padding: var(--spacings-large) var(--spacings-medium) var(--spacings-xxlarge); position: relative; } .main-header-content { font-size: var(--font-normal); } .main-header-content h1 { font-size: var(--font-large); line-height: 1; } .main-header-logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; } .main-header-logo img { width: 100%; height: auto; transition: all 10s ease-in-out; } .main-header-form { grid-column: span 2; } .text-container { text-align: center; padding: var(--spacings-large) var(--spacings-xlarge); max-width: var(--container-width-small); margin: 0 auto; display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 100vh; } .full-height { display: flex; flex-direction: column; justify-content: center; min-height: 100vh; } .grid-section { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; } .portfolio { padding: 8rem 3rem; counter-reset: portfolio; } .portfolio h1, .portfolio h2, .portfolio h3 { margin-bottom: 8rem; } .portfolio article > h3 { position: relative; margin: 2rem 0 2rem 7rem; display: flex; align-items: center; } .portfolio article > h3::before { counter-increment: portfolio; content: counter(portfolio); position: absolute; font-size: 8rem; left: -7rem; transform: rotate(5deg); font-style: italic; } .gallery-images { overflow: hidden; max-width: var(--container-images); max-height: var(--container-images); } .gallery-images img { transition: all 300ms ease-in-out; } .gallery-images img:hover { transform: scale(1.2) translate(-3%, 3%) rotate(4deg); } a { text-decoration: none; color: inherit; } .menu { position: fixed; top: 0; left: 0; right: 0; background: #fff; z-index: 1; border-bottom: 1px solid #eee; } .menu > div { display: flex; justify-content: space-between; align-items: center; max-width: var(--container-width); margin: 0 auto; padding: 0 3rem; } .menu nav ul { display: flex; align-items: center; list-style: none; } .menu nav ul a { display: block; text-decoration: none; color: var(--primary-color); padding: 0 var(--spacings-small); text-transform: lowercase; font-size: var(--font-small); height: 60px; display: flex; align-items: center; } .logo { margin: 0; font-size: var(--font-normal); } .close-menu { display: none; align-items: center; justify-content: center; position: fixed; z-index: 101; top: var(--spacings-small); right: var(--spacings-small); appearance: none; width: calc(var(--spacings-xlarge) / 2); height: calc(var(--spacings-xlarge) / 2); font-size: var(--spacings-medium); background: var(--primary-color); color: var(--white-color); outline: none; cursor: pointer; } .not-visible { display: none; } .back-to-top { display: flex; justify-content: center; align-items: center; position: fixed; bottom: var(--spacings-small); right: var(--spacings-small); z-index: 1; background: var(--primary-color); width: var(--spacings-large); height: var(--spacings-large); border-radius: 50%; color: var(--white-color); opacity: 0.3; border: 1px solid var(--dark-gray-color); pointer-events: painted; cursor: pointer; transition: all 600ms ease-in-out; } .back-to-top:hover { opacity: 1; } .back-to-top:after { position: absolute; content: ''; width: calc(var(--spacings-large) / 4); height: calc(var(--spacings-large) / 4); border-width: 0.5rem; border-style: solid; border-top-color: transparent; border-right-color: transparent; top: 1.8rem; transform: rotate(135deg); } .created-by { font-size: var(--font-xsmall); padding: var(--spacings-large) var(--spacings-medium) var(--spacings-medium); text-align: center; border-top: 0.1rem solid rgba(0, 0, 0, 0.1); } .created-by .heart { color: crimson; } .main-header-form legend { display: block; margin-bottom: 3rem; font-style: italic; } .form-grid { display: flex; flex-direction: row; flex-wrap: wrap; width: calc(100% + 3rem); } .form-grid > div { position: relative; flex-grow: 1; margin-right: 3rem; margin-bottom: 3rem; } .form-grid label { display: block; margin-bottom: 1rem; } .form-grid input[type='text'], .form-grid input[type='email'], .form-grid input[type='password'], .form-grid textarea { background: #fff; border: none; color: var(--primary-color); font-family: sans-serif; font-size: 3rem; width: 100%; padding: 1.5rem 2rem; } .form-grid textarea { height: 15rem; } .form-grid input::placeholder { color: #ccc; } .form-grid button { border: none; background: none; border: 5px solid #fff; padding: 1.5rem 2rem; cursor: pointer; color: #fff; font-size: 3rem; transition: all 300ms ease-in-out; } .form-grid button:hover { color: var(--primary-color); background: #fff; } .full-width { width: 100%; } @media (max-width: 800px) { .top-menu-space { width: 100%; height: 0; } .grid-section, .main-header { grid-template-columns: 1fr; } .gallery-images { max-width: 100%; max-height: 100%; } .menu .logo { margin-bottom: var(--spacings-medium); } .menu { top: 0; left: 0; right: 0; bottom: 0; position: fixed; } .menu nav { width: 100%; text-align: center; } .menu > div { flex-direction: column; justify-content: center; align-items: center; height: 100%; } .menu nav ul { flex-direction: column; } .close-menu { display: flex; } .close-menu:focus { box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); } .close-menu:not(:checked):after { content: '☰'; } .close-menu:hover, .close-menu:active, .close-menu:after, .close-menu:before { color: #fff; } .close-menu:checked:after { content: '×'; } .close-menu:not(:checked) ~ .menu { opacity: 0; visibility: hidden; } h1 { font-size: var(--font-medium); } h2 { font-size: var(--font-medium); } .main-header-content h1, .main-header-content h2 { font-size: var(--font-medium); } .text-container { max-width: 100%; padding: var(--spacings-xlarge) 0; } #footer .main-header { grid-template-rows: 1fr; } #footer .main-header .main-header-content { order: 0; } #footer .main-header .main-header-logo { order: 1; display: none; } #footer .main-header .main-header-form { order: 2; column-span: none; } .section-parallax-bg { transform: scale(1); } }