* { padding: 0; margin: 0; box-sizing: border-box; font-family: "Roboto", sans-serif; } :root { font-size: clamp(1rem, 1.2vmax, 3rem); } html, body { height: 100%; scroll-behavior: smooth; } body { color: rgba(var(--text-color), 1); background: rgba(var(--background-color), 1); } body, body * { --accent-color: #5D54A4; --text-color: 17, 17, 17; --background-color: 246, 246, 246; --foreground-color: white; --danger-color: red; } body[data-theme=dark], body[data-theme=dark] * { --accent-color: #9D65C9; --text-color: 240, 240, 240; --text-color-light: 170, 170, 170; --background-color: 10, 10, 10; --foreground-color: rgb(20, 20, 20); --danger-color: rgb(255, 106, 106); } p { max-width: 70ch; line-height: 1.7; color: rgba(var(--text-color), 0.8); } p:not(:last-of-type) { margin-bottom: 1.5rem; } img { object-fit: cover; } a:where([class]) { color: inherit; text-decoration: none; } a:where([class]):focus-visible { box-shadow: 0 0 0 0.1rem rgba(var(--text-color), 1) inset; } button, .button { position: relative; display: inline-flex; border: none; background-color: transparent; overflow: hidden; color: inherit; cursor: pointer; } button:disabled { opacity: 0.5; } a.button { padding: 0.6rem 1.2rem; border-radius: 0.3rem; background-color: rgba(var(--text-color), 0.06); } a:any-link:focus-visible { outline: rgba(var(--text-color), 1) 0.1rem solid; } sm-button { --border-radius: 0.3rem; } sm-button[variant=primary] .icon { fill: rgba(var(--background-color), 1); } sm-button[disabled] .icon { fill: rgba(var(--text-color), 0.6); } ul { list-style: none; } .flex { display: flex; } .grid { display: grid; } .hide { opacity: 0; pointer-events: none; } .hide-completely { display: none !important; } .no-transformations { transform: none !important; } .overflow-ellipsis { width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .breakable { overflow-wrap: break-word; word-wrap: break-word; -ms-word-break: break-all; word-break: break-word; -ms-hyphens: auto; -moz-hyphens: auto; -webkit-hyphens: auto; hyphens: auto; } .full-bleed { grid-column: 1/4; } .h1 { font-size: 2.5rem; } .h2 { font-size: 2rem; } .h3 { font-size: 1.4rem; } .h4 { font-size: 1rem; } .h5 { font-size: 0.8rem; } .uppercase { text-transform: uppercase; } .capitalize { text-transform: capitalize; } .flex { display: flex; } .grid { display: grid; } .grid-3 { grid-template-columns: 1fr auto auto; } .flow-column { grid-auto-flow: column; } .gap-0-5 { gap: 0.5rem; } .gap-1 { gap: 1rem; } .gap-1-5 { gap: 1.5rem; } .gap-2 { gap: 2rem; } .gap-3 { gap: 3rem; } .text-align-right { text-align: right; } .align-start { align-items: flex-start; } .align-center { align-items: center; } .text-center { text-align: center; } .justify-start { justify-content: start; } .justify-center { justify-content: center; } .justify-right { margin-left: auto; } .align-self-center { align-self: center; } .justify-self-center { justify-self: center; } .justify-self-start { justify-self: start; } .justify-self-end { justify-self: end; } .direction-column { flex-direction: column; } .space-between { justify-content: space-between; } .w-100 { width: 100%; } .color-0-8 { color: rgba(var(--text-color), 0.8); } .weight-400 { font-weight: 400; } .weight-500 { font-weight: 500; } .ripple { position: absolute; border-radius: 50%; transform: scale(0); background: rgba(var(--text-color), 0.16); pointer-events: none; } .interact { position: relative; overflow: hidden; cursor: pointer; -webkit-tap-highlight-color: transparent; } .observe-empty-state:empty { display: none; } .observe-empty-state:not(:empty) ~ .empty-state { display: none; } .icon { width: 1.5rem; height: 1.5rem; fill: rgba(var(--text-color), 0.9); } .button__icon { height: 1.2rem; width: 1.2rem; } .button__icon--left { margin-right: 0.5rem; } .button__icon--right { margin-left: 0.5rem; } #confirmation_popup, #prompt_popup { flex-direction: column; } #confirmation_popup h4, #prompt_popup h4 { font-weight: 500; margin-bottom: 0.5rem; } #confirmation_popup sm-button, #prompt_popup sm-button { margin: 0; } #confirmation_popup .flex, #prompt_popup .flex { padding: 0; margin-top: 1rem; } #confirmation_popup .flex sm-button:first-of-type, #prompt_popup .flex sm-button:first-of-type { margin-right: 0.6rem; margin-left: auto; } .popup__header { display: grid; gap: 0.5rem; width: 100%; padding: 0 1.5rem 0 0.5rem; align-items: center; grid-template-columns: auto 1fr auto; } .popup__header__close { padding: 0.5rem; cursor: pointer; } #main_page { height: 100%; grid-template-rows: auto 1fr auto; grid-template-areas: "main-header" "sub-pages" "main-nav"; } #main_header { grid-area: main-header; display: flex; gap: 1rem; align-items: center; position: sticky; padding: 0.5rem 1rem; background: var(--foreground-color); z-index: 1; } #main_nav { grid-area: main-nav; position: relative; display: flex; align-items: center; background-color: var(--foreground-color); } .nav-list__item { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 0.5rem 0; -webkit-tap-highlight-color: transparent; font-size: 0.8rem; font-weight: 500; color: rgba(var(--text-color), 0.8); } .nav-list__item--active { color: var(--accent-color); } .nav-list__item--active .icon { fill: var(--accent-color); } .nav-list__item .icon { margin-bottom: 0.3rem; } #sub_page_container { grid-area: sub-pages; height: 100%; overflow-y: auto; } .container-card { position: relative; background: var(--foreground-color); border-radius: 0.5rem; } .medium-top-bottom-margin { margin: 0.5rem 0; } #sign_in_page { display: grid; position: fixed; z-index: 5; top: 0; bottom: 0; left: 0; right: 0; place-content: center; background-color: var(--foreground-color); } #sign_in_form { width: 22rem; } .task { display: grid; grid-template-columns: auto 1fr; margin: 0 1rem; } .task:last-of-type .left .line { transform: scaleY(0); } .task .left { display: flex; position: relative; justify-content: center; padding-top: 0.5rem; } .task .left .circle { display: inline-flex; position: relative; align-self: flex-start; height: 1rem; width: 1rem; border-radius: 50%; background: var(--foreground-color); border: solid 2px rgba(var(--text-color), 0.4); z-index: 1; } .task .left .line { position: absolute; left: 50%; height: 100%; width: 2px; transform: translateX(-50%) scaleY(1); background-color: rgba(var(--text-color), 0.4); } .task .right { margin-left: 1rem; display: flex; flex-direction: column; width: 100%; } .task .right .apply-cont { width: 100%; display: flex; flex-direction: row; } .task .right .apply-cont h4 { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; } .task h4 { margin-top: 0.4rem; margin-bottom: 1rem; } .task p { white-space: pre-line; padding-bottom: 2rem; } .task .assigned-interns .assigned-intern { padding: 0.4rem; } .completed-task .left .circle { border: solid 2px #00C853 !important; background: #00C853 !important; } .completed-task .left .line { background-color: #00C853 !important; } .page { gap: 1rem; display: grid; position: relative; padding: 1rem; animation: fadein 0.3s; grid-template-columns: minmax(0, 1fr); } @keyframes fadein { 0% { opacity: 0; } 100% { opacity: 1; } } .title { font-weight: 500; } .padding { padding: 1rem; } #dashboard_page { padding-bottom: 5rem; grid-template-columns: auto; } .show { display: block; } .no-transformations { -webkit-transform: none !important; transform: none !important; } .no-bottom-margin { margin-bottom: 0; } .top-margin { margin-top: 0.3rem; } .spacer { flex: 1; } .logo { display: flex; align-items: center; font-size: 1.2rem; width: 100%; } .logo .cls-2, .logo .cls-3 { fill: rgba(var(--text-color), 1); font-size: 146.9px; font-family: ArialMT, Arial; } .logo svg { height: 2.5rem; } .logo h4 { margin: 0; } .active { opacity: 1 !important; color: var(--accent-color); } .active svg { fill: var(--accent-color); } .svg-margin-right svg { margin-right: 0.5rem; } .project-card { padding: 1rem; font-weight: 500; line-height: 1.5; text-transform: capitalize; color: rgba(var(--text-color), 0.8); } .intern-card { user-select: none; padding: 0.8rem 1rem; gap: 0.8rem; grid-template-columns: auto 1fr auto; } .intern-card__initials { display: flex; height: 2.6rem; width: 2.6rem; justify-content: center; align-items: center; border-radius: 40%; color: white; font-weight: 500; font-size: 1rem; text-transform: uppercase; background-color: var(--accent-color); } .intern-card__score-wrapper { font-weight: 500; font-size: 1.2rem; } .intern-card .icon { fill: #FF5722 !important; height: 1rem !important; width: 1rem !important; margin-left: 0.2rem; } .request-card { display: grid; position: relative; padding: 1rem; } .request-card sm-button { --padding: 0.5rem 0.8rem; } .request-card__description { width: 100%; font-size: 1rem; margin-bottom: 1rem; } .reject-app { margin-left: auto; margin-right: 0.5rem; } #intern_updates .container-header { padding: 0 1rem; border-bottom: 1px solid rgba(var(--text-color), 0.1); } #intern_updates .container-header button { padding: 1rem 0; border-bottom: 0.2rem solid transparent; border-radius: 0; opacity: 0.7; } #intern_updates .container-header button:first-of-type { margin-right: 1rem; } #intern_updates .container-header button:last-of-type { margin-right: 1rem; } #intern_updates .container-header .active { color: rgba(var(--text-color), 1); border-bottom: 0.2rem solid var(--accent-color); } #updates_page sm-select { --max-height: 50vh; } #updates { transition: opacity 0.3s ease; } #updates_page__project_selector strip-option { font-size: 0.9rem; } .intern-update { display: grid; gap: 0.5rem; padding: 1rem; border-radius: 0.5rem; background-color: var(--foreground-color); } .update__topic { font-weight: 500; font-size: 1rem; margin-top: 0.5rem; text-transform: capitalize; } .update__sender { color: var(--accent-color); font-size: 0.9rem; font-weight: 500; } .update__time { font-size: 0.85rem; color: rgba(var(--text-color), 0.8); } .update__message { white-space: pre-line; } .container-header { display: flex; align-items: center; width: 100%; padding: 1rem; } .container-header h4 { flex: 1; font-weight: 500; } #intern_info { flex-direction: column; } #intern_info div { display: flex; flex-direction: row; align-items: center; width: 100%; margin-bottom: 1rem; } #intern_info div span { flex: 1; word-break: break-all; font-size: 0.9rem; } #intern_info .gold-fill { fill: #FF5722; } #intern_info #update_intern_score h4 { margin: 0; font-size: 2rem; } #intern_info h3 { text-transform: capitalize; } #intern_info h4, #intern_info h5 { margin-top: 0.5rem; } #project_info { flex-direction: column; } .branch-btn { border-radius: 0; padding: 0.5rem; border-radius: 0.2rem; margin: 0.5rem 0.5rem 0.5rem 0; user-select: none; } .active-branch { opacity: 1; color: var(--accent-color); background: rgba(var(--text-color), 0.04); } #task_list { padding: 1.5rem 0; } .task-list-item { display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "status title options" "status interns interns" "status description description"; align-content: flex-start; padding: 1rem; gap: 0.5rem; border-radius: 0.5rem; background: rgba(var(--text-color), 0.02); } .task-list-item sm-checkbox { grid-area: status; align-self: flex-start; padding: 0.2rem 0.5rem 0.5rem 0; } .task-list-item h4 { font-weight: 500; margin: 0; } .task-list-item .title { grid-area: title; line-height: 1.6; } .task-list-item .assigned-interns { grid-area: interns; } .task-option { grid-area: options; transition: opacity 0.3s ease; padding: 0.5rem; } .task-option .icon { height: 1.2rem; width: 1.2rem; } .task-description { grid-area: description; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: pre-line; } .assigned-interns { display: flex; flex-wrap: wrap; } .assigned-interns .assigned-intern { user-select: none; display: flex; font-size: 0.8rem; margin: 0.2rem 0.5rem 0.2rem 0; padding: 0.2rem 0 0.2rem 0.4rem; border-radius: 0.2rem; border: 1px solid rgba(var(--text-color), 0.24); align-items: center; white-space: nowrap; text-transform: capitalize; } .assigned-interns .assigned-intern button { padding: 0.2rem; } .assigned-interns .assigned-intern button .icon { height: 1rem; width: 1rem; } #task_context { position: absolute; top: 0; right: 0; margin: 0 2rem; list-style: none; padding: 0.5rem 0; width: max-content; border-radius: 0.3rem; transition: 0.3s opacity ease; background-color: var(--foreground-color); box-shadow: 0 0.5rem 1rem -0.3rem rgba(0, 0, 0, 0.3); } #task_context li { padding: 0.8rem 1.5rem; display: flex; align-items: center; } #task_context li .icon { margin-right: 0.5rem; } #branch_container { display: flex; flex-flow: row wrap; margin: 1rem 0; } #interns_list { flex-direction: column; min-width: 20rem; } #interns_list #interns_list_container { min-height: 50vh; max-height: 50vh; overflow-y: auto; } #best_interns_container, #project_list_container { margin-bottom: 1rem; } #best_interns_container .container-header .icon, #project_list_container .container-header .icon { margin-right: 0.5rem; } #edit_data_fig { fill: rgba(var(--text-color), 0.6); width: 60vw; margin: 2rem 0; } .header { position: sticky; top: 0; background: var(--foreground-color); display: flex; flex-flow: row; border-bottom: 1px solid rgba(var(--text-color), 0.1); align-items: center; z-index: 2; } .header svg { fill: none; stroke: rgba(var(--text-color), 0.8); stroke-width: 6; overflow: visible; height: 2rem; width: 2rem; cursor: pointer; padding: 0.4rem; margin-left: 1rem; } .header h3 { padding: 0 0.5rem; display: inline-flexbox; } #loading_page { display: grid; position: fixed; top: 0; bottom: 0; left: 0; right: 0; z-index: 5; text-align: center; place-content: center; justify-items: center; background-color: var(--foreground-color); } .loading-message { font-size: 1.3rem; margin: 1.5rem 0 0.5rem 0; } #loading_page__footer { position: absolute; bottom: 0; width: 100%; padding: 1.5rem; } #loading_page__footer .icon { height: 4rem; width: 4rem; } #status_map_container { position: relative; overflow: hidden; } #status_map_container #status_map { position: relative; padding: 0 1rem 1rem 1rem; } #status_map_container #status_map h2 { margin: 0.4rem 0; text-transform: capitalize; } .watching { position: relative; display: flex; padding: 1rem; align-items: center; } .watching h4 { flex: 1; font-weight: 500; } .watching button { padding: 0.5rem; border-radius: 0.5rem; } #right { align-items: flex-start; align-content: flex-start; padding: 1rem; } #right div:first-of-type h2 { flex: 1; margin: 0.4rem 0; } #right div:first-of-type button { border: 1px solid rgba(var(--text-color), 0.06); } #project_explorer { padding: 0; } #admin_page { display: grid; gap: 1rem; height: 100%; } #admin_page__header { display: grid; gap: 0 1rem; grid-template-columns: 1fr auto; align-items: center; } #project_editing_panel { padding: 1rem; height: 100%; overflow-y: auto; } #update_of_project { color: rgba(var(--text-color), 0.8); } #update_of_task { font-size: 1.3rem; margin: 0.4rem 0 1.8rem 0; } ul { padding: 0; list-style: none; } #assigned_task_list { display: grid; gap: 1rem; margin-top: 1rem; align-content: flex-start; } .task-card { display: grid; padding: 1rem; border-radius: 0.5rem; background-color: var(--foreground-color); } .task__header { display: grid; gap: 0 0.5rem; align-items: flex-start; grid-template-columns: 1fr auto; grid-template-areas: ". send-button" ". send-button"; } .task__project-title { font-size: 0.9rem; font-weight: 500; border-radius: 0.3rem; padding: 0.3rem 0.5rem; justify-self: flex-start; margin-bottom: 0.5rem !important; color: rgba(var(--text-color), 0.8); background-color: rgba(var(--text-color), 0.06); } .task__title { font-size: 1.3rem; margin-bottom: 1rem !important; } .task__description { white-space: pre-line; color: rgba(var(--text-color), 0.8); } .send-update-button { grid-area: send-button; --padding: 0.6rem 0.8rem; color: var(--accent-color); } .send-update-button .icon { height: 1.2rem; width: 1.2rem; fill: var(--accent-color); } #admin_page__left { height: 100%; overflow-y: hidden; } #admin_page__left sm-tab-header { --gap: 0; --justify-content: stretch; border-bottom: 1px solid rgba(var(--text-color), 0.2); } #admin_page__left sm-tab { justify-content: center; } #admin_page__left sm-tab-panels, #admin_page__left sm-tab-panels > * { height: 100%; flex-direction: column; } #admin_page__left sm-tab-panels { overflow-y: hidden; } #admin_page__left sm-tab-panels > * { display: flex; } #admin_page__left .list-container { height: 100%; overflow-y: auto; } #admin_page__left .empty-state { padding: 1rem; text-align: center; } #update_filters_wrapper { gap: 1.5rem; } @media only screen and (max-width: 640px) { .hide-on-mobile, .hide-page-on-mobile { display: none; } #admin_page { gap: 0; padding: 0; } #admin_page__header { padding: 1rem; } } @media only screen and (min-width: 640px) { .hide-on-desktop { display: none !important; } sm-popup { --width: 26rem; } .popup__header { padding: 1.5rem 1.5rem 0 0.5rem; } #main_nav { padding: 0.5rem; flex-direction: column; } #main_nav theme-toggle { margin: 1rem; margin-top: auto; } .nav-list__item { flex-direction: row; align-items: center; border-radius: 0.5rem; padding: 0.8rem; margin-bottom: 0.25rem; font-size: 1rem; } .nav-list__item--active { background-color: rgba(var(--text-color), 0.06); } .nav-list__item .icon { margin-bottom: 0; } .nav-list__item_title { display: none; } .project-card--active { background-color: rgba(var(--text-color), 0.1); } #settings_page { padding: 1rem 2rem; } #sign_in { width: 24rem; height: auto; border-radius: 0.4rem; } #dashboard_page { grid-template-columns: 3fr 1fr; } #dashboard_page #status_map_container { align-self: flex-start; } #admin_page { grid-template-columns: 18rem minmax(0, 1fr); grid-template-rows: auto 1fr; grid-template-areas: "admin-header admin-header" ". ."; } #admin_page__header { grid-area: admin-header; } #edit_data_fig { width: 16rem; justify-self: center; } #project_explorer { display: grid; height: 100%; grid-template-columns: 16rem 3fr; grid-template-areas: "left right"; } #project_explorer #left { grid-area: left; height: 100%; overflow-y: auto; padding-bottom: 1.5rem; border-right: 1px solid rgba(var(--text-color), 0.06); background-color: rgba(var(--text-color), 0.06); } #project_explorer #left h4 { margin-top: 0; margin-bottom: 0.5rem; color: #29B6F6; font-size: 0.9rem; } #project_explorer #right { grid-area: right; height: 100%; overflow-y: auto; } #main_page { grid-template-columns: 4rem minmax(0, 1fr); grid-template-areas: "main-header main-header" "main-nav sub-pages"; } #post_update_popup { --width: 32rem; } #updates_page { height: 100%; gap: 1rem; grid-template-areas: "updates update-filters"; grid-template-columns: minmax(0, 1fr) 20rem; } #update_filters_wrapper { padding: 1rem; border-radius: 0.5rem; align-content: flex-start; grid-area: update-filters; background-color: var(--foreground-color); } #updates_wrapper { height: 100%; overflow-y: auto; grid-area: updates; } #all_interns_list { gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); } #all_interns_list .intern-card { gap: 1rem 0.5rem; padding: 1.5rem; grid-template-columns: 1fr; border-radius: 0.5rem; background-color: var(--foreground-color); } #all_interns_list .intern-card__initials { grid-column: 1/3; } } @media only screen and (min-width: 1280px) { #main_page { grid-template-columns: 12rem minmax(0, 1fr); grid-template-areas: "main-header main-header" "main-nav sub-pages"; } #main_nav { align-items: flex-start; } .nav-list__item .icon { margin-right: 0.5rem; } .nav-list__item_title { display: inline-block; } } @media (any-hover: hover) { ::-webkit-scrollbar { width: 0.5rem; height: 0.5rem; } ::-webkit-scrollbar-thumb { background: rgba(var(--text-color), 0.3); border-radius: 1rem; } ::-webkit-scrollbar-thumb:hover { background: rgba(var(--text-color), 0.5); } .interact:hover { background-color: rgba(var(--text-color), 0.06); } .send-update-button { opacity: 0; transition: opacity 0.3s; } .task-card:hover .send-update-button { opacity: 1; } .task-option { opacity: 0; } .task-list-item:hover .task-option, .task-option:focus-within { opacity: 1; } .apply-btn { opacity: 0; transition: opacity 0.3s; } .task:hover .apply-btn { opacity: 1; } } @media (any-hover: none) { .task-option, .apply-btn { opacity: 1; } }