@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

// 스크롤바 스타일 - 검정색
::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background: #000;
  border-radius: 6px;
}

::-webkit-scrollbar-thumb {
  background: #333;
  border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

html{
  &:has(.header--mob--wrap.active){
    overflow: hidden;
  }
  &:has(.header--mob--lang--wrap.active){
    overflow: hidden;
  }
}

* {
  font-family: 'pretendard';
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.header--wrap{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  transition: background-color 0.3s ease;
  &:hover{
    background-color: #fff;
    .header--inner{
      .header--logo{
        background-image: url(../img/logo--white.svg);
      }
      &:has(.header--mob--lang--btn.active){
        .header--logo{
          background-image: url(../img/logo--default.svg);
        }
      }
      &:has(.header--mob--btn.active){
        .header--logo{
          background-image: url(../img/logo--default.svg);
        }
      }
      .header--mob--lang--btn{
        background-image: url(../img/ico--global--black.svg);
      }
      .header--mob--btn{
        background-image: url(../img/ico--header--black.svg);
      }
      .header--nav{
        >ul{
          >li{
            >a{
              color: #000;
            }
          }
        }
      }
      .header--lang--btn{
        background-color: #EC3237;
      }
    }
  }
  .header--inner{
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    position: relative;
    align-items: center;
    .header--logo{
      display: flex;
      align-items: center;
      max-width: 290px;
      min-width: 191px;
      width: 30%;
      z-index: 100;
      height: 55px;
      // transition: all 0.3s;
      background-size: 100%;
      background-position: center;
      background-repeat: no-repeat;
      background-image: url(../img/logo--default.svg);
    }
    .header--nav{
      >ul{
        list-style: none;
        display: flex;
        >li{
          position: relative;
          >a{
            transition: all 0.3s;
            display: inline-block;
            text-transform: uppercase;
            padding: 40px 75px;
            text-decoration: none;
            font-size: 17px;
            font-weight: 700;
            color: #fff;
          }
          &:hover{
            .sub--nav--wrap{
              max-height: 400px;
            }
            &:nth-child(3){
              .sub--nav--wrap{
                max-height: 800px;
                transition: max-height 0.9s cubic-bezier(0.4, 0, 0.2, 1);
              }
            }
          }
          .sub--nav--wrap{
            max-height: 0;
            transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2,        
  1);
            position: absolute;
            display: flex;
            left: 50%;
            transform: translateX(-50%);
            white-space: nowrap;
            background-color: #fff;
            overflow: hidden;
            .sub--nav{
              padding: 35px 30px;
              display: flex;
              flex-direction: column;
              gap: 25px;
              >a{
                display: inline-block; 
                font-weight: 400;
                color: #111;
                text-transform: capitalize;
                font-size: 16px;
                line-height: 1.4;
                text-decoration: none;
                transition: all 0.3s;
                &:hover{
                  color: #EC3237;
                  font-weight: 500;
                }
              }
            }
          }
        }
      }
    }
    .header--lang--btn{
      display: flex;
      align-items: center;
      width: 130px;
      color: #fff;
      transition: all 0.3s;
      cursor: pointer;
      font-size: 17px;
      font-weight: 700;
      text-transform: uppercase;
      padding: 38px 20px;
      position: relative;
      &:hover{
        .lang--select--wrap{
          height: 190px;
          border-top: 1px solid #FB484D;
        }
      }
      i{
        display: inline-block;
        background-repeat: no-repeat;
        background-size: 100%;
        background-position: center;
      }
      .ico--global{
        width: 24px;
        margin-right: 10px;
        height: 24px;
        background-image: url(../img/ico--global.svg);
      }
      .ico--arrow{
        margin-left: auto;
        width: 14px;
        height: 14px;
        background-image: url(../img/ico--global--arrow.svg);
      }
      .lang--select--wrap{
        height: 0;
        overflow: hidden;
        position: absolute;
        background: #EC3237;
        top: 100%;
        left: 0;
        transition: height 0.3s;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        list-style: none;
        li{
          width: 100%;
          transition: all 0.3s;
          text-align: center;
          a{
            padding:  10px 0;
            width: 100%;
            color: #fff;
            display: inline-block;
            text-decoration: none;
            font-size: 17px;
            font-weight: 700;
          }
          &:first-child{
            a{
              padding-top: 25px;
            }
          }
          &:last-child{
            a{
              padding-bottom: 25px;
            }
          }
          &:hover{
            a{
              color: #ef0;
            }
          }
          &.active{
            a{
              color: #ef0;
            }
          }
        }
      }
    }
    .header--mob--lang--btn{
      display: none;
      width: 26px;
      margin-left: auto;
      margin-right: 20px;
      z-index: 100;
      height: 26px;
      background-repeat: no-repeat;
      background-size: 100%;
      background-image: url(../img/ico--global.svg);
      cursor: pointer;
      &.active{
        margin-right: 0;
        background-image: url(../img/ico--close.svg)!important;
      }
      &.hide{
        display: none;
      }
    }
    .header--mob--lang--wrap{
      position: fixed;
      background-color: #1a1b20;
      width: 100%;
      height: 100vh;
      right: -100%;
      z-index: 99;
      top: 0;
      display: flex;
      align-items: center;
      transition: all 0.3s;
      &.active{
        right: 0;
      }
      >ul{
        display: flex;
        width: 100%;
        flex-direction: column;
        list-style: none;
        >li{
          width: 100%;
          text-align: center;
          >a{
            text-decoration: none;
            width: 100%;
            padding: 45px 0;
            display:  inline-block;
            color: #fff;
            font-weight: 700;
            font-size: 25px;
          }
          &.active{
            >a{
              color: #ef0;
            }
          }
        }
      }
    }
    .header--mob--btn{
      display: none;
      width: 26px;
      cursor: pointer;
      z-index: 100;
      height: 26px;
      background-image: url(../img/ico--header.svg);
      background-repeat: no-repeat;
      &.active{
        background-image: url(../img/ico--close.svg)!important;
      }
      &.hide{
        display: none;
      }
    }
    .header--mob--wrap{
      position: fixed;
      background-color: #101014;
      width: 100%;
      height: 100vh;
      padding-top: 80px;
      right: -100%;
      z-index: 99;
      top: 0;
      display: flex;
      transition: all 0.3s;
      &.active{
        right: 0;
      }
      .mob--l{
        width: 40%;
        border-top: 1px solid #31313A;
        padding: 40px 0;
        ul{
          list-style: none;
          display: flex;
          flex-direction: column;
          gap: 50px;
          li{
            a{
              line-height: 25px;
              height: 25px;
              width: 100%;
              color: #fff;
              font-size: 16px;
              font-weight: 700;
              text-transform: uppercase;
              text-decoration: none;
              display: inline-block;
              padding: 0 30px;
              transition: all 0.3s;
              position: relative;
              &::after{
                content: '';
                position: absolute;
                width: 2px;
                right: 0;
                top: 0;
                display: inline-block;
                transition: all 0.3s;
                height: 100%;
                background-color: #EC3237;
                opacity: 0;
              }
              &:hover{
                color: #EC3237;
                &::after{
                  opacity: 1;
                }
              }
              &.active{
                color: #EC3237;
                &::after{
                  opacity: 1;
                }
              }
            }
          }
        }
      }
      .mob--r{
        width: 60%;
        border-top: 1px solid #31313A;
        background-color: #1a1b20;
        padding: 40px 10px 40px 30px;
        .sub--nav--wrap{
          height: 100%;
          overflow-y: auto;
          .sub--nav{
            display: none;
            flex-direction: column;
            gap: 40px;
            &.active{
              display: flex;
            }
            a{
              text-decoration: none;
              color: #fff;
              display: inline-block;
              width: 100%;
              &.active{
                color: #ec3237;
              }
              br{
                display: none;
              }
            }
          }
        }
      }
    }
  }
}

.footer--wrap{
  z-index: 10;
  position: absolute;
  width: 100%;
  color: #fff;
  bottom: 0;
  left: 0;
  text-align: center;
  font-weight: 500;
  font-size: 15px;
  text-transform: uppercase;
  padding: 40px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.20);
  background: #020203;
}

.container {
  position: relative;
  height: 300vh; /* 3개 이미지 * 100vh */
  .image--section {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 1;
    &.global--section{
      background-color: #1A1B20;
    }
    &.contact--section{
      background-image: url(../img/main--contact.png);
      background-size: cover;
    }
    &.black3{
      background-color: #15161A;
    }
    .section--container{
      max-width: 1600px;
      margin: 0 auto;
      position: relative;
      height: 100%;
      .map--wrap{
        position: absolute;
        width: 100%;
        align-items: center;
        display: flex;
        justify-content: flex-end;
        height: 100%;
        .map--img{
          position: relative;
          img{
            object-fit: none;
            height: auto;
          }
        }
        .map--dot--box{
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          position: absolute;
          .map--dots{
            position: relative;
            width: 100%;
            height: 100%;
            .dot{
              width: 168px;
              height: 168px;
              border-radius: 100px;
              background: rgba(205, 25, 29, 0.60);
              backdrop-filter: blur(5px);
              justify-content: center;
              display: flex;
              flex-direction: column;
              position: absolute;
              align-items: center;
              .circle{
                border-radius: 100px;
                border: 1px solid rgba(255, 255, 255, 0.50);
                font-size: 14px;
                color: #fff;
                font-weight: 600;
                line-height: 1;
                padding: 8px 10px;
              }
              >p{
                margin-top: 10px;
                span{
                  color: #fff;
                  font-size: 23px;
                  font-weight: 800;
                }
              }
              .txt{
                margin-top: 20px;
                color: #fff;
                font-size: 13px;
                font-weight: 600;
                line-height: 1;
              }
              &.dot1{
                left: 7%;
                top: 24%;
              }
              &.dot2{
                background: rgba(169, 9, 13, 0.60);
                left: 27%;
                bottom: 18%;
              }
              &.dot3{
                background: rgba(235, 63, 68, 0.60);
                top: 19%;
                left: 44%;
              }
              &.dot4{
                background: rgba(188, 106, 108, 0.60);
                right: 25%;
                bottom: 18%;
              }
              &.dot5{
                background: rgba(166, 0, 4, 0.60);
                right: 9%;
                top: 21%;
              }
            }
          }
        }
      }
      .text--wrap{
        position: absolute;
        display: flex;
        flex-direction: column;
        bottom: 10%;
        >h4{
          color: #fff;
          font-size: 18px;
          font-weight: 800;
          letter-spacing: -0.36px;
          margin-bottom: 70px;
          span{
            color: #EC3237;
          }
        }
        >h3{
          font-size: 50px;
          color: rgba(255,255,255,0.1);
          margin-bottom: 35px;
        }
        >p{
          color: #fff;
          font-size: 19px;
          font-weight: 400;
          word-break: keep-all;
          letter-spacing: -0.38px;
          margin-bottom: 110px;
        }
        .btn--wrap{
          a{
            display: flex;
            gap: 20px;
            align-items: center;
            color: #fff;
            font-size: 15px;
            font-weight: 600;
            padding: 20px 30px;
            border: 1px solid rgba(255, 255, 255, 0.30);
            border-radius: 100px;
            width: fit-content;
            text-decoration: none;
            .ico{
              display: inline-block;
              width: 14px;
              height: 14px;
              background-repeat: no-repeat;
              background-image: url(../img/ico--arrow--white.svg);
            }
          }
        }
      }
      .contact--wrap{
        width: 100%;
        gap: 30px;
        display: flex;
        height: 100%;
        align-items: center;
        justify-content: space-between;
        .location--group {
          display: flex;
          flex-wrap: wrap;
          width: 52%;
          height: 80vh;
          max-height: 850px;
          gap: 2%;
          input[type="radio"] {
            display: none;
          }

          .location--item {
            display: flex;
            width: calc(92% / 5);
            color: #fff;
            cursor: pointer;
            text-transform: uppercase;
            border-radius: 30px;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
            &:hover {
              transform: scale(1.1);
            }

            label{
              width: 100%;
              height: 100%;
              border-radius: inherit;
            }
            
            .image--area {
              cursor: pointer;
              border-radius: inherit;
              width: 100%;
              height: 100%;
              background-size: cover;
              background-position: center;
              background-repeat: no-repeat;
              position: relative;
              &:before{
                content: '';
                display: inline-block;
                position: absolute;
                width: 100%;
                height: 100%;
                background: rgba(26, 27, 32, 0.50);
                top: 0;
                left: 0;
              }
            }
            
            .text--area {
              cursor: pointer;
              position: absolute;
              padding: 25px;
              font-weight: 600;
              font-size: 14px;
              z-index: 2;
              color: #fff;
              top: 0;
              left: 0;
            }
          
          }

          input[type="radio"]:checked + label {
            border: 2px solid rgba(236, 50, 55, 0.50);
            box-shadow: 0 0 20px 0 rgba(25, 36, 77, 0.25);
            .image--area{
              &::before{
                display: none;
              }
            }
          }

          // Individual location backgrounds
          @for $i from 1 through 23 {
            label[for="location#{$i}"] .image--area {
              background-image: url(../img/contact#{$i}.png);
            }
          }
        }
        .contact--tit--mo{
          display: none;
        }
        .contact--btn--mo{
          display: none;
        }
        .contact--form{
          background-color: #fff;
          display: flex;
          flex-direction: column;
          align-items: center;
          height: 80vh;
          max-height: 850px;
          justify-content: space-between;
          width: calc(48% - 30px);
          background-color: #1a1b20;
          border-radius: 40px;
          padding: 70px;
          .contact--tit{
            width: 100%;
            display: flex;
            color: #fff;
            justify-content: space-between;
            h3{
              font-size: 35px;
              font-weight: 700;
              margin-bottom: 25px;
            }
            p{
              font-size: 16px;
              font-weight: 400;
            }
            .contact--btn{
              background-repeat: no-repeat;
              background-position: center;
              min-width: 70px;
              border: none;
              cursor: pointer;
              width: 70px;
              height: 70px;
              border-radius: 50%;
              background-color: #ec3237;
              background-image: url(../img/ico--contact.svg);
            }
          }
          .contact--cont{
            width: 100%;
            color: #fff;
            display: flex;
            overflow-y: auto;
            height: calc(100% - 140px);
            flex-direction: column;
            gap: 35px;
            .input--type2--wrap{
              display: flex;
              width: 100%;
              gap: 30px;
              .input--wrap{
                width: calc(50% - 15px);
              }
            }
            .input--wrap{
              width: 100%;
              display: flex;
              flex-direction: column;
              gap: 15px;
              select{
                border-radius: 12px;
                border: 1px solid #323340;
                background-color: #262730;
                padding: 20px;
                font-size: 16px;
                cursor: pointer;
                color: #fff;
                appearance: none;
                background-image: url(../img/ico--select.svg);
                background-repeat: no-repeat;
                background-position: right 20px center;
                background-size: 16px 16px;
                padding-right: 50px;
              }
              input{
                border-radius: 12px;
                border: 1px solid #323340;
                background-color: #262730;
                padding: 20px;
                font-size: 16px;
                color: #fff;
              }
              textarea{
                resize: none;
                border-radius: 12px;
                border: 1px solid #323340;
                background-color: #262730;
                padding: 20px;
                font-size: 16px;
                color: #fff;
              }
            }
          }
        }
      }
    }
    img {
      width: 100%;
      height: 100vh;
      object-fit: cover;
      display: block;
    }
    
    &:nth-child(2){
      z-index: 2;
    }
    
    &:nth-child(3){
      z-index: 3;
    }
    .main--swiper{
      position: relative;
      .swiper-slide{
        .img--wrap{
          position: relative;
          &::after{
            content: '';
            position: absolute;
            width: 100%;
            z-index: 2;
            display: inline-block;
            height: 100%;
            background: linear-gradient(180deg, #1A1B20 0%, rgba(0, 0, 0, 0.0) 100%);
            opacity: 0.4;
            top: 0;
            left: 0;
          }
        }
        .txt--wrap{
          position: absolute;
          display: flex;
          max-width: 1600px;
          width: 100%;
          left: 50%;
          top: 20%;
          transform: translateX(-50%);
          flex-direction: column;
          >span{
            color: #fff;
            font-size: 23px;
            font-weight: 500;
            margin-bottom: 35px;
            letter-spacing: -0.46px;
            text-transform: capitalize;
          }
          >h2{
            font-size: 120px;
            color: #fff;
            margin-bottom: 65px;
            font-weight: 900;
            letter-spacing: -2.4px;
            text-transform: uppercase;
            strong{
              color: #ec3237;
            }
          }
          .btn--wrap{
            a{
              display: flex;
              align-items: center;
              text-decoration: none;
              gap: 10px;
              color: #ec3237;
              font-size: 14px;
              background-color: #fff;
              width: fit-content;
              font-weight: 700;
              padding: 20px 30px;
              border-radius: 100px;
              .ico{
                display: inline-block;
                background-image: url(../img/ico--arrow.svg);
                background-repeat: no-repeat;
                background-size: 100%;
                background-position: center;
                width: 16px;
                height: 16px;
              }
            }
          }
        }
      }

      .swiper--btn--wrap{
        display: none;
        position: absolute;
        right: 20px;
        display: flex;
        gap: 15px;
        width: 143px;
        height: 64px;
        bottom: 30px;
        .swiper-button-next,
        .swiper-button-prev{
          display: none;
          margin-top: 0;
          top: 0;
          background-image: url(../img/ico--arrow--swiper.svg);
          background-size: 25px 25px;
          width: 64px;
          height: 64px;
          background-repeat: no-repeat;
          border-radius: 50%;
          border: 1px solid rgba(255,255,255,0.5);
          background-position: center;
          &::after{
            display: none;
          }
        }
        .swiper-button-prev{
          left: 0;
          transform: rotate(180deg);
        }
        .swiper-button-next{
          right: 0;
          left: auto;
        }
      }
      .swiper--pag--wrap{
        display: none;
        position: absolute;
        width: calc(100% - 240px);
        height: 64px;
        bottom: 30px;
        left: 30px;
        .swiper--pag{
          position: relative;
          height: 100%;
          width: 100%;
          p{
            font-weight: 700;
            font-size: 17px;
            color: #fff;
            text-transform: uppercase;
            position: absolute;
            z-index: 1;
            top: 0;
            left: 0;
          }
          .pag--numb{
            span{
              display: inline-block;
              position: absolute;
              z-index: 1;
              color: rgba(255, 255, 255, 0.50);
              font-size: 15px;
              font-weight: 700;
              bottom: 0;
              &.active{
                color: #fff;
              }
              &.num--6{
                right: 0;
              }
            }
            .swiper-pagination{
              position: absolute;
              top: auto;
              border-radius: 100px;
              height: 5px;
              width: calc(100% - 60px);
              margin: 5px  0;
              left: 30px;
              overflow: hidden;
              bottom: 0;
              background-color: #4A494D;
              .swiper-pagination-progressbar-fill{
                background-color: #fff;
              }
            }
          }
        }
      }
  
      .main--swiper--tab{
        position: absolute;
        max-width: 1600px;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        bottom: 0;
        display: flex;
        z-index: 5;
        .tab--wrap{
          cursor: pointer;
          transition: all 0.3s;
          word-break: keep-all;
          width: calc(100% / 6);
          padding: 70px 35px 50px;
          .tab--inner{
            padding-top: 20px;
            border-top: 1px solid #fff;
            dt{
              color: #fff;
              font-size: 20px;
              font-weight: 800;
              text-transform: uppercase;
              margin-bottom: 30px;
            }
            dd{
              font-size: 14px;
              color: #fff;
              font-weight: 400;
              line-height: 1.7;
            }
          }
          &.active{
            background-color: #ec3237;
          }
        }
      }
    }
  }
}