/* LOGIN PAGE WRAP (COMMON CSS) */


:root {
  --login_header_height: 64px;
}

html {
  scroll-behavior: smooth;
}

body {
  height: 100%;
  overflow-y: scroll;

}


ul,
li {
  margin: 0;
  padding: 0;
  list-style: none;
  white-space: nowrap;
}

a {
  text-decoration: none;
  white-space: nowrap;
}

p {
  margin: 0;
  padding: 0;
}


#login_block_header .inner {
  margin: 0 auto;
  width: 1080px;
  display: flex;
  justify-content: space-between;
}

/* FONT COMMON SET */
.st-txt {
  font-size: 1.5rem;
  font-weight: bold;
}

.md-txt {
  font-size: 2.25rem;
  font-weight: bold;
}

/* 40px */
.lg-txt {
  font-size: 4.5rem;
}

/* 36px */
.sm-txt {
  font-size: 1.125rem;
}

#login_sub_wrap {
  width: 100%;
  word-break: auto-phrase;


  .logo {
    width: 187px;
    height: 34px;

    a img {
      width: 100%;
    }

    .logo-black {
      display: none;
    }
  }


  .menu {
    display: flex;
    gap: 54px;
    align-items: center;

    ul {
      display: flex;
      gap: 54px;

      li a {
        color: #fff;
        font-size: 1.05rem;
        transition: .3s;

        &:hover {
          color: #E9A410;
        }
      }
    }

    .menu-right {
      display: flex;
      gap: 20px;
      align-items: center;
      position: relative;

      .family-site {
        position: relative;

        .family-menu {
          display: flex;
          gap: 2px;
          align-items: center;
          color: #fff;
          cursor: pointer;
          font-size: 0.85rem;


          svg {
            transition: 0.3s ease-in-out;
          }
        }

        ul {
          display: none;
          background: #FFF;
          border-radius: 4px;
          box-shadow: 0 0 7px 0 rgba(63, 63, 63, 0.25);
          position: absolute;
          flex-direction: column;
          padding: 12px 50px 12px 12px;
          gap: 12px;
          right: 6px;
          top: 32px;


          li a {
            font-size: 0.8rem;
            color: #404040;

            &:hover {
              color: #2471E2;
            }
          }
        }

        &.on ul {
          display: block;
        }

        &.on .family-menu>svg {
          transform: rotate(-180deg)
        }
      }

      .login {
        color: #fff;
        padding: 6px 13px;
        border: 1px solid #fff;
        border-radius: 99px;
        cursor: pointer;
      }
    }
  }

  /* header //*/



  /* login popup */
  .login-pop {
    width: 100%;
    height: 100vh;
    background: #121212a3;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    visibility: hidden;


    .loginBox {
      padding: 32px;
      background: #fff;
      border-radius: 6px;
      position: relative;
      width: 344px;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);

      .pop-close {
        position: absolute;
        top: -30px;
        right: 0;
        color: #fff;
        display: flex;
        align-items: center;
        cursor: pointer;
      }

      .loginBt {
        border-radius: 4px 4px 0 0;
        background: #2471E2;
        color: #fff;
        position: absolute;
        left: -76px;
        top: 27px;
        padding: 12px 30px;
        transform: rotate(-90deg);
      }

      .loginBoxTit {
        text-align: center;
      }

      .flexcol {
        margin-top: 20px;
        width: 280px;

        span {
          color: #444;
          font-size: 0.7rem;
        }

        input {
          width: 100%;
          height: 40px;
          padding: 0 6px;
          border: 1px solid #DCDDDD;
          border-radius: 4px;
        }
      }

      .btn-auth img {
        width: 14px;
        height: 14px;
      }

      button {
        background: #09296D;
        margin-top: 20px;
        color: #fff;
        border-radius: 4px;
        width: 100%;
        height: 44px;
        cursor: pointer;
      }

      .mem_join {
        margin-top: 12px;
        display: flex;
        justify-content: space-around;

        div,
        .save label,
        .join {
          color: #797979;
          font-size: 0.85rem;
        }
      }

      .auth-login {
        .auth-log-txt {
          margin-top: 32px;
          width: 100%;
          display: flex;
          justify-content: center;
          position: relative;
          color: #7A7A7A;

          p {
            width: fit-content;
            text-align: center;
            background-color: #fff;
            padding: 0 12px;
            position: relative;
            z-index: 1;
            font-size: 0.7rem;
          }

          div {
            width: 100%;
            border-top: 1px solid #cdcdcd;
            position: absolute;
            top: 43%;
            z-index: 0;
          }
        }

        .btn-auth {
          border-radius: 4px;
          border: 1px solid #09296D;
          background: #FFF;
          color: #09296D;
        }
      }

      /* login box //*/
    }

    &.view {
      visibility: visible;
    }
  }

  /* login-popup //*/



  /* fix */
  .fix {
    position: fixed;
    right: 44px;
    bottom: 80px;
    z-index: 9;
    width: 65px;
    height: 65px;
    background: #fff;
    border-radius: 60px;
    text-align: center;
    box-shadow: 0px 0px 13px 2px #371d471c;
    transition: 0.3s ease-in-out;

    a {
      display: block;
      height: 100%;

      .kuls {
        width: 28px;
        height: 28px;
        margin-top: 7px;
      }
    }

    div {
      font-size: 0.7rem;
      line-height: 0.7rem;
      transition: 0.3s ease-in-out;
    }

    &:hover {
      a>div {
        color: #2471E2;
      }
    }

    &.topBt {
      bottom: 160px;

      a {
        display: flex;
        align-items: center;
        justify-content: center;
      }

      &:hover {
        background: #2471E2;

        svg>path {
          stroke: #fff;
        }
      }
    }
  }

  .login-cont-wrap .inner {
    width: 1080px;
    margin: 0 auto;
  }


  /* CONTENT TITLE SEC(visual) */
  .cont-title-wrap {
    width: 100%;
    height: 720px;
    color: #fff;

    .inner {
      width: 1080px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 100%;


      /* TITLE BOX */
      .title-box {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 16px;

        .title-text-box {
          .script {
            font-size: 1.0rem;
          }
        }
      }
    }
  }

  /* CONTENT TITLE SEC(visual) // */



  /* CONTENT ITEMS SEC (section)*/
  .cont-items-wrap {
    width: 100%;

    /* CONTENT SUB TITLE */
    .sub-title {
      width: 100%;
      /* height: 445px; */
      background-color: #F3F5FD;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      padding: 150px 0;

      .sub-title-box {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 24px;
        color: #323232;
      }

    }


    /* CONTENT ITEMS TITLE */
    .items-title-box {
      width: 100%;
      padding: 152px 0 120px 0;
      display: flex;
      justify-content: center;
      align-items: center;

      /* border: 1px solid red; */

      .items-tit {
        position: relative;
        font-weight: bold;
        color: #121212;
        z-index: 10;
        text-align: center;
        word-break: auto-phrase;
      }
    }
  }

  /* CONTENT ITEMS SEC // */


  /* CONTENT FOOTER SEC */
  .cont-foot-sec {
    width: 100%;
    padding: 80px 0;
    background-image: url(/inc/img/about_ft_bg_2.png);
    background-color: #656565;
    background-blend-mode: multiply;
    background-size: cover;
    background-repeat: no-repeat;


    /* FOOTER CONTENT BOX */
    .foot-cont-box {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 20px;
      font-weight: bold;
      /* color: #1A0E49; */
      color: #fff;

      button.tms-btn {
        padding: 16px 40px;
        display: flex;
        align-items: center;
        height: unset;
        font-size: 1.0rem;
        border-radius: 4px;
      }
    }
  }

  /* footer //*/


  @media(max-width:1079px) {
    .cont-title-wrap .inner {
      width: 980px;

      .title-box {
        .title-text-box {
          .lg-txt {
            font-size: 3.5rem;
          }

          .script {
            font-size: 0.95rem;
          }
        }

      }
    }
  }

  /* max-width:1079px; //*/



  /* 네비 */
  .header {
    width: 100%;
    height: 64px;
    position: fixed;
    z-index: 99;
    transition: .3s;

    .inner {
      width: 1280px;
      height: 100%;
      align-items: center;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
    }

    /* 반응형 LOGIN + 햄버거 묶음 (PC 숨김) */
    .m-head-right {
      display: none;
      align-items: center;
      gap: 16px;

      .m-head-login {
        color: #fff;
        padding: 6px 13px;
        border: 1px solid #fff;
        border-radius: 99px;
        font-size: .875rem;
        cursor: pointer;
      }
    }

    &.scroll .m-head-right .m-head-login {
      color: #121212;
      border-color: #121212;
    }

    .mobile-menu-black,
    .mobile-menu {
      display: none;
      cursor: pointer;
    }



    .mobile-menu-open {
      width: 100%;
      height: 100dvh;
      position: absolute;
      top: 0;
      right: 0;
      transform: translateX(100%);
      background: #fff;
      z-index: 1000;
      visibility: hidden;
      transition: transform .35s ease, visibility .35s;
      overflow-y: auto;
    }

    &.scroll {
      background: rgb(255, 255, 255);
      box-shadow: 0 -8px 34px -11px #a1a1a1;

      .logo a .logo-white {
        display: none;
      }

      .logo a .logo-black {
        display: block;
      }

      .menu a {
        color: #121212;
      }

      .family-site .family-menu {
        color: #121212;

        svg path {
          fill: #121212
        }
      }

      .login {
        color: #121212;
        border-color: #121212;
      }
    }

    /* header스크롤시 네비색상변경 */
  }


  @media(max-width:1279px) {
    .header .inner {
      width: 1080px;
    }
  }


  @media(max-width:1079px) {

    .header .inner {
      padding: 0 20px;
      width: 100%;

      .menu {
        display: none;
      }

      .m-head-right {
        display: flex;
      }

      .mobile-menu {
        display: block;
      }
    }

    .header.scroll .mobile-menu {
      display: none;
    }

    .header.scroll .mobile-menu-black {
      display: block;
    }

    .header .mobile-menu-open {
      width: 100%;
      height: 100dvh;
      position: absolute;
      top: 0;
      right: 0;
      transform: translateX(100%);
      background: #fff;
      z-index: 1000;
      visibility: hidden;
      transition: transform .35s ease, visibility .35s;
      overflow-y: auto;

      .m-inner {
        padding: 10px 20px;

        .mobile-top {
          display: flex;
          justify-content: space-between;
          align-items: center;

          .logo {
            width: 168px;
            height: 24px;

            img {
              width: 100%;
            }
          }

          .login-wrap {
            display: flex;
            gap: 18px;
            align-items: center;

            .m-login {
              color: #A1A1A1;
              font-size: 1.0rem;
              cursor: pointer;
            }

            .close {
              width: 33px;
              height: 33px;
              cursor: pointer;

              img {
                width: 100%;
              }
            }
          }
        }

        /* mobile-top //*/

        .menu-list {
          margin-top: 40px;

          .menu-item {
            border-bottom: 1px solid #E6E6E6;

            a {
              font-size: 1.25rem;
              font-weight: 700;
              color: #121212;
              padding: 16px 12px;
              display: inline-block;
              cursor: pointer;
              width: 100%;
            }
          }
        }
      }

      &.extend {
        transform: translateX(0);
        visibility: visible;
      }
    } 
    /* mobile-menu-open //*/
    
  }

  /* max-width:1079px //*/



  /* 반응형 모바일 ( ~ 768px) */
  @media all and (max-width: 768px) {
    :root {
      --login_header_height: 80px;
    }

    /* FONT COMMON SET */
    .st-txt {
      font-size: 1.5rem;
      font-weight: bold;
    }

    /* 24px */

    .md-txt {
      font-size: 1.375rem;
    }

    /* 22px */

    .sm-txt {
      font-size: 0.95rem;
      word-break: auto-phrase;
    }

    /* 약 15px */


    /* CONTENT TITLE SEC */
    .cont-title-wrap {
      height: 640px;
      background-position: center;
      justify-content: flex-start;
      background-size: cover;
      background-position-x: 54%;



      .st-txt {
        font-size: 2rem;
      }

    }

    /* CONTENT TITLE SEC */


    /* CONTENT ITEMS SEC */
    .cont-items-wrap {

      /* CONTENT SUB TITLE */
      .sub-title {
        .sub-title-box {
          gap: 20px;

          p:nth-child(2) {
            padding: 0 20px !important;
          }
        }
      }

      /* CONTENT SUB TITLE // */


      /* CONTENT ITEMS */
      .items-box {
        padding: 0 10px 80px;
      }

    }

    /* CONTENT ITEMS SEC // */


    /* CONTENT FOOTER SEC */
    .cont-foot-sec {
      padding: 40px 0;

      /* FOOTER CONTENT BOX */
      .foot-cont-box {
        gap: 15px;

        button.tms-btn {
          padding: 8px 22px;
        }
      }
    }

    /* CONTENT FOOTER SEC // */

  }

  /* LOGIN PAGE WRAP (COMMON CSS) // */

  /* max-width:768px; //*/

}