/*-----------------------------------------------------------------
* skycraft ad
-----------------------------------------------------------------*/
.ad {position:relative;width:100%;margin:0 auto;padding:0;}
.adInfo{display:none}

/*if exist top ad G05(#top-ad)*/
#topad{
  position:relative;
  margin:0 auto;
  padding:0;
  background: var(--gray-fa);
}
.skyad{
  /*fixed일 때는 padding-top 필수*/
  position:absolute;
  z-index:10;
  top: 250px;
  left:50%;
  min-width:120px;
  max-width:200px;
  min-height:450px;
  display: flex;
  flex-direction: column;
  gap:15px;
}
.skyad2{
  position:absolute;
  z-index:10;
  top: 0;
  left:50%;
  min-width:120px;
  max-width:200px;
  min-height:450px;
  display: flex;
  flex-direction: column;
  gap:15px;
}
.skyad-left{ margin-left:-770px;}
.skyad-right{ margin-left: 630px;}
.skyad-right2{ margin-left: 630px;}

.nsp-newsletter{
  display: flex;
  align-items: center;
  justify-content: center;
  width:100%;
  height:100%;
  border-radius:7px;
  background-image: radial-gradient(circle at 85% 1%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 96%,transparent 96%, transparent 100%),radial-gradient(circle at 14% 15%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 1%,transparent 1%, transparent 100%),radial-gradient(circle at 60% 90%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 20%,transparent 20%, transparent 100%),radial-gradient(circle at 79% 7%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 78%,transparent 78%, transparent 100%),radial-gradient(circle at 55% 65%, hsla(190,0%,93%,0.05) 0%, hsla(190,0%,93%,0.05) 52%,transparent 52%, transparent 100%),linear-gradient(135deg, rgb(37, 56, 222),rgb(96, 189, 244));
}
.nsp-newsletter a{
  position:relative;
  margin:0 auto;
  padding:20px 10px;
  font-size:18px;
  font-weight:500;
  color:var(--white);
  text-align: center;
}

/*---------------------------------------------------------------------
* ad google
---------------------------------------------------------------------*/

/* =========================
AD WRAP (공통)
========================= */

.ad-wrap {
  position:relative;
  width:100%;
  min-height: 250px;
  overflow:hidden;
  line-height:0;
  transition:height 0.3s ease;
}

/* placeholder background */
.ad-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--gray-fa, #fafafa);
  z-index:0;
}
/* =========================
내부 정렬
========================= */
.ad-inner{
  position: relative;
  display: block;
  z-index: 1;
  width:100%;
  text-align:center;
}
.ad-inner ins,
.ad-inner iframe{
  display:block !important;
  margin:0 auto !important;
}
/* =========================
로딩 텍스트
========================= */
.ad-loading{
  position:absolute;
  z-index: 2;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  font-size:13px;
  color:var(--gray-999);
  transition:opacity 0.3s;
}
/* =========================
로드 완료
========================= */
.ad-wrap.loaded::before{
  display:none;
}
.ad-wrap.loaded .ad-loading{
  display: none !important;
  opacity: 0;
  visibility: hidden;
}
.ad-wrap.fail{
  min-height:120px;
}
.ad-wrap.fail{
  min-height:120px;
  background:var(--gray-fa, #fafafa);
}
/* AD close button */
.ad-close{
  position:absolute;
  top:0;
  right:0;
  margin-top:-26px;
  z-index:10;
  padding:2px 10px;
  border-radius: 10px;
  border:1px solid var(--red);
  background:var(--white);
  cursor:pointer;
  font-size:12px;
}
.ad-close:hover, .ad-close:focus {
  border:1px solid var(--red);
  background:var(--red);
  color:var(--white);
}

/*---------------------------------------------------------------------
* ad nsp 
---------------------------------------------------------------------*/
.add-banner { background: var(--blue-4);} 

/* placeholder */
.add-banner:empty::before{
  content:"Advertisement (NSP)";
  position:absolute;
  inset:0;
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:12px;
  color:var(--gray-999);
}
/*
광고가 로딩되면 placeholder 제거 (지원브라우저)
Chrome 105+
Safari 15.4+
Edge 105+
*/
.add-banner:has(ins:not(:empty))::before{
  display:none;
}
.N06 .add-banner img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.T01{
  margin-bottom:30px;
}
.T01 img {
  width:300px;
  height:80px;
}
.S01, .S02{
  margin:0 auto;
  padding:0;
}
.N01{
  position:relative;
  width:300px;
  height:80px;
}
.N03, .N04{
  position:relative;
  width:640px;
  aspect-ratio: 16/6; /*640*240*/
}
/*list type (N02, N06)*/
.N06{
  display:flex;
  flex-direction:column;
  gap:15px;
  align-items:center;
}
.N06 .add-banner{
  position:relative;
  width:300px;
  height:auto;
/*  aspect-ratio: 300/80;*/
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid var(--gray-eee);
  background: var(--red);
  display:flex;
  justify-content:center;
  align-items:center;
}
/*---------------------------------------------------------------------
* Add Special layout
---------------------------------------------------------------------*/
.main-ad{
  margin-top: 50px;
}
.submain-ad{
  margin-top: 50px;
}
.swiper-T01{
  position:relative;
  width:300px;
  height:80px;
}
.swiper-T01-pagination{
  display:flex;
  justify-content: center;
  align-items: center;
  gap:3px;
  font-size:12px;
  color:var(--gray-999);
  min-height:20px;
}

.swiper-T01-pagination::before{
  content: "Advertisement";
  margin-left:2px;
}
/* =========================
타입별 CLS 대응(실제 광고 사이즈 기준)
========================= */
.ad-wrap[data-ad-type="display"]{
  min-height:250px;
}
.ad-wrap[data-ad-type="inarticle"]{
  min-height:200px;
}
.ad-wrap[data-ad-type="fluid"]{
  min-height:200px;
}
.ad-wrap[data-ad-type="autorelaxed"]{
  min-height:100px;
}
#G01{width:300px;margin: 0 auto;} /* news aside(1) */
#G02{width:300px;margin: 0 auto;} /* news aside(2) */
#G03{margin:40px 0;} /* news body1 */
#G06{margin-top:50px;} /* news list */
#G07{margin-top:50px;margin-bottom:0;} /* main */

#G01.ad-wrap,
#G02.ad-wrap {
    display: block !important;
    min-height: 250px; /* 광고가 들어올 자리를 미리 딱딱하게 굳혀둡니다 */
    min-width: 300px;
    content-visibility: auto; /* 브라우저가 렌더링 최적화를 하도록 도움 */
}
/* 내부 ins 태그도 강제 고정 */
#G01 .adsbygoogle,
#G02 .adsbygoogle {
    display: block !important;
    min-height: 250px;
}
/*---------------------------------------------------------------------
* ad tjtue
---------------------------------------------------------------------*/
.ad_tjtune {
  position:relative;
  min-height:200px;
  text-align:center;
}
.ad_tjtune:empty::before{
  content: "Advertisement(TJTUNE)";
  position: absolute;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width:100%;
  height:100%;
  font-size: 13px;
  color: var(--gray-999);
}
/*---------------------------------------------------------------------
* ad nsp networks 
---------------------------------------------------------------------*/
.ad_agency_recrut{
  position:relative;
  background:var(--bg-image-blue);
  border-radius:5px;
}
.ad_agency_recrut .agency_recrut{position:relative;;padding:25px ;}
.ad_agency_recrut .agency_recrut .agent_title1 {padding-bottom:0;color:var(--white);font-weight:700;font-size:16px;}
.ad_agency_recrut .agency_recrut .agent_title2{margin-top:10px;color:var(--white);font-weight:700;font-size:14px;}
.ad_agency_recrut .agency_recrut .agent_info{margin-top:10px;color:var(--white);font-size:13px;word-break: keep-all;}
.ad_agency_recrut .agency_recrut .agent_content{margin-top:5px;color:var(--gray-ddd);font-size:13px;}
.ad_agency_recrut .agency_recrut .agent_button{margin-top:10px;color:var(--gray-ccc);font-weight:400}
/*---------------------------------------------------------------------
* @media
---------------------------------------------------------------------*/
@media (min-width: 993px) and (max-width: 1200px) {
  .T01{
    width: calc(100% + (var(--wrap_panel-padding-1240) * 2));
    margin-left: calc(var(--wrap_panel-padding-1240) * -1);
    margin-right: calc(var(--wrap_panel-padding-1240) * -1);
    padding:20px 0;
    background: var(--bg-image-gray);
  }
}
@media all and (min-width:769px) and (max-width:992px) {
  .T01{
    width: calc(100% + (var(--wrap_panel-padding-1240) * 2));
    margin-left: calc(var(--wrap_panel-padding-1240) * -1);
    margin-right: calc(var(--wrap_panel-padding-1240) * -1);
    padding:20px 0;
    background: var(--bg-image-gray);
  }
}
@media all and (min-width:577px) and (max-width:768px) {
  /* over layer = 100% */
  .T01{
    width: calc(100% + (var(--wrap_panel-padding-768) * 2));
    margin-left: calc(var(--wrap_panel-padding-768) * -1);
    margin-right: calc(var(--wrap_panel-padding-768) * -1);
    padding:20px 0;
    background: var(--bg-image-gray);
  }
}
@media all and (max-width:576px) {
  /* over layer = 100% */
  .T01{
    width: calc(100% + (var(--wrap_panel-padding-576) * 2));
    margin-left: calc(var(--wrap_panel-padding-576) * -1);
    margin-right: calc(var(--wrap_panel-padding-576) * -1);
    padding:20px 0;
    background: var(--bg-image-gray);
  }
}
@media all and (max-width:1200px) {

  .skyad{display:none}

  #G07{
    margin-top:50px;
    margin-bottom:50px;
  }

  .N06{display:none}
  /* Mobile : swipe slider */
  /*
  .N06{
    flex-direction:row;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    gap:10px;
    padding:20px 0;
    background: var(--gray-fe);
	padding-left:20px;
  }
  .N06 .add-banner{
    width:320px;
    height:100px;
    flex:0 0 320px;
    scroll-snap-align:start;
  }
  .N06 .add-banner:first-child{
    margin-left:10px;
  }
  .N06 .add-banner:last-child{
    margin-right:10px;
  }
  .N06::-webkit-scrollbar{
    display:block;
  }
  */
  .ad_tjtune{display:none;width:0;height:0;}
}