/*
	가로폭
*/
.custom-fixed {
	max-width: 1225px;  /* 최대 가로폭 제한 */
	margin: 0 auto;     /* 가운데 정렬 */
}

/*
	가운데 배너들의 좌우여백때문에 조금더 넓힘
*/
.custom-fixed2 {
	max-width: 1246px;  /* 최대 가로폭 제한 */
	margin: 0 auto;     /* 가운데 정렬 */
}



/*
    설교보기 페이지
*/
.live-search-section {
    transition: margin-top 0.3 ease;
}

@media (max-width: 767.98px) {
    .live-search-section {
        margin-top: 0;
        transition: margin-top 0.3 ease;
    }
}



/* 공통 스타일 */
/* ui.css에도 같은 이름으로 있는데 가로폭이 페이지마다 달라지거나 디자인이 변경될 수 있어서 별도로 또 만듦 */
.category-title {
    color: #9b9c9c;
    font-size: 18px;
    text-align: left;
    margin-bottom: 20px;
    background-color: transparent;
    padding: 0px 15px 10px 2px;
    margin: 30px 0 10px 0; 
}

/* 모바일: 전체 너비, 회색 배경, 흰색 또는 진한 텍스트 */
@media (max-width: 767.98px) {
    .category-title {
        display: block;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin: 0;
        background-color: #EBEEF3;
        color: #535A5E;
        font-size: 16px;
        padding: 10px 15px 10px 15px;
    }
}


/* 
    Media Wrap
*/
#MediaWrap {position:relative;margin:0;background-color:#fff;}
#MediaWrap .media_container {
    display: block;
    width: 100%;
    height: auto;
    z-index: 1;
}
#MediaWrap .media_info {
    position: relative;
    padding: 30px 20px 103px 0px; /* 왼족 여백 없도록 수정, 화면 작아지면 왼쪽여백 생김 */
    font-size: 13px;
} 
#MediaWrap .media_info .media_title {
    display: grid;
    font-size: 23px;
    color: #464B4F;
    font-weight: bold;
    line-height: 27px;
    width: 92%;
    padding: 0 12px 4px 0;
}
#MediaWrap .media_info .media_subtitle {
    display: table;
    font-size: 18px;
    color: #464B4F;
    letter-spacing: -1px;
    padding: 0 27px 6px 0;
}
#MediaWrap .media_info .media_txt {
    display: table;
    font-size: 17px;
    color: #9a9b9c;
    padding: 0 0 14px 0;
}
#MediaWrap .media_info .button_wrap {padding:7px 0 0 0;}
#MediaWrap .media_info .button_wrap a > span {
    display: inline-block;
    width: 75px;
    height: 34px;
    line-height: 30px;
    text-align: center;
    margin: 8px 2px 0 0;
}
#MediaWrap .media_info .button_wrap a > span {border:1px solid #B0B0B0;color:#6B6B6B;font-size:15px;font-weight:bold;}
#MediaWrap .media_info .share {position:absolute;top:21px;right:20px;}
#MediaWrap .media_info .share img {width:18px;}



.btn_gray {background-color:#fff;opacity:0.45;filter:alpha(opacity:45); }
.btn_sel {background-color:#cad2d4;}

.btn_gray {background-color:#fff;opacity:0.65;filter:alpha(opacity:65); }
.btn_live {color:#fff;background-color:#6896A6;}
.btn_live a span{color:#fff;}
.btn_purple {background-color:#cad2d4;color:#fff;}
.btn_unselected {background-color:#red;color:#6B6B6B;}



.sel_other_lang {
	display: inline-block;
	position: relative;
}

.m-sel-other-lang {
	display: none;
}

.btn_languages {
	width: 212px; 
	height: 35px;
	font-size: 21px;
	font-weight: bold;
	color: #505561;
	background-image: url(../img/arrow_semo1.png);
	background-repeat: no-repeat;
	background-position: 177px 14px;
	padding: 0px 12px 6px 0;
	display: flex;
	align-items: center;
}


/* 모바일: 세로 정렬 + 왼쪽 정렬 */
@media (max-width: 991.98px) {
    .category-title {padding-left: 10px;}
    .container {
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    #MediaWrap .media_info {
        padding: 27px 0px 45px 10px;
    }
}    


/* 모바일: 세로 정렬 + 왼쪽 정렬 */
@media (max-width: 767.98px) {
    .category-title {margin-bottom: 0px;}

    #MediaWrap .media_info {
        margin: 0 5px;
        padding: 21px 0px 45px 10px;
    }

    #MediaWrap .media_info .media_title {font-size:18px;line-height:23px;padding:0 12px 5px 0;}
    #MediaWrap .media_info .media_subtitle {font-size:15px;padding:0 27px 3px 0;}
    #MediaWrap .media_info .media_txt {font-size:14px;padding:0 0 3px 0;}

	.sel_other_lang {
		display: none;
		position: relative;
	}	

	.m-sel-other-lang {
		display: block;
		padding: 15px 0 0 0;
	}

	.btn_languages {
		width: 180px; 
		height: 35px;
		font-size: 19px;
		font-weight: bold;
		color: #505561;
		letter-spacing: -1px;
		background-image: url(../img/arrow_semo1.png);

		background-repeat: no-repeat;
		background-position: 150px 12px;
		padding: 6px 12px 6px 0;
		display: flex;
		align-items: center;
	}	
}



/*
    부드럽게 전환
*/
#MediaWrap .media_container video {
    transition: width 0.3s ease, height 0.3s ease;
}

.video-js {
    transition: all 0.3s ease;
}

.container,
#MediaWrap .media_container {
    transition: all 0.3s ease;
}



.btn_youtube {
  display: inline-block;
  background: url('../img/btn_youtube.png') no-repeat center center;
  background-size: 50px auto; /* 이미지 크기 맞춤 */
  text-indent: -9999px;  /* 혹시 텍스트가 있으면 화면에서 숨김 */
}






/*
    divider
*/
.full-width-divider {
    margin: 0;
    border: none;
    height: 8px;
    background-color: #C7CADC;
}

@media (max-width: 767.98px) {
    .full-width-divider {
        height: 0px;
    }
}




/*
	편성안내
*/
.container.broadcast-page {
	margin-top: 100px;
}

.card-schedule {
	background-color: #EBEEF3;
	border-radius: 15px;
	border-color: #dadbdd;
	padding: 0;
}

.card-schedule-title {
	font-size: 29px;
	color: #475264;
	font-weight: bold;
	padding: 0 0 0 0px;
	margin: 35px 0 0 34px;

	transition: all 0.3s ease;
}

.card-schedule .table,
.card-schedule .table td,
.card-schedule .table th {
	background-color: #EBEEF3 !important;
}

.card-schedule .table {
	padding: 0 0 0 0;
	margin: 16px 0 35px 0;
	width: 72%;
	transition: all 0.3s ease;
}

.card-schedule .table td {
	padding-top: 5px;   
	padding-bottom: 5px;
	font-size: 19px;
	color: #64676c;
	transition: all 0.3s ease;
}

.card-schedule .table td:first-child {
	position: relative;
	padding-right: 1rem;
	padding-left: 35px;
}

.card-schedule .table td:first-child::after {
	content: "|";
	position: absolute;
	right: 1px;
	top: 50%;
	transform: translateY(-50%);
	color: #c5c6c8;
	font-weight: normal;
	line-height: 1;
}

.banner-link {
	display: block;
	margin-bottom: 17px;;
}


@media (max-width: 1399.98px) {
	.card-schedule-title {
		font-size: 24px;
		margin: 35px 0 0 34px;
	}

	.card-schedule .table {
		margin: 17px 0 0 0;
		width: 80%;
	}
	
	.card-schedule .table td {
		padding-top: 5px;   
		padding-bottom: 5px;
		font-size: 16px;
		color: #64676c;
	}	

}


@media (max-width: 1279.98px) {
	.card-schedule-title {
		font-size: 21px;
		margin: 24px 0 0 24px;
	}

	.card-schedule .table td:first-child {
		padding-left: 24px;
	}

	.card-schedule .table {
		margin: 17px 0 0 0;
		width: 80%;
	}

	.card-schedule .table td {
		padding-top: 5px;   
		padding-bottom: 5px;
		font-size: 15px;
		color: #64676c;
	}	
}

@media (max-width: 991.98px) {
	.card-schedule-title {
		font-size: 18px;
		margin: 11px 0 0 19px;
	}
	.card-schedule .table td:first-child {
		padding-left: 20px;
	}

	.card-schedule .table {
		margin: 15px 0 0 0;
		width: 90%;
	}

	.card-schedule .table td {
		padding-top: 3px;   
		padding-bottom: 3px;
		font-size: 15px;
		color: #64676c;
	}		
}

@media (max-width: 767.98px) {
	.container.broadcast-page {
		margin-top: 0px;
	}

	.card-schedule {
		border-radius: 0 !important; /* 카드 둥근 모서리 제거 */
		width: 100%;
		padding: 15px 0 19px 0;
		border: none;
	}
	.card-schedule-title {
		font-size: 18px;
		margin: 8px 0 0 19px;
	}
	.card-schedule .table {
		margin: 12px 0 0 0;
		width: 91%;
	}	
	.card-schedule .table td {
		padding-top: 3px;   
		padding-bottom: 3px;
		font-size: 16px;
		color: #64676c;
	}
	.custom-col {
		padding-left: 0;
		padding-right: 0;
	}
}




.right-banners {
    display: flex;
    flex-direction: column;
    gap: 1rem; /* 배너 사이 간격 */
}

.row.g-3.g-md-3 {
    align-items: stretch; /* 좌우 컬럼 높이 맞춤 */
}

.banner-box {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	border-radius: 6px;
	text-decoration: none;
}

.col-md-6.d-flex.flex-column > .banner-box {
	flex: 1;   /* flex-grow:1, flex-shrink:1, flex-basis:0 */
	min-height: 160px;
	transition: all 0.3s ease;
}

.banner-usa { background-color: #C6F0EF; }
.banner-giving { background-color: #CCDCF6; }

.banner-icon1 {
	height: 100px;  
	margin-right: 12px;
	padding-left: 20px;
	transition: all 0.3s ease;
}

.banner-icon2 {
	height: 75px;  
	margin-right: 13px;
	transition: all 0.3s ease;
}

.banner-text1 {
	display: block;
	font-size: 33px;
	font-weight: 600;
	color: #476d9e;
	line-height: 34px;
	padding: 5px 0 0 10px;
	transition: all 0.3s ease;
}

.banner-text2 {
	display: block;
	font-size: 25px;
	font-weight: 600;
	color: #67B4A4;
	transition: all 0.3s ease;
}

.banner-giving .banner-text3 {
	font-size: 33px;
	font-weight: 600;
	color: #35806f;
	padding-left: 10px;
	transition: all 0.3s ease;
}


@media (max-width: 991.98px) {

	.col-md-6.d-flex.flex-column > .banner-box {
		min-height: 130px;
	}

	.banner-icon1 {
		height: 80px;  
		margin-right: 8px;
	}

	.banner-icon2 {
		height: 55px;  
		margin-right: 8px;
	}

	.banner-text1 {
		display: block;
		font-size: 28px;
		font-weight: 600;
		color: #476d9e;
		line-height: 34px;
		padding: 5px 0 0 6px;
	}

	.banner-text2 {
		display: block;
		font-size: 20px;
		font-weight: 600;
		color: #67B4A4;
	}

	.banner-giving .banner-text3 {
		font-size: 28px;
		font-weight: 600;
		color: #35806f;
		padding-left: 6px;
	}

}    


/* 모바일: 세로 정렬 + 왼쪽 정렬 */
@media (max-width: 767.98px) {

	.col-md-6.d-flex.flex-column > .banner-box {
		min-height: 110px;
	}

	.banner-icon1 {
		height: 70px;  
		margin-right: 5px;
		padding-left: 10px;
	}

	.banner-icon2 {
		height: 52px;  
		margin-right: 5px;
	}

	.banner-text1 {
		display: block;
		font-size: 24px;
		font-weight: 600;
		color: #476d9e;
		line-height: 26px;
		padding: 5px 0 0 3px;
	}

	.banner-text2 {
		display: block;
		font-size: 16px;
		font-weight: 600;
		color: #67B4A4;
	}

	.banner-giving .banner-text3 {
		font-size: 24px;
		font-weight: 600;
		color: #35806f;
		padding-left: 3px;
	}

}



/*
.img-fluid {
	max-width: 100%;
	height: auto;
}

.banner-img {
	max-width: 594px; 
	width: 100%;      
	height: auto;
}
*/

/* 기본값: PC에서는 모바일 숨김 */
.mobile-schedule-header {
  display: none;
  font-size: 15px;
}

/* 모바일 화면일 때 */
@media (max-width: 768px) {
  .desktop-schedule-header {
    display: none;
  }
  .mobile-schedule-header {
    display: block;
	padding-bottom: 15px;
	border-bottom: 1px solid #DEE2E6;
  }
}

.m-nav {
	cursor: pointer;
	color: #8B8C8E;
	font-size: 17px;
}

.m-date-text {
	color: #374A6A;
	font-size:19px;
	letter-spacing: -1px;
}


/*
	편성표 오늘 날짜
*/
.schedule-top {
    position: relative;
    height: 40px;
    font-size: 16px;
	margin: 136px 0 37px 0;
}

/* Schedule 글자 */
.schedule-title {
    font-size:19px;
	font-weight: bold;
}

.schedule-title a {
	color: #66676A;
}

/* 가운데 날짜 네비게이션 래퍼 */
.date-nav-wrapper {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* 날짜 + 화살표 */
.date-nav {
    display: flex;
    align-items: center;
}

.circle-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1px solid #ccc;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;	
}

.date-text {
	font-size: 40px;
	font-weight: bold;
	letter-spacing: -3px;
}

.weekday {
    background-color: #262D5B;
    color: #fff;
    padding: 0px 16px 2px 16px;
	margin-left: 16px;
    border-radius: 4px;
    font-size: 24px;
	font-weight: normal;
	letter-spacing: 0;
	line-height: 1.7;

}



/* 
	편성표 날짜선택 탭 
*/
.schedule-header {
    display: flex;
    border: 1px solid #ccc;
    background: #fff;
    overflow: hidden;
}

/* 날짜 목록 wrapper */
.schedule-header .days-wrapper {
    flex: 1 1 auto;
    display: flex;
    overflow-x: auto;   /* 모바일에서 스크롤 */
    _scrollbar-width: none; /* Firefox 스크롤 숨김 */
	scrollbar-width: nowrap;
}
.schedule-header .days-wrapper::-webkit-scrollbar {
    _display: none;      /* 크롬/사파리 스크롤 숨김 */
}

/* 날짜 칸 */
.schedule-header .day {
    flex: 1 1 0;
    min-width: 100px;
    text-align: center;
    padding: 9px 10px;
    font-size: 19px;
    border-right: 1px solid #ccc;
    background: #F1F1F1;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
	cursor: pointer;
}

/* 첫 번째 날짜 칸 왼쪽 테두리 */
.schedule-header .days-wrapper .day:first-child {
    border-left: 1px solid #ccc;
}

/* 화살표 칸 (고정 폭) */
.schedule-header .nav-arrow {
    flex: 0 0 40px;     /* 무조건 40px */
    width: 40px;
    height: 50px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    _border-left: 1px solid #ccc;
    _border-right: 1px solid #ccc;
    cursor: pointer;
}



/* 활성화된 날짜 */
.schedule-header .day.active {
    background: #687679;
    color: #fff;
    _font-weight: bold;
}




#ScheduleWrap {position:relative;margin:0;background-color:#fff;margin:0 0 0 0;padding:0 0 0 0;}
#ScheduleWrap .date_wrap {display:blcok;margin:0 auto;width:100%;height:60px;line-height:68px;_border-bottom:1px solid #E0DCDB;}
#ScheduleWrap .date_wrap table {width:100%;}
#ScheduleWrap .date_wrap .left_date {width:50px;text-align:center;}
#ScheduleWrap .date_wrap .left_date a {color:#6f777e;}
#ScheduleWrap .date_wrap .now_date {width:auto;text-align:center;}
#ScheduleWrap .date_wrap .right_date {width:50px;text-align:center;color:#6f777e;}
#ScheduleWrap .date_wrap .right_date a {color:#6f777e;}
#ScheduleWrap .date_wrap .now_date .mdate {font-size:20px;color:#6f777e;font-weight:bold;}
#ScheduleWrap .date_wrap .now_date .yoil {font-size:17px;color:#6f777e;font-weight:bold;letter-spacing:-1px;}




/* 시간+날짜 묶음 */
.time-cell {
	display: flex;
	flex-direction: column; /* 세로 배치 */
	align-items: center;    /* 가운데 정렬 */
	line-height: 1.2;       /* 줄 간격 줄이기 */
	padding: 19px 0;
}

/* 시간 스타일 */
.time-cell .time {
	font-weight: 600;
	font-size: 22px;
	color: #747467;
	line-height: 1.5;
}

/* 날짜 스타일 */
.time-cell .date {
	font-size: 17px;
	color: #858578;
	letter-spacing: -1px;
}

.table td.scontent {
	font-size: 20px;
	color: #42464b;  
}

.schedule-note {
	font-size: 13px;
	color: #666;
	text-align: center;
	margin-top: 10px;
}


@media (max-width: 768px) {

	.time-cell {
		display: flex;
		flex-direction: column; /* 세로 배치 */
		align-items: center;    /* 가운데 정렬 */
		line-height: 1.2;       /* 줄 간격 줄이기 */
		padding: 10px 10px;
	}

	/* 시간 스타일 */
	.time-cell .time {
		font-weight: 600;
		font-size: 17px;
		color: #747467;
		line-height: 1.5;
	}

	/* 날짜 스타일 */
	.time-cell .date {
		font-size: 13px;
		color: #858578;
		letter-spacing: -1px;
	}

	.table td.scontent {
		font-size: 16px;
		color: #42464b;  
	}
	
}


/*
    Bottom 여백
*/
.m-l-bottom {
    display: block;
    margin-bottom: 215px;
}

@media (max-width: 768px) {
	.m-l-bottom {
		display: block;
		margin-bottom: 90px;
	}
}

