@font-face {
    font-family: Calibre-SemiBold;
    src: url(Calibre-SemiBold.21cc3335.woff) format("woff"), url(Calibre-SemiBold.2c27f793.ttf) format("truetype"), url(Calibre-Semibold.320db03b.svg#Calibre-Semibold) format("svg");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Calibre-Medium;
    src: url(Calibre-Medium.bb31c6b1.woff) format("woff"), url(Calibre-Medium.cb484263.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Calibre-Regular;
    src: url(Calibre-Regular.0e30637c.woff) format("woff"), url(Calibre-Regular.ad23bcd8.ttf) format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

*,
:after,
:before {
    margin: 0;
    padding: 0;
    box-sizing: inherit
}

html {
    font-size: 62.5%;
    box-sizing: border-box;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scroll-behavior: smooth;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    max-width: 100%
}


@media only screen and (max-width:62.5em) {
    html {
        font-size: 56.25%
    }
}

@media only screen and (max-width:56.25em) {
    html {
        font-size: 54%
    }
}

@media only screen and (max-width:37.5em) {
    html {
        font-size: 51%
    }
}

@media only screen and (min-width:112.5em) {
    html {
        font-size: 75%
    }
}

body {
    font-family: Calibre-Regular, sans-serif;
    font-size: 1.6rem;
    background-color: #000;
    color: #fff;
    overflow-x: hidden;
    cursor: auto;
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 100%
}

main {
    display: grid;
    grid-template-columns: 1fr repeat(12, minmax(min-content, 10rem)) 1fr;
    max-width: 100%;
    overflow-x: hidden
}

.noScroll {
    overflow-y: hidden
}

.smooth-scroll-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden
}

section {
    transition: transform .25s;
    will-change: transform;
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box
}

section.content {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden
}

.preloader {
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #000;
    z-index: 20;
    overflow: hidden
}

.preloader #logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.preloader #logo path:first-child {
    stroke-width: 1;
    stroke-dasharray: 565.9;
    stroke-dashoffset: 565.9;
    animation: line-anim 2s ease forwards
}

.preloader #logo path:nth-child(2) {
    stroke-width: 1;
    stroke-dasharray: 604.5;
    stroke-dashoffset: 604.5;
    animation: line-anim 2s ease .3s forwards
}

.preloader #logo path:nth-child(3) {
    stroke-width: 1;
    stroke-dasharray: 372.1;
    stroke-dashoffset: 372.1;
    animation: line-anim 2s ease .6s forwards
}

.preloader #logo path:nth-child(4) {
    stroke-width: 1;
    stroke-dasharray: 463.9;
    stroke-dashoffset: 463.9;
    animation: line-anim 2s ease .9s forwards
}

.preloader #logo path:nth-child(5) {
    stroke-width: 1;
    stroke-dasharray: 604.4;
    stroke-dashoffset: 604.4;
    animation: line-anim 2s ease 1.2s forwards
}

.preloader #logo path:nth-child(6) {
    stroke-width: 1;
    stroke-dasharray: 493.9;
    stroke-dashoffset: 493.9;
    animation: line-anim 2s ease .3s forwards
}

.preloader #logo path:nth-child(7) {
    stroke-width: 1;
    stroke-dasharray: 565.9;
    stroke-dashoffset: 565.9;
    animation: line-anim 2s ease 1.5s forwards
}

.preloader #logo path:nth-child(8) {
    stroke-width: 1;
    stroke-dasharray: 580;
    stroke-dashoffset: 580;
    animation: line-anim 2s ease 1.8s forwards
}

.preloader svg {
    animation: fill .6s ease-in 3s forwards
}

@keyframes line-anim {
    to {
        stroke-dashoffset: 0
    }
}

@keyframes fill {
    0% {
        fill: transparent
    }

    to {
        fill: #09f755
    }
}

.cursor {
    display: none
}

@media only screen and (max-width:62.5em) {
    .cursor {
        opacity: 0
    }
}

.heading-2 {
    letter-spacing: -1px
}

.heading-2,
.heading-3 {
    font-size: 4rem;
    text-transform: capitalize
}

.heading-3 {
    letter-spacing: -.5px;
    line-height: 4rem;
    font-family: Calibre-Medium, sans-serif
}

.heading-4 {
    letter-spacing: 5px
}

.heading-4,
.heading-5 {
    text-transform: uppercase
}

.heading-5 {
    font-size: 1.3rem;
    letter-spacing: 3px
}

.paragraph {
    font-size: 1.5rem;
    color: #797575
}

.cta {
    background-color: #09f755;
    padding: 1.5rem 4rem;
    text-decoration: none;
    color: #000;
    border-radius: 10rem;
    text-transform: uppercase;
    font-size: 1.2rem;
    font-family: Calibre-SemiBold, sans-serif;
    letter-spacing: 3px;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: all .3s ease-in-out
}

.cta:hover {
    background-color: transparent;
    border: 1.5px solid #fff;
    color: #fff
}

.pri-color {
    color: #09f755
}

.sec-color {
    color: #797575
}

.mb-l {
    margin-bottom: 5rem
}

.mb-m {
    margin-bottom: 3rem
}

.mb-s {
    margin-bottom: 1.3rem
}

.mt-s {
    margin-top: 1rem
}

.contact {
    grid-column: 2/14;
    padding: 6rem;
    max-width: 100%;
    overflow-x: hidden
}

.contact-box__wrapper {
    margin-top: 8rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(35rem, 1fr));
    grid-gap: 4rem
}

.contact-box a {
    font-size: 2.75rem;
    text-decoration: none;
    color: #fff;
    font-family: Calibre-Medium, sans-serif;
    transition: color .2s ease-in-out
}

.contact-box a:hover {
    color: #09f755
}

.footer {
    display: flex;
    justify-content: space-between;
    padding: 4rem;
    color: #797575
}

.nav-container {
    position: absolute;
    padding: 4rem;
    top: 0;
    left: 0
}

.nav-container .nav-icon {
    background-color: #000;
    position: absolute;
    right: 4rem;
    top: 2.5rem;
    z-index: 10;
    width: 6rem;
    height: 6rem;
    border-radius: 50%;
    cursor: pointer;
    position: fixed;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.nav-container .nav-icon .bar1,
.nav-container .nav-icon .bar2,
.nav-container .nav-icon .bar3 {
    width: 20px;
    height: 2px;
    margin: 4px 0;
    transition: .4s;
    background-color: #fff;
    border-radius: 1rem
}

.nav-container .nav-icon .bar2 {
    width: 30px;
    transform-origin: right
}

.nav-container .nav-main {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1
}

.nav-container .nav-main .box-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: flex
}

.nav-container .nav-main .box-wrapper .box {
    background-color: #09f755;
    width: 25vw;
    height: 0
}

.nav-container .nav-main .mobile-logo {
    position: absolute;
    top: 4rem;
    left: 4rem;
    z-index: 2;
    filter: brightness(1%);
    opacity: 0
}

.nav-container .nav-main__content {
    opacity: 0;
    visibility: hidden;
    width: 95vw;
    position: absolute;
    top: 15rem;
    left: 4rem;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(35rem, 1fr));
    grid-gap: 4rem;
    padding: 4rem;
    color: #000
}

.nav-container .nav-main__content--box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 25rem
}

.nav-container .nav-main__content--box .social-links {
    display: flex;
    flex-direction: column
}

.nav-container .nav-main__content--box .social-links--box {
    display: flex;
    align-items: center
}

.nav-container .nav-main__content--box .social-links--box img {
    margin-right: 2rem;
    height: 1.7rem;
    filter: brightness(1%)
}

.nav-container .nav-main__content--box .social-links--box:nth-child(2) {
    margin-top: 1rem
}

.nav-container .nav-main__content--box .resume {
    font-size: 5rem;
    text-decoration: none;
    color: #000;
    font-family: Calibre-Medium, sans-serif;
    letter-spacing: -2px;
    align-self: flex-start;
    transition: all .2s ease-in-out
}

.nav-container .nav-main__content--box .resume:hover {
    letter-spacing: 3px
}

.nav-container .nav-main__content--box .list {
    justify-self: flex-start
}

.nav-container .nav-main__content--box .list__item {
    list-style: none
}

.nav-container .nav-main__content--box .list__item:not(:last-child) {
    margin-bottom: 3.5rem
}

.nav-container .nav-main__content--box .list__item a {
    text-transform: uppercase;
    font-size: 3rem;
    text-decoration: none;
    color: #000;
    font-family: Calibre-Medium, sans-serif;
    letter-spacing: -1px;
    transition: all .2s ease-in-out
}

.nav-container .nav-main__content--box .list__item a:hover {
    letter-spacing: 3px
}

.nav-container .nav-sub {
    position: absolute
}

.header {
    position: relative;
    overflow: hidden;
    min-height: 80rem
}

@media only screen and (max-width:37.5em) {
    .header {
        min-height: 100vh
    }
}

.header:after {
    content: "";
    position: absolute;
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    top: 0;
    right: 0;
    z-index: -1;
    background: url(home-bg.19753168.svg) right center no-repeat;
    background-size: auto 100%
}

@media only screen and (max-width:56.25em) {
    .header:after {
        transform: rotate(90deg);
        background-position: 50% 90%;
        background-size: 100vh 100vw;
        top: auto;
        bottom: -10%;
        right: 0;
        left: 0
    }
}

.header .hero {
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-70%)
}

@media only screen and (max-width:56.25em) {
    .header .hero {
        top: 55%
    }
}

.text-container {
    width: 25rem;
    position: relative;
    overflow: hidden;
    height: 10rem;
    margin: 1rem 0 1rem -2rem
}

.text-container video {
    position: absolute;
    top: 0;
    width: 24rem;
    height: 10rem
}

.text-container svg {
    position: absolute;
    top: -1rem;
    left: -.75rem;
    width: 27rem
}

.text-container span {
    font-size: 8rem;
    color: hsla(0, 0%, 100%, 0);
    text-transform: lowercase;
    font-family: Calibre-SemiBold, sans-serif;
    position: absolute;
    top: 1.5rem;
    left: 1.5rem
}

.nav-anim .bar1 {
    transform: rotate(-45deg) translate(-6px, 7px)
}

.nav-anim .bar2 {
    transform: translateX(200%);
    opacity: 0
}

.nav-anim .bar3 {
    transform: rotate(45deg) translate(-7px, -8px)
}

.project {
    grid-column: 2/14;
    padding: 6rem;
    max-width: 100%;
    overflow-x: hidden
}

.experience-wrapper {
    margin-top: 4rem;
    position: relative;
    padding-left: 3rem;
    max-width: 100%;
    overflow-x: hidden;
}

.experience-wrapper::before {
    content: "";
    position: absolute;
    left: 0.5rem;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(to bottom, #09f755, #797575);
    opacity: 0.3;
}

.experience-item {
    position: relative;
    margin-bottom: 5rem;
    padding-left: 4rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(121, 117, 117, 0.2);
}

.experience-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.experience-item::before {
    content: "";
    position: absolute;
    left: -2.7rem;
    top: 0.5rem;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background-color: #09f755;
    border: 3px solid #000;
    z-index: 1;
}

.experience-header {
    margin-bottom: 2rem;
}

.experience-title-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.experience-title {
    font-size: 2.8rem;
    margin: 0;
    color: #09f755;
    font-family: Calibre-Medium, sans-serif;
}

.experience-period {
    font-size: 1.4rem;
    color: #797575;
    font-family: Calibre-Regular, sans-serif;
    white-space: nowrap;
}

.experience-company {
    font-size: 1.8rem;
    color: #fff;
    margin: 0.5rem 0;
    letter-spacing: 2px;
    font-family: Calibre-Medium, sans-serif;
}

.experience-company a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease-in-out;
}

.experience-company a:hover {
    color: #09f755;
    text-decoration: underline;
}

.experience-location {
    font-size: 1.4rem;
    color: #797575;
    margin: 0;
    font-family: Calibre-Regular, sans-serif;
}

.experience-summary {
    font-size: 1.6rem;
    color: #fff;
    line-height: 1.8;
    margin-bottom: 1.5rem;
    font-family: Calibre-Regular, sans-serif;
}

.experience-details {
    list-style: none;
    padding: 0;
    margin: 0;
}

.experience-details > li {
    font-size: 1.6rem;
    color: #fff;
    line-height: 1.8;
    margin-bottom: 1.2rem;
    padding-left: 2rem;
    position: relative;
    font-family: Calibre-Regular, sans-serif;
}

.experience-details > li::before {
    content: "▸";
    position: absolute;
    left: 0;
    color: #09f755;
    font-size: 1.4rem;
}

.experience-details > li strong {
    color: #09f755;
    font-family: Calibre-Medium, sans-serif;
}

.experience-achievements {
    list-style: none;
    padding: 0;
    margin: 1rem 0 0 2rem;
}

.experience-achievements li {
    font-size: 1.5rem;
    color: #797575;
    line-height: 1.7;
    margin-bottom: 0.8rem;
    padding-left: 1.5rem;
    position: relative;
    font-family: Calibre-Regular, sans-serif;
}

.experience-achievements li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #09f755;
    font-size: 1.2rem;
}

.mt-l {
    margin-top: 5rem;
}

@media only screen and (max-width: 56.25em) {
    .experience-wrapper {
        padding-left: 2rem;
    }

    .experience-item {
        padding-left: 3rem;
    }

    .experience-item::before {
        left: -1.7rem;
    }

    .experience-title {
        font-size: 2.4rem;
    }

    .experience-title-row {
        flex-direction: column;
        gap: 0.5rem;
    }
}

@media only screen and (max-width: 37.5em) {
    .experience-wrapper {
        padding-left: 1.5rem;
    }

    .experience-item {
        padding-left: 2.5rem;
    }

    .experience-item::before {
        width: 1rem;
        height: 1rem;
        left: -1.2rem;
    }

    .experience-title {
        font-size: 2rem;
    }

    .experience-company {
        font-size: 1.5rem;
    }

    .experience-details > li {
        font-size: 1.4rem;
    }
}

.project-box__wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    grid-gap: 4rem;
    color: #000;
    margin-top: 2rem
}

.project-box {
    padding: 2rem;
    height: 50rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative
}

.project-box:hover {
    border: 2px solid #fff;
    color: #fff
}

.project .project-box:first-child {
    background: linear-gradient(180deg, #f3cbab, #feedca)
}

.project .project-box:nth-child(2) {
    background: linear-gradient(180deg, #b1e5f9, #f4d2fe)
}

.project .project-box:nth-child(3) {
    background: linear-gradient(180deg, #dbb4f3, #efb7d7)
}

.project .project-box:nth-child(4) {
    background: linear-gradient(180deg, #efa971, #e4cafe)
}

.project .project-box:nth-child(4) .project-box__link {
    width: 50%
}

.project .project-box:nth-child(5) {
    background: linear-gradient(90deg, #b1e5f9, #f4d2fe)
}

.project .project-box:nth-child(5) .project-box__link {
    width: min-content
}

.project .project-box:nth-child(6) {
    background: linear-gradient(90deg, #b1e5f9, #f4d2fe)
}

.project-box__link {
    /* align-self: flex-end; */
    width: 50%;
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media only screen and (max-width:56.25em) {
    .project-box__link {
        width: 50%
    }
}

.project-box__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start
}

.project-box:first-child,
.project-box:nth-child(2),
.project-box:nth-child(3),
.project-box:nth-child(4),
.project-box:nth-child(5)
 {
    background: linear-gradient(180deg, #f3cbab, #feedca)
}

.project-box:first-child:after,
.project-box:nth-child(2):after,
.project-box:nth-child(3):after,
.project-box:nth-child(4):after,
.project-box:nth-child(5):after {
    content: "";
    position: absolute;
    width: 103%;
    height: 101%;
    top: 1rem;
    right: 0;
    z-index: -1
}

.project-box:first-child:hover,
.project-box:nth-child(2):hover,
.project-box:nth-child(3):hover,
.project-box:nth-child(4):hover,
.project-box:nth-child(5):hover {
    background: none;
    background-color: #000
}

.project-box:first-child:hover img,
.project-box:nth-child(2):hover img,
.project-box:nth-child(3):hover img,
.project-box:nth-child(4):hover img,
.project-box:nth-child(5):hover img {
    filter: invert(1)
}

.project-box:first-child:hover:after,
.project-box:nth-child(2):hover:after,
.project-box:nth-child(3):hover:after,
.project-box:nth-child(4):hover:after,
.project-box:nth-child(5):hover:after {
    outline: 2px solid #fff
}

.web {
    grid-column: 2/14;
    padding: 6rem;
    max-width: 100%;
    overflow-x: hidden
}

.web-box__wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    grid-gap: 4rem;
    margin-top: 6rem
}

.web-box {
    padding: 2rem 2rem .5rem;
    border: 1px solid #797575;
    border-bottom: 4px solid #09f755
}

.web-box a {
    display: flex;
    flex-direction: column;
    font-size: 2rem;
    text-transform: capitalize;
    text-decoration: none;
    color: #797575;
    font-family: Calibre-Medium, sans-serif;
    transition: color .3s ease-in-out
}

.web-box a img {
    align-self: flex-end;
    height: 2rem
}

.web-box a:hover {
    color: #fff
}

/*# sourceMappingURL=src.ab891ce8.css.map */