.calendar-wrap {
  position: relative; width: 100%; margin-top: 50px;
  .calendar-area {
    position: relative; float: left; width: 50%;
    .month-select {
      position: absolute; top:5px; right:20px;
      .date { float: left; font-size: 1.5rem; color:#000; font-weight: 600; padding-right: 15px; }
    }
    .calendar-group {
      margin: 0; overflow: hidden; 
      .grid {
        border: 1px solid var(--line-color); border-bottom: 0;
        .week {
          margin: 0; line-height: 40px; border-bottom: 1px solid var(--line-color);
          .week-cell {
            float: left; width: 14.2857%; text-align: center; font-size: 1.2rem;  cursor: default; font-weight: 500; 
            &:not(:last-child) {border-right: 1px solid var(--line-color);}
            &.holiday { color: #ff7f7f; }
            &.sat { color: #6d7ee3; }
          }
        }
        .row {
          position: relative; height: 99px; overflow: hidden; border-bottom: 1px solid var(--line-color); 
          .background {
            position: absolute; top: 0; right: 0; bottom: 0; left: 0; 
            .bg-cell { 
              float: left; width: 14.2857%; height: 100%;
              &:not(:last-child) {border-right: 1px solid var(--line-color);}
              &.select, 
              &:hover { background: #f4f4f4 }
            }
          }
          .day {
            position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 5;
            .day-cell {
              float: left; width: 14.2857%; line-height: 25px; text-align: center; background: transparent; text-align: center; font-size: 1.1rem; height: 100%; position: relative; cursor: pointer;
              &.disabled { color: #d3d3d3;}
              &:after { content: ''; position: absolute; top:0; left: 0; width: 100%; height: 100%; } 
              .date {
                position:relative; 
                &.select {
                  color:#fff;
                  &:after {
                    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:var(--main-color); border-radius: 50%; width:21px; height:21px; content:''; z-index:-1;
                  }
                }
              }              
            }
          }
          .line {
            position: relative; height: calc(100% - 25px); width: 100%; top: 25px; z-index: 3; cursor: pointer;
            .line-g { 
              position: relative; width: 100%;
              .line-cell {
                float: left; width: 14.2857%; position: relative; padding: 0 3px; 
                .schd-item {
                  position: relative; font-size: 1rem; height: 17px; text-align: left; width: 100%; padding: 2px 0 0 5px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; color:#fff; margin-bottom: 2px;
                  &.cec { background: var(--blue-color); }
                  &.kpubic { background: var(--purple-color); }
                  &.smt { background: var(--pink-color); }
                  &.intern { background: var(--sky-color); }
                  &.amic { background: var(--green-color); }
                  &.sanhak { background: var(--orange-color); }
                  &.line-1 { width: calc(100%); }
                  &.line-2 { width: calc(200% + 5px); }
                  &.line-3 { width: calc(300% + 11px); }
                  &.line-4 { width: calc(400% + 17px); }
                  &.line-5 { width: calc(500% + 24px); }
                  &.line-6 { width: calc(600% + 29px); }
                  &.line-7 { width: calc(700% + 36px); }
                  &.more { 
                    position: relative; padding-top: 0;
                    > span { display: inline-block; width: 3px; height: 3px; border-radius: 10px; background:#777; margin: 0 .2px; }
                  }
                  > span { overflow: hidden; white-space: nowrap; }
                }
              }
            }
          }
        }
      }
    }
  }
  .schedule-area {
    position: relative; float: left; width: 50%;
    .com-title { display: none; }
    .schd-head {
      position: relative; width: 100%; margin-bottom: 13px;
      .toggle-btn {
        float: left;
        .btn { border: 1px solid var(--line-color); display: inline-block; padding: 6px 10px; position: relative; text-align: center; -webkit-transition: background 600ms ease, color 600ms ease; transition: background 600ms ease, color 600ms ease; font-size: 1.1rem; color: #a2a5ab; font-weight: 600; }
        input[type=radio]:not(old) {
          background: none; display: none;
          & + label {background: none;margin:0;}
          &:checked + label {margin:0;}
          &:not(old):checked + label {margin:0;}
          &.toggle {
            & + label { cursor: pointer; line-height: normal; }
            & + label:hover { background: none; color: #a2a5ab;}
            & + label:after { background: #fff; content: ""; height: 100%; position: absolute; top: 0; -webkit-transition: left 200ms cubic-bezier(0.77, 0, 0.175, 1); transition: left 200ms cubic-bezier(0.77, 0, 0.175, 1); width: 100%; z-index: -1;}
            &.toggle-left + label {  border-right: 0;background: #eee;}
            &.toggle-left + label:after { left: 100%;}
            &.toggle-right + label { margin-left: -5px;background: #eee;}
            &.toggle-right + label:after { left: -100%;}
            &:checked + label { cursor: default; color: #232528; -webkit-transition: color 200ms; transition: color 200ms; z-index: 1; }
            &:checked + label:after { left: 0;}
          }
        }
      }
      .filter-area {
        float: right; position: relative; top: 5px;
        input[type="checkbox"].check-box {
          & + label { font-size: 1.2rem; font-weight: 600; margin-right: 10px;}
          & + label:before {width: 13px; height: 13px; background-size:6px 6px; margin-right: 4px; }
        }
      }
    }
    .schd-list {
      position: relative; top:1px; height: 537px; background:#f2f5f6; border:1px solid var(--line-color); border-left: 0; padding: 5px 5px 0 0;
      .schedule { 
        @include scrollbar; position: relative; width:100%; height: 100%; overflow-y: auto; padding:15px 15px 20px 20px;
        .schd-row {
          &:not(:last-child) {margin-bottom: 20px;}
          &.cec {
            .head {color: var(--blue-color);}
          } 
          &.kpubic {
            .head {color: var(--purple-color);}
          } 
          &.amic {
            .head {color: var(--pink-color);}
          } 
          &.intern {
            .head {color: var(--sky-color);}
          } 
          &.sanhak {
            .head {color: var(--orange-color);}
          } 
          .head { 
            font-size: 1.3rem; font-weight: 900; padding-bottom: 15px; position: relative;
            .schd-toggle-tit {
              position: absolute; top: 0; right: 0;
              .total {
                display: inline-block; font-size: 1rem; font-weight: 600; color: #9b9b9b; margin-right: 5px;
              }
              .btn {
                position: relative; cursor: pointer; display: inline-block; font-size: 1rem; font-weight: 600; color:#444; padding: 4px 8px 4px 30px; background:#ddd; border-radius: 3px; 
                &:after { content: '접기'; display: block; position: absolute; top:4px; left:8px; }
                img { width:6px; height: 3px; position: relative; top:5px; margin-left: 3px; }
              }
            }
          }
          .item {
            padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid var(--line-color);
            .tit {
              float: left; width: calc(100% - 280px); font-size: 1.2rem; font-weight: 600; @include ellipsis;
              a:hover { text-decoration: underline;}
              .label {
                font-size: 1rem; color:#fff; padding: 3px 0; border-radius: 5px 0 5px 0; margin-right: 5px; display: inline-block; min-width: 45px; text-align: center;
                &.on {background: var(--main-color); }
                &.end {background: #aeaeae; }
              }
            }
            .txt {
              float: right; width: 280px; text-align: right; font-size: 1.2rem; letter-spacing: -1px; color: #949494; font-weight: 600; 
              span { padding-right: 10px; color: #3c5b92;}
            }
          }
          &.no-list {
            .item {
              > p { padding-bottom: 10px; font-size: 1.2rem; font-weight: 500; color:#888;}
            }
          }
          .toggle-row {
            position: relative; width: 100%; max-height: auto; overflow: hidden;
          }
          &.schd-toggle-on {
            .schd-toggle-tit {
              .btn {
                &:after { content: '열기'; }
                img { transform: rotate(180deg); }
              }
            }
            .toggle-row {
              height: 100px;
            }
          }
        }
      }
      &.day-list {
        .schedule {
          .schd-row {
            .item {
              margin-bottom: 15px; padding-bottom: 0;
              .tit { float: none; width: 100%; padding-bottom: 5px; border-bottom: 1px solid #bdc1ca; }
              .txt { 
                float: none; width: 100%; padding-top: 10px; text-align: left; background:#fff; padding-left: 10px;     border-left: 1px solid var(--line-color); border-right: 1px solid var(--line-color); font-weight: 500; font-size: 1.1rem;
                > span { font-weight: 600; }
                &:last-child { padding-bottom: 10px; }
              }
            }
            &.kpubic {
              .item { 
                border-bottom: 0;
                .time-area {
                  padding-top: 5px;
                  .time {
                    width:9.5%; text-align:center; font-size: 1rem; font-weight: 600; display: inline-block; background:#e0e3e5; border-radius: 3px; padding: 5px 0; color: #657485; margin: 0 2px 5px 0;
                    &.disabled { text-decoration: line-through; color: #a5a8ac; }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

@media (max-width: 1200px) {
  .calendar-wrap {
    .calendar-area {
      float: none; width: 100%;
    }
    .schedule-area {
      float: none; width: 100%; margin-top: 50px;
    }
  }
}
@media (max-width: 650px) {
  .calendar-wrap {
    .calendar-area {
      .month-select {
        right:0; top: 4px;
        .date { font-size: 1.2rem; padding-right: 10px;}
      }
      .calendar-group {
        .grid {
          .week {
            line-height: 30px;
            .week-cell { font-size: 1.1rem; }
          }
        }
      }
    }
    .schedule-area {
      .com-title { display: block; }
      .schd-head {
        float: none; width: 100%;
        .toggle-btn {
          float: none; width: 100%;
          .btn { width: 50%; padding: 10px; }
        }
        .filter-area {
          float: none; width:100%; margin: 5px 0;
          .check-input-box { padding: 6px 0; width: 30%; }
        }
      }
      .schd-list {
        border-left: 1px solid var(--line-color); height: 300px;
        .schedule {
          padding: 10px 10px 15px 15px;
          .schd-row {
            .head { font-size: 1.2rem; padding-bottom: 10px; }
            .item  {
              .tit { float: none; width: 100%; }
              .txt { float: none; width: 100%; text-align: left; padding-top: 5px; line-height: 1.7; font-size: 1.1rem;}
            }
            &.schd-toggle-on {
              .toggle-row {
                height: 170px;
              }
            }
          }
        }
        
        &.day-list {
          .schedule {
            .schd-row {
              .item {
                .txt { 
                  padding-top: 5px; 
                  &:last-child { padding-bottom: 5px; }
                }
              }
              &.kpubic {
                .item { 
                  .time-area {
                    .time {
                      width: 19%;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}