@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap";
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Montserrat",sans-serif
}
html{
    font-size:62.5%;
    scroll-behavior:smooth
}
body{
    text-align:center;
    line-height:1.5
}
h1{
    font-weight:700
}
p,a{
    font-size:1.6rem
}
a{
    text-decoration:none
}
a:hover{
    transition:all .3s ease-in-out
}
.section-title{
    margin-bottom:4.5rem;
    font-size:4rem;
    text-transform:uppercase
}
@media(max-width: 37.5em){
    .section-title{
        font-size:2.8rem
    }
}
.dark-blue-color{
    color:#272341
}
.text-color-main{
    margin-left:1rem;
    color:#5b86e5;
    -webkit-text-fill-color:#5b86e5
}
@supports((-webkit-background-clip: text) or (background-clip: text)) or (-webkit-background-clip: text){
    .text-color-main{
        background-image:linear-gradient(135deg, #36d1dc 0%, #5b86e5 100%);
        -webkit-background-clip:text;
        background-clip:text;
        -webkit-text-fill-color:rgba(0,0,0,0);
        color:rgba(0,0,0,0)
    }
}
@media(max-width: 37.5em){
    .text-color-main{
        margin:0;
        background-image:none;
        -webkit-text-fill-color:#5b86e5;
        box-shadow:none
    }
}
.cta-btn{
    display:inline-block;
    position:relative;
    padding:.8rem 1.6rem;
    font-weight:bold;
    line-height:1;
    z-index:1;
    overflow:hidden;
    border-radius:3px;
    transition:all cubic-bezier(0.19, 1, 0.22, 1) .6s
}
.cta-btn:hover{
    box-shadow:1.5px 1.5px 3px rgba(174,174,192,.4),-1px -1px 3px #fff
}
@media(max-width: 37.5em){
    .cta-btn:hover{
        box-shadow:none
    }
}
.cta-btn::after{
    content:"";
    display:block;
    position:absolute;
    background-image:linear-gradient(135deg, #36d1dc 0%, #5b86e5 100%);
    width:0px;
    height:100%;
    left:0;
    top:0;
    z-index:-1;
    transition:all cubic-bezier(0.19, 1, 0.22, 1) .6s
}
@media(max-width: 37.5em){
    .cta-btn::after{
        width:0;
        height:0;
        background-image:none
    }
}
.cta-btn--hero{
    color:#5b86e5;
    -webkit-text-fill-color:#5b86e5;
    border:2px solid rgba(0,0,0,0);
    -o-border-image:linear-gradient(135deg, #36d1dc 0%, #5b86e5 100%);
    border-image:linear-gradient(135deg, #36d1dc 0%, #5b86e5 100%);
    border-image-slice:1
}
@supports((-webkit-background-clip: text) or (background-clip: text)) or (-webkit-background-clip: text){
    .cta-btn--hero{
        background-image:linear-gradient(135deg, #36d1dc 0%, #5b86e5 100%);
        -webkit-background-clip:text;
        background-clip:text;
        -webkit-text-fill-color:rgba(0,0,0,0);
        color:rgba(0,0,0,0)
    }
}
@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){
    .cta-btn--hero{
        color:#5b86e5
    }
    .cta-btn--hero:hover{
        color:#fff
    }
}
@media(max-width: 37.5em){
    .cta-btn--hero{
        background-image:none;
        border:2px solid #5b86e5;
        box-shadow:none;
        -webkit-text-fill-color:#5b86e5
    }
}
.cta-btn--hero::after{
    height:410%;
    width:150%;
    transform:translate(-98%, -25%) rotate(45deg)
}
.cta-btn--hero:hover{
    -webkit-text-fill-color:#fff;
    text-decoration:none
}
@media(max-width: 37.5em){
    .cta-btn--hero:hover{
        -webkit-text-fill-color:#5b86e5
    }
}
.cta-btn--hero:hover::after{
    transform:translate(-9%, -25%) rotate(45deg)
}
.cta-btn--resume{
    border-radius:0;
    color:#fff;
    border:2px solid #fff
}
.cta-btn--resume::after{
    background:#fff
}
.cta-btn--resume:hover{
    color:#5b86e5;
    text-decoration:none;
    box-shadow:none
}
@media(max-width: 37.5em){
    .cta-btn--resume:hover{
        color:#fff
    }
}
.cta-btn--resume:hover::after{
    width:100%
}
.cta-btn--projects{
    box-shadow:inset 1px 1px 2px 2px rgba(174,174,192,.15),inset -2px -2px 2px rgba(255,255,255,.7);
    border:2px solid rgba(0,0,0,0)
}
@media(max-width: 37.5em){
    .cta-btn--projects{
        border:none;
        box-shadow:1.5px 1.5px 3px rgba(174,174,192,.4),-1px -1px 3px #fff
    }
}
.cta-btn--projects::after{
    height:250%;
    width:130%
}
.cta-btn--projects::after{
    transform:translate(-98%, -30%) rotate(45deg)
}
.cta-btn--projects:hover{
    box-shadow:1.5px 1.5px 3px rgba(174,174,192,.4),-1px -1px 3px #fff
}
.cta-btn--projects:hover::after{
    transform:translate(-12%, -30%) rotate(45deg)
}
.footer{
    background-color:#333;
    padding:4.8rem 0
}
.footer__text{
    font-size:1.3rem;
    color:#b3b3b3
}
.footer__text a{
    font-size:1.3rem;
    color:#bfbfbf;
    transition:all .2s ease-in-out;
    display:inline-block
}
.footer__text a:hover,.footer__text a:active{
    color:#36d1dc
}
.footer hr{
    margin:1rem auto;
    border:0;
    width:50%;
    border-top:2px solid rgba(255,255,255,.1)
}
.social-links{
    display:flex;
    justify-content:center
}
.social-links a{
    font-size:3rem;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#fff;
    width:5rem;
    height:5rem;
    margin:1.6rem 1.6rem;
    transition:all ease .2s
}
.social-links a i{
    transition:all ease-in-out .2s
}
.social-links a:hover{
    transform:scale(1.1) translateY(-2px)
}
.social-links a:hover .fa-twitter{
    color:#00acee
}
.social-links a:hover .fa-instagram{
    color:#c13584
}
.social-links a:hover .fa-linkedin{
    color:#4875b4
}
.social-links a:hover .fa-codepen{
    color:#212121
}
.back-to-top i{
    color:#fff;
    margin:1rem 0 1.6rem;
    transition:all 200ms ease
}
.back-to-top i:hover{
    transform:translateY(-2px)
}
section{
    padding:5rem 0rem
}
@media(max-width: 37.5em){
    section{
        border:none;
        padding-left:1rem;
        padding-right:1rem
    }
}
section .row{
    display:grid;
    gap:2rem;
    grid-template-columns:1fr 2fr;
    grid-template-rows:1fr;
    padding:0 1.5rem
}
@media(max-width: 56.25em){
    section .row{
        grid-template-columns:1fr;
        grid-template-rows:auto
    }
}
@media(max-width: 37.5em){
    section .row{
        padding:0
    }
}
section .row p+p{
    margin-top:1rem
}
section .row span{
    margin-top:2rem
}
.container{
    width:100%;
    padding:0 1.5rem;
    margin:0 auto;
    max-width:1140px
}
@media(max-width: 75em){
    .container{
        max-width:960px;
        width:100%
    }
}
@media(max-width: 56.25em){
    .container{
        max-width:720px;
        width:100%;
        justify-content:center
    }
}
@media(max-width: 48em){
    .container{
        max-width:720px;
        width:100%
    }
}
@media(max-width: 37.5em){
    .container{
        max-width:540px;
        width:100%
    }
}
#about{
    background-color:#5E7577;
    background-image:linear-gradient(135deg, #5E7577 0%, #242D2E 100%);
    color:#fff;
    height:100%;
    -webkit-clip-path:polygon(0 0, 100% 0, 100% 80%, 0 100%);
    clip-path:polygon(0 0, 100% 0, 100% 80%, 0 100%);
    padding-bottom:10%
}
@media(max-width: 75em){
    #about{
        height:100%;
        -webkit-clip-path:none;
        clip-path:none
    }
}
#about .about-wrapper{
    grid-template-columns:1fr 1fr
}
@media(max-width: 37.5em){
    #about .about-wrapper{
        padding-bottom:5rem;
        grid-template-columns:1fr
    }
}
#about .about-wrapper__image{
    display:flex;
    height:100%;
    align-items:center;
    justify-content:center
}
#about .about-wrapper__image img{
    max-width:350px;
    width:100%
}
@media(max-width: 75em){
    #about .about-wrapper__image{
        height:100%
    }
}
@media(max-width: 48em){
    #about .about-wrapper__image{
        padding-bottom:4rem
    }
}
#about .about-wrapper__info{
    display:flex;
    height:100%;
    justify-content:center;
    flex-direction:column;
    text-align:left
}
@media(max-width: 48em){
    #about .about-wrapper__info{
        align-items:center;
        text-align:center
    }
}
#contact{
    background-image:linear-gradient(135deg, #242D2E 0%, #333 130%);
    -webkit-clip-path:polygon(0 15vh, 100% 0, 100% 100%, 0 100%);
    clip-path:polygon(0 15vh, 100% 0, 100% 100%, 0 100%);
    padding:15rem 0 10rem 0;
    margin-top:-15rem;
    margin-bottom:-1px;
    color:#fff
}
@media(max-width: 75em){
    #contact{
        padding:10rem 0;
        margin-top:0;
        -webkit-clip-path:none;
        clip-path:none
    }
}
#contact .contact-wrapper{
    margin-top:3.2rem;
    padding:0 2rem;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden
}
#contact .contact-wrapper__text{
    margin-bottom:2.5rem
}
#contact .contact-wrapper__text,#contact .contact-wrapper a{
    font-size:2.4rem
}
@media(max-width: 37.5em){
    #contact .contact-wrapper__text,#contact .contact-wrapper a{
        font-size:2rem
    }
}
#hero{
    min-height:100vh;
    height:100vh;
    display:flex;
    align-items:center;
    background:#242D2E;
    font-weight:400;
    color:#fff;
    padding:0rem 5.6rem;
    top:0;
    left:0;
    bottom:0;
    right:0;
    z-index:-1;
    line-height:1.2;
    animation:hidden 1000ms linear forwards
}
@media(max-width: 56.25em){
    #hero{
        justify-content:center
    }
}
@media(max-width: 37.5em){
    #hero{
        padding:0rem 1.6rem
    }
}
#hero .hero-title{
    font-size:5.6rem;
    font-weight:700;
    margin-bottom:3.2rem;
    text-align:left
}
#hero .hero-title span{
    margin:0;
    display:inline-block
}
@media(max-width: 75em){
    #hero .hero-title{
        font-size:4rem
    }
}
@media(max-width: 56.25em){
    #hero .hero-title{
        font-size:3.6rem;
        text-align:center
    }
}
@media(max-width: 37.5em){
    #hero .hero-title{
        font-size:3.5rem;
        line-height:1.5
    }
}
@media(max-width: 20em){
    #hero .hero-title{
        font-size:2.8rem
    }
}
#hero .hero-cta{
    display:flex
}
@media(max-width: 56.25em){
    #hero .hero-cta{
        justify-content:center
    }
}
#hero .hero-cta a{
    font-size:2.4rem
}
@media(max-width: 37.5em){
    #hero .hero-cta a{
        font-size:2rem
    }
}
.scroll-down-link{
    position:absolute;
    left:50%;
    bottom:20px;
    transform:translateX(-50%)
}
.scroll-down{
    height:50px;
    width:30px;
    border:2px solid #000;
    border-radius:50px;
    cursor:pointer
}
.scroll-down::before,.scroll-down::after{
    height:10px;
    width:10px;
    content:"";
    position:absolute;
    top:20%;
    left:50%;
    border:2px solid #5b86e5;
    transform:translate(-50%, -100%) rotate(45deg);
    border-top:none;
    border-left:none;
    animation:scroll-down 1s ease-in-out infinite
}
.scroll-down::after{
    top:30%;
    animation-delay:.3s
}
@keyframes hidden{
    0%{
        opacity:0
    }
    50%{
        opacity:0
    }
    100%{
        opacity:1
    }
}
@keyframes scroll-down{
    0%{
        opacity:0
    }
    30%{
        opacity:1
    }
    60%{
        opacity:1
    }
    100%{
        opacity:0;
        top:90%
    }
}
#projects{
    background-color:#242D2E;
    color:#fff;
    margin-top:-15rem;
    padding-top:15rem
}
@media(max-width: 75em){
    #projects{
        margin-top:0;
        padding-top:5rem
    }
}
@media(max-width: 37.5em){
    #projects{
        padding-bottom:1px
    }
}
#projects .project-wrapper{
    margin-bottom:15rem
}
@media(max-width: 37.5em){
    #projects .project-wrapper{
        margin-bottom:0rem
    }
}
#projects .project-wrapper .row{
    margin:0;
    margin-bottom:8rem
}
@media(max-width: 37.5em){
    #projects .project-wrapper .row{
        margin-bottom:4rem
    }
}
#projects .project-wrapper__text{
    width:100%;
    text-align:left
}
@media(max-width: 75em){
    #projects .project-wrapper__text{
        margin-bottom:4.8rem
    }
}
@media(max-width: 37.5em){
    #projects .project-wrapper__text{
        margin-bottom:2.5rem
    }
}
#projects .project-wrapper__text-title{
    font-weight:bold;
    margin-bottom:1.8rem;
    font-size:2.5rem
}
@media(max-width: 37.5em){
    #projects .project-wrapper__text-title{
        font-size:2rem
    }
}
#projects .project-wrapper__text-info{
    margin-bottom:1.5rem
}
#projects .project-wrapper__text-btns{
    width:100%;
    display:flex;
    align-items:center;
    flex-wrap:wrap
}
#projects .project-wrapper__image{
    width:90%;
    margin:0 auto
}
@media(max-width: 75em){
    #projects .project-wrapper__image{
        width:100%;
        margin:0
    }
}
#projects .project-wrapper__image .thumbnail{
    border:none;
    box-shadow:8px 8px 9px 7px rgba(174,174,192,.4),-5px -5px 15px 7px #fff
}
#projects .project-wrapper__image .thumbnail .img-fluid{
    width:100%;
    height:auto;
    vertical-align:middle;
    border-radius:2px
}
@media(max-width: 37.5em){
    #projects .project-wrapper__image .thumbnail{
        box-shadow:none;
        border:1px solid #d2d2d2;
        margin-bottom:3.2rem;
        transform:none
    }
}
