/* reset ****************************************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    position:relative;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;  }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block; }

body {
    line-height: 1;
    min-width:1280px;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    user-select: none
}
ol, ul {
    list-style: none; }

blockquote, q {
    quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none; }

table {
    border-collapse: collapse;
    border-spacing: 0; }

a {text-decoration:none; color:#333;}

/************************************************************/


/* fonts ****************************************************/

@font-face {
    font-family: gill-sans-nova, sans-serif;
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: gill-sans-nova, sans-serif;
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: gill-sans-nova, sans-serif;
    font-weight: 600;
    font-style: normal;
}


@font-face {
    font-family: 'NotoSansLight';
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/NotoSansKR-Light.otf") format("truetype"); }

@font-face {
    font-family: 'NotoSans Medium';
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/NotoSansKR-Medium.otf") format("truetype"); }

@font-face {
    font-family: 'NotoSansSemiBold';
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/NotoSansKR-Bold.otf") format("truetype"); }


/************************************************************/

/* header GNB ***********************************************/

header { /* position:absolute;*/ position:fixed; top:0;  width:100%;  height:98px;  line-height: 98px;  background-color:white;  z-index: 2; min-width:1280px;  }
header > div,
header > nav {  height: 100%;  display: inline-block;  transition: 0.3s all;  -webkit-transition:0.3s all;  }

/* header logo area */
header > .gnb_logo_area {  position:absolute;  top:3px; left:3.12vw;  font-size: 23px;  font-weight:bold;  letter-spacing: 4px;  color: #000000; z-index:1;  }

/* header menu area */
header > .gnb_menu_area {  width:100%;  }
.gnb_menu_area > ul {height:100%; line-height:29px; width:100%; max-width:800px; }
.gnb_menu_area  li { display:inline-block;  font-size: 15px;  letter-spacing: 3px; margin-left:2.2vw;   text-align:center; line-height:98px;}
.gnb_menu_area  li a{ color: #cccccc; position:relative; display:inline-block;
    -webkit-transition: opacity 250ms ease-out;
    -moz-transition: opacity 250ms ease-out;
    -ms-transition: opacity 250ms ease-out;
    -o-transition: opacity 250ms ease-out;
    transition: opacity 250ms ease-out;
}
.gnb_menu_area li a:before {content: '';
    background-color: #222;
    height: 1px;
    position: absolute;
    left: -1.5px;
    bottom: 0%;
    -webkit-transition: all 250ms ease-out;
    -moz-transition: all 250ms ease-out;
    -ms-transition: all 250ms ease-out;
    -o-transition: all 250ms ease-out;
    transition: all 250ms ease-out;
    width: 0;}
.gnb_menu_area li.open a:hover:before{width:99%;}
.gnb_menu_area li.active a:before { content: '';
    background-color: #222;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0%;
    width: 100%;
    z-index: 3;
}
.gnb_menu_area .open a{  color: #333333; }
.gnb_menu_area li:not(.open) a{ cursor: context-menu;}
.gnb_menu_area li:first-child {  margin-left:0;  }

/* header language area */
header > .gnb_change_lang {  position:absolute;  top:0; right:3.12vw;  }
.gnb_change_lang > ul > li {  display:inline-block;  font-size: 15px;  color: #333333;  margin-left:1.2vw;  cursor:pointer;  border-bottom: 1px solid transparent;  }
.gnb_change_lang li a{position:relative; height:100%; display:block;
    -webkit-transition: opacity 250ms ease-out;
    -moz-transition: opacity 250ms ease-out;
    -ms-transition: opacity 250ms ease-out;
    -o-transition: opacity 250ms ease-out;
    transition: opacity 250ms ease-out;}
.gnb_change_lang li a:before {content: '';
    background-color: #222;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0%;
    -webkit-transition: all 250ms ease-out;
    -moz-transition: all 250ms ease-out;
    -ms-transition: all 250ms ease-out;
    -o-transition: all 250ms ease-out;
    transition: all 250ms ease-out;
    width: 0;}
.gnb_change_lang li a:hover:before{width:100%;}
.gnb_change_lang li.active a:before { content: '';
    background-color: #222;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0%;
    width: 100%;
    z-index: 3;
}

.header_area {  width:100%;  height:98px;  }

/************************************************************/



/* footer ***************************************************/

footer { width:100%; height:384px; background-color:#fff; padding-top: 3.12vw; z-index: 2; }
footer > .footer_top {
    width:100%;
}

.footer_top > ul {
    width:100%;
    height:223px;
    border-top:1px solid #e5e5e5;
    border-bottom:1px solid #e5e5e5;
}
.footer_top li {
    width:20%;
    height:140px;
    top:50%;
    margin-top:-62.5px;
    text-align:center;
    float:left;
    overflow:hidden;
    padding-top:10px;
}
.footer_top li::after {
    content: "";
    position:absolute;
    right:0;
    top: 13px;
    width:1px;
    height:82px;
    background:#e5e5e5;
}
.footer_top li:last-child::after {  width:0;  }

.footer_top li a{display:inline-block; width:100%; height:100%;}

.footer_top li .date {
    padding-bottom:10px;
    color:#999;
}
.footer_top li:not(.open) a{cursor: context-menu;}
.footer_top li:not(.open) .date {opacity:1; color:#ccc;}

.footer_top li .country {
    padding-bottom:20px;
}
.footer_top .short-arrow-wrapper {
    margin:0 auto;
}
.footer_top > ul > .open a > .footer_inner_controll .country {
    color:#333;
}

.footer_top li.open{ cursor:pointer;}
.footer_top .footer_inner_controll {
    position:absolute;
    width:100%;
    left:0; right:0;
    top:15px;
    height:100%;
    transition:0.5s all;
    -webkit-transition:0.5s all;
}
.footer_top li.open:hover .footer_inner_controll{top:-9px;}
.footer_top .short-arrow-wrapper .short-arrow-right {opacity:0; transition:.2s all ease-out;}
.footer_top li.open:hover .short-arrow-wrapper .short-arrow-right{opacity:1;}

.footer_bottom { width:100%; height:161px; padding:60px; letter-spacing: 1.2px; background:#fff;}
.footer_bottom > div:first-child { float:left; }
.footer_bottom > div p {float:left; display:inline-block; margin:0 23px; position:relative; transition: 0.3s all;  -webkit-transition:0.3s all;}
.footer_bottom > div p a {color:#666; }
.footer_bottom > div p:first-child{margin-left:0;}
.footer_bottom > div:first-child p:after {content:''; display:inline-block; width:1px; height:13px; position:absolute; right:-23px; top:50%; transform:translateY(-50%);
background-color:#e5e5e5;}
.footer_bottom > div:first-child p:last-child:after{content:none;}
.footer_bottom > div:last-child { float:right; }
.footer_bottom > div a.on{font-weight:400; color:#666; font-family: gill-sans-nova, "NotoSansRegular", sans-serif; /*line-height:26.4px; letter-spacing:1.92px;*/}




/************************************************************/



/* common class *********************************************/
section {  width:100%; height:100%; }
.contents_wrapper {  width:100%;  max-width:100%; height:auto;  margin:0 auto; }
.section_full { padding:0 3.12vw 3.12vw 3.12vw;  }
.section_content {  width:100%;  max-width:1500px; min-width:1280px;  padding:50px;  height:auto;  margin:0 auto;  }
.intro_center {  position:absolute;  left:50%; top:50%;  transform:translate(-50%, -50%); width:100%; text-align:center; margin-top:-50px; }
.center {  position:absolute;  left:50%; top:50%;  transform:translate(-50%, -50%); width:100%; text-align:center; }
.fleft {float:left;}
.fright {float:left;}
.nomargin{margin:0;}
.nopadding {padding:0;}
.dpnone { display:none; }
/************************************************************/


/* icon class ***********************************************/

/* long arrow */
.long-arrow-right,
.long-arrow-left{
    position:absolute;
    left:0; top:0;
    display: block;
    margin: 5px auto;
    width: 14px;
    height: 14px;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    overflow: visible;
}

.long-arrow-right{  transform: rotate(135deg);  left:130px;  }
.long-arrow-left{  transform: rotate(-45deg);  right:130px;  }

.long-arrow-right::after,
.long-arrow-left::after{
    content: "";
    display: block;
    width: 1px;
    height: 145px;
    background-color: #fff;
    transform: rotate(-45deg) translate(51px, 21px);
    left: 0;
    top: 0;
}

.scroll-hint{
    position:absolute;
    background:#999999;
    bottom:0;
    left:calc(50% - 1px);
    height:70px;
    border-left:1px solid rgba(238,236,234,.2);
    width:2px;
    transition:all .4s;
    z-index:10
}
.scroll-hint:before{
    content:"";
    position:absolute;
    left:-1px;
    top:0;
    display:block;
    width:2px;
    height:100%;
    background-color:#dedede;
    transform:scaleY(0) translateZ(0);
    animation:scroller 2.5s infinite
}

@keyframes scroller{
    0%{ transform-origin:top left;transform:scaleY(0);animation-timing-function:cubic-bezier(.48,.02,0,.99) }
    30%{ transform-origin:top left;transform:scale(1) }
    41%{ transform-origin:bottom left;transform:scale(1);animation-timing-function:cubic-bezier(.48,.02,0,.99) }
    to{ transform-origin:bottom left;transform:scaleY(0) }
}


/* long arrow */

/* double-arrow */
.double-arrow-wrapper {
    width:20px;
    height:15px;
    cursor:pointer;
}

.double-arrow-wrapper > span {
    position:absolute;
    width: 6px;
    height: 6px;
    overflow: visible;
}
.double-arrow-wrapper > span:first-child {
    transform: rotate(-45deg);
    border-top: 1px solid #000;
    left:1px;
    top:2px;
}

.double-arrow-wrapper > span:first-child::after {
    content: "";
    display: block;
    width: 1px;
    height: 19px;
    background-color: #000;
    transform: rotate(-45deg) translate(7px, 3px);
}

.double-arrow-wrapper > span:last-child {
    transform: rotate(135deg);
    border-top: 1px solid #000;
    right: 1px;
    top: 7px;
}
.double-arrow-wrapper > span:last-child::after {
    content: "";
    display: block;
    width: 1px;
    height: 19px;
    background-color: #000;
    transform: rotate(-45deg) translate(7px, 3px);
}

/* short arrow */
.short-arrow-wrapper .short-arrow-right {width:32px; height:32px; background:url('../img/common/arrow-01.svg') no-repeat center / cover; margin:0 auto; }


/* btn_prev_artist, btn_next_artist */
.btn_next_artist {width:37px; height:16px; background:url('../img/common/btn-nextartist-off.svg') no-repeat center / cover; display:inline-block; cursor:pointer; transition: 0.3s all;  -webkit-transition:0.3s all;}
.btn_prev_artist {width:37px; height:16px; background:url('../img/common/btn-prevartist-off.svg') no-repeat center / cover; display:inline-block; cursor:pointer; transition: 0.3s all;  -webkit-transition:0.3s all;}
.btn_next_artist:hover {background:url('../img/common/btn-nextartist-on.svg') no-repeat center / cover;}
.btn_prev_artist:hover {background:url('../img/common/btn-prevartist-on.svg') no-repeat center / cover;}

.artist_btn:focus{outline: none;}


/*play button*/
.play-btn {
    position:absolute;
    width:91px;
    height:91px;
    border:2px solid #fff;
    border-radius:50%;
    cursor:pointer;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.play-btn::after {
    content: "";
    position: absolute;
    left: 37px;
    top: 30px;
    border-left: solid 19px white;
    border-bottom: solid 13px transparent;
    border-top: solid 13px transparent;
}
/*play button*/

/* letter image style button*/
    .img_letter {
        position:absolute;
        width:108px;
        height:108px;
        border-radius:56px;
        background-size:cover;
        display:none;
        overflow:hidden;
        outline:hidden;
    }
    .img_letter::after {
        content:""
    }
    .invitation-letter-img {
        background: url('../img/common/invitation_btn.svg') no-repeat center center;
    }
    .answer-letter-img {
        background: url('../img/common/invitation_btn.svg') no-repeat center / cover;
    }
/* letter image style button*/


/* letter button*/
.letter {
    width:108px;
    height:108px;
    border:2px solid #fff;
    border-radius:50%;
    cursor:pointer;
    display:none;
}
.answer-letter::after {
    content: "ANSWER LETTER";
    position: absolute;
    top: 35px;
    text-align: center;
}

.invitation-letter::after {
    content: "INVITATION LETTER";
    position: absolute;
    top: 35px;
    text-align: center;
}
/* letter button*/

/* prev button, next button */
.prev-btn, .next-btn {
    width:50px !important;
    height:50px !important;
    border-radius:50%;
    color:transparent !important;
    margin-top:-50px;
}
.prev-btn a, .next-btn a {display: inline-block; width:100%; height:100%;}
.prev-btn a {background:url('../img/common/btn-gallery-prev.svg') no-repeat center / contain; width:100%; height:100%; transition: 0.3s all;  -webkit-transition:0.3s all;}
.prev-btn:hover a{background:url('../img/common/btn-gallery-prev_hover.svg') no-repeat center / contain;}
.next-btn a {background:url('../img/common/btn-gallery-next.svg') no-repeat center / contain; width:100%; height:100%; transition: 0.3s all;  -webkit-transition:0.3s all;}
.next-btn:hover a{background:url('../img/common/btn-gallery-next_hover.svg') no-repeat center / contain;}

/* prev button, next button */
.swiper-button-next, .swiper-container-rtl .swiper-button-prev, .swiper-button-prev, .swiper-container-rtl .swiper-button-next {display: inline-block !important;}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {opacity:0 !important;}
/* prev button, next button */


/* arrow down */
.scroll_down {
    width:18px;
    height:55px;
    background: url(../img/common/scroll.png) no-repeat;
    background-size: 100% auto;
}
/* arrow down */

/* btn next */
.btn_next {
    width:146px;
    height: 17px;
    background: url(../img/common/btn-next-on.svg) no-repeat;
    background-size: 100% auto;
}
/* btn next */

/************************************************************/

/* popup */
.popup{position:fixed; width:100%; height:100%;left:0;right:0;top:0;bottom:0;z-index:999; display:none;}
.popup .dim{position: fixed; width: 100%; height: 100%; left: 0; top: 0; z-index: 1000; background: rgba(0,0,0,.8);}
.popup .pop_inner{
    position: absolute;
    left: 50%;
    top:50%;
    width:auto;
    height:auto;
    z-index: 1001;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.popup .gallery_comment { position:absolute; right:0; bottom:-76px; }
.popup a.btn_close_pop{position:absolute; top: -55px; right: 30px; color:#fff; }
.popup a.btn_close_pop:after{content:''; position:absolute; top:50%; right:-32px; transform:translateY(-50%); background:url("../img/common/ico-close.svg") no-repeat 0 0 / contain; width:20px; height:20px;}

.londonImage {
    background: url(../img/london/img-london.jpg) no-repeat center center;
}
.berlinImage {
    background: url(../img/berlin/img-berlin-new.jpg) no-repeat center center;
}
.buenosImage {
    background: url(../img/buenos/img-buenos.jpg) no-repeat center center;
}
.seoulImage {
    background: url(../img/seoul/img-seoul.jpg) no-repeat center center;
}
.newyorkImage {
    background: url(../img/newyork/img-newyork.jpg) no-repeat center center;
}

.intro_bg_set {
    height:100%;
    background-size: cover;
}
.popup_parent {
    cursor:pointer;
}