@charset "utf-8";
@import url("http://fonts.googleapis.com/earlyaccess/nanumgothic.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap");

a {
  text-decoration: none;
}

/* 수강신청-따라다니는 슬라이드css */
#scrollRight {
  position: absolute;
  top: 500px;
  right: 0px;
}
#scrollRight.fixed {
  position: fixed;
  top: 200px;
}
.cursor {
  cursor: pointer;
}
.leftMenu {
  padding-top: 28px;
  position: absolute;
}

/*수강신청-공통css*/
.enrolment #container {
  width: 100%;
  height: 100%;
  text-align: center;
}
#leftMenuWrap {
  width: 980px;
  margin: 0 auto;
  top: 20px;
  left: 300px;
}
.enrolment #mainWrap {
  width: 980px;
  padding-top: 28px;
  padding-bottom: 53px;
}
.enrolment #mainWrap .leftMenu {
  float: left;
  width: 190px;
  text-align: left;
}
.enrolment #mainWrap #submain {
  padding-top: 52px;
}
/*수강신청-공통 레프트메뉴css
.enrolment #container #step4{padding-bottom:55px; padding-top:77px; background:url(../image/guaranteedPassMembership_introduce04_background.png);}
.enrolment #container #step5{background:; padding-top:53px; padding-bottom:27px;}*/
/*백그라운드  */

.enrolment #container .content {
  width: 980px;
  margin: 0 auto;
}
.enrolment .nameList {
  width: 980px;
  margin: 0 auto;
  padding: 20px 0;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000;
}
.listWrap {
  padding-top: 30px;
  padding-bottom: 11px;
}
.enrolment .enrolment_professor {
  float: left;
}
.enrolment .enrolment_professor_list {
  float: left;
  padding: 10px;
  text-align: center;
}
.enrolment .enrolment_professor_list dt {
  width: 60px;
  height: 30px;
  color: #434343;
  background: #f2b804;
  font-wieght: bold;
  font-size: 18px;
}
.enrolment .enrolment_professor_list dt h4 {
  width: 60px;
  height: 30px;
  text-align: center;
  vertical-align: middle;
  margin-top: 6px;
}
.enrolment .enrolment_professor_list dd {
  padding-left: 10px;
}
.enrolment .enrolment_professor_list dd a {
  color: #434343;
  vertical-align: middle;
  font-size: 14px;
}
.clearFix:after {
  content: "";
  display: block;
  clear: both;
}

/*컨테이너*/
#free #container {
  width: 100%;
  height: 100%;
  text-align: center;
}
/* 합격보장회원 백그라운드 
#free #subTitleBg{background:url(../image/step0bg.png); background-size:100% 100%; padding-top:0px;  padding-bottom:0px; }*/
#free #mainWrap {
  width: 980px;
  padding-top: 0px;
  padding-bottom: 0px;
}
#free #container #mainWrap .leftMenu {
  float: left;
  width: 190px;
  text-align: left;
}

/*레프트메뉴*/
.leftMenu dt {
  font-size: 29px;
  font-family: "Nanum Gothic", sans-serif;
  color: #5f5f5f;
  font-weight: 500;
}
.leftMenu dt {
  padding-bottom: 12px;
  border-bottom: 2px solid #000;
}
.leftMenu dd {
  padding: 12px 0;
  padding-left: 29px;
  border-bottom: 1px solid #7f7f7f;
  position: relative;
}
.leftMenu dd a {
  font-size: 15px;
  color: #1a2039;
}
.leftMenu dd p {
  position: absolute;
  left: 0;
  top: 17px;
  float: left;
  width: 16px;
  height: 3px;
  background: #ccc;
}
.leftMenu dd:hover p {
  background: #b3221f;
}
.leftMenu dd:hover,
.leftMenu dd:focus {
  font-weight: bold;
}
#free #container .subMain {
  float: right;
  padding-left: 10px;
}
#free #container #mainWrap {
  display: inline-block;
}

#free #container #stepWrap {
  width: 100%;
}
/* #free #container #step1{background:#fff; background-size:100% 100%; padding-top:56px; padding-bottom:68px; }*/
/* guaranteedPassMembership_introduce01 백그라운드 */

#free #container #step1 {
  background: url(../image/step1bg.png);
  background-size: 100% 100%;
  padding-top: 0px;
  padding-bottom: 0px;
}
#free #container #step2 {
  background: #fff;
  padding-top: 0px;
  padding-bottom: 0px;
}

#Map_00 {
  width: 1400px;
  margin: 0 auto;
  background: #fff;
  padding-top: 0px;
  padding-bottom: 0px;
}
#Map_00 .Map {
  width: 1400px;
  height: 450px;
  margin: 0 auto;
  margin-bottom: 200px;
}

#Last {
  width: 100%;
  height: 521px;
  background: #ebf0f3;
}

.Last_1 {
  float: left;
  width: 50%;
  height: 100%;
  background: #f8e70b;
}
.Last_1 img {
  float: right;
}
.Last_2 {
  float: left;
  width: 600px;
  height: 100%;
  background: #ebf0f3;
}

/* 교실 사진 공통 */
#free #container #CLASS_ {
  background: url(../../main/image/Class_bg.png);
  padding-top: 0px;
  padding-bottom: 0px;
}

/* 맨하단 오시는 길 공통 */
#free #container #Load_ {
  background: #fff;
  padding-top: 0px;
  padding-bottom: 0px;
}

/* 수강신청마지막백그라운드 */
#free #container .content {
  width: 1400px;
  margin: 0 auto;
}

#free #container .content #guaranteedPassMembershipIntroduce,
#free #container .content #bannerSkin2 {
  cursor: pointer;
}
#free #container .content #banner1,
#free #container .content #banner2 {
  display: none;
  padding-top: 20px;
}

#free #container {
  display: inline-block;
}

/* Basic Resets and Body Styling */


.container_wrap {
    width: 1200px; /* Adjust as needed */
    margin: 0 auto;
    text-align: center;
}

/* Header Styling */
.header {
    margin-bottom: 40px;
}

.header h1 {
    font-size: 2.5em; /* Adjust font size for the main title */
    color: #333;
    margin-bottom: 10px;
    float: center;
}

.header .subtitle {
    font-size: 0.7em; /* Smaller font size for the subtitle */
    color: #555;
    font-weight: normal;
}

.header .description {
    font-size: 1.2em;
    color: #777;
    margin-top: 10px;
}

/* University Grid Styling */
.university-grid {
    display: grid;
    /*grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); /* Responsive grid columns */

    grid-template-columns: repeat(5, 1fr); /* Or specify pixel widths: repeat(4, 250px) */

    gap: 16px; /* Space between grid items */
    
    justify-content: center; /* Center the grid items if there aren't enough to fill a row */
    width: 100%;
}

.university-box {
    display: flex;
    flex-direction: column; /* Stack image and text vertically */
    align-items: center; /* Center content horizontally */
    justify-content: center; /* Center content vertically */
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    text-decoration: none; /* Remove underline from links */
    color: #333; /* Default text color */
    font-weight: 700; /* Bold university names */
    font-size: 1.1em;
    transition: all 0.3s ease; /* Smooth transition for hover effects */
    /* min-height: 120px; /* Ensure a consistent height for all boxes */
    min-width: 120px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); /* Subtle shadow */
    box-sizing: border-box; /* Crucial: ensures padding and border are included in the overall size */

}

.university-box img {
    width: 72px; /* Adjust logo size */
    height: 72px; /* Adjust logo size */
    object-fit: contain; /* Ensure the image fits within its bounds */
    margin-bottom: 10px;
}

/* Hover Effect */
.university-box:hover {
    border-color: #2495FF; /* Change border color on hover */
    background-color: #E8F1F8; /* Added for your desired box background color */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Enhance shadow on hover */
    transform: translateY(-3px); /* Slightly lift the box */
    cursor: pointer; /* Indicate it's clickable */
}

.university-box:active {
    transform: translateY(0); /* Reset transform on click */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); /* Return to original shadow on click */
}

.body {
    margin: 0 auto;
    width:100%;
    font-family: 'Noto Sans KR', sans-serif;
    display: flex;
    justify-content: center;
    align-items: flex-start; /* Align content to the top */
    min-height: 564px;
    padding: 40px 20px; /* Add some padding around the whole content */
    box-sizing: border-box; /* Include padding in element's total width and height */
}

.university-box span {
    display: block; /* Important: Make it a block element to respect width and overflow properties */
    white-space: nowrap; /* Prevent text from wrapping */
    /*overflow: hidden;  Hide overflowing content */
    text-overflow: ellipsis; /* Display ellipsis for truncated text */
    width: 100%; /* Make span take full width of its parent (.university-box content area) */
    text-align: center; /* Re-center the text, as display: block might left-align */
}