@import url(//fonts.googleapis.com/earlyaccess/notosanskr.css);

body, html {
    font-family: 'Open Sans', sans-serif;
    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
    color: #666;
    font-weight: 400;
    width: 100% !important;
    height: 100% !important;
}
hr {
    height: 3px;
    width: 70px;
    text-align: center;
    position: relative;
    background: #FFA121;
    margin: 0 auto;
    margin-bottom: 20px;
    border: 0;
    opacity: 1;
}
#menu {
    padding: 20px;
    transition: all 0.8s;
}
.on {
    background-color: #333 !important;
    padding: 0 !important;
    padding: 15px 0 !important;
}
#menu a.navbar-brand {
    font-size: 26px;
    font-weight: 600;
    color: #fff;
}
#menu a.navbar-brand em {
    font-size: 22px;
    font-weight: 400;
    font-style: normal;
    margin-left: 3px;
}
@media (min-width: 992px) {
    #menu .navbar-collapse {
        display: block!important;
    }
    #menu .navbar-collapse ul {
        float: right;
    }
}
#menu.navbar-dark .navbar-nav > li > a {
    text-transform: uppercase;
    color: #fff;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 1px;
    padding: 8px 2px;
    border-radius: 0;
    margin: 11px 20px 0 20px;
}
.intro {
    display: table;
    width: 100%;
    overflow: hidden;
    padding: 0;
    background-color: #000;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
}
.bd-office-business-park {
    background: url('/img/modern-office-1920.jpg');
}
.intro .overlay {
    background: rgba(0, 0, 0, 0.55);
}
.intro p {
    color: rgba(255, 255, 255, 0.6);
    font-size: 20px;
    letter-spacing: 8px;
    line-height: 28px;
    font-weight: 200;
    margin-top: 20px;
}
.intro h1 {
    color: #fff;
    font-size: 60px;
    line-height: 60px;
    font-weight: 500;
    letter-spacing: -1px;
    text-transform: uppercase;
    margin-top: 30px;
}
.intro h2 {
    color: #fff;
    font-size: 60px;
    line-height: 60px;
    font-weight: 700;
    letter-spacing: -1px;
    text-transform: uppercase;
    margin-top: 30px;
}
header .intro-text {
    padding-top: 260px;
    text-align: center;
    margin-bottom: 190px;
}
#about {
    padding: 90px 0 60px 0;
    background: #f6f6f6;
}
#about .about-text, #about .about-desc {
    margin-bottom: 40px;
}
#about h3 {
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 22px;
    font-weight: 500;
    padding: 0;
    margin: 20px 0 0 0;
}
#about hr {
    margin: 1rem 0;
}
#about p {
    font-family: 'Noto Sans KR', sans-serif;
    color: #333;
    font-weight: 400;
    line-height: 24px;
    margin-top: 18px;
}
#about .about-media img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
}
.btn-custom {
    font-family: 'Noto Sans KR', sans-serif;
    color: #fff;
    background-color: #FFA121;
    padding: 13px 33px 15px 33px;
    border-radius: 0;
    letter-spacing: -0.5px;
    margin: 0;
    font-size: 17px;
    font-weight: 400;
    margin-top: 20px;
    transition: all 0.2s;
}
.btn-custom:hover, .btn-custom:focus, .btn-custom.focus, .btn-custom:active, .btn-custom.active {
    color: #fff;
    background-color: #FFA121;
}
#services {
    padding: 90px 0 57px 0;
    background: #FFA121;
}
#services .section-title {
    margin-bottom: 56px;
}
#services h2 {
    color: #fff;
    font-weight: 600;
}
#services hr {
    background: rgba(255,255,255,1);
    margin-bottom: 30px;
}
#services p {
    color: #fff;
    font-family: 'Noto Sans KR', sans-serif;
}
#services p.sub1 {
    font-size: 20px;
    font-weight: 200;
    margin: 0;
    padding: 0;
}
#services .text-center .icon {
    width: 90px;
    height: 90px;
    display: table;
    text-align: center;
    margin: 0 auto 40px auto;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.8);
    background: #FFA121;
}
#services .text-center .icon svg {
    display: table-cell;
    vertical-align: middle;
    height: 90px;
    font-size: 40px;
    font-style: normal;
    line-height: 40px;
    color: #fff;
    fill: currentColor;
    text-align: center;
    margin: 0 auto;
}
#services .service-desc {
    margin: 10px 10px 40px;
    text-align: center;
}
#services p {
    color: #fff;
    font-family: 'Noto Sans KR', sans-serif;
}
#services p.sub2 {
    font-size: 22px;
    font-weight: 500;
    padding: 0;
    margin: 20px 0 0 0;
}
#services p.sub3 {
    font-size: 15px;
    font-weight: 300;
    line-height: 20px;
    margin-top: 7px;
}

#contactus {
    display: table;
    width: 100%;
    padding: 0;
    background: #222;
}
#contactus.bg-4542406 {
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    background-image: url('/img/contact1920.jpg');
}
#contactus .overlay {
    display: flex;
    padding: 83px 0 32px 0;
    background: rgba(0, 0, 0, 0.75);
}
#contactus .section-title {
    margin-bottom: 70px;
}
#contactus h2 {
    color: #fff;
    font-weight: 600;
}
#contactus .card {
    background: transparent;
}
#contactus .card h5 {
    color: #eee;
}
#contactus .card p {
    color: #7c7c7c;
}
#portfolio {
    padding: 83px 0 85px 0;
    background: #FFF;
}
#portfolio .section-title {
    margin-bottom: 70px;
}
#portfolio .section-title h2 {
    margin: 0 0 20px 0;
    font-weight: 600;
    font-size: 36px;
    color: #333;
}
#contact {
    padding: 28px 0 15px 0;
    background: #FFA121;
}
#contact .contact-info {
    width:auto;

}
@media (min-width: 992px) {
    #contact .col-md-4 {
        float: left;
    }
}
#contact h3 {
    text-transform: uppercase;
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 1px;
    padding: 0;
    margin-bottom: 2px;
}
#contact .contact-item {
    margin: 0 0 40px 0;
    padding: 0;
}
#contact .contact-item p {
    color: #fff;
    font-family: 'Noto Sans KR', sans-serif;
    font-size: 14px;
    letter-spacing: normal;
    font-weight: 200;
}
#footer {
    background: #32271A;
    padding: 45px 0 60px 0;
}
#footer p {
    color: #A99275;
    font-size: 13px;
}

.target-section {
    scroll-margin-top: 60px;
}

@media (max-width: 992px) {
    .target-section {
        scroll-margin-top: 260px;
    }
}

#imgModal .modal-body {
    max-height: 90vh;         /* 모달이 브라우저 높이 90%까지 */
    overflow-y: auto;         /* 세로 스크롤 자동 */
    padding: 0;
    display: block;
    position: relative;
}

#modalImage {
    width: 100%;              /* 가로폭 꽉 채움 */
    height: auto;             /* 세로는 비율에 따라 */
    display: block;
    margin: 0 auto;
    object-fit: unset;        /* 강제 리사이즈 X */
    max-width: unset;         /* Bootstrap img-fluid 영향 해제 */
    max-height: unset;        /* 세로 제한 해제 */
}

#imgModal .nav-btn {
    top: 50%;
    transform: translateY(-50%);
    width: 3.5rem;    /* 원래 w-5(h-25)를 대신할 수 있음 */
    /*height: 6rem;     !* 원하는 높이로 조정 *!*/
    height: 70%;     /* 원하는 높이로 조정 */
    background: rgba(0,0,0,0.2);
    color: #fff;
    border: 0;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.8;
    transition: opacity 0.2s;
}
#imgModal .nav-btn:hover {
    opacity: 1;
    background: rgba(0,0,0,0.35);
}

.close-x {
    background: transparent !important;  /* 완전 투명 */
    border: none !important;             /* 테두리 완전 제거 */
    box-shadow: none !important;         /* 그림자 제거 */
    outline: none !important;            /* 포커스 외곽선도 제거 */
    padding: 0 !important;
    margin: 0 !important;
    width: 40px; height: 40px;           /* 클릭 영역 넓게 */
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.2s;
}
.close-x:focus { outline: none !important; }
.close-x:hover { opacity: 1; background: transparent !important; }
.close-x svg { display: block; pointer-events: none; }

.modal-body {
    position: relative;
    padding-bottom: 0;
}

.modal-content {
    position: relative;
    overflow: hidden; /* 필요 시 */
}

.modal-caption {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    min-height: 48px;
    background: rgba(0,0,0,0.55);
    color: #fff;
    text-align: center;
    padding: 12px 16px 8px 16px;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.01em;
    border-bottom-left-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
    text-shadow: 0 2px 6px rgba(0,0,0,0.6);
    z-index: 20;
    pointer-events: none;
}

.sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
#top_btn {position:fixed;bottom:20px;right:20px;width:50px;height:50px;line-height:46px;border:2px solid #333;color:#333;text-align:center;font-size:15px;z-index:90;background:rgba(255,255,255,0.5)}
#top_btn:hover {border-color:#3059c7;background:#3059c7;color:#fff}