/*** Template Styles ***/

/*** Root Style ***/

:root {
    /* Colours */
    --mainHue: 80;
    --mainSat: 60%;
    --mainLight: 50%;
    --primaryDefault: hsla(var(--mainHue), var(--mainSat), var(--mainLight), 1);
    --primaryHover: hsla(var(--mainHue), var(--mainSat), calc(var(--mainLight) - 10%), 1);
    --timelineItemBrdr: hsla(var(--mainHue), var(--mainSat), calc(var(--mainLight) - 20%), 1);
    --errorDefault: hsla(0, calc(var(--mainSat) + 10%), calc(var(--mainLight) + 10%), 1);
    --errorHover: hsla(0, calc(var(--mainSat) + 10%), calc(var(--mainLight) - 10%), 1);
    --grey: hsla(0, 0%, 39%, 1);
    --notAvailableDefault: hsla(0, 0%, 39%, 1);
    --notAvailableHover: hsla(0, 0%, 32%, 1);
    --mutedGrey: hsla(0, 0%, 78%, 1);
    --mutedBlack: hsla(0, 0%, 0%, 0.25);
    --mutedGreen: hsla(var(--mainHue), var(--mainSat), calc(var(--mainLight) + 20%), 0.5);
    --navBack: hsla(0, 0%, 30%, 1);

    /* Font Sizes */
    --titleFS: 2.25rem;
    --generalFS: 1.125rem;
    --headingFS: 1.5rem;
}

*{
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Noto Sans KR, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: var(--generalFS);
    line-height: 1.625rem;
}

a:visited {
    color: inherit;
}

h1, nav {
    font-family: Share Tech Mono, monospace;
    font-style: normal;
    font-weight: normal;
    font-size: var(--titleFS);
    line-height: 2.5625rem;
    text-transform: lowercase;
}

h2 {
    font-family: Noto Sans KR, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: var(--headingFS);
    line-height: 2.1875rem;
}

a.btn, form input[type="submit"] {
    text-decoration: none;
    display: inline-flex;
    padding: 1em 2em;
    border-radius: 0.625em;
    border: 0.3215em solid var(--primaryDefault);
    color: #FFFFFF;
    text-align: center;
    align-items: center;
    max-height: 4em;
}

form input[type="submit"] {
    padding: 1.1em 2em;
}

a.btn:hover, form input[type="submit"]:hover {
    border: 0.3215em solid var(--primaryHover);
}

a.btnPrimary, form input[type="submit"] {
    background-color: var(--primaryDefault);
    cursor: pointer;
}

a.btnOutline {
    background: #FFFFFF;
    color: var(--primaryDefault);
}

a.btnPrimary[disabled] {
    pointer-events: none;
    background: var(--notAvailableDefault);
    border: 0.3215em solid var(--notAvailableDefault);
}

a.btnPrimary[disabled]:hover {
    background: var(--notAvailableHover);
    border: 0.3215em solid var(--notAvailableHover);
}

a.btnPrimary:hover, form input[type="submit"]:hover {
    background: var(--primaryHover);
}

a.btn:active, form input[type="submit"]:active {
    padding: 0.8rem 1.8rem;
}

.boxShadowOut:hover {
    box-shadow: 0 6px 4px 0 var(--mutedBlack);
}

.boxShadowIn:active {
    box-shadow: inset 0 6px 4px 0 var(--mutedBlack);
}

.textShadow:hover {
    text-shadow: 0 6px 4px var(--mutedBlack);
}

form .formControl input:not([type="submit"]).invalid:invalid, form .formControl textarea.invalid:invalid {
    border: 4px solid var(--errorDefault);
}

form .formControl input:not([type="submit"]).invalid:invalid:focus, form .formControl textarea.invalid:invalid:focus {
    border: 4px solid var(--errorHover);
    box-shadow: 0 4px 2px 0 var(--mutedBlack);
}

form .formControl input:not([type="submit"]):focus, form .formControl textarea:focus {
    border: 4px solid var(--primaryHover);
}

form .formControl input:not([type="submit"]) {
    height: 3em;
}

form .formControl {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /*align-items: flex-start;*/
}

form .formControl.passwordControl {
    display: block;
}

form input[type="submit"] {
    align-self: flex-start;
}

form .formControl input:not([type="submit"]), form .formControl textarea,
form .formControl .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,
form .formControl .ck.ck-editor__main .ck-content {
    width: 100%;
    border: 4px solid var(--primaryDefault);
    background: none;
    outline: none;
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    border-radius: 0.5em;
    padding: 0 0.5em;
}

form .formControl textarea {
    padding: 0.5em;
}

form .formControl input:not([type="submit"]).invalid:invalid, form .formControl textarea.invalid:invalid {
    border: 4px solid var(--errorDefault);
}

form .formControl input:not([type="submit"]).invalid:invalid:focus, form .formControl textarea.invalid:invalid:focus {
    border: 4px solid var(--errorHover);
    box-shadow: 0 4px 2px 0 var(--mutedBlack);
}

form .formControl input:not([type="submit"]):focus, form .formControl textarea:focus,
form .formControl input:not([type="submit"]):hover, form .formControl textarea:hover {
    border: 4px solid var(--primaryHover);
}

form .formControl input:not([type="submit"]) {
    height: 3em;
}

form .formControl i.fa-eye, form .formControl i.fa-eye-slash {
    margin-left: -40px;
    cursor: pointer;
    color: var(--primaryDefault);
}

form .formControl input:not([type="submit"]):focus + i.fa-eye,
form .formControl input:not([type="submit"]):focus + i.fa-eye-slash {
    color: var(--primaryHover);
}

form .formControl .checkContainer {
    display: block;
    position: relative;
    margin-bottom: 1.25em;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

form .formControl .checkContainer input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

form .formControl .checkContainer .checkmark {
    position: absolute;
    top: 1.25em;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: var(--mutedGrey);
}

form .formControl .checkContainer:hover input ~ .checkmark {
    background-color: var(--grey);
}

form .formControl .checkContainer input:checked ~ .checkmark {
    background-color: var(--primaryDefault);
}

form .formControl .checkContainer input:checked:hover ~ .checkmark {
    background-color: var(--primaryHover);
}

form .formControl .checkContainer .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

form .formControl .checkContainer input:checked ~ .checkmark:after {
    display: block;
}

form .formControl .checkContainer .checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

form .formControl input[type="file"] {
    padding: 0;
    cursor: pointer;
}

form .formControl input[type="file"]::file-selector-button {
    background-color: var(--primaryDefault);
    color: #FFFFFF;
    border: 0;
    border-right: 5px solid var(--mutedBlack);
    padding: 15px;
    margin-right: 20px;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}

form .formControl input[type="file"]:hover::file-selector-button {
    background-color: var(--primaryHover);
}

section#about, section#curriculumVitae h1 {
    padding: 0 5rem;
}