/* GENERAL DEFAULTS */
:root {
  --dark:#1c1c1c;
  --light:#FFFCF1;
  --neon:#E3FF43;
  --blue:#0177EB;
  --teal:#6EE9FF;
  --magenta:#E321E6;
  --pink:#EA81FA;
  --purple: #8800FF;
  --fontblack: 900;
  --fontextra: 800;
  --fontbold: 700;
  --fontsemi: 600;
  --fontmed: 500;
  --fontreg: 400;
  --fontlight: 300;
  --fontexlight: 200;
  --techy: "Space Mono", monospace;
  --classy: "Source Serif 4", serif;
}
* {
  box-sizing: border-box;
  scrollbar-color: #e3ff43a7 transparent;
}
@supports (not (-moz-appearance: none)) and (not (-webkit-hyphens: none)) { 
    html {
        scrollbar-gutter: stable;
    }
}
html {
  scroll-behavior: smooth;
}
body{
    margin:0;
    background-color: var(--dark);
    color:var(--light);
    font-family: var(--techy);
}
h1,h2,h3,h4,p,span{
    font-optical-sizing: auto;
}
a{
    text-decoration: none;
      color:var(--fontlight);
}
.active {
    color:var(--neon);
    text-decoration: underline;
}
.intextlink {
    text-decoration: underline;
    color:var(--teal);
    transition: cubic-bezier(.25,1,.5,1) 0.2s;
}

/*=============================================ABOUT CONTENT LAYOUT=============================================*/

.about-container {
    display: grid;
    grid-template-areas:
        "nav nav"
        "image title"
        "stats about"
        ;
    grid-template-columns: 2fr 1fr;
    width:100vw;
}
.mainnav {
    grid-area: nav;
    height:7vh;   
    border: solid 1px var(--light);
}
.image {
    grid-area: image;
    height:25vh;
    width:30vw;
    border-left: solid 1px var(--light);
    border-right: solid 1px var(--light);
    border-bottom: solid 1px var(--light);
    background-image: url(../images/about/brand-placeholder.png);
    background-repeat: no-repeat;
    background-position: left;
    background-size: cover;
}
.title {
    grid-area: title;
    height:25vh;
    width:70vw;   
    border-right: solid 1px var(--light);
    border-bottom: solid 1px var(--light);
}
.stats {
    grid-area: stats;
    height:68vh;
    width:30vw;
    border-left: solid 1px var(--light);
    border-right: solid 1px var(--light);
    border-bottom: solid 1px var(--light);
}
.about {
    grid-area: about;
    height:68vh;
    width:70vw;
    border-right: solid 1px var(--light);
    border-bottom: solid 1px var(--light);
    overflow-y: auto;
}

/*=============================================NAVIGATION=============================================*/
.mainnav nav{
    display:flex;
    align-items: center;
    width:100%;
    height:100%;
    padding: 0 30px;
}
.mainnav nav a {
    padding: 10px;
    margin: 0 5px 0 5px;
    font-weight: bold;
    font-size: clamp(14px, 1.1vw, 1.5vw);
    transition: cubic-bezier(.25,1,.5,1) 0.2s;
}
.mainnav a:hover{
    color: var(--magenta);
    background-color: var(--neon);
}
/*=============================================TITLE=============================================*/
.title{
    display: flex;
    align-items: center;
    padding: 3% 5%;
}
.title h1{
    color: var(--neon);
    font-family: var(--classy);
    font-weight: var(--fontblack);
    font-size: clamp(60px, 3.8vw, 8vw); 
    margin:0;
}
/*=============================================ABOUT=============================================*/
.about{
    padding: 3% 5%;
}
.about-text{
      font-size: 1.8vh;
      width:50vw;
      line-height: 3.2vh;
}
.about-text p{
    margin-top:1.5rem;
}
.about-text p:first-child {
    width:101%;
}
.intextlink:hover{
    background-color: var(--neon);
    color: var(--magenta);
}
.highlight {
    background-color: #e3ff43d4;
    color: var(--dark);
}
/*=============================================STATS=============================================*/
.stats {
    padding: 0 5%;
    overflow-y: auto;
    color: var(--teal);
    font-family: var(--classy);
}
.stats-text {
    padding: 3% 5%;
}
.skills h2, .tools h2{
    font-weight: var(--fontexlight);
    font-size: clamp(35px, 3.5vw, 8vw);
}
.skills h2{
    margin: 0;
}
.tools h2{
    margin: 18px 0 0 0;
}
.stats-list{
    display: flex;
    flex-wrap: wrap;
}
.skills span, .tools span{
    font-weight: var(--fontmed);
    border: solid var(--teal) 2px;
    padding: 10px;
    margin:8px;
    font-size: clamp(12px, 0.7vw, 5vw);   
}
/*
=====================================================================================
========================================= [ MEDIA QUERIES ] =========================
=====================================================================================
*/

@media (orientation: portrait) {
   
    .mainnav {
        position: fixed;
        background-color: #1c1c1c;
        width: 100%;
    }
    .image {
        margin-top:7vh;
    }
    .about-container {
        grid-template-areas:
            "nav nav nav"
            "image image image"
            "title title cv"
            "about about about"
            "stats stats stats"
            ;
            grid-template-columns: 5fr 1fr;
    }
    .image{
        width:100vw;
        height:20vh;
    }
    .title {
        width:100vw;
        height:fit-content;
        border-left: solid 1px var(--light);
    }
    .about {
        width:100vw;
        height:fit-content;
        border-left: solid 1px var(--light);
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .stats{
        width:100vw;
    }
    .title h1{
        font-size:clamp(25px, 3.1vw, 8vw);

    }

    .about-text{       
        width:85vw;
    }
    .stats{
        height:fit-content;
        padding-top: 2%;
    }

}
 @media (orientation: portrait) and (min-height:900px) and (min-width:700px){
    .title h1{
        font-size: 4.2vh;
    }
 }
  @media (orientation: portrait) and (max-width:700px){
      .title h1{
        font-size: 4vh;
    }  
  }
  @media (orientation: portrait) and (max-width:580px){
    .about-text p{
        margin-top:7%;
    } 
  
 }
 @media (orientation: landscape) and (min-width:2200px){
    .stats{
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
 }


  @media (orientation: landscape) and (max-width:1360px) {
    .stats{
        display: block;
        padding: 3% 5%;
    }
 }
@media (orientation: landscape) and (max-width:915px) {
    
    .title h1{
        font-size: 5.5vw;  
    }

    .about-text{
        font-size: 3vh;
        line-height: 5.5vh;
    }
 }
 @media (orientation: landscape) and (max-height:720px) {
    .about-container {
        grid-template-areas:
            "nav nav nav"
            "image image image"
            "title title cv"
            "about about about"
            "stats stats stats"
            ;
            grid-template-columns: 5fr 1fr;
    }

    .image{
        width:100vw;
        height:20vh;
    }
    .title {
        width:100vw;
        height:fit-content;
        border-left: solid 1px var(--light);
    }
    .about {
        padding-top:0;
        width:100vw;
        height:fit-content;
        border-left: solid 1px var(--light);
        font-size: larger;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .about-text {
        font-size: 1.8vw;
        line-height: 3.2vw;
    }
    .stats{
        width:100vw;
        height: fit-content;
    }
    .stats-text {
        padding-top: 2%;
    }
   .title h1{
        font-size:9vh;

    }
    .about-text{       
        width:85vw;
    }
     .mainnav {
        width: 100vw;
        height: fit-content;
    }
  
 }


@media (min-height:1921px) and (orientation:portrait){
    .mainnav {
        height: 4.5vh;
    }
    .mainnav nav a {
        font-size: 1.6vw;
    }
}

@media (orientation: landscape)and (min-height:1440px) {
    .mainnav nav a {
    font-size: 0.8vw;
    }    
    .stats{
        padding: 0 4%;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .stats-list span{
        font-size: 0.9vw;
        padding: 15px;
        margin: 11px;
        font-weight: var(--fontreg);
    }
    .stats h2{
        font-size: 4.5vw;
    }
}
