html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}input::-moz-focus-visible-inner,legend,button::-moz-focus-visible-inner,[type=button]::-moz-focus-visible-inner,[type=reset]::-moz-focus-visible-inner,[type=submit]::-moz-focus-visible-inner{border-style:none;padding:0}button:-moz-focus-visiblering,[type=button]:-moz-focus-visiblering,[type=reset]:-moz-focus-visiblering,[type=submit]:-moz-focus-visiblering{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto;vertical-align:top}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{font-size:100%}img{max-width:100%;height:auto;display:block}.wrapper{width:90%;max-width:1480px;margin:0 auto}h1{font-size:2.5rem}*{margin:0;padding:0}*{background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed}ul,ol,a{text-decoration:none;list-style:none;color:inherit}button{padding:10px;border:none;font:inherit;color:inherit;background-color:transparent}input,select,textarea{border:none;background-image:none;background-color:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;resize:none}button,input{line-height:normal}input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;}button[disabled],input[disabled]{cursor:default;}inp[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none;}table{border-collapse:collapse;border-spacing:0;}body,figure{margin:0;}.skip-link{position:absolute;left:-1000px;top:5px;z-index:9999;background: white;color:black;}.skip-link:focus-visible{left:0;}
.clearfix:after {visibility: hidden; display: block; font-size: 0; content: ''; clear: both; height: 0; }

html { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}

*, *:before, *:after {box-sizing: inherit}

.visuallyHidden:not(:focus-visible):not(:active) { position: absolute; width: 1px; height: 1px; margin: -1px;border: 0;padding: 0;white-space: nowrap;clip-path: inset(100%);clip: rect(00 0 0);overflow: hidden;}
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; padding: 0; white-space: nowrap; clip-path: inset(100%); clip: rect(0 0 0 0); overflow: hidden;}

/* General styles */
body {
    font-family: 'Comfortaa', sans-serif;
    color: #554351;
    color-adjust: exact;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100vh;
    /* cursor: url(./assets/cursor.png), auto; */
    background: linear-gradient(to right, #e2bd56, #ebd988);
}

*:focus-visible {
    outline: none;
}

#canvas-basic {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -3;
}

input,
textarea,
button,
.github,
.pdf,
.read-more {
    border-radius: 7px;
}

button,
.github,
.pdf,
.read-more {
    width: 20%;
    padding: 15px;
    color: #f6f7f9;
    background-color: #554351;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: bold;
    transition: all 0.1s linear;
}

button:hover,
button:focus-visible,
.github:hover,
.github:focus-visible,
.pdf:hover,
.pdf:focus-visible,
.read-more:hover,
.read-more:focus-visible {
    color: #554351;
    background-color: #f6f7f9;
}

.photo-container {
    height: 100%;
    position: absolute;
    top: 0;
    left: 12%;
    z-index: -1;
    display: flex;
    justify-content: flex-start;
    animation: fade-in-photo ease 5s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

@keyframes fade-in-photo { 
    0% { 
        opacity: 0; 
    } 
    100% { 
        opacity: 1; 
    } 
}

.about-photo-container {
    left: 57%;
}

.photo {
    width: initial;
    height: 100%;
    -webkit-filter: drop-shadow(7px 7px 5px rgba(27, 27, 27, 0.692));
    filter: drop-shadow(7px 7px 5px rgba(27, 27, 27, 0.692));
}

a,
button {
    /* cursor: url(./assets/click.png), auto; */
}


@keyframes fade-in-1 { 
    0% { 
        opacity: 0; 
    } 
    100% { 
        opacity: 1; 
    } 
}

/* Particles JS background styles */
#particles-js canvas {
    display: block;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-transition: opacity .8s ease, -webkit-transform 1.4s ease;
    transition: opacity .8s ease, transform 1.4s ease;
}

#particles-js {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: -2;
    top: 0;
    left: 0;
}

.ie-message {
    display: none;
}

/* Header styles */
header {
    background-color: rgba(255, 255, 255, 0.15);
}

.top-line {
    display: flex;
    justify-content: flex-end;
    padding: 30px 0 30px;
    position: relative;
}

.logo {
    position: absolute;
    left: 0;
    top: 11%;
    width: 50px;
    transition: transform 0.3s ease-in-out;
}

.logo:hover,
.logo:focus-visible {
    transform: rotateY(180deg);
}

.menu ul {
    text-align: center;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    font-weight: bold;
}

.menu li {
    margin-left: 45px;
    text-transform: uppercase;
    font-size: 18px;
    width: 100px;
    height: 20px;
    text-align: center;
    transition: all 0.075s linear;
}

.menu li:hover,
.menu li:focus-visible {
    color: #f6f7f9;
    letter-spacing: 1px;
}

.menu li:last-of-type {
    text-align: right;
}

.hamburger,
.exit-responsive {
    display: none;
}

.show.menu {
    display: block;
}

/* Home main styles */

.home-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-weight: normal;
    padding-left: 32%;
    line-height: 53px;
}

.type {
    color: #e0bf5e00;
    margin-top: -50px;
}

h1,
h2 {
    font-size: 50px;
    color: #554351;
}

h2 {
    line-height: 70px;
}

h1 span {
    font-family: 'Kaushan Script', cursive;
    font-size: 110px;
    color: #f6f7f9;
}

/* About main styles */
.about-photo {
    left: 57%;
}

.about-main h2 {
    font-size: 30px;
    display: flex;
    flex-direction: column;
    animation: fade-in-1 ease 1.5s; 
    animation-iteration-count: 1; 
    animation-fill-mode: forwards; 
    line-height: 2em;
    margin-bottom: 1.3em;
}

.about-main h2 span {
    font-family: 'Kaushan Script', cursive;
    font-size: 75px;
    color: #f6f7f9;
    position: relative;
    right: 11px;
}

.about-main div {
    margin-top: 20px;
    line-height: 1.7em;
    width: 58%;
    -webkit-animation: 1s ease 0s normal forwards 1 fade-in-2;
    animation: 1s ease 0s normal forwards 1 fade-in-2;
}

@keyframes fade-in-2{
    0% { opacity:0; }
    66% { opacity:0; }
    100% { opacity:1; }
}

@-webkit-keyframes fade-in-2{
    0% { opacity:0; }
    66% { opacity:0; }
    100% { opacity:1; }
}

.about-main p {
    margin-bottom: 9px;
}

.about-main a:hover,
.about-main a:focus-visible {
    text-decoration: underline;
}

/* Projects main styles */
.projects-header,
.blog-header,
.resume-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    -webkit-transition: background-color linear .4s;
    -moz-transition: background-color linear .4s;
    -o-transition: background-color linear .4s;
    transition: background-color linear .4s;
}

.active {
    background-color: rgba(255, 255, 255, 0.555);
}

.active li:hover {
    color: #554351;
}

.projects-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.project {
    margin-top: 14%; 
    position: relative;
    width: 47%;
    overflow: hidden;
    animation: fade-in-1 ease 2s; 
    animation-iteration-count: 1; 
    animation-fill-mode: forwards; 
}

.mockup {
    max-width: 100%;
    height: auto;
    transform: scale(1);
    display: block;
    width: 100%;
    transition: all 0.15s linear;
}

.project:hover .mockup,
.project:focus-visible .mockup {
    -webkit-filter: opacity(.1);
    filter: opacity(.1);
    transform: scale(1.04);
}

.description {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0; left: 0;
    padding: 11%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    font-weight: bold;
    transition: opacity 0.2s linear;
    font-size: 1.4rem;
}

.project:hover .description,
.project:focus-visible .description {
    opacity: 1;
}

.description h2 {
    font-size: 1em;
    margin-bottom: 2.5%;
    text-transform: uppercase;
    line-height: 1.3em;
}

.description p {
    line-height: 1.5em;
    margin-bottom: 2.5%;
    font-size: 0.68em;
}

.description p:first-of-type {
    border-top: 2px solid #f6f7f965;
    padding-top: 2.5%;
}

.description p:last-of-type {
    margin-bottom: 5%;
}

.github {
    width: auto;
    padding: 10px;
    border-radius: 10px;
    font-size: 0.6em;
}

.live {
    position: absolute;
    width: 100%;
    height: 65%;
    top: 0; left: 0;
}

.projects-footer {
    margin-top: 15%;
}

/* Skills main styles */
.skills-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 1rem;
    text-align: center;
    width: 70%;
    animation: fade-in-1 ease 2s; 
    animation-iteration-count: 1; 
    animation-fill-mode: forwards;
    margin-bottom: 2%;
}

.skills-main h1 {
    font-size: 2.8em;
    margin: 5% auto 6%;
}

.skills-main ul {
    display: flex;
    justify-content: space-between;
}

.skills-main ul:first-of-type {
    margin-bottom: 7%;
}

.skills-main li {
    display: flex;
    flex-direction: column;
    font-size: 1em;
    width: 13%;
}

.skills-main i {
    font-size: 5em;
    margin-bottom: 10%;
}

.skills-main i:hover,
.skills-main i:focus-visible {
    font-size: 5em;
    color: #554351;
}

.tool {
    position: relative;
}

.proj {
    opacity: 0;
    z-index: 1000;
    position: absolute;
    width: 80%;
    height: auto;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.2s linear;
}

.tool:hover .proj,
.tool:focus-visible .proj {
    opacity: 1;
}

.github-icon i {
    transition: color 0.1s linear;
}

.github-icon:hover i,
.github-icon:focus-visible i {
    color: #f6f7f9;
}

/* Blog main styles */
.blog-main {
    margin-top: 10%;
    max-width: 600px;
}

.blog img {
    border-radius: 15px;
}

.post {
    margin-bottom: 5%;
}

.post h2 {
    font-size: 27px;
    line-height: 1.4em;
    margin: 2.5% auto 1.5%;
}

.post p {
    line-height: 1.4em;
}

.read-more {
    text-transform: uppercase;
    font-weight: bold;
}

/* Contact main styles */
.contact-main {
    animation: fade-in-1 ease 2s; 
    animation-iteration-count: 1; 
    animation-fill-mode: forwards;
    margin-top: 2%;
}

.contact-main h2 {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 1%;
    font-weight: normal;
}

.main-icon-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto 3.5%;
    width: 80%;
    text-transform: uppercase;
    text-align: center;
    line-height: 50px;
}

.main-icon-container ul {
    display: flex;
    justify-content: center;
    align-items: center;
}

.main-icon-container h1 {
    font-size: 25px;
    font-weight: normal;
}

.contact-icons li {
    margin: 0 22px 0;
    font-size: 37px;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.social li:first-of-type {
    margin-left: 0;
}

.social li:last-of-type {
    margin-right: 0;
}
.contact-icons a {
    transition: all 0.075s linear;
}

.contact-icons a:hover,
.contact-icons a:focus-visible {
    font-size: 45px;
    color: #f6f7f9;
}

/* Form styles */
.contact-form {
    margin: 0 auto 20px;
    width: 80%;
    font-size: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

form input,
textarea {
    background-color: #f6f7f9;
    color: #554351;
}

.name-email {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

input[type=text],
input[type=email] {
    padding: 20px;
    /* cursor: url(./assets/text.png), auto; */
    font-family: 'Comfortaa';
}

input[type=text] {
    width: 40%;
    margin-right: 5px;
}

input[type=email] {
    width: 60%;
    margin-left: 5px;
}

textarea {
    height: 190px;
    width: 100%;
    padding: 20px;
    margin: 10px 0 20px;
    /* cursor: url(./assets/text.png), auto; */
    font-family: 'Comfortaa';
}

::placeholder {
    color: #554351;
    opacity: 1;
}

:-ms-input-placeholder {
    color: #554351;
}

::-ms-input-placeholder {
    color: #554351;
}

/* Resume main styles */
.resume {
    height: auto;
    min-height: 100vh;
    justify-content: flex-start;
}

.resume-main {
    padding-top: 75px;
    font-size: 0.83rem;
    line-height: 1.6em;
    margin: 1.5% auto;
    display: flex;
    justify-content: space-between;
    animation: fade-in-1 ease 1.5s; 
    animation-iteration-count: 1; 
    animation-fill-mode: forwards;
}

.left-column {
    width: 36%;
    border-right: 1px solid;
    padding-right: 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.right-column {
    width: 64%;
    padding-left: 20px;
    line-height: 1.8em;
}

.resume-main h3 {
    text-transform: uppercase;
    line-height: 2em;
    font-size: 1.3em;
}

.education,
.experience {
    margin-top: 12px;
}

.profile {
    line-height: 1.8em;
}

.education {
    margin-bottom: 30px;
    line-height: 1.7em;
}

.bold {
    font-weight: bold;
    font-size: 1.1em;
}

.italic {
    font-style: italic;
}

.degree {
    padding-top: 15px;
}

.first-degree,
.position {
    padding-top: 5px;
}

.school {
    text-decoration: underline;
}

.bullet {
    list-style: initial;
}

.indent {
    padding-left: 1em;
}

.resume-main a {
    text-decoration: underline;
    }

.last {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.pdf {
    padding: 10px;
    text-align: center;
    width: auto;
}

.pdf-2 {
    display: none;
}

/* Footer styles */
footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
}

.footer-icons {
    font-size: 29px;
    display: flex;
}

.footer-icons li {
    margin-right: 30px;
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-icons a {
    transition: all 0.075s linear;
}

.footer-icons a:hover,
.footer-icons a:focus-visible {
    color: #f6f7f9;
    font-size: 35px;
}

footer p {
    font-size: 14px;
    line-height: 1.2em;
    display: flex;
    flex-direction: column;
    text-align: right;
}

footer p span {
    font-size: 0.7em;
}

.contact-footer {
    justify-content: flex-end;
    margin-top: -5%;
}

/* Media queries */

@media(max-height: 800px) {
    .blog {
        min-height: 100vh;
    }
}

@media(min-height: 801px) {
    .blog {
        margin-bottom: 100px;
    }
}

/* Small desktop */
@media(max-width: 1240px) {
    .photo-container{
        left: 7%;
    }

    .about-photo-container {
        left: 56%;
    }

    .about-main div {
        width: 57%;
    }

    .blog-main {
        margin-top: 13%;
    }
}

@media(max-width: 1200px) {
    h1,
    h2 {
        font-size: 45px;
    }

    h1 {
        margin-top: 100px;
    }

    h1 span {
        font-size: 93px;
    }

    .about-photo-container {
        left: 52%;
    }

    .about-main h2 {
        display: initial;
    }

    .about-main h2 span {
        margin-top: 20px;
        font-size: 48px;
        margin-left: 10px;
    }

    .about-main div {
        font-size: 0.9rem;
        width: 51%;
    }

    .skills-main li {
        font-size: 0.9em;
    }
}

@media(max-width: 1100px) {
    .photo-container{
        left: 7%;
    }

    .about-photo-container {
        left: 47.5%;
    }

    .about-main div {
        width: 46%;
    }

    .skills-main li {
        font-size: 0.8em;
    }

    .project {
        width: 48%;
    }

    .description {
        padding: 0;
    }
}

@media(max-width: 1040px) {
    header {
        background-color: rgba(255, 255, 255, 0);
    }

    .logo {
        top: 15px;
        width: 40px;
    }

    .hamburger,
    .exit-responsive {
        display: block;
        font-size: 30px;
        position: absolute;
        top: 13px;
        background-color: initial;
        width: auto;
        transition: color 0.05s linear;
    }

    .hamburger {
        padding: 10px 6px;
        right: -6px;
    }

    .exit-responsive {
        top: 6px;
        left: 6px;
    }

    .hamburger:hover,
    .hamburger:focus-visible,
    .hamburger i:hover,
    .hamburger i:focus-visible,
    .exit-responsive:hover,
    .exit-responsive:focus-visible,
    .exit-responsive i:hover,
    .exit-responsive i:focus-visible {
        color: #554351;
        background: rgba(0, 0, 0, 0);
        font-size: 30px;
    }

	.menu {
		display: none;
	}

	.menu .half-screen {
		position: fixed;
		top: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100vh;
        background: #e6ca75;
		color: #554351;
        z-index: 10;
	}

    .half-screen ul {
        height: 95vh;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        align-items: center;
        padding-top: 8vh;
    }

    .half-screen li {
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }

    .menu li {
        font-size: 15px;
    }

    .menu li:last-of-type {
        text-align: center;
    }

    .menu ul a {
        font-size: 27px;
    }
    
    .active {
        background-color: #e7cb70c9;
    }

    .projects-header {
        padding-bottom: 19px;
    }

    .blog-header,
    .resume-header {
        padding-bottom: 19px;
    }

    .right-column {
        line-height: inherit;
    }
}

/* Small desktop */
@media(max-width: 990px) {
    .wrapper {
        width: 90%;
    }

    @keyframes fade-in-photo { 
        0% { 
            opacity: 0; 
        } 
        100% { 
            opacity: 0.5; 
        } 
    }
    
    .home-main {
        padding-left: 0;
        text-align: center;
    }

    h1 {
        margin-top: 40px;
    }

    h1 span {
        font-size: 85px;
    }

    .main-icon-container h1 {
        font-size: 22px;
    }

    .about-main div {
        width: 100%;
    }

    .skills-main li {
        font-size: 0.8em;
    }

    .project {
        width: 49.1%;
    }

    .description {
        font-size: 1.23rem;
    }

    .contact-main h2 {
        font-size: 1.2rem;
    }

    .main-icon-container h1 {
        font-size: 20px;
        line-height: 2.3em;
    }

    .contact-icons {
        margin-bottom: 6%;
    }

    .contact-icons li {
        margin: 0 13px 0;
        font-size: 31px;
    }
    
    .contact-icons a:hover,
    .contact-icons a:focus-visible {
        font-size: 35px;
    }
}

/* Tablet */
@media(max-width: 830px) {
    .skills-main {
        margin-bottom: 5%;
    }

    .skills-main ul {
        flex-wrap: wrap;
        margin-bottom: 0;
    }

    .skills-main ul:first-of-type {
        margin-bottom: 3%;
    }

    .skills-main li {
        width: 33%;
        margin-bottom: 2%;
    }
    
    .skills-main i {
        margin-bottom: 3%;
    }

    .left-column {
        width: 33%;
    }
    
    .right-column {
        width: 67%;
    }

    .project {
        width: 80%;
        margin: 7% auto 0;
    }

    .project:first-of-type {
        margin-top: 17%;
    }

    .description {
        font-size: 1.4rem;
        padding: 11%;
    }

    .blog-main {
        margin-top: 18%;
    }

    .contact-main h2 {
        font-size: 1.1rem;
    }

    .main-icon-container h1 {
        font-size: 18px;
    }

    .contact-icons li {
        margin: 0 12px 0;
        font-size: 30px;
    }
}

@media (min-height: 700px) and (max-width: 830px){
    .blog {
        min-height: 0;
        margin-bottom: 20%;
    }
}

@media(max-width: 740px) {
    h1,
    h2 {
        font-size: 35px;
        line-height: 40px;
    }

    h1 span {
        font-size: 80px;
    }

    .skills-main {
        font-size: 0.9rem;
    }

    .contact-main h2 {
        font-size: 1.05rem;
        line-height: 1.4em;
    }

    .main-icon-container {
        width: 100%;
    }

    .main-icon-container h1 {
        font-size: 18.5px;
    }

    .contact-icons li {
        margin: 0 11px 0;
        font-size: 29px;
    }

    .contact-icons a:hover,
    .contact-icons a:focus-visible {
        font-size: 33px;
    }

    .contact-form {
        width: 100%;
    }

    input[type=text],
    input[type=email],
    textarea {
        padding: 14px;
    }

    .resume {
        height: 100vh;
    }

    .resume-main {
        display: flex;
        flex-direction: column;
    }

    .left-column,
    .right-column {
        width: 100%;
        border: none;
        padding: 0;
    }

    .right-column {
        margin-top: 12px;
    }

    .education {
        margin-bottom: 0;
    }

    .pdf-1 {
        display: none;
    }

    .pdf-2-container {
        display: flex;
        justify-content: flex-end;
    }

    .pdf-2 {
        display: block;
        width: 50%;
        margin: 5% 0 10%;
    }

    .footer-icons li {
        margin-right: 20px;
    }

    footer p {
        font-size: 13px;
    }
}

@media(max-width: 600px) {
    .photo-container {
        width: 100%;
        left: 0;
        justify-content: center;
    }

    @keyframes fade-in-photo { 
        0% { 
            opacity: 0; 
        } 
        100% { 
            opacity: 0.1; 
        } 
    }

    h1 {
        margin-top: 30px;
    }

    .skills-main {
        font-size: 0.85rem;
    }

    .skills-main h1 {
        font-size: 2.5em;
    }

    .skills-main li {
        margin-bottom: 7%;
    }
    
    .skills-main i {
        margin-bottom: 4%;
    }

    .project {
        width: 100%;
        margin-top: 10%;
    }

    .project:first-of-type {
        margin-top: 20%;
    }

    .description {
        font-size: 1.26rem;
    }

    .blog-main {
        margin-top: 20%;
    }

    .post {
        margin-bottom: 5%;
    }

    .post h2 {
        margin: 3% auto 1.6%;
        line-height: 1.25em;
    }

    .main-icon-container {
        padding-bottom: 4%;
    }

    .main-icon-container h1 {
        font-size: 14.5px;
    }

    .contact-icons li {
        margin: 0 7px 0;
    }

    input[type=text],
    input[type=email],
    textarea {
        padding: 12px;
    }

    input[type=text] {
        margin-right: 3px;
    }
    
    input[type=email] {
        margin-left: 3px;
    }

    textarea {
        margin: 6px 0 12px;
    }
    
    button[type=submit] {
        width: 30%;
        padding: 12px;
        font-weight: bold;
    }

    .footer-icons {
        margin: 0 auto;
    }

    .footer-icons li:last-of-type {
        margin-right: 0;
    }

    .footer-icons li {
        font-size: 25px;
    }

    footer p {
        display: none;
    }
}

/* Mobile */
@media(max-width: 450px) {
    #canvas-basic,
    #particles-js {
        display: none;
    }

    .menu ul a {
        font-size: 23px;
    }
    
    h1,
    h2 {
        font-size: 30px;
    }
    
    h1 {
        line-height: 60px;
    }

    h1 span {
        font-size: 75px;
    }

    h2 {
        line-height: 35px;
    }

    .about {
        justify-content: flex-start;
    }

    .about-main {
        margin-top: 10%;
    }

    .about-main div {
        margin-top: 20px;
        font-size: 14px;
    }

    .about-footer,
    .contact-footer {
        display: none;
    }

    .project {
        margin: 0 auto;
        min-height: 63vh;
    }

    .project:first-of-type {
        margin-top: 30%;
    }

    .project:hover .mockup,
    .project:focus-visible .mockup {
        -webkit-filter: none;
        filter: none;
        transform: scale(1);
    }

    .description {
        position: initial;
        opacity: 1;
        font-size: 1.4rem;
        height: 250px;
    }

    .description h2 {
        font-size: 0.8em;
        margin-bottom: 0;
    }

    .description p:last-of-type {
        margin-bottom: 2%;
    }

    .live {
        display: none;
    }

    .github {
        padding: 5px 7px;
    }

    .skills-main h1 {
        font-size: 2.3em;
        line-height: 2.3em;
    }

    .blog-main {
        margin-top: 25%;
    }

    .post {
        margin-bottom: 7%;
    }

    .post h2 {
        margin: 5% auto 2.5%;
    }

    .contact-main {
        margin: 13% auto 40%;
    }

    .contact-main h2 {
        opacity: 0;
        height: 0;
        margin: 0;
    }

    .main-icon-container {
        padding-bottom: 20px;
    }

    .main-icon-container h1 {
        font-size: 21.2px;
        margin: 10px 0 0;
        line-height: 1.8em;
    }

    .contact-icons li {
        margin: 0 17px 0;
        font-size: 30px;
    }

    .contact-icons a:hover,
    .contact-icons a:focus-visible {
        font-size: 34px;
    }

    .hello,
    .calendar {
        margin-bottom: 3px;
    }

    .social {
        width: 100%;
    }

    .contact-form {
        width: 100%;
        font-size: 13px;
    }

    input[type=text] {
        margin-right: 2px;
        padding: 12px 3px 12px 12px;
    }
    
    input[type=email] {
        margin-left: 2px;
        padding: 12px 3px 12px 12px;
    }

    textarea {
        height: 150px;
    }

    .left-column,
    .right-column {
        padding-left: 3px;
        padding-right: 2px;
    }
}

/* Small mobile */
@media(max-width: 380px) {
    .menu ul a {
        font-size: 20px;
    }

    h1,
    h2 {
        font-size: 28px;
    }

    h1 span {
        font-size: 70px;
    }

    .about-main {
        margin-top: 4vh;
    }

    .about-main h2 {
        font-size: 21px;
    }

    .about-main h2 span {
        font-size: 30px;
    }

    .about-main div {
        font-size: 12.5px;
        margin-top: 3px;
    }

    .project:first-of-type {
        margin-top: 35%;
    }

    .skills-main {
        font-size: 0.8rem;
    }

    .skills-main h1 {
        font-size: 2em;
    }

    .skills-main li {
        margin-bottom: 8%;
        font-size: 0.75em;
    }
    
    .skills-main i {
        margin-bottom: 6%;
    }

    .description {
        font-size: 1.27rem;
    }

    .blog-main {
        margin-top: 30%;
    }

    .post h2 {
        font-size: 23px;
    }

    .post p {
        font-size: 0.95em;
    }

    .contact-main {
      width: 85%;
    }

    .main-icon-container h1 {
        font-size: 16px;
    }

    .contact-icons li {
        margin: 0 16px 0;
        font-size: 27px;
    }

    .contact-icons a:hover,
    .contact-icons a:focus-visible {
        font-size: 30px;
    }

    .contact-form {
        font-size: 13px;
    }

    input[type=text] {
        margin-right: 1.5px;
        padding: 8px 3px 8px 12px;
    }
    
    input[type=email] {
        margin-left: 1.5px;
        padding: 8px 3px 8px 12px;
    }

    textarea {
        margin: 3px 0 6px;
        line-height: 1.5em;
        padding: 8px 3px 8px 12px;
        height: 100px;
    }

    .projects-footer {
        margin-top: 0;
    }
}

/* Mobile landscape */
@media(max-height: 420px) {
    #canvas-basic,
    #particles-js {
        display: none;
    }

    .menu li {
        height: 5px;
    }
    .menu ul a {
        font-size: 20px;
    }

    h1,
    h2 {
        font-size: 25px;
    }

    h1 span {
        font-size: 60px;
    }

    .about-main {
        padding-top: 30px;
    }

    .skills-main {
        margin: 11% auto;
    }

    .project:hover .mockup,
    .project:focus-visible .mockup {
        -webkit-filter: none;
        filter: none;
        transform: scale(1);
    }

    .project:last-of-type {
        margin-bottom: 5%;
    }

    .description {
        position: initial;
        opacity: 1;
        font-size: 1.4rem;
        height: 250px;
    }

    .blog img {
        width: 70%;
        margin: 0 auto;
    }

    .blog {
        margin-bottom: 18%;
    }

    .contact-form button {
        margin-bottom: 20px;
    }

    .main-footer {
        display: none;
    }
}

/* Browser Compatibility */

/* iOS */
@supports (-webkit-touch-callout: none) {
    .project:last-of-type {
        padding-bottom: 15%;
    }

    .projects-footer {
        display: none;
    }

    .skills-main {
        margin-top: 10%;
    }

    .contact-form {
        margin-bottom: 5%;
    }
}

/* Edge */
@supports (-ms-ime-align:auto) {
    .project:hover .mockup,
    .project:focus-visible .mockup {
        -webkit-filter: none;
        filter: none;
        transform: scale(1);
    }

    .description {
        position: initial;
        opacity: 1;
        font-size: 1.4rem;
        padding: 8% 0;
        height: 300px;
    }
}

/* Safari */
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) { 
    .logo {
        transition: none;
    }

    .logo:hover,
    .logo:focus-visible {
        transform: none;
    }
}

@media not all and (min-resolution:.001dpcm) { 
    .logo {
        transition: none;
    }

    .logo:hover,
    .logo:focus-visible {
        transform: none;
    }
}

/* IE */
@media screen and (min-width:0\0) {
    body {
        height: 100vh;
        width: 100vw;
    }

    #canvas-basic,
    .photo-container,
    .home-header,
    .home-main,
    .main-footer,
    .about,
    .contact,
    .projects,
    .resume,
    .skills {
        display: none;
    }

    .ie-message {
        display: inline-block;
        font-size: 30px;
        z-index: 999999;
        position: absolute;
        top: 40%;
        left: 10%;
        width: 80vw;
        text-align: left;
        line-height: 3em;
    }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    body {
        height: 100vh;
        width: 100vw;
    }

    #canvas-basic,
    .photo-container,
    .home-header,
    .home-main,
    .main-footer,
    .about,
    .contact,
    .projects,
    .resume,
    .skills {
        display: none;
    }

    .ie-message {
        display: inline-block;
        font-size: 30px;
        z-index: 999999;
        position: absolute;
        top: 40%;
        left: 10%;
        width: 80vw;
        text-align: left;
        line-height: 3em;
    }
}

@supports (-ms-accelerator:true) {
    body {
        height: 100vh;
        width: 100vw;
    }

    #canvas-basic,
    .photo-container,
    .home-header,
    .home-main,
    .main-footer,
    .about,
    .contact,
    .projects,
    .resume,
    .skills {
        display: none;
    }

    .ie-message {
        display: inline-block;
        font-size: 30px;
        z-index: 999999;
        position: absolute;
        top: 40%;
        left: 10%;
        width: 80vw;
        text-align: left;
        line-height: 3em;
    }
}

/* Touchscreen */
@media (hover: none) and (pointer: coarse) {
    .project:hover .mockup,
    .project:focus-visible .mockup {
        -webkit-filter: none;
        filter: none;
        transform: scale(1);
    }

    .description {
        position: initial;
        opacity: 1;
        font-size: 1.4rem;
        padding: 8% 0;
        height: 250px;
    }

    .description h2 {
        font-size: 0.8em;
        margin-bottom: 0;
    }

    .description p:last-of-type {
        margin-bottom: 2%;
    }

    .live {
        display: none;
    }

    .github {
        padding: 5px 7px;
    }
}