/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Navigation
# Content
## Custom Element
### Carousel
# Error 404
# Gravity Forms
# Footer
# Media - Max
# Media - Min
--------------------------------------------------------------*/
:root {
    --black: #000;
    --white: #fff;
    --green: #354031;
    --green-overlay: rgba(52, 70, 46, .8);
    --light-grey: #f5f5f0;
    --yellow: #9fbf93;
    --shadow: 0px 0px 5px 3px rgba(0,0,0,0.1);
}
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
.row,
.vc_row{
  margin-left: 0!important;
  margin-right: 0!important;
  width: 100%;
  z-index: 1;
  position: relative;
}
.vc_column_container>.vc_column-inner {
  padding: 0!important;
}
.screenreader-only {
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.width-container {
  max-width: 1300px;
  margin-left: auto!important;
  margin-right: auto!important;
  padding-left: 25px!important;
  padding-right: 25px!important;
  float: unset!important;
}
.ast-container, 
.ast-container-fluid,
footer > div,
.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-primary-header-bar, 
.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-below-header-bar, 
.ast-header-break-point #masthead .ast-mobile-header-wrap .ast-above-header-bar {
  padding-left: 25px;
  padding-right: 25px;
}

.d-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
html{
	font-size: 18px;
}
h1,h2,h3,h4,h5,h6{
  letter-spacing: 1px;
}
.text-large p{
  font-weight: 500;
  font-size: 22px;
  line-height: 30px;
}
.text-white,
.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
.text-white p,
.text-white a {
  color: var(--white);
}
.text-green,
.text-green h1,
.text-green h2,
.text-green h3,
.text-green h4,
.text-green h5,
.text-green h6,
.text-green p,
.text-green a {
  color: var(--green);
}
.text-center,
.text-center h1,
.text-center h2,
.text-center h3,
.text-center h4,
.text-center h5,
.text-center h6,
.text-center p,
.text-center a {
  text-align: center;
}

.list-unstyled ol,
.list-unstyled ul{
  margin-left: 0;
  padding-left: 0;
  list-style: none;
}
/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
a.menu-link:hover,
a.menu-link:focus{
  text-decoration: underline;
}
.no-link > a{
  cursor: default!important;
  text-decoration: none!important;
}
.ast-button-wrap .menu-toggle.main-header-menu-toggle{
  padding: 0;
}
/* Top */
#ast-mobile-header .ast-above-header-wrap .ast-builder-grid-row{
  grid-template-columns: auto;
}
#ast-mobile-header .ast-above-header-wrap .site-header-above-section-left{
  display: none!important;
}
#ast-mobile-header .ast-above-header-wrap .ast-builder-menu{
  width: auto!important;
}
#secondary_menu-site-navigation-mobile a.menu-link{
  text-decoration: none;
  padding: 0;
}
#ast-mobile-header .ast-above-header-wrap .main-header-bar-navigation{
  line-height: var(--ast-body-line-height,1.65);
}
.ast-above-header-wrap .menu-item > a.menu-link {
  color: var(--white);
  letter-spacing: 1px;

  &:hover,
  &:focus{
    color: var(--yellow);
    text-decoration: underline;
  }
}
/* main */
.ast-site-identity{
  padding: 5px 0!important;
}
@media only screen and (min-width: 993px) {
  header .custom-logo-link img{
    margin-top: -15px;
  }
  .ast-site-identity{
    padding: 0!important;
  }
  .site-header-primary-section-right.site-header-section{
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding-bottom: 1rem;
  }
}
@media only screen and (max-width: 450px) {
  header .custom-logo-link img {
    max-width: 210px;
    width: 210px;
  }
}
/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
.btn,
#content .gform_wrapper form .gform_footer .button[type="submit"],
.ast-custom-button-link {
  position: relative;
  display: inline-block;
  padding: 8px 25px 8px 25px;
  font-family: 'Staatliches',display;
  font-size: 28px;
  line-height: 32px;
  font-weight: 400;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  text-align: center;
  box-shadow: unset !important;
  border: 0;
  text-transform: uppercase;
  text-decoration: unset !important;
  color: var(--white);
  background-color: var(--green);
  overflow: hidden;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 10px;
  letter-spacing: 1px;
  border-radius: 0;
  
  & > div{
    position: relative;
    z-index: 1;
  }
  &::after{
    content: '';
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 100%;    
    left: 0;
    right: 0;
    transition: all .15s ease-Out;
    background-color: var(--black);
  }

  &:hover,
  &:focus{
    color: var(--white);

    &::after{
      top: 0;
    }
  }
}
.btn.btn-white,
footer .ast-custom-button-link{
  color: var(--green);
  background-color: var(--light-grey);

  &:hover,
  &:focus{
    color: var(--white)!important;
    background-color: var(--white)!important;

    & > div{
      color: var(--white)!important;
    }
  }

}
.ast-custom-button-link > div{
  border: 0!important;
  padding: 0!important;
  background: transparent!important;
  font-family: 'Staatliches',display;
  font-size: 28px;
  line-height: 32px;
}

.background-black{
  background-color: var(--black);
}
.background-green{
  background-color: var(--green);
}
.background-lightgrey,
.background-light-grey{
  background-color: var(--light-grey);
}
.background-green-overlay{
  background-color: var(--green-overlay);
}


/*--------------------------------------------------------------
# Custom Element
--------------------------------------------------------------*/
/*--------------------------------------------------------------
### Image Box
--------------------------------------------------------------*/
.image-box{
  position: relative;
  aspect-ratio: 1 / 1;

  & img{
    object-fit: cover;
    height: 100%;
  }
}
.image-box-cover {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 400;
  font-family: 'Staatliches',display;
  text-transform: uppercase;
  font-size: 24px;
  line-height: 1.4rem;
  padding: .5rem 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  min-height: 70px;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}

a:hover .image-box-cover,
a:focus .image-box-cover{
  min-height: 100%;
}
/*--------------------------------------------------------------
### Carousel
--------------------------------------------------------------*/
.tf-carosuel .slick-track > div{
  padding: 0 1rem;
}
.tf-carosuel .slick-list {
  margin-left: 50px;
  margin-right: 50px;
  margin-bottom: 30px;
}
.slick-dotted .slick-dots {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.slick-dotted .slick-dots li {
  margin: 0 0.5rem;
}
.slick-dotted .slick-dots button {
  display: block;
  width: .75rem;
  height: .75rem;
  padding: 0;
  border: none;
  border-radius: 100%;
  background-color: transparent;
  border: 2px solid #D2D1D1;
  background-color: #D2D1D1;
  text-indent: -9999px;
}
.slick-dotted .slick-dots li.slick-active button {
  background-color: #fff; 
  border-color: #fff; 
}
.slick-next{
  position: absolute;
  z-index: 1000;
  bottom: 0;
  right: 8px;
  color: var;
  background: transparent;
  padding: 0;
  font-size: 2rem;
  box-shadow: none;
  color: #fff;
  top: 50%;
  transform: translateY(-50%);
  border: none!important;
  height: 100%;
}
.slick-prev {
  position: absolute;
  z-index: 1000;
  bottom: 0;
  left: 8px;
  color: var;
  background: transparent;
  padding: 0;
  font-size: 2rem;
  box-shadow: none;
  color: #fff;
  top: 50%;
  transform: translateY(-50%);
  border: none!important;
  height: 100%;
}
.slick-next:hover,
.slick-next:focus,
.slick-prev:hover,
.slick-prev:focus{
  background: transparent;
  color: var(--yellow);
}
.em-carousel .slick-slide > div {
  height: 150px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 18px 8px;
  padding: 1rem;
  box-shadow: var(--shadow);
}
.em-carousel .slick-slide > div .em-logo{
  text-align: center;
  width: auto !important;
  max-height: 100%;
}
/*--------------------------------------------------------------
# Error 404
--------------------------------------------------------------*/
.error404 #content{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  & .ast-container{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
}
/*--------------------------------------------------------------
# Gravity Forms
--------------------------------------------------------------*/
.gform_required_legend{
  margin: 0!important;
}
.gform-theme--foundation .gform_fields{
  row-gap: .5rem;
}
.gform-theme form .gform-body label{
  font-family: 'Poppins',sans-serif;
  font-size: 16px;
  line-height: normal;
  color: var(--green);

  & .gfield_required {
    color: var(--green);
    font-size: 16px;
    line-height: normal;
  }
}
form .gform-body input[type="text"], 
form .gform-body input[type="number"], 
form .gform-body input[type="email"], 
form .gform-body input[type="url"], 
form .gform-body input[type="password"], 
form .gform-body input[type="search"], 
form .gform-body input[type="reset"], 
form .gform-body input[type="tel"], 
form .gform-body input[type="date"], 
form .gform-body select, 
form .gform-body textarea{
  border: 0!important;
  border-radius: 0!important;
  box-shadow: none!important;
  padding: 10px 20px;
  height: auto;
  font-family: 'Poppins',sans-serif;
  font-size: 16px;
  line-height: normal;
  color: var(--green);
  outline-color: var(--green)!important;
  text-align: left;

}
.validation_message,
.gfield--type-html {
  text-align: left!important;
}
h2.gform_submission_error {
  margin-bottom: 0;
}
#content .gform_wrapper form .gform_footer .button[type="submit"]:focus{
  outline-color: var(--green)!important;
}


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

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
footer .menu-item > a.menu-link {
  color: var(--white);

  &:hover,
  &:focus{
    color: var(--yellow);
    text-decoration: underline;
  }
}
#block-9 img{
  max-width: 215px;
}
.ast-custom-button-link{
  display: block;
  margin: 0!important;
}
@media only screen and (max-width: 992px) {
  #astra-footer-menu .menu-item > a{
    padding-left: 0;
    padding-right: 0;
  }
}
/*--------------------------------------------------------------
# Media - MAX
@media only screen and (min-width: 769px) and (max-width: 992px) {}
--------------------------------------------------------------*/
@media only screen and (max-width: 992px) {
  .vc_row.vc_column-gap-35 .vc_col-sm-12{
    padding-left: 0;
    padding-right: 0;
  }
  .btn,
  #content .gform_wrapper form .gform_footer .button[type="submit"],
  .ast-custom-button-link,
  .ast-custom-button-link > div{
    font-size: 25px;
    line-height: 30px;
  }
  .site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row, .site-primary-footer-wrap[data-section="section-primary-footer-builder"] .site-footer-section{
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .site-footer-primary-section-2 > div{
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 450px) {
  .vc_col-xs-6{
    width: 100%;
  }
  .vc_col-xs-offset-3 {
    margin-left: 0%;
  }
}

/*--------------------------------------------------------------
# Media - MIN
--------------------------------------------------------------*/

@media only screen and (min-width: 993px) {
  #hero .vc_inner{
    min-height: 450px;
  }
  .vc_row.vc_column-gap-35 {
    margin-left: -18px !important;
    margin-right: -18px !important;
    width: calc(100% + 35px);
  }
  footer .site-footer-primary-section-2 > div{
    padding-left: 1rem;
    margin-bottom: 0!important;
  }
  footer [data-section="section-fb-social-icons-1"] .footer-social-inner-wrap{
    text-align: right;
  }
  footer .site-primary-footer-wrap[data-section="section-primary-footer-builder"].ast-footer-row-inline .site-footer-section,
  footer .footer-widget-area[data-section="section-footer-menu"] .astra-footer-horizontal-menu,
  footer .ast-footer-button-1[data-section="section-fb-button-1"]{
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  footer .ast-footer-copyright, .ast-footer-social-wrap, .site-footer-focus-item {
    width: auto!important;
  }

  .ast-builder-grid-row-2-equal .ast-builder-grid-row{
    grid-template-columns: 215px auto;
  }
}
@media only screen and (min-width: 992px) {
  .text-lg-center,
  .text-lg-center h1,
  .text-lg-center h2,
  .text-lg-center h3,
  .text-lg-center h4,
  .text-lg-center h5,
  .text-lg-center h6,
  .text-lg-center p,
  .text-lg-center a,
  .text-lg-center.wpb_single_image.vc_align_left {
    text-align: center;
  }
}
@media only screen and (min-width: 1200px) {
    footer .site-footer-primary-section-2 > div{
    padding-left: 2rem;
  }
}