@charset "utf-8";

/*section*/
#section1 { position:relative;  }
@media screen and (min-width:992px){
	#section1 {  background: url('/images/caritas_bg.png') no-repeat 0 100%;  }
}

#section1 em.display-4 {font-style:normal; color:var(--bs-caritas)}
#section1 .main-btn-title { width: 7rem; height: 7rem;box-shadow: 0 0 0 .5rem var(--bs-body-bg) }
#section1 .main-btn-title:hover {cursor:default; color:inherit }
#section1 .main-btn > div {box-shadow: .1rem .1rem .5rem rgba(0, 0, 0, 0.1) !important;}
#section1 .main-btn > div:hover {box-shadow: 0 0 0 1px rgba(0,0,0,.3) inset; background: rgba(85, 172, 238, .75); transition: all 0.3s linear 0s}
#section1 .main-btn > div .btn h4 {position:relative; display: block; margin-bottom: 15px;color: var(--bs-caritas);}
#section1 .main-btn > div .btn h4:after {content:''; position:absolute; width: 50px;height: 3px;background-color: var(--bs-caritas);left: 0;bottom: -9px; }
#section1 .main-btn > div .btn.text-end h4:after { left:auto; right:0 }
#section1 .main-btn > div .btn h4 + p {text-align:justify; display: flex; flex-direction: column; margin: 1.25rem 0 0 0;-webkit-line-clamp: 4; line-clamp: 4;}
/*#section1 .main-btn > div .btn h4 + p:after {content:'> 더보기'; font-size:.8rem; margin-top:.5rem }*/
#section1 .main-btn > div:nth-child(even) .btn h4 + p:after  {margin-left: auto;}
#section2 { background-image: linear-gradient(rgba(var(--bs-tertiary-color-rgb),.02), var(--bs-body-bg)); padding-bottom:1rem; overflow:hidden;}
#section2 >div {position:relative; z-index:2 }
.footer hr { border-top: 1px solid #000; box-shadow: 0 2px 2px #2A2A2A; margin-bottom: 1.5rem; }
section .animate__heartBeat, section .animate__wobble { opacity: 1 !important; }
.btn .bi-plus-lg:before { transform: rotate(0deg); transition: all 0.3s ease 0s; }
.btn:hover .bi-plus-lg:before, .btn:focus .bi-plus-lg:before {transform: rotate(180deg);}

/* 하단영역 */
.area_bottom{position:relative; margin:0 auto; width:100%; height:480px; overflow:hidden; color:#544c4c; font-size:16px; font-weight:200; letter-spacing:-0.5px;}
.area_bottom_bg01{position:absolute; bottom:0; z-index:1; transform:translateY(0px); display:block; width:100%; height:440px; background:url('/images/main/img_bottom_bg01.png') no-repeat 50% 100%; background-size:cover; transition:all 1s ease 0.2s;}
.area_bottom_bg02{position:absolute; left:50%; margin-left:-168px; z-index:99; display:block; width:326px; height:149px; background:url('/images/main/img_bottom_bg02.png') no-repeat 50% 50%; bottom:-10px;	z-index:12;}
.area_bottom_bg03{position:absolute; left:38%; display:block; width:33px; height:33px; background:url('/images/main/img_bottom_bg03.png') no-repeat 50% 50%; transition:all 2s ease 1s;z-index:12; top:200px;}
.area_bottom_bg03 + .area_bottom_bg03 {top:250px;width:20px; height:20px;left:42%; background-size: cover;}
.area_bottom_bg04{position:absolute; right:20%; display:block; width:332px; height:212px; background:url('/images/main/img_bottom_bg04.png') no-repeat 50% 50%;background-size: contain; transition:all 2s ease 1s;z-index:1; top:0;}

.area_bottom h4{font-size:30px; font-weight:700; margin-bottom:20px;}
.area_bottom .inr{position:relative;   margin:0 auto;}
.area_left{z-index:99; margin-top:40px; padding-bottom:20px; border-right:1px solid rgba(166,191,195,0.4);}
.area_right{z-index:99; margin-top:40px; padding-bottom:20px; }
@media (max-width: 576px) {
	.area_left { border-right:0; border-bottom:1px solid rgba(166,191,195,0.4); }
	.area_right { text-align:right }
}
/* 링크배너존 */
@media (max-width: 767px) {
	#linkCarousel .carousel-inner .carousel-item > div { display: none; }
	#linkCarousel .carousel-inner .carousel-item > div:first-child { display: block; width:100%}
}
#linkContainer h4{ font-size:.8rem; color:var(--bs-secondary); font-weight:300; }
#linkContainer h4 > em{display:block; font-size:1.4rem; color:var(--bs-caritas); font-weight:400;font-style:normal; letter-spacing: -1.8px;}
#linkContainer .btn.rounded-circle {width:26px;height:26px;border-color:#ddd}
#linkCarousel .carousel-inner .carousel-item.active, #linkCarousel .carousel-inner .carousel-item-next, #linkCarousel .carousel-inner .carousel-item-prev { display: flex; align-items:center}
#linkCarousel .carousel-inner .carousel-item { text-align:center }
@media (min-width: 768px) {
	#linkCarousel .carousel-inner .carousel-item-end.active, #linkCarousel .carousel-inner .carousel-item-next { transform: translateX(25%);	}
	#linkCarousel .carousel-inner .carousel-item-start.active, #linkCarousel .carousel-inner .carousel-item-prev { transform: translateX(-25%); }
	#linkCarousel .carousel-item{ justify-content: space-between }
	#linkCarousel .carousel-inner .carousel-item-end, #linkCarousel .carousel-inner .carousel-item-start { transform: translateX(0);}
}
#linkContainer a:hover img {border-color:var(--bs-primary) !important; box-shadow: 0 0 .75rem rgba(var(--bs-primary-rgb), 0.75); transition: all 0.2s linear 0s;}
/*h3 title*/
h3.title {margin-bottom: 0.5rem !important;position: relative;}
h3.title:after {content: ""; position: absolute;display: block; width: 215px; height: 2px; background-color:var(--bs-gray-500); /*left: 50%; margin-left: -100px;*/ bottom: -15px }
#section1 h2.title:after, #section3 h2.title::after { background: rgba(255, 255, 255, .2) !important }
h3.title small{ color:inherit; font-size:1.1rem }
.sub-title { padding-bottom: 8px; margin: 0 0 3rem; border-bottom: 1px solid #777;}
.sub-title h4 {margin-top:0}

/*popup zone*/
#popup-zone .loading { left: 50%;  padding-top: 200px;padding-bottom: 200px; margin-left:-1.5rem }
#popup-zone .carousel-inner { height: 450px;position:relative }
#popup-zone .carousel-item:before { content:""; position:absolute; top:0; bottom:0; left:0; right:0; background-color:rgba(var(--bs-dark-rgb),.3); box-shadow: 0 0 30px 0 rgba(var(--bs-black-rgb),.2) inset;}
#popup-zone .carousel-control-prev, #popup-zone .carousel-control-next { width:50px; top:50%; bottom:auto; margin-top:-20px; background: rgba(0,0,0,.65);padding:.5rem; border-radius:50% }
/*#popup-zone .carousel-control-prev { border-radius:0 3rem 3rem 0 }
#popup-zone .carousel-control-next { border-radius:3rem 0 0 3rem }*/
#popup-zone .carousel-control-prev { margin-left:30px }
#popup-zone .carousel-control-next { margin-right:30px }
#popup-zone .carousel-caption {left:15px; right:15px; bottom:0;padding-bottom: 50px;}
#popup-zone .carousel-indicators [data-bs-target] { width: 10px; height: 10px; border-radius: 50%;border:0;}
#popup-zone .carousel-indicators [data-bs-target].active {width:30px;  border-radius: 1rem ; transition:width 0.1s ease-in-out}
@media (max-width: 767px) { 
	#popup-zone .carousel-inner { height: 250px; } 
#popup-zone .carousel-control-prev { margin-left:10px }
#popup-zone .carousel-control-next { margin-right:10px }
}

/*nav-tab custom*/
.main-tablist { flex-wrap: nowrap; white-space: nowrap; justify-content: center;align-items: center; --bs-nav-tabs-border-width:0; height: 46px;position: relative;}
.main-tablist a:not(.lastest-more) { font-size: 1.15rem; transition: font-size .1s ease-in-out 0s;  --bs-nav-link-color:#666;letter-spacing:-1px }
.main-tablist a + a:not(.lastest-more):before{content:' / '; font-size:.85rem; color:var(--bs-gray-500); margin-left: -1rem; margin-right: 1rem;font-weight: 300;}
.main-tablist > a.active, .main-tablist  > a.active:hover, .main-tablist  > a.active:focus { font-size: 1.25rem; background-color: transparent !important; font-weight: 600; }
.main-tablist > a:not(active):hover, .main-tablist > a:not(active):focus {border-radius: 0; border: none !important; background-color:transparent; margin-bottom:0 }

/*cal*/
.fc-h-event { --fc-event-bg-color:transparent; }
.fc-h-event, .fc-v-event { border:0 !important }
.fc-h-event .fc-event-main { --fc-event-text-color:initial }
.fc-day-sun, .fc-day-sun .fc-day-number, .fc-sun a, .fc-sun.fc-future a {color:var(--bs-red)}
.fc-day-sat, .fc-day-sat .fc-day-number, .fc-sat a, .fc-sat.fc-future a {color:var(--bs-blue)}
.holiday .fc-event-title {font-size:.75rem !important;font-style:normal !important; }

#w-calendar .fc-dayGridWeek-view {background:var(--bs-body-bg);box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;}
#w-calendar .fc-event:not(.fc-timegrid-event) { white-space: normal; --fc-small-font-size:1rem; margin-bottom:.5rem}
#w-calendar .fc-event-time { font-size:.75rem; flex-shrink: 0;}
@media (max-width: 576px) { #w-calendar .fc-event-time { display:none } }
#w-calendar .fc-event-title { overflow: hidden; text-overflow: ellipsis; display: -webkit-box !important; display: -moz-box !important; display: box !important; -webkit-box-orient: vertical; -moz-box-orient: vertical; box-orient: vertical; word-break: break-all; word-wrap: break-word; -webkit-line-clamp: 2; 
line-clamp: 2; white-space: normal; max-height: 44px; line-height: 1.25rem;  }
@media (max-width: 767px) { #w-calendar .fc-event-title { -webkit-line-clamp: 4; line-clamp: 4; max-height: 88px } }
/*연속일정 화살표*/
#w-calendar .fc-daygrid-event-harness-abs .fc-event::before { content: ''; border: 1px solid var(--bs-border-color); position: absolute; left: 0; right: 0; bottom: 0; }
#w-calendar .fc-daygrid-event-harness-abs .fc-event::after { font-family: bootstrap-icons; content: "\f231"; position: absolute; right: -5px; bottom: -10px;line-height:1; color: var(--bs-border-color);font-size:20px; font-weight:600; }
#w-calendar .fc-daygrid-event-harness-abs .fc-event:focus { box-shadow: none;}

/*footer*/
.footer #family-site, .footer #fam-move { background-color:#000; color:#fff; border-color:#3f3f3f; }