/*
Theme Name: Vanta Child
Description: Child theme for Vanta theme
Template: vanta
Author: Womo
Author URI: https://womo.mx
Version: 1.1
*/

:root.theme-dark body {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

[data-bs-theme=dark] body {
	--wp--preset--color--base: #ececec;
	--wp--preset--color--contrast: #2a2b2f;
	--wp--preset--color--alt: #999797;
	--wp--preset--color--inactive: #b1b1b3;

	--bs-body-bg: #2a2b2f;
	--bs-body-color: #ececec;
}

.btn {
    padding-top: var(--button-padding-top);
    padding-right: var(--button-padding-right);
    padding-bottom: var(--button-padding-bottom);
    padding-left: var(--button-padding-left);
    
    border-radius: var(--button-border-radius);
    border-width: var(--button-border-width);
}

.form-control {
	border-radius: var(--button-border-radius);
	border-width: var(--button-border-width);
	border-color: var(--custom-border-color);
}

/* Overlays
================================================================================================= */

#preloader { background-color: #fff; }

.overlay-backdrop { background-color: #fff; }
.modal-backdrop.show, 
.offcanvas-backdrop.show { background-color: #000000; opacity: .5; }

.icons-on-hover::before,
.overlay-layer, 
.overlay-before:before { background-color: rgba(0, 0, 0, 0.5); }

/* Title Bar
================================================================================================= */

.title-bar-wrapper {}
.title-bar-wrapper .title-bar h1.entry-title { margin: 0; font-size: 22px; }
.title-bar-wrapper .breadcrumb { padding: 0; margin: 0; background-color: transparent; border-radius: 0; }
.title-bar-wrapper .breadcrumb li.breadcrumb-item { margin: 0; font-size: 13px; }
.title-bar-wrapper .nav-breadcrumb { display: inline-block; position: relative; z-index: 2; }

.title-bar-wrapper.title-bar-bg { display: flex; align-items: center; }
.title-bar-wrapper.title-bar-bg .title-bar-content { width: 100vw; border: none !important; }
.title-bar-wrapper.title-bar-bg,
.title-bar-wrapper.title-bar-bg .title-bar h1.entry-title { color: #FFF; }
.title-bar-wrapper.title-bar-bg .title-bar h1.entry-title { font-size: var(--wp--preset--font-size--xxx-large) !important; }

/* Header Main Global
================================================================================================= */

@media (max-width: 1199px) {
	.header-wrapper.header-original .wp-block-site-logo img { width: auto !important; height: 90px !important; }
}

/* Sticky Header
================================================================================================= */

.header-wrapper.header-sticky { background-color: rgba(255, 255, 255, 1.0); box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.08); }
.header-wrapper.header-sticky .wp-block-site-logo img { width: auto !important; height: 60px !important; }

.header-wrapper.header-sticky .sticky-hidden { display: none !important; }

.header-wrapper.header-original .sticky-visible { display: none !important; }
.header-wrapper.header-sticky .sticky-visible { display: block !important; }

.header-wrapper.header-sticky .container-header { padding-top: 8px !important; padding-bottom: 8px !important; }

/* Block Menu Main
================================================================================================= */

.menu-container ul.menu-main { display: flex; gap: 1rem; }
.menu-container ul.menu-main li:not(li li) {}
.menu-container ul.menu-main li:last-child {}
.menu-container ul.menu-main a { display: inline-block; }

.menu-container ul.menu-main > li > a { font-size: .938rem; padding: 10px; font-weight: 600; letter-spacing: .025rem; }
.menu-container ul.menu-main > li > a,
.menu-container ul.menu-main > li > a:focus { color: #111; }
.menu-container ul.menu-main > li:hover > a { color: var(--wp--preset--color--primary); }

/* Nav Current */
.menu-container ul.menu-main li.current-menu-item:not(.item-scrollto) > a, 
.menu-container ul.menu-main li.current_page_item:not(.item-scrollto) > a { background-color: transparent; color: var(--wp--preset--color--primary); }
    
/* Nav Dropdown */
.menu-container ul.menu-main .menu-item-has-children ul { min-width: 12rem; background-color: #fff; box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.15); padding: .5rem; border-radius: .25rem; }
.menu-container .menu-item-has-children:hover > ul { animation: dropdown-show 0.2s; }
.menu-container ul.menu-main .menu-item-has-children ul li { background-color: #fff !important; color: #565973; transition: all 0.5s ease; }
.menu-container ul.menu-main .menu-item-has-children ul li a { color: #565973; font-size: .875rem; }
.menu-container ul.menu-main .menu-item-has-children ul li:hover > a,
.menu-container ul.menu-main .menu-item-has-children ul li.current-menu-item a, 
.menu-container ul.menu-main .menu-item-has-children ul li.current_page_item a { color: #565973 !important; }

ul li.item-scrollto:before,
ul li.item-scrollto:after { position: absolute; -webkit-transition: all 0.35s ease; transition: all 0.35s ease; }
ul li.item-scrollto:before { bottom: 0; display: block; height: 3px; width: 0%; content: ""; background-color: #666; }
ul li.item-scrollto:hover:before,
ul li.item-scrollto.active:before { opacity: 1; width: 100%; }

/* WP Block Button Style
-------------------------------------------------------- */
/* .wp-block-button__link { width: auto; min-width: 260px !important; } */
.wp-block-button.is-style-zd-button .wp-block-button__link { border-radius: 0; padding: 0; border: none; }

/* Bootstrap
================================================================================================= */

.form-control:focus { color: #565973; background-color: #fff; border-color: rgba(91, 91, 102, 0.35); outline: 0;  box-shadow: inset 0 0 0 transparent,0 .5rem 1.125rem -0.5rem rgba(91, 91, 102, 0.35); }
.accordion {
	--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='GRAY'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
	--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='GRAY'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* WP Plugins */
.joinchat { --bottom: 120px !important; --s: 45px !important; --sep: 15px !important; }
.rank-math-breadcrumb * { margin-block-start: 0 !important; }

@media (max-width: 480px), (orientation: landscape) and (max-width: 767px) {
	.back-to-top { right: 15px !important; }
}

/* Captions
================================================================================================= */

.box-hover-end { display: flex; align-items: flex-end; overflow: hidden; transition: transform 0.3s ease; }
.box-hover-end .layer {position: absolute; bottom: 0; left: 0; right: 0; transition: height 0.4s ease; width: 100% !important; height: 80px; overflow: hidden; }
.box-hover-end:hover .layer { height: 120px; }
.box-hover-end .layer .box-title { transition: transform 0.4s ease; transform: translateY(0); }
.box-hover-end .layer .box-content { opacity: 0; transition: opacity 0.4s ease; }
.box-hover-end:hover .layer .box-content { opacity: 1; }

/* Custom
================================================================================================= */

pre { background-color: #0f172a; }

.header-wrapper  > .wp-block-group > * + *,
.footer-wrapper  > .wp-block-group > * + * { margin-block-start: 0 !important; }

.wp-site-blocks .alignfull.fullwidth-inner-spacing { margin-left: clamp(-.25rem, 3.5vw, -2rem) !important; margin-right: clamp(-.25rem, 3.5vw, -2rem) !important; }

.padding-sm { padding: clamp(1rem, 4vw, 1.5rem); }
.padding-md { padding: clamp(1.25rem, 6vw, 2rem); }
.padding-lg { padding: clamp(1.5rem, 8vw, 2.5rem); }

.padding-y-sm { padding-top: clamp(1rem, 4vw, 1.5rem); padding-bottom: clamp(1rem, 4vw, 1.5rem); }
.padding-y-md { padding-top: clamp(1.25rem, 6vw, 2rem); padding-bottom: clamp(1.25rem, 6vw, 2rem); }
.padding-y-lg { padding-top: clamp(1.5rem, 8vw, 2.5rem); padding-bottom: clamp(1.5rem, 8vw, 2.5rem); }

.header-sticky-active .sticky-mt { margin-top: 100px; transition: all 0.5s ease; }

.stack-border > div { padding: .825rem 1.5rem; border-right: 1px solid #D2D2D236; }
.stack-border > div:last-child { border-right: none; }

.text-mute { color: #787878; }
.text-style-01 { display: inline-block; color: transparent; background: linear-gradient(130deg, #CCC, #f9f9f9); background-clip: text; font-size: 150px; line-height: 150px; font-weight: 600; }

.sticky-lateral { position: -webkit-sticky !important; position: sticky !important; top: 140px; z-index: 4; }

.animated-up-down { animation: up-down 2s ease-in-out infinite alternate-reverse both; }
.meta-list { margin-top: 38px; padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid #E6E6E6; }

.border-top-graylight { border-top: 1px solid rgba(255, 255, 255,.20); }
.border-bottom-graylight { border-bottom: 1px solid rgba(255, 255, 255, .20); }

.border-left-title { position: relative; padding-left: 1rem; }
.border-left-title:before { content: ''; display: inline-block; border-left: 3px solid #004591; position: absolute; top: 0; bottom: 0; left: 0; }

/* Text Size Clamp */
.text-2x { font-size: clamp(1.5rem, -0.0556rem + 3.2407vw, 2.375rem) !important; }
.text-3x { font-size: clamp(1.75rem, -0.4722rem + 4.6296vw, 3rem) !important; }

.back-to-top { right: 25px !important; bottom: 70px; }

@media (max-width: 1199px) {

	.sd-text-center { text-align: center; }

	/* Image Resize */
    figure.sd-image-resize img { width: calc(100% - 40%) !important; display: block; margin: 0 auto; }
}

.text-highred { color: #111; background: linear-gradient(-107deg, #f7345e 0%,#111 50%); background-clip: border-box; text-shadow: 0px 10px 20px rgba(247,52,94,0.15); transform: skewX(-10deg); position: relative; display: inline-block; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

.btn-full { width: auto; min-width: 260px !important; }

.swiper-arrows-light > .swiper-button-prev,
.swiper-arrows-light > .swiper-button-next { transition: all 0.2s ease; opacity: 0; background-color: rgba(255,255,255,0.7); color: #1d2027; width: 50px; height: 50px; border-radius: 0; }
.swiper-arrows-light:hover > .swiper-button-next, 
.swiper-arrows-light:hover > .swiper-button-prev { opacity: 1; }
.swiper-arrows-light > .swiper-button-prev { left: 1.5rem; }
.swiper-arrows-light > .swiper-button-next { right: 1.5rem; }
.swiper-arrows-light > .swiper-button-next::after, 
.swiper-arrows-light > .swiper-button-prev::after { font-size: 18px; }

.svg-separator-wrapper svg { fill: #fff; }
.svg-separator-wrapper .svg-separator-layer-1 { transform: none; }

.text-highlight:after { background-color: var(--zd-color, --wp--custom--color--gray ) !important; }
.text-highlight.text-highlight--yellow:after { background-color: #fff300 !important; }
.text-highlight.text-highlight--green:after { background-color: #79fe0c !important; }
.text-highlight.text-highlight--blue:after { background-color: #4af1f2 !important; }
.text-highlight.text-highlight--purple:after { background-color: #df00ff !important; }
.text-highlight.text-highlight--red:after { background-color: #ff2226 !important; }
.text-highlight.text-highlight--orange:after { background-color: #ff7b19 !important; }
.text-highlight.text-highlight--pink:after { background-color: #ff70c5 !important; }

.newsletter-icon { left: 15px !important; top: 13px !important; position: absolute !important; font-size: 20px; color: #9397ad; z-index: 5; }

@media (min-width: 1200px) {
	.img-showcase { min-height: 600px !important; }
}

@media (max-width: 575px) {
	.text-sm { font-size: .825rem !important; }
}

@keyframes up-down {
	0% {
	  transform: translateY(10px);
	}
  
	100% {
	  transform: translateY(-10px);
	}
}

.btn-arrow-right { display: inline-block; position: relative; transition: all 0.3s ease; }
.btn-arrow-right:after { font-family: "Font Awesome 5 Free"; transition: transform 0.3s ease; content: "\f061"; font-weight: 900; font-size: 15px; margin-left: 10px; display: inline-block; }
.btn-arrow-right:hover::after { transform: translateX(5px); }

/*
.header-wrapper.header-original { position: absolute; left: 0; top: 0; width: 100%; padding-left: var(--wp--custom--spacing--outer); padding-right: var(--wp--custom--spacing--outer); z-index: 1030; }
.header-wrapper.header-original .wp-block-header { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
*/

@media (min-width: 1024px) {
	.offcanvas-search-filter { position: static; display: block; visibility: visible; transform: translate(0); }
	.offcanvas-search-filter.offcanvas-start { border: none !important; transform: none; }
}

@media (min-width: 576px) {}

@media (min-width: 768px) {}

@media (min-width: 992px) {}

@media (min-width: 1200px) {

	.sticky { position: -webkit-sticky !important; position: sticky !important; top: 140px; z-index: 4; }

	/* Site Header */
	body.is-side-header a:where(:not(.wp-element-button)) { text-decoration: none; }
	body.is-side-header .wp-site-blocks { margin-left: 280px !important; margin-right: 0 !important; }
	body.is-side-header .header-wrapper .wp-block-header { padding: 50px 15px 15px !important; border-right: 1px solid #e1e1e1; width: 280px !important; position: fixed; top: 0; left: 0; height: 100vh; margin-left: 0 !important; margin-right: 0 !important; }
}

.wp-block-site-logo { margin-bottom: -65px !important; background-color: #fff; padding: 10px 25px; -webkit-border-bottom-right-radius: 20px;
-webkit-border-bottom-left-radius: 20px;
-moz-border-radius-bottomright: 20px;
-moz-border-radius-bottomleft: 20px;
border-bottom-right-radius: 20px;
border-bottom-left-radius: 20px; }

.card-catalog { position: relative;
	border: none;
  border-radius: 16px;
  overflow: hidden;
  background: #111;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05); }


  .card-catalog img  {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-catalog:hover img  {
  transform: scale(1.05);
}

 .card-catalog .card-body {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.8) 100%);
  display: flex;
  align-items: flex-end;
  padding: 30px;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
 }

 .card-catalog .card-body h3 {
	color: #ffffff; 
 }

.card-catalog:hover .card-body {
  opacity: 1;
  transform: translateY(0);
}

.card-button {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  color: #111;
  border-radius: 12px;
  font-size: 20px;
  transition: all 0.3s ease;
    transition-delay: 0s;
  opacity: 0;
  transform: translateY(20px);
}

.card-catalog:hover .card-button{
  opacity: 1;
  transform: translateY(0);
}