@charset "utf-8";
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

:root {
    /* Size */
    --spem-txt: 1.7rem;
    --em-txt: 1.5rem;
    --mid-txt: 1.3rem;
    --em-body-txt: 1.2rem;
    --body-txt: 1rem;

    /* Color */
    --spem1-color: #e41937;
    --spem2-color: #1f386b;
    --em-color: #4CB944;
    --mid-color: #2e2e2e;
    --em-body-color: #2e2e2e;
    --body-color: #2e2e2e;
}

body {
    font-family: 'Pretendard Variable', Pretendard !important;
    font-size: 16px;
}

.spem-txt {
    font-size: var(--spem-txt);
    letter-spacing: 0rem;
}

.em-txt {
    font-size: var(--em-txt);
    letter-spacing: 0rem;
}

.em-body-txt {
    font-size: var(--em-body-txt);
    line-height: 1.7rem;
    letter-spacing: 0rem;
    font-weight: 300;
}

.mid-txt {
    font-size: var(--mid-txt);
    letter-spacing: 0rem;
    font-weight: 300;
    line-height: 1.7rem;
}

.body-txt {
    font-size: var(--body-txt);
    line-height: 1.4rem;
    letter-spacing: 0rem;
    font-weight: 300;
}

ul.mid-txt {
    margin: 0;
}

h3.em-txt {
    margin-top: 0;
}

.mid-txt li:before {
    content: "\2713 ";
    font-size: .5em;
    font-weight: 700;
    margin-left: 0;
    margin-right: 5px;
    padding: .2em .45em .2em .45em;
    position: relative;
    color: rgba(23, 23, 23, 1.00);
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    top: -3px;
}

.bd300 {
    font-weight: 300;
}

.bd400 {
    font-weight: 400;
}

.bd500 {
    font-weight: 500;
}

.bd600 {
    font-weight: 600;
}

.st-box h4 {
    margin-bottom: 0 !important;
    color: #8acdea !important;
}

.st-box-video h4 {
    margin-bottom: 0 !important;
    color: #0A2239 !important;
}

ul {
    margin: 0;
}

ul strong {
    font-weight: 500;
    color: #40c9a2;
}

.top-cnt {
    margin-top: 120px !important;
}

.rev_slider_wrapper {
    height: 600px !important;
    font-weight: 800;
}

/* 과정소개 */
.curr .container {
    width: 90%;
    max-width: 1400px;
    margin: auto;
    padding: 40px 0;
}

.curr .course-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: space-between;
}

.curr .course-item {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    flex: 1 1 calc(25% - 30px);
    box-sizing: border-box;
    position: relative;
}

.curr .course-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.curr .course-header {
    background: #1f386b;
    color: #fff;
    padding: 5px 5px;
    text-align: center;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.curr .course-header-video {
    background: #3993DD;
    color: #fff;
    padding: 5px 5px;
    text-align: center;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.curr .course-icon {
    font-size: var(--spem-txt);
}

.curr .course-title {
    font-size: var(--mid-txt);
    font-weight: 500;
}

.curr .course-content {
    padding: 10px 25px;
}

.curr .course-description {
    font-size: var(--em-body-txt);
    line-height: 1.7rem;
    letter-spacing: 0rem;
    font-weight: 400;
    color: #2e2e2e;
    padding-bottom: 10px;
}

.course-description ul {
    list-style-type: disc;
    padding-left: 20px;
}

.course-description ul li {
    margin-bottom: 10px;
}

.curr .course-programs {
    font-size: 1.1em;
    color: #1f386b;
    border-top: 1px solid #eee;
    padding-top: 15px;
    font-weight: 600;
}

.fa-laptop-code:before {
    content: "\f5fc";
    margin-right: 5px;
}

.course-content .fa-circle {
    color: #686868;
    margin-right: 7px;
    font-size: 8px;
    vertical-align: middle;
}

.curr .course-item::after {
    content: '';
    position: absolute;
    right: -17px;
    top: 50%;
    transform: translateY(-50%);
    height: 0;
    width: 0;
    border: 8px solid transparent;
    border-right-width: 0;
    border-left-color: #454545;
}

.course-item:last-child::after {
    content: none;
}

/* 반응형 디자인 */
@media (max-width: 768px) {
    .curr .course-item {
        flex: 1 1 100%;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .curr .course-item {
        flex: 1 1 calc(50% - 30px);
    }
}

/* 500px 이하에서 삼각형을 아래로 배치 */
@media (max-width: 500px) {
    .curr .course-item::after {
        right: 50%;
        bottom: -17px;
        top: auto;
        left: 50%;
        transform: translateX(-50%);
        border-style: solid;
        border-width: 10px 8px 0 8px;
        border-color: #454545 transparent transparent transparent;
    }
}

/* 교수소개 */
.profile-container {
    max-width: 1000px;
    margin: auto;
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    display: flex;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.profile-container .profile {
    background: #1f386b;
    color: #fff;
    padding: 100px 30px 30px;
    text-align: center;
    flex: 1;
}

.profile-container .profile2 {
    background: #f5b841 !important;
    color: #fff;
}

.profile-container .profile img {
    width: 220px;
    height: 220px;
    border-radius: 50%;
    margin-bottom: 20px;
    border: 3px solid #fff;
    background-color: #fff;
    text-align: center;
}

.profile-container .profile h2 {
    margin: 0;
    font-size: var(--em-txt);
    color: white;
    font-weight: 400;
}

.profile-container .profile p {
    margin: 0;
    font-size: 1em;
    color: #eeeeee;
}

.profile-container .content {
    flex: 2;
    padding: 30px;
}

.profile-container .content h2 {
    font-size: var(--spem-txt);
    margin-bottom: 20px;
    color: var(--body-color);
}

.profile-container .timeline {
    position: relative;
    padding-left: 22px;
    margin-top: 20px;
}

.profile-container .timeline:before {
    content: '';
    position: absolute;
    left: 29px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(31, 56, 107, 0.5);
}

.profile-container .timeline-item {
    margin-bottom: 7px;
    position: relative;
    padding-left: 30px; /* 여백 추가 */
}

.profile-container .timeline-item:before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px; /* 원의 세로 위치 조정 */
    width: 12px;
    height: 12px;
    background: #1f386b;
    border: 3px solid #fff;
    border-radius: 50%;
}

.profile-container .timeline-item h3 {
    font-size: var(--em-body-txt);
    margin: 0;
    color: var(--body-color);
    font-weight: 500;
}

.profile-container .timeline-item p {
    margin: 5px 0;
    font-size: 0.9em;
    color: #777;
}

.profile-container .social-icon {
    position: relative;
    text-align: center;
    margin: 0 auto;
    display: flex;
    gap: 7px;
    width: fit-content;
}

.profile-container .social-icon a {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.85);
}

/* 강점 상세 설명 */
   .thren-container {
            width: 90%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
        }

        .cont1 {
            background-color: #fff;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            margin-bottom: 20px;
            padding: 20px;
            display: flex;
            flex-direction: column;
        }

        .cont1 h2 {
/*            color: #3c3c3c;*/
            color: #4cb944;
            font-size: 24px;
            margin-bottom: 10px;
/*            text-shadow: 1px 1px 0 rgba(0,0,0, .5);*/
            border: 700;
        }

        .cont1 p {
            line-height: 1.6;
            margin-bottom: 10px;
			font-size: 1.2rem;
        }

        .cont1 img {
            max-width: 100%;
            border-radius: 10px;
            margin-bottom: 20px;
        }

        .thren-flex-container {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            justify-content: space-between;
        }

        .thren-item {
            background-color: #f9f9f9;
            padding: 20px;
            border-radius: 10px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            flex: 1 1 45%;
            text-align: center;
        }

        /* 반응형 디자인 */
        @media (max-width: 768px) {
            .thren-item {
                flex: 1 1 100%;
            }
        }



/*강점기술 상단 부분*/
.tren{background: #f0f4f8;}
 .tren-gradient-bg {
            background: linear-gradient(135deg, #3498db, #01559c);
            color: #fff !important;
            padding: 10px 20px;
            text-align: center;
	 		padding: 30px 10px 10px;
        }

        .tren1-container {
/*
            max-width: 768px;
            margin: 0 auto;
            padding: 20px;
			*/
			width: 90%;
			max-width: 1200px;
			margin: 0 auto;
			padding: 20px;

        }

        .tren-section {
            background-color: #fff;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            margin-bottom: 20px;
            padding: 20px;
        }
.tren-intro {background: url("/dx/images/java4.jpg");background-position: right bottom;background-size: 65%;background-repeat:  no-repeat;border: 1px solid rgba(0,0,0, .3);}
.tren-intro2 {background: url("/dx/images/java5.jpg");background-position: right bottom;background-size: 40%;background-repeat:  no-repeat;}

        .tren-section h3 {
            font-size: 1.75em;
            font-weight: 700;
            color: white;
            margin-bottom: 15px;
        }

        .tren-section h4 {
            font-size: 1.25em;
            font-weight: 600;
            color: #333;
            margin-bottom: 10px;
        }

        .tren-section p, .section ul {
            font-size: 1.2rem;
            color: #1c1c1c;
            line-height: 1.6;
        }
.blue-txt p{color: white;}

        .tren-section ul {
            list-style-type: disc;
            padding-left: 20px;
        }

        .tren-border {
            border-left: 4px solid;
            padding-left: 15px;
            margin-bottom: 30px;
        }

        .border-blue { border-color: #3498db; }
        .border-green { border-color: #2ecc71; }
        .border-yellow { border-color: #f1c40f; }
        .border-red { border-color: #e74c3c; }

        .highlight-blue { background-color: #1f386b; }
        .highlight-green { background-color: #40c9a2; }
		.highlight-green2{background-color:#4cb944}
.txt-shadow{text-shadow: 1px 1px 0 rgba(0,0,0, .7) }
.text-theme-color-2-2 {color: #ff3b58}

.tren-gradient-bg h2{margin-top: 0;}
.tren-gradient-bg h1{margin-bottom: 0;} 
.tren-gradient-bg h1, .tren-gradient-bg h2{color: white;text-shadow: 1px 1px 0 rgba(0,0,0, .6)}
.tren-section li{font-size: 1.2rem;color: #333;}
.start_back{background: url("/dx/images/java3.jpg");background-size: cover;}
.start_back h2, .start_back p{color: white;}
.light-blue {
	border-bottom: 3px solid #b4e7f8;
	box-shadow: inset 0 -5px 0 #b4e7f8;
}
.light-yellow {
	border-bottom: 3px solid #fff116;
	box-shadow: inset 0 -5px 0 #fff116;
}
.thren-item h3{color: rgba(31, 56, 107, 1);}




/*배우는 프로그램 정리 표 시작*/
.table-container {
    max-width: 1200px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
}

.table-hd {
    text-align: center;
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 20px;
    color: #1f386b;
}

.table-sect {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
    flex-wrap: wrap; /* 추가 */
}

.table-sect:last-child {
    border-bottom: none;
}

.table-sect h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
    color: rgba(31, 56, 107, 1);
}

.table-sect p {
    margin: 0;
    color: #666;
}

.table-txt {
    flex: 1;
    margin-right: 20px;
    min-width: 250px; 
}

.table-icon {
    display: flex;
    gap: 15px;
    flex: 1;
    justify-content: flex-end;
    flex-wrap: wrap; 
    min-width: 250px; 
}

.table-icon img {
    max-height: 40px;
    width: auto;
    max-width: 100%; 
}

.table-co {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 20px;
}

.table-co-logo {
    width: 18%;
    margin-bottom: 20px;
    text-align: center;
}

.table-co-logo img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 768px) {
    .table-sect {
        flex-direction: column;
        text-align: center;
    }

    .table-txt {
        margin-right: 0;
        margin-bottom: 10px;
    }

    .table-icon {
        justify-content: center;
        margin-top: 10px;
    }

    .table-icon img {
        max-height: 8vw; /* 아이콘 크기 */
        width: auto;
        max-width: 100%;
    }

    .table-co-logo {
/*
        width: 45%;
        margin-bottom: 20px;
*/
		max-height: 17vw; 
		max-width: 100%; 
    }
}


/*배우는 프로그램 정리 표 끝 */


/* aws 강점 시작 */

 .aws-title {
            font-size: 1.5rem;
            font-weight: bold;
            color: #1f386b;
            text-align: center;
            margin-bottom: 20px;
            border-bottom: 2px solid #1f386b;
            padding-bottom: 10px;
        }

        .aws-content-box {
            margin: 20px 0;
            padding: 20px;
            background: linear-gradient(135deg, #3498db, #01559c);
            border-radius: 8px;
            color: #ffffff;
            display: flex;
            align-items: center;
            gap: 20px;
        }

        .aws-content-box .aws-icon-box {
            flex-shrink: 0;
            width: 60px;
            height: 60px;
            background-color: rgba(255, 255, 255, 0.2);
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 50%;
        }

        .aws-content-box .aws-icon-box .icon {
            font-size: 2em;
            color: #ffeb3b;
        }

        .aws-content-box .aws-txt-cont {
            flex-grow: 1;
        }

        .aws-content-box .aws-txt-cont h3 {
            font-size: 1.5em;
            margin-bottom: 10px;
            color: white;
            text-shadow: 1px 1px 0 rgba(0,0,0, .5);
        }

        .aws-content-box .aws-txt-cont p {
            font-size: 1em;
            margin-bottom: 15px;
            line-height: 1.5;
        }

        .aws-content-box .aws-txt-cont ul {
            list-style-type: none;
            padding-left: 20px; /* 왼쪽 여백을 추가 */
        }

        .aws-content-box .aws-txt-cont ul li {
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            font-weight: 500;
             text-shadow: 1px 1px 0 rgba(0,0,0, .5);
        }

        .aws-content-box .aws-txt-cont ul li .list-icon {
            margin-right: 10px;
            color: #ffeb3b;
        }

        @media (max-width: 768px) {
            .aws-content-box {
                flex-direction: column;
                align-items: flex-start;
                gap: 10px;
            }

            .aws-content-box .aws-icon-box {
                width: 50px;
                height: 50px;
            }

            .aws-content-box .aws-txt-cont h3 {
                font-size: 1.3em;
            }

            .aws-content-box .aws-txt-cont p, .aws-content-box .aws-txt-cont ul {
                font-size: 0.9em;
            }

            .aws-cont {
                padding: 15px;
            }
        }

        @media (max-width: 480px) {
            .aws-content-box .aws-txt-cont h3 {
                font-size: 22px;
            }

            .aws-content-box .aws-txt-cont p, .aws-content-box .aws-txt-cont ul {
                font-size: 0.8em;
            }
            .list-icon {
            margin-left: 0 !important;
            }
            .aws-txt-cont ul{padding: 0 !important;}
        }

/* aws 강점 끝 */







/* 반응형 스타일링  */

@media (max-width: 768px) {
 

    .profile-container {
        flex-direction: column;
    }

    .profile-container .profile {
        padding: 50px;
    }

    .profile-container .profile img {
        width: 200px;
        height: 200px;
        margin-bottom: 10px;
    }

    .profile-container .content {
        padding: 20px;
    }

    .profile-container .timeline {
        padding-left: 20px;
    }

    .profile-container .timeline:before {
        left: 28px;
    }
}


@media (max-width: 500px) {
    .profile-container .profile {
        padding: 40px 10px 30px !important;
    }

    .profile-container .profile-cont {
        width: fit-content;
        display: flex;
        gap: 10px;
        justify-self: center;
        align-items: center;
        margin: auto;
    }

    .profile-container .profile img {
        width: 170px;
        height: 170px;
    }

    .profile-container .content {
        padding: 15px;
    }

    .profile-container .timeline {
        padding-left: 0;
    }

    .profile-container .timeline:before {
        left: 5px;
    }

    .profile-container .timeline-item {
        margin-bottom: 5px;
    }

    .profile-container .timeline-item h3 {
        font-size: 1.2rem;
        margin-left: -10px;
    }

    .rev_slider_wrapper {
        height: 300px !important;
    }

    .em-txt {
        font-size: 1.5rem;
    }

    :root {
        --em-body-txt: 1.4rem;
    }

    .curr .course-title {
        font-weight: 600;
    }

    .curr .course-programs {
        font-size: 1.2em;
    }
    
    .container-fluid{padding: 0;}
    .tren1-container, .thren-container {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0;
    }
    .cont1 p{
        font-size: 1.5rem;
    }
    
    .aws-txt-cont{
        font-size: 1.7rem;
    }
   .tren-section h3{font-size: 22px;}
    .cont1 h2 {font-size: 22px;}
    
}


/*수상내용 이미지 시작  */
.aw-pc {
    display: flex;justify-content: center; 
}

.aw-mo {
    display: none; 
}

@media screen and (max-width: 768px) {
    .aw-pc {
        display: none; 
    }

    .aw-mo {
        display: block; 
        max-width: 100%; 
        height: auto;    
    }
}

/*수상내용 이미지 끝   */


/*수상 언론 보도 시작 */
  .news-box {
      background-color: #f4f4f4;
      border: 1px solid #B9B9B9;
      border-radius: 10px;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      width: 80%;
      max-width: 800px;
      text-align: center;
      padding: 20px 50px;
      margin: auto;
      margin-top: 50px;
    }

    .news-box h1 {
      font-size: 24px;
      color: #1e3a8a;
      margin-bottom: 20px;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: nowrap; 
      gap: 10px;
      white-space: nowrap; 
    }

    .news-box .main-img {
      width: 60%;
      height: auto;
      border-radius: 10px;
      transition: transform 0.3s, box-shadow 0.3s;
      cursor: pointer;
      margin: auto;
       
    }

    .news-box .main-img:hover {
      transform: scale(1.05);
      box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
     filter: saturate(1.2);
    }

    .news-box a {
      text-decoration: none;
      color: inherit;
    }

    .news-box p {
      margin-top: 10px;
      color: darkred;
      font-size: 18px;
    }

    .news-box .logo-box {
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #1EC800;
      color: white;
      font-size: 24px;
      font-family: Arial, sans-serif;
      font-weight: bold;
      width: 120px;
      height: 40px;
      border-radius: 5px;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      white-space: nowrap; 
    }

    .news-box .logo-box span {
      font-size: 18px;
      margin-left: 5px;
    }

    /* 네이버 뉴스 텍스트 색상 */
    .news-box .txt-st {
      font-weight: 700;
      color: #28aa00; 
    }

    /* 반응형 스타일 */
    @media(max-width: 775px) {
      .news-box  {width: 100%;padding: 10px;flex-wrap: wrap;}
        .news-box .main-img{width: 80%}
      .news-box h1 {
        flex-direction: column; 
        text-align: center;
          gap: 0;
      }
    }
/*수상 언론 보도 끝  */

/*로고 숨김 */
#all_nav #nav #small_logo {
    display: none !important;
}
