
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.8/dist/web/variable/pretendardvariable.css");

body {
  background: #fff;
  color: #444;
  font-family: "Pretendard Variable", Pretendard, "Open Sans", sans-serif;
  font-size:17px;
}

a {
  color: #007bff;
  transition: 0.5s;
}

a:hover,
a:active,
a:focus {
  color: #0b6bd3;
  outline: none;
  text-decoration: none;
}

p {
  padding: 0;
  margin: 0 0 30px 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 20px 0;
  padding: 0;
}

/* Back to top button */



.back-to-top {
  position: fixed;
  display: none;
  right: 25px;
  bottom: 25px;
  z-index: 999;
}
.back-to-top a {
	display: flex;
	justify-content: center; 
	align-items: center;
  color: #fff;
  width: 70px;
  height: 70px;
  
  border-radius: 50%;
  transition: background 0.5s;
}

.top-icon {
	background: #1f1f1f;
	font-size: 28px;
}

.reserv-icon {
	background: #123b59;
	margin-bottom: 20px;
	font-size: 20px;
}



/* Prelaoder */

#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: #fff;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #f2f2f2;
  border-top: 6px solid #007bff;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  -webkit-animation: animate-preloader 1s linear infinite;
  animation: animate-preloader 1s linear infinite;
}

@-webkit-keyframes animate-preloader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes animate-preloader {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

#header {
  height: 110px;
  transition: all 0.5s;
  z-index: 997;
  padding: 28px 50px;
  border-bottom:solid 1px #fff;
}

#header.header-scrolled,
#header.header-pages {
  height: 60px;
  padding: 10px 0;
  background: #fff;
  border-bottom:solid 1px #ddd;
}

#header .logo a {
	display: inline-block;
	margin-top: 5px;
	width:150px;
	height:42px;
	text-indent: -3000px;
	background: url("../img/logo.png") no-repeat;
}


#header.header-scrolled .logo a,
#header.header-pages .logo a{
	margin-top: 5px;
	height:26px;
	background: url("../img/logo_c.png") no-repeat;
}

#header .logo img {
  padding: 0;
  margin: 7px 0;
}

#header.header-scrolled .logo img,
#header.header-pages .logo img {
  max-height: 26px;
}

.main-pages {
  margin-top: 60px;
}

/*--------------------------------------------------------------
# Intro Section
--------------------------------------------------------------*/

#intro {
  width: 100%;
  position: relative;
  background-size: cover;
  padding: 200px 0 120px 0;
	
}

.subVisual10 {background: url("../img/subbg01.jpg") center no-repeat;}
.subVisual20 {background: url("../img/subbg02.jpg") center no-repeat;}
.subVisual30 {background: url("../img/subbg03.jpg") center no-repeat;}
.subVisual40 {background: url("../img/subbg04.jpg") center no-repeat;}
.subVisual50 {background: url("../img/subbg05.jpg") center no-repeat;}
.subVisual60 {background: url("../img/subbg06.jpg") center no-repeat;}

#intro .intro-info {
  width: 100%;
	text-align: center;
}

#intro .intro-info h2 {
  color: #fff;
  margin-bottom: 10px;
  font-size: 48px;
  font-weight: 700;
}

#intro .intro-info .location {
	text-align: center;
}

#intro .intro-info .location li {
	position: relative;
	display: inline-block; 
	color:#fff;
	padding: 0 10px;
	font-size:16px;
}
#intro .intro-info .location li::after {
  content: "●";  /* 또는 "\2022" */
  position: absolute;
  right: -6px;
  top:7px;
  color: #fff;
  font-size:6px;
}

#intro .intro-info .location li:last-child::after {
  content: "";  /* 마지막 li에는 점 안 보이게 */
}

#intro .intro-info .location li a {
	color:#fff;
	
}



 .card-title {
    font-size: 22px;
    font-weight: 600;
    margin: 0;
  }

  .card-text.small {
    font-size: 15px;
    color: #666;
    margin: 10px 0 0 0;
	word-break: keep-all;
	overflow-wrap: break-word;
  }

  .side-menu-card .card-body {
    display: flex;
    justify-content: start;
	align-items: center;
    gap: 15px;
    text-align: left;
  }


	.micon { flex-shrink: 0; width:90px; height:90px; }
	.icon01 { background: url("../img/main_icon01.png") top left;}
	.icon02 { background: url("../img/main_icon02.png") top left;}
	.icon03 { background: url("../img/main_icon03.png") top left;}
	.icon04 { background: url("../img/main_icon04.png") top left;}

	.card-text { flex-grow: 1; }


  .side-menu-card {
    transition: all 0.5s;
    border: none;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    background-color: #f4f6f8;
    color: #333;
	
  }

  .side-menu-card:hover {
    background: linear-gradient(135deg, #008cd6, #37b3e9);
    color: white;
    box-shadow: 0 6px 16px rgba(0,0,0,0.20);
    transform: translateY(-10px);
  }

  .side-menu-card:hover .card-text,
  .side-menu-card:hover .card-text.small{
    color: #fff !important;
  }


.mt50 { margin-top:50px; }



  .location ul {
    list-style: none;
    padding: 0;
  }

  .location ul li {
    display: inline;
    margin-right: 5px;
    color: #888;
  }

.notice-card { height:100%; }
.notice-card .card-body { padding:2.5rem; }

.notice-card .card-title { position: relative; font-size:30px; font-weight: 700; color:#333; border-bottom:solid 3px #333;border-bottom: solid 2px #333;padding-bottom: 25px; }
.notice-card .card-title span { position: absolute; top:10px; right:0; font-size:14px;}

.main_notice { width:100%; }
.main_notice li { width:100%; padding:25px 0; border-bottom: dashed 1px #ddd;}
.main_notice li:last-child { border-bottom: none;padding-bottom:0;}
.main_notice li a { display: flex; justify-content: space-between; font-size:18px; }
.main_notice li .notice_date { font-size:14px; color:#666; }




  .mass-time-card {
    background-color: #202e42;
    color: white;
  }

.mass-body { display: flex; padding:2.5rem; }
.mass-title {flex-shrink: 0; width: 160px; font-size:30px; font-weight: 700;}
.mass-list {flex-grow: 1; font-size:20px;}
.mass-list li { border-bottom:solid 2px #4d5868; padding-bottom: 15px; margin-bottom: 15px;}
.mass-list li:last-child {border-bottom:none; padding-bottom: 0; margin-bottom: 0;}
.mass-list li span.mass-tit { color:#239fdb; font-weight: 600; }
.mass-list li span.mass-tit:before {
  content: "\f111";
  font-family: FontAwesome;
  font-size:6px;
  padding-right: 10px;
	vertical-align: top;
	padding-top: 11px;
	display: inline-block;
}

.contact-card { background: #f4f6f8; border:none; padding:2.5rem; color:#333; }
.contact-card p {font-size: 18px; font-weight: 600; }
.contact-card h4 {margin-bottom: 15px; font-size: 35px;font-weight: bold; color:#157dc3; }
.contact-card small { font-size:16px; }





/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/

/* Desktop Navigation */

.main-nav {
  /* Drop Down */
  /* Deep Drop Down */
}

.main-nav,
.main-nav * {
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-nav > ul > li {
  position: relative;
  white-space: nowrap;
  float: left;
}

.main-nav a {
  display: block;
  position: relative;
  color: #fff;
  padding: 10px 20px;
  transition: 0.3s;
  font-size: 18px;
  font-weight: 500;
}

#header.header-scrolled .main-nav a,
#header.header-pages .main-nav a {
  color: #333;
  font-size: 16px;
}

.main-nav a:hover,
.main-nav .active > a,
.main-nav li:hover > a {
  color: #fff;
  text-decoration: none;
}

.main-nav .drop-down ul {
  display: block;
  position: absolute;
  left: 0;
  top: calc(100% + 30px);
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  padding: 10px 0;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
  transition: ease all 0.3s;
  border-top:solid 3px #147bc2;
}

.main-nav .drop-down:hover > ul {
  opacity: 1;
  top: 100%;
  visibility: visible;

}

.main-nav .drop-down li {
  min-width: 180px;
  position: relative;
}

.main-nav li.drop-down:hover > a {
  color:#202e42;
}

.main-nav .drop-down ul a {
  padding: 10px 20px;
  font-size: 14px !important;
  color: #666;
}

.main-nav .drop-down ul a:hover {
  color: #000;
}

.main-nav .drop-down > a:after {
  content: "\f107";
  font-family: FontAwesome;
  padding-left: 10px;
}

.main-nav .drop-down .drop-down ul {
  top: 0;
  left: calc(100% - 30px);
}

.main-nav .drop-down .drop-down:hover > ul {
  opacity: 1;
  top: 0;
  left: 100%;
}

.main-nav .drop-down .drop-down > a {
  padding-right: 35px;
}

.main-nav .drop-down .drop-down > a:after {
  content: "\f105";
  position: absolute;
  right: 15px;
}

/* Mobile Navigation */

.mobile-nav {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 9999;
  overflow-y: auto;
  left: -260px;
  width: 260px;
  padding-top: 18px;
  background: rgba(19, 39, 57, 0.8);
  transition: 0.4s;
}

.mobile-nav * {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mobile-nav a {
  display: block;
  position: relative;
  color: #fff;
  padding: 10px 20px;
  font-weight: 500;
}

.mobile-nav a:hover,
.mobile-nav .active > a,
.mobile-nav li:hover > a {
  color: #74b5fc;
  text-decoration: none;
}

.mobile-nav .drop-down > a:after {
  content: "\f078";
  font-family: FontAwesome;
  padding-left: 10px;
  position: absolute;
  right: 15px;
}

.mobile-nav .active.drop-down > a:after {
  content: "\f077";
}

.mobile-nav .drop-down > a {
  padding-right: 35px;
}

.mobile-nav .drop-down ul {
  display: none;
  overflow: hidden;
}

.mobile-nav .drop-down li {
  padding-left: 20px;
}

.mobile-nav-toggle {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9998;
  border: 0;
  background: none;
  font-size: 24px;
  transition: all 0.4s;
  outline: none !important;
  line-height: 1;
  cursor: pointer;
  text-align: right;
}

.mobile-nav-toggle i {
  margin: 18px 18px 0 0;
  color: #000;
}

.mobile-nav-overly {
  width: 100%;
  height: 100%;
  z-index: 9997;
  top: 0;
  left: 0;
  position: fixed;
  background: rgba(19, 39, 57, 0.8);
  overflow: hidden;
  display: none;
}

.mobile-nav-active {
  overflow: hidden;
}

.mobile-nav-active .mobile-nav {
  left: 0;
}

.mobile-nav-active .mobile-nav-toggle i {
  color: #000;
}

/*--------------------------------------------------------------
# Sections
--------------------------------------------------------------*/

/* Sections Header
--------------------------------*/

.section-header h3 {
  font-size: 36px;
  color: #283d50;
  text-align: center;
  font-weight: 500;
  position: relative;
}

.section-header p {
  text-align: center;
  margin: auto;
  font-size: 15px;
  padding-bottom: 60px;
  color: #556877;
  width: 50%;
}

/* Section with background
--------------------------------*/

.section-bg {
  background: #ecf5ff;
}


/* sub menu Section
--------------------------------*/
#submn { position: sticky;top: 60px; display: flex; margin-bottom: 80px; border-bottom: solid 1px #e0e0e0; z-index: 99;gap: 20px;background: white;}
#submn .submn_list { width:100%; text-align: center  }
#submn .submn_list li { display: inline-block; }
#submn .submn_list li a {display: inline-block;padding: 22px 30px 20px;font-size: 16px; color:#666; transition: all 0.5s; border-bottom: solid 2px #fff;}
#submn .submn_list li a:hover,
#submn .submn_list li a.on {color:#222; border-bottom:solid 2px #333; font-weight: 600;}



.tabmenu {
  
  
  
  padding: 10px 0;
  display: flex;
  
  border-bottom: 1px solid #ddd;
}

.tabmenu a {
  padding: 10px 20px;
  background: #eee;
  border-radius: 5px;
  color: #333;
  text-decoration: none;
}

.tabmenu a.on {
  background: #d32f2f;
  color: #fff;
}

/* About Us Section
--------------------------------*/

#about {
  background: #fff;
  padding: 60px 0;
}



/* 요나성당 소개
--------------------------------*/

h2.txt_h2 { margin-bottom: 50px; font-size:40px; font-weight: 600; color:#000;}
h3.txt_h3 { margin-bottom: 25px; font-size:32px; font-weight: 600; color:#000;}
	h4.txt_h4 { margin-bottom: 25px; font-size:25px; font-weight: 600; color:#000;}
	
	/* section1 */
	.mn_content { position: relative; margin-bottom: 100px; }
	.mn1_sec1_img { position: absolute; top: 0; right: 0; width: 50%; height: 100%; padding-left: 30px; z-index: 1; }
	.sec1_txt { padding:50px 20px; }
	.sec1_txt_top { margin-bottom: 35px; color:#000; }
	.sec1_txt_end { margin-top: 25px; color:#000;}
	.sec1_txt_end strong { font-size:25px;  }
	
	.object-fit-cover {object-fit: cover;}
	
	.ffam_m { font-family: "Apple SD Gothic Neo", "Nanum Myeongjo", "Batang", "serif"; font-weight: 500; }
	.fs-25 { font-size:25px; }
	.fs-35 { font-size:35px; }

	.sec2 { padding-left:50px; }
	.mn1_sec2_img { position: absolute; top: 0; left: 0; width: 50%; height: 100%; padding-right: 30px; z-index: 1; }
	
	.mn3box {padding:70px 0; background:#f7f7f7;}
	.sec3_list { margin-bottom: 30px; padding-bottom:20px; border-bottom:solid 3px #c2c2c2; font-size:20px; }
	.sec3_time {font-size:25px; color:#000;}
	
	
	.grid-background {
		padding:100px 0;
		border:solid 1px #c2c2c2;
	  background-color: #ffffff; /* 바탕색 (흰색) */
	  background-image: 
		linear-gradient(to right, #f4f4f4 1px, transparent 1px),
		linear-gradient(to bottom, #f4f4f4 1px, transparent 1px);
	  background-size: 15px 15px; /* 모눈 간격 */
	}
	.logoimgArea { padding:70px 0; background: #f7f7f7; }
	.btn-line-blue {
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  padding: 10px 50px 10px 24px; /* 오른쪽 padding 넓게 */
	  margin: 0 5px;
	  border: 1px solid #0a3c7d;
	  border-radius: 999px;
	  background-color: transparent;
	  color: #0a3c7d;
	  font-size: 1rem;
	  font-weight: 600;
	  position: relative; /* 아이콘 위치 기준 */
	  transition: all 0.3s ease;
	}

	.btn-line-blue::after {
	  content: "→";
	  position: absolute;
	  right: 16px;
	  top: 40%;
	  transform: translateY(-40%);
	  width: 14px;
	  height: 14px;
	  font-size:14px;
	}

	.btn-line-blue:hover {
	  background-color: #0a3c7d;
	  color: #ffffff;
	}

	.btn-blue {
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  padding: 10px 50px 10px 24px; /* 오른쪽 padding 넓게 */
	  margin: 0 5px;
	  border-radius: 999px;
	  background-color: #0a3c7d;
	  color: #fff;
	  font-size: 1rem;
	  font-weight: 600;
	  position: relative; /* 아이콘 위치 기준 */
	  transition: all 0.3s ease;
	}

	.btn-blue::after {
	  content: "→";
	  position: absolute;
	  right: 16px;
	  top: 40%;
	  transform: translateY(-40%);
	  width: 14px;
	  height: 14px;
	  font-size:14px;
	}

	.btn-blue:hover {
	  background-color: transparent;
	  border: 1px solid #0a3c7d;
	  color: #0a3c7d;
	}
	
	#section5 { padding:100px 0; background: #eaeff7;  }
	.video-wrapper {
		  position: relative;
		  width: 100%;
		  padding-top: 56.25%; /* 16:9 비율 => 9 ÷ 16 = 0.5625 */
		  overflow: hidden;
		}

		.video-wrapper iframe {
		  position: absolute;
		  top: 0;
		  left: 0;
		  width: 100%;
		  height: 100%;
		  border: 0;
		}
	
	
/*객실소개*/
.swiper-pagination-progressbar {
  position: absolute;
  bottom: 0;      
  top: auto !important;
  left: 0;
  width: 100%;
  height: 4px;
  background: #eee;
  z-index: 10;
}

.swiper-pagination-progressbar-fill {
  background: #219ad7; 
}
	
.swiper-button-next,
.swiper-button-prev {
  color: #fff; 
}

.swiper-button-next::after,
.swiper-button-prev::after {
  color: #fff;
}
	
	
	
.room-detail { margin-bottom: 100px; }
	
.room-tit { display:flex; justify-content: space-between; align-items: flex-start;}
.room-info-tit { padding-bottom: 50px; margin-bottom: 50px !important; border-bottom:solid 2px #333;  }
.room-info-box { display: flex; flex-wrap: wrap; padding-bottom: 50px; margin-bottom: 50px; border-bottom: solid 1px #ddd; }
.room-txt { margin-bottom: -40px;  }
.room-txt dl { margin-bottom: 40px; }
.room-txt dl dt { color:#222; margin-bottom: 15px; }
.room-txt dl dd { padding-left: 22px; }
.dot-tit {
    position: relative;
    padding-left: 22px;
 }
 .dot-tit::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 14px;
    height: 1px;
    background-color: #444;
    transform: translateY(-50%);
 }
	
.info-notice-box { padding:50px; margin: 50px 0; background: #f8f8f8; }
.info-notice-box li { padding:5px 0; }

.room-policy-box { border:solid 1px #ddd; padding:50px 50px 20px 50px; margin-bottom: 30px; }
.divider {
  width: 100%;
  height: 5px;
  background: repeating-linear-gradient(
    45deg,
    #eee,
    #eee 2px,
    transparent 2px,
    transparent 4px
  );
	margin: 50px 0;
}
	
.btn-wrap-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(255,255,255,0.7);
  padding: 15px 0;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
  z-index: 990;
  transition: all 0.3s ease;
}

.btn-wrap-absolute {
  position: static !important;
  box-shadow: none;
}


/*--------------------------------------------------------------
# 게시판
--------------------------------------------------------------*/

.board-box { margin-bottom: 100px; }



/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

#footer {
  background: #333;
  padding: 0 0 30px 0;
  color: #eee;
  font-size: 14px;
}

#footer .copyright {
  text-align: center;
  color:#b8b8b8; 
  font-size:13px;
}

#footer .footerLink { padding: 30px 0 10px; text-align: center;}
#footer .footerLink a { display: inline-block; margin: 0 10px; color:#fff; }



/*--------------------------------------------------------------
# Responsive Media Queries
--------------------------------------------------------------*/

@media (min-width: 992px) {
  #testimonials .testimonial-item p {
    width: 80%;
  }
}

@media (max-width: 1060px) {
	  .side-menu-card .card-body {
    text-align: center;
    flex-direction: column;
  }

	.mass-body { flex-direction: column; }
	.mass-title {padding-bottom: 20px;}
	
	#submn .submn_list li a {padding: 17px 20px;font-size: 15px;}

}

@media (max-width: 991px) {
  #header {
    height: 60px;
    padding: 10px 0;
  }

  #header .logo h1 {
    font-size: 28px;
    padding: 8px 0;
  }

  #header .logo a {

	height:26px;
	background-size: contain;
}

	
  #intro {
    padding: 140px 0 60px 0;
  }

  #intro .intro-info {
    width: 100%;
    margin: auto;
    text-align: center;
  }

  .maincard { padding-bottom: 20px; }	
 
	
 h2.txt_h2 { margin-bottom: 30px; font-size:30px; font-weight: 600; color:#000;}
	/* section1 */
	 .mn_content { margin-bottom: 50px; }
	 .sec2 { padding-left:20px; }
	 .mn1_sec1_img,
	 .mn1_sec2_img {
		position: static !important;
		width: 100% !important;
		height: auto !important;
		padding-left: 0; 
		margin: 20px 0;
	 }
	.grid-background { padding:70px 20px; }
	.grid-background img { width:60%; }
	.logoimgArea { padding:40px 20px; }


}

@media (max-width: 768px) {
	body { font-size:14px; }
  .back-to-top { bottom: 15px; }
  #submn { display: none; }
	
	.micon { width: 45px; height: 45px; background-size: cover; }
	.card-title { font-size:18px; }
	.mass-time-card { margin-top: 25px; }
 	.notice-card .card-body,.mass-body { padding:2rem; }
	.notice-card .card-title { font-size:24px; padding-bottom: 15px; } 
	.main_notice li { padding:15px 0; }
	.main_notice li a { display: block; font-size:16px; }
	.mass-title {font-size:24px;}
	.mass-list  { font-size:18px; }
	
	.sec4-btn { display:none !important;}
	.sec1_txt_top { margin-bottom: 15px; }
	.sec1_txt_end strong { display:block; font-size:16px; }
	.mn1_sec2_img  { margin:0; padding-right: 0; }
	.mn3box {padding:0;}
	.sec3_list { font-size:16px;margin-bottom: 15px; padding-bottom:10px; }
	.sec3_time { font-size:18px; }
	
	h2.txt_h2 { font-size:26px; }
	h3.txt_h3 { font-size:24px; }
	h4.txt_h4 { font-size:20px; }
	
	.fs-25,.fs-35 { font-size:18px; }
	
	.room-info-tit { padding-bottom: 20px; margin-bottom: 20px !important; }

	.info-notice-box { padding:25px; }
	
	.room-tit { display:block; margin: 50px 0; }
	.btn-group { display: flex; }
	.btn-group button { flex: 1;}
	
	
	.board-box { margin-top:50px; }
	
	.room-policy-box { padding:30px; }
	.divider {margin: 0 0 30px;}
}

@media (max-width: 767px) {
  #intro .intro-info {
    width: 100%;
  }

  #intro .intro-info h2 {
    font-size: 34px;
    margin-bottom: 30px;
  }

  .section-header p {
    width: 100%;
  }

}

@media (max-width: 574px) {
  #intro {
    padding: 100px 0 20px 0;
  }
}