:root {
    font-size: 0.85em;
    --background-color: #ededed;
    --main-color: #26001b;
    --outer-radius: 1rem;
}

html {
    display: flex;
    justify-content: center;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    background: #444;
    color: var(--main-color);
    min-height: 100%;
}

a {
    text-decoration: none;
    color: var(--main-color);
}

body {
    display: flex;
    flex-direction: column;
    align-content: stretch;
    width: 100%;
    max-width: 800px;
    min-height: 100%;
}

header {
    width: 100%;
    border-radius: var(--outer-radius) var(--outer-radius) 0 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    box-sizing: border-box;
    background: linear-gradient(90deg, #ffaee8, #ededed);
    background: linear-gradient(90deg, #909090, #f7f7f7, #f7f7f7);
}

#whoami {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

#name {
    font-size: 2.5rem;
    font-weight: 700;
    text-transform: uppercase;
}

#position {
    font-size: 2rem;
    font-weight: 500;
    font-style: italic;
}

#contacts {
    font-size: 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: right;
    font-style: italic;
}

main {
    /* font-size: 0.85rem; */
    flex-grow: 1;
    display: flex;
    flex-wrap: nowrap;
    text-align: justify;
    /* line-height: normal; */
}

hr {
    height: 2px;
    margin-top: 0;
    background-color: var(--main-color);
    border: none;
    position: relative;
    bottom: 2px;
    margin:0;
}

#left {
    --background-color: #26001b;
    --main-color: #ededed;

    flex-grow: 1;
    padding: 0 1rem 1rem 1.5rem;
    background-color:  var(--background-color);
    color: var(--main-color);
    border-radius: 0 0 0 var(--outer-radius);
}

#left p {
    line-height: normal;
}

#right {
    flex-grow: 2;
    padding: 0 1.5rem 1rem 1rem;
    background-color: var(--background-color);
    color: var(--main-color);
    border-radius: 0 0 var(--outer-radius) 0;
}

section {
    font-weight: 500;
    font-style: italic;
}

section>section {
    padding-top: 1rem;
}

section>h1 {
    text-transform: uppercase;
    padding: 0.25em;
    font-size: 1.25rem;
    /* font-weight: 700; */
    font-style: normal;
    position: relative;
    width: fit-content;
    background-color: var(--main-color);
    color: var(--background-color);
}

section>h1::before {
    content: "# ";
    content: "// ";
}

section>p, section>ul>li, section>div, section>h2 {
    margin: 0.65em 0;
}

section h2 {
    text-transform: uppercase;
    font-weight: 700;
    font-style: normal;
}

section progress {
    width: 100%;
    accent-color: var(--main-color);
}

.meter { 
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-evenly;
    height: 0.75em;
    position: relative;
    background: #909090;
    margin-bottom: 1.5em;
}

.meter > span {
    position: absolute;
    left: 0;
    height: 100%;
    background-color: var(--main-color);
    overflow: hidden;
}

.meter > label {
    position: absolute;
    top: 1em;
    font-weight: 700;
    font-style: normal;
    text-transform: uppercase;
}

.meter-tick-short, .meter-tick-long {
    width: 1px;
    height: 50%;
    background-color: var(--background-color);
    z-index: 2;
}

.meter-tick-long {
    height: 75%;
}

section > label {
    text-transform: uppercase;
    margin: 1em 0;
}

#skills p {
    text-align: left;
}

#education p {
    text-align: left;
    text-transform: capitalize;
}

#education div {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

#education div p {
    font-weight: 400;
}

#experience div {
    display: flex;
    flex-direction: row;
    font-weight: 400;
}

.exp-title-separator {
    margin: 0 0.5em;
    font-style: normal;
}

.exp-subtitle {
    font-weight: 300;
    font-size: 0.85rem;
}

ul {
    list-style: disc;
}

li {
    position: relative;
    left: 3%;
    width: 97%;
}

/* li::before {
    content: "-";
    padding-right: 1ex;
} */

@media (max-width: 700px) {
    #experience div {
        flex-direction: column;
    }
    #experience div>.exp-title-separator {
        display: none;
    }
    #right {
        padding: 1rem;
        border-radius: 0;
    }
    #left {
        padding: 1rem;
        border-radius: 0 0 var(--outer-radius) var(--outer-radius);
    }
    main {
        flex-direction: column-reverse;
    }
    header {
        flex-direction: column;
        text-align: center;
    }
    #contacts {
        padding-top: 0.5em;
        flex-direction: row;
        justify-content: center;
        text-align: center;
        align-items: flex-end;
        height: 1.25rem;
        font-size: 3vw;
        flex-grow: 1;
        gap: 1em;
    }
}
