From 02796aeab82f4a1eb9c541de0c3e84b926f3d09f Mon Sep 17 00:00:00 2001 From: James Le-Goff Date: Sun, 6 Oct 2024 20:09:27 -0400 Subject: [PATCH] Add new line to README.md --- README.md | 2 +- client/dist/css/main.css | 2 +- client/sass/blocks/components/_nav.scss | 2 +- studio/.sanity/runtime/app.js | 11 + studio/.sanity/runtime/index.html | 287 ++++++++++++++++++++++++ 5 files changed, 301 insertions(+), 3 deletions(-) create mode 100644 studio/.sanity/runtime/app.js create mode 100644 studio/.sanity/runtime/index.html diff --git a/README.md b/README.md index d4a386f..21f7533 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ This project is my personal portfolio website where I showcase my code projects, - **Databese**: MongoDB - **Deployment**: Heroku - **CI/CD**: Github Actions -- **Tools**: GSAP, Webpack, Babel, Jest +- **Tools**: GSAP, Webpack, Babel, Jest, Cypress - **Architecture**: MVC ## Features diff --git a/client/dist/css/main.css b/client/dist/css/main.css index 695071f..1867373 100644 --- a/client/dist/css/main.css +++ b/client/dist/css/main.css @@ -1 +1 @@ -@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700&display=swap";html{scroll-behavior:smooth}:root{font-size:100%}.dark-theme{--text-color: #ffffff;--mobile-color: #000000;--background-color: #000000;--mobile-background-color: rgb(251, 243, 213)}.light-theme{--text-color: #000000;--mobile-color: #ffffff;--background-color: rgb(251, 243, 213);--mobile-background-color: #000000}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{visibility:hidden;background:var(--background-color);color:var(--text-color);font-family:"Open Sans",sans-serif;min-width:365px;padding:2.5rem 0 0}ul{list-style:none}img{max-width:100%;height:auto}.internationalization{font-size:.75rem}@media screen and (min-width: 768px){.internationalization{font-size:15px}}.header{margin-bottom:120px}.main{margin-bottom:120px}a{cursor:pointer;text-decoration:none}span{display:inline-block}a:active{color:var(--text-color)}#projects>span{margin-right:-5px}input[type=checkbox]{height:0;width:0;visibility:hidden}label{cursor:pointer;text-indent:-9999px;width:40px;height:20px;background:var(--text-color);display:block;border-radius:100px;position:relative}label:after{content:"";position:absolute;top:5px;left:5px;width:10px;height:10px;background:var(--background-color);border-radius:90px;transition:.3s}input:checked+label{background:var(--text-color)}input:checked+label:after{left:calc(100% - 5px);transform:translateX(-100%)}label:active:after{width:40px}#logo-canvas{height:70px;width:70px}.loading-animation{background-color:var(--background-color);height:100vh;width:100vw;position:absolute;overflow-y:hidden;z-index:4}#load{position:absolute;width:600px;height:36px;left:50%;top:40%;margin-left:-300px;overflow:visible;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}#load div{position:absolute;width:20px;height:36px;opacity:0;font-family:Helvetica,Arial,sans-serif;font-size:24px;animation:move 2s linear infinite;-o-animation:move 2s linear infinite;-moz-animation:move 2s linear infinite;-webkit-animation:move 2s linear infinite;transform:rotate(180deg);-o-transform:rotate(180deg);-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg)}#load div:nth-child(2){animation-delay:.2s;-o-animation-delay:.2s;-moz-animation-delay:.2s;-webkit-animation-delay:.2s}#load div:nth-child(3){animation-delay:.4s;-o-animation-delay:.4s;-webkit-animation-delay:.4s;-webkit-animation-delay:.4s}#load div:nth-child(4){animation-delay:.6s;-o-animation-delay:.6s;-moz-animation-delay:.6s;-webkit-animation-delay:.6s}#load div:nth-child(5){animation-delay:.8s;-o-animation-delay:.8s;-moz-animation-delay:.8s;-webkit-animation-delay:.8s}#load div:nth-child(6){animation-delay:1s;-o-animation-delay:1s;-moz-animation-delay:1s;-webkit-animation-delay:1s}#load div:nth-child(7){animation-delay:1.2s;-o-animation-delay:1.2s;-moz-animation-delay:1.2s;-webkit-animation-delay:1.2s}@keyframes move{0%{left:0;opacity:0}35%{left:41%;-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);opacity:1}65%{left:59%;-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);opacity:1}100%{left:100%;-moz-transform:rotate(-180deg);-webkit-transform:rotate(-180deg);-o-transform:rotate(-180deg);transform:rotate(-180deg);opacity:0}}@-moz-keyframes move{0%{left:0;opacity:0}35%{left:41%;-moz-transform:rotate(0deg);transform:rotate(0deg);opacity:1}65%{left:59%;-moz-transform:rotate(0deg);transform:rotate(0deg);opacity:1}100%{left:100%;-moz-transform:rotate(-180deg);transform:rotate(-180deg);opacity:0}}@-webkit-keyframes move{0%{left:0;opacity:0}35%{left:41%;-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}65%{left:59%;-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}100%{left:100%;-webkit-transform:rotate(-180deg);transform:rotate(-180deg);opacity:0}}@-o-keyframes move{0%{left:0;opacity:0}35%{left:41%;-o-transform:rotate(0deg);transform:rotate(0deg);opacity:1}65%{left:59%;-o-transform:rotate(0deg);transform:rotate(0deg);opacity:1}100%{left:100%;-o-transform:rotate(-180deg);transform:rotate(-180deg);opacity:0}}.hamburger{position:relative;height:30px;width:30px;transition:transform .4s ease-in-out}.hamburger div{width:100%;height:3px;background:#fff}.hamburger div:before,.hamburger div:after{content:"";display:block;width:30px;height:3px;position:absolute;background:#fff}.hamburger div:before{top:-12px;transition:width .4s cubic-bezier(0.895, 0.03, 0.685, 0.22)}.hamburger div:after{top:12px;transition:transform .4s ease-in-out}.hamburger.open{transform:rotate(45deg);transition-delay:.2s}.hamburger.open div:before{width:0}.hamburger.open div:after{transform:rotate(-450deg) translateX(12px)}@keyframes slide-in-right{0%{right:-100px}100%{right:0}}@keyframes slide-out-right{0%{right:0}100%{right:-1000px}}@keyframes slide-in-left{0%{left:-1500px}100%{left:0}}@keyframes slide-out-left{0%{left:0}100%{left:-1500px}}.slide-in-right{animation-name:slide-in-right;animation-duration:.1s;animation-timing-function:ease-in;animation-fill-mode:forwards}.slide-out-right{animation-name:slide-out-right;animation-duration:.1s;animation-iteration-count:1;animation-timing-function:ease-in;animation-fill-mode:forwards}.slide-in-left{animation-name:slide-in-left;animation-duration:.2s;animation-timing-function:linear;animation-fill-mode:forwards}.slide-out-left{animation-name:slide-out-left;animation-duration:.2s;animation-timing-function:linear;animation-fill-mode:forwards}.skills{background:var(--mobile-background-color);color:var(--mobile-color);padding-top:clamp(32px,6vw,160px);padding-bottom:40px;padding-left:16px}.skills__heading{font-family:"Open Sans",sans-serif;font-size:24px;font-style:normal;line-height:2.75rem;letter-spacing:-0.5px;margin-bottom:clamp(32px,6vw,160px)}.skills__wrapper{margin-bottom:clamp(32px,5vw,160px)}@media screen and (min-width: 768px){.skills__wrapper{display:flex;gap:15%}}.skills__title{margin-bottom:clamp(16px,2vw,32px)}@media screen and (min-width: 768px){.skills__title{width:30%}}.skills__item{margin-bottom:4px;opacity:.7}@media screen and (min-width: 768px){.skills__item{margin-top:clamp(8px,1vw,24px)}}.text{color:var(--text-color);font-family:"Open Sans",sans-serif;font-size:16px;line-height:1.25}.text--responsive{font-size:clamp(16px,3vw,25px);max-width:300px}@media screen and (min-width: 768px){.text--responsive{max-width:600px}}.text--link{border-bottom:1px solid rgba(0,0,0,0);transition:border-bottom .5s ease-in-out}.text--link:hover{border-bottom:1px solid var(--text-color);cursor:pointer}.text--light{opacity:.7}.text--bold{font-weight:700}.text--italic{font-style:italic}.label{font-family:"Open Sans",sans-serif;font-size:12px;line-height:.75}.h1{color:var(--text-color);font-family:"Open Sans",sans-serif;font-size:32px;font-style:normal;font-weight:700;line-height:1.0909090909;max-width:600px}.h1--responsive{font-size:clamp(32px,5vw,60px)}.h2{color:var(--text-color);font-family:"Open Sans",sans-serif;font-size:24px;font-style:normal;line-height:2.75rem;letter-spacing:-0.5px}.h2--responsive{font-size:clamp(24px,4vw,50px)}.h3{color:var(--text-color);font-family:"Open Sans",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:2.75rem}.h3--responsive{font-size:clamp(16px,3vw,40px)}.color-light{color:var(--text-color)}.color-dark{color:var(--background-color)}.color-salmon{color:#dda091}.color-mustard{color:#e5e37e}.color-orange{color:#ea4f20}.btn-container{display:flex;align-items:center;gap:10px;justify-content:center}.btn{background-image:none;background-color:rgba(0,0,0,0);border:1px solid var(--text-color);color:var(--text-color);font-size:12px;height:48px;position:relative;line-height:16px;width:151px;transition:font-size .5s ease-in-out,border .5s ease-in-out,height .5s ease-in-out,width .5s ease-in-out,color .5s ease-in-out,background-color .5s ease-in-out,line-height .5s ease-in-out}.btn-sm{background-image:none;background-color:rgba(0,0,0,0);border:1px solid var(--text-color);color:var(--text-color);font-size:8px;height:24px;position:relative;line-height:8px;width:60px;opacity:0;transition:background-color .5s ease-in-out,border .5s ease-in-out,color .5s ease-in-out}.btn-sm--link{text-align:center;display:inline-block;line-height:24px;text-decoration:none}.btn-sm:hover{background-color:var(--text-color);border:1px solid var(--background-color);color:var(--background-color);cursor:pointer}.btn:hover{background-color:var(--text-color);border:1px solid var(--background-color);color:var(--background-color);font-size:16px;height:58px;line-height:58px;width:161px}.btn--link{text-align:center;display:inline-block;line-height:48px;text-decoration:none}#contact-section{margin:0 auto 64px;max-width:567px}.contact{margin-bottom:40px}.contact__heading{font-size:24px;margin:0 auto;max-width:30.25rem}.contact__text{font-size:16px}.form{padding-bottom:60px}.form__container{margin-bottom:30px}.form__text{display:inline-block;margin-bottom:10px}.form__label{font-size:12px}.form__input{border:none;border-bottom:.5px solid rgba(255,255,255,.1);background:rgba(0,0,0,0);color:var(--text-color);outline:rgba(0,0,0,0);padding:5px 5px 5px 2px;width:100%}.form__input:focus{border-bottom:.5px solid rgba(255,255,255,.5)}.form__input:focus::placeholder{color:rgba(0,0,0,0)}.icons{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.icons--row{flex-direction:row}.icons--left{justify-content:start}.icons__wrapper{height:1.5rem;width:1.5rem}.icons__wrapper--mobile{margin-bottom:24px}.icons__icon{fill:var(--text-color);height:100%;width:100%;transition:.5s ease-in-out}.icons__icon-1:hover{height:125%;width:125%;fill:#e5e37e}.icons__icon-2:hover{height:125%;width:125%;fill:#ea4f20}.icons__icon-3:hover{height:125%;width:125%;fill:#dda091}.nav-container{display:flex;gap:24px;align-items:center}.nav-container--secondary{justify-content:space-between;align-items:center;margin-bottom:40px}.nav{display:none}@media screen and (min-width: 768px){.nav{display:flex;justify-content:space-between;align-items:center;width:250px}}.nav__item{list-style:none;padding:2px}.nav__link{border-bottom:1px solid rgba(0,0,0,0);color:var(--text-color);font-size:16px;padding:2px;text-decoration:none;transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out}.nav__link:hover{cursor:pointer}.nav__link-1:hover{border-bottom-color:var(--text-color);color:#dda091}.nav__link-2:hover{border-bottom-color:var(--text-color);color:#e5e37e}.nav__link-3:hover{border-bottom-color:var(--text-color);color:#ea4f20}.nav__link-4:hover{border-bottom-color:var(--text-color);color:#dda091}.portfolio-title{font-size:15vw;font-weight:500;line-height:1.1;margin-bottom:92px}@media screen and (max-width: 320px){.portfolio-title{font-size:49px}}@media screen and (min-width: 1146px){.portfolio-title{font-size:173px}}.portfolio-title div{margin-bottom:-4px}.section-3{text-align:right}.section-5{margin-left:6vw}@media screen and (max-width: 320px){.section-5{margin-left:1.2rem}}@media screen and (min-width: 1146px){.section-5{margin-left:4.3012rem}}.char{visibility:hidden;margin-right:-3.8vw}@media screen and (max-width: 320px){.char{margin-right:-0.76rem}}@media screen and (min-width: 1146px){.char{margin-right:-2.65rem}}.stats{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:20%;row-gap:32px}@media screen and (min-width: 506px){.stats{justify-content:space-between;gap:0}}.stats__stat{letter-spacing:-1px;font-size:clamp(16px,2vw,25px)}.stats__data{font-size:clamp(16px,9vw,125px)}.mobile-nav-container{background-color:var(--mobile-background-color);display:flex;flex-direction:column;align-items:left;justify-content:space-between;padding:40px 0;position:fixed;text-align:left;width:100%;z-index:4;top:0;left:-10000px;overflow:hidden;height:100vh}@media screen and (min-width: 768px){.mobile-nav-container{display:none}}.mobile-nav-container__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.mobile-nav__item{list-style:none}.mobile-nav__item:not(:last-child){margin-bottom:15px}.mobile-nav__link{color:var(--mobile-color);text-decoration:none;border-bottom:1px solid rgba(0,0,0,0);font-size:36px;font-weight:500;padding:2px;transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out}.mobile-nav__link:hover{cursor:pointer}.mobile-nav__link-1:hover{border-bottom-color:var(--text-color);color:#dda091}.mobile-nav__link-2:hover{border-bottom-color:var(--text-color);color:#e5e37e}.mobile-nav__link-3:hover{border-bottom-color:var(--text-color);color:#ea4f20}.mobile-nav__link-4:hover{border-bottom-color:var(--text-color);color:#dda091}.mobile-nav-btn{background:rgba(0,0,0,0);border:none;width:24px;padding:0}@media screen and (min-width: 768px){.mobile-nav-btn{display:none}}.mobile-nav-btn__icon{fill:var(--mobile-color)}.mobile-nav-btn img{width:100%}.mobile-nav-btn:hover{cursor:pointer}.mobile-nav-footer__heading{color:var(--mobile-color)}.mobile-nav-footer__link{color:var(--mobile-color)}.mobile-nav-footer__icon{height:40px;width:40px;fill:var(--mobile-color)}.mobile-nav-footer__cr{margin-top:48px;color:var(--mobile-color)}.container{display:block;margin:0 auto;width:87.2%;max-width:1000px}.container--sm{width:70%;max-width:257px}.container--md{width:66.0550458716%}.container--lg{width:90%}.container--projects{width:90%}.projects-grid{display:grid;row-gap:88px;margin:0 auto;max-width:1000px;padding-bottom:88px}@media screen and (min-width: 992px){.projects-grid{grid-template-columns:1fr 1fr;column-gap:120px;row-gap:160px}}.projects-grid__wrapper{padding:0 16px}@media screen and (min-width: 992px){.projects-grid__wrapper{padding:0}}.projects-grid__item1{order:3}@media screen and (min-width: 992px){.projects-grid__item1{grid-column:1/3;margin-left:120px}}@media screen and (min-width: 992px){.projects-grid__item2{margin-top:160px}}.projects-grid__item4{order:4}.projects-grid__item5{order:5}@media screen and (min-width: 992px){.projects-grid__item5{margin-top:160px}}.projects-grid__item6{order:6}@media screen and (min-width: 992px){.projects-grid__item6{grid-column:1/3;margin-right:160px}}.projects-grid img{margin-bottom:8px}.contact-layout{display:flex;gap:32px}@media screen and (min-width: 768px){.contact-layout{margin-top:120px}}@media screen and (min-width: 576px){.contact-layout__item1{width:50%}}.contact-layout__item2{display:none}@media screen and (min-width: 576px){.contact-layout__item2{display:block;width:50%}}@media screen and (min-width: 768px){.contact-footer{position:absolute;bottom:20px}}.about-h1{top:35px;position:relative;z-index:2}@media screen and (min-width: 992px){.about-h1{top:150px}}.about-img{margin-top:-60px;margin-left:auto;margin-right:20px;width:60%}.about-text{max-width:800px}.why__heading{margin-bottom:clamp(88px,3vw,160px)}.why__content{margin-bottom:160px}.why__subscript{font-weight:700;margin-bottom:clamp(8px,2vw,24px)}.why__title{line-height:1.1;width:70%;max-width:600px;margin-bottom:24px}.why__text{max-width:800px}@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-100%)}}.logos{overflow:hidden;padding:60px 0;background:rgba(0,0,0,0);white-space:nowrap;position:relative}.logos:before,.logos:after{position:absolute;top:0;width:250px;height:250px;content:"";z-index:2}.logos-slide{display:inline-block;animation:20s slide infinite alternate}.logos-slide img{height:250px;margin:0 40px}@media screen and (min-width: 768px){.logos-slide img{height:400px}}.footer{padding:88px 0 88px 0}@media screen and (min-width: 768px){.footer__container{display:flex;justify-content:space-between}}.footer-container{background:var(--mobile-background-color);color:var(--text-color)}.footer-nav{display:flex;flex-wrap:wrap;row-gap:16px}@media screen and (min-width: 768px){.footer-nav{flex-wrap:nowrap;row-gap:0;width:400px;justify-content:center;align-items:center}}.footer-nav li{width:50%}@media screen and (min-width: 768px){.footer-nav li{width:100%;flex-direction:row}}.footer__text{color:var(--mobile-color)}.footer__icon{fill:var(--mobile-color)}.u-text-center{text-align:center}.u-text-left{text-align:left}.u-text-right{text-align:right}.u-text-justify{text-align:justify}.mb-0{margin-bottom:4px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mb-5{margin-bottom:40px}.mb-6{margin-bottom:48px}.mb-7{margin-bottom:88px}.mb-8{margin-bottom:120px}.mb-9{margin-bottom:160px}.op-75{opacity:75%}.overlay{border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:absolute;background-color:rgba(0,0,0,.6);height:0px;opacity:0;width:100%}.u-text-100{font-weight:100}.u-text-200{font-weight:200}.u-text-300{font-weight:300}.u-text-400{font-weight:400}.u-text-500{font-weight:500}.u-text-600{font-weight:600}.u-text-700{font-weight:700}.u-text-800{font-weight:800}.u-text-900{font-weight:900}/*# sourceMappingURL=main.css.map */ +@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700&display=swap";html{scroll-behavior:smooth}:root{font-size:100%}.dark-theme{--text-color: #ffffff;--mobile-color: #000000;--background-color: #000000;--mobile-background-color: rgb(251, 243, 213)}.light-theme{--text-color: #000000;--mobile-color: #ffffff;--background-color: rgb(251, 243, 213);--mobile-background-color: #000000}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{visibility:hidden;background:var(--background-color);color:var(--text-color);font-family:"Open Sans",sans-serif;min-width:365px;padding:2.5rem 0 0}ul{list-style:none}img{max-width:100%;height:auto}.internationalization{font-size:.75rem}@media screen and (min-width: 768px){.internationalization{font-size:15px}}.header{margin-bottom:120px}.main{margin-bottom:120px}a{cursor:pointer;text-decoration:none}span{display:inline-block}a:active{color:var(--text-color)}#projects>span{margin-right:-5px}input[type=checkbox]{height:0;width:0;visibility:hidden}label{cursor:pointer;text-indent:-9999px;width:40px;height:20px;background:var(--text-color);display:block;border-radius:100px;position:relative}label:after{content:"";position:absolute;top:5px;left:5px;width:10px;height:10px;background:var(--background-color);border-radius:90px;transition:.3s}input:checked+label{background:var(--text-color)}input:checked+label:after{left:calc(100% - 5px);transform:translateX(-100%)}label:active:after{width:40px}#logo-canvas{height:70px;width:70px}.loading-animation{background-color:var(--background-color);height:100vh;width:100vw;position:absolute;overflow-y:hidden;z-index:4}#load{position:absolute;width:600px;height:36px;left:50%;top:40%;margin-left:-300px;overflow:visible;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}#load div{position:absolute;width:20px;height:36px;opacity:0;font-family:Helvetica,Arial,sans-serif;font-size:24px;animation:move 2s linear infinite;-o-animation:move 2s linear infinite;-moz-animation:move 2s linear infinite;-webkit-animation:move 2s linear infinite;transform:rotate(180deg);-o-transform:rotate(180deg);-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg)}#load div:nth-child(2){animation-delay:.2s;-o-animation-delay:.2s;-moz-animation-delay:.2s;-webkit-animation-delay:.2s}#load div:nth-child(3){animation-delay:.4s;-o-animation-delay:.4s;-webkit-animation-delay:.4s;-webkit-animation-delay:.4s}#load div:nth-child(4){animation-delay:.6s;-o-animation-delay:.6s;-moz-animation-delay:.6s;-webkit-animation-delay:.6s}#load div:nth-child(5){animation-delay:.8s;-o-animation-delay:.8s;-moz-animation-delay:.8s;-webkit-animation-delay:.8s}#load div:nth-child(6){animation-delay:1s;-o-animation-delay:1s;-moz-animation-delay:1s;-webkit-animation-delay:1s}#load div:nth-child(7){animation-delay:1.2s;-o-animation-delay:1.2s;-moz-animation-delay:1.2s;-webkit-animation-delay:1.2s}@keyframes move{0%{left:0;opacity:0}35%{left:41%;-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);opacity:1}65%{left:59%;-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0deg);opacity:1}100%{left:100%;-moz-transform:rotate(-180deg);-webkit-transform:rotate(-180deg);-o-transform:rotate(-180deg);transform:rotate(-180deg);opacity:0}}@-moz-keyframes move{0%{left:0;opacity:0}35%{left:41%;-moz-transform:rotate(0deg);transform:rotate(0deg);opacity:1}65%{left:59%;-moz-transform:rotate(0deg);transform:rotate(0deg);opacity:1}100%{left:100%;-moz-transform:rotate(-180deg);transform:rotate(-180deg);opacity:0}}@-webkit-keyframes move{0%{left:0;opacity:0}35%{left:41%;-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}65%{left:59%;-webkit-transform:rotate(0deg);transform:rotate(0deg);opacity:1}100%{left:100%;-webkit-transform:rotate(-180deg);transform:rotate(-180deg);opacity:0}}@-o-keyframes move{0%{left:0;opacity:0}35%{left:41%;-o-transform:rotate(0deg);transform:rotate(0deg);opacity:1}65%{left:59%;-o-transform:rotate(0deg);transform:rotate(0deg);opacity:1}100%{left:100%;-o-transform:rotate(-180deg);transform:rotate(-180deg);opacity:0}}.hamburger{position:relative;height:30px;width:30px;transition:transform .4s ease-in-out}.hamburger div{width:100%;height:3px;background:#fff}.hamburger div:before,.hamburger div:after{content:"";display:block;width:30px;height:3px;position:absolute;background:#fff}.hamburger div:before{top:-12px;transition:width .4s cubic-bezier(0.895, 0.03, 0.685, 0.22)}.hamburger div:after{top:12px;transition:transform .4s ease-in-out}.hamburger.open{transform:rotate(45deg);transition-delay:.2s}.hamburger.open div:before{width:0}.hamburger.open div:after{transform:rotate(-450deg) translateX(12px)}@keyframes slide-in-right{0%{right:-100px}100%{right:0}}@keyframes slide-out-right{0%{right:0}100%{right:-1000px}}@keyframes slide-in-left{0%{left:-1500px}100%{left:0}}@keyframes slide-out-left{0%{left:0}100%{left:-1500px}}.slide-in-right{animation-name:slide-in-right;animation-duration:.1s;animation-timing-function:ease-in;animation-fill-mode:forwards}.slide-out-right{animation-name:slide-out-right;animation-duration:.1s;animation-iteration-count:1;animation-timing-function:ease-in;animation-fill-mode:forwards}.slide-in-left{animation-name:slide-in-left;animation-duration:.2s;animation-timing-function:linear;animation-fill-mode:forwards}.slide-out-left{animation-name:slide-out-left;animation-duration:.2s;animation-timing-function:linear;animation-fill-mode:forwards}.skills{background:var(--mobile-background-color);color:var(--mobile-color);padding-top:clamp(32px,6vw,160px);padding-bottom:40px;padding-left:16px}.skills__heading{font-family:"Open Sans",sans-serif;font-size:24px;font-style:normal;line-height:2.75rem;letter-spacing:-0.5px;margin-bottom:clamp(32px,6vw,160px)}.skills__wrapper{margin-bottom:clamp(32px,5vw,160px)}@media screen and (min-width: 768px){.skills__wrapper{display:flex;gap:15%}}.skills__title{margin-bottom:clamp(16px,2vw,32px)}@media screen and (min-width: 768px){.skills__title{width:30%}}.skills__item{margin-bottom:4px;opacity:.7}@media screen and (min-width: 768px){.skills__item{margin-top:clamp(8px,1vw,24px)}}.text{color:var(--text-color);font-family:"Open Sans",sans-serif;font-size:16px;line-height:1.25}.text--responsive{font-size:clamp(16px,3vw,25px);max-width:300px}@media screen and (min-width: 768px){.text--responsive{max-width:600px}}.text--link{border-bottom:1px solid rgba(0,0,0,0);transition:border-bottom .5s ease-in-out}.text--link:hover{border-bottom:1px solid var(--text-color);cursor:pointer}.text--light{opacity:.7}.text--bold{font-weight:700}.text--italic{font-style:italic}.label{font-family:"Open Sans",sans-serif;font-size:12px;line-height:.75}.h1{color:var(--text-color);font-family:"Open Sans",sans-serif;font-size:32px;font-style:normal;font-weight:700;line-height:1.0909090909;max-width:600px}.h1--responsive{font-size:clamp(32px,5vw,60px)}.h2{color:var(--text-color);font-family:"Open Sans",sans-serif;font-size:24px;font-style:normal;line-height:2.75rem;letter-spacing:-0.5px}.h2--responsive{font-size:clamp(24px,4vw,50px)}.h3{color:var(--text-color);font-family:"Open Sans",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:2.75rem}.h3--responsive{font-size:clamp(16px,3vw,40px)}.color-light{color:var(--text-color)}.color-dark{color:var(--background-color)}.color-salmon{color:#dda091}.color-mustard{color:#e5e37e}.color-orange{color:#ea4f20}.btn-container{display:flex;align-items:center;gap:10px;justify-content:center}.btn{background-image:none;background-color:rgba(0,0,0,0);border:1px solid var(--text-color);color:var(--text-color);font-size:12px;height:48px;position:relative;line-height:16px;width:151px;transition:font-size .5s ease-in-out,border .5s ease-in-out,height .5s ease-in-out,width .5s ease-in-out,color .5s ease-in-out,background-color .5s ease-in-out,line-height .5s ease-in-out}.btn-sm{background-image:none;background-color:rgba(0,0,0,0);border:1px solid var(--text-color);color:var(--text-color);font-size:8px;height:24px;position:relative;line-height:8px;width:60px;opacity:0;transition:background-color .5s ease-in-out,border .5s ease-in-out,color .5s ease-in-out}.btn-sm--link{text-align:center;display:inline-block;line-height:24px;text-decoration:none}.btn-sm:hover{background-color:var(--text-color);border:1px solid var(--background-color);color:var(--background-color);cursor:pointer}.btn:hover{background-color:var(--text-color);border:1px solid var(--background-color);color:var(--background-color);font-size:16px;height:58px;line-height:58px;width:161px}.btn--link{text-align:center;display:inline-block;line-height:48px;text-decoration:none}#contact-section{margin:0 auto 64px;max-width:567px}.contact{margin-bottom:40px}.contact__heading{font-size:24px;margin:0 auto;max-width:30.25rem}.contact__text{font-size:16px}.form{padding-bottom:60px}.form__container{margin-bottom:30px}.form__text{display:inline-block;margin-bottom:10px}.form__label{font-size:12px}.form__input{border:none;border-bottom:.5px solid rgba(255,255,255,.1);background:rgba(0,0,0,0);color:var(--text-color);outline:rgba(0,0,0,0);padding:5px 5px 5px 2px;width:100%}.form__input:focus{border-bottom:.5px solid rgba(255,255,255,.5)}.form__input:focus::placeholder{color:rgba(0,0,0,0)}.icons{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.icons--row{flex-direction:row}.icons--left{justify-content:start}.icons__wrapper{height:1.5rem;width:1.5rem}.icons__wrapper--mobile{margin-bottom:24px}.icons__icon{fill:var(--text-color);height:100%;width:100%;transition:.5s ease-in-out}.icons__icon-1:hover{height:125%;width:125%;fill:#e5e37e}.icons__icon-2:hover{height:125%;width:125%;fill:#ea4f20}.icons__icon-3:hover{height:125%;width:125%;fill:#dda091}.nav-container{display:flex;gap:24px;align-items:center}.nav-container--secondary{justify-content:space-between;align-items:center;margin-bottom:40px}.nav{display:none}@media screen and (min-width: 768px){.nav{display:flex;justify-content:space-between;align-items:center;width:250px}}.nav__item{list-style:none;padding:2px}.nav__link{border-bottom:3px solid rgba(0,0,0,0);color:var(--text-color);font-size:16px;padding:2px;text-decoration:none;transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out}.nav__link:hover{cursor:pointer}.nav__link-1:hover{border-bottom-color:var(--text-color);color:#dda091}.nav__link-2:hover{border-bottom-color:var(--text-color);color:#e5e37e}.nav__link-3:hover{border-bottom-color:var(--text-color);color:#ea4f20}.nav__link-4:hover{border-bottom-color:var(--text-color);color:#dda091}.portfolio-title{font-size:15vw;font-weight:500;line-height:1.1;margin-bottom:92px}@media screen and (max-width: 320px){.portfolio-title{font-size:49px}}@media screen and (min-width: 1146px){.portfolio-title{font-size:173px}}.portfolio-title div{margin-bottom:-4px}.section-3{text-align:right}.section-5{margin-left:6vw}@media screen and (max-width: 320px){.section-5{margin-left:1.2rem}}@media screen and (min-width: 1146px){.section-5{margin-left:4.3012rem}}.char{visibility:hidden;margin-right:-3.8vw}@media screen and (max-width: 320px){.char{margin-right:-0.76rem}}@media screen and (min-width: 1146px){.char{margin-right:-2.65rem}}.stats{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:20%;row-gap:32px}@media screen and (min-width: 506px){.stats{justify-content:space-between;gap:0}}.stats__stat{letter-spacing:-1px;font-size:clamp(16px,2vw,25px)}.stats__data{font-size:clamp(16px,9vw,125px)}.mobile-nav-container{background-color:var(--mobile-background-color);display:flex;flex-direction:column;align-items:left;justify-content:space-between;padding:40px 0;position:fixed;text-align:left;width:100%;z-index:4;top:0;left:-10000px;overflow:hidden;height:100vh}@media screen and (min-width: 768px){.mobile-nav-container{display:none}}.mobile-nav-container__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.mobile-nav__item{list-style:none}.mobile-nav__item:not(:last-child){margin-bottom:15px}.mobile-nav__link{color:var(--mobile-color);text-decoration:none;border-bottom:1px solid rgba(0,0,0,0);font-size:36px;font-weight:500;padding:2px;transition:color .2s ease-in-out,border-bottom-color .2s ease-in-out}.mobile-nav__link:hover{cursor:pointer}.mobile-nav__link-1:hover{border-bottom-color:var(--text-color);color:#dda091}.mobile-nav__link-2:hover{border-bottom-color:var(--text-color);color:#e5e37e}.mobile-nav__link-3:hover{border-bottom-color:var(--text-color);color:#ea4f20}.mobile-nav__link-4:hover{border-bottom-color:var(--text-color);color:#dda091}.mobile-nav-btn{background:rgba(0,0,0,0);border:none;width:24px;padding:0}@media screen and (min-width: 768px){.mobile-nav-btn{display:none}}.mobile-nav-btn__icon{fill:var(--mobile-color)}.mobile-nav-btn img{width:100%}.mobile-nav-btn:hover{cursor:pointer}.mobile-nav-footer__heading{color:var(--mobile-color)}.mobile-nav-footer__link{color:var(--mobile-color)}.mobile-nav-footer__icon{height:40px;width:40px;fill:var(--mobile-color)}.mobile-nav-footer__cr{margin-top:48px;color:var(--mobile-color)}.container{display:block;margin:0 auto;width:87.2%;max-width:1000px}.container--sm{width:70%;max-width:257px}.container--md{width:66.0550458716%}.container--lg{width:90%}.container--projects{width:90%}.projects-grid{display:grid;row-gap:88px;margin:0 auto;max-width:1000px;padding-bottom:88px}@media screen and (min-width: 992px){.projects-grid{grid-template-columns:1fr 1fr;column-gap:120px;row-gap:160px}}.projects-grid__wrapper{padding:0 16px}@media screen and (min-width: 992px){.projects-grid__wrapper{padding:0}}.projects-grid__item1{order:3}@media screen and (min-width: 992px){.projects-grid__item1{grid-column:1/3;margin-left:120px}}@media screen and (min-width: 992px){.projects-grid__item2{margin-top:160px}}.projects-grid__item4{order:4}.projects-grid__item5{order:5}@media screen and (min-width: 992px){.projects-grid__item5{margin-top:160px}}.projects-grid__item6{order:6}@media screen and (min-width: 992px){.projects-grid__item6{grid-column:1/3;margin-right:160px}}.projects-grid img{margin-bottom:8px}.contact-layout{display:flex;gap:32px}@media screen and (min-width: 768px){.contact-layout{margin-top:120px}}@media screen and (min-width: 576px){.contact-layout__item1{width:50%}}.contact-layout__item2{display:none}@media screen and (min-width: 576px){.contact-layout__item2{display:block;width:50%}}@media screen and (min-width: 768px){.contact-footer{position:absolute;bottom:20px}}.about-h1{top:35px;position:relative;z-index:2}@media screen and (min-width: 992px){.about-h1{top:150px}}.about-img{margin-top:-60px;margin-left:auto;margin-right:20px;width:60%}.about-text{max-width:800px}.why__heading{margin-bottom:clamp(88px,3vw,160px)}.why__content{margin-bottom:160px}.why__subscript{font-weight:700;margin-bottom:clamp(8px,2vw,24px)}.why__title{line-height:1.1;width:70%;max-width:600px;margin-bottom:24px}.why__text{max-width:800px}@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-100%)}}.logos{overflow:hidden;padding:60px 0;background:rgba(0,0,0,0);white-space:nowrap;position:relative}.logos:before,.logos:after{position:absolute;top:0;width:250px;height:250px;content:"";z-index:2}.logos-slide{display:inline-block;animation:20s slide infinite alternate}.logos-slide img{height:250px;margin:0 40px}@media screen and (min-width: 768px){.logos-slide img{height:400px}}.footer{padding:88px 0 88px 0}@media screen and (min-width: 768px){.footer__container{display:flex;justify-content:space-between}}.footer-container{background:var(--mobile-background-color);color:var(--text-color)}.footer-nav{display:flex;flex-wrap:wrap;row-gap:16px}@media screen and (min-width: 768px){.footer-nav{flex-wrap:nowrap;row-gap:0;width:400px;justify-content:center;align-items:center}}.footer-nav li{width:50%}@media screen and (min-width: 768px){.footer-nav li{width:100%;flex-direction:row}}.footer__text{color:var(--mobile-color)}.footer__icon{fill:var(--mobile-color)}.u-text-center{text-align:center}.u-text-left{text-align:left}.u-text-right{text-align:right}.u-text-justify{text-align:justify}.mb-0{margin-bottom:4px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mb-5{margin-bottom:40px}.mb-6{margin-bottom:48px}.mb-7{margin-bottom:88px}.mb-8{margin-bottom:120px}.mb-9{margin-bottom:160px}.op-75{opacity:75%}.overlay{border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:absolute;background-color:rgba(0,0,0,.6);height:0px;opacity:0;width:100%}.u-text-100{font-weight:100}.u-text-200{font-weight:200}.u-text-300{font-weight:300}.u-text-400{font-weight:400}.u-text-500{font-weight:500}.u-text-600{font-weight:600}.u-text-700{font-weight:700}.u-text-800{font-weight:800}.u-text-900{font-weight:900}/*# sourceMappingURL=main.css.map */ diff --git a/client/sass/blocks/components/_nav.scss b/client/sass/blocks/components/_nav.scss index 29b103d..eab303e 100644 --- a/client/sass/blocks/components/_nav.scss +++ b/client/sass/blocks/components/_nav.scss @@ -30,7 +30,7 @@ } .nav__link { - border-bottom: 1px solid transparent; + border-bottom: 3px solid transparent; color: var(--text-color); font-size: $fs-300; padding: 2px; diff --git a/studio/.sanity/runtime/app.js b/studio/.sanity/runtime/app.js new file mode 100644 index 0000000..5a7fc8a --- /dev/null +++ b/studio/.sanity/runtime/app.js @@ -0,0 +1,11 @@ + +// This file is auto-generated on 'sanity dev' +// Modifications to this file is automatically discarded +import {renderStudio} from "sanity" +import studioConfig from "..\\..\\sanity.config.js" + +renderStudio( + document.getElementById("sanity"), + studioConfig, + {reactStrictMode: false, basePath: "/"} +) diff --git a/studio/.sanity/runtime/index.html b/studio/.sanity/runtime/index.html new file mode 100644 index 0000000..7b8c41f --- /dev/null +++ b/studio/.sanity/runtime/index.html @@ -0,0 +1,287 @@ + + +Sanity Studio
\ No newline at end of file