/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Navigation
# Content
## Custom Element
### Accordion
# Gravity Forms
# Footer
# Media - Max
# Media - Min
--------------------------------------------------------------*/
:root {
  --white: #fff;
  --white-soft: #FDF7F3;
  --black: #1F2936;
  --peach: #FAF0E6;
  --orange: #EE6911;
  --orange-dark: #C1530A;
  --orange-soft: #FFE1CD;
  --red: #D61020;
  --maroon: #7B1D2B;
  --grey: #4B5159;
  --brown: #553B29;

  --shadow: rgba(16, 24, 40, 0.05) 0px 6px 15px -2px;
}

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
.screenreader-only {
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
#ast-scroll-top {
  font-size: 1rem;
}
/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
.text-center{
  text-align: center;
}
.text-orange,
.text-orange h1,
.text-orange h2,
.text-orange h3,
.text-orange h4,
.text-orange h5,
.text-orange h6,
.text-orange p,
.text-orange a {
  color: var(--orange);
}
.text-red,
.text-red h1,
.text-red h2,
.text-red h3,
.text-red h4,
.text-red h5,
.text-red h6,
.text-red p,
.text-red a {
  color: var(--red);
}
.elementor-widget-text-editor ol,
.elementor-widget-text-editor ul{
  margin-bottom: 0;
  margin-top: 0;
}
.list-checklist ol,
.list-checklist ul {
 list-style: none;
 padding-left: 0;
}
.list-checklist ol li,
.list-checklist ul li {
  position: relative;
  padding: 8px 0;

  &::before{
    content: '';
    display: inline-block;
    background-image: url(/wp-content/uploads/2026/06/icon-dynamic-checkmark-dark.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 12px;
    height: 21px;
    margin-right: 8px;
  }
}
/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
.ast-builder-grid-row.ast-grid-center-col-layout{
  padding-top: 5px;
  padding-bottom: 5px;
}
.ast-logo-title-inline .ast-site-identity{
  padding: 0;
}
.ast-button-wrap .menu-toggle.main-header-menu-toggle{
  padding: 0!important;
  flex-direction: column;
  gap: 0;
  justify-content: center;
  box-shadow: none;
  outline: none;
  border: 0!important;
}
.ast-button-wrap .menu-toggle.main-header-menu-toggle .mobile-menu-wrap{
  margin: 0;
  line-height: .5;
}
.ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle{
  box-shadow: none;
  outline: none;
  border: 0!important;
}
.ast-builder-menu-mobile .main-navigation .menu-item.menu-item-has-children > .ast-menu-toggle[aria-expanded="true"]  .ast-icon.icon-arrow svg{
  transform: rotate(180deg);
}
#ast-fixed-header.ast-header-sticked .site-header-primary-section-center *{
  height: 100%;
}
#ast-fixed-header.ast-header-sticked .site-header-primary-section-center .menu-item,
#ast-fixed-header.ast-header-sticked .site-header-primary-section-center .menu-link{
  height: auto;
}
#primary-site-navigation-desktop .sub-menu li:not(:last-child) a{
padding-bottom: 0;
}
/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
.btn,
.ast-load-more {
  position: relative;
  display: inline-block;
  padding: 13px 25px;
  font-size: 20px;
  line-height: normal;
  font-weight: 500;
  border-radius: 60px;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  text-align: center;
  box-shadow: unset !important;
  border: 0;
  text-decoration: unset !important;
  color: var(--black);
  background-color: var(--orange-soft);
  border: 2px solid var(--orange);
  overflow: hidden;

  &:hover,
  &:focus{
    color: var(--black);
    background-color: var(--orange);
    border-color: var(--orange);
  }
}
.btn-black{
  color: var(--white);
  background-color: var(--black);
  border: 2px solid var(--white-soft);
  &:hover,
  &:focus{
    color: var(--black);
    background-color: var(--orange);
    border-color: var(--orange);
  }
}
.btn-white{
  color: var(--black);
  background-color: var(--white-soft);
  border: 2px solid var(--black);
  &:hover,
  &:focus{
    color: var(--white);
    background-color: var(--black);
    border-color: var(--white-soft);
  }
}
.btn .icon{
  padding-left: var(--padding-left);
  padding-right: var(--padding-left);
}

.btn-arrow{
  position: relative;
  font-size: 20px;
  line-height: normal;
  font-weight: 500;
  color: var(--black);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;

  & svg{
    position: relative;
    left: 5px;
    -webkit-transition: left .5s;
    -o-transition: left .5s;
    transition: left .5s;
  }

  &:hover svg{
    left: 10px;
  }
}
.btn-arrow span{
  position: relative;
}
.btn-arrow span::after {
  content: '';
  width: 0%;
  height: 2px;
  background: var(--red);
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}
.btn-arrow:hover span::after{
  width: 100%;
}

.topic-menu ol,
.topic-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.topic-menu ol li,
.topic-menu ul li{
  margin: 8px;
}
.topic-menu ol li a,
.topic-menu ul li a {
  border-bottom: 2px solid var(--black);
  padding-bottom: 5px;

  &:hover{
    border-color: var(--red);
  }
}
/*--------------------------------------------------------------
## Blog
--------------------------------------------------------------*/
.blog #content,
.archive #content {
  background-color: var(--white-soft);
}
.blog #content .ast-container,
.archive #content .ast-container{
  padding-left: 20px;
  padding-right: 20px;
}
.wp-block-categories-list li a{
  display: flex;
  background-color: #fff;
  padding: 8px 8px 8px 40px;
  align-items: center;
  border-radius: 4px;
  border: 2px solid #fff;
  color: var(--black)!important;

  &:hover,
  &[aria-current="page"]{
    background-color: var(--orange-soft);
  }
}
.ast-single-post-featured-section img{
  border-radius: 20px;
}
.ast-separate-container .site-content .ast-single-post-featured-section + article{
  margin-left: 10px;
  margin-right: 10px;
}
.ast-related-posts-inner-section .entry-header{
  display: flex;
  flex-direction: column;
  margin: 1rem 0 0 0;
}
.ast-related-posts-inner-section .entry-header .entry-meta{
  width: 100%;
}
.ast-related-posts-inner-section .entry-header.related-entry-header .entry-meta {
    order: -1;
}
.ast-related-post-content .post-thumb-img-content img{
  object-fit: cover;
  border-radius: 8px;
}
.single-post #primary article.post.ast-article-single a{
  text-decoration: underline;
}

.ast-blog-layout-4-grid .ast-article-inner .wp-post-image{
  object-fit: cover;
}
/*--------------------------------------------------------------
## Custom Element
--------------------------------------------------------------*/
/*--------------------------------------------------------------
### Recent Posts
--------------------------------------------------------------*/
.recentposts-container{
  margin-left: -1em;
  margin-right: -1em;
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
}
.recentposts-container article{
  padding: 0 1em 0;
  margin-bottom: 2em;
}
.recentposts-container article .post-content {
  padding: 0;
}
.recentposts-container .post-content .ast-blog-featured-section:first-child .post-thumb-img-content{
  margin-top: -1.5em;
  margin-left: -1.5em;
  margin-right: -1.5em;
  margin-bottom: 0;
  position: static;
  overflow: hidden;
  padding: 0;
}
.recentposts-container .post-content .ast-blog-featured-section:first-child .post-thumb-img-content img{
  transform: scale(1.1);
  transition: transform .5s ease;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  margin: 0;
}
.recentposts-container article:hover .post-content .ast-blog-featured-section:first-child .post-thumb-img-content img {
  transform: scale(1.1);
}
.recentposts-container article .blog-layout-4{
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
  overflow: hidden;
  box-shadow: 0px 6px 15px -2px rgba(16,24,40,0.05);
  background-color: #fff;
  height: 100%;
  width: 100%;
  padding: 1.5em;
}
.recentposts-container h2{
  font-size: 24px;
  font-weight: 600;
}
/*--------------------------------------------------------------
### Steps
--------------------------------------------------------------*/
@media only screen and (min-width: 993px) {
  .steps-single{
    position: relative;
  }
  .steps-single::before{
    content: '';
    height: 2px;
    background-color: var(--black);
    width: 50%;
    position: absolute;
    top: 50%;
    bottom: 0;
    left: 0;
    transform: translateY(-50%);
    z-index: 0;
  }
  .steps-single::after{
    content: '';
    height: 2px;
    background-color: var(--black);
    width: 50%;
    position: absolute;
    top: 50%;
    bottom: 0;
    right: 0;
    transform: translateY(-50%);
    z-index: 0;
  }
  .steps > div:first-child .steps-single::before{
    display: none;
  }
  .steps > div:last-child .steps-single::after{
    display: none;
  }
  .steps #step-1::after,
  .steps #step-2::before{
    background-color: var(--orange);
  }
  .steps #step-2::after,
  .steps #step-3::before{
    background-color: var(--red);
  }
  .steps #step-3::after,
  .steps #step-4::before{
    background-color: var(--maroon);
  }
}
/*--------------------------------------------------------------
# Gravity forms
--------------------------------------------------------------*/
.gform_required_legend{
  display: none!important;
}
.gform-body .gform_fields {
  row-gap: 18px!important;
}
.gfield_required .gfield_required_asterisk{
  font-size: 16px;
  color: var(--dark);
}
.gform-body label.gfield_label,
.gform-body legend.gfield_label{
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  color: var(--dark);
}
.gform-body input[type="text"], .gform-body input[type="number"], .gform-body input[type="email"], .gform-body input[type="url"], .gform-body input[type="password"], .gform-body input[type="search"], .gform-body input[type="reset"], .gform-body input[type="tel"], .gform-body input[type="date"], .gform-body select, .gform-body textarea {
  text-align: left !important;
  line-height: normal !important;
  padding: 13px 0 !important;
  font-size: 20px !important;
  font-family: inherit !important;
  border: none !important;
  box-shadow: none !important;
  height: unset !important;
  outline: none !important;
  border-bottom: 3px solid var(--maroon) !important;
  background: #fff !important;
  border-radius: 0 !important;

  &:focus{
    border-color: var(--orange)!important;
  }
}
#primary .gform_wrapper.gform-theme--foundation form .gform-footer .gform_button[type="submit"],
#contact .gform_wrapper.gform-theme--foundation form .gform-footer .gform_button[type="submit"]{
  position: relative;
  display: inline-block;
  padding: 13px 25px;
  font-size: 20px;
  line-height: normal;
  font-weight: 400;
  border-radius: 60px;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  text-align: center;
  box-shadow: unset !important;
  border: 0;
  text-decoration: unset !important;
  color: var(--black);
  background-color: var(--orange-soft);
  border: 2px solid var(--black);
  overflow: hidden;
  outline: none;

  &:hover,
  &:focus{
    color: var(--white);
    background-color: var(--black);
    border-color: var(--black);
  }
}
.gform-theme--foundation #field_submit, 
.gform-theme--foundation .gform_footer, 
.gform-theme--foundation .gform_page_footer{
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: var(--black);
}
::-moz-placeholder { /* Firefox 19+ */
  color: var(--black);
}
:-ms-input-placeholder { /* IE 10+ */
  color: var(--black);
}
:-moz-placeholder { /* Firefox 18- */
  color: var(--black);
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.site-above-footer-wrap .ast-builder-grid-row-container-inner,
.site-primary-footer-wrap .ast-builder-grid-row-container-inner,
.site-below-footer-wrap .ast-builder-grid-row-container-inner {
  padding: 0 20px;
  max-width: 1480px;
  width: 100%;
  margin: 0 auto;
}
.site-above-footer-wrap .ast-builder-grid-row-container-inner .ast-builder-grid-row,
.site-primary-footer-wrap .ast-builder-grid-row-container-inner .ast-builder-grid-row,
.site-below-footer-wrap .ast-builder-grid-row-container-inner .ast-builder-grid-row {
  padding-left: 0!important;
  padding-right: 0!important;
  padding-top: 40px!important;
  padding-bottom: 40px!important;
}
.site-primary-footer-wrap .ast-builder-grid-row-container-inner .ast-builder-grid-row,
.site-below-footer-wrap .ast-builder-grid-row-container-inner .ast-builder-grid-row {
  border-top: 2px solid #353D47;
}
footer h2,
#block-11 p{
font-family: Urbanist;
font-size: 18px;
font-style: normal;
font-weight: 700;
line-height: normal;
letter-spacing: 1px;
text-transform: uppercase;
}
footer .ahfb-svg-iconset{
  padding: 12px;
  border-radius: 50%;
  background-color: var(--maroon);
}
footer .ast-email .ahfb-svg-iconset{
  background-color: var(--orange);
}
footer .ast-phone .ahfb-svg-iconset{
  background-color: var(--red);
}
footer a:hover .ahfb-svg-iconset{
  background-color: #353D47;
}
footer .social-item-label{
  border-bottom: 2px solid #353D47;
  padding: 0!important;
  margin-left: 10px;
  font-weight: 600;
}
footer #block-17 img{
  max-width: 350px;
  width: 100%;
}
footer .widget.widget_nav_menu .menu-link{
 line-height: 2.5;
}
footer .site-above-footer-wrap .ast-builder-grid-row-container-inner .ast-builder-grid-row .site-footer-above-section-1{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
footer .site-above-footer-wrap .ast-builder-grid-row-container-inner .ast-builder-grid-row .site-footer-above-section-1 > * {
  width: 100%;
  text-align: center;
}
/*--------------------------------------------------------------
# Media - MAX
@media only screen and (min-width: 769px) and (max-width: 992px) {}
--------------------------------------------------------------*/
@media only screen and (max-width: 992px) {
  .blog #secondary{
    margin-top: 0!important;
    padding-top: 2.5em;
    border-top: 2px solid var(--orange);
  }
/* Footer */
  .ast-footer-social-1-wrap .ast-social-stack-mobile .ast-builder-social-element{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  footer .social-item-label{
    margin-left: 0px;
    margin-top: 15px;
  }
}
@media only screen and (max-width: 544px) {
  .site-primary-footer-wrap[data-section="section-primary-footer-builder"].ast-footer-row-mobile-stack .site-footer-section-1 {
    margin-bottom: 40px;
  }
  .site-primary-footer-wrap[data-section="section-primary-footer-builder"].ast-footer-row-mobile-stack .site-footer-section-2 {
    margin-bottom: 0px;
  }
}
/*--------------------------------------------------------------
# Media - MIN
--------------------------------------------------------------*/
@media only screen and (min-width: 768px) {
  .recentposts-container article {
    width: 33.3333333%;
  }
}

@media only screen and (min-width: 993px) {

  /* Footer */
  footer .site-above-footer-wrap .ast-builder-grid-row-container-inner .ast-builder-grid-row .site-footer-above-section-1{ 
    display: grid;
    grid-template-columns: 1fr max-content;
    gap: 20px;
    align-items: center;
  }
  .site-footer-above-section-1 > aside:first-child {
    grid-column: 1 / -1;
  }
  .site-footer-above-section-1 > .ast-builder-layout-element {
    -ms-grid-column-align: stretch;
    justify-self: stretch;
  }
  .site-footer-above-section-1 > aside:last-child {
    -ms-grid-column-align: end;
    justify-self: end;
  }

}