/* 공통 */
.sub_bg{background: #fafafa; padding:10rem 0}

/* 인사말 */
.greetings{display: flex; gap:3rem; padding-bottom: 10rem;}
.greetings p{flex-basis: 50%; position: relative; padding:0 0 5rem 5rem ;}
.greetings p::before{content: ''; width: 50%; height: 50%; border-radius: 0 0 10rem 0; background: var(--main_color); position:absolute; bottom: 0; left: 0; z-index: -1;}
.greetings dl{flex:1}
.greetings dl dt{font-weight: bold; font-size:3.6rem; padding-bottom: 2rem;}

.greetings dl dd span{ font-weight: bold;}
.greetings dl dd em{text-align: right; font-weight: bold; font-size: 2.4rem; display: block;}



/* 소개 */
.logo_con{display: flex; gap:5rem}
.logo_con p{flex:1}
.logo_con dl{flex:1}
.logo_con dl dt{font-weight: bold; font-size:2.4rem}
.logo_con dl dd span{font-weight: bold; color:var(--sub_color)}
.logo_con dl dd em{display:inline-flex;}
.logo_con dl dd em a{display: block; background: var(--sub_color); color:#fff; text-align: center; padding: 1rem 2rem;}

.song{display: flex; gap:5rem}
.song p{flex:1}
.song dl{flex:1}
.song dl dt{font-weight: bold; font-size: 2.4rem;}


/* 오시는길 */
.map{display: flex; gap:5rem}
.map_info{flex-basis:30%; display: flex; flex-direction: column; gap:2rem}
.map_info p{margin-bottom: var(--fmb);}
.map_info dl{border-bottom: 1px solid #ccc; padding-bottom: var(--fmb);}
.map_info dl dt{font-weight: bold; font-size: 2.4rem; margin-bottom: 1rem;}
.map_info dl dd{font-size: var(--conTxt);}
.map_info li{display: flex; gap:2rem; align-items: center; padding:1rem 0; }
.map_info li span{display: inline-flex; width:30%; font-weight: bold;}
.map_info li span i{color:var(--main_color); display: inline-block; margin-right: 1rem;}
.map_area{flex-basis:70%}



/* 온라인문의 */
.online_form{display: flex; gap:5rem}
.online_form h3{flex-basis: 30%;  font-size:1.6rem; font-weight: normal; padding:0 0 2rem 0}
.online_form h3 span{display: block; font-weight: bold; color:var(--main_color); font-size: 3rem;}
.online_form h3 p{position: relative;}

/* 라디오버튼 */
.radio_wrap {display: inline-block; position: relative; padding-left: 3rem; margin-right: 1rem; margin-bottom: 1.2rem; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
.radio_wrap input {position: absolute; opacity: 0; cursor: pointer;}
.checkmark {position: absolute; top: 0;left: 0; height: 2rem; width: 2rem; background-color: #eee; border-radius: 50%;}
.radio_wrap:hover input ~ .checkmark {background-color: #ccc;}
.radio_wrap input:checked ~ .checkmark {background-color:var(--sub_color);}
.checkmark:after {content: ""; position: absolute; display: none; }
.radio_wrap input:checked ~ .checkmark:after { display: block;  }
.radio_wrap .checkmark:after { top: 50%; left: 50%; transform: translate(-50%, -50%);  width: 8px;  height: 8px; border-radius: 50%; background: white; }

.form_area{width: 70%;}
.online_form p{padding-top: 2rem;}
.online_form dl{display:flex; align-items: center; padding:3rem 0; border-bottom:1px dotted #ccc}
.online_form dl dt{width:20%; text-align: center;}
.online_form dl dd{width: 80%;}
.form_input{border: 1px solid #ccc; padding:1rem; width:100%; font-size:1.4rem}
.form_text{border: 1px solid #ccc; padding:2rem; width:100%; height: 30rem; overflow-y: auto;  font-size:1.4rem}
#btn_submit{background: var(--sub_color); color:#fff; padding:1rem 2rem}



/* 아코디언 */
.beefup {margin: 1em 0; border: 1px solid #ddd; border-radius: 4px; }
.beefup:hover {border-color: #ccc;}
.beefup:first-child {margin-top: 0;}
.beefup__head, .beefup__body {padding: 2rem;}
.beefup__head {cursor: pointer; position: relative; margin: 0; padding-right: 50px;}
.beefup__head span{display: inline-flex; justify-content: center; align-items: center; width: 5rem; height: 5rem; margin-right: 3rem; border-radius: 100%; background: var(--sub_color); color:#fff; font-family: var(--font-eng);}
button.beefup__head, .beefup__head > button { cursor: pointer; display: block; width: 100%; background: none; border: 0; font: inherit; text-align: inherit;}
button.beefup__head[aria-disabled], .beefup__head > button[aria-disabled] {cursor: default; outline: 0; }
.beefup__head > button{position: relative; z-index: 1; margin: -10px -50px -10px -20px; padding: inherit; width: calc(100% + 70px); background: inherit; border: inherit;}
.beefup__head::after {transition: transform 0.2s ease-out; content: ""; transform: translate(0, -50%) rotate(45deg); position: absolute; top: 50%; right: 20px; z-index: 0; margin-top: -2px; padding: 3px; border-width: 0 2px 2px 0; border-style: solid; color: #ccc;}
.beefup.is-open > .beefup__head::after {transform: translate(0, -50%) rotate(225deg); margin-top: 2px;}
.mockup{background: #fafafa; padding:2rem}  



/* pdf viewer */
.pdfobject-container { width: 100%; /*max-width: 900px;*/ height: 1000px; margin: 2em 0; }
.pdfobject { border: solid 1px #666; }
#results { padding: 1rem; display: none; }
.hidden { display: none; }
.success { color: #4F8A10; background-color: #DFF2BF; }
.fail { color: #D8000C; background-color: #FFBABA; }
.pdfobject-com { position: absolute; top: 0; left: 0; z-index: 2016; }
.pdfobject-com a:link, .pdfobject-com a:visited { color: #fff; font-weight: bold; display: block; padding: .25rem 1rem;
background: #6699FF; text-decoration: none; }
.pdfobject-com a:hover, .pdfobject-com a:visited:hover { color: #FFF; background: #FF3366; text-decoration: none; }
.pdfobject-com a:before { content: "\2190"; margin-right: .25rem;
}

/* 조합원 등록 */
.member_form{max-width:70rem; margin: auto; border:10px solid var(--sub_color); padding:5rem; margin-bottom: 10rem;}
.member_form h2{text-align: center; font-weight: bold; font-size:3rem;}
.member_form h2 span{display: block; font-size:1.4rem; font-weight: normal;}
.member_form dl{display: flex; gap:3rem; align-items: center; padding:1rem 0; border-bottom: 1px dashed #ccc;}
.member_form dl dt{font-weight: bold; width: 20%; display: flex; gap:1rem}
.member_form dl dd{width: calc(80% - 3rem);}
.member_form dl dd input{border:1px solid #ccc; padding:1rem 2rem}
.member_form #member_form_result{display:none; background:#dfdfdf; margin-top:.5rem;padding:1rem;}
.member_form #member_form_result a {border:1px solid #ccc; background:#fff; padding:1rem;}

.input_short{width: 20%;}
.btn_app{border:none; background: var(--sub_color); color:#fff;}

/* 셀렉트박스 */
/* Reset <select> defaults */
select {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 0;
    outline: 0;
    background: none;
    color: inherit;
    box-shadow: none;
  }
  
  select::-ms-expand {
    display: none;
  }
  
  /* Custom Select wrapper */
  .select {
    position: relative;
    display: flex;
    border:1px solid #ccc;
    width: min(20rem, 90vw);
    background:#fff;
    overflow: hidden;
  }
  .select select {
    flex: 1;
    padding: 1rem;
    cursor: pointer;
  }
  .select::after {
    content: "▼";
    position: absolute;
    right: 1rem;
    top: 1rem;
    transition: 0.25s all ease;
    pointer-events: none;
  }
  .select:hover::after {
    color: #f39c12;
    -webkit-animation: bounce 0.5s infinite;
            animation: bounce 0.5s infinite;
  }
  
  @-webkit-keyframes bounce {
    25% {
      transform: translatey(5px);
    }
    75% {
      transform: translatey(-5px);
    }
  }
  
  @keyframes bounce {
    25% {
      transform: translatey(5px);
    }
    75% {
      transform: translatey(-5px);
    }
  }



/* 로그인 */
.login{width: 50rem; margin: auto; margin-bottom: 10rem; padding:5rem; border: 1rem solid var(--main_color);}
.login h3{padding:0 0 3rem 0; margin-bottom: 3rem; text-align: center;  font-size: 1.4rem; font-weight: normal; border-bottom: 1px dotted #ccc; }
.login h3 span{display:block; font-family: var(--font-eng); color:var(--main_color); font-size: 3.6rem; font-weight: bold;}
.login .login_form{padding:3rem 0}
.login .login_form li{display: flex; gap:5rem; align-items: center; padding:.5rem 0; font-size:1.4rem}
.login .login_form li label{width: 35%;}
.login .login_form li label img{padding:0 1rem 0 0}
.login .login_form li .login_input{padding:1rem; width:100%; font-size:1.4rem; border: 1px solid #ccc; }
.login .btn_login{display:block; padding:1rem 2rem; width:100%; background: var(--main_color); color:#fff; }
.login .login_menu{display: flex; justify-content: center; gap:2rem; padding:2rem 0; text-align: center;}
.login .login_menu li{flex:1}
.login .login_menu li a{font-size: 1.4rem;}

/* 회원가입 */
.join{max-width: 100rem; margin: auto;}
.join_step{display: flex; margin-bottom: 5rem;}
.join_step li{flex:1; border-bottom: 1px solid #ccc; padding:3rem 0; text-align: center; }
.join_step li i{display: flex; justify-content: center; align-items: center; margin: auto; width: 10rem; height: 10rem; border-radius: 100%; background: #ccc;}
.join_step li span{display: block; font-family: var(--font-eng); font-weight: bold; color:var(--sub_color)}
.join_step_on{border-bottom: 3px solid var(--sub_color) !important;}
.join_step_on i{background: var(--main_color) !important;}

.join_agree{display: flex; gap:5rem;  justify-content: center; align-items: center; text-align: center; padding:5rem 0}
.join_agree li{position:relative}

.join_text{width: 100%; height: 20rem;  overflow-y: scroll; padding:3rem; ; border: 1px solid #ccc; font-size: 1.3rem; border-radius: 2rem;}
.btn_next{text-align: center;}
.btn_next button{background: var(--sub_color); color:#fff; border: none; font-weight: bold; font-size: 1.4rem; padding:1rem 2rem}

/* 회원정보등록 */
.join_form dl{display:flex; padding:2rem 0; border-bottom: 1px dotted #ccc;}
.join_form dl dt{font-weight: bold; width:20%}
.join_form dl dt i{display:inline-block; font-size: 1.2rem; color:#cf0505; padding:0 1rem 0 0}
.join_form dl dd{width: 80%;}
.join_form small{display:block; font-size: 1.2rem; color:#666;}
.join_input{width:30rem; padding:1rem 2rem; border: 1px solid #ccc; border-radius: 1rem;}
.short_input{width: 10rem;}
.long_input{width: 100%;}
.btn_app{background: var(--sub_color); color:#fff; padding:.5rem; margin: 0 0 0 1rem ; border-radius: 1rem; font-size: 1.6rem;}
.radio_wrap_list{display: inline-block;}

