html { width: 100%; overflow-x: hidden; font-display: swap; scroll-behavior: smooth; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; font-family: Lato, Helvetica; font-display: swap; font-size: 18px; line-height: 1.5; color: #222; position: relative; } :root { --main-color: #E14646; --base-color: #222; } /*................................................... Body */ body { width: 100%; margin: 0px; overflow: hidden; display: flex; flex-direction: column; align-items: center; /*background-color: #B8FFE1;*/ } header { position: fixed; left: 40px; top: 40px; width: 200px; z-index: 1000; color: inherit; } header > a { font-family: "Squada One"; font-size: 36px; text-transform: uppercase; border: none; letter-spacing: -1px; color: inherit; position: relative; z-index: 100; line-height: 36px; } nav { margin-top: 20px; display: flex; flex-direction: column; align-items: flex-start; color: inherit; } nav > a { margin-bottom: 10px; font-size: 16px; color: inherit; font-weight: 600; } nav > a:hover { color: #E14646; } section { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 40px; position: relative; width: 100%; } section > div { width: 960px; display: flex; justify-content: center; } section > div > div{ flex-grow: 1; width: 50%; display: flex; flex-direction: column; } section > div > div > p{ width: 350px; color: inherit; } /* div { display: flex; position: relative; align-items: center; justify-content: center; font-size: inherit; color: inherit; } */ /*................................................... Text */ a { text-decoration: none; color: #222222; border-bottom: 2px solid transparent; cursor: pointer; font-size: inherit; transition: all .3s ease-out; } a:hover { border-bottom: 2px solid #E14646; } h1, h2, h3, h4 { font-family: "Squada One"; margin-top: 0px; margin-bottom: 15px; width: 100%; line-height: 1.2; color: inherit; text-transform: uppercase; letter-spacing: 1px; font-weight: normal; } h1 { font-size: 42px; } h2 { font-size: 36px; } h3 { } h4 { font-family: "Lato"; text-transform: none; width: auto; } p { font-size: 20px; line-height: 1.5; margin-top: 0px; margin-bottom: 20px; color: rgba(0,0,0,0.6); width: 100%; font-weight: 400; } span { font-size: inherit; font-weight: inherit; font-family: inherit; color: inherit; letter-spacing: inherit; line-height: inherit; } span > a { font-size: inherit; font-weight: inherit; font-family: inherit; color: inherit; letter-spacing: inherit; line-height: inherit; border: inherit; border-color: inherit; } span > a:hover { border: inherit; border-color: inherit; } /*................................................... Interactives */ button { border: none; background-color: black; padding: 10px 20px; color: white; cursor: pointer; } button:hover { background-color: darkblue; } input, textarea { padding: 15px; border-radius: 5px; border: 1px solid rgba(0,0,0,0.2); margin-bottom: 15px; width: 100%; font-size: 14px; } input:focus { border: 1px solid blue; box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.2); } /*############################################################# -- General classes and IDs -- */ .nav-mobile { } .preloader-init { position: fixed; width: 100vw; height: 100vh; background-color: var(--main-color); bottom: 0; left: 0; z-index: 2000; } .preloader { position: fixed; width: 100vw; height: 100vh; background-color: var(--main-color); bottom: 0; left: 0; z-index: 2000; animation: preloaderexit 1s; animation-fill-mode: both; animation-delay: 1s; animation-timing-function: cubic-bezier( 0.215, 0.61, 0.355, 1 ); } @keyframes preloaderexit { 0%{display: none; transform: none; opacity: 1; height: 100vh;} 99%{transform: skewY(-3deg); opacity: 1; height: 0px; bottom: -200px;} 100%{display: none; transform: skewY(-3deg); opacity: 0; height: 0px;} } .aside-header { position: fixed; top: 40px; right: 40px; display: flex; flex-direction: column; align-items: flex-end; z-index: 1000; } .aside-header-mobile { position: fixed; top: 40px; right: 40px; display: none; flex-direction: column; align-items: flex-end; z-index: 1000; } .aside-header > a { font-size: 14px; display: flex; align-items: center; padding: 5px; transition: all .3s ease-out; position: relative; } .email-link-block { width: 40px; height: 40px; border-radius: 20px; background-color: var(--main-color); margin-top: 10px; color: white; border: none; justify-content: flex-start; padding: 10px; } .email-link-block > div:first-child { width: 100%; height: 100%; overflow: hidden; color: inherit; display: flex; align-items: center; font-size: inherit; } .email-link-block:hover { background-color: #222; border: none; width: 180px; } .aside-mail-anim { position: absolute; width: 140%; height: 140%; background-color: var(--main-color); opacity: .2; border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -100; animation: asidecta 2s infinite; pointer-events: none; } @keyframes asidecta { 0% {width: 20px; height: 20px; opacity: .5;} 100% {width: 80px; height: 80px; opacity: 0;} } .social-media-link-block { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background-color: var(--main-color); margin-top: 10px; } .hamburger-wrapper { position: fixed; top: 20px; right: 20px; width: 40px; height: 40px; background-color: var(--main-color); padding: 12px 10px; display: none; flex-direction: column; align-content: center; justify-content: space-between; cursor: pointer; z-index: 1000; border-radius: 5px; } .hamburger-line { width: 100%; height: 2px; background-color: white; } .hamburger-show { display: flex; animation: hamburgershow 1s; animation-fill-mode: both; animation-timing-function: cubic-bezier( 0.215, 0.61, 0.355, 1 ); } @keyframes hamburgershow { 0% {display: flex; opacity: 0; left: -100px;} 100% {display: flex; opacity: 1;left: 0;} } /* ################################################### Body*/ .hero-section { } .hero-graphic-wrapper-init { width: 400px; height: 600px; display: flex; flex-direction: column; align-items: center; margin-right: -20px; opacity: 0; } .hero-graphic-wrapper { width: 400px; height: 600px; display: flex; flex-direction: column; align-items: center; margin-right: -20px; animation: herographicintro 1.3s; animation-delay: 1.6s; animation-timing-function: cubic-bezier( 0.215, 0.61, 0.355, 1 ); transition: all .8s cubic-bezier( 0.39, 0.575, 0.565, 1 ); opacity: 0; animation-fill-mode: both; } @keyframes herographicintro { 0% {transform: translateY(100px) rotateX(5deg); opacity: 0;} 100% {transform: none; opacity: 1;} } #benjamin-hero-text { background-image: url("images/art-logo-4.svg"); background-position: center; background-size: contain; background-repeat: no-repeat; width: 100%; height: 250px; } #toby-hero-text { font-family: "Squada One"; font-size: 205px; text-transform: uppercase; letter-spacing: 0px; color: var(--main-color); line-height: 1; margin-top: -63px; } .hero-graphic-block { width: 350px; height: 300px; background-color: var(--main-color); border-radius: 20px; margin-top: -35px; display: flex; align-items: center; justify-content: center; } .hero-graphic-block > img { position: relative; top: -40px; width: 400px; } .hero-text-wrapper { width: 350px; padding-top: 50px; align-items: flex-start; margin-left: 50px; } .hero-text-wrapper > a { background-color: #393051; color: white; padding: 10px 20px; border-radius: 5px; border: none; transition: all .3s ease; opacity: 0; } .hero-text-wrapper > a:hover { background-color: #393051; padding: 12px 23px; } .scroll-down-link-block { position: absolute; background-color: white; color: #222; font-size: 36px; font-weight: 700; top: 480px; right: 30vw; display: flex; align-items: center; justify-content: center; width: 70px; height: 80px; border-radius: 10px; padding-top: 20px; cursor: pointer; z-index: 100; } .scroll-link-icon { transform: rotate(90deg); font-size: inherit; font-weight: inherit; display: flex; align-items: center; justify-content: center; padding: 0; margin: 0; text-align: center; line-height: 1; left: 3px; } .hero-text-block-init { font-size: 36px; font-weight: 500; margin-bottom: 40px; opacity: 0; } .hero-text-block { font-size: 36px; font-weight: 500; margin-bottom: 40px; animation: herotextintro 1.2s; animation-fill-mode: both; animation-delay: 1.8s; animation-timing-function: cubic-bezier( 0.39, 0.575, 0.565, 1 ); } @keyframes herotextintro { 0% {transform: translateY(50px) rotateX(5deg); opacity: 0;} 100% {transform: none; opacity: 1;} } .hero-text-block > h1 { font-size: inherit; color: var(--base-color); display: inline; font-weight: 600; text-transform: none; } .hero-text-block > h1 > span { font-size: inherit; color: var(--main-color); display: inline; font-weight: inherit; border-bottom: 2px solid var(--main-color); cursor: pointer; transition: all .3s ease; } .hero-text-block > h1 > span:hover { padding: 5px 10px; background-color: black; color: white; border-color: #393051; } .hero-watermark { position: absolute; font-size: 40em; font-family: "Squada One"; z-index: -1; top: -20px; color: rgba(0,0,0,0.05); letter-spacing: -5px; white-space: nowrap; } .below-fold { background-color: var(--main-color); padding-top: 200px; padding-bottom: 200px; } .skewed-bg { position: absolute; width: 100% !important; height: 400px; transform: skewY(-3deg); background-color: var(--main-color); top: -200px; z-index: -1; animation: skewintro 1.2s; animation-fill-mode: both; animation-delay: 1s; animation-timing-function: cubic-bezier( 0.39, 0.575, 0.565, 1 ); } @keyframes skewintro { 0%{transform: none; top: 0; width: 100%;} 100%{transform: skewY(-3deg); top: -200px; width: 100%;} } .container { color: #222; display: flex; align-items: flex-end; text-align: right; position: relative; z-index: 10; } .container-darkbg { color: white; display: flex; align-items: flex-end; text-align: right; position: relative; z-index: 10; } .right-column { display: flex; flex-direction: column; align-items: flex-start; position: relative; z-index: 10; } .section-watermark { font-family: "Squada One"; position: absolute; color: rgba(0,0,0,0.05); font-size: 15em; top: -350px; left: auto; right: auto; text-align: center; display: flex; align-items: center; justify-content: center; z-index: 0; } .portfolio-item { margin-left: 100px; margin-bottom: 20px; color: white; display: flex; flex-direction: column; align-items: flex-end; transition: all .5s ease-out; border: none; } .portfolio-item:hover { border: none; } .portfolio-item:first-child { margin-top: -100px; } .portfolio-item:last-child { margin-bottom: -300px; color: #222; } .portfolio-item > h4 { transition: all .5s ease-out; border-bottom: 2px solid transparent; } .portfolio-item > div { width: 350px; height: 250px; background-color: #222; border-radius: 10px; margin-bottom: 10px; background-size: cover; background-repeat: no-repeat; background-position: center; transition: all .3s ease-out; overflow: hidden; display: flex; align-items: center; justify-content: center; position: relative; } .portfolio-item img { position: absolute; width: 100%; transition: all .4s ease-out; } .portfolio-item:hover img { width: 110%; transform: rotate(5deg); filter: brightness(105%); } .portfolio-item:hover > h4 { border-bottom: 2px solid white; } .portfolio-item:hover > div { box-shadow: 0px 0px 35px -5px rgba(0,0,0,0.4); background-size: 120%; } .portfolio-item:last-child:hover > h4 { border-bottom: 2px solid var(--main-color); } .about-me-img-block { width: 300px; height: 500px; background-color: aqua; margin: -50px 80px 0px 0px; border-radius: 20px; background-image: url("images/portfolio-item-1.jpg"); background-size: cover; } /* ################################################### Animations*/ .translate { transition: all .4s cubic-bezier( 0.39, 0.575, 0.565, 1 ); } .fade-in-bottom { animation: fadeinbottom 1s; animation-fill-mode: both; animation-timing-function: cubic-bezier( 0.39, 0.575, 0.565, 1 ); } @keyframes fadeinbottom { 0% {transform: translateY(100px) rotateX(5deg); opacity: 0; pointer-events: none;} 99% {transform: none; opacity: 1; pointer-events: none;} 100% {transform: none; opacity: 1; pointer-events: auto;} } .scroll-into-view { opacity: 0; } .scroll-into-view-intro { opacity: 0; animation: fadeinbottom 1s; animation-fill-mode: both; animation-timing-function: cubic-bezier( 0.39, 0.575, 0.565, 1 ); animation-delay: 1.5s; } .scroll-into-view-intro-2 { opacity: 0; animation: fadeinbottom 1s; animation-fill-mode: both; animation-timing-function: cubic-bezier( 0.39, 0.575, 0.565, 1 ); animation-delay: 2s; } /*.................................................................................................................. Mobile Styles */ @media (max-width: 1200px) { header { left: 20px; top: 20px; width: 200px; z-index: 1000; color: inherit; } header > a { margin: 0; } nav { margin-top: 10px; display: none; } .nav-mobile { position: fixed; top: 0; left: 0; flex-direction: column; align-items: center; margin-top: 0; display: flex; background-color: white; padding: 80px 20px 140px 20px; width: 100vw; height: 400px; box-shadow: 0 0 40px -10px rgba(0,0,0,0.2); border-radius: 5px; color: #222; text-align: center; animation: hamburgershow .5s; animation-fill-mode: both; animation-timing-function: cubic-bezier( 0.215, 0.61, 0.355, 1 ); } .nav-mobile > a { text-align: center; } nav > a { margin-bottom: 8px; } .aside-header { display: none; } .aside-header-mobile { position: fixed; top: 240px; right: auto; left: 0; display: flex; align-items: center; padding: 20px 0 0 0; border-top: 1px solid #ddd; flex-direction: column; z-index: 1000; width: 100%; animation: hamburgershow .5s; animation-fill-mode: both; animation-timing-function: cubic-bezier( 0.215, 0.61, 0.355, 1 ); animation-delay: .1s; } .aside-header-mobile > a { display: flex; align-items: center; padding: 5px; transition: all .3s ease-out; position: relative; text-align: center; } .aside-header-mobile > a:first-child { color: #222; } .hamburger-wrapper { display: flex; } } @media (max-width: 800px) { section { padding: 60px 30px; margin: 0; position: relative; } section > div { width: 100%; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; } section > div.mobile-flip { flex-direction: column-reverse; } section > div > div{ flex-grow: 1; width: 100%; flex-direction: column; align-items: flex-start; justify-content: flex-start; } section > div > div > p{ width: 100%; } /*................................................... Text */ a { } h1 { font-size: 36px; } h2 { font-size: 30px; } h3 { } h4 { } p { font-size: 16px; } /*###################################*/ .hero-section { padding: 60px 40px 40px 40px; } .hero-container { flex-direction: row; padding: 0; } .hero-graphic-wrapper-init { width: 50%; height: 600px; margin-right: none; margin-left: -20px; } .hero-graphic-wrapper { width: 300px; height: 300px; margin-right: none; margin-left: -20px; margin-top: 50px; margin-bottom: 50px; } #benjamin-hero-text { margin-bottom: 10px; width: 100%; height: 180px; } .hero-graphic-block { width: 100%; height: 250px; margin-top: -25px; } .hero-graphic-block > img { width: 300px; top: -20px; } .hero-text-wrapper { width: 60%; padding-top: 40px; margin-left: 40px; min-width: 250px; } .scroll-down-link-block { top: 520px; right: auto; width: 70px; height: 80px; background-color: transparent; } .scroll-link-icon { color: white; } .hero-text-block-init { font-size: 36px; font-weight: 500; margin-bottom: 40px; opacity: 0; } .hero-text-block { font-size: 30px; margin-bottom: 20px; } .hero-text-block > h1 { } .hero-text-block > h1 > span { } .hero-text-block > h1 > span:hover { padding: 3px 7px; } .hero-watermark { font-size: 60vw; line-height: 10px; top: 25vw; } .below-fold { padding-top: 250px; padding-bottom: 100px; margin: 0; } .skewed-bg { height: 200px; margin-top: 150px; top: 0; } section > div.container { flex-direction: column; align-items: flex-start; justify-content: flex-start; text-align: left; width: 100%; color: #222; transform: none; margin: 0; top: 0; } .container-darkbg { flex-direction: column; align-items: flex-start; justify-content: flex-start; text-align: left; width: 100%; transform: none; margin-bottom: 40px; } .right-column { justify-content: flex-start; width: 100%; transform: none; margin-bottom: 40px; } .section-watermark { font-size: 30vw; top: -250px; left: auto; right: auto; } .portfolio-item { margin-left: 0; top: 0; margin-bottom: 20px; color: white; display: flex; flex-direction: column; width: 100%; align-items: flex-start; justify-content: flex-start; } .portfolio-item:hover { border: none; } .portfolio-item:first-child { margin-top: 0px; top: 0; } .portfolio-item:last-child { } .portfolio-item > div { width: 100%; height: 350px; } .portfolio-item img { } .about-me-img-block { width: 80%; height: 500px; margin: 0; align-self: center; } } @media (max-width: 600px) { header { } /*###################################*/ .hero-section { padding: 100px 20px 0px 20px; } .hero-container { flex-direction: row; padding: 0; } .hero-graphic-wrapper-init { width: 50%; height: 600px; margin-right: none; margin-left: -20px; } .hero-graphic-wrapper { width: 200px; height: 600px; margin-left: 0px; margin-bottom: -40px; top: 0; margin-top: 0; justify-content: flex-start; align-items: center; display: flex; } #benjamin-hero-text { margin: 0 0 -10px 0; width: 220px; height: 180px; align-self: center; left: 12px; right: 0; } .hero-graphic-block { width: 250px; height: 200px; margin-top: -25px; } .hero-graphic-block > img { position: absolute; width: 300px; top: -100px; margin: 0; } .hero-text-wrapper { width: 50%; min-width: 220px; padding-top: 20px; margin-left: 60px; } .hero-text-wrapper > a { font-size: 14px; } .scroll-down-link-block { top: 420px; right: auto; width: 70px; height: 80px; background-color: transparent; } .scroll-link-icon { color: white; } .hero-text-block-init { font-size: 24px; margin-bottom: 20px; line-height: 1; } .hero-text-block { font-size: 24px; margin-bottom: 20px; line-height: 1; } .hero-text-block > h1 { } .hero-text-block > h1 > span { } .hero-text-block > h1 > span:hover { padding: 3px 7px; } .hero-watermark { top: 60vw; } .below-fold { padding-top: 20px; padding-bottom: 100px; } .skewed-bg { height: 400px; margin-top: -70px; } .section-watermark { font-size: 30vw; top: -200px; left: auto; right: auto; } .portfolio-item > div { width: 100%; height: 250px; } .portfolio-item img { } .about-me-img-block { width: 100%; height: 500px; margin: 0; } } @media (max-width: 430px) { /*###################################*/ .hero-section { padding: 60px 20px 0px 20px; } .hero-container { flex-direction: column; } .hero-graphic-wrapper-init { width: 100%; height: 600px; margin-right: none; margin-left: -20px; } .hero-graphic-wrapper { width: 80%; position: relative; height: auto; margin: 0; top: 0; justify-content: flex-start; align-self: center; } #benjamin-hero-text { margin-bottom: -50px; width: 100%; height: 250px; left: auto; right: auto; } .hero-graphic-block { width: 250px; height: 250px; margin-top: -25px; } .hero-graphic-block > img { width: 280px; position: absolute; } .hero-text-wrapper { width: 100%; padding-top: 20px; margin-left: 0; margin-bottom: 250px; margin-top: -10px; position: relative; } .scroll-down-link-block { top: 750px; } .hero-watermark { top: 400px; } .below-fold { padding-top: 40px; padding-bottom: 100px; margin: 0; } .skewed-bg { height: 400px; margin-top: 0px; } .section-watermark { font-size: 30vw; top: -200px; left: auto; right: auto; } .portfolio-item > div { width: 100%; height: 250px; } .portfolio-item img { } .about-me-img-block { width: 100%; height: 500px; margin: 0; } } @media (max-width: 350px) { }