@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-Thin.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-ExtraLight.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: "Pretendard";
  src: url("../fonts/Pretendard-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
}

body {
  font-family: "Pretendard", sans-serif;
  font-weight: 400; /* 기본 가중치는 Regular(400) */
  margin: 0;
  padding: 0;
  box-sizing: border-box !important;
}

* {
  box-sizing: border-box !important;
}

.cvtc_wrap {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
}

.cvtc_userbox {
  width: 100%;
  height: 45px;
  display: flex;
  justify-content: center;
  border-bottom: 1px solid #dcdcdc;
}

.cvtc_width{
  width:1000px;
}

.cvtc_wrapper {
  width:100%;
  display:flex;
  justify-content:center;
}

.cvtc_userbox .cvtc_loginJoin {
  height: 45px;
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  align-items: center;
  font-size: 14px;
  color: #666666;
}

.cvtc_loginJoinBtn {
  cursor: pointer;
}

.cvtc_loginJoinBtn:hover {
  color: #215f9d;
}

.cvtc_menubox {
  width: 100%;
  height: 75px;
  display: flex;
  justify-content: center;
}

.cvtc_menubox .cvtc_menudiv {
  height: 75px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cvtc_menubox .cvtc_menudiv .cvtc_logo img {
  height: 30px;
  cursor: pointer;
}

.cvtc_menus {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
  font-size: 18px;
  color: #333;
}

.cvtc_menus div {
  cursor: pointer;
}

.cvtc_menus .top_menu:hover {
  color: #215f9d;
}

.cvtc_menus .top_menu.active {
  color: #215f9d;
  font-weight: bold;
}

.cvtc_menus .top_sub_menu{
  margin-bottom:15px;
  font-size:15px;
}

.cvtc_menus .top_sub_menu:hover {
  color: #215f9d;
}

.cvtc_bannerbox {
  width: 100%;
  height: 350px;
  background-image: url("../img/banner.png");
  background-size: cover; /* 요소를 꽉 채우도록 설정 */
  background-repeat: no-repeat; /* 이미지 반복 방지 */
  background-position: center center; /* 가운데 정렬 */
  display: flex;
  justify-content: center;
  align-items: center;
}

.cvtc_bannerbox .cvtc_banner_text {
  height: 280px;
}

.cvtc_sermonbox {
  margin-top: 40px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.cvtc_sermon_title {
  font-size: 35px;
  font-weight: bold;
  color: #333;
}

.cvtc_sermons_list {
  margin-top: 20px;
  width: 100%;
  display: flex;
  align-items: center;
  gap:40px;
}

.cvtc_sermons_list .cvtc_sermon_item {
  flex:1;
  cursor: pointer;
}

.cvtc_sermons_list .cvtc_sermon_item .cvtc_sermon_info {
  margin-top: 15px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.cvtc_sermon_item .cvtc_sermon_img {
  width: 100%;
  height: auto;
}

.cvtc_sermon_info .cvtc_sermon_info_sort {
  color: #215f9d;
  font-size: 14px;
  font-weight: 600;
}

.cvtc_sermon_info .cvtc_sermon_info_title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
}

.cvtc_sermon_info .cvtc_sermon_info_pastor {
  font-size: 15px;
  font-weight: 600;
  color: #666;
}

.cvtc_middle_menus_box {
  margin-top: 50px;
  width: 100%;
  height: 200px;
  background-color: #eee;
  display: flex;
  justify-content: center;
}

.cvtc_middle_menus {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.cvtc_middle_menu_item {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  cursor: pointer;
}

.cvtc_middle_menu_text {
  text-align: center;
  font-size: 16px;
  color: #666;
}

.cvtc_middle_menu_img {
  height: 70px;
}

.cvtc_notice_box {
  margin-top: 50px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.cvtc_notice_title {
  font-size: 35px;
  font-weight: bold;
  color: #333;
}

.cvtc_notice_content {
  margin-top: 20px;
  height: 315px;
  display: flex;
  align-items: flex-start;
  gap: 40px;
  justify-content: space-between;
}

.cvtc_notice_list {
  height: 315px;
  flex: 1;
  border-top: 2px solid #215f9d;
  border-bottom: 2px solid #bfbfbf;
}

.cvtc_notice_item {
  cursor: pointer;
  width: 100%;
  padding-left: 20px;
  height: 77px;
  border-bottom: 2px solid #e5e5e5;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  color: #666;
}

.cvtc_notice_item:hover {
  background-color: #f5f5f5;
}

.cvtc_community_button {
  height: 315px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cvtc_community_community {
  flex: 1;
  background-image: url("../img/i_community.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  font-size: 30px;
  font-weight: bold;
  color: #fff;
  display: flex;
  align-items: center;
  padding-left: 50px;
  cursor: pointer;
}

.cvtc_community_album {
  flex: 1;
  background-image: url("../img/i_album.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  font-size: 30px;
  font-weight: bold;
  color: #fff;
  display: flex;
  align-items: center;
  padding-left: 50px;
  cursor: pointer;
}

.cvtc_bottom_box {
  width: 100%;
  height: 200px;
  margin-top: 120px;
  background-color: #1b1b1b;
  display: flex;
  justify-content: center;
  align-items: center;
}

.cvtc_bottom_layout {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.cvtc_bottom_logo {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.cvtc_bottom_logo img {
  height: 30px;
  width: 150px;
}

.cvtc_bottom_chruch_info {
  color: #a4a4a4;
  font-size: 16px;
}

.cvtc_bottom_sub_menus {
  color: #a4a4a4;
  font-size: 16px;
  display: flex;
  gap: 80px;
  justify-content: flex-end;
}

.cvtc_bottom_sub_menus div {
  cursor: pointer;
}

.cvtc_joinbox {
  margin-top: 60px;
  margin-bottom: 60px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.cvtc_joinform {
  width: 600px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap:10px;
}

.cvtc_joinform_title {
  font-size: 45px;
  font-weight: bold;
  color: #666;
  margin-bottom: 40px;
}

.cvtc_joinform .cvtc_inputbox {
  width: 600px;
  height: 60px;
  border-bottom: 2px solid #c9c9c9;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight:500;
  position:relative;
}

.cvtc_joinform .cvtc_inputbox .cvtc_inputname {
  display:flex;
  align-items: center;
}

.cvtc_formname {
  color: #969696;
}
.cvtc_form_required {
  color: #ec000b;
}

.cvtc_form_input {
  background: transparent;
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height: 62px;
  padding: 0 20px 0 120px;
  font-size: 20px;
  border: none;
  outline: none;
}

.cvtc_form_input::placeholder {
  color: #aaa;
  font-size: 13px;
}

.cvtc_request_auth{
  display:flex;
  justify-content: flex-end;
  align-items: center;
  width:70px;
  font-size:16px;
  color:#666;
  text-decoration: underline;
  cursor: pointer;
  z-index: 1000;
}

.cvtc_joinform_checkbox {
  flex:1;
  display: flex;
  align-items: center;
  gap: 10px;
}

.cvtc_joinform_checkbox label {
  font-size:18px;
  color:#666;
}

.cvtc_checkbox_img{
  width:18px;
  height:18px;
  margin-bottom:2px;
}

.cvtc_disp_none{
  display:none;
}

.cvtc_checkbox_img_blank{
  width:18px;
  height:18px;
  border:1px solid #666;
  border-radius: 2px;
}

.cvtc_checkbox_label{
  font-size:18px;
  color:#666;
  cursor: pointer;
}

.cvtc_ch_box{
  width:600px;
}

.cvtc_red_text{
  font-size:16px;
  color:#e71b1b;
}

.mt50{
  margin-top:50px;
}

.mt20{
  margin-top:20px;
}

.mt15{
  margin-top:15px;
}

.cvtc_form_textarea {
  border:1px solid #c9c9c9;
  width:568px;
  margin-top:5px;
  resize:none;
  height:200px;
  padding:15px;
  overflow-y: auto;
}

.cvtc_form_textarea:focus {
  outline: none;
}

.cvtc_joinform_button {
  margin-top:20px;
  background-color: #67bc7a;
  font-size:18px;
  color:#fff;
  height:60px;
  display:flex;
  width:600px;
  align-items: center;
  justify-content: center;
}

.cvtc_login_form_findbox {
  width: 600px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cvtc_login_form_text{
  color:#969696;
  font-size:18px;
}

.cvtc_login_form_text a{
  color:#969696;
  text-decoration: none;
  cursor: pointer;
}

.cvtc_justify_end {
  justify-content: flex-end !important;
}

.cvtc_main_banner{
  width:100%;
  height:250px;
  display:flex;
  justify-content:center;
  align-items:center;
  background-image: url("../img/intro_back.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
}

.cvtc_main_banner_title{
  font-size:35px;
  font-weight:bold;
  color:#fff;
  margin-bottom:50px;
}


.cvtc_sub_menu_box{
  z-index: 100;
  width:100%;
  display:flex;
  justify-content:center;
  position:absolute;
  bottom:0px;
}

.cvtc_sub_menus{
  display:flex;
  align-items: center;
}

.cvtc_sub_menu{
  font-size:20px;
  flex:1;
  height:70px;
  color:#fff;
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.cvtc_act{
  background-color: #67bc7a !important;
}

.cvtc_sub_title{
  margin-top:90px;
  margin-bottom:50px;
  display:flex;
  justify-content:center;
  font-size:40px;
  font-weight:bold;
  color:#333;
}

.cvtc_intro_img{
  width:100%;
  overflow: visible;
  position: relative;
}

.cvtc_intro_img img {
  width:100%;
}

.cvtc_intro_img_textbox{
  position:absolute;
  right:-50px;
  bottom:-100px;
  width:500px;
  height:200px;
  background-color: #67bc7a !important;
  z-index: 100;
  color:#fff;
  padding:40px 40px;
}

.cvtc_textbox_title1{
  font-size:32px;
  font-weight:600;
}

.cvtc_textbox_title2{
  margin-top:10px;
  font-size:26px;
  font-weight:600;
}

.cvtc_textbox_title3{
  margin-top:15px;
  font-size:26px;
  font-weight:600;
}

.cvtc_intro_text{
  margin-top:150px;
  font-size:18px;
  color:#666;
  line-height: 30px;
}

.cvtc_intro_pastor {
  display:flex;
  align-items: flex-start;
  gap:40px;
}

.cvtc_pastor_thumb{
  width:240px;
  height:270px;
  overflow: hidden;
}
.cvtc_pastor_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;   /* 비율 유지 + 영역 꽉 채우기 */
  object-position: center center; /* 가운데 정렬 (기본값이기도 함) */
}