.elementor-721 .elementor-element.elementor-element-a18d26f{--display:flex;--min-height:20vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--margin-top:-80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-721 .elementor-element.elementor-element-a18d26f:not(.elementor-motion-effects-element-type-background), .elementor-721 .elementor-element.elementor-element-a18d26f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.fengtaotex.cn/wp-content/uploads/2025/05/wov-pattern-green.png");}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-721 .elementor-element.elementor-element-3921ae3 .elementor-heading-title{font-family:"黑体", Sans-serif;font-size:4rem;font-weight:600;color:var( --e-global-color-secondary );}.elementor-721 .elementor-element.elementor-element-e1291fb{--display:flex;}.elementor-721 .elementor-element.elementor-element-b8fe0e4 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-721 .elementor-element.elementor-element-16601e0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-721 .elementor-element.elementor-element-eccced7{text-align:center;}.elementor-721 .elementor-element.elementor-element-eccced7 .elementor-heading-title{font-family:"黑体", Sans-serif;font-size:2.5rem;font-weight:600;color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-721 .elementor-element.elementor-element-f8dfa90{text-align:center;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-721 .elementor-element.elementor-element-22a8099{--divider-border-style:solid;--divider-color:var( --e-global-color-accent );--divider-border-width:1px;--divider-icon-size:45px;}.elementor-721 .elementor-element.elementor-element-22a8099 .elementor-divider-separator{width:66%;margin:0 auto;margin-center:0;}.elementor-721 .elementor-element.elementor-element-22a8099 .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-721 .elementor-element.elementor-element-22a8099.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-accent );}.elementor-721 .elementor-element.elementor-element-22a8099.elementor-view-framed .elementor-icon, .elementor-721 .elementor-element.elementor-element-22a8099.elementor-view-default .elementor-icon{color:var( --e-global-color-accent );border-color:var( --e-global-color-accent );}.elementor-721 .elementor-element.elementor-element-22a8099.elementor-view-framed .elementor-icon, .elementor-721 .elementor-element.elementor-element-22a8099.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-accent );}.elementor-721 .elementor-element.elementor-element-13eb3c7{text-align:center;}.elementor-721 .elementor-element.elementor-element-13eb3c7 .elementor-heading-title{font-family:"黑体", Sans-serif;font-size:2.5rem;font-weight:600;color:var( --e-global-color-text );}.elementor-721 .elementor-element.elementor-element-fc8ec58{text-align:center;}.elementor-721 .elementor-element.elementor-element-93c0dec{text-align:center;}.elementor-721 .elementor-element.elementor-element-93c0dec .elementor-heading-title{font-family:"黑体", Sans-serif;font-size:2rem;font-weight:600;color:var( --e-global-color-text );}.elementor-721 .elementor-element.elementor-element-19bf1e6{text-align:center;font-family:"黑体", Sans-serif;font-weight:400;color:var( --e-global-color-primary );}.elementor-721 .elementor-element.elementor-element-e53f9cf{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-721 .elementor-element.elementor-element-e53f9cf:not(.elementor-motion-effects-element-type-background), .elementor-721 .elementor-element.elementor-element-e53f9cf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(90deg, var( --e-global-color-primary ) 50%, var( --e-global-color-accent ) 50%);}.elementor-721 .elementor-element.elementor-element-2641b43{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-widget-image-box .elementor-image-box-title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-image-box .elementor-image-box-description{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-721 .elementor-element.elementor-element-3938621 .elementor-image-box-wrapper{text-align:left;}.elementor-721 .elementor-element.elementor-element-3938621 .elementor-image-box-title{color:var( --e-global-color-secondary );font-family:"黑体", Sans-serif;font-size:2.5rem;font-weight:600;}.elementor-721 .elementor-element.elementor-element-3938621 .elementor-image-box-description{color:#C5C5C5;}.elementor-721 .elementor-element.elementor-element-4a13cf1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-721 .elementor-element.elementor-element-eee8d29 .elementor-image-box-wrapper{text-align:left;}.elementor-721 .elementor-element.elementor-element-eee8d29 .elementor-image-box-title{color:var( --e-global-color-secondary );font-family:"黑体", Sans-serif;font-size:2.5rem;font-weight:600;}.elementor-721 .elementor-element.elementor-element-eee8d29 .elementor-image-box-description{color:#C5C5C5;}.elementor-721 .elementor-element.elementor-element-961dd93{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-721 .elementor-element.elementor-element-502b663{text-align:center;}.elementor-721 .elementor-element.elementor-element-502b663 .elementor-heading-title{font-family:"黑体", Sans-serif;font-size:2.5rem;font-weight:600;color:var( --e-global-color-text );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-721 .elementor-element.elementor-element-a328077 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-721 .elementor-element.elementor-element-a328077 img{width:100%;}.elementor-721 .elementor-element.elementor-element-e646eba{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-721 .elementor-element.elementor-element-cb5bb13{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-721 .elementor-element.elementor-element-cb5bb13:not(.elementor-motion-effects-element-type-background), .elementor-721 .elementor-element.elementor-element-cb5bb13 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1C9A46;}.elementor-721 .elementor-element.elementor-element-ef111cd > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-721 .elementor-element.elementor-element-ef111cd .elementor-image-box-title{margin-bottom:0px;color:var( --e-global-color-secondary );font-family:"Quicksand", Sans-serif;font-size:1.5rem;font-weight:600;}.elementor-721 .elementor-element.elementor-element-ef111cd .elementor-image-box-description{color:var( --e-global-color-secondary );font-family:"黑体", Sans-serif;font-size:1.2rem;font-weight:400;}.elementor-721 .elementor-element.elementor-element-c0d325e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-721 .elementor-element.elementor-element-f4642cc{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:50px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-721 .elementor-element.elementor-element-f4642cc:not(.elementor-motion-effects-element-type-background), .elementor-721 .elementor-element.elementor-element-f4642cc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-721 .elementor-element.elementor-element-e454a89{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:50px;}.elementor-721 .elementor-element.elementor-element-bb89db5 .elementor-image-box-wrapper{text-align:left;}.elementor-721 .elementor-element.elementor-element-bb89db5 .elementor-image-box-title{color:var( --e-global-color-secondary );font-family:"黑体", Sans-serif;font-size:2.5rem;font-weight:600;}.elementor-721 .elementor-element.elementor-element-bb89db5 .elementor-image-box-description{color:#C5C5C5;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-721 .elementor-element.elementor-element-67a2767 .elementor-button{font-family:"黑体", Sans-serif;font-size:16px;font-weight:500;border-style:solid;border-width:0px 4px 4px 0px;border-color:#3C7A4A;border-radius:50px 50px 50px 50px;padding:20px 40px 20px 40px;}.elementor-721 .elementor-element.elementor-element-f2937a5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-20px;--margin-bottom:-20px;--margin-left:-20px;--margin-right:-20px;--padding-top:0px;--padding-bottom:8px;--padding-left:8px;--padding-right:0px;}.elementor-721 .elementor-element.elementor-element-f2937a5:not(.elementor-motion-effects-element-type-background), .elementor-721 .elementor-element.elementor-element-f2937a5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-721 .elementor-element.elementor-element-c4c2d8a > .elementor-widget-container{margin:-8px -8px 0px 0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-721 .elementor-element.elementor-element-e1291fb{--content-width:1200px;}.elementor-721 .elementor-element.elementor-element-e53f9cf{--content-width:1200px;}.elementor-721 .elementor-element.elementor-element-2641b43{--width:50%;}.elementor-721 .elementor-element.elementor-element-4a13cf1{--width:50%;}.elementor-721 .elementor-element.elementor-element-e646eba{--content-width:800px;}.elementor-721 .elementor-element.elementor-element-cb5bb13{--width:100%;}.elementor-721 .elementor-element.elementor-element-e454a89{--width:68%;}.elementor-721 .elementor-element.elementor-element-f2937a5{--width:34%;}}@media(max-width:767px){.elementor-721 .elementor-element.elementor-element-3921ae3{text-align:center;}.elementor-721 .elementor-element.elementor-element-3921ae3 .elementor-heading-title{font-size:2.6rem;}.elementor-721 .elementor-element.elementor-element-a328077 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-721 .elementor-element.elementor-element-cb5bb13{--width:50%;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-721 .elementor-element.elementor-element-f4642cc{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-721 .elementor-element.elementor-element-e454a89{--margin-top:0px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-721 .elementor-element.elementor-element-f2937a5{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-721 .elementor-element.elementor-element-c4c2d8a > .elementor-widget-container{margin:0px 0px 0px 0px;}}/* Start custom CSS for text-editor, class: .elementor-element-19bf1e6 *//* ----------------------
    
---- Variables 

---------------------- */
/* ----------------------
    
---- Mixins 

---------------------- */
/*------------------------------------------
	1. Mixins --- Media Query Management
------------------------------------------*/
/*------------------------------------------
	2. Mixins --- Click Effect
------------------------------------------*/
/*------------------------------------------
	3. center vertically and/or horizontally an absolute positioned element
------------------------------------------*/
/*------------------------------------------
	3. antialiasing mode font rendering
------------------------------------------*/
/* ----------------------
    
---- Reset 

---------------------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none !important; }

ul {
  list-style: none;
  margin: 0; }

h1 {
  margin-bottom: 1rem;
  color: #232e42;
  line-height: 1; }
  @media (min-width: 1140px) {
    h1 {
      font-size: 2.5rem; } }

p {
  margin-bottom: 1rem;
  color: #232e42; }
  @media (min-width: 1140px) {
    p {
      font-size: 1rem; } }

.ty-modal-buttons {
  margin-top: 80px; }

/* ----------------------
    
---- Layout 

---------------------- */
body {
  width: 100%;
  overflow-x: hidden; }
  body .ty-content-wrap {
    width: 100%;
    min-height: 100vh;
    overflow: hidden; }
    @media (min-width: 960px) {
      body .ty-content-wrap {
        min-height: calc( 100vh - 340px ); } }
  body.nav-open {
    overflow: hidden; }
    @media (min-width: 960px) {
      body.nav-open {
        overflow-y: scroll; } }
    body.nav-open .ty-content-wrap {
      filter: blur(2px); }
      @media (min-width: 960px) {
        body.nav-open .ty-content-wrap {
          filter: blur(0); } }

.ty-content {
  width: 100%; }
  @media (min-width: 1140px) {
    .ty-content {
      max-width: 80vw; } }

/* ----------------------
    
---- Header

---------------------- */
header {
  width: 100%;
  height: 60px;
  position: fixed;
  top: 0;
  left: 0;
  border-bottom: 1px solid white;
  z-index: 777; }
  @media (min-width: 1140px) {
    header {
      height: 80px; } }
  header .ty-logo-holder {
    width: 200px;
    background-color: #215733;
    border-right: 1px solid white;
    padding: 0 1rem;
    height: 60px;
    display: flex;
    align-items: center;
    float: left;
    border-bottom: 1px solid white; }
    @media (min-width: 1140px) {
      header .ty-logo-holder {
        width: 250px;
        height: 80px; } }
    header .ty-logo-holder img {
      width: 100%;
      height: auto; }
  .admin-bar header {
    top: 32px; }

/* ----------------------
    
---- About Intro

---------------------- */
.ty-product-page-header .ty-desktop-nav ul li.menu-item-has-children:after {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #215733; }
.ty-product-page-header .ty-desktop-nav ul li:hover {
  background-color: #215733; }
  .ty-product-page-header .ty-desktop-nav ul li:hover:after {
    border-top: 5px solid white; }
  .ty-product-page-header .ty-desktop-nav ul li:hover a {
    color: white; }
.ty-product-page-header .ty-desktop-nav ul li a {
  color: #215733; }
.ty-product-page-header .ty-desktop-nav ul li ul.sub-menu li a {
  color: #215733; }
  .ty-product-page-header .ty-desktop-nav ul li ul.sub-menu li a:hover {
    background-color: #215733; }

/* ----------------------
    
---- Headroom

---------------------- */
#headroom {
  transition: all .3s ease; }
  #headroom.headroom--not-top {
    background-color: white;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.6); }
    #headroom.headroom--not-top .ty-desktop-nav ul li.menu-item-has-children:after {
      border-left: 5px solid transparent;
      border-right: 5px solid transparent;
      border-top: 5px solid #215733; }
    #headroom.headroom--not-top .ty-desktop-nav ul li a {
      color: #215733; }
    #headroom.headroom--not-top .ty-desktop-nav ul li ul.sub-menu li a {
      color: #215733; }
      #headroom.headroom--not-top .ty-desktop-nav ul li ul.sub-menu li a:hover {
        color: white; }
    #headroom.headroom--not-top .ty-desktop-nav ul li:hover {
      background-color: #215733; }
      #headroom.headroom--not-top .ty-desktop-nav ul li:hover:after {
        border-top: 5px solid white; }
      #headroom.headroom--not-top .ty-desktop-nav ul li:hover a {
        color: white; }

/* ----------------------
    
---- Nav Trigger

---------------------- */
.ty-nav-trigger {
  cursor: pointer;
  display: block;
  width: 40px;
  height: 60px;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  display: block;
  position: fixed;
  top: 0;
  right: .5rem;
  z-index: 999; }
  @media (min-width: 960px) {
    .ty-nav-trigger {
      display: none; } }
  .ty-nav-trigger span {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #1c9a46;
    -webkit-transition: background-color 0.25s 0.25s;
    -moz-transition: background-color 0.25s 0.25s;
    -ms-transition: background-color 0.25s 0.25s;
    -o-transition: background-color 0.25s 0.25s;
    transition: background-color 0.25s 0.25s; }
    .ty-nav-trigger span:before, .ty-nav-trigger span:after {
      content: "";
      transition: all .3s ease;
      position: absolute;
      width: 100%;
      height: 100%;
      background: #1c9a46;
      -webkit-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      transform: rotate(0deg); }
    .ty-nav-trigger span:before {
      top: -0.75rem;
      -webkit-transition: top 0.25s 0.25s, transform 0.25s;
      -moz-transition: top 0.25s 0.25s, transform 0.25s;
      -ms-transition: top 0.25s 0.25s, transform 0.25s;
      -o-transition: top 0.25s 0.25s, transform 0.25s;
      transition: top 0.25s 0.25s, transform 0.25s; }
    .ty-nav-trigger span:after {
      bottom: -0.75rem;
      -webkit-transition: bottom 0.25s 0.25s, transform 0.25s;
      -moz-transition: bottom 0.25s 0.25s, transform 0.25s;
      -ms-transition: bottom 0.25s 0.25s, transform 0.25s;
      -o-transition: bottom 0.25s 0.25s, transform 0.25s;
      transition: bottom 0.25s 0.25s, transform 0.25s; }
  .nav-open .ty-nav-trigger span {
    background-color: transparent;
    -webkit-transition: background-color 0.25s 0.25s;
    -moz-transition: background-color 0.25s 0.25s;
    -ms-transition: background-color 0.25s 0.25s;
    -o-transition: background-color 0.25s 0.25s;
    transition: background-color 0.25s 0.25s; }
    .nav-open .ty-nav-trigger span:before {
      background: white;
      top: 0;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg);
      -webkit-transition: top 0.25s, transform 0.25s 0.3s;
      -moz-transition: top 0.25s, transform 0.25s 0.3s;
      -ms-transition: top 0.25s, transform 0.25s 0.3s;
      -o-transition: top 0.25s, transform 0.25s 0.3s;
      transition: top 0.25s, transform 0.25s 0.3s; }
    .nav-open .ty-nav-trigger span:after {
      background: white;
      bottom: 0;
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -webkit-transition: bottom 0.25s, transform 0.25s 0.3s;
      -moz-transition: bottom 0.25s, transform 0.25s 0.3s;
      -ms-transition: bottom 0.25s, transform 0.25s 0.3s;
      -o-transition: bottom 0.25s, transform 0.25s 0.3s;
      transition: bottom 0.25s, transform 0.25s 0.3s; }
  .admin-bar .ty-nav-trigger {
    top: 32px; }

/* ----------------------
    
---- Off Canvas

---------------------- */
.ty-off-canvas {
  width: 100%;
  height: 100vh;
  background-color: rgba(33, 87, 51, 0.95);
  z-index: 888;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  overflow-y: scroll;
  transition: all .3s ease-in; }
  @media (min-width: 960px) {
    .ty-off-canvas {
      display: none; } }
  .nav-open .ty-off-canvas {
    opacity: 1;
    visibility: visible; }

/* ----------------------
    
---- FP BTN

---------------------- */
.ty-fp-btn {
  padding: .5rem 1rem;
  border: none;
  background-color: transparent;
  position: relative;
  cursor: pointer;
  display: inline-block;
  text-decoration: none; }
  .ty-fp-btn:hover {
    text-decoration: none; }
    .ty-fp-btn:hover:after {
      background-color: #20b050; }
  @media (min-width: 1140px) {
    .ty-fp-btn {
      padding: .75rem 1.5rem; } }
  .ty-fp-btn span {
    z-index: 2;
    position: relative;
    color: white;
    top: -.2rem;
    left: -.2rem; }
    @media (min-width: 1140px) {
      .ty-fp-btn span {
        font-size: 1.2rem; } }
  .ty-fp-btn:after, .ty-fp-btn:before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #24723e;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50px;
    z-index: 1;
    transition: background-color .2s ease; }
  .ty-fp-btn:after {
    background-color: #1c9a46;
    top: -.2rem;
    left: -.2rem; }
  .ty-fp-btn:active span {
    top: 0;
    left: 0; }
  .ty-fp-btn:active:after {
    top: 0;
    left: 0; }

/* ----------------------
    
---- Footer

---------------------- */
footer {
  width: 100%;
  border-top: 5px solid #a1a1a1;
  background: url("../images/wov-pattern-gray.png") repeat;
  display: flex;
  justify-content: center; }
  footer .ty-content {
    width: 100%;
    display: flex;
    flex-direction: column; }
    @media (min-width: 960px) {
      footer .ty-content {
        flex-direction: row; } }
  footer .ty-footer-sect {
    width: 100%;
    padding: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
    @media (min-width: 960px) {
      footer .ty-footer-sect {
        border: none; } }
    footer .ty-footer-sect:last-of-type {
      border-bottom: none; }
    footer .ty-footer-sect h4.ty-footer-title {
      color: #a1a1a1;
      margin-bottom: 1rem;
      text-align: center; }
      @media (min-width: 960px) {
        footer .ty-footer-sect h4.ty-footer-title {
          text-align: left; } }
    footer .ty-footer-sect p {
      color: white;
      text-align: center; }
      @media (min-width: 960px) {
        footer .ty-footer-sect p {
          text-align: left; } }

/* ----------------------
    
---- Footer Brand

---------------------- */
#ty-footer-brand .ty-footer-logo {
  width: 100%;
  padding: 1rem;
  display: flex;
  justify-content: center;
  margin-bottom: 1rem; }
  @media (min-width: 960px) {
    #ty-footer-brand .ty-footer-logo {
      justify-content: flex-start;
      padding: 1rem 0; } }
  #ty-footer-brand .ty-footer-logo img {
    max-width: 80%; }

/* ----------------------
    
---- Footer Brand

---------------------- */
@media (min-width: 960px) {
  #ty-footer-contact {
    margin-top: 1rem; } }
#ty-footer-contact .ty-footer-contact {
  margin-bottom: 1rem;
  text-align: center; }
  @media (min-width: 960px) {
    #ty-footer-contact .ty-footer-contact {
      text-align: left; } }
  #ty-footer-contact .ty-footer-contact i {
    display: inline-block;
    vertical-align: top;
    color: white;
    margin-right: 5px;
    margin-top: 3px; }
  #ty-footer-contact .ty-footer-contact span,
  #ty-footer-contact .ty-footer-contact a {
    color: White;
    opacity: 0.5;
    display: inline-block; }
  #ty-footer-contact .ty-footer-contact span,
  #ty-footer-contact .ty-footer-contact a {
    opacity: 1; }

/* ----------------------
    
---- Footer Links

---------------------- */
@media (min-width: 960px) {
  #ty-footer-links {
    margin-top: 1rem; } }
#ty-footer-links ul {
  text-align: center; }
  @media (min-width: 960px) {
    #ty-footer-links ul {
      text-align: left; } }
  #ty-footer-links ul li {
    display: block;
    margin-bottom: 0.5rem;
    transition: all .2s ease; }
    #ty-footer-links ul li a {
      color: white;
      display: inline-block;
      text-decoration: none;
      font-weight: bold;
      transition: all .2s ease; }
      #ty-footer-links ul li a:hover {
        opacity: .5; }

/* ----------------------
    
---- Footer Social

---------------------- */
@media (min-width: 960px) {
  #ty-footer-social {
    margin-top: 2rem; } }
#ty-footer-social ul {
  text-align: center; }
  @media (min-width: 960px) {
    #ty-footer-social ul {
      text-align: left; } }
  #ty-footer-social ul li {
    display: inline-block; }
    #ty-footer-social ul li a {
      width: 50px;
      height: 50px;
      border-radius: 100%;
      text-decoration: none;
      display: flex;
      justify-content: center;
      align-items: center; }
      #ty-footer-social ul li a i {
        color: white;
        font-size: 2.5rem; }

/* ----------------------
    
---- Desktop Nav

---------------------- */
.ty-desktop-nav {
  display: none; }
  @media (min-width: 960px) {
    .ty-desktop-nav {
      display: block;
      float: left; } }
  .ty-desktop-nav ul li {
    display: inline-block;
    transition: all .3s ease;
    position: relative; }
    .ty-desktop-nav ul li.menu-item-has-children a {
      padding-right: 2rem; }
    .ty-desktop-nav ul li.menu-item-has-children:after {
      content: '';
      position: absolute;
      top: 50%;
      right: .75rem;
      transform: translateY(-50%);
      width: 0;
      height: 0;
      border-left: 5px solid transparent;
      border-right: 5px solid transparent;
      border-top: 5px solid white; }
    .ty-desktop-nav ul li a {
      line-height: 60px;
      color: white;
      text-decoration: none;
      font-weight: bold;
      padding: 1rem; }
      @media (min-width: 1140px) {
        .ty-desktop-nav ul li a {
          line-height: 80px;
          font-size: 1.2rem; } }
    .ty-desktop-nav ul li:hover {
      background-color: white; }
      .ty-desktop-nav ul li:hover:after {
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid #215733; }
      .ty-desktop-nav ul li:hover a {
        color: #215733; }
      .ty-desktop-nav ul li:hover ul.sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); }
    .ty-desktop-nav ul li ul.sub-menu {
      position: absolute;
      width: 200%;
      top: 100%;
      left: 0;
      background-color: white;
      opacity: 0;
      visibility: hidden;
      transform: translateX(50px);
      transition: all .2s ease; }
      .ty-desktop-nav ul li ul.sub-menu li {
        width: 100%;
        border-bottom: 1px solid rgba(33, 87, 51, 0.3); }
        .ty-desktop-nav ul li ul.sub-menu li:hover {
          background-color: #1c9a46; }
          .ty-desktop-nav ul li ul.sub-menu li:hover a {
            color: white; }
        .ty-desktop-nav ul li ul.sub-menu li a {
          display: block;
          width: 100%;
          padding: 0;
          padding: 1rem;
          line-height: 1; }
  .white-bkg .ty-desktop-nav ul li:hover a {
    color: white; }
  .white-bkg .ty-desktop-nav ul li a {
    color: #215733; }

/* ----------------------
    
---- Mobile Nav

---------------------- */
nav.ty-mobile-nav {
  width: 100%;
  position: relative;
  padding-top: calc( 60px + 1rem );
  overflow: hidden; }
  nav.ty-mobile-nav ul {
    width: 100%;
    display: flex;
    flex-direction: column; }
    nav.ty-mobile-nav ul li a {
      width: 100%;
      padding: .5rem 1rem;
      color: white;
      text-decoration: none;
      font-size: 2em;
      display: inline-block;
      font-weight: bold; }
      nav.ty-mobile-nav ul li a:active {
        background-color: white;
        color: #215733; }
    nav.ty-mobile-nav ul li ul.sub-menu li a {
      font-size: 1.5em;
      font-weight: normal;
      padding-left: 2rem;
      position: relative; }
      nav.ty-mobile-nav ul li ul.sub-menu li a:after {
        content: '';
        position: absolute;
        top: 50%;
        left: -40px;
        transform: translateY(-50%);
        width: 50px;
        height: 1px;
        background-color: white; }

/* ----------------------
    
---- Nav Btn

---------------------- */
.ty-nav-btn {
  display: none;
  border: none;
  background-color: #1c9a46;
  line-height: 60px;
  align-self: flex-end;
  padding: 0 1rem;
  color: white;
  cursor: pointer; }
  .ty-nav-btn:hover {
    background-color: #20b050; }
  @media (min-width: 960px) {
    .ty-nav-btn {
      display: block;
      float: right; } }
  @media (min-width: 1140px) {
    .ty-nav-btn {
      line-height: 80px;
      font-size: 1.2rem; } }

/* ----------------------
    
---- Pagination

---------------------- */
.ty-pagination {
  width: 100%;
  text-align: center;
  margin-bottom: 1rem; }
  .ty-pagination .page-numbers {
    background-color: #1c9a46;
    color: white;
    padding: .2rem;
    text-decoration: none;
    font-weight: bold; }
    .ty-pagination .page-numbers.current {
      background: transparent;
      color: #1c9a46; }

/* ----------------------
    
---- Divider

---------------------- */
.ty-divider {
  text-align: center;
  margin-bottom: .5rem;
  overflow: hidden; }
  .ty-divider i {
    width: clamp(50px, 20%, 70px);
    display: inline-block;
    position: relative; }
    .ty-divider i img {
      width: 100%;
      height: auto; }
    .ty-divider i:after, .ty-divider i:before {
      content: '';
      height: 1px;
      width: clamp(130px, 500%, 350px);
      background-color: #1c9a46;
      position: absolute;
      top: 50%;
      transform: translateY(-50%); }
    .ty-divider i:after {
      left: 110%; }
      @media (min-width: 960px) {
        .ty-divider i:after {
          left: 150%; } }
    .ty-divider i:before {
      right: 110%; }
      @media (min-width: 960px) {
        .ty-divider i:before {
          right: 150%; } }

/* ----------------------
    
---- Copyright Sect

---------------------- */
.ty-copyright-sect {
  background-color: #444444;
  display: flex;
  justify-content: center; }
  @media (min-width: 960px) {
    .ty-copyright-sect .ty-content {
      display: flex;
      padding: 0 1rem; } }
  .ty-copyright-sect .ty-content div {
    text-align: center;
    padding: .2rem 0; }
    @media (min-width: 960px) {
      .ty-copyright-sect .ty-content div {
        width: 50%; } }
    @media (min-width: 960px) {
      .ty-copyright-sect .ty-content div.ty-credit {
        text-align: left; } }
    @media (min-width: 960px) {
      .ty-copyright-sect .ty-content div.ty-copyright {
        text-align: right; } }
    .ty-copyright-sect .ty-content div span {
      color: rgba(255, 255, 255, 0.5); }
      .ty-copyright-sect .ty-content div span a {
        color: white !important; }

/* ----------------------
    
---- Modals

---------------------- */
.ty-modal .modal-content {
  padding: .2rem; }
.ty-modal .modal-header {
  padding: 0;
  height: 45px;
  border: none; }
  .ty-modal .modal-header .ty-modal-header-content {
    width: 70%;
    text-align: center; }
    @media (min-width: 768px) {
      .ty-modal .modal-header .ty-modal-header-content {
        width: calc( 100% -50px ); } }
    .ty-modal .modal-header .ty-modal-header-content h5 {
      line-height: 45px; }
  .ty-modal .modal-header .ty-button-holder {
    width: 15%;
    height: 45px; }
    @media (min-width: 768px) {
      .ty-modal .modal-header .ty-button-holder {
        width: 50px; } }
    .ty-modal .modal-header .ty-button-holder button {
      padding: 0;
      margin: 0;
      width: 100%;
      background-color: transparent;
      border: none;
      color: white;
      opacity: 1;
      cursor: pointer;
      transition: all .1s ease; }
      .ty-modal .modal-header .ty-button-holder button.ty-back {
        background-color: #215733; }
      .ty-modal .modal-header .ty-button-holder button.close {
        color: #ff1744; }
        .ty-modal .modal-header .ty-button-holder button.close:hover {
          color: white;
          background-color: #ff1744; }
      .ty-modal .modal-header .ty-button-holder button i {
        line-height: 45px; }
.ty-modal .modal-dialog {
  max-width: 900px; }
.ty-modal .modal-body .ty-modal-title {
  width: 100%;
  margin-bottom: 2rem;
  text-align: center; }
.ty-modal .modal-body .ty-modal-options {
  width: 100%; }

/* ----------------------
    
---- Modal Header Steps

---------------------- */
ul.ty-modal-header-steps {
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: center; }
  ul.ty-modal-header-steps li {
    height: 45px;
    padding: 0 .5rem;
    display: flex;
    justify-content: center;
    align-items: center; }
    ul.ty-modal-header-steps li span {
      color: #1c9a46;
      padding: .2rem .5rem;
      display: block; }
    ul.ty-modal-header-steps li.active span {
      color: white;
      background-color: #1c9a46; }

/* ----------------------
    
---- Modal Service Options List

---------------------- */
ul.ty-modal-service-options-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  ul.ty-modal-service-options-list li {
    width: 100%;
    padding: 1rem; }
    @media (min-width: 768px) {
      ul.ty-modal-service-options-list li {
        width: 250px; } }
    ul.ty-modal-service-options-list li .ty-modal-service-options-content {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      cursor: pointer; }
      ul.ty-modal-service-options-list li .ty-modal-service-options-content .ty-img-holder {
        width: 200px;
        height: 200px;
        padding: 1rem;
        border: 2px solid #1c9a46;
        border-radius: 100%;
        margin-bottom: 1rem;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        transition: all .3s ease; }
        ul.ty-modal-service-options-list li .ty-modal-service-options-content .ty-img-holder:after {
          content: '';
          width: 75px;
          height: 75px;
          background-color: #1c9a46;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          z-index: 1;
          display: none; }
        ul.ty-modal-service-options-list li .ty-modal-service-options-content .ty-img-holder img {
          width: 80px;
          height: auto;
          z-index: 2;
          transition: all .3s ease; }
      ul.ty-modal-service-options-list li .ty-modal-service-options-content h2 {
        text-align: center;
        width: 100%;
        color: #1c9a46;
        font-weight: bold; }
      ul.ty-modal-service-options-list li .ty-modal-service-options-content:hover .ty-img-holder {
        border: 2px solid rgba(0, 0, 0, 0.1); }
        ul.ty-modal-service-options-list li .ty-modal-service-options-content:hover .ty-img-holder img {
          width: 120px; }

/* ----------------------
    
---- Block List

---------------------- */
.ty-modal-block-list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1rem; }
  @media (min-width: 768px) {
    .ty-modal-block-list.ty-machine-type .ty-modal-block {
      width: 50%; } }
  .ty-modal-block-list.ty-machine-type .ty-modal-block label {
    min-width: 300px; }
  .ty-modal-block-list .ty-modal-block {
    width: 100%;
    text-align: center;
    margin-bottom: 1rem; }
    .ty-modal-block-list .ty-modal-block label {
      cursor: pointer;
      font-size: 2rem;
      padding: 1rem;
      line-height: 2rem;
      border: 2px solid #1c9a46;
      transition: all .3s ease;
      font-weight: bold;
      position: relative;
      color: #1c9a46;
      width: 100%; }
      @media (min-width: 768px) {
        .ty-modal-block-list .ty-modal-block label {
          max-width: 300px; } }
      .ty-modal-block-list .ty-modal-block label:after, .ty-modal-block-list .ty-modal-block label:before {
        position: absolute;
        top: 0;
        right: 0;
        transition: all .3s ease; }
      .ty-modal-block-list .ty-modal-block label:before {
        content: '\f046';
        font-family: 'FontAwesome';
        font-size: 2rem;
        width: 60px;
        display: inline-block;
        color: white;
        z-index: 2;
        opacity: 0;
        visibility: hidden;
        top: 50%;
        transform: translateY(-50%); }
      .ty-modal-block-list .ty-modal-block label:after {
        content: '';
        height: 100%;
        width: 0;
        background-color: #1c9a46;
        z-index: 1; }
      .ty-modal-block-list .ty-modal-block label:hover {
        background-color: #237d40;
        color: white; }
    .ty-modal-block-list .ty-modal-block input[type="radio"] {
      display: none; }
      .ty-modal-block-list .ty-modal-block input[type="radio"]:checked ~ label {
        background-color: #237d40;
        color: white;
        padding-right: 70px; }
        .ty-modal-block-list .ty-modal-block input[type="radio"]:checked ~ label:before {
          opacity: 1;
          visibility: visible; }
        .ty-modal-block-list .ty-modal-block input[type="radio"]:checked ~ label:after {
          width: 60px; }
    .ty-modal-block-list .ty-modal-block.ty-other label {
      text-align: center; }
      .ty-modal-block-list .ty-modal-block.ty-other label:before, .ty-modal-block-list .ty-modal-block.ty-other label:after {
        display: none; }
      .ty-modal-block-list .ty-modal-block.ty-other label span {
        display: inline-block; }
      .ty-modal-block-list .ty-modal-block.ty-other label input[type="text"] {
        text-align: center;
        width: 100%;
        margin-bottom: 0.5rem;
        display: none;
        font-size: 1rem; }
      .ty-modal-block-list .ty-modal-block.ty-other label button {
        display: none;
        padding: .3rem 1rem; }
        .ty-modal-block-list .ty-modal-block.ty-other label button span {
          font-size: 1.2rem; }
    .ty-modal-block-list .ty-modal-block.ty-other input[type="radio"]:checked ~ label {
      padding-right: 1rem; }
      .ty-modal-block-list .ty-modal-block.ty-other input[type="radio"]:checked ~ label span {
        margin-bottom: .5rem; }
      .ty-modal-block-list .ty-modal-block.ty-other input[type="radio"]:checked ~ label input {
        margin-bottom: 1rem; }
      .ty-modal-block-list .ty-modal-block.ty-other input[type="radio"]:checked ~ label input[type="text"],
      .ty-modal-block-list .ty-modal-block.ty-other input[type="radio"]:checked ~ label button {
        display: inline-block; }
  @media (min-width: 768px) {
    #fp-machine-type .ty-modal-block-list .ty-modal-block {
      width: 50%; } }

/* ----------------------
    
---- Modal Form

---------------------- */
.ty-modal-form {
  width: 100%;
  padding-bottom: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center; }
  .ty-modal-form .ty-input-holder {
    width: 100%;
    text-align: center;
    margin-bottom: 1rem;
    position: relative;
    max-width: 820px; }
    .ty-modal-form .ty-input-holder.inactive {
      opacity: 0.5;
      pointer-events: none; }
    .ty-modal-form .ty-input-holder p.error-msg {
      width: 100%;
      color: #ff1744;
      margin-bottom: 0; }
      @media (min-width: 960px) {
        .ty-modal-form .ty-input-holder p.error-msg {
          width: auto;
          position: absolute;
          right: 10px;
          bottom: -28px; } }
    .ty-modal-form .ty-input-holder label,
    .ty-modal-form .ty-input-holder select,
    .ty-modal-form .ty-input-holder input {
      font-size: 1.5rem;
      transition: all .3s ease; }
      @media (min-width: 960px) {
        .ty-modal-form .ty-input-holder label,
        .ty-modal-form .ty-input-holder select,
        .ty-modal-form .ty-input-holder input {
          font-size: 1.2rem; } }
    .ty-modal-form .ty-input-holder label {
      width: 100%; }
      @media (min-width: 960px) {
        .ty-modal-form .ty-input-holder label {
          width: 300px;
          text-align: left; } }
    .ty-modal-form .ty-input-holder select,
    .ty-modal-form .ty-input-holder input {
      width: 100%;
      padding: .5rem;
      position: relative; }
      @media (min-width: 960px) {
        .ty-modal-form .ty-input-holder select,
        .ty-modal-form .ty-input-holder input {
          width: 500px; } }
    .ty-modal-form .ty-input-holder.file-upload label {
      position: relative; }
      @media (min-width: 960px) {
        .ty-modal-form .ty-input-holder.file-upload label {
          transform: translateY(1.2rem); } }
    @media (min-width: 960px) {
      .ty-modal-form .ty-input-holder.fail {
        margin-bottom: 2.5rem; } }
    .ty-modal-form .ty-input-holder.fail label {
      color: #ff1744;
      font-weight: bold; }
    .ty-modal-form .ty-input-holder.fail select,
    .ty-modal-form .ty-input-holder.fail input {
      color: #ff1744;
      border-color: #ff1744;
      border-width: 3px;
      font-weight: bold; }
    .ty-modal-form .ty-input-holder.focus label {
      color: #1c9a46;
      font-weight: bold; }
    .ty-modal-form .ty-input-holder.focus select,
    .ty-modal-form .ty-input-holder.focus input {
      color: #1c9a46;
      border-color: #1c9a46;
      border-width: 3px;
      font-weight: bold; }
    @media (min-width: 960px) {
      .ty-modal-form .ty-input-holder.submit {
        text-align: right;
        margin-right: 12px; } }
    .ty-modal-form .ty-input-holder.form-textarea label {
      width: 100%; }
      @media (min-width: 960px) {
        .ty-modal-form .ty-input-holder.form-textarea label {
          text-align: left;
          position: relative;
          left: .5rem; } }
    .ty-modal-form .ty-input-holder.form-textarea textarea {
      width: 100%; }

/* ----------------------
    
---- Modal Error Wrap

---------------------- */
.ty-modal-error-wrap {
  width: 100%;
  text-align: center;
  padding: 3rem 1rem; }
  .ty-modal-error-wrap i {
    color: #ff1744;
    font-size: 4rem;
    margin-bottom: 1rem; }
  .ty-modal-error-wrap h2 {
    margin-bottom: .5rem;
    color: #ff1744;
    font-weight: bold; }
  .ty-modal-error-wrap h5 {
    margin-bottom: 1rem;
    opacity: .6; }
  .ty-modal-error-wrap.success i,
  .ty-modal-error-wrap.success h2 {
    color: #1c9a46; }

/* ----------------------
    
---- Modal Loader

---------------------- */
.ty-modal-loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center; }

.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px; }

.lds-ellipsis div {
  position: absolute;
  top: 33px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #1c9a46;
  animation-timing-function: cubic-bezier(0, 1, 1, 0); }

.lds-ellipsis div:nth-child(1) {
  left: 8px;
  animation: lds-ellipsis1 0.6s infinite; }

.lds-ellipsis div:nth-child(2) {
  left: 8px;
  animation: lds-ellipsis2 0.6s infinite; }

.lds-ellipsis div:nth-child(3) {
  left: 32px;
  animation: lds-ellipsis2 0.6s infinite; }

.lds-ellipsis div:nth-child(4) {
  left: 56px;
  animation: lds-ellipsis3 0.6s infinite; }

@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0); }
  100% {
    transform: scale(1); } }
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(0); } }
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0); }
  100% {
    transform: translate(24px, 0); } }
/* ----------------------
    
---- Home Title

---------------------- */
.ty-home-title.ty-bigger {
  font-weight: bold;
  font-size: clamp(2.5rem, 5vw, 5rem); }
.ty-home-title.ty-bright-green {
  color: #1c9a46; }

/* ----------------------
    
---- Home Hero Banner

---------------------- */
.ty-home-hero-banner {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
  max-height: 700px; }
  @media (min-width: 768px) {
    .ty-home-hero-banner {
      height: 60vh; } }
  @media (min-width: 960px) {
    .ty-home-hero-banner {
      height: 100vh; } }
  .ty-home-hero-banner .ty-img-holder {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden; }
    .ty-home-hero-banner .ty-img-holder:after {
      content: '';
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
      position: absolute;
      top: 0;
      left: 0; }
    .ty-home-hero-banner .ty-img-holder img,
    .ty-home-hero-banner .ty-img-holder video {
      height: 120%;
      width: auto;
      max-width: 400%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      @media (min-width: 1140px) {
        .ty-home-hero-banner .ty-img-holder img,
        .ty-home-hero-banner .ty-img-holder video {
          width: 120%;
          height: auto;
          max-width: 100%; } }
  .ty-home-hero-banner .ty-hero-content {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media (min-width: 768px) {
      .ty-home-hero-banner .ty-hero-content {
        padding-top: 60px; } }
    @media (min-width: 960px) {
      .ty-home-hero-banner .ty-hero-content {
        height: calc( 100% - 5rem ); } }
    .ty-home-hero-banner .ty-hero-content .ty-wrapper {
      width: 100%;
      text-align: center; }
    .ty-home-hero-banner .ty-hero-content h1 {
      color: white;
      font-size: 2.5rem;
      text-transform: uppercase;
      line-height: .9;
      text-shadow: 0 0 10px rgba(0, 0, 0, 0.6); }
      @media (min-width: 960px) {
        .ty-home-hero-banner .ty-hero-content h1 {
          font-size: 3rem; } }
      @media (min-width: 1140px) {
        .ty-home-hero-banner .ty-hero-content h1 {
          font-size: 3.5rem; } }
      @media (min-width: 1440px) {
        .ty-home-hero-banner .ty-hero-content h1 {
          font-size: 5rem; } }
    .ty-home-hero-banner .ty-hero-content button {
      margin-top: 1rem; }
      @media (min-width: 960px) {
        .ty-home-hero-banner .ty-hero-content button {
          margin-top: 1.5rem; } }
      @media (min-width: 1140px) {
        .ty-home-hero-banner .ty-hero-content button {
          margin-top: 2rem; } }

/* ----------------------
    
---- Home Stats

---------------------- */
.ty-home-stats {
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 2;
  position: relative; }
  @media (min-width: 960px) {
    .ty-home-stats {
      margin-top: -10rem; } }
  .ty-home-stats .ty-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
  .ty-home-stats .ty-stat {
    width: 50%;
    height: 200px;
    background-color: #215733;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem; }
    @media (min-width: 768px) {
      .ty-home-stats .ty-stat {
        width: 25%; } }
    .ty-home-stats .ty-stat:nth-child(2) {
      background-color: #24723e; }
    .ty-home-stats .ty-stat:nth-child(3) {
      background-color: #237d40; }
    .ty-home-stats .ty-stat:nth-child(4) {
      background-color: #1c9a46; }
    .ty-home-stats .ty-stat h1,
    .ty-home-stats .ty-stat h4 {
      color: white;
      text-align: center; }
    .ty-home-stats .ty-stat h1 {
      font-size: 5rem;
      font-weight: bold; }
    .ty-home-stats .ty-stat h4 {
      font-weight: normal;
      font-size: 1rem; }

/* ----------------------
    
---- Home Intro

---------------------- */
.ty-home-intro {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 1rem; }
  @media (min-width: 768px) {
    .ty-home-intro .ty-content {
      display: flex;
      justify-content: center; } }
  .ty-home-intro .ty-home-about,
  .ty-home-intro .ty-home-why {
    width: 100%;
    padding: 2rem; }
    .ty-home-intro .ty-home-about .ty-txt,
    .ty-home-intro .ty-home-why .ty-txt {
      width: 100%; }
  @media (min-width: 960px) {
    .ty-home-intro .ty-home-about {
      width: 50%; } }
  .ty-home-intro .ty-home-why {
    position: relative; }
    @media (min-width: 960px) {
      .ty-home-intro .ty-home-why {
        width: 50%; } }
    .ty-home-intro .ty-home-why:after {
      content: '';
      width: 200%;
      height: 100%;
      background-color: rgba(35, 125, 64, 0.1);
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1; }

/* ----------------------
    
---- Home Food Safe

---------------------- */
.ty-home-food-safe {
  display: flex;
  justify-content: center;
  padding: 0 1.5rem; }
  .ty-home-food-safe .ty-content {
    display: flex;
    flex-direction: column; }
  .ty-home-food-safe .ty-home-food-safe-txt {
    margin-bottom: 1rem; }
    .ty-home-food-safe .ty-home-food-safe-txt h1.ty-home-title {
      text-align: center; }
    .ty-home-food-safe .ty-home-food-safe-txt p {
      text-align: center;
      margin-bottom: 1rem; }
    .ty-home-food-safe .ty-home-food-safe-txt .ty-home-food-safe-logos {
      display: flex;
      flex-direction: column;
      align-items: center; }
      @media (min-width: 768px) {
        .ty-home-food-safe .ty-home-food-safe-txt .ty-home-food-safe-logos {
          flex-direction: row;
          flex-wrap: wrap;
          justify-content: center; } }
      .ty-home-food-safe .ty-home-food-safe-txt .ty-home-food-safe-logos img {
        margin-bottom: 1rem; }
        @media (min-width: 768px) {
          .ty-home-food-safe .ty-home-food-safe-txt .ty-home-food-safe-logos img {
            width: 360px;
            margin: 0 1rem; } }
        @media (min-width: 960px) {
          .ty-home-food-safe .ty-home-food-safe-txt .ty-home-food-safe-logos img {
            width: 360px;
            margin: 0 2rem; } }
      .ty-home-food-safe .ty-home-food-safe-txt .ty-home-food-safe-logos img#sgs-fssc-logo {
        width: 80%; }
        @media (min-width: 768px) {
          .ty-home-food-safe .ty-home-food-safe-txt .ty-home-food-safe-logos img#sgs-fssc-logo {
            width: 200px; } }
  .ty-home-food-safe .ty-btn-wrap {
    text-align: center; }

/* ----------------------
    
---- Home Services

---------------------- */
.ty-home-services {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 1rem;
  margin-top: 1rem; }
  .ty-home-services .ty-content {
    text-align: center; }

/* ----------------------
    
---- Home Clients

---------------------- */
.ty-home-clients {
  width: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 1rem; }
  .ty-home-clients .ty-content {
    text-align: center; }
  .ty-home-clients .ty-clients-logos-holder {
    width: 100%; }
    .ty-home-clients .ty-clients-logos-holder .client-owl-carousel {
      width: 100%; }

/* ----------------------
    
---- Home Services List

---------------------- */
ul.ty-home-services-list {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-top: 1rem; }
  @media (min-width: 768px) {
    ul.ty-home-services-list {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center; } }
  ul.ty-home-services-list li {
    width: 100%;
    margin-bottom: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center; }
    @media (min-width: 768px) {
      ul.ty-home-services-list li {
        width: 50%; } }
    @media (min-width: 1140px) {
      ul.ty-home-services-list li {
        width: 33.33%; } }
    ul.ty-home-services-list li .ty-services-content {
      width: 95%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 3rem 1rem;
      box-shadow: 0 0 100px rgba(0, 0, 0, 0.05);
      position: relative;
      min-height: 500px;
      position: relative;
      height: 100%; }
      ul.ty-home-services-list li .ty-services-content .ty-img-holder {
        width: 150px;
        height: 150px;
        margin-bottom: 1rem;
        padding: 1rem; }
        ul.ty-home-services-list li .ty-services-content .ty-img-holder img {
          width: 100%;
          height: auto; }
      ul.ty-home-services-list li .ty-services-content a {
        text-decoration: none; }
      ul.ty-home-services-list li .ty-services-content h3 {
        color: #1c9a46;
        margin-bottom: 1rem;
        font-size: 2rem; }
      ul.ty-home-services-list li .ty-services-content p {
        color: #232e42;
        margin-bottom: 1rem; }
      ul.ty-home-services-list li .ty-services-content .ty-fp-btn {
        min-width: 170px; }

/* ----------------------
    
---- Home Awards

---------------------- */
.ty-home-awards {
  width: 100%;
  background-color: #215733;
  display: flex;
  justify-content: center; }
  @media (min-width: 960px) {
    .ty-home-awards {
      margin: 3rem 0; } }
  @media (min-width: 1140px) {
    .ty-home-awards {
      margin: 4rem 0; } }
  .ty-home-awards .ty-content {
    display: flex;
    flex-direction: column;
    padding: 1rem;
    position: relative; }
    @media (min-width: 768px) {
      .ty-home-awards .ty-content {
        flex-direction: row; } }
    .ty-home-awards .ty-content .ty-txt {
      width: 100%;
      padding: 0 1rem;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      @media (min-width: 768px) {
        .ty-home-awards .ty-content .ty-txt {
          padding: 2rem 0;
          padding-right: calc( 300px + 1rem ); } }
      @media (min-width: 960px) {
        .ty-home-awards .ty-content .ty-txt {
          padding-right: calc( 500px + 1rem ); } }
      .ty-home-awards .ty-content .ty-txt h2 {
        color: white;
        margin-bottom: .5rem; }
        @media (min-width: 960px) {
          .ty-home-awards .ty-content .ty-txt h2 {
            font-size: 2rem; } }
      .ty-home-awards .ty-content .ty-txt p {
        color: rgba(255, 255, 255, 0.5); }
      .ty-home-awards .ty-content .ty-txt a.ty-fp-btn {
        align-self: flex-start; }
    .ty-home-awards .ty-content .ty-img-holder {
      width: 100%; }
      @media (min-width: 768px) {
        .ty-home-awards .ty-content .ty-img-holder {
          position: absolute;
          right: 0;
          top: 50%;
          width: 300px;
          transform: translateY(-50%); } }
      @media (min-width: 960px) {
        .ty-home-awards .ty-content .ty-img-holder {
          width: 500px; } }
      .ty-home-awards .ty-content .ty-img-holder:after {
        content: '';
        background-color: #1c9a46;
        width: 100%;
        height: 100%;
        position: absolute;
        bottom: -.5rem;
        left: -.5rem;
        z-index: -1; }
      .ty-home-awards .ty-content .ty-img-holder img {
        width: 100%;
        height: auto;
        z-index: 1; }

/* ----------------------
    
---- Page Title

---------------------- */
.ty-page-title {
  width: 100%;
  text-align: center;
  padding: 1rem;
  padding-top: 80px;
  background: url("../images/wov-pattern-green.png") repeat; }
  .ty-page-title.no-pattern {
    background: none;
    padding-bottom: 0;
    margin-bottom: 2rem; }
    .ty-page-title.no-pattern h1 {
      color: #215733; }
  @media (min-width: 1140px) {
    .ty-page-title {
      padding-top: 100px !important; } }
  .ty-page-title h1 {
    color: white; }
    @media (min-width: 1140px) {
      .ty-page-title h1 {
        font-size: 4rem; } }
  .ty-page-title.no-bottom-padding {
    padding: 80px 1rem 1rem; }

/* ----------------------
    
---- Page Intro

---------------------- */
.ty-page-intro {
  width: 100%;
  padding: 1rem;
  display: flex;
  justify-content: center; }
  .ty-page-intro .ty-content {
    display: flex;
    flex-direction: column;
    align-items: center; }
  .ty-page-intro .ty-vid-wrapper {
    width: 100%;
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    height: 0; }
    @media (min-width: 960px) {
      .ty-page-intro .ty-vid-wrapper {
        width: 80%; } }
    .ty-page-intro .ty-vid-wrapper iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .ty-page-intro .ty-vid-holder {
    width: 100%;
    height: auto;
    margin-bottom: 1rem;
    position: relative; }
    @media (min-width: 1140px) {
      .ty-page-intro .ty-vid-holder {
        width: 80%;
        height: auto; } }
    .ty-page-intro .ty-vid-holder video {
      width: 100%;
      height: auto; }
    .ty-page-intro .ty-vid-holder .ty-video-overlay {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background-color: rgba(28, 154, 70, 0.2);
      display: flex;
      justify-content: center;
      align-items: center; }
      .ty-page-intro .ty-vid-holder .ty-video-overlay.play-on {
        opacity: 0;
        visibility: hidden; }
      .ty-page-intro .ty-vid-holder .ty-video-overlay .ty-vid-play {
        position: relative;
        width: 80px;
        height: 80px;
        background-color: #215733;
        display: block;
        border-radius: 100%;
        box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
        cursor: pointer;
        transition: all .2s ease; }
        .ty-page-intro .ty-vid-holder .ty-video-overlay .ty-vid-play:active {
          transform: scale(0.9); }
        .ty-page-intro .ty-vid-holder .ty-video-overlay .ty-vid-play:after {
          content: '';
          position: absolute;
          width: 0;
          height: 0;
          border-top: 20px solid transparent;
          border-bottom: 20px solid transparent;
          border-left: 30px solid white;
          top: 50%;
          left: 56%;
          transform: translate(-50%, -50%); }
  .ty-page-intro p {
    text-align: center;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.5); }
  .ty-page-intro.green-bkg {
    background-color: rgba(28, 154, 70, 0.2); }

/* ----------------------
    
---- Page Msg

---------------------- */
.ty-page-msg {
  width: 100%;
  display: flex;
  justify-content: center; }
  .ty-page-msg .ty-content {
    padding: 3rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center; }
  .ty-page-msg h1 {
    width: 100%;
    text-align: center;
    color: #1c9a46;
    font-weight: bold; }
    @media (min-width: 768px) {
      .ty-page-msg h1 {
        font-size: 3rem;
        margin-bottom: 2rem; } }
  .ty-page-msg .ty-fp-btn {
    align-self: center; }

/* ----------------------
    
---- Block List Wrap

---------------------- */
.ty-block-list-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 1rem; }
  .ty-block-list-wrap ul {
    display: flex;
    flex-direction: column; }
    .ty-block-list-wrap ul li {
      width: 100%;
      display: flex;
      flex-direction: column;
      padding: 1rem;
      margin-bottom: 1rem; }
      @media (min-width: 768px) {
        .ty-block-list-wrap ul li {
          flex-direction: row-reverse;
          margin-bottom: 2rem; } }
      .ty-block-list-wrap ul li:last-of-type {
        margin-bottom: 0; }
      .ty-block-list-wrap ul li .ty-img-holder {
        width: 100%;
        padding: 1rem;
        position: relative; }
        @media (min-width: 768px) {
          .ty-block-list-wrap ul li .ty-img-holder {
            width: 50%; } }
        .ty-block-list-wrap ul li .ty-img-holder img {
          width: 100%;
          height: auto;
          position: relative;
          box-shadow: 0.5rem 0.5rem 0 #1c9a46; }
      .ty-block-list-wrap ul li .ty-txt {
        width: 100%;
        padding: 1rem; }
        @media (min-width: 768px) {
          .ty-block-list-wrap ul li .ty-txt {
            width: 50%;
            padding-top: 2rem;
            padding-right: 3rem; } }
        .ty-block-list-wrap ul li .ty-txt h1 {
          color: #1c9a46; }
        .ty-block-list-wrap ul li .ty-txt .ty-fp-btn {
          margin-bottom: 1rem; }
        .ty-block-list-wrap ul li .ty-txt .ty-divider {
          width: 150px; }
          .ty-block-list-wrap ul li .ty-txt .ty-divider img {
            width: 100%;
            height: auto; }
      @media (min-width: 768px) {
        .ty-block-list-wrap ul li.reverse {
          flex-direction: row; } }
      @media (min-width: 768px) {
        .ty-block-list-wrap ul li.reverse .ty-txt {
          width: 50%;
          padding-top: 2rem;
          padding-left: 3rem; } }

/* ----------------------
    
---- Special Block

---------------------- */
.ty-special-block {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 1rem; }
  @media (min-width: 768px) {
    .ty-special-block {
      margin-top: 200px; } }
  .ty-special-block .ty-content {
    position: relative; }
    @media (min-width: 768px) {
      .ty-special-block .ty-content {
        background: url("../images/wov-pattern-green-light.png") repeat; } }
  .ty-special-block .ty-img-holder {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: -4rem;
    z-index: 2;
    position: relative; }
    @media (min-width: 768px) {
      .ty-special-block .ty-img-holder {
        position: absolute;
        margin-bottom: 0;
        bottom: 1.5rem;
        left: 1.5rem;
        width: auto; } }
    @media (min-width: 1140px) {
      .ty-special-block .ty-img-holder {
        bottom: 2rem;
        left: 2rem; } }
  .ty-special-block .ty-txt {
    width: 100%;
    padding: 1rem;
    position: relative;
    background: url("../images/wov-pattern-green-light.png") repeat;
    padding-top: 5rem; }
    @media (min-width: 768px) {
      .ty-special-block .ty-txt {
        padding-left: calc( 3rem + 300px );
        padding-top: 22px;
        background: transparent; } }
    @media (min-width: 1140px) {
      .ty-special-block .ty-txt {
        padding-left: calc( 4rem + 300px );
        padding-bottom: 2rem;
        padding-top: 65px; } }
    .ty-special-block .ty-txt h1 {
      font-size: 2.5rem;
      color: white; }
      @media (min-width: 768px) {
        .ty-special-block .ty-txt h1 {
          margin-top: -7rem;
          color: #1c9a46;
          margin-bottom: 1.5rem; } }
      @media (min-width: 960px) {
        .ty-special-block .ty-txt h1 {
          font-size: 2.8rem;
          margin-bottom: 2rem;
          margin-top: -8rem; } }
    .ty-special-block .ty-txt p {
      color: white;
      margin-bottom: 1rem; }
      @media (min-width: 960px) {
        .ty-special-block .ty-txt p {
          font-size: 1.3rem; } }
      @media (min-width: 960px) {
        .ty-special-block .ty-txt p {
          font-size: 1rem; } }

/* ----------------------
    
---- Service Hero Sect

---------------------- */
.ty-service-hero-sect {
  padding-top: 60px;
  width: 100%;
  display: flex;
  justify-content: center; }
  .ty-service-hero-sect .ty-content {
    display: flex;
    flex-direction: column; }
    @media (min-width: 768px) {
      .ty-service-hero-sect .ty-content {
        flex-direction: row-reverse;
        margin-top: 2.5rem; } }
  .ty-service-hero-sect .ty-img-holder {
    width: 100%; }
    @media (min-width: 768px) {
      .ty-service-hero-sect .ty-img-holder {
        width: 50%;
        padding: 0 1.5rem; } }
    .ty-service-hero-sect .ty-img-holder img {
      width: 100%;
      height: auto; }
  .ty-service-hero-sect .ty-txt {
    width: 100%;
    padding: 1rem 1rem 0;
    margin-bottom: 1rem; }
    @media (min-width: 768px) {
      .ty-service-hero-sect .ty-txt {
        width: 50%;
        padding: 0 1rem; } }
    .ty-service-hero-sect .ty-txt h1 {
      color: #215733;
      font-size: 2.5rem; }
    .ty-service-hero-sect .ty-txt button {
      margin-top: 1rem; }

/* ----------------------
    
---- Awards List

---------------------- */
.ty-awards-list {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 1rem; }
  .ty-awards-list ul {
    width: 100%;
    display: flex;
    flex-direction: column; }
    @media (min-width: 768px) {
      .ty-awards-list ul {
        flex-direction: row;
        flex-wrap: wrap; } }
    .ty-awards-list ul li {
      width: 100%;
      padding: 1rem; }
      @media (min-width: 768px) {
        .ty-awards-list ul li {
          width: 50%; } }
      @media (min-width: 960px) {
        .ty-awards-list ul li {
          width: 33.33%; } }
      .ty-awards-list ul li .ty-award-content {
        display: flex;
        flex-direction: column;
        align-items: center; }
        @media (min-width: 768px) {
          .ty-awards-list ul li .ty-award-content {
            width: 300px; } }
        .ty-awards-list ul li .ty-award-content .ty-img-holder {
          width: 100%;
          margin-bottom: 1rem; }
          @media (min-width: 768px) {
            .ty-awards-list ul li .ty-award-content .ty-img-holder {
              width: 300px; } }
          .ty-awards-list ul li .ty-award-content .ty-img-holder img {
            width: 100%;
            height: auto; }
        .ty-awards-list ul li .ty-award-content .ty-txt {
          width: 100%;
          text-align: center; }
          .ty-awards-list ul li .ty-award-content .ty-txt h2 {
            color: #1c9a46;
            margin-bottom: .5rem; }
  .ty-awards-list.main ul {
    flex-direction: column; }
    @media (min-width: 768px) {
      .ty-awards-list.main ul li {
        width: 100%; } }
    @media (min-width: 768px) {
      .ty-awards-list.main ul li .ty-award-content {
        flex-direction: row;
        align-items: flex-start;
        width: auto; } }
    @media (min-width: 768px) {
      .ty-awards-list.main ul li .ty-txt {
        width: calc( 100% - 300px );
        padding: 1rem 2rem;
        padding-top: 0; } }

/* ----------------------
    
---- About Intro

---------------------- */
.ty-about-intro {
  display: flex;
  justify-content: center;
  padding: 1rem; }
  .ty-about-intro div.ty-img-holder {
    width: 100%;
    text-align: center; }
    .ty-about-intro div.ty-img-holder img {
      width: 100%;
      height: auto; }
  .ty-about-intro h1,
  .ty-about-intro h3 {
    text-align: center; }

/* ----------------------
    
---- About Vision Mission

---------------------- */
.ty-about-vision-mission {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 1rem;
  margin-bottom: 1rem; }
  @media (min-width: 768px) {
    .ty-about-vision-mission {
      flex-direction: row; } }
  @media (min-width: 960px) {
    .ty-about-vision-mission {
      padding: 0; } }
  .ty-about-vision-mission .ty-vision-mission-block {
    width: 100%;
    padding: 1rem; }
    @media (min-width: 768px) {
      .ty-about-vision-mission .ty-vision-mission-block {
        width: 50%; } }
    @media (min-width: 960px) {
      .ty-about-vision-mission .ty-vision-mission-block {
        display: flex;
        padding: 2.5rem 1rem; } }
    @media (min-width: 960px) {
      .ty-about-vision-mission .ty-vision-mission-block .ty-txt {
        width: 500px; } }
    .ty-about-vision-mission .ty-vision-mission-block#vision-block {
      background-color: #215733; }
      @media (min-width: 960px) {
        .ty-about-vision-mission .ty-vision-mission-block#vision-block {
          justify-content: flex-end; } }
      @media (min-width: 960px) {
        .ty-about-vision-mission .ty-vision-mission-block#vision-block .ty-txt {
          padding-right: 3rem; } }
      .ty-about-vision-mission .ty-vision-mission-block#vision-block h1,
      .ty-about-vision-mission .ty-vision-mission-block#vision-block p {
        color: white; }
    .ty-about-vision-mission .ty-vision-mission-block#mission-block {
      background-color: rgba(33, 87, 51, 0.2);
      background-color: #1c9a46; }
      @media (min-width: 960px) {
        .ty-about-vision-mission .ty-vision-mission-block#mission-block {
          justify-content: flex-start; } }
      @media (min-width: 960px) {
        .ty-about-vision-mission .ty-vision-mission-block#mission-block .ty-txt {
          padding-left: 3rem; } }
      .ty-about-vision-mission .ty-vision-mission-block#mission-block .ty-txt h1,
      .ty-about-vision-mission .ty-vision-mission-block#mission-block .ty-txt p {
        color: white; }

/* ----------------------
    
---- About directions Msg Desination

---------------------- */
.ty-directors-message-designation {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem; }
  @media (min-width: 768px) {
    .ty-directors-message-designation {
      margin-top: -5rem; } }
  .ty-directors-message-designation .ty-contxt {
    background-color: #1c9a46;
    padding: 1rem;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); }
    @media (min-width: 768px) {
      .ty-directors-message-designation .ty-contxt {
        width: 80%; } }
    @media (min-width: 960px) {
      .ty-directors-message-designation .ty-contxt {
        width: 50%; } }
    .ty-directors-message-designation .ty-contxt h3 {
      color: white;
      font-size: clamp(1.5rem, 1vw, 1.8rem);
      font-weight: bold; }
      .ty-directors-message-designation .ty-contxt h3.ty-small-font {
        font-size: 1.2rem;
        font-weight: normal; }

/* ----------------------
    
---- FP Timeline

---------------------- */
ul.ty-fp-timeline {
  width: 100%; }
  ul.ty-fp-timeline li {
    width: 100%;
    position: relative;
    padding-left: calc( 30px + 1rem );
    padding-bottom: 1.5rem; }
    @media (min-width: 768px) {
      ul.ty-fp-timeline li {
        padding-left: calc( 30px + 1.5rem ); } }
    ul.ty-fp-timeline li:after, ul.ty-fp-timeline li:before {
      content: ''; }
    ul.ty-fp-timeline li:before {
      width: 5px;
      height: 100%;
      position: absolute;
      top: 0;
      left: 12.5px;
      background-color: #1c9a46; }
    ul.ty-fp-timeline li:after {
      position: absolute;
      top: 0;
      left: 0;
      width: 30px;
      height: 30px;
      background-color: white;
      border: 5px solid #1c9a46;
      border-radius: 100%; }
    ul.ty-fp-timeline li p {
      margin-bottom: 0;
      color: #24723e; }
    ul.ty-fp-timeline li:last-of-type:before {
      display: none; }

/* ----------------------
    
---- News List

---------------------- */
ul.ty-news-list {
  width: 100%;
  display: flex;
  flex-direction: column; }
  @media (min-width: 768px) {
    ul.ty-news-list {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center; } }
  ul.ty-news-list li {
    width: 100%;
    max-width: 350px;
    padding: 0 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #215733; }
    @media (min-width: 768px) {
      ul.ty-news-list li {
        border-bottom: none;
        padding: 1rem; } }
    ul.ty-news-list li .ty-news-list-content {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      padding-bottom: 1rem;
      text-decoration: none; }
      @media (min-width: 768px) {
        ul.ty-news-list li .ty-news-list-content {
          border-bottom: 1px solid #215733; } }
      ul.ty-news-list li .ty-news-list-content .ty-img-holder {
        width: 100%;
        height: 200px;
        background-color: #215733;
        margin-bottom: 1rem;
        overflow: hidden; }
        ul.ty-news-list li .ty-news-list-content .ty-img-holder img {
          width: 100%;
          height: auto; }
      ul.ty-news-list li .ty-news-list-content .ty-news-content {
        width: 100%; }
        ul.ty-news-list li .ty-news-list-content .ty-news-content .ty-cat-list {
          width: 100%;
          margin-bottom: .5rem; }
          ul.ty-news-list li .ty-news-list-content .ty-news-content .ty-cat-list span {
            color: rgba(0, 0, 0, 0.5);
            display: inline-block;
            margin-right: .5rem; }
        ul.ty-news-list li .ty-news-list-content .ty-news-content h1 {
          color: #215733; }
          @media (min-width: 768px) {
            ul.ty-news-list li .ty-news-list-content .ty-news-content h1 {
              font-size: 1.5rem; } }
        ul.ty-news-list li .ty-news-list-content .ty-news-content span.ty-news-date {
          color: black;
          font-weight: bold; }

/* ----------------------
    
---- News Single Content

---------------------- */
.ty-news-single-content {
  width: 100%;
  max-width: 1000px;
  padding: 1rem;
  padding-top: 80px;
  margin: 0 auto; }
  .ty-news-single-content .ty-img-holder {
    width: 100%;
    margin-bottom: 1rem;
    overflow: hidden;
    position: relative; }
    @media (min-width: 768px) {
      .ty-news-single-content .ty-img-holder {
        height: 250px; } }
    .ty-news-single-content .ty-img-holder img {
      width: 100%;
      height: auto; }
      @media (min-width: 768px) {
        .ty-news-single-content .ty-img-holder img {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); } }
  .ty-news-single-content .ty-news-title-content {
    width: 100%; }
    .ty-news-single-content .ty-news-title-content span.ty-date {
      color: rgba(0, 0, 0, 0.5);
      margin-bottom: 1rem;
      width: 100%;
      display: inline-block;
      font-weight: bold;
      text-align: center; }
    .ty-news-single-content .ty-news-title-content h1 {
      width: 100%;
      display: inline-block;
      color: #215733;
      text-align: center; }
  .ty-news-single-content .ty-cat-list {
    width: 100%;
    margin-bottom: 1rem;
    text-align: center; }
    .ty-news-single-content .ty-cat-list span {
      margin-right: 1rem;
      font-weight: bold; }

/* ----------------------
    
---- Word Editor

---------------------- */
.ty-word-editor p {
  color: rgba(0, 0, 0, 0.8); }

/* ----------------------
    
---- Page Owl Carousel

---------------------- */
#product-owl-carousel .owl-dots {
  text-align: center; }
  #product-owl-carousel .owl-dots button {
    width: 10px;
    height: 10px;
    background-color: #1c9a46;
    border-radius: 100%;
    margin: 0 .25rem;
    outline: none; }
    #product-owl-carousel .owl-dots button.active {
      border: 1px solid #1c9a46;
      background-color: white; }

/* ----------------------
    
---- Certificates Sect

---------------------- */
.ty-certificates-sect {
  display: flex;
  justify-content: center;
  padding: 1rem; }
  .ty-certificates-sect .ty-certificates-contxt {
    margin-bottom: 1rem;
    padding: 0 1rem; }
    .ty-certificates-sect .ty-certificates-contxt h4 {
      color: #232e42;
      text-align: center; }
  @media (min-width: 768px) {
    .ty-certificates-sect ul {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap; } }
  .ty-certificates-sect li {
    padding: 1rem; }
    @media (min-width: 768px) {
      .ty-certificates-sect li {
        width: 50%; } }
    .ty-certificates-sect li img {
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); }

/* ----------------------
    
---- Error Page

---------------------- */
.error-page {
  padding-top: 60px;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  min-height: 60vh; }
  .error-page h1 {
    margin-top: 1rem; }

/*# sourceMappingURL=main.css.map *//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: '黑体';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://www.fengtaotex.cn/wp-content/uploads/2025/05/SourceHanSansCN-Regular.ttf') format('truetype');
}
/* End Custom Fonts CSS */