


.nono {
}.no-scroll { overflow: hidden; height: 100%; }
.index_wrap {
    display: flex;
    width: 100%;
    height: 100vh;
    align-items: center;
    justify-content: center;
}
.index_box {
    display: flex;
    width: 100%;
    justify-content: center;
}
.index_wrap  img {
    width: 75%;
}

/* header */
header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content:space-between;
    height: 7rem;
    padding: 0 0 0 1rem;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 400;
    background-color: #fff;
}
header .header_btn {
    display: flex;
    align-items: center;
    justify-content: center;
}
header img {
    width: 50%;
}
/* footer */
footer{
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 7rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
    z-index: 500;
}
footer a {
    width: 25%;
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    gap: 1rem;
}
footer a img {
    width: 25%;
}
footer a span {
    font-size: 1.6rem;
    font-weight: 600;
}
/* home */
.home_wrap {
    padding: 10rem 1.5rem 7rem;
}

.popup {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 800;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
}
.popup_contents {
    width: 90%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 22rem;
    flex-flow: column;
    background-color: #fff;
    border-radius: .5rem;
    padding: 2rem 1rem;
    gap: 4rem;
}
.popup span {
    font-size: 1.7rem;
    font-weight: 800;
    
}
.popup_top {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.popup img {
    width: 50%;
}
.popup input {
    width: 100%;
    box-shadow: .1rem .2rem .5rem rgba(61, 62, 77, 0.3);
    border-radius: 2rem;
    padding: .7rem 2rem;
    font-size: 1.7rem;
    font-weight: 700;
}
.search_popup {
    display: flex;
    flex-flow: column nowrap;
    gap: 3rem;
    align-items: center;
    width: 100%;
}
#submitbtn {
    width: max-content;
    background-color: #5E73EA;
    color: #fff;
    font-size: 2rem;
    font-weight: 200;
    padding: .5rem 1.5rem;
    border-radius: .5rem;
}
#popup_from {
    width: 100%;
}

.rating_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.rating_btn {
    width: 2.5rem;
}
.rating_top img {
    width: 100%;
}
.rating_contents table {
    width: 100%; 
    border: 1px solid #5E73EA;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 1rem;
}
.rating td, .rating th {
    width: 33%;
    padding: 1rem;
    text-align: center;
    /* border: 1px solid #5E73EA; */
}
.rating td {
    font-size: 1.8rem;
}
.rating th {
    font-size: 2rem;
    background-color: #5E73EA;
    color: #fff;
}
.rationg_title {
    display: flex;
    align-items: center;
}

.rationg_title h3:nth-of-type(1) {
    border-top-left-radius: 1rem;
}
.rationg_title h3:nth-of-type(3) {
    border-top-right-radius: 1rem;
}

table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 1rem;
}
table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 1rem;
}

.rating thead th:nth-of-type(1) {
    border-top-left-radius: .7rem;
}

.rating thead th:nth-of-type(3) {
    border-top-right-radius: .7rem;
}
.rating_data {
    border-right: 1px dashed #D9DEFB;
    border-bottom: 1px dashed #D9DEFB;
}
.rating thead th {
    border-bottom: 0;
}
.rating thead th:nth-of-type(3){}
.percentage {
    border-right: 1px dashed #D9DEFB;
    border-bottom: 1px dashed #D9DEFB;
}
.sequential {
    border-bottom: 1px dashed #D9DEFB;
}

.rating table tr:nth-of-type(9) td {
    border-bottom: 0;
}


.home_contents_btn  {
    border: 1px solid #5E73EA; 
    border-radius: .5rem;
}
.home_contents_btn a {
    font-size: 2rem;
    font-weight: 800;
    padding: 1rem;
    background-position: 95%;
    background-image: url(../img/arrow-5.png);
    background-repeat: no-repeat;
    background-size: 1rem;
}
.home_contents_btn a:nth-of-type(1){
    border-bottom: 1px dashed #5e73ea;
}
.home_contents_btn .contents_wrap {
    display: flex;
    flex-flow: column nowrap;
    padding: 0 1rem;
}

.go_btn1{
    margin: 4rem  0 ;
    width: 100%;
}
.go_btn1 a {
    display: flex;
    width: 100%;
    height: 8rem;
    background-color: #5E73EA;
    padding: 1rem;
    border-radius: .5rem;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}



.go_btn1 a  span {
    font-size: 1.8rem;
    color: #fff;
    font-weight: 700;
}

.go_btn1 a  img{
    width: 7rem;
}



/* test */
.main_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.main_top_letf {
    border: 1px solid #A65EE6;
    width: 50%;
}

.main_top_letf h3 {
    font-size: 2rem;
}
.main_top_right {
    width: 50%
}

.letf_top h4 {
    font-size: 2rem;
}
.right_top h4 {
    font-size: 2rem;
}
.right_top select option {
    font-size: 2rem;
}

.right_top select {
    font-size: 2rem;
}























/* calculator */

.calculator_wrap {
    padding: 7rem 1.5rem 7rem;
}

.main_title {
    padding: 4rem 0;
    font-size: 2rem;
    font-weight: 800;
}
.text_box_all { 
    display: flex;
    margin-bottom: 2rem;
}
.text_box_all span {
    font-size: 1.9rem;
    font-weight: 600;
    width: 35%;
}
.text_box_all input{
    width: 100%;
    box-shadow: .1rem .2rem .5rem rgba(61, 62, 77, 0.3);
    border-radius: 2rem;
    padding: .4rem 2rem;
    font-size: 1.7rem;
    font-weight: 700;
}
.calulator_bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin-top: 10rem;
}
.calulator_bottom button {
    font-size: 1.9rem;
    border-radius: .5rem;
    padding: 1rem 1rem;
    width:32%
}
.calulator_bottom button:nth-of-type(1){
    background-color: #DDDDDD;
}
.calulator_bottom button:nth-of-type(2){
    background-color: #5E73EA;
    color: #fff;
}
.bottom_link {
    width: 100%;
    padding: 6rem 0;
    display: flex;
    align-items: center;
    justify-content: center
}
.bottom_link a {
    display: block;
    background-color: #5E73EA;
    width: 100%;
    font-size:2rem;
    color: #fff;
    font-weight: 400;
    padding: 2.5rem 3rem;
    border-radius: .5rem;
    background-image: url(../img/banner-icon-2.png);
    background-repeat: no-repeat;
    background-position: 90%;
    background-size: 5rem;
}
.sub2_link a {
    background-image: url(../img/banner-icon-1.png);
    background-size: 8rem;
}
.contents_view {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 5rem;
    flex-flow: column;
    position: relative;
}
.contents_view img {
    width: 52%;
}
.view_textbox {
    position: absolute;
    display: flex;
    flex-flow: column;
    align-items: center;
}
.view_textbox span {
    font-weight: 800;
    font-size: 2rem;
    margin-bottom: .7rem;
}
.view_textbox p {
    color: #6D6B6B;
    font-size: 1.7rem;
} 
.view_textbox p em{
    color: #6D6B6B;
    font-size: 1.7rem;
}
.view_info {
    display: none;
    /* display: flex; */
    justify-content: center;
    border: 1px solid #5E73EA;
    padding: .3rem 1rem;
    border-radius: 1rem;
    margin-top: 3rem;
}

.view_info div{
    width: 50%;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    padding: 1rem 0;
}
.view_info  div:nth-of-type(1){
    border-right: 1px dashed #5E73EA ;
}
.view_info  div p {
    font-size: 1.8rem;
    font-weight: 700;
}
.view_info div span {  
    font-size: 1.8rem;
    font-weight: 600;
    margin-top: .5rem;
}

/* save */
.save_wrap {
    padding: 8rem 1.5rem 8rem;
}
.save_category {
    display: flex;
    align-items: center;
    justify-content:space-between
}
.save_category button {
    width: 32%;
    border: 1px solid #5E73EA;
    padding: 1rem 0;
    border-radius: .5rem;
    font-weight: 600;
    font-size: 1.8rem;
}

.save_cont_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem 2rem;
    border-bottom: 1px solid #5E73EA;
}

.save_contetns_all {
    border: 1px solid #5E73EA;
    margin-top: 3rem;
    border-radius: .5rem;
}
.save_cont_top h3 {
    font-size: 2rem;
    font-weight: 700;
}
.save_cont_top a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 2rem;
    height: 2rem;
    font-size: 2rem;
    color: #fff;
    background-color: #5E73EA;
}
.sav_cont_bottom {
    padding: 1rem 2rem;
}


.save_popup {
    /* hiphop */
    /* display: none; */
    width: 100%;
    /* height: 100vh; */
    background-color: #fff;

    position: absolute;
    left: 0;
    top: 0;
    padding: 7rem 1.5rem 7rem;
}
.save_popup h4 {
    font-size: 1.9rem;
    font-weight: 600;
    margin-bottom: 3rem;
}
.sub_box_continer {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}
.sub_box_continer span {
    font-size: 1.9rem;
    font-weight:600 ;
    color: #32302F;
}
.sub_box_continer input {
    font-size: 1.9rem;
    border-radius: 2rem;
    width: 77%;
    padding: .5rem 1rem;
    box-shadow: .1rem .2rem .5rem rgba(61, 62, 77, 0.3);
    background-image: url(../img/arrow-2.png);
    background-repeat: no-repeat;
    background-size: 1.5rem;
    background-position: 95%;
    font-weight: 700;
}
.testek {
    font-weight: 700;
    height: 3.2rem;
    background-color: #fff;
    font-size: 1.9rem;
    border-radius: 2rem;
    width: 77%;
    box-shadow: .1rem .2rem .5rem rgba(61, 62, 77, 0.3);
    background-image: url(../img/arrow-2.png);
    background-repeat: no-repeat;
    background-size: 1.5rem;
    background-position: 95%;
    display: flex;
    align-items: center;
    padding-left: 1rem;
}
.modal_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.modal_top img {
    width: 50%;
}
.subject-list li {
    font-size: 1.8rem;
}
main {
    position: relative;
}
.modal {
    display: none;
    position: fixed;
    z-index: 800;
    left: 0;
    width: 100%;
    /* height: 40%; */
    overflow: auto;
    padding-top: 60px;
    bottom: 0;
    /* /* margin-bottom: 7rem; */
}

.modal-content {
    background-color: #fefefe;
    padding: 2rem;
    width: 100%;
    border-top-left-radius: 3rem;
    border-top-right-radius: 3rem;
    box-shadow: 0.1rem -0.5rem 0.5rem rgba(61, 62, 77, 0.2);
}
.modal-content h2 {
    font-size : 2rem;
    color :#6276EB;
    font-weight :500;
}

.subject-list {
    padding: 0;
    height: 20rem;
    overflow: auto;
    margin-top: 2rem;
}

.subject-list::-webkit-scrollbar {
    width: .5rem; 
}

.subject-list::-webkit-scrollbar-track {
    background: #DDDDDD;
    border-radius: 2rem;
}

.subject-list::-webkit-scrollbar-thumb {
    background: #454342;
    border-radius: 2rem; 
}

.subject-list li {
    padding: 1rem 0;
    cursor: pointer;
}

.credit-list li{
    margin: 1.5rem 0;
    font-size: 1.8rem;
}
.subject-list2 li {
    /* text-align: center; */
}

.popup_btn_box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding: 4rem 0 22rem;
}
.popup_btn_box a {
    font-size: 1.9rem;
    border-radius: .5rem;
    padding: 1rem 1rem;
    width: 32%;
    font-weight: 300;
    text-align: center;
}

.popup_btn_box a:nth-of-type(1){
    background-color: #DDDDDD;
}
.popup_btn_box a:nth-of-type(2){
    background-color: #6276EB;
    color: #fff;
}

.save_contents_all {
    border: 1px solid #6276eb;
    border-radius: .5rem;
    margin-bottom: 4rem;
    margin-top: 2rem;
}

.save_cont_bottom{
    padding: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.data1 {
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: .5rem;
}
.data1 em{
    font-size: 1.8rem;
    font-weight: 800;
}
.data3 {
    color: #42403F;
    font-size: 1.8rem;
    font-weight: 300;
}
.data4 {
    font-size: 1.8rem;
    font-weight: 800;
}

.save_cont_bottom .right{
    display: flex;
    align-items: center;
    gap: 2rem;
}
.save_cont_del {
    display: flex ;
    justify-content: center !important;
    align-items: center;
    padding: 4rem 2rem 4rem;
}
.save_cont_del span {
    color: #727070;
    text-align: center !important; 
    font-size: 1.7rem;
    font-weight: 400;

}
.data_del img {
    width: 66%;
}
.save_cont_bottom{
    border-bottom: 1px dashed #5E73EA;
}

.save_cont_bottom:nth-last-of-type(1){
    border: none;
}


.save_category button.active {
    background-color:#5E73EA;
    color: #fff;
}

.sub_box_continer3 a {
    width: 66%;
}
.sub_box_continer4 a {
    width: 66%;
}

.save_plus span {
    color: #fff;
    font-size: 2rem;
}

.nono {
    /* #74DDEF */
    background: linear-gradient(to bottom, #ffffff, #74DDEF);
}

.grade-description span:nth-of-type(1) {
    transform: translateX(-1rem);
}
.grade-description span:nth-of-type(2) {
    transform: translateX(-1rem);
}
.grade-description span:nth-of-type(3) {
    transform: translateX(-1rem);
}
.grade-description span:nth-of-type(4) {
    transform: translateX(1rem);
}
.average-container span {
    padding: 1rem 1rem;
    font-size: 1.8rem;
}
.average-container h3 {
    border-bottom: 1px solid #A65EE6;
    background-color: #A65EE6;
    color: #fff;
    width: 100%;
    text-align: center;
    padding: 1rem 1rem;
    font-size: 2rem;
    font-weight: 400;
}
.average-container {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    width: 48%;
    border: 1px solid #A65EE6;
    border-radius: .5rem;

}
.home_selector {
    width: 48%;
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
    border-left: 1px solid #5B70E9;
    border-top: 1px solid #5B70E9;
    border-bottom: 1px solid #5B70E9;
    border-right: 1px solid #5B70E9;
    border-bottom-left-radius: .5rem;
    border-bottom-right-radius: .5rem;
}
.home_selector select{
    padding: 1rem 1rem;
    font-size: 1.8rem;
    text-align: center;
}
.home_selector h3 {
    border-bottom: 1px solid #5B70E9;
    background-color: #5B70E9;
    color: #fff;
    width: 100%;
    text-align: center;
    padding: 1rem 1rem;
    font-size: 2rem;
    font-weight: 400;
}
.home_selector option {
    font-size: 1.7rem;
    border-bottom: 1px dashed #5B70E9;
}

.home_selector form {
    display: flex;
    flex-flow: column nowrap;
}
.home_container1 {
    display: flex;
    justify-content: space-between;
}
.selectBox2 * { box-sizing: border-box; }
.selectBox2 {
  position: relative;
  width: 150px;
  height: 35px;
  border-radius: 4px;
  border: 2px solid lightcoral;
  background: url('https://freepikpsd.com/media/2019/10/down-arrow-icon-png-7-Transparent-Images.png') calc(100% - 7px) center no-repeat;
  background-size: 20px;
  cursor: pointer;
}

.selectBox2:after {
  content: '';
  display: block; 
  width: 2px;
  height: 100%; 
  position: absolute; 
  top: 0; 
  right: 35px;
  background: lightcoral;
}

.selectBox2 .label {
  display: flex;
  align-items: center;
  width: inherit;
  height: inherit;
  border: 0 none;
  outline: 0 none;
  padding-left: 15px;
  background: transparent;
  cursor: pointer;
}

.selectBox2 .optionList {
  position: absolute; 
  top: 28px;
  left: 0;
  width: 100%;
  background: lightcoral;
  color: #fff;
  list-style-type: none;
  padding: 0;
  border-radius: 6px;
  overflow: hidden;
  max-height: 0;
  transition: .3s ease-in;
}

.selectBox2.active .optionList {
  max-height: 500px;
}

.selectBox2 .optionItem {
  border-bottom: 1px dashed rgb(170, 72, 72);
  padding: 5px 15px 5px;
  transition: .1s;
}

.selectBox2 .optionItem:hover {
  background: rgb(175, 93, 93);
}

.selectBox2 .optionItem:last-child {
  border-bottom: 0 none;
}

.rating_contents {
    margin-bottom: 7rem;
}

.selectBox2 .optionList::-webkit-scrollbar {width: 6px;}
.selectBox2 .optionList::-webkit-scrollbar-track {background: transparent; }
.selectBox2 .optionList::-webkit-scrollbar-thumb {background: #303030; border-radius: 45px;}
.selectBox2 .optionList::-webkit-scrollbar-thumb:hover {background: #303030;}
.no1_rank h3 {
    width: max-content;
    font-size: 1.8rem;
    background-color: #5E73EA;
    padding: 1rem 2rem;
    color: #fff;
    border-radius: .5rem;
}
.no1_rank2 h3 {
    margin-top: 6rem;
    width: max-content;
    font-size: 1.8rem;
    background-color: #B57AE9;
    padding: 1rem 2rem;
    color: #fff;
    border-radius: .5rem;
}
.grade-bar-container {
    position: relative;
    width: 2rem;
    height: 100%;
}

.grade-bar {
    width: 100%;
    display: inline-block;
    vertical-align: bottom;
    position: absolute;
    bottom: 0;
    background: linear-gradient(to bottom, #ffffff, #B57AE9) !important;
    z-index: 2;
    transition: opacity 0.3s ease;
}

.grade-bar.hidden {
    opacity: 0;
    visibility: hidden;
}

.center-line {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    height: 110%;
    width: 2px;
    background: linear-gradient(to bottom, #ffffff, #6A7DEC);
    z-index: 1;
    transition: opacity 0.3s ease;
}

.center-line.hidden {
    opacity: 0;
    visibility: hidden;
}

.grade-bar span {
    position: absolute;
    top: -150%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    color: #000;
    padding: 2px;
    font-size: 1.2rem;
    border: 1px solid #ccc;
    border-radius: 3px;
    z-index: 3;
}

.empty-bar {
    width: 100%;
    height: 100%;
    background-color: transparent;
}
.grade-bar-container {
    position: relative;
    width: 2rem;
    height: 100%;
}

.grade-bar {
    width: 100%;
    display: inline-block;
    vertical-align: bottom;
    position: absolute;
    bottom: 0;
    background: linear-gradient(to bottom, #ffffff, #B982EA) !important;
    z-index: 2;
    transition: opacity 0.3s ease;
}

.grade-bar.hidden {
    opacity: 0;
    visibility: hidden;
}

.center-line {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    height: 120%;
    width: 2px;
    background: linear-gradient(to bottom, #ffffff, #B982EA);
    z-index: 1;
    transition: opacity 0.3s ease;
}

.center-line.hidden {
    opacity: 0;
    visibility: hidden;
}
#yearly-grades-chart .center-line::before {
    background: #E8E9FE;
}
#yearly-grades-chart .center-line::after {
    background: #6D80EC;
}
#yearly-grades-chart .grade-bar-container:nth-of-type(4) .center-line::before {
    background: #E0F8FA;
}
#yearly-grades-chart .grade-bar-container:nth-of-type(4) .center-line::after {
    background: #74DDEF;
}
.center-line::before,
.center-line::after {
    content: '';
    position: absolute;
    width: 7px; /* 다이아몬드의 너비 */
    height: 7px; /* 다이아몬드의 높이 */
    background-color: #B982EA; /* 다이아몬드 색상 */
    transform: rotate(45deg); /* 다이아몬드 모양으로 회전 */
}

.center-line::before {
    top: -7px;
    left: -3px;
    background-color: #EBDFF5;
}

.center-line::after {
    bottom: -4px; 
    left: -3px; 
}

.grade-bar span {
    position: absolute;
    top: -150%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    color: #000;
    padding: 2px;
    font-size: 1.2rem;
    border: 1px solid #ccc;
    border-radius: 3px;
    z-index: 3;
    
}

.empty-bar {
    width: 100%;
    height: 100%;
    background-color: transparent;
}
.select-items div:nth-of-type(8){
    border-left: 1px solid #5b70e9;
    border-bottom: 1px solid #5b70e9;
    border-bottom-left-radius: .5rem;
    border-bottom-right-radius: .5rem;
}
.select-items div{
    border-left: 1px solid #5b70e9;
    border-right: 1px solid #5b70e9;
}
.select-selected {
    background-image: url(../img/arrow-2.png);
    background-repeat: no-repeat;
    background-size: 1.5rem;
    background-position: 90%;
}
.turn_arrow {
    background-image: url(../img/arrow-3.png);
}

.select_border {
    border-bottom: 1px dashed #5b70e9;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
