body {
    padding: 0;
}

header {
    position: fixed;
    left: 30px;
    top: 30px;
    z-index: 999;
}

footer {
    position: fixed !important;
    left: 30px !important;
    bottom: 30px !important;
}

#footer-icon-row {
    width: 100%;
    height: 100%;
    border: 2px solid var(--color-primary);
    border-radius: 7px;
    background-color: var(--color-body-dark);
    padding: 5px;
}

.footer-links {
    display: inline-block;
    margin: 0 5px;
    width: fit-content;
    height: fit-content;

}

.footer-links>.icon {
    position: relative;
    left: unset;
    top: unset;
    transform: unset;
    font-size: var(--type-button-large);
    color: var(--color-body-light);
}

footer>.frame {
    border-radius: 7px;
    background-color: var(--color-body-light);
    border: 2px solid var(--color-primary);
}

.main {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: inline-block;
    left: unset;
    top: unset;
    transform: unset;
}

.space-holder {
    position: relative;
    width: 100%;
}

.sticky {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 100%;
    overflow-x: hidden;
}

.horizontal {
    position: absolute;
    height: 100%;
    will-change: transform;
}

.cards {
    position: relative;
    height: 100%;
    padding-inline-start: 10vw;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
}

.sample-card {
    position: relative;
    width: 80vw;
    /* border: 1px solid #ff9000; */
    margin-inline-end: 20vw;
    flex-shrink: 0;
}

.left-panel,
.right-panel {
    height: auto;
    width: 49%;
}

#hello>div.left-panel>h1 {
    text-align: left;
    width: 90%;
}

#hello>div.left-panel {
    padding-inline-start: 10%;
}

.mhdibaei-marker {
    color: var(--color-primary);
    font-size: inherit;
}

#about>.right-panel {
    text-align: left;
    padding-inline-end: 10%;
}

#about>.right-panel>a {
    font-size: var(--type-button-regular);
    margin-top: 10px;
    min-width: 196px;
}

#skill-bar-container {
    display: block;
    width: 100%;
    margin-block-start: 20px;
}

.skill-bar-row {
    display: block;
    padding: 10px 5px;
    width: 100%;
    text-align-last: left;
    height: fit-content;
}

.skill-name {
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    width: 25%;
}

.skill-bar-parent {
    display: inline-block;
    vertical-align: middle;
    border: 3px solid var(--color-primary);
    border-radius: 7px;
    width: 70%;
    height: 1.7em;
    overflow: hidden;
}

.skill-bar-child {
    background-color: var(--color-body-light);
    height: 2em;
    width: 70%;
}

#skills>.right-panel>img {
    width: 300px;
}

#skills>.left-panel>h2 {
    text-align: left;
}

#portfolio {
    width: auto;
    height: 60vh;
    margin-inline-end: 0;
}

#port-container {
    width: auto;
    min-width: 80vw;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: space-between;
    position: relative;
    flex-direction: column;
    padding-block-start: 20px;
}

.port-card {
    position: relative;
    margin: 20px;
}

.port-card-cover {
    width: 250px;
    aspect-ratio: 6/4;
    text-align: center;
    border: 3px solid var(--color-primary);
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.port-card>.frame {
    border: 3px solid var(--color-primary);
    left: 7px;
    top: 7px;
    border-radius: 10px;
    background-color: var(--color-body-light);
    z-index: 0;
}

.port-img {
    width: inherit;
}

.sample-card.horizontal-card {
    margin-inline-end: unset;
    width: 100%;
    display: block;
    height: auto;
    margin: 15vh 0;
    padding: 0 10vw;
}

#portfolio.horizontal-card>#port-container {
    flex-direction: row;
    justify-content: center;
}

footer.horizontal-card {
    left: 20px !important;
}

footer.horizontal-card>#footer-icon-row>.footer-links {
    display: block;
    text-align: center;
    margin: 5px;
}

@media only screen and (max-device-width: 812px) {
    header {
        position: relative;
        display: block;
        text-align: center;
        left: unset;
        top: unset;
        width: 100%;
        height: auto;
        padding: 1em;
        background-color: var(--color-body-dark);
    }

    .header-link{
        font-size: var(--type-h4);
    }

    .horizontal-card>.left-panel,
    .horizontal-card>.right-panel {
        padding-inline-start: unset !important;
        padding-inline-end: unset !important;
    }

    #about>.right-panel>a {
        min-width: auto;
    }

    #skills>.right-panel>img {
        width: calc(300px * 0.6);
    }

    .port-card-cover {
        width: 200px;
    }

    .frame-with-text {
        height: calc(100% + 1.5em);
    }
    #portfolio{
        height: auto;
    }
}

@media only screen and (max-device-width: 425px) {
    .header-link{
        font-size: calc(var(--type-h4) * 0.9);
    }
    
    .sample-card.horizontal-card {
        margin: 50px 0;
    }

    #skills>.right-panel>img {
        width: calc(300px * 0.5);
    }

    footer.horizontal-card {
        left: unset !important;
        right: 20px;
    }
}