/* ===============  SECTIONS  =============== */

#page-face {
    display: flex; 
    flex-direction: column; 
    justify-content: space-between;
    height: var(--vwh);
}

#about-and-study {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


/* ===============  HEADER  =============== */

header {
    position: relative;
    align-self: stretch;
    padding-top: 35%; 
    padding-bottom: 35%; 
    padding-left: 18px; 
    padding-right: 18px; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: flex-start; 
    gap: 24px; 
    display: flex;
}

#title-header {
    align-self: stretch; 
    height: 120px; 
    position: relative;
}

#title-shadow {
    left: 38px; 
    top: 41px; 
    position: absolute; 
    color: var(--accent); 
    font-size: 30px; 
    font-family: IBM Plex Mono; 
    font-weight: 500; 
    word-wrap: break-word;
}

#title-container {
    left: 0px; 
    top: 0px; 
    position: absolute
}

.title-text {
    color: var(--white); 
    font-size: 30px; 
    font-family: IBM Plex Mono; 
    font-weight: 500; 
    word-wrap: break-word;
}

#subtitle {
    align-self: stretch; 
    color: white; 
    font-size: 16px; 
    font-family: IBM Plex Mono; 
    font-weight: 500; 
    word-wrap: break-word;
}


/* ===============  FOM  =============== */

#fom {
    padding-bottom: 60px;
    justify-content: center; 
    align-items: center; 
    display: inline-flex;
    position: relative;
}

#fom-button {
    background: none;
    border: none;
    gap: 8px; 
    padding: 4px 8px !important;
    display: flex;
    padding: 0;
    transition: all 0.3s ease;
    border-radius: 8px;
}

#fom-text {
    color: var(--primary); 
    font-size: 16px; 
    font-family: IBM Plex Mono; 
    font-weight: 500; 
    word-wrap: break-word;
    transition: all 0.3s ease;
}

#arrow {
    width: 20px; 
    height: 20px;
    fill: none;
    shape-rendering: geometricPrecision;
    vector-effect: non-scaling-stroke;
}

#fom-button:hover #fom-text, #fom-button:hover #arrow path {
    color: var(--black);
    fill: var(--black) !important;
}

#fom-button:hover {
    background-color: var(--primary);
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(207, 238, 76, 0.4);
}


/* ===============  ABOUT  =============== */

#about {
    align-self: stretch; 
    padding: 90px 24px;
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: flex-start; 
    gap: 24px; 
    display: flex;
}

#about-title {
    align-self: stretch; 
    color: var(--white);
    font-size: 20px; 
    font-family: IBM Plex Mono; 
    font-weight: 500; 
    word-wrap: break-word;
}

#about-container {align-self: stretch;}

.common-text {
    color: var(--white); 
    font-size: 15px; 
    font-family: Rajdhani; 
    font-weight: 500; 
    word-wrap: break-word;
}


/* ===============  STUDY  =============== */

#study {
    align-self: stretch; 
    padding: 64px 0;
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: center; 
    gap: 16px; 
    display: flex;
}

.study-section {
    align-self: stretch; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center; 
    padding-top: 8px;
    gap: 8px;
    display: flex;
}

.study-border {
    min-width: 230px; 
    padding-left: 16px; 
    padding-right: 16px; 
    padding-top: 8px; 
    padding-bottom: 8px;
    padding-bottom: 8px; 
    border-radius: 24px; 
    border: 1px var(--accent) solid; 
    justify-content: center; 
    align-items: center; 
    gap: 8px; 
    display: inline-flex;
    z-index: 1;
}

.hat {
    width: 21px; 
    height: 21px; 
    fill: none;
    shape-rendering: geometricPrecision;
    vector-effect: non-scaling-stroke;
}

.study-text {
    color: var(--accent); 
    font-size: 16px; 
    font-family: IBM Plex Mono; 
    font-weight: 500; 
    word-wrap: break-word;
}

.black-tick {
    width: 12px; 
    height: 0px; 
    gap: 8px;
    transform: rotate(90deg); 
    transform-origin: top left; 
    outline: 2px #0D1A1C dashed;
    outline-offset: -1px;
}

.light-tick {
    width: 12px; 
    height: 0px;
    gap: 8px;
    transform: rotate(90deg); 
    transform-origin: top left; 
    outline: 2px var(--accent) dashed; 
    outline-offset: -1px;
}


/* ===============  SKILLS  =============== */

#skills {
    align-self: stretch; 
    padding: 80px 24px; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: flex-start; 
    gap: 24px; 
    display: flex;
}

#skills-title {
    align-self: stretch; 
    color: var(--white); 
    font-size: 20px; 
    font-family: IBM Plex Mono; 
    font-weight: 500; 
    word-wrap: break-word;
}

#skills-container {
    align-self: stretch; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: flex-start; 
    gap: 16px; 
    display: flex;
} 

.skills-section {
    align-self: stretch; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: flex-start; 
    gap: 4px; 
    display: flex;
}

.skills-section > .common-text {
    color: var(--accent);
}

.skills-text-container {
    align-self: stretch;
    padding-left: 16px; 
    justify-content: flex-start; 
    align-items: center; 
    gap: 10px; 
    display: inline-flex;
}


/* ===============  EXPERIMENTS  =============== */

#experiments {
    align-self: stretch; 
    padding: 80px 24px;
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: flex-start; 
    gap: 32px; 
    display: flex;
}

#exp-title {
    align-self: stretch; 
    color: var(--white); 
    font-size: 20px; 
    font-family: IBM Plex Mono; 
    font-weight: 500; 
    word-wrap: break-word;
}

#exp-container {
    align-self: stretch; 
    padding-left: 16px; 
    padding-right: 16px; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: flex-start; 
    gap: 48px; 
    display: flex;
}

.exp-section {
    align-self: stretch; 
    flex-direction: column; 
    justify-content: flex-start; 
    align-items: flex-start; 
    gap: 12px; 
    display: flex;
}

.preview-card {
    align-self: stretch; 
    height: 240px; 
    background: #D9D9D9;
}

.card-container {
    align-self: stretch; 
    justify-content: space-between; 
    align-items: center; 
    display: inline-flex;
}

.card-title {
    color: white; 
    font-size: 16px; 
    font-family: IBM Plex Mono; 
    font-weight: 500; 
    text-transform: uppercase; 
    word-wrap: break-word;
}

.card-link {
    color: var(--primary); 
    font-size: 14px; 
    font-family: IBM Plex Mono; 
    font-weight: 500; 
    word-wrap: break-word;
}