*{margin:0; padding:0; box-sizing:border-box;
}

html,body{height:100%; font-family:"맑은 고딕";
}

body{display:flex; flex-direction:column;
}

iframe{width:100%; height:100%; border:none; 
}



.menu-body{padding:10px; font-family:"맑은 고딕"; font-size:15px;
}

.tree{list-style:none; padding-left:5px; margin-top: 10px;
}

.chapter{list-style:none;
}
.chapter-title{color:blue; font-size:16px; font-weight:bold;
}
.lesson{font-size:14px; padding-left:3px;
}


.part{list-style:none;
}
.part ul{list-style:none; padding-left:20px;
}


.folder{cursor:pointer; font-weight:bold; color:#0040aa; user-select:none;
}

.folder:hover{color:red;
}

.hhide{display:none;
}

.tree a{color:#000; text-decoration:none;
}

.tree a:hover{color:red;
}

.active{background:#dbe8ff; font-weight:bold; padding:2px 4px; border-radius:4px;
}


.imagePoster{
    border:2px solid #8b7d6b;
    padding:5px;
    background:#fff;
}

.imageCenter{
    width:100%;
}

.imageCenter img{
    text-align: center;
    display:block;
    margin:0 auto;
}

#header{height:60px; background:#31c9e4; color:white; font-size:28px;
    font-weight:bold; display:flex; align-items:center; padding-left:20px;
}
#header a{color:white; text-decoration:none;
}

#container{flex:1; display:flex; 
}

#menu{width:320px; border-right:1px solid #cfcfcf; 
}

#content{flex:1; margin-left:50px; margin-top:20px;
}

#footer{height:35px; background:#eeeeee; display:flex; align-items:center;
    justify-content:center; font-size:13px;
}


/* ===== 메뉴 ===== */
.ps-menu-wrap{

    width:100%;

    height:80px;

    border-bottom:1px solid #ddd;

    background:white;

}

.ps-menu{

    width:1200px;

    height:80px;

    margin:auto;

    display:flex;

    align-items:center;

}

.ps-logo{

    font-size:40px;

    font-weight:bold;

    color:#1d39c4;

    margin-right:auto;

}

.ps-menu-item{

    margin-left:50px;

}

.ps-menu-item a{

    text-decoration:none;

    color:#222;

    font-size:22px;

    font-weight:bold;

}

.ps-menu-item a:hover{
    color:#1d39c4;

}



/* ===== 본문 ===== */
/* ===== min-height:700px;  ===== */
.ps-body{
    width:1200px; margin:auto; padding-top:40px;
}

.init-body{
	text-align:center;
}


/* ===== 소개 ===== */

.intro-header{
    text-align:center;
}

.intro-philosophy{
    text-align:center;
}

.intro-subtitle{
    font-size:32px; font-weight:bold; color:#1d39c4;
}

.intro-desc{
    font-size:20px; line-height:1.8; color:#666; margin-top:30px;  text-align:left;
}

.intro-section{
    margin-top:20px;
}

.intro-section h2{
    color:#1d39c4;
    border-left:8px solid #1d39c4;
    padding-left:15px; text-align:left
}

.intro-tech{

    display:flex;

    flex-wrap:wrap;

    gap:20px;

}

.intro-card{width:280px; border:1px solid #ddd; border-radius:15px; padding:25px;
    box-shadow:0 3px 10px rgba(0,0,0,.08);
}

.intro-card a{text-decoration: none;
}
.intro-card h3{

    color:#1d39c4;

}



/* ===== footer ===== */
.ps-footer{
    background:black;
    color:white;
    text-align:center;
    padding:20px;
    line-height:1.8;
}

/* ===== contact  ===== */

.req-table{
    margin:auto; text-align:left;
}

.req-table td{
    margin:auto; text-align:left;
}

.req-title{
    width:200px; font-size:18px; font-weight:bold; color:#1d39c4; text-align:left;
}


.req-table input:not(.req-button){
    width:500px; height:40px; padding-left:10px; font-size:18px; text-align:left;
}

.req-table input[type="date"]{
    width:280px; height:50px; font-size:18px;
}

.req-table input[type="date"]::-webkit-calendar-picker-indicator{
    width:36px; height:36px;
}

.req-table select{
    width:250px; height:45px; font-size:18px; }


.req-table textarea{
    width:700px; padding:10px; font-size:18px; resize:vertical;
}

.req-button{    
    margin:20px auto;
    width:150px; height:45px; 
    padding:12px 40px; line-height:30px;
    font-size:18px;
    font-weight:bold;
    color:white;
    background:#1d39c4;
    border:none;
    border-radius:8px;
    cursor:pointer;
    text-align:center;
}

.req-table tr:last-child td{
    text-align:center;
}
