Files
edu/css/learning_objectives.css
T

698 lines
18 KiB
CSS

@charset "UTF-8";
:root {
/* text - 텍스트 색상 */
--text-intro-base: #1b1810;
--text-base: #131313;
--text-revers: #fff;
--text-primary: #3c3321;
--text-secondary: #747474;
--text-accent: #ff5c00;
--text-myclass: #ffdf60;
--text-main-primary: #4a4040;
--text-main-secondary: #3a200d;
--text-title-accent: #f5651d;
--text-pick: #2b5045;
--text-keyword-base: #c4c2c0;
--text-keyword-primary: #fff;
--text-keyword-secondary: #999999;
--text-video-primary: #b6d5a7;
--text-video-secondary: #ddd;
--text-cate-primary: #edd8c2;
--text-cate-secondary: #b6d5a7;
--text-cate-tertiary: #e8cfe4;
--text-comment-primary: #fff;
--text-comment-secondary: #8d8d8d;
--text-learning-base: #8d8888;
--text-learning-primary: #ff5c00;
--text-learning-secondary: #008c49;
--text-card-category: #252525;
--text-card-title-active: #ff7d33;
--text-card-title-complete: #66ba92;
--text-card-author: #d1cfcf;
/* 배경 */
--bg-base: #e4ddcf;
--bg-primary: #ece3d2;
--bg-secondary:
radial-gradient(
93.89% 93.89% at 49.32% 6.11%,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.11) 86.06%,
rgba(134, 114, 77, 0.2) 88.94%
),
linear-gradient(180deg, #f9f6f0 0%, #e6ddcc 100%);
--bg-main-card: rgba(255, 255, 255, 0.6);
--bg-intro-mask: #1b1810;
--bg-intro: linear-gradient(
180deg,
#f9f5f2 0%,
#fff 18.77%,
#fff 41.8%,
#ece8e4 100%
);
--bg-main:
linear-gradient(
90deg,
#0f3025 0%,
#194335 38%,
#0b221b 87.51%,
#0d231c 100%
)
top / 100% 114px no-repeat,
#ece3d2;
--bg-video: #1b1b1b;
--bg-comment: #2a2a2a;
--bg-nav: linear-gradient(
90deg,
#0f3025 0%,
#194335 38%,
#0b221b 87.51%,
#0d231c 100%
);
--bg-nav-depth: #fff;
--bg-nav-alerts: #ff2200;
--bg-nav-alerts-hover: #188f6b;
--bg-cate-primary: #ded7cf;
--bg-cate-secondary: #d4decf;
--bg-cate-tertiary: #e8cfe4;
--bg-pick: linear-gradient(180deg, rgba(255, 255, 255, 0.8) 0%, #d5ede6 100%);
--bg-gauge-base: #b4b4b4;
--bg-gauge-primary: #ff5c00;
--bg-search: #e4dbc9;
--bg-keyword-base: rgba(230, 205, 177, 0.3);
--bg-keyword-primary: #e47703;
--bg-keyword-primary-hover: #e6cdb1;
--bg-keyword-secondary: #786c60;
--bg-keyword-secondary-hover: #dcd3c9;
--bg-lecture-state: linear-gradient(270deg, #00ab66 0%, #058bb0 100%);
--bg-lecture-progress-primary: rgba(3, 9, 7, 0.3);
--bg-lecture-progress-secondary: #07855c;
--bg-btn-base: #000;
--bg-btn-primary: #ff5c00;
--bg-btn-secondary: #1f1f1f;
--bg-card: rgba(255, 255, 255, 0.6);
--bg-card-hover-start: #ff6600;
--bg-card-hover-end: rgba(255, 132, 0, 0.7);
--bg-card-thumb-overlay: rgba(255, 255, 255, 0.3);
--bg-card-shadow: rgba(217, 202, 190, 0.5);
--bg-card-hover-shadow: rgba(198, 187, 177, 0.5);
--bg-card-shadow-inner: rgba(0, 0, 0, 1);
--bg-pick-shadow: rgba(166, 154, 97, 0.25);
--bg-modal: rgba(0, 0, 0, 0.8);
--bg-modal-content: #f6f1e9;
--bg-modal-close-hover: #e00400;
--bg-scrollbar-thumb: #D0D0D0;
--bg-scrollbar-thumb-dark: #383838;
--bg-scrollbar-track: #F3F3F3;
--bg-scrollbar-thumb-light: rgba(255, 255, 255, 0.2);
--bg-scrollbar-thumb-light-hover: rgba(255, 255, 255, 0.3);
--bg-scrollbar-track-light: rgba(255, 255, 255, 0.05);
--bg-video-gauge: #171717;
--bg-video-gauge-fill: #ff6c19;
--bg-video-gauge-border: rgba(0, 0, 0, 0.4);
--bg-learning-line: #c6c3c3;
--bg-learning-dot: #8d8888;
--bg-learning-active: rgba(255, 92, 0, 0.2);
--bg-learning-active-line: #ffad7f;
--bg-learning-active-dot: #ff5c00;
--bg-learning-complete: rgba(0, 140, 73, 0.2);
--bg-learning-complete-line: #7fc5a4;
--bg-learning-complete-dot: #008c49;
--bg-chapter-current: #146b51;
--bg-chapter-completed: #ba9a85;
--bg-card-base: #7e7e7e;
--bg-card-current: #1d9b75;
--bg-card-current-border: #1f9b76;
--bg-card-current-bg: #dbefe9;
--bg-card-completed: #ab3d00;
--bg-gauge-fill: #e25e00;
--bg-shadow: #8a7d64;
--bg-puzzle-family: #7ed29b;
--bg-puzzle-hanmac: #ffccca;
--bg-puzzle-value: #87a7d6;
--bg-puzzle-company: #b49a65;
--bg-piece-1: #1d375d;
--bg-piece-2: #662a0d;
--bg-piece-3: #5b4822;
--bg-piece-4: #2a5338;
--bg-circle-border: #a7790f;
--bg-circle-start: rgba(127, 47, 0, 0.1);
--bg-circle-end: rgba(167, 121, 15, 0.5);
--bg-circle-dot: rgba(221, 144, 0, 0.6);
--bg-circle-dot-hover: rgba(221, 144, 0, 0.8);
--bg-circle-dot-stroke: rgba(221, 144, 0, 0.2);
--bg-gradient-start: #ece3d2;
--bg-gradient-end: #fff;
--bg-learning-line-color: #edba8a;
--bg-modal-header: #f04400;
--bg-textarea: #2a2a2a;
--bg-textarea-placeholder: rgba(255, 255, 255, 0.5);
/* border */
--border-base: rgba(0, 0, 0, 0.05);
--border-primary: #fff;
--border-keyword-base: rgba(0, 0, 0, 0.05);
--border-keyword-primary: rgba(255, 255, 255, 0.4);
--border-keyword-primary-hover: rgba(0, 0, 0, 0.05);
--border-keyword-secondary: rgba(255, 255, 255, 0.4);
--border-keyword-secondary-hover: rgba(0, 0, 0, 0.1);
--border-pick: rgba(255, 255, 255, 0.5);
--border-video: rgba(255, 255, 255, 0.1);
--border-btn: rgba(255, 255, 255, 0.2);
--border-card: rgba(255, 255, 255, 0.8);
--border-modal: #888;
--border-comment-resizer: rgba(230, 227, 225, 0.1);
/* drop */
--text-shadow:
-1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
--text-stroke: drop-shadow(0 0 0.5px #000);
/* shadow */
--shadow-pagination: rgba(0, 0, 0, 0.4);
--shadow-modal: rgba(0, 0, 0, 0.25);
--shadow-card-drop: 0 4px 8px rgba(0, 0, 0, 0.2);
--shadow-card-drop-small: 0 4px 2px rgba(0, 0, 0, 0.05);
--shadow-gauge-inset: rgba(0, 0, 0, 0.3);
--shadow-comment: 0 8px 22px 22px rgba(0, 0, 0, 0.8);
}
/* 페이드 전환 */
.fade-out {
opacity: 0;
transition: opacity 0.4s ease;
}
.fade-in {
opacity: 1;
transition: opacity 0.4s ease;
}
@keyframes fadeInUp {
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes arrow-next {
0%, 100% {
right: 72px;
}
50% {
right: 50px;
}
}
@keyframes bounce {
0%, 100% {
transform: translateX(-50%) translateY(0);
}
50% {
transform: translateX(-50%) translateY(-12px);
}
}
@keyframes slideUp {
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes scroll-down {
0% {
transform-origin: 50% 100%;
transform: scaleY(1);
}
50% {
transform-origin: 50% 100%;
transform: scaleY(0);
}
50.1% {
transform-origin: 50% 0;
transform: scaleY(0);
}
to {
transform-origin: 50% 0;
transform: scaleY(1);
}
}
@keyframes pulse {
0%, 100% {
opacity: 0.2;
}
50% {
opacity: 0.4;
}
}
@keyframes borderFadeIn {
from {
opacity: 0;
transform: scale(0.95);
}
to {
opacity: 1;
transform: scale(1);
}
}
@keyframes borderPulse {
0%, 100% {
border-color: #fff;
box-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
}
50% {
border-color: #fff;
box-shadow: 0 0 30px rgba(255, 255, 255, 0.6);
}
}
.study .study-container {
display: flex;
gap: 40px;
margin: 0 auto;
padding: 40px 60px;
position: relative;
background: linear-gradient(180deg, #F9F6F0 0%, #E6DDCC 100%);
}
.study .study-container::before {
content: " ";
display: block;
position: absolute;
top: 0;
right: 0;
width: 30.8333%;
padding-top: 90.54054%;
background-image: url("/img/myclass/bg_lo.png");
background-size: contain;
background-position: 0 0;
background-repeat: no-repeat;
pointer-events: none;
z-index: 0;
mix-blend-mode: multiply;
}
.study .page-title {
margin-bottom: 72px;
}
.study .study-sidebar {
flex-shrink: 0;
width: 380px;
position: sticky;
top: 40px;
height: -moz-fit-content;
height: fit-content;
z-index: 1;
}
.study .study-sidebar .sidebar-content {
background: rgba(255, 255, 255, 0.8);
border-radius: 20px;
padding: 32px;
backdrop-filter: blur(10px);
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.study .study-sidebar .user-rank-info {
margin-bottom: 32px;
padding-bottom: 24px;
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.study .study-sidebar .user-rank-info .rank-header {
display: flex;
align-items: flex-start;
justify-content: center;
flex-direction: row;
gap: 12px;
}
.study .study-sidebar .user-rank-info .rank-header .ico-trophy {
background-image: url("/img/ico/ico_trophy.svg");
background-size: contain;
background-position: center;
background-repeat: no-repeat;
width: 32px;
aspect-ratio: 1/1;
flex-shrink: 0;
}
.study .study-sidebar .user-rank-info .rank-header .rank-text {
font-size: 16px;
line-height: 1.5;
color: var(--text-base);
}
.study .study-sidebar .user-rank-info .rank-header .rank-text strong {
font-weight: 700;
color: var(--text-primary);
}
.study .study-sidebar .user-rank-info .rank-header .rank-text em {
font-style: normal;
font-weight: 700;
color: var(--text-accent);
margin: 0 4px;
}
.study .study-sidebar .user-rank-info .rank-header .rank-text small {
font-size: 14px;
color: var(--text-secondary);
font-weight: 400;
}
.study .study-sidebar .quarter-selector {
margin-bottom: 32px;
}
.study .study-sidebar .quarter-selector .year-select {
margin-bottom: 12px;
}
.study .study-sidebar .quarter-selector .year-select .btn-year {
width: 100%;
padding: 12px 16px;
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 12px;
font-size: 16px;
font-weight: 600;
color: var(--text-primary);
cursor: pointer;
display: flex;
align-items: space-between;
justify-content: center;
flex-direction: row;
transition: all 0.2s ease;
}
.study .study-sidebar .quarter-selector .year-select .btn-year:hover {
background: #f5f5f5;
border-color: rgba(0, 0, 0, 0.2);
}
.study .study-sidebar .quarter-selector .year-select .btn-year .ico-arrow-down {
background-image: url("/img/ico/ico_arrow_down.svg");
background-size: contain;
background-position: center;
background-repeat: no-repeat;
width: 16px;
aspect-ratio: 1/1;
}
.study .study-sidebar .quarter-selector .quarter-select .btn-quarter {
width: 100%;
padding: 12px 16px;
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 12px;
font-size: 16px;
font-weight: 600;
color: var(--text-secondary);
cursor: pointer;
transition: all 0.2s ease;
}
.study .study-sidebar .quarter-selector .quarter-select .btn-quarter.active {
background: var(--text-accent);
color: #fff;
border-color: var(--text-accent);
}
.study .study-sidebar .quarter-selector .quarter-select .btn-quarter:hover:not(.active) {
background: #f5f5f5;
border-color: rgba(0, 0, 0, 0.2);
}
.study .study-sidebar .learning-goal .goal-title {
font-size: 22px;
font-weight: 700;
color: var(--text-primary);
margin-bottom: 12px;
line-height: 1.4;
}
.study .study-sidebar .learning-goal .goal-title .emoji {
font-style: normal;
margin-left: 4px;
}
.study .study-sidebar .learning-goal .goal-description {
font-size: 14px;
line-height: 1.6;
color: var(--text-secondary);
margin-bottom: 20px;
}
.study .study-sidebar .learning-goal .btn-change-goal {
width: 100%;
padding: 12px 20px;
background: var(--text-accent);
color: #fff;
border: none;
border-radius: 12px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
}
.study .study-sidebar .learning-goal .btn-change-goal:hover {
background: #e55000;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(255, 92, 0, 0.3);
}
.study .study-main {
flex: 1;
min-width: 0;
position: relative;
z-index: 1;
}
.study .study-main .study-header {
margin-bottom: 40px;
}
.study .study-main .study-header .study-title {
font-size: 32px;
font-weight: 700;
line-height: 1.4;
color: var(--text-primary);
margin-bottom: 16px;
}
.study .study-main .study-header .study-title em {
font-style: normal;
color: var(--text-accent);
}
.study .study-main .study-header .study-countdown {
font-size: 18px;
color: var(--text-secondary);
line-height: 1.5;
}
.study .study-main .study-header .study-countdown small {
font-size: 16px;
color: var(--text-base);
}
.study .study-main .study-modules {
margin-bottom: 40px;
}
.study .study-main .study-modules .modules-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px 24px;
}
.study .study-main .module-card {
position: relative;
background: #fff;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
cursor: pointer;
display: flex;
flex-direction: column;
height: 100%;
}
.study .study-main .module-card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
}
.study .study-main .module-card:hover .card-thumbnail img {
transform: scale(1.05);
}
.study .study-main .module-card.card-color-teal {
border-top: 4px solid #4db6ac;
}
.study .study-main .module-card.card-color-pink {
border-top: 4px solid #f48fb1;
}
.study .study-main .module-card.card-color-blue {
border-top: 4px solid #81d4fa;
}
.study .study-main .module-card.card-color-yellow {
border-top: 4px solid #ffeb3b;
}
.study .study-main .module-card.card-color-green {
border-top: 4px solid #a5d6a7;
}
.study .study-main .module-card.card-color-beige {
border-top: 4px solid #d7ccc8;
}
.study .study-main .module-card .card-thumbnail {
width: 100%;
aspect-ratio: 16/9;
overflow: hidden;
background: #f5f5f5;
}
.study .study-main .module-card .card-thumbnail img {
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
transition: transform 0.3s ease;
}
.study .study-main .module-card .card-content {
padding: 20px 24px;
flex: 1;
display: flex;
flex-direction: column;
}
.study .study-main .module-card .card-content .card-category {
display: inline-block;
font-size: 12px;
font-weight: 600;
color: var(--text-secondary);
margin-bottom: 8px;
padding: 4px 12px;
background: rgba(0, 0, 0, 0.04);
border-radius: 12px;
}
.study .study-main .module-card .card-content .card-title {
font-size: 20px;
font-weight: 700;
line-height: 1.4;
color: var(--text-primary);
margin-bottom: 8px;
}
.study .study-main .module-card .card-content .card-subtitle {
font-size: 14px;
line-height: 1.5;
color: var(--text-base);
margin-bottom: 8px;
font-weight: 500;
}
.study .study-main .module-card .card-content .card-description {
font-size: 13px;
line-height: 1.5;
color: var(--text-secondary);
margin-bottom: 16px;
}
.study .study-main .module-card .card-content .card-check {
margin-top: auto;
padding-top: 16px;
border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.study .study-main .module-card .card-content .card-check .check-title {
display: block;
font-size: 12px;
font-weight: 700;
color: var(--text-accent);
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.study .study-main .module-card .card-content .card-check .check-list {
list-style: none;
padding: 0;
margin: 0;
}
.study .study-main .module-card .card-content .card-check .check-list li {
position: relative;
padding-left: 20px;
font-size: 12px;
line-height: 1.6;
color: var(--text-secondary);
margin-bottom: 6px;
}
.study .study-main .module-card .card-content .card-check .check-list li:last-child {
margin-bottom: 0;
}
.study .study-main .module-card .card-content .card-check .check-list li::before {
content: "•";
position: absolute;
left: 0;
color: var(--text-accent);
font-weight: 700;
font-size: 16px;
line-height: 1.2;
}
.study .study-main .study-tags {
display: flex;
align-items: flex-start;
justify-content: center;
flex-direction: row;
gap: 16px;
padding: 20px 0;
border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.study .study-main .study-tags .tag-quarter {
font-size: 18px;
font-weight: 700;
color: var(--text-primary);
padding: 8px 16px;
background: rgba(255, 92, 0, 0.1);
border-radius: 12px;
}
.study .study-main .study-tags .tag-list {
display: flex;
align-items: flex-start;
justify-content: center;
flex-direction: row;
gap: 12px;
flex-wrap: wrap;
}
.study .study-main .study-tags .tag-list .tag-item {
padding: 8px 20px;
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 20px;
font-size: 14px;
font-weight: 500;
color: var(--text-secondary);
cursor: pointer;
transition: all 0.2s ease;
}
.study .study-main .study-tags .tag-list .tag-item:hover {
background: #f5f5f5;
border-color: rgba(0, 0, 0, 0.2);
}
.study .study-main .study-tags .tag-list .tag-item.active {
background: var(--text-accent);
color: #fff;
border-color: var(--text-accent);
}
@media (max-width: 1400px) {
.study .study-container {
padding: 32px 40px;
gap: 32px;
}
.study .study-sidebar {
width: 320px;
}
.study .study-main .modules-grid {
gap: 24px 20px;
}
}
@media (max-width: 1024px) {
.study .study-container {
flex-direction: column;
padding: 24px 32px;
}
.study .study-sidebar {
width: 100%;
position: relative;
top: 0;
}
.study .study-sidebar .sidebar-content {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.study .study-sidebar .user-rank-info,
.study .study-sidebar .quarter-selector,
.study .study-sidebar .learning-goal {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
.study .study-main .modules-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.study .study-container {
padding: 20px 24px;
}
.study .study-sidebar .sidebar-content {
grid-template-columns: 1fr;
gap: 20px;
}
.study .study-main .study-header .study-title {
font-size: 24px;
}
.study .study-main .study-header .study-countdown {
font-size: 16px;
}
.study .study-main .modules-grid {
grid-template-columns: 1fr;
gap: 20px;
}
}