/*
Theme Name: Indietech Theme Builder FSE
Theme URI: https://indietech.com/theme-builder
Author: Indietech
Author URI: https://indietech.com
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
*/

/*
 * Font smoothing.
 * This is a niche setting that will not be available via Global Styles.
 * https://github.com/WordPress/gutenberg/issues/35934
 */
 .wp-block-image.vertical-aligncenter img {
  vertical-align: middle;
}
 .has-style-box-shadow,
 .has-no-hover-shadow {
   box-shadow: 0 6px 30px 3px #0e0e0e0f;
   transition: 0.5s;
 }
 
 .has-style-box-shadow:hover {
   box-shadow: 1px 4px 20px -2px #0003;
   transform: translateY(-8px);
 }
 
 .editor-styles-wrapper .has-style-box-shadow:hover {
   transform: inherit;
 }
 
 .has-shadow-header {
   box-shadow: 0 10px 10px #0000000a;
   position: relative;
   z-index: 999;
 }
 
 .pulse-animation a {
   position: relative;
   display: block;
   overflow: visible !important;
 }
 
 .pulse-animation a:before {
   content: "";
   width: 100%;
   height: 100%;
   border-radius: 50%;
   background-color: #ffffffbf;
   position: absolute;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   z-index: -1;
   -webkit-animation-name: pulseAnimate;
   animation-name: pulseAnimate;
   -webkit-animation-duration: 1s;
   animation-duration: 1s;
   -webkit-animation-timing-function: ease-out;
   animation-timing-function: ease-out;
   -webkit-animation-iteration-count: infinite;
   animation-iteration-count: infinite;
 }
 
 .wp-block-post-author__avatar img {
   border-radius: 100%;
   vertical-align: middle;
 }
 
 .wp-block-quote {
   padding: 40px;
 }
 
 @keyframes pulseAnimate {
   0% {
	 transform: scale(1, 1);
   }
 
   100% {
	 transform: scale(1.8, 1.8);
	 opacity: 0;
   }
 }
 
 .wp-block-query-pagination {
   margin: 80px 0;
 }
 
 .wp-block-query-pagination .wp-block-query-pagination-numbers {
   margin: 0;
   display: inline-block;
 }
 
 .wp-block-query-pagination .page-numbers,
 .wp-block-query-pagination .wp-block-query-pagination-next,
 .wp-block-query-pagination .wp-block-query-pagination-previous {
   padding: 12px 16px;
   background: var(--wp--preset--color--secondary-background);
   line-height: 1;
   margin: 0 3px;
   text-decoration: inherit;
   display: inline-block;
   box-shadow: 0 0 15px #0000002b;
   border-radius: 100px;
 }
 
 .wp-block-query-pagination .page-numbers.current,
 .wp-block-query-pagination a:hover,
 .wp-block-query-pagination a:focus,
 .wp-block-query-pagination a:active {
   background-color: var(--wp--preset--color--foreground);
   color: var(--wp--preset--color--white) !important;
 }
 
 
 
 @media (max-width: 767px) {
   body .hide-on-mobile {
	 display: none !important;
   }
 }
 
 @media (min-width: 768px) and (max-width: 1024px) {
   body .hide-on-tablet {
	 display: none !important;
   }
 }
 
 @media (min-width: 1025px) {
   body .hide-on-desktop {
	 display: none !important;
   }
 }
 
 @media screen and (max-width: 767px) {
  .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
    display: none;
  }
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display:block;
  }
  body .wp-block-navigation {
    display: flex;
    flex-wrap: nowrap;
  }
  .mobile-media-alignjustify {
    display: flex;
      justify-content: space-between;
      width: 100%;
  }
   body .mobile-hide {
	 display: none;
   }
 
   body .mobile-alignleft {
	 text-align: left;
   }
 
   body .mobile-alignright {
	 text-align: right;
   }
 
   body .mobile-aligncenter {
    align-content: space-between;
    gap: 10px 15px;
    justify-content: center !important;
    justify-items: stretch;
    max-width: 100%;
    text-align: center;
    width: 100%;
   }
 
   body .wp-block-social-link {
	 margin: 0 3px;
   }
 }
 
 .list-style-none {
   list-style: none;
   padding: 0;
   margin: 0;
 }
 
 
 
 .image-zoom-hover {
   overflow: hidden;
 }
 
 .image-zoom-hover:after,
 .image-zoom-hover:before {
   content: "";
   position: absolute;
   width: 100%;
   height: 100%;
   margin: auto;
   transition: all 0.5s ease;
   z-index: 2;
   background-color: #ffffff26;
   pointer-events: none;
   top: 0;
   bottom: 0;
   left: 0;
   right: 0;
   opacity: 0;
   visibility: hidden;
 }
 
 .image-zoom-hover:hover:after,
 .image-zoom-hover:hover:before {
   width: 0;
   opacity: 1;
   visibility: visible;
 }
 
 .image-zoom-hover img {
   margin: 0;
   -webkit-transition: -webkit-transform 1s ease;
   -moz-transition: -moz-transform 1s ease;
   transition: transform 1s ease;
   vertical-align: middle;
   width: 100%;
 }
 
 .image-zoom-hover:hover img {
   -webkit-transform: scale(1.1);
   -moz-transform: scale(1.1);
   -o-transform: scale(1.1);
   transform: scale(1.1);
   -webkit-transform-origin: center center;
   -moz-transform-origin: center center;
   -o-transform-origin: center center;
   transform-origin: center center;
 }
 
 .wc-block-grid__product .wc-block-grid__product-image {
   overflow: hidden;
 }
 
 .wc-block-grid__product .wc-block-grid__product-image img {
   margin: 0;
   -webkit-transition: -webkit-transform 1s ease;
   -moz-transition: -moz-transform 1s ease;
   transition: transform 1s ease;
   vertical-align: middle;
 }
 
 .wc-block-grid__product:hover img {
   -webkit-transform: scale(1.1);
   -moz-transform: scale(1.1);
   -o-transform: scale(1.1);
   transform: scale(1.1);
   -webkit-transform-origin: center center;
   -moz-transform-origin: center center;
   -o-transform-origin: center center;
   transform-origin: center center;
 }
 
 .wp-block-navigation ul li li a:hover,
 .wp-block-navigation ul li li a:focus,
 .wp-block-navigation ul li li a:active {
   color: var(--wp--preset--color--foreground);
 }
 
 .editor-styles-wrapper .wp-site-blocks>*+*,
 .editor-styles-wrapper .wp-site-blocks>*+*+*,
 .wp-site-blocks>*+*,
 .wp-site-blocks>*+*+* {
   margin: 0 !important;
   margin-block-start: 0 !important;
 }
 
 .editor-styles-wrapper a {
   text-decoration: inherit;
 }
 
 .editor-styles-wrapper header p a,
 .editor-styles-wrapper footer p a {
   text-decoration: none;
 }
 
 .wp-block-navigation ul li li a:hover,
 .wp-block-navigation ul li li a:focus,
 .wp-block-navigation ul li li a:active {
   color: var(--wp--preset--color--foreground);
 }
 
 .wp-block-search__input {
   padding: 16px 20px;
   flex-grow: 1;
   margin-left: 0;
   margin-right: 0;
   min-width: 3em;
   border: none;
   text-decoration: unset !important;
   font-size: 16px;
 }
 
 .underline-style a {
   border-bottom: 2px solid;
   text-decoration: none;
   padding-bottom: 6px;
 }
 
 .underline-style a:after {
   content: "";
   background: url(assets/images/arrow-right.svg) no-repeat center center;
   background-size: 20px;
   width: 16px;
   height: 20px;
   z-index: 1;
   display: inline-block;
   top: 4px;
   right: -4px;
   filter: contrast(0.5);
   transition: all 0.5s ease-in-out;
   position: relative;
 }
 
 .underline-style a:hover {
   border-bottom: 2px dashed;
 }
 
 .wp-block-navigation .wp-block-navigation__submenu-icon {
   width: 15px;
   height: auto;
   margin-left: 11px;
   margin-top: -3px;
   color: var(--wp--preset--color--body-text);
 }
 
 .wp-block-navigation .wp-block-navigation__responsive-container-open {
   padding: 5px;
   border: 1px solid #9292923b;
 }
 
 .wp-block-navigation ul li.current-menu-item>a {
   color: var(--wp--preset--color--foreground);
 }
 
 .wp-block-navigation ul li .wp-block-navigation-submenu__toggle {
   background: none;
 }
 
 .wp-block-navigation ul li a::after {
   content: "";
   display: block;
   position: absolute;
   height: 2px;
   width: 0%;
   left: 0;
   right: 0;
   margin: 0 auto;
   transition: 0.3s width ease-in;
   background-color: var(--wp--preset--color--foreground);
 }
 
 .wp-block-navigation ul li a:hover::after {
   width: 100%;
 }
 
 .wp-block-navigation ul li li a {
   text-transform: capitalize;
   font-size: 17px;
   font-weight: 500;
 }
 
 .wp-block-navigation ul li li a::after {
   display: none;
 }
 .wp-block-navigation ul ol.has-background, .wp-block-navigation ul ul.has-background {
  padding: 0 20px;
}
 @media screen and (min-width: 600px) {
   .wp-block-navigation ul li ul {
	 border: none !important;
	 box-shadow: 0px 3px 15px 0px #0000000d;
	 width: 220px;
   }
 
   .wp-block-navigation ul li ul:after {
	 content: "";
	 display: inline-block;
	 background: transparent;
	 width: 100%;
	 height: 45px;
	 position: absolute;
	 top: -25px;
	 left: 0;
   }
 
   .wp-block-navigation ul li ul li {
	 border-bottom: 1px solid #9292923b;
   }
 
   .wp-block-navigation ul li ul li:last-child {
	 border: none;
   }
 
   .wp-block-navigation ul li.open-on-click ul {
	 top: 50px;
   }
 
   .wp-block-navigation ul li.open-on-hover-click ul {
	 opacity: 0;
	 visibility: hidden;
	 border: none !important;
	 box-shadow: 0px 3px 15px 0px #0000000d;
	 width: 220px;
	 transform: translateY(20px);
	 pointer-events: none;
	 max-height: none;
	 z-index: 999;
	 transition: transform .4s ease;
   }
 
   .wp-block-navigation ul li.open-on-hover-click:hover>ul,
   .wp-block-navigation ul li.open-on-hover-click:focus>ul,
   .wp-block-navigation ul li.open-on-hover-click:active>ul {
	 opacity: 1;
	 visibility: visible;
	 transform: translateY(10px);
	 pointer-events: auto;
	 transition: transform .4s ease;
   }
 }
 
 @media screen and (max-width: 600px) {
   .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container {
	 width: 100%;
	 gap: 0 !important;
	 border: 1px solid #9292923b;
	 border-bottom: none;
   }
 
   .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item {
	 width: 100%;
	 gap: 0 !important;
	 border: none !important;
   }
 
   .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item a {
	 padding: 0;
	 width: 100%;
	 border-bottom: 1px solid #9292923b;
	 padding: 7px 50px 7px 20px;
   }
 
   .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon {
	 display: block !important;
	 margin-left: 15px;
	 padding: 3px 10px;
	 float: right;
	 font-size: 19px;
	 line-height: 1;
	 position: absolute;
	 right: 0;
	 top: 0;
	 height: 42px;
	 width: 42px;
   }
 
   .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon svg {
	 stroke: currentColor;
	 display: block;
	 width: 30px;
	 height: 13px;
	 margin: 0 !important;
	 padding: 0 !important;
   }
 
   .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
	 width: 100%;
	 gap: 0;
	 margin: 0;
	 padding: 0;
	 display: none;
	 box-shadow: none;
   }
 
   .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a {
	 padding-left: 35px;
   }
 
   .wp-block-navigation .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true]+ul.wp-block-navigation__submenu-container {
	 display: block;
	 margin: 0;
	 padding: 0;
   }
 
   .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container {
	 transition-timing-function: ease-in;
	 transition: 0s;
	 transform: translateX(130%);
	 display: block;
   }
 
   .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container.is-menu-open {
	 visibility: visible;
	 transition-timing-function: ease-out;
	 transition: .7s;
	 transform: translateX(0);
	 top: 0;
   }
 }
 
 .wp-block-navigation.is-responsive .is-menu-open.has-modal-open .wp-block-navigation__responsive-container-content {
   max-width: 600px;
   margin: 0 auto;
 }
 
 .wp-block-navigation.is-responsive .is-menu-open.has-modal-open .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container {
   width: 100%;
   gap: 0 !important;
   border: 1px solid #9292923b;
   border-bottom: none;
	display:block!important;
	overflow: hidden;
 }
 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
   display: block;
 }
 .wp-block-navigation.is-responsive .is-menu-open.has-modal-open .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item {
   width: 100%;
   gap: 0 !important;
   border: none !important;
 }
 
 .wp-block-navigation.is-responsive .is-menu-open.has-modal-open .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item a {
   padding: 0;
   width: 100%;
   border-bottom: 1px solid #9292923b;
   padding: 15px 50px 15px 30px;
 }
 
 .wp-block-navigation.is-responsive .is-menu-open.has-modal-open .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon {
   display: block !important;
   margin-left: 50px;
   padding: 3px 10px;
   float: right;
   font-size: 19px;
   line-height: 1;
   position: absolute;
   right: 0;
   top: 0;
   height: 55px;
   width: 55px;
 }
 
 .wp-block-navigation.is-responsive .is-menu-open.has-modal-open .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation__submenu-icon svg {
   stroke: currentColor;
   display: block;
   width: 30px;
   height: 13px;
   margin: 0 !important;
   padding: 0 !important;
 }
 
 .wp-block-navigation.is-responsive .is-menu-open.has-modal-open .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container {
   width: 100%;
   gap: 0;
   margin: 0;
   padding: 0;
   transform: inherit;
   height: 0;
   visibility: hidden;
   box-shadow: none;
 }
 
 .wp-block-navigation.is-responsive .is-menu-open.has-modal-open .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item ul.wp-block-navigation__submenu-container li.wp-block-navigation-item a {
   padding-left: 35px;
 }
 
 .wp-block-navigation.is-responsive .is-menu-open.has-modal-open .wp-block-navigation__responsive-container-content ul.wp-block-navigation__container li.wp-block-navigation-item .wp-block-navigation-submenu__toggle[aria-expanded=true]+ul.wp-block-navigation__submenu-container {
   margin: 0;
   padding: 0;
   height: 100%;
   visibility: visible;
 }
 
 .wp-block-navigation.is-responsive .always-shown+.wp-block-navigation__responsive-container {
   transition-timing-function: ease-in;
   transition: 0s;
   transform: translateY(-130%);
   display: block;
 }
 
 .wp-block-navigation.is-responsive .always-shown+.wp-block-navigation__responsive-container.is-menu-open {
   visibility: visible;
   transition-timing-function: ease-out;
   transition: .7s;
   transform: translateY(0);
   top: 0;
 }
 
 @media screen and (min-width: 600px) {
   .fixed-sticky {
	 position: fixed;
	 top: 0;
	 bottom: 0;
	 height: 100%;
	 min-width: 400px;
	 max-width: 400px;
	 z-index: 99;
   }
 
   .items-justified-left.is-vertical .wp-block-navigation__container {
	 width: 100%;
   }
 
   .items-justified-left.is-vertical .wp-block-navigation__container li {
	 width: 100%;
	 display: flex;
	 align-items: center;
	 position: relative;
	 justify-content: space-between;
   }
 
   .items-justified-left.is-vertical .wp-block-navigation__container li .wp-block-navigation-item__content {
	 padding: 10px 20px;
   }
 
   .items-justified-left.is-vertical .wp-block-navigation__container li ul {
	 left: 112%;
	 top: 0;
   }
 
   .items-justified-left.is-vertical .wp-block-navigation__container li ul:after {
	 content: "";
	 display: inline-block;
	 background: transparent;
	 width: 50px;
	 height: 100%;
	 position: absolute;
	 top: 0;
	 left: -43px;
	 z-index: -1;
   }
 
   .items-justified-left.is-vertical .wp-block-navigation__container li.open-on-hover-click ul {
	 top: -10px;
   }
 }

 @media screen and (max-width: 1023px) {
   .fixed-sticky {
	 min-width: auto;
	 max-width: inherit;
	 position: inherit;
   }
 }
 
 @media (min-width: 782px) {
   .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
	 left: 100%;
	 top: -10px;
   }
 }

 .wp-block-post-author {
   display: flex;
   align-items: center;
 }
 
 .comment-author.vcard {
   vertical-align: middle;
   display: flex;
   gap: 10px;
   margin-bottom: 20px;
 }
 
 .wp-block-post-comments .comment-metadata {
   display: flex;
   justify-content: space-between;
 }
 
 .wp-block-post-comments ul,
 .wp-block-post-comments ol {
   list-style: none;
   margin: 0;
   padding: 0;
 }
 
 .wp-block-post-comments input:not([type=submit]),
 .wp-block-post-comments textarea {
   color: inherit;
   border: 1px solid var(--wp--preset--color--border);
   font-size: var(--wp--preset--font-size--normal);
   font-family: inherit;
   background: inherit;
   border-radius: 0;
 }
 
 .wp-block-post-comments input:not([type=submit]):active,
 .wp-block-post-comments input:not([type=submit]):hover,
 .wp-block-post-comments input:not([type=submit]):focus,
 .wp-block-post-comments textarea:active,
 .wp-block-post-comments textarea:hover,
 .wp-block-post-comments textarea:focus {
   border: 1px solid var(--wp--preset--color--foreground);
 }
 
 .wp-block-post-comments .depth-1 {
   border: 1px solid var(--wp--preset--color--border);
   padding: 50px 30px;
   margin: 50px 0;
 }
 
 .wp-block-post-comments .children li {
   border-top: 1px solid var(--wp--preset--color--border);
   padding-top: 50px;
   padding-left: 30px;
 }
 
 .wp-block-post-comments .children li:last-child {
   border-bottom: none;
   padding-bottom: 0;
 }
 
 
 .wp-block-post-comments .comment-form p {
   margin-bottom: 25px;
 }
 
 .is-style-underline .wp-block-button__link {
   position: relative;
   padding: 0 0 2px;
   display: flex;
   align-items: center;
   margin: 0;
   background-color: transparent;
   color: var(--wp--preset--color--foreground);
   overflow: visible;
 }
 
 .is-style-underline .wp-block-button__link::before {
   position: absolute;
   left: 0;
   top: 100%;
   width: 100%;
   height: 2px;
   content: '';
   background-color: var(--wp--preset--color--foreground);
   transition: all 0.4s;
 }
 
 .is-style-underline.white-underline .wp-block-button__link::before {
   background-color: var(--wp--preset--color--white);
 }
 
 .is-style-underline .wp-block-button__link:hover {
   background: none !important;
 }
 
 .is-style-underline .wp-block-button__link:hover::before {
   width: 30px;
 }
 
 .wp-block-search__button.has-icon {
   line-height: 0;
   padding: 10px 10px;
 }


 /**
  *  Accordion / Details block styling and animations
 **/

 .wp-block-details {
  cursor: pointer;
  position: relative;
  --details-rotation: 0deg;
 }

 .wp-block-details summary {
  list-style: none;
  position: relative;
  cursor: pointer;
 }

 .wp-block-details summary::-webkit-details-marker,
 .wp-block-details summary::marker {
  display: none;
 }

 .wp-block-details summary::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(var(--details-rotation));
  width: 20px;
  height: 13px;
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg width='20' height='13' viewBox='0 0 20 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.65576 1.91394L9.82784 10.0861L18 1.91394' stroke='white' stroke-width='3'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='20' height='13' viewBox='0 0 20 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.65576 1.91394L9.82784 10.0861L18 1.91394' stroke='white' stroke-width='3'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  transition: transform 0.3s ease;
 }

 /* Open states */
 .wp-block-details.is-open,
 .wp-block-details[open] {
  --details-rotation: -180deg;
 }

 /* Gravity Form Styles */
 
 
.gform_wrapper.gravity-theme .gfield :is(input, select, textarea) {
    background-color: var(--wp--preset--color--background);
    color: var(--wp--preset--color--foreground);
    border-radius: var(--wp--preset--border-radius--small);
    border: 1px solid var(--wp--preset--color--foreground);
    padding-top: var(--wp--custom--spacing--vertical);
    padding-right: var(--wp--custom--spacing--horizontal);
    padding-bottom: var(--wp--custom--spacing--vertical);
    padding-left: var(--wp--custom--spacing--horizontal);
    font-size: 1rem;
    line-height: 1.5;
}

.has-foreground-background-color .gform_wrapper.gravity-theme .gfield :is(input, select, textarea) {
    background-color: var(--wp--preset--color--foreground);
    color: var(--wp--preset--color--background);
    border-color: var(--wp--preset--color--background);
}

.gform_wrapper.gravity-theme :is(.gform-footer, .gfield) :is(input[type="submit"]) {
    border: none;
    background-color: var(--wp--preset--color--foreground);
    color: var(--wp--preset--color--background);
    padding-top: var(--wp--custom--spacing--vertical);
    padding-right: var(--wp--custom--spacing--horizontal);
    padding-bottom: var(--wp--custom--spacing--vertical);
    padding-left: var(--wp--custom--spacing--horizontal);
    cursor: pointer;
    font-size: 1rem;
    line-height: 1.5;

}