.wp-block-heading {
  overflow-wrap: break-word;
  hyphens: auto;
  text-wrap: balance;
}

.wp-block-heading:lang(ko),
.wp-block-heading:lang(th),
.wp-block-heading:lang(lo),
.wp-block-heading:lang(my),
.wp-block-heading:lang(km),
.wp-block-heading:lang(ar),
.wp-block-heading:lang(ur) {
  word-break: keep-all;
  hyphens: manual;
}

/* Global Style */
:root {
  --primary-soft-color: rgb(120 0 0 / 5%);
  --primary-dark-color: #780000;
}

/*
h1, h2, h3, h4, h5, h6 {
  font-family: "Inter", "Moul", serif;
  font-weight: clamp(400, 5vw, 800);
}
*/

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a,
li,
button,
input,
textarea,
select,
option {
  font-family: "Inter", "Nokora", sans-serif;
}
/*
.top-header .site-title > *{
	font-family: "Inter", "Moul", serif;
}
*/
:where(.wp-site-blocks *:focus) {
  outline-width: 0;
  outline-style: none !important;
}
body{
  --wp--style--root--padding-right: clamp(1rem, 4vw, 3rem);
  --wp--style--root--padding-left: clamp(1rem, 4vw, 3rem);
}
a,
a:hover,
a:focus {
  text-decoration: none;
}

.wp-block-search .wp-block-search__input {
  padding: 1rem 1.5rem;
}

.outlined-btn-wrapper{
padding: 0 0 0 12px !important;
border: 1px solid var(--primary-dark-color);
border-radius: 60px;
transition: 200ms ease;
}
.blank-btn-wrapper a, .outlined-btn-wrapper a{
font-size: 1rem;
padding: 6px 12px;
} 
.outlined-btn-wrapper:hover{
background-color: var(--primary-soft-color);
}

select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px top 50%;
  background-size: 1rem;
  background-color: #f5f5f5;
  transition: 250ms;
}

select:hover {
  background-color: #eee;
}
/* utilities */
.hover-link:hover, .hover-link a:hover{
	color: var(--primary-dark-color)!important;
}
.btn-icon{
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 4px 16px;
    background: var(--primary-soft-color);
    border-radius: 22px;
}
@media (min-width: 600px){
	.is-sticky{
    position: sticky;
    top: 0;
    align-self: start;
    }
    .is-sticky-bottom{
    position: sticky;
    bottom: 1rem;
    align-self: start;
    }
}

#hero-section{
	overflow: hidden;
}
#hero-section .wp-block-cover__image-background{
	animation: zoom-in-out 30s ease infinite;
}

.wp-block-navigation .wp-block-navigation-item {
  padding: 12px 16px;
}

.wp-block-navigation-submenu .wp-block-navigation-item.wp-block-navigation-link {
  padding: 0;
}

.wp-block-navigation .wp-block-navigation-item:hover {
  background-color: var(--primary-soft-color);
}

.wp-block-navigation .wp-block-navigation-item a:hover,
.wp-block-navigation .wp-block-navigation-item a:focus {
  text-decoration: none !important;
}
.wp-block-navigation .has-child:not(.open-on-click):not(:last-of-type):hover>.wp-block-navigation__submenu-container{
min-width: 280px;
}

.current-menu-parent,
.current-menu-ancestor,
.wp-block-navigation > li.current-menu-item,
.wp-block-navigation-item.current-menu-ancestor{
  border: none;
  background-color: var(--primary-soft-color);
  border-top: 2px solid var(--wp--preset--color--foreground-alt);
  color: var(--primary-dark-color);
}
.wp-block-navigation-item:not(.current-menu-ancestor) .wp-block-navigation-item__content.wp-block-navigation-item__content{
color: var(--wp--preset--color--black);
}
.wp-block-navigation .current-menu-item .wp-block-navigation-item__content.wp-block-navigation-item__content{
color: inherit;
}

.wp-block-polylang-language-switcher select {
  padding: 20px 30px 20px 20px;
  border: none;
}

.wp-block-navigation button.wp-block-navigation__submenu-icon {
  margin-left: 10px;
  background: none !important;
}

/* Menu Responsive */
.wp-block-navigation__responsive-container.is-menu-open 
.is-responsive .wp-block-navigation-item{
border: none !important;
color: var(--primary-dark-color) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
	height: 100vh;
    overflow-y: auto;
    
  &::-webkit-scrollbar {
    display: none;
  }

  scrollbar-width: none;
  -ms-overflow-style: none; 
    
}

/* Header */
.wp-block-group.is-show-mobile {
  display: none;
}
.main-header.sticky{
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #F7F6F3E0;
  backdrop-filter: blur(8px);
  z-index: 11; 
}

/*search*/
.pre-load{
  opacity: 0.4;
}
.kb-search .kb-search-modal{
  height: 100vh;
  overflow: hidden;
}
.kb-search .kb-search-close-btn svg{
	width: 0.6em;
    height: 0.6em;
}
.search-results-wrapper{
	width: 100%;
    max-width: calc(60% - 4rem);
	background: #FFF;
    position: absolute;
    margin: 1rem 0;
    left: 50%;
    transform: translateX(-50%);
    padding: 2rem;
}
.search-results-wrapper.hide{
	opacity: 0;
}
.search-results-wrapper.has-item{
	display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.search-results-wrapper .search-item{
	padding: 1rem;
    display: flex;
    gap: 1rem;
    align-items: center;
}
.search-results-wrapper .search-item:hover{
	background-color: var(--primary-soft-color);
}
.search-results-wrapper .search-item .search-thumb{
	width: 80px;
    height: 80px;
    border-radius: 50%;
}
.search-results-wrapper .search-item .search-content{
	display: flex;
    flex-direction: column;
    align-items: self-start;
}
.search-results-wrapper .search-item .search-content .search-date{
	font-size: 14px;
}
.search-results-wrapper .search-item .search-content h4{
	font-size: 1.125rem;
    margin: 0;
    margin-bottom: 10px;
    color: var(--wp--preset--color--primary);
    text-align: left;
    -webkit-line-clamp: 2!important;
}
@media (max-width: 1024px) {
    .kb-search .kb-search-modal-content form{
    	max-width: 90%;
    }
	.search-results-wrapper{
    	max-width: 90%;
        max-height: 40vh;
        overflow: scroll;
        margin: 1rem 0;
        padding: 0;
    }
    .search-results-wrapper.has-item{
    	grid-template-columns: repeat(1, 1fr);
    }
    .search-results-wrapper .search-item .search-thumb{
        width: 60px;
        height: 60px;
    }
    .search-results-wrapper .search-item .search-content h4{
		font-size: 1rem;
    }
}

/* Search & Filter */
.wpc-horizontal-layout .wpc-filters-widget-containers-wrapper .wpc-filters-widget-wrapper{
justify-content: flex-end;
}
.wpc-horizontal-layout .wpc-filters-section:not(.wpc-filter-layout-submit-button), .wpc-horizontal-layout.wpc-horizontal-cols-3 .wpc-filters-section:not(.wpc-filter-layout-submit-button){
margin-right: 0!important;
}
.wpc-filters-widget-content .wpc-filters-widget-containers-wrapper  input[type=text]{
min-height: 50px;
padding: 12px 16px;
border: 1px solid #EEE;
font-size: 14px;
}
.header-float{
margin-bottom: -4.5rem;
}

.wp-block-query-pagination-numbers .page-numbers{
padding: 10px 15px;
}
.wp-block-query-pagination-numbers a:hover{
background-color: var(--primary-soft-color)
}

@media (max-width: 600px) {
	.is-center-sm{
    justify-content: center !important;
    }
	.header-float{
        margin-bottom: 0;
   }
  .wp-block-group.main-header {
    padding: 8px 16px !important;
  }

  .wp-block-group.is-show-mobile {
    display: block;
  }

  .wp-block-group.is-hide-mobile {
    display: none;
  }

  #header-wrapper .site-title {
    display: block;
  }

  .wp-block-navigation-item.current-menu-item,
  .current-menu-parent,
  .current-menu-ancestor {
    border: none;
    border-top: none;
    color: var(--primary-dark-color);
  }
  .wp-block-navigation__responsive-container.is-menu-open{
    height: 100vh;
    overflow: hidden;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{
    padding: 1.5rem 1rem !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open
  .has-modal-open
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    > ul.wp-block-navigation__container
    > li.wp-block-navigation-item:not(.wp-block-navigation__submenu-container) {
    padding: 0 !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .wp-block-navigation-item__content {
    padding: 14px !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .is-responsive
    .wp-block-navigation-item__content {
    padding: 12px !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content
    .current-menu-item
    .wp-block-navigation-item__content {
    background-color: transparent;
    color: var(--primary-dark-color);
  }
  
  .has-modal-open .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item.has-child .wp-block-navigation__submenu-container{
  	max-height: 0;
    opacity: 0;
    padding: 0 !important;
    visibility: hidden;
    transition: max-height 300ms ease;
  }

  .has-modal-open .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item.has-child .wp-block-navigation__submenu-container.show-submenu {
    max-height: 600px;
    opacity: 1;
    visibility: visible;
    padding: 0 1.2rem !important;
    gap: 0 !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open
    .has-child
    .wp-block-navigation__submenu-icon {
    position: absolute;
    top: 12px;
    right: 0;
    padding: 10px;
    width: 2rem;
    height: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--primary-soft-color) !important;
    border-radius: 50px;
  }
}

/* Language Switcher */
.wp-block-polylang-language-switcher {
  position: relative;
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.wp-block-polylang-language-switcher .lang-item {
  padding: 10px 30px 10px 16px;
  display: flex;
}

.wp-block-polylang-language-switcher .current-lang::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  position: absolute;
  right: 8px;
  width: 1rem;
  height: 1rem;
  top: 50%;
  transform: translateY(-50%);
}

.lang-item.current-lang a {
  pointer-events: none;
  cursor: pointer;
}

.wp-block-polylang-language-switcher .lang-item:not(.current-lang) {
  opacity: 0;
  z-index: -1;
  background: #fff;
  position: absolute;
  right: 0;
  transform: translateY(130%) scale(0.8);
  transition: transform 300ms;
  box-shadow: -6px 6px 16px rgba(0, 0, 0, 0.1);
}

.wp-block-polylang-language-switcher .lang-item.active {
  opacity: 1;
  z-index: 111;
  transform: translateY(110%) scale(1);
}

.wp-block-polylang-language-switcher .lang-item a {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  color: var(--wp--preset--color--primary);
  text-decoration: none;
}

.wp-block-polylang-language-switcher .lang-item a:hover {
  color: var(--primary-dark-color);
}

.wp-block-polylang-language-switcher li.current-lang {
  background-color: var(--primary-soft-color);
  cursor: pointer;
}

.wp-block-polylang-language-switcher li.current-lang:hover {
  background-color: rgb(120 0 0 / 6%);
}

.wp-block-polylang-language-switcher li.current-lang a {
  color: var(--wp--preset--color--foreground-alt);
}

/* Hero Slider */
.wp-block-splide-carousel .slider-overlay-heading{
position: absolute;
top: 0;
left: 0;
z-index: 11;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.02);
background: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0.6) 100%);
display: flex;
align-items: flex-end;
}
.wp-block-splide-carousel__slide .wp-block-query,
.wp-block-splide-carousel__slide .wp-block-post-template,
.wp-block-splide-carousel__slide .wp-block-post{
width: 100%;
height: 100%;
}
.wp-block-splide-carousel .splide__arrows--ltr .splide__arrow--prev{
left: 2rem;
}
.wp-block-splide-carousel .splide__arrows--ltr .splide__arrow--next{
right: 2rem;
}
.wp-block-splide-carousel .splide__pagination{
bottom: -4rem;
}
.wp-block-splide-carousel .splide__pagination__page.is-active{
width: 20px;
border-radius: 32px;
background-color: var(--primary-dark-color);
transition: 300ms ease;
}
.wp-block-splide-carousel .splide__arrow{
background-color: #00000030;
}
.wp-block-splide-carousel .splide__arrow svg{
fill: #FFF;
}

.wp-block-splide-carousel .slide-image img{
animation: zoom-in-out 30s ease infinite;
}

/* Hero */
@media (max-width: 768px) {
  #hero-section .wp-block-cover.hero-block {
    min-height: 75vh !important;
  }
  .wp-block-splide-carousel .wp-block-splide-carousel__slide{
  	height: 60vh!important;
  }
  .wp-block-splide-carousel .slider-overlay-heading .alignwide{
  max-width: 100%;
  }
  .wp-block-splide-carousel .splide__arrows--ltr .splide__arrow--prev{
	left: 1rem;
	}
	.wp-block-splide-carousel .splide__arrows--ltr .splide__arrow--next{
	right: 1rem;
	}
}

/* Back to top */
#backToTop {
  position: fixed;
  width: 1rem;
  height: 1rem;
  bottom: 1rem;
  right: 1rem;
  padding: 1rem;
  background-color: #00000010;
  border-radius: 50%;
  color: #a3a3a3;
  font-size: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 250ms;
  cursor: pointer;
}

#backToTop:hover {
  color: #fff;
  background-color: var(--primary-dark-color);
}

/* Utilities */
.meta-data.font-sm{
	display: block;
	font-size: 14px;
    line-height: 1.4em;
    color: var(--wp--preset--color--primary);
}
.collapse-button{
	cursor: pointer;
}
.limit-excerpt, .limit-excerpt a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.limit-three-line, .limit-three-line a {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.limit-four-line, .limit-four-line a {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.collapse-content{
transition: max-height 0.3s ease;
}
.collapse-content.hide .wp-block-post-content{
   display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.koko-analytics-counter{
	font-size: 1rem;
}

/* Contact Form */
.main-form label {
  font-weight: 600;
}

.main-form .wpcf7-form-control-wrap {
  margin-top: 0.5rem;
}

.wpcf7 input:not([type="submit"]):not([type="checkbox"]),
.wpcf7 textarea {
  color: #333;
  border-color: #d5d4d1 !important;
  border-radius: 2rem;
  padding: 1rem 1.5rem;
  font-size: 1rem;
}

.wpcf7 input[type="submit"] {
  width: auto !important;
  background: var(--primary-dark-color) !important;
  padding: 1rem 3rem;
  transition: 250ms;
}
.wpcf7 input[type="submit"]:hover{
	width: auto;
}
.wpcf7-not-valid-tip {
  color: #dc3232;
  font-size: 14px;
  margin-top: 10px;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background: #f8f8ee;
  color: #a69336;
  border: none !important;
  font-size: 1rem;
}

.wpcf7 form .wpcf7-response-output {
  margin: 0 !important;
  padding: 1rem 1.5rem !important;
  border-radius: 60px;
  border: none;
  color: #297430;
  background: #eef3ef;
}
.cf7-row.location-field{
	display: none !important;
}

/* PDF Navigation */
.loading, .not-found{
	min-height: 50vh;
	background: #EEE;
   display: flex;
   justify-content: center;
   align-items: center;
   margin-top: 0;
   margin-bottom: 1rem;
}
.loading::before{
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  border: 3px solid rgb(229 229 229);
  border-radius: 50%;
  border-top-color: #A0A0A0;
  animation: spin 1s ease-in-out infinite;
  -webkit-animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
  to { -webkit-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
  to { -webkit-transform: rotate(360deg); }
}
#pdf-controls button{
    background: none;
    border: none;
    outline: none;
    opacity: 0.6;
    transition: 200ms ease
  }
#pdf-controls button:hover{
    opacity: 1;
    cursor: pointer;
  }
#pdf-controls button svg{
    width: 22px;
    height: 22px;
  }
  #pdf-controls{
    display: flex;
    justify-content: center;
    align-items: center;
    position: sticky;
    bottom: 1rem;
    align-self: start;
  }
  #pdf-controls .x-wrapper{
    display: flex;
    align-items: center;
    gap: 6px;
  }

  #pdf-controls .control-wrapper{
    padding: 0.5rem;
    background: #fafafacc;
    backdrop-filter: blur(4px);
    border-radius: 8px;
    display: flex;
    gap: 1rem;
    align-items: center;
    font-family: inherit;
    font-size: 14px;
  }
  input[type="number"]{
    padding: 0.4rem 0.2rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-align: center;
  }
  
  /* Video Gallery */
  .epyt-gallery-list{
  	padding: 1rem 0;
  }
  .epyt-gallery-list .epyt-pagination:first-child{
  	display: none;
  }
  .epyt-gallery-allthumbs .epyt-gallery-thumb{
	padding: 0.4rem;
  }
  .epyt-gallery-allthumbs .epyt-gallery-title {
   	text-align: left;
    font-size: 100%;
    line-height: 120%;
    padding: 20px 0;
    font-weight: 500;   
	}
   .epyt-pagination .epyt-pagebutton > div:not(.epyt-arrow){
   		display: none;
   }
   .epyt-pagenumbers{
   	opacity: 0.5;
   }
   .epyt-pagebutton .epyt-arrow{
   	width: 40px;
    display: flex;
    height: 40px;
    border-radius: 50%;
    background: #eee;
    align-items: center;
    justify-content: center;
   }
   .epyt-pagebutton .epyt-arrow:hover{
   		color: var(--wp--preset--color--foreground-alt);
   }
   
   @media (min-width: 0px) and (max-width: 767px) {
    .epyt-gallery-list .epyt-gallery-allthumbs[class*="epyt-cols"] .epyt-gallery-thumb {
        width: 50% !important;
    }
    .epyt-gallery-rowbreak{
    	display: block !important;
    }
}

/* Animation */
@keyframes zoom-in-out{
    0% {
        transform: scale(1, 1);
    }

    50% {
        transform: scale(1.1, 1.1);
    }
    100% {
        transform: scale(1, 1);
    }
}