/*! Bulma 1.0-compatible subset — curated locally (covers the classes used in the sample page). Full official file: https://bulma.io/ */
*,*::before,*::after{box-sizing:border-box}
html{background:#fff;font-size:16px}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1rem;color:#4a4a4a;line-height:1.5}
p{margin:0 0 1rem}
a{color:#2b2b2b;text-decoration:none;cursor:pointer}
a:hover{text-decoration:none}
img{max-width:100%}

/* layout */
.container{width:100%;margin:0 auto;padding:0 1.5rem}
@media (min-width:1024px){.container{max-width:960px}}
@media (min-width:1216px){.container{max-width:1152px}}
.section{padding:3rem 1.5rem}
main.section{padding:10px}
main.section>.container{padding-left:0;padding-right:0}
.has-text-centered{text-align:center!important}
.has-text-right{text-align:right!important}
.has-text-grey{color:#7a7a7a!important}
.has-text-danger{color:#f14668!important}

/* typography */
.title{font-weight:700;font-size:2rem;color:#363636;margin-bottom:.5rem}
.title.is-1{font-size:3rem}
.title.is-4{font-size:1.5rem}
.title.is-5{font-size:1.25rem}
.title.is-6{font-size:1rem}
.subtitle{font-weight:400;font-size:1.25rem;color:#4a4a4a;margin-bottom:1.5rem}
.is-size-5{font-size:1.25rem}
.is-size-7{font-size:.75rem!important}
.content p{margin-bottom:1em}
/* 게시판 글/콘텐츠 페이지/팝업 본문(TOAST UI Editor로 작성된 리치 HTML)의 타이포그래피 - 여기 숫자를
   바꾸면 반드시 public/vendor/toast-ui-editor/rich-content-editor.css의 같은 값도 같이 고칠 것
   (편집 화면과 실제 게시 화면의 글자 크기/자간/행간이 어긋나지 않도록 두 파일이 짝을 이룸, App\Utils\RichEditor 참고) */
.content h1{font-size:2rem;font-weight:700;line-height:1.3;margin:1.5em 0 .5em;color:#363636}
.content h2{font-size:1.75rem;font-weight:700;line-height:1.3;margin:1.5em 0 .5em;color:#363636}
.content h3{font-size:1.5rem;font-weight:700;line-height:1.3;margin:1.5em 0 .5em;color:#363636}
.content h4{font-size:1.25rem;font-weight:700;line-height:1.3;margin:1.5em 0 .5em;color:#363636}
.content h5{font-size:1.125rem;font-weight:700;line-height:1.3;margin:1.5em 0 .5em;color:#363636}
.content h6{font-size:1rem;font-weight:700;line-height:1.3;margin:1.5em 0 .5em;color:#363636}
.content h1:first-child,.content h2:first-child,.content h3:first-child,.content h4:first-child,.content h5:first-child,.content h6:first-child{margin-top:0}
.content ul,.content ol{margin:0 0 1em 1.5em}
.content li+li{margin-top:.25em}
.content blockquote{margin:0 0 1em;padding:1em 1.25em;background:#f5f5f5;border-left:5px solid #dbdbdb;color:#4a4a4a}
.content table{width:100%;margin-bottom:1.5em;border-collapse:collapse}
.content table th,.content table td{border:1px solid #dbdbdb;padding:.5em .75em;text-align:left}
.content table th{background:#fafafa;font-weight:700}
.content a{color:#363636;text-decoration:underline}
.content a:hover{color:#000}
.content strong,.content b{font-weight:700}
.content code{background:#f5f5f5;padding:.125em .375em;border-radius:4px;font-size:.9em}
.content pre{background:#f5f5f5;padding:1em;border-radius:6px;overflow-x:auto;margin-bottom:1em}
.content pre code{background:none;padding:0}
.content img{max-width:100%;height:auto}
.content hr{margin:1.5em 0;border:none;border-top:1px solid #dbdbdb}

/* columns/grid */
.columns{display:flex;flex-wrap:wrap;margin:-.75rem}
.columns.is-multiline{flex-wrap:wrap}
.columns.is-centered{justify-content:center}
.column{flex:1;padding:.75rem}
.column.is-12{flex:none;width:100%}
@media (min-width:769px){
  .column.is-3{flex:none;width:25%}
  .column.is-4{flex:none;width:33.3333%}
  .column.is-5{flex:none;width:41.6667%}
  .column.is-6{flex:none;width:50%}
  .column.is-8{flex:none;width:66.6667%}
}

/* buttons */
.button{display:inline-flex;align-items:center;justify-content:center;padding:.5em 1em;font-size:1rem;font-weight:400;border:1px solid #dbdbdb;border-radius:6px;background:#fff;color:#363636;cursor:pointer;text-decoration:none;transition:all .15s}
.button.is-small{font-size:.75rem;padding:.35em .75em}
.button.is-medium{font-size:1.25rem;padding:.6em 1.25em}
.button.is-large{font-size:1.5rem;padding:.75em 1.5em}
.button:hover{border-color:#b5b5b5;text-decoration:none}
.button.is-primary{background:#363636;border-color:transparent;color:#fff}
.button.is-primary:hover{background:#262626}
.button.is-link{background:#363636;border-color:transparent;color:#fff}
.button.is-link:hover{background:#262626}
.button.is-light{background:#f5f5f5;border-color:transparent;color:#363636}
.button.is-light:hover{background:#eee}
.button.is-danger{background:#f14668;border-color:transparent;color:#fff}
.button.is-danger:hover{background:#f03a5f}
.button.is-text{background:transparent;border-color:transparent;color:#4a4a4a;text-decoration:none}
.button.is-text:hover{text-decoration:underline}
.button.is-outlined{background:transparent;color:#363636;border-color:#363636}
.button.is-outlined:hover{background:#363636;color:#fff}
.button.is-rounded{border-radius:9999px}
.button.is-fullwidth{display:flex;width:100%}
.buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.buttons.is-centered{justify-content:center}
.buttons form{margin:0}

/* navbar */
.navbar{position:relative;display:flex;align-items:stretch;min-height:3.5rem;background:#fff}
.navbar.is-fixed-top{position:sticky;top:0;left:0;right:0;z-index:30}
.navbar.has-shadow{box-shadow:0 2px 8px rgba(0,0,0,.08)}
.navbar>.container{display:flex;align-items:stretch;width:100%}
.navbar-brand{display:flex;flex-shrink:0;align-items:center}
.navbar-item{display:flex;align-items:center;padding:.5rem .75rem;color:#4a4a4a;text-decoration:none}
.navbar-item:hover{background:#e4e4e4;text-decoration:none}
.navbar-item.has-text-weight-bold{font-weight:700}
.navbar-start{display:flex;align-items:center}
.navbar-menu{display:flex;flex-grow:1;flex-shrink:0}
.navbar-end{display:flex;align-items:center;margin-left:auto}
.navbar-burger{display:none;cursor:pointer;width:3.5rem;height:3.5rem;position:relative;-webkit-appearance:none;appearance:none;background:none;border:none;margin-left:auto}
.navbar-burger span{position:absolute;left:calc(50% - 8px);width:16px;height:2px;background:currentColor;transition:all .2s}
.navbar-burger span:nth-child(1){top:calc(50% - 6px)}
.navbar-burger span:nth-child(2){top:calc(50% - 1px)}
.navbar-burger span:nth-child(3){top:calc(50% + 4px)}
.navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.navbar-burger.is-active span:nth-child(2){opacity:0}
.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.navbar-item.has-dropdown{position:relative;padding:0}
.navbar-link{display:flex;align-items:center;padding:.5rem .75rem;color:#4a4a4a;text-decoration:none;cursor:pointer}
.navbar-link:hover{background:#e4e4e4}
.navbar-link .icon+span{margin-left:.4rem}
.navbar-dropdown{display:none;position:absolute;top:100%;left:0;min-width:180px;background:#fff;border-radius:0 0 6px 6px;box-shadow:0 8px 20px rgba(10,10,10,.12);padding:.5rem 0;z-index:20}
.navbar-item.has-dropdown.is-hoverable:hover .navbar-dropdown,
.navbar-item.has-dropdown.is-hoverable:focus-within .navbar-dropdown{display:block}
.navbar-item.has-dropdown.is-active .navbar-dropdown{display:block}
.navbar-dropdown.is-right{left:auto;right:0;border-radius:6px 0 6px 6px}
.navbar-dropdown .navbar-item{white-space:nowrap}
.navbar-item-button{background:none;border:none;padding:0;margin:0;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.icon{display:inline-flex;align-items:center;justify-content:center;height:1.5em;width:1.5em}
.nav-backdrop{display:none;position:fixed;inset:0;z-index:25;background:rgba(10,10,10,.4)}
.nav-backdrop.is-active{display:block}
@media (max-width:1023px){
  .navbar>.container{display:block}
  .navbar-burger{display:flex;align-items:center;justify-content:center}
  .navbar-menu{display:none}
  .navbar-menu.is-active{
    display:flex;
    flex-direction:column;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    width:66.6667%;
    z-index:50;
    background:#fff;
    padding:1.5rem;
    overflow-y:auto;
    box-shadow:-4px 0 20px rgba(0,0,0,.15);
  }
  .navbar-start,.navbar-end{flex-direction:column;align-items:stretch;margin-left:0}
  .navbar-menu.is-active .navbar-item{padding:.75rem 0;font-size:1.125rem}
  /* 모바일 드로어는 터치라 hover가 안 통하므로, 드롭다운을 항상 펼쳐진 상태의 들여쓰기 목록으로 보여준다.
     .navbar-item.has-dropdown가 기본 .navbar-item의 display:flex(가로 방향)를 물려받아서
     navbar-link/navbar-dropdown이 옆으로 나란히 붙던 문제라, block으로 바꿔서 세로로 쌓이게 한다. */
  .navbar-menu.is-active .navbar-item.has-dropdown{display:block;padding:.75rem 0 0}
  .navbar-menu.is-active .navbar-link{padding:0 0 .5rem}
  .navbar-menu.is-active .navbar-dropdown{display:block!important;position:static;box-shadow:none;padding:0;min-width:0}
  .navbar-menu.is-active .navbar-dropdown .navbar-item{padding-top:.5rem;padding-bottom:.5rem;font-size:1rem}
}
body.nav-open{overflow:hidden}

/* hero */
.hero{padding:0}
.hero.is-primary{background:linear-gradient(135deg,#00d1b2 0%,#00947e 100%);color:#fff}
.hero-body{padding:5rem 1.5rem}
.hero.is-primary .title,.hero.is-primary .subtitle{color:#fff}

/* box / card */
.box{background:#fff;border-radius:10px;box-shadow:0 4px 20px rgba(10,10,10,.08);padding:1.75rem;height:100%}
.card{background:#fff;border-radius:10px;box-shadow:0 4px 20px rgba(10,10,10,.08);overflow:hidden}
.card-content{padding:1.75rem}

/* form */
.field{margin-bottom:.75rem}
.label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.5rem;color:#363636}
.control{position:relative}
.input,.textarea{display:block;width:100%;padding:.6em .75em;font-size:1rem;color:#363636;border:1px solid #dbdbdb;border-radius:6px;background:#fff;transition:border-color .15s,box-shadow .15s}
.input:focus,.textarea:focus{outline:0;border-color:#8a8a8a;box-shadow:0 0 0 .125em rgba(122,122,122,.25)}
.textarea{min-height:8em;resize:vertical}
.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}
.select select{display:block;width:100%;padding:.6em 2.5em .6em .75em;font-size:1rem;color:#363636;border:1px solid #dbdbdb;border-radius:6px;background:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s,box-shadow .15s}
.select select::-ms-expand{display:none}
.select select:focus{outline:0;border-color:#8a8a8a;box-shadow:0 0 0 .125em rgba(122,122,122,.25)}
.select:not(.is-multiple)::after{content:"";display:block;position:absolute;top:50%;right:1em;width:.5em;height:.5em;margin-top:-.375em;border:1px solid #7a7a7a;border-right:0;border-top:0;transform:rotate(-45deg);pointer-events:none;z-index:4}
.select.is-fullwidth,.select.is-fullwidth select{width:100%}
.checkbox{cursor:pointer}

/* notification */
.notification{padding:1.25rem 1.5rem;border-radius:6px;margin-bottom:1rem;position:relative}
.notification.is-success{background:#effaf5;color:#257953}
.notification.is-warning{background:#fffaeb;color:#946c00}
.notification.is-danger{background:#feecf0;color:#cc0f35}

/* table */
.table{width:100%;border-collapse:collapse;background:#fff;color:#363636}
.table td,.table th{border-bottom:1px solid #dbdbdb;padding:.5em .75em;vertical-align:middle;text-align:left}
.table th{color:#363636}
.table.is-fullwidth{width:100%}
.table-container{overflow-x:auto}

/* pagination */
.pagination{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-size:1rem}
.pagination.is-centered{justify-content:center}
.pagination-list{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:.25rem}
.pagination-link,.pagination-previous,.pagination-next,.pagination-first,.pagination-last{display:inline-flex;align-items:center;justify-content:center;min-width:2.25em;height:2.25em;padding:.25em .5em;border:1px solid #dbdbdb;border-radius:6px;color:#363636;text-decoration:none}
.pagination-link:hover,.pagination-previous:hover,.pagination-next:hover,.pagination-first:hover,.pagination-last:hover{border-color:#b5b5b5;text-decoration:none}
.pagination-link.is-current{background:#363636;border-color:#363636;color:#fff}
.pagination-previous.is-disabled,.pagination-next.is-disabled,.pagination-first.is-disabled,.pagination-last.is-disabled{color:#b5b5b5;cursor:default}
.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2.25em;height:2.25em;color:#b5b5b5}

/* modal */
.modal{display:none;position:fixed;inset:0;z-index:40;align-items:center;justify-content:center;padding:1rem}
.modal.is-active{display:flex}
.modal-background{position:absolute;inset:0;background:rgba(10,10,10,.6)}
.modal-card{position:relative;display:flex;flex-direction:column;max-height:calc(100vh - 40px);width:100%;max-width:480px;background:#fff;border-radius:8px;overflow:hidden}
.modal-card-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #dbdbdb}
.modal-card-title{font-weight:700;font-size:1.25rem;margin:0}
.modal-card-body{padding:1.5rem;overflow-y:auto}
.modal-card-foot{display:flex;align-items:center;padding:1rem 1.5rem;border-top:1px solid #dbdbdb}
.delete{-webkit-appearance:none;appearance:none;background:rgba(10,10,10,.2);border:none;border-radius:9999px;cursor:pointer;width:1.25rem;height:1.25rem;position:relative}
.delete::before,.delete::after{content:"";position:absolute;left:50%;top:50%;width:65%;height:1px;background:#fff;transform:translate(-50%,-50%) rotate(45deg)}
.delete::after{transform:translate(-50%,-50%) rotate(-45deg)}

/* responsive helpers */
@media (max-width:768px){.is-hidden-mobile{display:none!important}}

/* utility spacing */
.mb-0{margin-bottom:0!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:.75rem!important}
.mb-4{margin-bottom:1rem!important}
.mb-5{margin-bottom:1.5rem!important}
.mb-6{margin-bottom:3rem!important}
.mt-2{margin-top:.5rem!important}
.mt-3{margin-top:.75rem!important}
.mt-4{margin-top:1rem!important}
.mt-5{margin-top:1.5rem!important}
.mt-6{margin-top:3rem!important}
.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}
.mr-2{margin-right:.5rem!important}
.mr-4{margin-right:1rem!important}
.pt-4{padding-top:1rem!important}
.pb-3{padding-bottom:.75rem!important}
.pb-4{padding-bottom:1rem!important}
.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}
.py-6{padding-top:3rem!important;padding-bottom:3rem!important}
.is-flex{display:flex!important}
.is-align-items-center{align-items:center!important}
.is-justify-content-center{justify-content:center!important}
.is-justify-content-space-between{justify-content:space-between!important}

footer.footer{background:#363636;color:rgba(255,255,255,.75);padding:2rem 1.5rem;text-align:center}
