*{margin:0;padding:0;}
*:focus { outline:none; }
br.for_mobile{display:none}
html {overflow-x: hidden;background-color: #fff;}


body{color: #333;-webkit-font-smoothing: antialiased;line-height: 1;max-width: 1920px;margin:0 auto; min-width: 320px;font-family: 'Ciutadella';}
a,a:link{text-decoration:none;cursor: pointer;color:#333 }
button, select, input {cursor: pointer;color: inherit;}
button{appearance: none;border:none}

/* header */
#header{width:100%;height:auto;position: relative;}

#gnb{width:100%;position: absolute;top:0;left:0;height:165px;z-index:99999}
#gnb_wrap{max-width: 1920px;height:165px;margin: 0 auto;position: relative;transition:height 0.4s;    display: flex;align-items: center;}
.gnb_indicator_wrap{position: absolute;width:260px;height:50px;left:calc(50% - 130px);transition: all .3s;text-align:center;line-height:50px;overflow: hidden;}
.gnb_indicator{font-family: 'Ciutadella';font-weight: 400;text-align:center;font-size:28px;line-height: 50px;}
#gnb_hero_indicator1,#gnb_hero_indicator2,#gnb_hero_indicator3,#gnb_hero_indicator4,#gnb_hero_indicator5,#gnb_hero_indicator6,#gnb_hero_indicator7{opacity:0;transition:all .3s}
#gnb_hero_indicator1{margin-top:50px}

@keyframes indicatorcenter{
  to{margin-top:0px;opacity:1;}
}
@keyframes indicatorup{
  to{margin-top:-50px;opacity:0.5}
}
@keyframes indicatordown{
  to{margin-top:50px;opacity:0.5}
}
@keyframes indicatortoptocenter{
  from{margin-top:-50px;opacity:0.5}
  to{margin-top:0px;opacity:1;}
}
@keyframes indicatorcentertodown{
  from{margin-top:0px;opacity:1;}
  to{margin-top:50px;opacity:0.5;}
}


.gnb_logo_link{position: absolute;top: 50%;left: 65px;display: inline-block;font-size: 0;
transform: translateY(-50%);z-index:999}
.gnb_logo_link:hover{cursor: pointer;}
.gnb_logo_link::before{margin-left:-11%}
#logo{transition:width 0.8s}
#logo_icon{display:block;transition:all 0.3s}
#logo_ai{position: absolute;left: 0;top: 50%;display: inline-block;vertical-align: middle;font-size: 60px;transform-origin: 0 50%;transform: translateY(-50%);opacity: 0;animation: logofadein .8s ease-in-out .3s forwards;color:#fff;transition:color 0.4s}
#logo_ai::before{content: "\e900";line-height:60px;font-family:"icomoon";}
#logo_dot{position: absolute;left: 0px;top: 16%;animation: dotin .8s ease-in-out .5s forwards;opacity:0;transition:color 0.4s;color:#fff;font-size:60px;line-height:60px;}
#logo_dot::before{content: "\e92a";font-family:"icomoon";}
#logo_text{position: relative;display: inline-block;font-size: 72px;margin-top: 10px;/*transform: translateX(-120%);*/transition: all 0.7s cubic-bezier(0.075, 0.82, 0.165, 1);
/*animation: herotextinbyme .5s linear forwards*/;overflow: hidden;margin-left:70px}
#logo_text_con{margin-left:70px;transition: all 0.7s cubic-bezier(0.075, 0.82, 0.165, 1);transform: translateX(-120%);animation: herotextin .5s .4s ease-in-out forwards;margin-left:-200px;opacity: 0;color:#fff;}
#logo_text_con::before{content: "\e928";font-size:72px;line-height:72px;font-family:"icomoon";}
.top_menu{position: absolute;top: 50%;right: 54px;font-size: 0;opacity: 1;transition: opacity 0s .7s;transform: translateY(-50%);display:flex;z-index:999}
#top_menu_search{font-size:40px;color:#fff;font-family:"icomoon";}
#top_menu_search::before {content: "\e90b";}


/* lnb */

#lnb{ 
  /* font: inherit;
  vertical-align: baseline;
  color: inherit;
  text-decoration: inherit;
  position: relative;
  top: 0;
  height: 100vh;
  padding: 23vh 0 100px 230px;
  background-color: #fff;
  font-size: 46px;
  line-height: 1.43;
  z-index: 999;
  transition: opacity .6s;
  box-sizing: border-box;
  width: 100%;
  left: 0px;
  right: 0px;
  display: none;
  opacity: 1; */
	font: inherit;
    vertical-align: baseline;
    color: inherit;
    text-decoration: inherit;
    position: fixed;
    top: 0;
    height: 100%;
    padding: 23vh 0 100px 230px;
    background-color: #fff;
    font-size: 46px;
    line-height: 1.43;
    z-index: 999;
    transition: opacity .6s;
    box-sizing: border-box;
    width: 100%;
    left: 0px;
    right: 0px;
    display: none;
    opacity: 1;
    
}

.lnb_ul li a{
  font-family: 'Ciutadella';
  font-size: 46px;
  line-height: 65.78px;
  width: 400px;
  display: block;
}

.lnb_ul li {
  list-style: none;
  display: block;
  width: 400px;
}

.header_copy_wrap{
  position: absolute;
  top: 190px;
  right: 190px;
}

.header_copy_wrap .header_copy{
  position: relative;

}


.header_copy_wrap .header_copy:nth-child(1), .header_copy_wrap .header_copy:nth-child(2), .header_copy_wrap .header_copy:nth-child(3), .header_copy_wrap .header_copy:nth-child(4), .header_copy_wrap .header_copy:nth-child(5), 
.header_copy_wrap .header_copy:nth-child(6), .header_copy_wrap .header_copy:nth-child(7) {
  display:none;
}

.lnb_shape_wrap{
  width: 100%;
  height: 100%;
  top: -455px;
  position: relative;
}

#lnb_shape_1{
  top: -60px;
  right: 10%;
  width: 40px;
  height: 40px;
  background-color: #ff6b5f;
  position: absolute;
  border-radius: 50%;
  z-index: 10;
}

#lnb_shape_2{
  top: 22.6%;
  right: 79.8%;
  width: 34px;
  height: 34px;
  margin: 400px 0 0 0;
  background-color: #f4b601;
  transform: scale(1);
  transform-origin: 50% 50%;
  animation: ball_yellow 6s ease-in-out infinite forwards;
  position: absolute;
  border-radius: 50%;
  z-index: 10;
}

#lnb_shape_3{
  position: absolute;
  top: 9em;
  right: 16.5%;
  width: 40px;
  height: 98px;
  border-radius: 20px;
  background-color: #00d3aa;
  z-index: 10;
}

#lnb_shape_4{
  bottom: 0;
    left: 0;
    width: 40px;
    height: 40px;
    background-color: #00c0e1;
    z-index: 20;
    animation: upanddown 5s ease-in-out infinite forwards;
    position: absolute;
    border-radius: 50%;
}



@keyframes ball_yellow {
  0% {
    top: 22.6%;
    right: 11.8%;
            transform: scale(1);
  }
  25% {
            transform: scale(0.5);
  }
  50% {
    top: 22.6%;
    right: 54.8%;
            transform: scale(1);
  }
  75% {
            transform: scale(2);
  }
  100% {
    top: 22.6%;
    right: 11.8%;
            transform: scale(1);
  }
}

@keyframes upanddown {
  0% {
    bottom: 0;
  }
  10% {
    bottom: calc(100% - 40px);
  }
  50% {
    bottom: calc(100% - 40px);
  }
  60% {
    bottom: 0;
  }
  100% {
    bottom: 0;
  }
}

/* footer */

#footer {width:100%;}
.footer_wrap{background-color: #fff;z-index: 100;position: relative;padding: 30px 60px 120px;display:flex;justify-content: space-between;}
.icon_logo::before{content:"\e904";font-family: 'icomoon' !important;font-size:29px}
.footer_menu ul{display:flex;align-items: center;}
.footer_menu ul li{list-style: none;margin:0 0 0 50px}
.footer_menu ul li:nth-child(2){font-weight:700;color:#000}
.footer_lang{padding:8px 35px 8px 15px;color:#333;background:#eee;border-radius: 18px;}
.dropdown{font-style:normal;}
.dropdown::before{content: "\e921";font-family: 'icomoon' !important;font-size: 20px;color: #666666;position: absolute; top: 5px;right: 5px;}
.footer_lang_wrap{position: relative;}


@keyframes fadein {
from {opacity: 0;}
to {opacity: 1;}
  }


@keyframes logofadein {
   0%{opacity: 0;
      font-size:10px;}
   50%{font-size:70px}
   100%{font-size:60px;
       opacity:1;}
      }
@keyframes dotin {
0% {
    opacity: 0;
    top: 20px;
    left: -10px;
}
50% {
    top: -10px;
    left: 20px;
}
100% {
    opacity: 1;
    top: 14px;
    left:0px;
}
}
@keyframes herotext {
 0% {
     transform: translateX(-120%);
    }
100% {
    transform: translateX(0);
    }
  }
@keyframes herotextin {
    0% {opacity: 0;
        margin-left:-200px
       }
   100% {opacity: 1;
       margin-left:0px
       }
     }


@keyframes herotextout {
0% {
    opacity: 1;
       margin-left:0px
    }
100% {
    opacity: 0;
        margin-left:-200px
    }
    }

#top_menu_bugger{position: relative;display:inline-block;margin:0 0 0 23px;width: 40px;height: 40px;background:transparent;border:none;cursor: pointer;}
#bugger_line1{position: absolute;top: 50%;left: 50%; width: 28px;height: 2px;background: #fff;transition: background-color 1s cubic-bezier(0.23, 1, 0.32, 1);transform: translate(-50%, -6px) rotate(0deg);animation: buggerclose1 .8s backwards;cursor: pointer;}
#bugger_line2{position: absolute;top: 50%;left: 50%;width: 28px;height: 2px;background: #fff;transition: background-color 1s cubic-bezier(0.23, 1, 0.32, 1);transform: translate(-50%, 4px) rotate(0deg);animation: buggerclose2 .8s backwards;cursor: pointer;}


@keyframes buggerclose1 {
    0% { 
              transform: translate(-50%, -50%) rotate(45deg);
    }
    40% {
              transform: translate(-50%, -50%) rotate(0deg);
    }
    50% {
              transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
              transform: translate(-50%, -6px) rotate(0deg);
    }
  }

@keyframes buggerclose2 {
    0% {
              transform: translate(-50%, -50%) rotate(-45deg);
    }
    40% {
              transform: translate(-50%, -50%) rotate(0deg);
    }
    50% {
              transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
              transform: translate(-50%, 4px) rotate(0deg);
    }
  }

@keyframes buggeropen1 {
    40% {
              transform: translate(-50%, -50%) rotate(0deg);
    }
    50% {
              transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
              transform: translate(-50%, -50%) rotate(45deg);
    }
  }

@keyframes buggeropen2 {
    40% {
              transform: translate(-50%, -50%) rotate(0deg);
    }
    50% {
              transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
              transform: translate(-50%, -50%) rotate(-45deg);
    }
  }




  @keyframes opacity {
    from {opacity: 1;}
    to {opacity: 0.5;}
      }
  @keyframes border-bottom-color{
    from {border-bottom: solid 1px transparent}
  to {border-bottom: solid 1px #fff}
  }
@keyframes fadein{
  from {opacity: 0;}
  to {opacity: 1;}
}
@keyframes fadeout{
  from{opacity:1}
  to {opacity: 0;}
}
  .header_normal {
    color: #fff;
  }
  
  .header_fix {
    position: fixed;background-color: rgba(255, 255, 255, 0.95);color: #333;height:80px;
    transition: background-color 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  }
  .header_fix #logo_ai {transform: translateY(-50%) scale(0.8);}
  .header_fix #logo_dot{transform: scale(0.8);}
  .header_fix #logo_text{transform: translate(-25px, -50%);visibility: hidden;}
  


@media screen and (max-width: 1256px){
  /* .gnb_indicator_wrap{left:48%} */
  .gnb_logo_link{left:28px}
  .top_menu{right:18px;top:50%}
  #gnb_logo_icon{display:block}
    
}

@media screen and (max-width:1200px){
  .lnb_ul .lnb_a:hover{
    font-weight: 600;
  }
}

@media screen and (max-width: 1024px){
  .gnb_indicator_wrap{left:30px;}
  .gnb_indicator{font-weight: 700;text-align:left}
  .gnb_indicator_wrap{width:500px}
  .top_menu{right:18px;top:50%}
  #gnb_wrap{height:156px}
  #gnb{height:156px}
 
}
@media screen and (max-width: 768px){
  #logo_text {visibility: hidden;}
    .gnb_wrap_m{
        height : 50px;
    }
  #gnb_wrap{height:72px}
  #gnb{height:50px}
  #gnb_logo_icon{transform: scale(0.6);top:-10%;left: -100px;}

  #top_menu_search{font-size: 34px;margin-left: 0px;line-height: 40px;
  }
  .top_menu{right:18px;top:50%}
  .gnb_indicator{font-size:20px}
  #top_menu_bugger{font-size:34px;margin-left:8px}
  #bugger_line1, #bugger_line2{width:22px}
  .icon_logo::before{font-size:22px}
  .footer_wrap{padding: 25px 20px 130px;z-index: 10;display:block}
  .footer_menu ul{display:block}
  .footer_menu{position: absolute;top:auto;right: 60px;bottom: 28px;left: 0;}
  .footer_menu ul li:first-child,.footer_menu ul li:nth-child(2){display: block;margin-left: 20px;padding-top: 10px;}
  .footer_lang_wrap{position: absolute;top: -78px;right: -28px;}

  #lnb{ 
    padding: 23vh 0 100px 40px;
  }

  .lnb_ul li a{
    font-size: 28px;
    line-height: 44px;
  }

  #lnb_shape_1{
    top: 470px;
    right: 60%;
    width: 36px;
    height: 36px;
    background-color: #ff6b5f;
    position: absolute;
    border-radius: 50%;
    z-index: 10;
  }

  #lnb_shape_2{
    top: 470px;
    right: 54%;
    width: 36px;
    height: 36px;
    margin: 0 0 0 0;
    animation: none;
  }

  #lnb_shape_3{
    position: absolute;
    top: 428px;
    right: 25%;
    width: 32px;
    height: 78px;
    border-radius: 20px;
    background-color: #00d3aa;
    z-index: 10;
  }
  
  #lnb_shape_4{
      top: 0;
      left: 0;
      width: 32px;
      height: 32px;
      background-color: #00c0e1;
      z-index: 20;
      animation: none;
  }
  
}

@media screen and (max-width:412px){
  .top_menu {
    top: 50%;
}
}