html{
    font-size: 100%;
    line-height: 1.2rem;
    
    -webkit-text-size-adjust: 100%;
    
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    background-color: rgba(253, 244, 244, 30%);
    font-family: 'Montserrat', Arial, sans-serif;
    margin: 0px;
}

.large{
    font-weight: normal;
    line-height: normal;
    font-family: 'Oswald', Arial, sans-serif;
    font-size: 5rem;
    letter-spacing: 4px;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0px;  
    background-image: linear-gradient(135deg, rgb(250, 113, 283)0%, rgb(53, 56, 147)60%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    word-wrap: break-word;
}

.medium-spacing{
    font-weight: normal;
    line-height: normal;
    font-family: 'Oswald', Arial, sans-serif;
    font-size: 4rem;
    letter-spacing: 4px;
    margin: 0px;
}

.medium-spacing-halfsize{
    font-weight: normal;
    line-height: normal;
    font-family: 'Oswald', Arial, sans-serif;
    font-size: 2rem;
    letter-spacing: 4px;
    margin: 0px;
}

.main-title-large{
    font-weight: normal;
    line-height: normal;
    font-size: 3rem;
}

.main-title{
    font-weight: normal;
    line-height: normal;
    font-size: 1.5rem;
}

.small{
    font-weight: normal;
    font-size: 0.7rem;
}

.quote{
    font-family: 'Covered By Your Grace', cursive, sans-serif;
    font-size: 1.5em;
}

.uppercase{
    text-transform: uppercase;
}

.italic{
    font-style: italic;
}

.bold{
    font-weight: bold;
}

.colorful-letter{
    background-image: linear-gradient(135deg, rgb(250, 113, 283)0%, rgb(54, 64, 170)60%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


.baby-pink{
    background-color: rgba(91, 155, 195, 0.3);
    margin: 20px auto;
    padding: 20px;
    text-align: center;
}

.baby-pink-light{
    background-color: rgba(43, 138, 222, 0.3);
    margin: 20px auto;
    padding: 20px;
    text-align: center;
}


.wrapper{
    max-width: 900px;
    margin: auto;
    padding: 20px;
    display: flex;
    gap: 20px 20px;
}

.column{
    flex: 50%;
}

.w-900{
    max-width: 900px;
    margin: auto;
}


.grid-system-2{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.grid-system-4{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
}


.max-width{
    max-width: 450px;
}

.max-height{
    max-height: 350px;
}

.align-center{
    align-self: center;
}

.justify-content{
    justify-content: right;
}

.justify{
    text-align: justify;
}

.center{
    text-align: center;
}

.padding{
    padding: 20px;
}

.padding-top{
    padding-top: 20px;
}

.padding-right{
    padding-right: 20px;
}

.padding-bottom{
    padding-bottom: 20px;
}

.padding-left{
    padding-left: 20px;
}

.margin-auto{
    margin: auto;
}

.margin-trbl10{
    margin: 10px;
}


.flex{
    display: flex;
    flex-direction: column;
}

.bottom{
    align-self: flex-start;
    margin-top: auto;
}


.button{
    background-color: rgba(26, 69, 97, 0.3);
    padding: 10px;
    text-decoration: none;
    border-radius: 5%;
    color: black;
}


.button-outline{
    border: 2px solid  rgba(70, 86, 137, 0.3);
    padding: 10px;
    text-decoration: none;
    border-radius: 5%;
    color: black;
}
.download-btn {
    display: inline-block; 
    padding: 10px 20px;
    background-color: #6872b4;
    color: #fff;
    text-decoration: none; 
    border-radius: 5px; 
    font-weight: bold;
    cursor: pointer; 
    transition: background-color 0.3s ease; 
}

.download-btn:hover {
    background-color: #470762; 
}

.link{
    text-decoration: none;
}


.link-no-scale{
    text-decoration: none;
}

.no-padding-list-item{
    padding-left: 0;
}

.padding-list-10{
    padding: 10px;
}

.no-bullet-list{
    list-style-type: none;
}

.button-outline:hover, .button-outline:active{
    border: 2px solid  rgba(109, 121, 230, 0.3);
    background-color: rgba(106, 109, 197, 0.6);
    padding: 10px;
    text-decoration: none;
    border-radius: 5%;
    color: rgb(190, 221, 244);
    transition: background-color 1s ease, color 1s ease;
}

.link:hover, .link:active{
    font-size: 1.2rem;
    transform: scale(1.5);
    transition: 1s ease-in-out;
   
}

.progress-bar:hover, .progress-bar:active {
    box-shadow: 5px 5px 5px #4f6f97;
    transition: box-shadow 1s ease;
}


nav {
    margin-bottom: 30px;
}

.main-nav{
    background-color: rgb(187, 189, 223);
    display: flex;
    list-style-type: none;
    justify-content: center;
    padding: 20px;
    margin: 0px;
}

.main-nav li {
    padding: 5px 10px;
}

.main-nav li a {
    color: #000000;
    text-decoration: none;
}

.main-nav li a:hover {
    color: rgb(103, 31, 218);
    text-decoration: none;
    font-weight: bold;
}

.sticky {
    position: -webkit-sticky; 
    position: sticky;
    top: 0;
    align-self: flex-start; 
}


.toggle, #drop{
    display: none;
}

#main-toggle{
    border: 1px solid #df36854d;
    float: right;
    padding: 20px;
    
    user-select: none;
}

.nav-icon{
    background-color: #df36854d;
    display: block;
    height: 3px;
    width: 10px;
    position: relative;
}

.nav-icon::before,
.nav-icon::after{
    background-color: #df36854d;
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
}

.nav-icon::before{
    top: 5px;
}

.nav-icon::after{
    top: -5px;
}



footer{
    color: #000000;
    text-align: center;
    padding: 20px 0px;
}



.header-img{
    border-radius: 70%;
}


.skills {
    list-style: none;
    text-transform: uppercase;
}

.progress-bar {
    background-color: #353b48;
    display: block;
    height: 10px;
    border-radius: 20px;
}

.progress-bar span {
    height: 10px;
    float: left;
    background: linear-gradient(135deg, rgb(135, 109, 237)0%, rgb(63, 84, 138)60%);
    border-radius: 20px;
    -webkit-background: linear-gradient(135deg, rgb(250, 113, 283) 0%, rgb(63, 53, 114) 60%);
    -webkit-border-radius: 20px;
}

.html {
    width: 90%;
    animation: html 3s;
}

.css {
    width: 75%;
    animation: css 3s;
}

.javascript {
    width: 63%;
    animation: javascript 3s;
}

.php {
    width: 54%;
    animation: php 3s;
}

.comm-adapt {
    width: 90%;
    animation: comm-adapt 3s;
}

.team-player {
    width: 85%;
    animation: team-player 3s;
}

.problem-solving {
    width: 82%;
    animation: problem-solving 3s;
}

.open-minded {
    width: 75%;
    animation: open-minded 3s;
}

@keyframes html {
    0% {
        width: 0%;
    }
    100% {
        width: 90%;
    }
}

@keyframes css {
    0% {
        width: 0%;
    }
    100% {
        width: 75%;
    }
}

@keyframes javascript {
    0% {
        width: 0%;
    }
    100% {
        width: 63%;
    }
}

@keyframes php {
    0% {
        width: 0%;
    }
    100% {
        width: 54%;
    }
}

@keyframes comm-adapt {
    0% {
        width: 0%;
    }
    100% {
        width: 90%;
    }
}

@keyframes team-player {
    0% {
        width: 0%;
    }
    100% {
        width: 85%;
    }
}

@keyframes problem-solving {
    0% {
        width: 0%;
    }
    100% {
        width: 82%;
    }
}

@keyframes open-minded {
    0% {
        width: 0%;
    }
    100% {
        width: 75%;
    }
}

.card{
    box-shadow: 0 3px 10px rgb(127 110 187 / 0.2); 
    padding: 20px;
}

.box{
    display: block;
    width: 100px;
}

.box-contact{
    display: block;
    width: 100%; 
    text-align: center;
}

.logo{
    width: 50px;
}

@media screen and (max-width: 867px){
    body{
        font-size: 90%;
    }

    .grid-system-2{
        grid-template-columns: 1fr;
    }

    .large{
        font-size: 4rem;
    }

    .medium-spacing{
        font-size: 2.5rem;
    }

    .main-title-large{
        font-size: 2rem;
        text-align: center;  
        margin: 0;
    }

    .main-title{
        text-align: center;
        margin: 0;
    }

    .small{
        font-size: 0.6rem;
    }

    .max-width{
        max-width: 300px
    }

    .max-height{
        max-height: 250px;
    }

    .padding-top{
        padding-top: 10px;
    }
    
    .padding-right{
        padding-right: 10px;
    }

    .padding-bottom{
        padding-bottom: 10px;
    }
    
    .padding-left{
        padding-left: 10px;
    }

    .logo{
        width: 40px;
    }
}


@media screen and (max-width: 750px){
    .wrapper{
        flex-direction: column;
        gap: 20px 0px;
    }

    .column{
        flex: 100%;
    }

    .box{
        margin: auto;
    }

    .thanks{
        text-align: center;
    }
}


@media screen and (max-width: 510px){
    .main-nav{
        display: none;
    }

    .toggle{
        display: block;
        background-color: #485f6c;
        border: 1px solid #8581fd4d;
    }
    
    .toggle:hover{
        background-color: #f0e7e7;
    }
    
    #drop:checked+.main-nav{
        display: block;
    }

    nav{
        padding-bottom: 25px;
    }

    .max-width{
        max-width: 100%;
    }
}


@media screen and (max-width: 377px){
    body{
        line-height: 1.5rem;
    }

    .large{
        font-size: 3rem;
    }

    .medium-spacing{
        font-size: 1.5rem;
    }

    .medium-spacing-halfsize{
        font-size: 1.5rem;
    }

    .main-title{
        font-size: 1rem;
    }

    .main-title-large{
        font-size: 1.5rem;
    }
}


@media (prefers-color-scheme: dark) {
    body {
        background-color: rgba(45, 45, 45, 1);
        color: white;
    }

    .baby-pink {
        background-color: rgb(97, 111, 161);
    }

    .baby-pink-light {
        background-color: rgba(45, 45, 45, 1);
        border: 2px solid rgb(33, 89, 146);
    }

    .main-nav {
        background-color: rgba(45, 45, 45, 1);
    }

    .main-nav li a {
        color: white;
    }

    .main-nav li a:hover {
        color: rgb(75, 99, 186);
    }

    #main-toggle{
        border: 1px solid rgba(255, 255, 255, 0.6);
        background-color: rgba(45, 45, 45, 1);
    }
    
    .nav-icon{
        background-color: rgba(255, 255, 255, 0.6);
    }
    
    .nav-icon::before,
    .nav-icon::after{
        background-color: rgba(255, 255, 255, 0.6);
    }

    .button-outline{
        border: 2px solid rgb(70, 79, 166);
        color: white;
    }

    .button-outline:hover, .button-outline:active{
        border: 2px solid rgb(175, 201, 254);
        background-color: rgb(168, 185, 252);
    }

    .card{
        box-shadow: 0 0px 0px; 
        border: 2px solid rgb(175, 176, 254);
    }

    .logo{
        background-color: white;
        padding: 2px;
        border-radius: 4px;
    }

    .hobbies{
        background-color: white;
        border-radius: 100%;
        padding: 10px;
    }

    footer{
        color: white;
    }

    @media screen and (max-width: 929px) {
        .baby-pink-light {
            margin-left: 10px;
            margin-right: 10px;
        }
    }
}