/* 
Theme Name: GoyoMinimal
Author: Goyo
Author URI: https://goyofunk.com
Description: 건축가, 디자이너, 문화, 예술 관련 업종을 위한 미니멀리즘 홈페이지 테마 
Version: 2.0
Text Domain: goyo
*/

@font-face { 
 font-family: 'Pretendard Variable'; 
 font-weight: 45 920; 
 font-style: normal; 
 font-display: swap; 
 src: local('Pretendard Variable'), 
 url('assets/fonts/pretendard/PretendardVariable.woff2') format('woff2-variations'); 
 } 

* { margin: 0; padding: 0; box-sizing: border-box; } 
body { margin:0 auto; overflow:auto; overflow-x:hidden; position:relative; width:100%; -ms-overflow-style:none; } 
body,button,input,select,optgroup,textarea { 
 font-family: "Pretendard Variable", -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; 
 font-size: clamp(15px, 0.9vw, 16px); line-height: 1.6; color: #000; } 
h1 { font-size: clamp(24px, 3vw, 36px); }
h2 { font-size: clamp(20px, 2.3vw, 28px); }
h3 { font-size: clamp(17px, 1.7vw, 20px); }
h4 { font-size: clamp(15px, 1.5vw, 18px); }
h5 { font-size: clamp(14px, 1.3vw, 16px); }
h1, h2 { line-height: 1.4; }
h3, h4, h5 { line-height: 1.6; }
.has-jua-font-family { font-family: var(--wp--preset--font-family--jua, "Jua", sans-serif) !important; }
.content h1, .content h2, .content h3, .content h4, .content h5 { margin-top: 1rem ; margin-bottom: 1rem; } 

a { display: inline-block; color:inherit; text-decoration:none; transition:all 0.2s; } 
a:hover,a:focus,a:active { text-decoration:none; } 
a:focus { outline:0; } 
a:hover,a:active { outline:0; } 
a:not([href]) { cursor: text; } 
img, svg { max-width: 100%; } 
li { display: inline-block; list-style: none; } 
ul.dot li { list-style: disc; } 
ul.dot li::marker { color: #5ba6e4; } 
input[type="file"]::file-selector-button { background-color: #fff; color: #000; border: 1px solid #ddd; padding: 8px 15px; cursor: pointer; } 
input[type="file"]::file-selector-button:hover { background-color: #fff; } 
.alignleft { float: left; margin-right: 1.5em; } 
.alignright { float: right; margin-left: 1.5em; } 
.aligncenter { display: block; margin-left: auto; margin-right: auto; } 
.displaynone { display: none !important; }
/* mbYTPlayer 무료 버전 워터마크(MB.YTPLAYER@MB.IDEAS) 숨김 */
.YTPOverlay [class*="ytp_wm_"] { display: none !important; visibility: hidden !important; } 
.content .mb-5{margin-bottom: 5px !important;}
.content .mb-10{margin-bottom: 10px !important;}
.content .mb-15{margin-bottom: 15px !important;}
.content .mb-20{margin-bottom: 20px !important;}
.content .mb-25{margin-bottom: 25px !important;}
.content .mb-30{margin-bottom: 30px !important;}
.content .mb-35{margin-bottom: 35px !important;}
.content .mb-40{margin-bottom: 40px !important;}
.content .mb-45{margin-bottom: 45px !important;}
.content .mb-50{margin-bottom: 50px !important;}
.content .mb-55{margin-bottom: 55px !important;}

/* common */
#wrap { position: relative; width: 100%; min-height: 100vh; } 
.container { margin:auto; padding-right: 10px; padding-left: 10px; position:relative; width:100%; max-width:1000px; } 
.post-content::after { clear: both; content: ''; display: block; } 
.container .row { margin-right:-20px; margin-left:-20px; display: flex; flex-wrap: wrap; position:relative; } 
.textNoMobile { display: block; } 
.site-main { position: relative; min-height:700px; margin-bottom:0px; width: 100%; } 
.single #wrap, .single .site-main { min-height: max-content; } 
.wp-block-group.has-global-padding {padding: 0;}

/* 패턴 */
.pt-title { font-size: 30px; font-weight: 700; line-height: 1.4; letter-spacing: -0.5px; } 
.bzCardGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px 40px; } 
.bzCard { padding: 0px; overflow: hidden; } 
.bzCard .wp-block-image { width: 100%;; overflow: hidden; display: flex; align-items: center; justify-content: center; } 
.bzCard .wp-block-image img { min-height: 100%; min-width: 100%; max-width: 100%; object-fit: cover; } 
.bzCard h4 { margin: 20px 20px !important; padding-bottom: 0; font-size: 20px; font-weight: 500; line-height: 1.4; } 
.bzCard p { margin: 0px 30px 50px 30px !important; font-size: 16px;  } 
.bzCardGrid2 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px 40px; } 
.bzCardGrid2 .bzCard h4 { margin: 30px 0px 10px 0px !important; padding-bottom: 0; font-size: 22px; font-weight: 600; line-height: 1.4; } 
.bzCardGrid2 .bzCard p { margin: 0px 0px 50px 0px !important; font-size: 16px;  } 

.pt-col-left h3 {  font-weight:500; line-height: 1.4; } 
.pt-col-left p {  line-height: 1.5; } 
.bzinfo_col { border: 1px solid #aaaaaa80; box-shadow: 0px 4px 5px rgba(0,0,0,0.05); border-radius: 12px; padding: 15px 20px; display: grid !important; 
 grid-template-columns: 120px auto; gap: 0; } 
.bzinfo_col h4 { font-size: 20px; font-weight: 600; margin-bottom: 10px; } 
.bzinfo_col p { font-size: 17px; letter-spacing: -0.5px; line-height: 1.4; margin-top: 0; } 

.faq-accordion { margin: 0 auto; max-width:780px; border-top: 1px solid #ddd; } 
.faq-item { border-bottom: 1px solid #ddd; padding: 10px 0; margin-top: 0; } 
.faq-question { display: flex; padding: 10px 0 10px 30px; font-size: 24px; font-weight: 500; align-items: center; cursor: pointer; position: relative; } 
.faq-question::before { content: "\F64D"; font-family: "bootstrap-icons"; position: absolute; left: 0; font-size: 22px; opacity: 0.6; } 
.faq-answer { display: none; margin-top: 10px; font-size: 18px; padding:10px 0 20px 30px; color: #555; line-height: 1.6; } 

/* faqWrapper 아코디언 (고객 편집용 FAQ 패턴) */
.faqWrapper { margin: 0 auto; width: 100%; } 
/* .subbox:has(.faqWrapper) { max-width: 800px; } */
.faqWrapper .faqItem { border-bottom: 1px solid #aaaaaa5c; margin-block-start :0; } 
.faqWrapper .faq-header { display: flex; align-items: center; padding: 12px 5px 12px 35px; margin: 0; cursor: pointer; font-size: clamp(15px, 1.4vw, 16px); font-weight: 400; position: relative; width: 100%; } 
.faqWrapper .faq-header::before{  content: "\F38B"; font-family: "bootstrap-icons"; position: absolute; left: 0; width: 30px;margin-left: 3px; opacity: 0.5;}
.faqWrapper .faq-header:hover{background-color: #f8f9fa;}
body.darkmode .faqWrapper .faq-header:hover{background-color: #333333;}
.faqWrapper .faq-header .faq-icon { position: relative; width: 24px; height: 24px; flex-shrink: 0; margin-left: auto; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #999; pointer-events: none; } 
.faqWrapper .faq-header .faq-icon::before { content: "\f4fe"; font-family: "bootstrap-icons"; display: block; line-height: 1; } 
.faqWrapper .faqItem.active .faq-header .faq-icon::before { content: "\f2ea"; } 
.faqWrapper .faq-content { max-height: 0; overflow: hidden; transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
 margin: 0; padding: 0 5px; font-size: clamp(14px, 1.2vw, 16px); line-height: 1.6; opacity: 0.9; }
.faqWrapper .faq-content::after { content: ''; display: block; height: 25px; } 
.faqWrapper .faq-content::before { content: ''; display: block; height: 15px; } 
.serviceBoxWrap { position: relative; width: 100%; margin-top:-20px !important } 
.mainService-wrap { gap: 40px; padding:100px 0 !important; width: 100%; display: flex; flex-direction: column; } 
.mainprodwrap { padding: 30px 0; } 

.max-width-780, .max-width-small {max-width: 780px !important; margin-left: auto; margin-right: auto;}
.max-width-900{max-width: 900px !important; margin-left: auto; margin-right: auto;}
.max-width-1000{max-width: 1000px !important; margin-left: auto; margin-right: auto;}
.max-width-1200{max-width: 1200px !important; margin-left: auto; margin-right: auto;}

/* 슬라이더 패턴 */
.metaslider .flex-control-nav { bottom: -5px !important; } 
.metaslider .flexslider { margin: 0 0 10px !important; } 
.flex-control-paging li a { width: 7px !important; height: 7px !important; } 
.metaslider.ms-theme-default-base .flexslider .flex-direction-nav li a { background: transparent !important; background-image: none !important; top: calc(50% + 10px) !important;} 
.metaslider.ms-theme-default-base .flexslider .flex-direction-nav li a:focus { outline: none !important; } 
.metaslider.ms-theme-default-base .flexslider .flex-direction-nav li a.flex-next:after { mask-image: url(assets/images/sl-right.svg) !important; } 
.metaslider.ms-theme-default-base .flexslider .flex-direction-nav li a.flex-prev:after { mask-image: url(assets/images/sl-left.svg) !important; } 
.metaslider.ms-theme-default-base .flexslider .flex-direction-nav li a:after, 
.metaslider.ms-theme-default-base .flexslider .flex-direction-nav li a:before { mask-size: 30px auto !important; } 
.metaslider.ms-theme-default-base .flexslider .flex-control-nav li a:focus { outline: none !important; } 
body.darkmode .metaslider.ms-theme-default-base .flexslider .flex-control-nav li a.flex-active { background: rgb(255 255 255 / 90%) !important; } 
body.darkmode .metaslider.ms-theme-default-base .flexslider .flex-control-nav li a:not(.flex-active) { background: rgb(255 255 255 / 29%) !important; } 



.wp-block-embed-youtube > div { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; overflow: hidden; margin: 40px 0; } 
.wp-block-embed-youtube > div iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-width: 100%; } 

/* popup */
#jt_popup_playground > article { border-radius: 1rem; overflow: hidden; } 
#jt_popup_container.pc .jt_popup_notoday:after { display:none !important; } 
#jt_popup_container.pc .jt_popup_notoday { font-size: 14px !important; color: rgba(255, 255, 255, 0.85) !important; } 
#jt_popup_container #jt_popup_overlay { display: none !important; } 
#jt_popup_playground article { box-shadow: 10px 10px 20px rgba(0,0,0,0.1) !important; } 

/* 카테고리 */
.category .page-header { padding-top: 100px; } 
.cate-info { padding: 0; display: flex; align-items: center; justify-content: space-between; position: relative; font-size: 15px; margin-bottom: 20px; margin-top: -20px; }
.cate-info.is-hidden { display: none !important; }
.category-btwrap { display: flex; align-items: center; justify-content: center; padding: 40px 0 !important; } 
.category-bt-search { display: flex; justify-content: start; } 
.category-search-form { display: flex; align-items: center; gap: 3px; width: 350px; max-width: 100%; } 
.category-search-select { height: 44px; padding: 0 10px; border: 1px solid #ddd; border-radius: 4px 0 0 4px; background: #fff; font-size: 15px; min-width: 100px; outline: none; } 
.category-search-input { flex: 1; height: 44px; border: 1px solid #ddd; width: 200px; border-radius: 0; padding: 0 10px; font-size: 15px; background: #fff; color: #222; outline: none; } 
.category-search-input::placeholder { color: #a4a4a4; } 
.category-search-btn { height: 44px; margin-left: -3px; min-width: 44px; border: 1px solid #ddd; border-left: none; border-radius: 0 4px 4px 0; background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; } 
.category-search-btn i { font-size: 18px; color: #5a5a5a; background-color: #fff; } 
.category-searchwrap { position: relative; cursor: pointer; } 
.category-searchwrap .search-trigger { font-size: 18px; } 
.category-searchwrap .top-search { position: absolute; bottom: 0; right: -20px; width: 370px; opacity: 0; visibility: hidden; transition: all 0.3s ease-out; z-index: 1000; } 
.category-searchwrap .top-search.active { opacity: 1; visibility: visible; } 

.search_back { margin: 40px 0;  padding: 12px 35px;  border: 1px solid #a2a2a2;  background-color: #fff;  cursor: pointer; } 
.result-count { margin-left: 15px; font-size: 18px; font-weight: 400; } 
.no-results.not-found { position: relative; } 
.search-results .row.photo4 .entry-info { display: none; } 

/* single */
.single-layout { margin: 0 auto; width: 100% } 
.post-content { margin-right: auto; margin-left: auto; width: 100%; line-height: 1.8; font-size: clamp(15px, 1vw, 16px); padding: 0 10px; } 
.post-content p:empty { min-height: 1em; margin-top: 0.5em !important; margin-bottom: 0.5em !important; } 
.single .post-content h2 { font-size: clamp(22px, 1.8vw, 32px) } 
.single .post-header { margin-bottom: clamp(25px, 3vw, 50px); padding: clamp(18px, 2vw, 40px) 0; border-bottom: 1px solid #aaaaaa6e;} 
.single .post-title { margin: 30px 0 10px 0; font-size: clamp(18px, 2.5vw, 30px); font-weight: 500; line-height: 1.4; } 
.single .post-date { opacity: 0.6; } 
.single .info { display: flex; justify-content: start; font-size: 13px; } 
.single .post-tags { margin-left: 30px; }  
.single .post-tags span { padding: 4px 8px; background-color: rgba(0,0,0,0.03); color: #666; border-radius: 8px; } 
.category-link { display: flex; align-items: center; justify-content: center; margin: 60px auto; } 
.category-link a { display: flex; align-items: center; justify-content: center; min-width: 150px; 
 font-size: clamp(14px, 0.8vw, 16px); font-weight: 500; color: #555; white-space: nowrap; border: 1px solid #ccc; border-radius: 4px; padding: 8px 20px; } 
.single .post-content .is-type-video .wp-block-embed__wrapper { width: 100%; max-width: 100%; aspect-ratio: var(--single-video-aspect-ratio); } 
.single .post-content .is-type-video .wp-block-embed__wrapper iframe { width: 100%; height: 100%; border: 0; } 

/* 파일 블록 스타일 */
.wp-block-file { display: flex !important; align-items: center; justify-content: space-between; padding: 12px 16px; background: #f8f9fa; border: 1px solid #e0e0e0; border-radius: 8px; margin: 16px 0; } 
.wp-block-file a:not(.wp-block-file__button) { font-size: 14px; color: #333333; text-decoration: none; flex: 1; } 
.wp-block-file a:not(.wp-block-file__button)::before { content: "첨부파일 : "; font-weight: 600; color: #000000; margin-right: 6px; } 
.wp-block-file__button { font-size: clamp(14px,1vw,16px) !important; padding: 10px 24px !important; background-color: #000000 !important; color: #ffffff !important; border-radius: 50px !important; text-decoration: none !important; font-weight: 500 !important; } 

/* PDF 미리보기 숨기기 - 프런트엔드에서 HWP처럼 파일명과 버튼만 표시 */
.wp-block-file iframe,
.wp-block-file embed,
.wp-block-file object,
.wp-block-file__preview,
.wp-block-file__preview-wrapper,
.wp-block-file .components-resizable-box__container { 
 display: none !important; 
 } 
 
/* 관리자페이지 내 템플릿 */
.post-content li { display: list-item; margin-left: 20px; list-style: inherit; } 
.post-content .wp-block-query-title, .wp-block-quote { padding-left: 10px; border-left: 5px solid #b6ebeb; box-sizing: border-box; } 
.elementor-editor-active .post-title { margin-bottom: 40px; padding-bottom: 10px; border-bottom: 1px solid #ccc; font-size: 20px; text-align: left; } 
.elementor-editor-active .site-main { margin:15px !important } 
.elementor-editor-active header, .elementor-editor-active footer, 
.single.elementor-editor-active .post-header, 
.single.elementor-editor-active .related-section { display: none !important; } 
.single.elementor-editor-active .post-content { width: inherit !important; } 

/* 서브페이지 네비 */
.subBanner { padding: 70px 0 0px 0; position: relative; width: 100%; height:260px; display: flex; align-items: center; justify-content: center; background-color: var(--subpage-header-bg); } 
.category .subbox { padding-top: 4%; padding-bottom: 50px; } 
.page .container.subbox {max-width: 1000px;}
.subBanner>div { display: flex; flex-direction: column; align-items: center; justify-content: center; gap:20px; position: relative; width: 100%; height: 100%; color: #333; z-index: 2; } 
.subBanner .pageTitle { margin-bottom: 0; font-size: 28px; font-weight: 400; line-height: 1; color: #555; } 
.subBanner .pageTitle>span:first-child { display: none; } 
.subBanner .subtitle { font-size: 16px; line-height: 1.4; color: #333; text-shadow: 0 1px 2px rgba(0,0,0,0.2); } 
.subBanner .page-excerpt { font-size: 18px; line-height: 1.5; color: #333; text-shadow: 0 1px 2px rgba(0,0,0,0.2); } 

.subNav { display: flex; position: relative; height: 100%; gap: 1px; margin-bottom: -10px; } 
.subNav li { height: 100%; } 
.subNav li:last-child a { border-right: 0; } 
.subNav a { display: flex; align-items: center; justify-content: center; padding: 0 40px; background-color: rgba(255,255,255,0.9); height: 50px; font-size: 17px; font-weight: 500; color: #555; white-space: nowrap; backdrop-filter: blur(5px); border: 1px solid rgba(255,255,255,0.2); } 
.subNav li:last-child a { border-radius: 0 6px 6px 0; } 
.subNav li:first-child a { border-radius: 6px 0 0 6px; } 
.subbox { padding-top:4% } 
.page .subbox { width: 100%; } 
.pageTitle { font-size: clamp(22px, 2.5vw, 28px);  font-weight: 500; margin-bottom: 30px; }
.pageTitle.is-hidden { display: none !important; }
.category .subbox .pageTitle{margin-bottom: 40px;}
.page .site-main { padding-bottom: 5%; } 
.page-col-2 { margin: 0 auto; margin-bottom: 70px !important; } 
.page-col-2 .elementor img { object-fit: cover !important; } 
.page-col-2-img { width: 550px !important; } 

/* 서브페이지 */
.page-contact #kboard-contact-form-editor .kboard-attr-row .attr-name { font-size: clamp(14px, 1vw, 15px); font-weight: 500; line-height: 30px; } 
.container.subbox:has(.content .goyo-worklog) { max-width: 1380px; } 
#kboard-default-list .kboard-list tbody td.kboard-list-user, #kboard-default-list .kboard-list tbody td.kboard-list-date{opacity: 1 !important;}


.contactGrid { display: grid !important; grid-template-columns: 64% auto; gap: 40px; align-items: stretch; } 
.page-contact .contactGrid > div { background-color: #fff; padding: 30px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.05); border-radius:12px; } 
.contactGrid .cGridMonth { grid-column: 1 / 2; grid-row: 1 / 2; } 
.contactGrid .cGridMap { grid-column: 1 / 2; grid-row: 2 / 3; } 
.contactGrid .cGridWrite { grid-column: 2 / 3; grid-row: 1 / 3; } 

.page-contact #goyo-worklogbox .goyo-calendar-day { min-height: 70px; } 
.page-contact #goyo-worklogbox .goyo-calendar-grid { min-height: 420px; } 
.page-contact #goyo-worklogbox .goyo-entry-icon { margin-right: 1px; } 
.page-contact #goyo-worklogbox .goyo-entry-icon i { font-size: 12px; } 
.page-contact #goyo-worklogbox .goyo-view-container { font-size: 14px; } 
.page-contact #goyo-worklogbox .goyo-header { margin-bottom: 10px; } 
.page-contact #goyo-worklogbox .goyo-header-left { gap: 5px; } 
.page-contact #goyo-worklogbox .goyo-header button { line-height: 1; } 
.page-contact #goyo-worklogbox .goyo-nav-btn { width: 25px; height: 30px; } 
.page-contact #goyo-worklogbox .goyo-header-left h2 { font-size: 20px; font-weight: bold; line-height: 1; } 
.ui-widget.ui-widget-content { font-size: 15px !important; } 


@keyframes fadebanner { 
 0% { opacity:0; transform:translateY(20px); } 
100% { opacity:1; transform: translateY(0px); } 
 } 
.animate__movetop { animation: movetop 0.5s ease-in-out; } 
@keyframes movetop { 
 0% { opacity:0; } 
20% { opacity:0; transform: translateY(20px); } 
100% { opacity:1; transform: translateY(0px); } 
 } 



/* ==========================================================================
 Dynamic Styles using CSS Variables
 ========================================================================== */
body, button, input, select, optgroup, textarea, option { 
 color: var(--body-text-color); 
 background-color: var(--body-bg-color); 
 } 
.single .post-categories a:hover { 
 border-color: var(--primary-color); 
 } 
.subBanner { 
 background-color: var(--subpage-header-bg); 
 height: var(--subpage-header-height); 
 } 
.subBanner .pageTitle { 
 font-size: var(--subtitle-fontsize); 
 font-weight: var(--subtitle-fontweight); 
 } 
.marker { 
 background-color: var(--top-menu-line-color); 
 } 
.front-page .marker { 
 background-color: var(--main-menu-line-color); 
 } 

.category-searchwrap .top-search, .category-search-select, .category-search-input, .category-search-btn, .category-search-btn i { 
 background: var(--body-bg-color); 
 } 

@media screen and (max-width:1320px) { 
 .bzCardGrid { gap: 40px 20px; } 
 } 

@media screen and (max-width:1200px) { 
    .container { max-width: 100%; } 
 .content-box { width:100%; } 
 .container.subbox { padding-right: 20px; padding-left: 20px; } 
 
 } 

@media screen and (max-width:1024px) { 
 .site-main { min-height: 100% } 
 .serviceBox { width:90%; } 
 .serviceBox a img { height: inherit !important; } 
 .subBanner { height: 220px !important; padding: 40px 0 0 0; } 
 .page .subbox, .container.subbox { padding:40px 20px 20px 20px; } 
 .subBanner>div { gap: 20px; } 
 .contactGrid { grid-template-columns: 1fr 1fr; gap: 20px; 
 grid-template-rows: auto auto; 
 grid-template-areas:
 "top top"
 "bottom right"; } 
 .contactGrid .cGridMonth { grid-area: top; } 
 .contactGrid .cGridMap { grid-area: bottom; } 
 .contactGrid .cGridWrite { grid-area: right; } 
 .faqWrapper .faq-header { padding: 15px 0 15px 35px; } 
 } 

@media screen and (max-width:820px) { 
 html { margin-top: 0px !important; } 
 .graybox_add { height: inherit; } 
 .single .site-main { margin: 60px 0 20px 0; } 
 .subNavWrap { overflow-x: auto; left: 0; overflow-y: hidden; } 
 .subNav { padding-left: 20px; min-width: max-content; margin-bottom: 0; margin-top: 10px; } 
 .subNav a { padding: 0 20px; font-size: 16px; height: 45px; } 
 .maintitle { justify-content: space-between; flex-direction: row; margin-bottom: 20px; padding-bottom: 0; } 
 .page-col-2-img { width: 40% !important; } 
 .page-col-2 { margin-bottom: 40px !important; width: 100% !important; } 
 .post-content { width: 100%; font-size: 16px; } 
 .subBanner { margin-bottom: 0; padding: 0; height:150px !important; } 
 .site-main { margin-bottom: 40px; margin-top: 60px; } 
 .admin-bar .site-main { margin-top: 106px; margin-bottom: 40px; } 
 .front-page .site-main { margin-top: 0 !important; margin-bottom: 0 !important; } 
 .page .site-main { padding-bottom: 40px; } 
 .page-home .site-main { margin-top: 0; margin-bottom: 0 !important; } 
 .subBanner>div { gap: 5px; padding: 0 20px; } 
 .subBanner .pageTitle { font-size: 24px !important; margin-bottom: 0; } 
 .wp-block-button__link { padding: 8px 20px !important; } 
 .category-btwrap { padding: 20px 0 !important; } 

 .col-3repeat { gap: 20px; font-size: 15px; margin-bottom: 40px; } 
 .col-3repeat h3 { font-size: 22px; } 
 .col-3repeat h4 { font-size: 20px; margin-bottom: 10px !important; } 

 /* 패턴 */
 .pt-title { font-size: 24px; } 
 .bzCardGrid { gap: 20px; } 
 .bzCardRow { margin-bottom: 20px !important; height: max-content; } 
 .bzCardRow h4 { margin: 40px 20px 18px 20px !important; font-size: 22px; } 
 .bzCardRow p { margin: 0px 20px 40px 20px !important; font-size: 15px; } 
 .bzCardGrid .bzCard h4 { margin: 10px !important; font-size: 18px; } 
 .bzCardGrid .bzCard p { margin: 0px 20px 30px 20px !important; font-size: 15px; } 
 .bzCardGrid2 .bzCard h4 { font-size: 20px; } 
 .bzCardGrid2 .bzCard p { font-size: 15px; margin:0px 0px 30px 0px !important } 
 .pt-col-left h4 { font-size: 22px; } 
 .bzinfo_col { grid-template-columns: 100px auto; } 
 .bzinfo_col h4 { font-size: 18px; } 
 .bzinfo_col p { font-size: 15px; } 
 .ptTable-wrap { width: 100%; overflow-x: auto; } 
 .ptTable { width: max-content; min-width: 100%; } 
 .ptTable td, .ptTable th { font-size: 16px; } 
 .faq-accordion { max-width: inherit; } 
 .home2-title.bold h2 { font-size: 30px !important; } 
 .serviceBox { gap: 20px !important; width: 85%; margin-bottom: 20px !important; } 
 .serviceBox h4 { font-size: 20px !important; left: 30px; top: 10px; } 
 .mainService-wrap { gap: 0px; padding: 40px 0 !important; } 
 .faq-question { font-size: 20px !important; } 
 .faq-question::before { font-size: 18px; } 
 .faq-answer { font-size: 16px !important; } 
 .faq-item { padding: 7px 0; } 
 .faqWrapper .faq-header { padding: 12px 0 12px 35px; } 
 .faqWrapper .faq-content p { line-height: 1.5; } 
 } 

 @media screen and (max-width: 600px) { 
 #wpadminbar { position: fixed; } 
 } 

@media screen and (max-width:520px) { 

 body, button, input, select, optgroup, textarea { font-size: 16px; } 
 html, body { overflow: auto !important; height: auto !important; } 
 #wpadminbar { position: fixed; } 
 .textNoMobile { display: none; } 
 .admin-bar .site-main, .admin-bar.single .site-main { margin-top: 106px; margin-bottom: 20px; } 
 .page .subbox { padding: 30px 20px 20px 20px; } 
 .page .site-main { padding-bottom: 20px; } 
 .page-col-2-img { width: 100% !important; } 
 
 .category-searchwrap .search-trigger { font-size: 16px; } 
 .subbox { padding: 10px; min-height: inherit; } 
 .page .subbox, .search .subbox, .container.subbox { padding:30px 15px 0px 15px } 
 
 .subBanner { margin-bottom: 0px; height: max-content !important; } 
 .subBanner h1 { font-size: 26px; } 
 .subBanner .subtitle { font-size: 14px; } 
 .subBanner>div { gap: 10px; padding:30px 0 0 20px; height: 100%; flex-direction: column; align-items: start; justify-content: center; min-height: 90px; } 
 .subBanner .page-excerpt { font-size: 16px; line-height: 1.4; } 
 .subBanner .pageTitle { font-size: 21px !important; font-weight: 600; word-break: keep-all; margin-bottom: 0; } 
 
 .pageTitle { margin-bottom: 20px; font-size: 24px; } 
 .pageTitle h4 { font-size: 22px !important; margin-top: 0 !important; } 
 
 .subNavWrap { margin-top: 5px; width: 100%; overflow-x: auto; margin-bottom: 15px; } 
 .subNav { padding-left: 0; min-width: max-content; height: 40px; margin-top: 0; } 
 .subNav a { padding: 3px 15px; height: 40px; font-size: 16px; } 
 .subNav li:first-child a { border-radius: 6px 0 0 0px; } 
 .subNav li:last-child a { border-radius: 0 6px 0 0px; } 
 
 .site-main { margin: 60px 0 20px 0; padding-bottom: 0px; } 
 .single .site-main { margin: 60px 0 0 0; } 
 section.post-list-wrap { padding: 0px; width: 100%; border-radius: 0; } 
 .map .root_daum_roughmap { height: 300px !important; overflow: hidden !important; width: 100% !important; } 
 .root_daum_roughmap .cont { display: none !important; } 
 
 .single .post-header { margin-bottom: 20px; padding-top: 0px; padding-bottom: 15px; } 
 .single .info, .single .post-categories a { font-size: 13px; } 
 .single .post-tags { margin-left: 10px; } 
 .post-content { font-size: 15px; } 
 .wp-block-spacer { height: 7px !important; } 
 .wp-block-button a { padding-top: 10px !important; padding-bottom: 10px !important; } 
 .wp-block-column { font-size: 15px; } 
 
 .col-3366 hr, .col-6633 hr, .col-3repeat hr { margin: inherit; } 
 .col-3 .entry-title { font-size: 16px; } 
 .col-3 .entry-text-wrap p { font-size: 14px; -webkit-line-clamp: 2; } 
 .col-3 { width: 100%; } 
 .col-3 .card-thumbnail img { margin-bottom: 5px; } 
 .col-2 { padding: 0 20px 30px 20px; width: 100%; } 
 .col-2 .card-thumbnail { height: 200px; max-height: 200px; } 
 .col-2 .entry-title { font-size: 14px; } 
 .col-fleximg img { height: auto !important; max-height: 300px; } 
 
 .category .subbox { padding: 20px; } 
 .cate-info { margin: 0 auto 15px auto; } 
 .category-btwrap { flex-direction: column; gap: 20px; } 
 .page-address .col-3366 { flex-direction: column-reverse; gap: 20px; } 
 .page-contact .col-3366 { flex-direction: column-reverse; gap: 0px; } 
 .pt-title { font-size: 22px; } 
 .pt-col-left p { font-size: 15px; } 
 
 .bzCardGrid, .bzCardGrid2 { grid-template-columns: 1fr !important; gap: 20px 15px !important; } 
 .bzCardGrid .bzCard .wp-block-image { width: 100%; height: inherit; aspect-ratio: 1 / 1; min-height: inherit; } 
 .bzCardGrid .bzCard p { font-size: 14px; margin: 0px 20px 20px 20px !important; } 
 .bzCardGrid .bzCard h4 { margin: 10px 0 !important; font-size: 16px; } 
 .bzCardGrid2 .bzCard h4 { margin: 20px 0px 10px 0px !important; font-size: 20px; } 
 .bzCardGrid2 .bzCard p { font-size: 14px; margin: 0px 0px 20px 0px !important; } 
 .ptTable td, .ptTable th { font-size: 15px; } 
 .bzinfo_col { grid-template-columns: 50px auto; gap: 10px !important; } 
 .bzinfo_col figure { padding: 5px; } 
 .subpageBdBox { padding: 15px !important; } 
 .category-search-input { width: 170px; } 
 .category-search-form { width: 320px; } 
 .category-searchwrap .top-search { width: 340px; bottom: -10px; } 
 #jt_popup_container.pc .jt_popup_item.primary { max-width: 300px !important; } 

 .page-contact #goyo-worklogbox .goyo-entry-icon { display: none; } 
 .page-contact #goyo-worklogbox .goyo-worklog-entry { padding: 2px 0; line-height: 1; } 
 .page-contact #goyo-worklogbox .goyo-day-number { margin-bottom: 0; } 
 .category-link { margin: 30px auto; } 
 .category-btwrap { padding: 20px 0 !important; } 
 .site-main { min-height: 65vh } 
 .metaslider.ms-theme-default-base .flexslider .flex-direction-nav li a { top: calc(50% + 13px) !important; } 

 } 

