* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

button {
    border: none;
    outline: none;
    inset: none;
}

*:focus, *:active {
    outline: 0 !important;
}

html {
    font-size: 16px;
    font-family: "Open Sans", sans-serif;
    scroll-behavior: smooth;
    overflow-x: hidden;
    background-color: rgb(218, 218, 218);
}

@media screen and (prefers-reduced-motion: reduce) {
	html {
        scroll-behavior: auto;
	}
}

body {
    overflow-x: hidden;
    margin: 0 auto;
    background-color: white;
}

main {
    scroll-snap-align: start;
}
nav {
    background-color:  #010326;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 10;
}

.burger-nav {
    display: none;
}

nav .burger-nav {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 50px;
    width: 50px;
    cursor: pointer;
    margin: 20px;
    float: right;
    transition: all 0.5s ease-in-out;
}
.burger-icon,
.burger-icon::before,
.burger-icon::after {
    height: 5px;
    width: 100%;
    display: block;
    background-color: white;
    border-radius: 4px;
}

.burger-icon::before {
    content: "";
    transform: translateY(-20px);
}

.burger-icon::after {
    content: "";
    transform: translateY(15px);
}

.close-icon .burger-icon {
    background-color: transparent;
}

.close-icon .burger-icon::before {
    transform: rotate(45deg);
}

.close-icon .burger-icon::after {
    transform: rotate(-45deg) translate(4px,-4px);
}

nav .desktop {
    float: right;
    transition: 0.5s ease-in-out;
}

nav .desktop li {
    list-style-type: none;
    float: left;
    margin: 0.5rem 1.5rem;
}
nav .desktop li a {
    text-decoration: none;
    color: #F24957;
}

.desktop .active {
    background-color: transparent !important;
}

.desktop .active a {
    color: #F4D2BD; 
}

.desktop a:hover,
.desktop a:active { 
    color:#F4D2BD; 
}

.banner {
    display: grid;
    width: 100%;
    height: 80%;
    grid-template: repeat(6, 1fr) / repeat(12, 1fr);
    position: relative;
    top: 3rem;
    padding: 10px;
    background-color:  #010326;
}

.my-name {
    grid-area: 1 / 2 / span 5 / span 5;
    font-family: "Work Sans", sans-serif;
    font-size: 100px;
    letter-spacing: 0.7rem;
    font-weight: 900;
    margin-top: 3rem;
}

.silvia {
    display: flex;
    flex-direction: row;
    color: #F24957;
    transform: translateY(-100px);
    opacity: 0;
    transition: all 1s ease-in-out;
    z-index: 20;
}

.silvia.is-visible {
    transform: translateY(0);
    opacity: 1;
}

.letter-i {
    width: 0.5rem;
    position: relative;
    margin-right: 0.5rem;
}

#circle {
    height: 0.7rem;
    width: 0.7rem;
    top: 1.1rem;
    position: absolute;
    border-radius: 50%;
    background: #F24957;
    animation: bounce 2s infinite;
    -webkit-animation: bounce 2s infinite;
}

@keyframes bounce {
    16.6% {
        transform: translateY(-40px);
    }
    33.3% {
        transform: translateY(0);
    }
    49.9% {
        transform: translateY(-20px);
    }
     66.5% {
        transform: translateY(0);
    }
    83.1% {
        transform: translateY(-70px);
    }
    100% {
        transform: translateY(0);
    }
}

@-webkit-keyframes bounce {
    16.6% {
        transform: translateY(-40px);
    }
    33.3% {
        transform: translateY(0);
    }
    49.9% {
        transform: translateY(-20px);
    }
     66.5% {
        transform: translateY(0);
    }
    83.1% {
        transform: translateY(-70px);
    }
    100% {
        transform: translateY(0);
    }
}

.rectangle {
    height: 3.1rem;
    width: 0.5rem;
    background-color: #F4D2BD; 
    position: absolute;
    top: 2.8rem;
}

.lvia {
    margin-left: 0.5rem;
}

.lee {
    animation: floatIn 1s ease-in;
    -webkit-animation: floatIn 1s ease-in;
    margin-left: 4rem;
    color: #F4D2BD;
    margin-top: -30px;
    transform: translateY(100px);
    opacity: 0;
    transition: all 1s ease-in-out;
}

.lee.is-visible {
    transform: translateY(0);
    opacity: 1;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    } 
}
@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    } 
}

@keyframes changeColor {
    from {
        color: #F24957;
    }
    to {
        color: #F4D2BD;
    }
}  

@-webkit-keyframes changeColor {
    from {
        color: #F24957;
    }
    to {
        color: #F4D2BD;
    }
}  

.chinese-name {
    grid-area: 3 / 3 / span 2 / span 3;
    margin-left: 4.5rem;
    margin-top: 3rem;
    font-family: 'ZCOOL QingKe HuangYou', cursive;
    font-size: 80px;
    color: #F4D2BD;
    opacity: 0;
 
}

.chinese-name.is-visible {
    animation: fadeIn 1.5s 0.6s ease both, changeColor 1.5s 0.6s ease both;
    -webkit-animation: fadeIn 1.5s 0.6s ease both, changeColor 1.5s 0.6s ease both; 
}

.my-intro {
    grid-area: 3 / 7 / span 5 / span 4;
    margin-top: 3rem;
    opacity: 0;
    transform: translateX(200px);
    transition: all 1s ease-in;
}

.my-intro.is-visible {
    opacity: 1;
    transform: translateX(0);
}

h1 {
    font-family: "Work Sans", sans-serif;
    font-size: 45px;
    color: white;
}

.my-intro p {
    margin: 2rem 0;
    color: #F4D2BD;
}

.tech-stack {
    display: flex;
    align-items: center;
}

.tech-stack i {
    margin: 0 1rem 0 0;
    font-size: 25px;
    color: #F24957;
}

#typescript-logo {
    width: 22px;
    height: 22px;
    margin: 0 1rem 0 0;
}

#featured-project {
    width: 100%;
    padding: 60px 0 0 0;
    position: relative;
}

#featured-project:hover .featured-btns {
    opacity: 1;
}

#featured-slides-wrapper {
    padding-top: 30px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    transition: 0.75s;
}

.featured-slide {
    height: 600px;
    display: inline-block;
    position: relative;
    transition: 0.5s;
}

.slide-text-container {
    width: 250px;
    position: absolute;
    right: 50px;
    top: 0;
    opacity: 0;
    transition: all 1s 1.5s;
}

.slide-text-container.is-visible {
    transform: translateY(50px);
    opacity: 1;
}

.slide-title {
    font-size: 1.3rem;    
}
.slide-para  {
    font-size: 0.9rem;
    color: gray;
    padding-top: 30px;
    line-height: 1.4rem;
}

#visit-site-btn {
    text-align: center;  
    background: none;
    outline: none;
    margin-top: 20px;
}

#visit-site-btn:visited {
    outline: none;
}

#link {
    text-decoration: none;
    padding: 10px 40px;
    display: block;
    color: gray;
    border: 2px solid gray;
}

#visit-site-btn:hover #link {
    color: black;
    border: 2px solid black;
    outline: none;
}

.slide-demo {
    width: 70%;
    height: auto;
    display: block;
    margin-top: 70px;
    border: none;
}

#featured-slide-3 {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

#featured-slide-2 {
    display: flex;
}

.slide-right-container {
    padding: 80px 180px;
    height: 100%;
    width: 750px;
}

ul {
    list-style-type: none;
}

ul li {
    padding: 20px 0;
}
ul li h4 {
    font-size: 1.5rem;
    font-family: "Work Sans", sans-serif;
    margin-bottom: 12px;
}
ul li p {
    font-size: 0.9rem;
    color: gray;
    line-height: 1.4rem;
}

.featured-project-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.2);
    transition: transform 2s 0.3s;
}

.featured-project-img.is-visible {
    transform: scale(1);
}

.featured-project-img .is-visible {
    transform: scale(1);
}

.dots {
    margin-top: 30px;
}

.featured-dot {
 background-color: gray;
 height: 10px;
 width: 10px;
}

.current, .featured-dot:active {
    background-color: black;
}

#featured-header {
    margin-bottom: 0;
    z-index: 1;
    position: relative;
}

#featured-slide-4 {
    display: flex;
    justify-content: space-between;
}

.logo {
    height: 50px;
}

.screenshot {
    height: 100%;
    display: block;
}

#featured-slide-4 h4 {
    font-family: "Work Sans", sans-serif;
    font-size: 1.3rem;
    margin-bottom: 15px;
}

#featured-slide-4 p {
    font-size: 0.9rem;
    color: gray;
    line-height: 1.4rem;
}

.slide-left-container {
    margin: 80px;
    width: 60%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.slide-left-container div {
    padding: 20px 0;
}

.hidden {
    /* display: none; */
    transform: translateX(-100%);
}

.shown {
    /* display: block; */
    transform: translateX(100%);
}

#featured-right-btn {
    right: 0;
    position: absolute;
    background-color: transparent;
    font-size: 50px;
    top: 50%;
    border: none;
    outline: none;
    opacity: 0;
    transition: 1s 0.5s;
}

#featured-right-btn i {
    cursor: pointer;
    padding: 30px 20px;
    color: gray;
    display: block;
}

#projects {
    background-color: rgb(238, 238, 238);
    padding: 4rem 0;
}

.projects-header {
    text-align: center;
    font-family: "work sans", sans-serif;
    font-size: 2.5rem;
    font-weight: 800;
    margin-top: 3.5rem;
    color: #010326;
    background-color: none;
    /* display: none; */
} 

/* Slideshow container */
#slide-show {
    padding: 80px 0 60px 0;  
} 

.slideshow-container {
width:75%;
position: relative;
margin: 0 auto;
padding: 0 !important;
border: 8px solid #010326; 
cursor: pointer;
}

/* Hide the images by default */
.mySlides {
display: none;
width: 100%;
z-index: 100;
}

/* .mySlides img {
    filter: grayscale(0.8);
}

.mySlides img:hover {
    filter: grayscale(0);
} */

/* Next & previous buttons */

.prev, .next {
cursor: pointer;
position: absolute;
top: 50%;
width: auto;
margin-top: -22px;
padding: 16px;
color: #010326;
font-weight: bold;
font-size: 35px;
transition: 0.6s ease;
border-radius: 0 3px 3px 0;
user-select: none;
} 

/* Position the "next button" to the right */
.next {
right: -5rem;
border-radius: 3px 0 0 3px;
}

.prev {
    left: -5rem;
} 

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
background-color: #010326;
color: #F24957;
}

/* The dots/bullets/indicators */
.dot {
    cursor: pointer;
    margin: 0 2px;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
} 

.project-slider-dot {
    background-color: #010326;
    height: 15px;
    width: 15px;
}

.active, .project-slider-dot:hover {
    background-color: #F24957;
}

/* Fading animation */
.fade {
    -webkit-animation-name: fade;
    -webkit-animation-duration: 1.5s;
    animation-name: fade;
    animation-duration: 1.5s;
}

@-webkit-keyframes fade {
    from {opacity: .4}
    to {opacity: 1}
}

@keyframes fade {
    from {opacity: .4}
    to {opacity: 1}
}

@keyframes appearFromCenter {
    from {
    transform: scale(0.9);
    opacity: 0.7;
    }
    to {
    transform: scale(1);
    opacity: 1;
    }
}

#container, .react-project-details {
    width: 100%;
    height: 100vh;
    background-color: #010326;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    overflow-x: hidden;
    z-index: 10;
}

.project-container {
    width: 70%;
    height: 100%; 
    margin: 0 auto;
    background-color: #010326; 
    display: none;
    grid-template: repeat(6, 1fr) / repeat(12, 1fr);
    animation: appearFromCenter 0.75s ease;
    -webkit-animation: appearFromCenter 0.75s ease;
}

.close-windows {
    float: right;
    position: fixed;
    cursor: pointer;
    border: 0;
    right: 0; 
    background-color: transparent;
    top: 0;
    color: #F4D2BD;
    font-size: 1.5rem;
    margin: 2rem 0;
    animation: fadeIn 1.5s ease 0.75s both;
    -webkit-animation: fadeIn 1.5s ease 0.75s both;
}

.close-windows i {
    padding: 20px;
}

#close {
    float: right;
    margin-right: 1.5rem;
    cursor: pointer;
}

#close:hover {
    color: #F24957;
}

.project-video {
    grid-area: 2 / 1 / span 3 / span 7;
}

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

.project-images {
    grid-area: 2 / 9 / span 3 / span 4;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.project-images img {
    max-width: 47%;
}

.project-intro {
    grid-area: 5 / 1 / span 3 / span 7;
    color: white;
}

.project-intro h2  {
    font-family: "Work Sans", sans-serif;
    padding-bottom: 0.5rem;
}

.project-intro p,
.technology p, 
.react-intro-details p,
.react-project-details li {
    padding: 0.5rem 0;
    font-size: 0.8rem;
    color: #F4D2BD;
}

.technology {
    grid-area: 5 / 9 / span 1 / span 4;
    text-align: center;
}

.technology i,
.react-tech i {
    font-size: 1.5rem;
    margin: 0.5rem 1rem 0 0;
    color: white;
}

.previous-btn,
.next-btn {
    color: white;
    position: fixed;
    border: 0;
    background-color: transparent;
    font-size: 2rem;
    cursor: pointer;
    outline: none;
    top: 50vh;  
}

.previous-btn:hover,
.next-btn:hover,
.previous-btn:active,
.next-btn:active,
.previous-btn:visited,
.next-btn:visited {
    color: #F24957;
    background-color: transparent;
    border: 0;
}

.previous-btn {
    left: 4rem;
}

.next-btn {
    right: 4rem;
}

#previous-btn,
#next-btn {
    padding: 20px;
}

@keyframes from-right {
    from {
        transform: translateX(50%);
        opacity: 0.5;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}
@-webkit-keyframes  from-right {
    from {
        transform: translateX(50%);
        opacity: 0.5;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes leftOut {
    from {transform: translateX(-80%);
    } 
    to {
        transform: translateX(-150%);
        opacity: 0;
    }
}

@-webkit-keyframes leftOut {
    from {transform: translateX(-80%);
    } 
    to {
        transform: translateX(-150%);
        opacity: 0;
    }
}

@keyframes from-left {
    from {
        transform: translateX(-50%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@-webkit-keyframes from-left {
    from {
        transform: translateX(-50%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes rightOut {
    from {
        transform: translateX(50%);
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

@-webkit-keyframes rightOut {
    from {
        transform: translateX(50%);
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

.dummy-left {
    position: absolute;
    top: 115px;
    opacity: 0.5;
    z-index: -2;
    animation: leftOut 1s ease both;
    -webkit-animation: leftOut 1s ease both;
    display: none;
}  

.dummy-right {
    position: absolute;
    top: 115px;
    z-index: -1;
    animation: rightOut 1s ease both;
    -webkit-animation: rightOut 1s ease both;
    display: none;
}

#about {
    display: grid;
    grid-template: repeat(6, 1fr) / repeat(12, 1fr);
    height: 900px;
    width: 100%;
    padding-top: 4rem;
}

.image-container {
    padding-top: 60px;
    height: 12rem;
    width:12rem;
    grid-area: 2 / 3 / span 2 / span 4;
    opacity: 0;
    transform: translateX(-100%);
    transition: opacity 1s ease, transform 1s ease;
    margin-top: 1rem;
}

.image-container.is-visible, 
.self-intro.is-visible,
.skills.is-visible {
    transform: translateX(0);
    opacity: 1;
}

.image-container img {
    width: 100%;
    height: 12rem;
    object-fit: cover;
    border-radius: 50%
}

#react-projects {
    padding: 50px 0 10rem 0;
}

.react-projects-header {
    margin: 80px 0 0 0;
    text-align: center;
    font-family: "work sans", sans-serif;
    font-size: 2.5rem;
    font-weight: 800;
}

#react-projects-container {
    width: 92%;
    margin: 0 auto;
    padding-top: 80px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    column-gap: 2.1rem;
    row-gap: 3.5rem;

}

.react-project {
    border-radius: 10px;
    position: relative;
    align-items: flex-start;
    display: flex;
    padding: 0;
    width: 100%;
    transition: width 2s ease;
    overflow: hidden;
}

.skills {
    margin: 0 1rem 4rem 1rem;
}
.react-project-img {
    width: 100%;
    height: auto;
    display: block;
}

.react-project i {
    color: #F24957;
    font-size: 1.5rem;
}

.react-project i:hover,
.react-project i:focus {
    color: white;
}

.react-project a {
    position: relative;
}

/* #load-more-btn {
    margin: 5rem auto;
    width: 200px;
    display: block;
    background-color: #010326;
    color: #F24957;
    
}

#load-more-btn:hover {
    background-color: #F24957;
    color: #010326;
} */

.detail-page-btn:hover,
.detail-page-btn:active,
.detail-page-btn:focus {
    background-color: #F24957;
}

.btn-container {
    display: flex;
    justify-content: center;
}
.try-btn {
    background-color:  rgb(226, 226, 226);
    border-radius: 36px;
    outline: none;
    border: none;
    cursor: pointer;
    margin: 5px;
}

.try-btn:hover,
.learn-more-btn:hover {
    background-color: #3f3f3f;
    color: rgb(226, 226, 226);
}

.try-btn:hover a {
    color: rgb(226, 226, 226);
    border: none;
}

.learn-more-btn {
    background-color:  rgb(226, 226, 226);
    color: #3f3f3f;
    padding: 10px 20px;
    display: inline-block;
    width: 120px;
    border-radius: 36px;
    outline: none;
    border: none;
    cursor: pointer;
    margin: 5px;
}

.try-btn a {
    color: #3f3f3f;
    padding: 10px 20px;
    text-decoration: none;
    width: 120px;
    border-radius: 36px;
    display: block;
}

.react-project-details {
    grid-template: repeat(6, 1fr) / repeat(12, 1fr);
}

.react-project-video {
    grid-area: 2 / 2 / span 3 / span 5;

}

.react-intro-details {
    grid-area: 2 / 8 / span 6 / span 4;
    color: white;
}

.react-tech {
    grid-area: 5 / 2 / span 2 / span 5;
    text-align: right;
}
.app-links {
    padding: 2rem 0;
}
.git-link {
    color: white;
}

.git-link i {
    font-size: 24px;
}

.git-link i:hover,
.git-link i:active
.git-link i:focus   {
    color: #F24957;
}

.detail-page-btn {
    display: inline-block;
    margin: 0 1rem 0 0;
    background-color: white;
}

.detail-page-btn a {
    color: #010326;
}

.react-intro-details h4 {
    margin-top: 1rem;
}

.react-tech-list li {
    list-style-type: none;
    line-height: 0.3rem;
}

.react-feature-list li {
    padding: 0;
}

.react-project-video video {
    width: 100%;
    height: auto;
    display: block;
    margin: auto;
    animation: appearFromCenter 750ms ease-in;
}

.show-on-hover {
    background-color: rgba(136, 136, 136, 0.7);
    backdrop-filter: blur(10px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    padding: 2.5rem 1.5rem;
    width: 100%;
    height: 100%;
    left: -100%;
}

.show-on-mobile {
    display: none;
}
h3 {
    font-family: "work sans", sans-serif;
    font-size: 1.5rem;
}

.show-on-hover h3 {
    color: rgb(226, 226, 226);
    text-align: center;
}

.react-project-intro {
    /* color: #010326; */
    color: rgb(226, 226, 226);
    padding: 2rem 1rem;
    text-align: center;
}

.about-header {
    text-align: center;
    font-family: "work sans", sans-serif;
    font-size: 2.5rem;
    font-weight: 800;
    grid-area: 1 / 1 / span 1/ span 12;
    margin-top: 3rem;
    color: #010326;
}

.about-header, 
.contact-header,
.projects-header, 
.react-projects-header {
    opacity: 0;
    transform: translateY(-100px);
    transition: all 1s ease;
}

.about-header.is-visible,
.contact-header.is-visible,
.projects-header.is-visible,
.react-projects-header.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.self-intro {
    grid-area: 4 / 2 / span 3 / span 4;
    margin-top: 2rem;
    color: gray;
    opacity: 0;
    transform: translateX(-100%);
    transition: opacity 1s ease, transform 1s ease;
    text-align: center;
}

.skills {
    grid-area: 3 / 7 / span 5 / span 6;
    transform: translateX(100%);
    opacity: 0;
    transition: all 1s ease;
}

.skills li {
    list-style-type: none;
    margin-bottom: 1.5rem;
    color: white;
    font-size: 0.8rem;
}

.tech, .bar {
    display: inline-block;
    margin: 0;
}

.tech {
    width: 70px;
    text-align: center;
    padding: 0.3rem 0;
    background-color: #F24957;
    z-index: 2;
}

.bar {
    width: 400px;
    background-color: lightgray;
    position:relative;
    left: -4px;
    color: transparent;
    transition: color 1s 0.5s ease;
}

.bar.is-visible {
    color: #F24957;
}

.html-bar, .css-bar, .js-bar, .react-bar {
    opacity: 0;
    width: 0;
    display: inline-block;
    background-color: #010326;
    position: relative;
    left: -1px;
    padding: 0.3rem 0;
    z-index: 0;
    color: transparent;
}
.html-bar {
    transition: all 1.5s 1s ease; 
}

.css-bar {
    transition: all 1s 1s ease; 
}

.js-bar {
    transition: all 0.8s 1s ease; 
}

.react-bar {
    transition: all 0.75s 1s ease;
}


.html-bar.is-visible {
    opacity: 1;
    width: 90%;
}

.css-bar.is-visible {
    opacity: 1;
    width: 80%;
}

.js-bar.is-visible {
    opacity: 1;
    width: 75%;
}

.react-bar.is-visible {
    opacity: 1;
    width: 70%;
}

#contact {
    background-color: #010326;
    text-align: center;
    padding: 5rem 0;
}
#contact h2 {
    text-align: center;
    font-family: "work sans", sans-serif;
    font-size: 3rem;
    font-weight: 800;
    padding: 5rem 0 3rem 0;
    color: #F24957;
}

#contact p {
    color: #F4D2BD;
    padding: 1rem 0;
}

.email a {
    color: white;
    text-decoration: none;
}
.email a:hover {
    color: #F24957;
}

.contact p,
.email,
.contact-social {
    padding: 2rem 0;
}

.contact-social i {
    color: white;
    font-size:1.2rem;
    margin: 0 1rem;
    transition: transform 0.3s ease-in-out;
}

.contact-social i:hover,
.contact-social i:active,
.contact-social i:focus   {
    color: #F24957;
    transform: scale(2);
}

.up-btn {
    border: 0;
    background-color: transparent;
    cursor: pointer;
    outline: none;
    margin: 2rem;
}

.up-btn i {
    font-size: 2.5rem;
    color:  #F24957; 
    transition: transform 0.3s ease-in-out;  
}

.up-btn i:hover,
.up-btn i:active,
.up-btn i:focus {
    color: #F4D2BD;
    transform: scale(1.5);
}

footer {
    background-color: #010326;
    color: #F4D2BD;
    text-align: center;
    padding-bottom: 20px;
    font-size: 0.7rem;
}

@media only screen 
    and (min-width: 1500px) {
        #featured-slides-wrapper {
            padding-top: 60px;
        }
        .slide-text-container {
            right: 10%;
        }
        .featured-slide {
            height: 750px;
        }
        .featured-project-img {
            object-fit: contain;
        }
        .slide-right-container {
            padding: 80px;
            margin: 0 20%;
        }
        .slide-demo {
            height: 100%;
            width: auto;
            margin-top: 0;
        }
        .logo {
            height: 80px;
        }
        .slide-left-container {
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            column-gap: 30px;
        }
        .tech {
            width: 120px;
        }
        
    }

@media only screen 
    and (max-width: 1050px)
    and (orientation: portrait) {
    .slide-para {
        color: rgb(41, 41, 41);
    }
    .featured-project-img {
        object-fit: contain;
    }
    nav .burger-nav {
        display: flex;
    }

    nav {
        width: 100%;
        margin: 0;
        padding: 0;
    }
    nav .desktop {
        width: 100%;
        display: block;
        background-color: #F24957;
        overflow: hidden;
        height: 0;
        font-size: 24px;
        transition: 0.5s ease-in-out;
    }

    nav .desktop li {
        list-style-type: none;
        margin: 10px;
        font-size: 35px;
    }
    nav .desktop li a {
        text-decoration: none;
        width: 100%;
        display: block;
        color: white;
    }  
    .desktop a:hover,
    .desktop a:active { 
        color:#F4D2BD; 
    }
    nav .desktop.open {
        height: 100vh;
        padding: 80px;
        transition: 0.5s ease-in-out;
    }
    nav .desktop li {
        display: block;
        float: none;
        width: 100%; 
    }
    #home {
        background-color: #010326;
        color: white;
        height: 100vh;
    }
    .my-name {
        margin-top: 12rem;
    }
    .chinese-name {
        grid-area: 3 / 4 / span 2 / span 3;
        margin-top: 2rem;
    }
    .my-intro {
        grid-area: 4 / 7 / span 5 / span 5;
    }
    #slide-show {
        padding-top: 120px;
    }
    .dummy-left, .dummy-right {
        top: 16%;
        max-height: 80%;
    }
    .bar {
        width: 300px;
    }
    .project-video {
        grid-area: 2 / 2 / span 2 / span 10;

    }
    .project-images {
        grid-area: 4 / 1 / span 3 / span 5;
        padding-top: 3rem;
    }
    .project-intro {
        grid-area: 4 / 7 / span 3 / span 7;
        padding-top: 3rem;
    }
    .technology {
        grid-area: 5 / 7 / span 1 / span 7;
        padding-top: 3rem;
    }
    #featured-slides-wrapper {
        padding: 100px 0;
    }
    .slide-text-container {
        padding-left: 30px;
    }
    .slide-para {
        padding-top: 15px;
    }
    .slide-right-container {
        padding: 0 100px;
    }
    .react-project-video {
        grid-area: 2 / 2 / span 3 / span 10; 
        margin-top: -60px;
    }  
    .react-intro-details {
        grid-area: 4 / 2 / span 3 / span 10;
        margin-top: 60px;
        color: white;
    }  
    .react-tech {
        padding-top: 80px;
        grid-area: 6 / 2 / span 1 / span 10;
        text-align: right;
    }
    .close-btn {
        margin-right: 50px;
    }
    #projects {
        padding: 100px 0;
    }
    .tech {
        width: 80px;
    }
}

@media only screen 
    and (max-width: 1050px)
    and (orientation: landscape) {
        .slide-text-container {
            right: 25px;
            background-color: rgba(255, 255, 255, 0.8);
            backdrop-filter: blur(10px);
            padding: 50px 30px;
        }
        .slide-right-container {
            padding: 80px;
        }
        #featured-right-btn {
            opacity: 1;
        }
}

@media only screen 
    and (min-device-width: 1366px) 
    and (max-device-width: 1366px) 
    and (orientation: landscape) 
    and (-webkit-min-device-pixel-ratio: 2) {
        .my-name {
            grid-area: 2 / 2 / span 5 / span 5;
        }
        .chinese-name {
            grid-area: 4 / 3 / span 2 / span 3;
            margin-top: 0;
        }
        #featured-right-btn {
            opacity: 1;
        }
  }

@media only screen 
    and (max-width: 780px) {
    #featured-right-btn {
        opacity: 1;
    }
    #home {
        height: 1000px;
    }
    #about {
        height: 950px;
    }
    .my-name {
        margin-top: 6.5rem;
    }
    .chinese-name {
        grid-area: 3 / 4 / span 2 / span 3;
        margin-top: 2rem;
    }
    .my-intro {
        grid-area: 4 / 7 / span 5 / span 5;
    }
    .slide-text-container {
       background-color: rgba(255, 255, 255, 0.8);
       backdrop-filter: blur(10px);
       padding: 50px 30px;
    }   
    .slide-left-container {
        margin: 40px;
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        column-gap: 20px;
    } 
    .slide-right-container {
        padding: 0 40px 0 40px;
        width: 750px;
    }
    #slide-show {
        padding: 80px 0;
    }
    .slideshow-container {
        width: 100%;
        border: 0;
    }
    .next {
        right: 0;
        color: #F24957;
    }
    .prev {
        left: 0;
        color: #F24957;
    }
    .project-video {
        grid-area: 2 / 2 / span 2 / span 10;

    }
    .project-images {
        grid-area: 4 / 1 / span 3 / span 5;
        padding-top: 3rem;
    }
    .project-intro {
        grid-area: 4 / 7 / span 3 / span 7;
        padding-top: 3rem;
    }
    .technology {
        grid-area: 5 / 7 / span 1 / span 7;
        padding-top: 3rem;
    }
    .image-container {
        height: 10rem;
        width: 10rem;
    }
    .image-container img {
        height: 10rem;
    }
    .skills li {
        margin-bottom: 0;
    }
    .tech {
        width: 70px;
        color: #F24957;
        background-color: transparent;
        text-align: left;
    }
    .bar {
        width: 100%;      
    }
    .about-header {
        margin-top: 60px;
        padding: 0;
    }
    .self-intro {
        margin: 0;
    }
    .previous-btn {
        left: 2rem;
    }
    .next-btn {
        right: 2rem;
    }
    .bar {
        min-width: 290px;
    }
    .react-project-intro {
        padding: 0.5rem;
        font-size: 0.9rem;
    }
    .show-on-hover {
        padding: 0.5rem;
    }
    #react-projects-container {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }
}
@media only screen 
  and (min-device-width: 414px) 
  and (max-device-width: 836px) 
  and (orientation: landscape) { 
    .hide-on-mobile {
        display: none;
    }
    .show-on-mobile {
        display: block;
        padding: 30px 30px 0 30px;
    }
    .featured-project-img {
        object-fit: contain;
        width: 70%;
        height: auto;
    }
    nav .burger-nav {
        display: block;
        width: 100%;
        padding: 0 20px 0 20px;
        text-align: right;
        font-size: 2rem;
        cursor: pointer;
    }
    nav {
        width: 100%;
        margin: 0;
        padding: 0;
    }
    nav .desktop {
        width: 100%;
        display: block;
        background-color: #F24957;
        overflow: hidden;
        height: 0;
        font-size: 24px;
        transition: 0.5s ease-in-out;
    }
    .desktop a:hover,
    .desktop a:active { 
        color:#F4D2BD; 
    }
    nav .desktop.open {
        height: 100vh;
        padding: 30px 80px;
    }
    nav .desktop li {
        display: block;
        float: none;
        width: 100%; 
        list-style-type: none;
        margin: 10px;
        font-size: 25px;
        padding: 0;
    }
    nav .desktop li a {
        text-decoration: none;
        width: 100%;
        display: block;
        color: white;
    }  
    .banner {
        height: 200vh;
    }
    .chinese-name {
        display: none;
    }
    .my-name {
        margin-top: 2rem;
    }
    .my-intro {
        grid-area: 4 / 1 / span 3 / span 12;
        padding: 0 30px 30px 30px;
        margin-top: 0;
    }
    #home {
        height: 200vh;
    }
    .slide-text-container {
        padding: 0 30px;
    }
    .featured-slide {
        height: 100vh;
    }
    #featured-slide-3 {
        flex-direction: row;
        align-items: flex-start;
        margin-top: 40px;
    }
    .slide-demo {
        margin-left: 40px;
        width: 40%;
        margin-top: 0;
    }
    .show-on-mobile {
        padding: 0 40px 30px 40px;
    }
    .slide-left-container {
        margin: 40px;
        width: 100%;
        grid-template-columns: repeat(auto-fill, minmax(120px, 3fr));
    }
    .logo {
        height: 30px;
    }
    #about {
        height: 250vh;
    }
    .self-intro {
        grid-area: 2 / 5 / span 3 / span 7;
    }
    .skills {
        grid-area: 4 / 2 / span 5 / span 12;
        margin: 30px 0 0 0;
    }
    .skills li {
        margin-bottom: 0;
    }
    .image-container {
        padding-top: 0;
        height: 9rem;
        width: 9rem;
        grid-area: 2 / 2 / span 2 / span 3;
        margin-top: 40px;
    }
    .image-container img {
        height: 9rem;
    }
    .bar {
        width: 80%;
    }
    .project-video video {
        max-width: 80%;
    }
    .project-container {
        width: 80%;
        padding: 30px 0;
    }
    .project-video {
        grid-area: 1 / 1 / span 4 / span 5;
    }
    .project-intro {
        grid-area: 5 / 1 / span 4 / span 5;
        padding-top: 0;
    }
    .project-images {
        grid-area: 1 / 8 / span 4 / span 4;
        padding-top: 0;
    }
    .next-btn {
        right: 0;
        top: 40vh;
    }
    .previous-btn {
        left: 0;
        top: 40vh;
    }
    #close {
        margin-right: 0;
    }
    .close-windows {
        margin: 0;
    }
    .close-windows i {
        padding: 10px;
    }
    #featured-right-btn {
        font-size: 35px;
    }
    .screenshot {
        width: 15%;
        object-fit: contain;
    }
}

@media only screen 
    and (max-width: 550px)
    and (orientation: portrait)  {
    nav .burger-nav {
        height: 35px;
        width: 35px;
    }
    .burger-icon::after {
        transform: translateY(10px);
    }
    .burger-icon::before {
        transform: translateY(-15px);
    }
    .hide-on-mobile {
        display: none;
    }
    .slide-left-container {
        margin: 0 30px;
    }
    .show-on-mobile {
        display: block;
        padding: 30px 30px 0 30px;
    }
    #featured-right-btn {
        font-size: 30px;
    }
    #home {
        height: 100vh;
    }
    .fa-bars:before {
        font-size: 35px;
        margin: 0;
    }
    nav .desktop.open {
        padding: 80px 30px;
        height: 100vh;       
    }
    nav .desktop li a {
        padding: 10px 0;
        font-size: 30px;
    }
    .slide-text-container {
        width: 100%;
        position: static;
        padding: 0 50px;
    }
    #featured-slides-wrapper {
        padding: 50px 0 0 0;
    }
    .featured-project-img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }
    .featured-slide {
        height: 550px;
    }
    #featured-project {
        padding: 60px 0;
    }
    #visit-site-btn {
        margin-top: 40px;
    }
    .slide-right-container {
        position: absolute;
        width: 80%;
        padding: 100px 60px 0 50px;
        right: 0;
        background: rgb(255, 255, 255);
    }
    .desktop-screenshot {
        right: 0;
        bottom: 0;
        height: auto;
        width: 40%;
        object-fit: contain;
        position: absolute;
    }
    .slide-left-container {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        width: 70%;
        z-index: 5;
    }
    .logo {
        height: 30px;
    }
    #featured-right-btn i {
        padding: 0 10px;
    }
    .slide-demo {
        width: 100%;
        margin-top: 0;
    }
    #featured-slide-2 ul li {
        padding: 30px 0;
    }
    #featured-slide-2 ul li p {
        line-height: 1.2rem;
    }
    #featured-slide-2 ul li h4 {
        font-size: 1.2rem;
    }
    .my-name {
        grid-area: 1 / 1 / span 2 / span 8;
        margin-top: 3.5rem;
        margin-left: 1rem;
    }
    .chinese-name {
        display: none;
    }
    .my-intro {
        grid-area: 4 / 1 / span 3 / span 12;
        margin-left: 1rem;
        margin-right: 1rem;
    }
    .my-intro h1 {
        font-size: 2rem;
    }
    #projects {
       height: auto;
       background-color: white;
       padding-top: 3rem;
       padding-bottom: 0;
   }
   .projects-header {
       display: block;
   }
   #slide-show, 
   .slideshow-container,
   .mySlides {
       width: 100%;
   }
    #slide-show {
    padding-top: 60px;
    padding-bottom: 40px;
    }   
    .dot {
        height: 8px;
        width: 8px;
    } 
    .prev, .next {
        font-size: 20px;
        padding: 8px;
    }
    .project-video {
        grid-area: 2 / 1 / span 1 / span 12;
    }
     .project-images {
        grid-area: 2 / 4 / span 1 / span 6;
        padding-top: 1rem;
    }
    .project-intro {
        grid-area: 4 / 1 / span 1 / span 12;
        padding-top: 1rem;
    }
    .technology {
        grid-area: 5 / 1 / span 1 / span 12;
        padding-top: 0;
    }
    .previous-btn, 
    .next-btn {
        font-size: 1.3rem;
    }
    .previous-btn {
        left: 15px;
    }
    .next-btn {
        right: 15px;
    }
    .react-project-intro h3 {
        text-align: center;
    }
    .close-windows {
        margin: 15px 0;
    }
    #about {
        display: flex;
        flex-direction: column;
        min-height: 1400px;
        justify-content: space-around;
        padding: 3rem 10px 0 10px;
    }
    .image-container {   
        margin: 0 auto;
    }
    .bar {
        min-width: 290px;
    }
    #contact p {
        width: 80%;
        margin: 0 auto;
    }   
    .react-project {
        width: 90%;
        margin: 0 auto;
        border-radius: 0;
    } 
    #react-projects {
        padding: 0;
    }
    .demo-video video {
        width: 100%;
    }
    .react-projects {
        padding-top: 3rem;
    }
    .react-projects-header {
        margin: 3rem 0 0 0;
    }
    .react-project-video {
        margin-top: 0;
    }
    .react-tech {
        grid-area: 3 / 2 / span 1 / span 10;
    }
    #container, .react-project-details {
        overflow-y: scroll;
        height: fit-content;
        bottom: 0;
    }
    .close-windows {
        position: absolute;
    }
    .self-intro {
        margin: 100px 20px 20px;
    }
    .project-container {
        height: 100vh;
    }
    nav .desktop.open {
        padding: 30px;
        font-size: 20px;
    }
    nav .desktop li a {
        padding: 0;
    }
    .menu-item {
        padding: 10px 0;
    }
}

@media only screen 
    and (max-width: 420px)
    and (orientation: portrait) {
    
    #about {
        padding: 0;
    }
    .featured-slide {
        height: 600px;
    }
    #home {
        height: 800px;
    }
    .fa-bars:before {
        content: "\f0c9";
        font-size: 30px;
        margin: 0;
    }
    .chinese-name {
        display: none;
    }
}
