/********* Compiled CSS - Do not edit *********/ :root{--button_padding:11px 23px;}.has-awb-color-1-color{color:#ffffff;}.has-awb-color-1-background-color{background-color:#ffffff;}.has-awb-color-2-color{color:#fafbfb;}.has-awb-color-2-background-color{background-color:#fafbfb;}.has-awb-color-3-color{color:#f2f0ff;}.has-awb-color-3-background-color{background-color:#f2f0ff;}.has-awb-color-4-color{color:#65bd7d;}.has-awb-color-4-background-color{background-color:#65bd7d;}.has-awb-color-5-color{color:#ff5e5b;}.has-awb-color-5-background-color{background-color:#ff5e5b;}.has-awb-color-6-color{color:#555768;}.has-awb-color-6-background-color{background-color:#555768;}.has-awb-color-7-color{color:#212326;}.has-awb-color-7-background-color{background-color:#212326;}.has-awb-color-8-color{color:#141617;}.has-awb-color-8-background-color{background-color:#141617;}.has-awb-color-custom__1-color{color:#1f01b9;}.has-awb-color-custom__1-background-color{background-color:#1f01b9;}html body :where([style*="--awb-"][style*="border-color"]){border-style:initial;}/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawDFXplDs.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawDVXplDs.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawA1Xp.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawDFXplDs.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawDVXplDs.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawA1Xp.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawDFXplDs.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawDVXplDs.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawA1Xp.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawDFXplDs.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawDVXplDs.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawA1Xp.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawDFXplDs.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawDVXplDs.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  src: url(https://fonts.gstatic.com/s/bricolagegrotesque/v9/3y9H6as8bTXq_nANBjzKo3IeZx8z6up5BeSl5jBNz_19PpbpMXuECpwUxJBOm_OJWiawA1Xp.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc69tRh5WFo-4.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc69tRjpWFo-4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc69tRhpWFo-4.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc69tRiZWFo-4.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc69tRhZWFo-4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc69tRhJWFo-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCM3FwrK3iLTcvneQg7Ca725JhhKnNqk4j1ebLhAm8SrXTc69tRipWF.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.fusion-faqs-wrapper{display:none}#wrapper .fusion-faqs-wrapper .fusion-accordian .panel-title{font-family:var(--faq_accordion_title_typography-font-family);font-weight:var(--faq_accordion_title_typography-font-weight);line-height:var(--faq_accordion_title_typography-line-height);letter-spacing:var(--faq_accordion_title_typography-letter-spacing);font-size:var(--faq_accordion_title_typography-font-size);text-transform:var(--faq_accordion_title_typography-text-transform)}#wrapper .fusion-faqs-wrapper .fusion-accordian .panel-title a{color:var(--faq_accordion_title_typography-color)}.fusion-faqs-wrapper .fusion-accordian .panel-body{font-family:var(--faq_accordion_content_typography-font-family);font-weight:var(--faq_accordion_content_typography-font-weight);line-height:var(--faq_accordion_content_typography-line-height);letter-spacing:var(--faq_accordion_content_typography-letter-spacing);font-size:var(--faq_accordion_content_typography-font-size);color:var(--faq_accordion_content_typography-color);text-transform:var(--faq_accordion_content_typography-text-transform)}.fusion-faq-post{position:relative}.fusion-faq-shortcode .fusion-accordian .fusion-toggle-icon-unboxed .panel-title a .fa-fusion-box{background-color:transparent!important}.fusion-faq-shortcode .fusion-accordian .fusion-toggle-icon-unboxed .panel-title a:hover .fa-fusion-box{background-color:transparent!important}#comment-input:after{content:"";display:table;clear:both}#comment-input input{float:left;margin-right:1%;padding-left:15px;padding-right:15px;width:32.666666%;min-width:28%;font-size:13px;color:#747474;border:1px solid #d2d2d2}#comment-input input:last-child{margin-right:0}#comment-textarea{margin-bottom:10px}#comment-textarea.fusion-contact-comment-below{margin-top:10px;margin-bottom:0}#comment-textarea textarea{padding:12px 15px;width:100%;height:150px;font-size:13px;color:#747474;border:1px solid #d2d2d2}.fusion-contact-form{line-height:normal}.fusion-contact-form #comment-submit-container{margin-top:20px;margin-bottom:0}.fusion-contact-form .grecaptcha-badge{z-index:100000}.fusion-contact-form .fusion-hide-recaptcha-badge{display:none}.fusion-contact-form .fusion-comment-privacy-checkbox-wrapper{display:flex;align-items:baseline;margin:20px 0;font-size:13px}.fusion-contact-form .fusion-comment-privacy-checkbox{margin:0 10px 0 0}.fusion-contact-form #comment-recaptcha{margin-top:13px}[class*=" awb-icon-"],[class^=awb-icon-]{font-family:awb-icons!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.awb-icon-share:before{content:"\e90f"}.awb-icon-twitter:before{content:"\e90b"}.awb-icon-question-circle:before{content:"\e908"}.awb-icon-buy-now-cart:before{content:"\e907"}.awb-icon-avada-logo:before{content:"\e971"}.awb-icon-wechat:before{content:"\e905"}.awb-icon-weixin:before{content:"\e905"}.awb-icon-phone:before{content:"\e942"}.awb-icon-user2:before{content:"\e61b"}.awb-icon-check:before{content:"\f00c"}.awb-icon-tiktok:before{content:"\e906"}.awb-icon-discord:before{content:"\e903"}.awb-icon-FB_logo_black-solid-1:before{content:"\e902"}.awb-icon-map-marker-alt:before{content:"\e901"}.awb-icon-pen:before{content:"\e600"}.awb-icon-yahoo:before{content:"\e601"}.awb-icon-pinterest:before{content:"\e602"}.awb-icon-myspace:before{content:"\e603"}.awb-icon-facebook:before{content:"\e604"}.awb-icon-feed:before{content:"\e606"}.awb-icon-rss:before{content:"\e606"}.awb-icon-vimeo:before{content:"\e607"}.awb-icon-flickr:before{content:"\e608"}.awb-icon-dribbble:before{content:"\e609"}.awb-icon-blogger:before{content:"\e60b"}.awb-icon-soundcloud:before{content:"\e60c"}.awb-icon-reddit:before{content:"\e60d"}.awb-icon-paypal:before{content:"\e60e"}.awb-icon-linkedin:before{content:"\e60f"}.awb-icon-digg:before{content:"\e610"}.awb-icon-dropbox:before{content:"\e611"}.awb-icon-tumblr:before{content:"\e613"}.awb-icon-grid:before{content:"\e614"}.awb-icon-mail:before{content:"\e616"}.awb-icon-forrst:before{content:"\e617"}.awb-icon-skype:before{content:"\e618"}.awb-icon-link:before{content:"\e619"}.awb-icon-user:before{content:"\e61a"}.awb-icon-minus:before{content:"\e61c"}.awb-icon-plus:before{content:"\e61d"}.awb-icon-arrow-left:before{content:"\e61e"}.awb-icon-arrow-down:before{content:"\e61f"}.awb-icon-uniE620:before{content:"\e620"}.awb-icon-arrow-down2:before{content:"\e621"}.awb-icon-youtube:before{content:"\e622"}.awb-icon-list:before{content:"\e623"}.awb-icon-image:before{content:"\e624"}.awb-icon-images:before{content:"\e625"}.awb-icon-quotes-left:before{content:"\e627"}.awb-icon-film:before{content:"\e628"}.awb-icon-headphones:before{content:"\e629"}.awb-icon-bubbles:before{content:"\e62a"}.awb-icon-search:before{content:"\f002"}.awb-icon-star:before{content:"\f005"}.awb-icon-star-o:before{content:"\f006"}.awb-icon-gear:before{content:"\f013"}.awb-icon-check-square-o:before{content:"\f046"}.awb-icon-check-circle-o:before{content:"\f05d"}.awb-icon-shopping-cart:before{content:"\f07a"}.awb-icon-bars:before{content:"\f0c9"}.awb-icon-caret-left:before{content:"\f0d9"}.awb-icon-caret-right:before{content:"\f0da"}.awb-icon-angle-left:before{content:"\f104"}.awb-icon-angle-right:before{content:"\f105"}.awb-icon-angle-up:before{content:"\f106"}.awb-icon-angle-down:before{content:"\f107"}.awb-icon-spinner:before{content:"\f110"}.awb-icon-vk:before{content:"\f189"}.awb-icon-instagram:before{content:"\ea92"}.awb-icon-deviantart:before{content:"\eaaa"}.awb-icon-yelp:before{content:"\ead7"}.awb-icon-xing:before{content:"\e4d8"}.awb-icon-spotify:before{content:"\ea94"}.awb-icon-whatsapp:before{content:"\f232"}.awb-icon-eye:before{content:"\f06e"}.awb-icon-twitch:before{content:"\ea9f"}.awb-icon-telegram:before{content:"\f1d8"}.awb-icon-teams:before{content:"\e900"}.awb-icon-close:before{content:"\e904"}.awb-icon-exclamation-triangle:before{content:"\f071"}.awb-icon-cog:before{content:"\f014"}.awb-icon-check-circle:before{content:"\f058"}.awb-icon-info-circle:before{content:"\f05a"}.awb-icon-video:before{content:"\e90a"}.awb-icon-carousel:before{content:"\e909"}.awb-icon-eye-slash:before{content:"\f070"}.awb-icon-snapchat:before{content:"\f2ac"}.awb-icon-mastodon:before{content:"\e90c"}.awb-icon-threads:before{content:"\e90d"}.awb-icon-bluesky:before{content:"\e90e"}.awb-icon-github:before{content:"\eab0"}.awb-icon-file:before{content:"\e633"}.awb-icon-grid-2x2:before{content:"\e910"}.awb-icon-grid-3x3:before{content:"\e911"}.awb-icon-grid-4x4:before{content:"\e912"}.awb-icon-grid-list:before{content:"\e913"}*{box-sizing:border-box}.fusionicon-arrow-down2{display:table-cell;vertical-align:middle}.icomoon-up:before{display:inline-block;transform:rotate(180deg)}input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=submit],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],textarea{-webkit-appearance:none;-webkit-border-radius:0}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=image]{padding:0;border:none}body{margin:0;min-width:320px;-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-y:scroll;color:var(--body_typography-color);font-size:var(--body_typography-font-size, 16px);font-family:var(--body_typography-font-family, inherit)}body.fusion-blank-page.admin-bar{top:32px;height:calc(100vh - 32px)}body #wrapper .gomapMarker{color:#333}#boxed-wrapper{overflow-x:hidden;overflow-x:clip}#wrapper{overflow:visible}#wrapper .tp-bullets{transform:translateZ(0)}#wrapper .strip-html .fusion-dropcap{top:0;float:none;margin:0;padding:0;background-color:inherit!important;box-shadow:none;line-height:inherit;text-shadow:none;color:inherit!important;font-size:inherit}#wrapper .strip-html .fusion-highlight{background-color:inherit!important;color:inherit!important}#wrapper .strip-html .fusion-tooltip{color:inherit;border-bottom:1px dotted}.fusion-blank-page{display:table;height:100%;width:100%;position:absolute;margin:0;left:0;right:0;top:0;overflow-x:hidden}.wrapper_blank{float:none;vertical-align:middle;width:100%}.wrapper_blank #main{background:0 0;padding:0}.fusion-body #wrapper.wrapper_blank{display:table-cell;margin:0;max-width:none}.error404 .search-page-search-form{margin-bottom:0;padding-bottom:0;border:none}.fusion-404-checklist .fusion-custom-menu-item{display:none}img{border-style:none;vertical-align:top;max-width:100%;height:auto}object{max-width:100%}a{text-decoration:none}input,select,textarea{font-family:var(--body_typography-font-family, inherit);vertical-align:middle;color:var(--body_typography-color)}select{border-style:solid}fieldset,form{margin:0;padding:0;border-style:none}.wp-caption{max-width:100%}.search-table{display:table;width:100%}#fallback-slide{display:none}#fallback-slide img{width:100%}.gallery-box{background:#3d3c3c;padding:0 10px}.gallery-box img{width:100%}#wrapper .product-category a h2.woocommerce-loop-category__title,.fusion-main-menu>ul>li>a .fusion-menu-description,a,a:after,a:before{transition-property:color,background-color,border-color;transition-duration:.2s;transition-timing-function:linear}.fusion-accordian .panel-title a .fa-fusion-box,.woocommerce .social-share li .fontawesome-icon{transition-property:color,background-color,border-color;transition-duration:.2s;transition-timing-function:linear}.gallery{margin:0 auto;max-width:1400px}#main{padding:55px 10px 45px;clear:both}#main .sidebar.fusion-sticky-sidebar{padding:0}.col .heading{overflow:hidden;margin:0 0 15px}.col .heading img{float:left;margin:0 10px 0 0}.col p{margin:0 0 23px}.avada-myaccount-data h2{margin-top:0}.content-boxes .more{margin-top:18px}.content-boxes .heading .fontawesome-icon{float:left}.content-boxes .heading-and-icon h2{padding-left:45px}.content-boxes-icon-boxed.columns-5 .col{width:12.8%}.content-boxes-icon-boxed.columns-4 .col{width:18%}.content-boxes-icon-boxed.columns-3 .col{width:26.65%}.content-boxes-icon-boxed.columns-2 .col{width:44%}.content-boxes-icon-boxed.columns-1 .col{width:96%}.container{overflow:hidden}.container .columns .col{width:31.42857%;padding:0 2.85714% 0 0}.container .columns .col.last{margin-right:0}.container .col img{width:100%}.container .holder{overflow:hidden}.container h3 a.active{text-decoration:none;color:#65bc7b}.slider{overflow:hidden}.review{width:100%}.meta{list-style:none;margin:0 0 13px;padding:0;overflow:hidden;font-size:12px;line-height:14px;color:#333}.meta li{float:left;padding:0 8px 0 9px;border-left:1px solid #333}.meta li:first-child{padding-left:0;border-left:0}#content{width:71.1702128%;float:left;min-height:1px}#content.full-width{width:100%}#posts-container{position:relative}.single .comments-container{margin-top:55px;clear:both}.post{margin-bottom:65px}.single-post .post{margin-bottom:0}.post .image{margin-bottom:40px}.avada_faq .meta-info,.single .post .meta-info{margin-bottom:55px}.search input{border:1px solid #e7e6e6;padding:8px 15px;font-size:13px;color:#333;display:block}.bbp-pagination .bbp-pagination-links,.fusion-pagination,.page-links,.pagination,.woocommerce-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-top:40px;font-size:9px;line-height:normal}.page-links{margin-bottom:40px;margin-top:30px}#bbpress-forums .bbp-pagination .bbp-pagination-links .current,#bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-next,#bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-prev,#bbpress-forums .bbp-pagination .bbp-pagination-links a.inactive,#bbpress-forums .bbp-pagination-links span.dots,#bbpress-forums .bbp-topic-pagination .page-numbers,.fusion-pagination .current,.fusion-pagination .next,.fusion-pagination .page-numbers,.fusion-pagination .prev,.page-links a,.page-links>.page-number,.pagination .current,.pagination .pagination-next,.pagination .pagination-prev,.pagination a.inactive,.woocommerce-pagination .current,.woocommerce-pagination .next,.woocommerce-pagination .page-numbers,.woocommerce-pagination .prev{display:inline-flex;position:relative;float:none;margin:0 4px;padding:0;border:1px solid;align-items:center;justify-content:center}.fusion-pagination-circle #bbpress-forums .bbp-pagination .bbp-pagination-links .current,.fusion-pagination-circle #bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-next,.fusion-pagination-circle #bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-prev,.fusion-pagination-circle #bbpress-forums .bbp-pagination .bbp-pagination-links a.inactive,.fusion-pagination-circle #bbpress-forums .bbp-pagination-links span.dots,.fusion-pagination-circle #bbpress-forums .bbp-topic-pagination .page-numbers,.fusion-pagination-circle .fusion-pagination .current,.fusion-pagination-circle .fusion-pagination .next,.fusion-pagination-circle .fusion-pagination .page-numbers,.fusion-pagination-circle .fusion-pagination .prev,.fusion-pagination-circle .page-links a,.fusion-pagination-circle .page-links>.page-number,.fusion-pagination-circle .pagination .current,.fusion-pagination-circle .pagination .pagination-next,.fusion-pagination-circle .pagination .pagination-prev,.fusion-pagination-circle .pagination a.inactive,.fusion-pagination-circle .woocommerce-pagination .current,.fusion-pagination-circle .woocommerce-pagination .next,.fusion-pagination-circle .woocommerce-pagination .page-numbers,.fusion-pagination-circle .woocommerce-pagination .prev{border-radius:50%}#bbpress-forums .bbp-pagination .bbp-pagination-links .current,.fusion-pagination .current,.page-links>.page-number,.pagination .current,.woocommerce-pagination .current{color:#fff}.pagination.page-links a:hover{border-color:inherit}.pagination .pagination-dots{display:inline-block;text-align:center}.fusion-pagination .next,.fusion-pagination .pagination-next,.fusion-pagination .pagination-prev,.fusion-pagination .prev,.woocommerce-pagination .next,.woocommerce-pagination .pagination-next,.woocommerce-pagination .pagination-prev,.woocommerce-pagination .prev{padding-left:0;padding-right:0}.fusion-pagination .next,.fusion-pagination .next:hover,.fusion-pagination .prev,.fusion-pagination .prev:hover,.woocommerce-pagination .next,.woocommerce-pagination .next:hover,.woocommerce-pagination .prev,.woocommerce-pagination .prev:hover{border:0}.fusion-show-pagination-text #bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-next,.fusion-show-pagination-text #bbpress-forums .bbp-pagination .bbp-pagination-links .pagination-prev,.fusion-show-pagination-text .fusion-pagination .next,.fusion-show-pagination-text .fusion-pagination .prev,.fusion-show-pagination-text .pagination .pagination-next,.fusion-show-pagination-text .pagination .pagination-prev,.fusion-show-pagination-text .woocommerce-pagination .next,.fusion-show-pagination-text .woocommerce-pagination .prev{border:none}.fusion-show-pagination-text #bbpress-forums .bbp-pagination-links,.fusion-show-pagination-text .pagination{margin-left:1em;margin-right:1em}.fusion-show-pagination-text .fusion-pagination .next,.fusion-show-pagination-text .fusion-pagination .pagination-next,.fusion-show-pagination-text .fusion-pagination .pagination-prev,.fusion-show-pagination-text .fusion-pagination .prev,.fusion-show-pagination-text .woocommerce-pagination .next,.fusion-show-pagination-text .woocommerce-pagination .pagination-next,.fusion-show-pagination-text .woocommerce-pagination .pagination-prev,.fusion-show-pagination-text .woocommerce-pagination .prev{padding:0}body.fusion-hide-pagination-text .page-text{display:none}body.fusion-hide-pagination-text .pagination-next,body.fusion-hide-pagination-text .pagination-prev{border-style:solid}body.fusion-hide-pagination-text .pagination-next:after{right:auto}body.fusion-hide-pagination-text.ltr .fusion-blog-pagination .pagination-prev,body.fusion-hide-pagination-text.ltr .pagination-prev{margin-left:0}body.fusion-hide-pagination-text.ltr .fusion-blog-pagination .pagination-next,body.fusion-hide-pagination-text.ltr .pagination-next{margin-right:0}body.fusion-hide-pagination-text.ltr .fusion-pagination .prev,body.fusion-hide-pagination-text.ltr .woocommerce-pagination .prev{margin-left:0}body.fusion-hide-pagination-text.ltr .fusion-pagination .next,body.fusion-hide-pagination-text.ltr .woocommerce-pagination .next{margin-right:0}body.fusion-hide-pagination-text .pagination-next:after,body.fusion-hide-pagination-text .pagination-prev:before{position:static;transform:none}body.fusion-hide-pagination-text .fusion-pagination .next,body.fusion-hide-pagination-text .fusion-pagination .prev,body.fusion-hide-pagination-text .woocommerce-pagination .next,body.fusion-hide-pagination-text .woocommerce-pagination .prev{border-style:solid}body.fusion-hide-pagination-text .fusion-pagination .next:after,body.fusion-hide-pagination-text .fusion-pagination .prev:before,body.fusion-hide-pagination-text .woocommerce-pagination .next:after,body.fusion-hide-pagination-text .woocommerce-pagination .prev:before{position:static;transform:none}.img-list{overflow:hidden}.img-list li{padding:5px;background:0 0;float:left}.img-list a{background:0 0;height:auto;width:auto;text-indent:0;border:0}.about-author{margin-top:55px;overflow:hidden;clear:both}.about-author .title a{color:#65bc7b}.about-author div.avatar{float:left;margin-right:20px;margin-bottom:5px}.related-posts{margin-top:55px}.related-posts .image{width:180px;height:138px;margin-bottom:0}.single-related-posts{clear:both}.commentlist{list-style:none;margin:0;padding:0;margin-bottom:65px}.commentlist .children{list-style:none outside none}.commentlist li{margin:0;padding:0}.commentlist .the-comment{border-bottom:1px solid #e7e6e6;padding-bottom:25px;margin-bottom:25px}.commentlist .the-comment .comment-text{margin-left:69px}.commentlist .the-comment .comment-text :last-child{margin-bottom:0}.commentlist div.avatar{float:left;margin-right:15px}.commentlist .comment-author strong{padding-right:5px}#respond{margin-top:40px}#respond #cancel-comment-reply-link{margin-inline-start:10px}.comments-container #respond{margin-bottom:40px}#s:not(.fusion-form-input),.comment-form input{border:1px solid #d2d2d2;min-width:28%;font-size:13px;color:#747474;padding-left:15px;padding-right:15px;float:left}.comment-form #comment-submit{margin:0;min-width:auto}.comment-form input,.s{float:none}.comment-form-comment textarea{border:1px solid #d2d2d2;width:100%;height:150px;font-size:13px;color:#747474;padding:12px 15px}.comment-form .comment-form-cookies-consent{margin-top:20px}.comment-form .comment-form-cookies-consent input{min-width:auto}.comment-form .form-submit{margin-top:20px;margin-bottom:0}#ui-datepicker-div,.ui-datepicker-div,.ui-datepicker-inline{border-color:#e9eaee}.ui-datepicker-header select,table.ui-datepicker td a{background-color:#e9eaee}.ui-datepicker-header select{border:1px solid #d2d2d2}#tribe-bar-form input[type=text],.input-text,.tribe-bar-disabled #tribe-bar-form .tribe-bar-filters input[type=text],input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time]{border:1px solid #d2d2d2;font-size:13px;color:#747474;padding:8px 15px;width:100%;box-sizing:border-box}.select2-container .select2-choice,.select2-results .select2-result-label{padding-left:15px;padding-right:15px}#tribe-bar-form input[type=text]::-webkit-input-placeholder{font-style:normal}#tribe-bar-form input[type=text]:-moz-placeholder{font-style:normal}#tribe-bar-form input[type=text]::-moz-placeholder{font-style:normal}#shipping_method input[type=radio],.input-radio{background:0 0;appearance:checkbox}.single-navigation{min-height:34px;line-height:34px;border-top:1px solid #e7e6e6;border-bottom:1px solid #e7e6e6;margin-bottom:60px;text-align:right}.single-navigation a{display:inline-block;position:relative}.single-navigation a[rel=next]{margin-left:15px;margin-right:1em}.fusion-pagination .prev:before,.pagination-prev:before,.single-navigation a[rel=prev]:before,.woocommerce-pagination .prev:before{position:absolute;top:50%;transform:translateY(-51%);left:-1em;font-family:awb-icons;content:"\f104"}.fusion-pagination .next:after,.pagination-next:after,.single-navigation a[rel=next]:after,.woocommerce-pagination .next:after{position:absolute;top:50%;transform:translateY(-51%);right:-1em;font-family:awb-icons;content:"\f105"}.side-nav{list-style:none;margin:0;padding:0;border-top:1px solid #ededed;margin-bottom:20px}.side-nav ul{list-style:none;margin:0;padding:0}.side-nav li{margin:0;padding:0}.side-nav li a{border-bottom:1px solid #ededed;display:block;height:auto;font-weight:400;font-size:14px;color:#333;line-height:1.69em;padding:8px 0}.side-nav li a:hover{background:0 0}.side-nav li.current_page_item>a{background:0 0;color:#65bc7b}.side-nav li.current_page_item li a{color:#333;border-bottom:1px solid #ededed}.side-nav .children{display:none;margin-left:15px}.side-nav .arrow{display:inline;margin-left:0}.side-nav .arrow:after{position:absolute;font-size:14px;font-family:awb-icons}.side-nav-left .side-nav{border-right:1px solid #ededed}.side-nav-left .side-nav li.current_page_item>a{border-right:3px solid #65bc7b}.side-nav-left .side-nav .arrow{margin-left:10px}.side-nav-left .side-nav .arrow:after{content:"\f105"}.side-nav-right .side-nav{border-left:1px solid #ededed}.side-nav-right .side-nav li.current_page_item>a{padding-left:23px;border-left:3px solid #65bc7b}.side-nav-right .side-nav li a{padding-left:25px}.side-nav-right .side-nav .arrow{margin-right:10px}.side-nav-right .side-nav .arrow:after{content:"\f104"}.side-nav-right .side-nav .children{margin-left:40px}.side-nav-right .side-nav .children a{padding-left:0}.woocommerce-tabs .tabs a:hover .arrow,.woocommerce-tabs .tabs li.active a .arrow{display:inline-block;margin-left:10px;padding-right:0}.woocommerce-tabs .panel .panel{margin-left:auto;padding:0}.toggle-content{padding-top:10px;padding-bottom:15px;position:relative}h5.toggle.active+.toggle-content{border-bottom:1px solid #e8e6e6}.clearboth{clear:both;display:block;font-size:0;height:0;line-height:0;width:100%;overflow:hidden}.shortcode-tabs{margin-bottom:50px}.shortcode-tabs .tab-hold .tabs li{border-right:0;box-sizing:border-box}.shortcode-tabs .tab-hold .tabs li a{display:block;width:100%;padding:0;text-indent:15px}.shortcode-tabs .tab-hold .tabs li.active a{background:0 0}.shortcode-tabs .tab_content{padding:15px;overflow:hidden}.shortcode-tabs .tab_content :last-child{margin-bottom:0}.fusion-post-content p,.post-content p{margin:0 0 20px}.fusion-post-content ul.arrow,.post-content ul.arrow{list-style:none;margin:0;padding:0}.fusion-post-content ul.arrow li,.post-content ul.arrow li{line-height:18px;margin:0;padding:0;margin-bottom:15px;padding-left:25px}.fusion-post-content ul.arrow li:before,.post-content ul.arrow li:before{display:inline-block;background-repeat:no-repeat;background-position:center center;background-color:#65bc7b;height:18px;border-radius:75px;width:18px;position:absolute;font-size:14px;content:"\f105";float:left;margin-right:0;margin-left:-25px;font-family:awb-icons;text-align:center;font-weight:400;-webkit-font-smoothing:antialiased;color:#fff;line-height:17px;text-indent:1px}.fusion-body blockquote{background:#f5f5f5;font-family:var(--body_typography-font-family);font-weight:var(--body_typography-font-weight);letter-spacing:var(--body_typography-letter-spacing);font-size:var(--body_typography-font-size);line-height:var(--body_typography-line-height);color:var(--body_typography-color);border-left:4px solid #65bc7b;padding:15px;margin-top:2em;margin-bottom:2em;font-style:italic}.fusion-body blockquote q{font-style:inherit}.fusion-body blockquote :last-child{margin-bottom:0}.comment-text .fusion-body blockquote p:first-child{margin-top:0}.reading-box-container{margin:0 0 84px}.reading-box{padding:28px 28px 27px 31px;border-left:3px solid #65bc7b;background:#f2efef}.continue{float:right}.avada-google-map{height:416px;margin-bottom:50px;overflow:hidden}#gmap img,.shortcode-map img{max-width:none}.flickr_badge_image img,.pyre_tabs img,.recent-works-items img{transition:all .2s}.flickr_badge_image img:hover,.pyre_tabs img:hover,.recent-works-items img:hover{opacity:.5}.error-page .useful-links{width:30.66%;padding-left:5%}.error-page .oops{font-size:117px;margin:0 0 20px;line-height:117px;font-weight:bolder;color:#f0f0f0;font-family:"PT Sans",Arial,Helvetica,sans-serif}.has-sidebar .error-page .oops{font-size:90px;line-height:90px}.error_page .oops h1{font-family:"PT Sans",Arial,Helvetica,sans-serif}.fontawesome-icon{display:inline-block;float:left}.aligncenter .fontawesome-icon,.fusion-alignleft .fontawesome-icon,.fusion-alignright .fontawesome-icon{float:none}.fontawesome-icon{margin-right:10px}.fontawesome-icon.circle-yes{border-radius:75px;border-width:1px;border-style:solid;background-color:#333;color:#fff;text-align:center;margin-top:2px}.fontawesome-icon.large{font-size:40px}.fontawesome-icon.large.circle-yes{width:70px;height:70px;line-height:70px}.fontawesome-icon.medium{font-size:18px}.fontawesome-icon.medium.circle-yes{width:35px;height:35px;line-height:35px}.fontawesome-icon.small{font-size:10px}.fontawesome-icon.small.circle-yes{width:18px;height:18px;line-height:19px}.fontawesome-icon.circle-no.large{margin-top:2px}.fontawesome-icon.circle-no.medium{margin-top:3px}.fontawesome-icon.circle-no.small{margin-top:5px}.icon-heading .fontawesome-icon{margin-top:-6px}.main-flex{overflow:hidden;width:100%;margin-left:auto;margin-right:auto}.chat-icon{display:inline-block;width:26px;height:19px;margin-top:9px}.blog-shortcode h3.timeline-title{color:#747474;font-size:13px}.reading-box-container{position:relative;z-index:1}.reading-box{position:relative}.tagline-shadow:after,.tagline-shadow:before{bottom:15px;left:10px;width:50%;height:20%;max-width:300px;max-height:100px;position:absolute;content:"";z-index:-1;box-shadow:0 15px 10px rgba(0,0,0,.7);transform:rotate(-3deg)}.tagline-shadow:after{right:10px;left:auto;transform:rotate(3deg)}.tooltip-shortcode{position:relative;display:inline;cursor:pointer;color:#747474}ul.list-icon{list-style:none;margin:0;padding:0;margin-top:10px}ul.list-icon li:before{display:inline-block;height:18px;width:18px;content:" ";float:left;margin-right:0;margin-left:-25px;font-family:awb-icons;font-style:normal;font-weight:400;text-decoration:inherit}ul.list-icon-arrow li:before{content:"\f105"}ul.circle-yes li:before{border-radius:75px;text-align:center;font-size:9px}ul.list-icon-color-light li:before{color:#fff}ul.list-icon li{line-height:18px;margin:0;padding:0;margin-bottom:15px;padding-left:25px}.fusion-post-content .wooslider .overlay-natural.layout-text-bottom .slide-excerpt{bottom:15%}.fusion-post-content .wooslider .overlay-natural.layout-text-top .slide-excerpt{top:15%}.fusion-post-content .wooslider .slide-excerpt .slide-title,.fusion-post-content .wooslider .slide-excerpt .slide-title a{color:#fff}.fusion-post-content .wooslider .overlay-full .slide-excerpt{padding:50px;opacity:.7}.fusion-post-content .wooslider .wooslider-control-thumbs{position:relative;width:auto;margin:33px auto 0;text-align:center}.fusion-post-content .wooslider .wooslider-control-thumbs li{float:none;width:56px}.fusion-post-content .wooslider .wooslider-next,.fusion-post-content .wooslider .wooslider-prev{top:50%;margin-top:-29px}.fusion-post-content .wooslider-type-attachments .wooslider-next,.fusion-post-content .wooslider-type-attachments .wooslider-prev{top:50%;margin-top:-59px}.fusion-post-content .wooslider .overlay-none .slide-excerpt{margin-top:10px}.fusion-post-content .wooslider .overlay-none .slide-excerpt .slide-title,.fusion-post-content .wooslider .overlay-none .slide-excerpt .slide-title a{color:#333}.tabs-vertical{border:0}.tabs-vertical .tabset{border-left:1px solid #d3d3d3;border-top:1px solid #d3d3d3;border-bottom:1px solid #d3d3d3;width:15.74468085%;float:left;height:auto;position:relative;left:1px;z-index:10}.tabs-vertical .tab-hold .tabset li{float:none;width:auto;height:auto;border:0;background:0 0}.tabs-vertical .tab-hold .tabset li a{width:auto;text-indent:0;border-bottom:1px solid #d3d3d3;height:auto;line-height:normal;padding:10px}.tabs-vertical .tab-hold .tabset li:last-child a{border-bottom:0}.tabs-vertical .tab-hold .tabset li.active a{background:#fff;border-width:0;border-style:solid;border-left-width:3px;height:auto;line-height:normal}.tabs-vertical .tabs-container{width:83.93617021%;float:left}.tabs-vertical .tabs-container .tab_content{border:1px solid #d3d3d3;padding:30px}.error-message{color:#f0f0f0;font-size:170px;line-height:1;font-weight:700}.mejs-container.mejs-video{max-width:100%;width:100%;height:auto}.mejs-overlay,.mejs-poster{width:100%;height:100%}.mejs-mediaelement video{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.mejs-container,.mejs-embed,.mejs-embed body{background:0 0}.fullwidthbanner-container{overflow:visible}.tp-simpleresponsive .slotholder,.tp-simpleresponsive .slotholder img{-webkit-backface-visibility:visible;-webkit-transform:none}#learndash_lessons .learndash_topic_dots{float:none}.video-background{position:relative;overflow:hidden}.video-bg{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-bg embed,.video-bg iframe,.video-bg object{position:absolute;top:0;left:0;width:100%;height:100%}.video-content{position:absolute;top:0;padding:15px;width:100%}.bbp-arrow{margin-top:-1px}.fusion-animated{position:relative;z-index:2000}.fusion-social-links-footer .fusion-social-networks.boxed-icons a.fusion-social-network-icon.awb-custom-image{padding:0;background-color:transparent;border:none;border-radius:0;box-shadow:none}.fusion-social-links-footer .fusion-social-networks.boxed-icons a.fusion-social-network-icon.awb-custom-image img{position:relative}.avada-container h3,.comment-form input[type=submit],.fusion-body .fusion-load-more-button,.project-content .project-info h4,.ticket-selector-submit-btn[type=submit]{font-weight:700}#wrapper .fusion-events-shortcode .fusion-events-meta h4,.fusion-carousel-meta,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons a,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories a,.fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery:before,.fusion-image-wrapper .fusion-rollover .fusion-rollover-link:before,.fusion-recent-posts .columns .column .meta,.fusion-rollover-linebreak,.fusion-single-line-meta,.product-buttons a{line-height:1.5}.ua-mobile .avada-not-responsive #wrapper{width:100%!important;overflow:hidden!important}.layout-wide-mode #wrapper{width:100%;max-width:none}#sliders-container{position:relative}.layout-boxed-mode #sliders-container .main-flex[data-parallax="1"]{position:fixed}.avada-video-embed{position:relative}.avada-video-embed .fluid-width-video-wrapper{padding-top:55%}.avada-video-embed .fluid-width-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.fusion-privacy-placeholder{padding:30px;background:rgba(0,0,0,.1);color:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;max-width:100%}.fusion-privacy-placeholder .fusion-privacy-placeholder-content{text-align:center}.fusion-privacy-placeholder .fusion-privacy-consent.fusion-button{--awb-margin-top:15px;--awb-margin-right:0px;--awb-margin-bottom:0px;--awb-margin-left:0px;margin-left:var(--awb-margin-left)}.fluid-width-video-wrapper .fusion-privacy-placeholder{position:absolute;top:0;left:0;width:100%!important;height:100%!important}.fusion-privacy-bar.awb-desc-collapsed .awb-cookie-description{display:none}.fusion-privacy-bar{padding-top:var(--privacy_bar_padding-top,15px);padding-right:var(--privacy_bar_padding-right,30px);padding-bottom:var(--privacy_bar_padding-bottom,15px);padding-left:var(--privacy_bar_padding-left,30px);position:fixed;width:100%;z-index:99999;display:none;max-height:100vh;overflow:auto;scrollbar-width:none}.fusion-privacy-bar::-webkit-scrollbar{display:none}.fusion-privacy-bar .fusion-privacy-bar-acceptance{width:auto}.fusion-privacy-bar-bottom{bottom:0}.fusion-privacy-bar .fusion-privacy-bar-main{display:flex;align-items:center;justify-content:center}.fusion-privacy-bar .fusion-privacy-bar-main>span{margin-inline-end:15px}.fusion-privacy-bar .fusion-privacy-bar-main .fusion-privacy-bar-accept-all,.fusion-privacy-bar .fusion-privacy-bar-main .fusion-privacy-bar-acceptance,.fusion-privacy-bar .fusion-privacy-bar-main .fusion-privacy-bar-learn-more,.fusion-privacy-bar .fusion-privacy-bar-main .fusion-privacy-bar-reject{margin-inline-start:15px}.fusion-privacy-bar .fusion-privacy-bar-main .fusion-privacy-bar-learn-more i{display:inline-block;transition:transform .2s ease}.fusion-privacy-bar .fusion-privacy-bar-main .fusion-privacy-bar-learn-more.awb-rotate i{transform:rotate(-180deg) translateY(-.125em)}.fusion-privacy-bar.fusion-privacy-form--toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:inline-block;width:2.2em;height:1.2em;min-width:2.2em;border-radius:1em;background-color:var(--privacy_bar_toggle_off_color,var(--awb-color6));transition:background-color .2s ease;cursor:pointer;vertical-align:middle;margin:0;flex-shrink:0}.fusion-privacy-bar.fusion-privacy-form--toggle input[type=checkbox]::after{content:'';position:absolute;top:.1em;left:.1em;width:1em;height:1em;border-radius:50%;background-color:var(--privacy_bar_toggle_thumb_color,var(--awb-color3));transition:left .2s ease}.fusion-privacy-bar.fusion-privacy-form--toggle input[type=checkbox]:checked{background-color:var(--privacy_bar_toggle_on_color,var(--awb-color5))}.fusion-privacy-bar.fusion-privacy-form--toggle input[type=checkbox]:checked::after{left:1.1em}.fusion-privacy-bar.fusion-privacy-form--toggle input[type=checkbox]:indeterminate::after{left:.6em}.fusion-privacy-bar.fusion-privacy-form--toggle input[type=checkbox]:focus-visible{outline:2px solid var(--privacy_bar_toggle_on_color,var(--awb-color5));outline-offset:2px}.fusion-privacy-bar.fusion-privacy-form--toggle input[type=checkbox]:disabled{cursor:not-allowed}.fusion-privacy-bar.fusion-privacy-form--toggle .fusion-privacy-group-heading .awb-privacy-group-master-input[type=checkbox],.fusion-privacy-bar.fusion-privacy-form--toggle .nav-tabs>li>.awb-privacy-group-master-input[type=checkbox]{font-size:var(--privacy_bar_headings_font_size)}.fusion-privacy-bar .fusion-privacy-bar-full{text-align:center;display:none;line-height:1.5;padding-top:calc(var(--privacy_bar_padding-top) * 2)}.fusion-privacy-bar .fusion-privacy-bar-full .awb-layout-columns{max-width:var(--privacy_bar_content_max_width,50%)}.fusion-privacy-bar .fusion-privacy-bar-full .awb-layout-tabs{display:flex;margin:0;text-align:start;justify-content:center}.fusion-privacy-bar .fusion-privacy-bar-full .awb-layout-tabs .fusion-tabs .nav-tabs{display:block!important}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs{display:flex;text-align:start;margin:0;width:100%;max-width:var(--privacy_bar_content_max_width,50%)}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .nav-tabs{flex-shrink:0;background-color:transparent;--awb-border-color:var(--privacy_bar_tabs_border_color);border:var(--privacy_bar_tabs_border_size) solid var(--privacy_bar_tabs_border_color)}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .nav-tabs>li{font-size:var(--privacy_bar_headings_font_size);color:var(--privacy_bar_headings_color);text-align:start;border-bottom:var(--privacy_bar_tabs_border_size) solid var(--privacy_bar_tabs_border_color);color:var(--privacy_bar_link_color);transition:background-color .2s ease;display:flex;align-items:center}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .nav-tabs>li>a{padding:.5em .75em!important;border:none;background:0 0;transition:color .2s ease;color:inherit;flex:1 1 auto}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .nav-tabs>li>a:focus{background:0 0;color:inherit}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .nav-tabs>li>.awb-privacy-group-master-input{flex:0 0 auto;margin:0 .75em 0 .5em;cursor:pointer}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .nav-tabs>li.active,.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .nav-tabs>li:hover{background:var(--privacy_bar_tabs_active_bg_color,inherit);color:var(--privacy_bar_link_hover_color)}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .nav-tabs>li.active>a,.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .nav-tabs>li:hover>a{background:0 0}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .nav-tabs>li:last-child{border-bottom:none}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .tab-content{flex-grow:1;border:var(--privacy_bar_tabs_border_size) solid var(--privacy_bar_tabs_border_color)!important;border-inline-start:none!important;min-height:var(--privacy_bar_tabs_content_height);max-height:var(--privacy_bar_tabs_content_height);overflow-y:auto}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-tabs .tab-content .tab-pane{border:none;padding-top:var(--privacy_bar_tabs_padding-top,20px);padding-bottom:var(--privacy_bar_tabs_padding-bottom,20px);padding-left:var(--privacy_bar_tabs_padding-left,20px);padding-right:var(--privacy_bar_tabs_padding-right,20px);box-sizing:content-box}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-privacy-choices{list-style:none;margin:.7em 0 0;padding:0}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-privacy-choices>li{display:grid;grid-template-columns:auto 1fr;column-gap:.5em;margin-bottom:.4em}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-privacy-choices>li:has(.awb-privacy-desc-toggle){grid-template-columns:auto 1fr auto}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-privacy-choices>li.is-necessary{opacity:var(--privacy_necessary_opacity, .7)}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-privacy-choices label{display:contents}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-privacy-choices input{grid-column:1;align-self:center}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-privacy-choices .label-text{grid-column:2}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-privacy-choices .awb-privacy-desc-toggle{grid-column:3;grid-row:1;align-self:center;justify-self:end;background:0 0;border:none;padding:0;cursor:pointer;color:inherit;font-size:.85em;line-height:1;transition:transform .2s ease}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-privacy-choices .awb-privacy-desc-toggle i{display:block;transition:transform .2s ease}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-privacy-choices .awb-privacy-desc-toggle.awb-rotate i{transform:rotate(-180deg) translateY(-.125em)}.fusion-privacy-bar .fusion-privacy-bar-full .awb-cookie-lifespan{display:inline-block;font-size:.85em;color:var(--privacy_bar_lifespan_color,inherit);margin-inline-start:.3em}.fusion-privacy-bar .fusion-privacy-bar-full .awb-cookie-lifespan::before{content:'('}.fusion-privacy-bar .fusion-privacy-bar-full .awb-cookie-lifespan::after{content:')'}.fusion-privacy-bar .fusion-privacy-bar-full .awb-cookie-description{grid-column:2;margin:.2em 0;font-size:var(--privacy_bar_desc_font_size, .85em);color:var(--privacy_bar_desc_color,inherit)}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-columns.row{margin-left:calc(var(--privacy_bar_column_gap,30px)/ -2);margin-right:calc(var(--privacy_bar_column_gap,30px)/ -2)}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-columns.row .fusion-column{text-align:initial;padding-left:calc(var(--privacy_bar_column_gap,30px)/ 2);padding-right:calc(var(--privacy_bar_column_gap,30px)/ 2)}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-columns.row .fusion-column .column-title{text-transform:uppercase;margin-top:0;margin-bottom:.7em}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-columns.row .fusion-column .fusion-privacy-group-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7em}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-columns.row .fusion-column .fusion-privacy-group-heading .column-title{margin:0;flex:1 1 auto}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-columns.row .fusion-column .fusion-privacy-group-heading .awb-privacy-group-master-input{flex:0 0 auto;margin:0 0 0 .5em;cursor:pointer}.searchform .fusion-search-form-content{display:flex;align-items:center;overflow:hidden;width:100%}.searchform .fusion-search-form-content .fusion-search-field{flex-grow:1}.searchform .fusion-search-form-content .fusion-search-field input{background-color:#fff;border:1px solid #d2d2d2;color:#747474;font-size:13px;padding:8px 15px;height:33px;width:100%;box-sizing:border-box;margin:0;outline:0}.searchform .fusion-search-form-content .fusion-search-button input[type=submit]{background:#000;border:none;border-radius:0;color:#fff;font-size:1em;height:33px;line-height:33px;margin:0;padding:0;width:33px;text-indent:0;cursor:pointer;font-family:awb-icons;font-weight:400;text-shadow:none;-webkit-font-smoothing:antialiased;transition:all .2s}.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-form-content,.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-form-content{position:relative}.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-button,.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-button{position:absolute}.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-button input[type=submit],.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-button input[type=submit]{background-color:transparent;color:#aaa9a9}.search-page-search-form-top{padding-bottom:60px;border-bottom:1px solid #e6e5e6;margin-bottom:60px}.search-page-search-form-bottom{padding-top:60px;border-top:1px solid #e6e5e6;margin-top:60px}.search-page-search-form .fusion-search-form{text-align:right}.search-page-search-form .fusion-search-form .fusion-search-form .fusion-search-field input{text-indent:0}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-menu{display:flex;flex-wrap:wrap;transition:opacity .8s cubic-bezier(.8, 0, .25, 1),transform .8s cubic-bezier(.8, 0, .25, 1)}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search{display:flex;visibility:hidden;align-items:center;opacity:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-150%);width:100%;transition:opacity .8s cubic-bezier(.8, 0, .25, 1),transform .8s cubic-bezier(.8, 0, .25, 1)}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-search-form{flex-grow:2}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-close-search{overflow:hidden;position:relative;display:inline-block}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-close-search:after,.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-close-search:before{content:"";position:absolute;top:50%;left:0;height:2px;width:100%;margin-top:-1px}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-close-search:before{transform:rotate(45deg)}.fusion-main-menu-search-overlay .fusion-main-menu>.fusion-overlay-search .fusion-close-search:after{transform:rotate(-45deg)}.fusion-main-menu-search-overlay .fusion-main-menu.search-open{overflow:visible}.fusion-main-menu-search-overlay .fusion-main-menu.search-open>.fusion-menu{opacity:0;transform:translateY(100%);visibility:hidden}.fusion-main-menu-search-overlay .fusion-main-menu.search-open>.fusion-overlay-search{opacity:1;visibility:visible;transform:translate(-50%,-50%)}.fusion-main-menu-search-overlay .fusion-main-menu.search-transition{overflow:hidden!important}.fusion-main-menu-search-overlay .fusion-main-menu.search-transition .fusion-menu{visibility:visible!important}.fusion-main-menu-search-overlay .fusion-main-menu.search-transition>.fusion-overlay-search{visibility:visible}.fusion-main-menu-search-overlay .fusion-header-v4.fusion-header-menu-align-right .fusion-overlay-search,.fusion-main-menu-search-overlay .fusion-header-v5.fusion-header-menu-align-right .fusion-overlay-search{right:0;left:auto;transform:translate(0,-150%)}.fusion-main-menu-search-overlay .fusion-header-v4.fusion-header-menu-align-right .search-open .fusion-overlay-search,.fusion-main-menu-search-overlay .fusion-header-v5.fusion-header-menu-align-right .search-open .fusion-overlay-search{transform:translate(0,-50%)}.fusion-main-menu-search-overlay .fusion-header-v4.fusion-header-menu-align-left .fusion-overlay-search,.fusion-main-menu-search-overlay .fusion-header-v5.fusion-header-menu-align-left .fusion-overlay-search{left:0;transform:translate(0,-150%)}.fusion-main-menu-search-overlay .fusion-header-v4.fusion-header-menu-align-left .search-open .fusion-overlay-search,.fusion-main-menu-search-overlay .fusion-header-v5.fusion-header-menu-align-left .search-open .fusion-overlay-search{transform:translate(0,-50%)}.fusion-overlay-search{position:absolute;opacity:0}.fusion-header-has-flyout-menu .fusion-flyout-search .fusion-live-search{position:relative}.fusion-header-has-flyout-menu .fusion-flyout-search .fusion-live-search .fusion-search-form-content{position:relative}.fusion-header-has-flyout-menu .fusion-flyout-search .fusion-live-search .fusion-search-form-content .fusion-search-button{display:block;position:absolute;right:0;background-color:transparent}.fusion-header-has-flyout-menu .fusion-flyout-search .fusion-live-search .fusion-search-form-content .fusion-search-button .fusion-search-submit{display:none}.fusion-header-has-flyout-menu .fusion-flyout-search .fusion-live-search .fusion-search-form-content .fusion-slider-loading{margin:-1.75em 0 0 -3.5em;width:3.5em;height:3.5em;border-top-width:.4em;border-right-width:.4em;border-bottom-width:.4em;border-left-width:.4em}.fusion-live-search .fusion-search-field{z-index:14}.fusion-live-search .fusion-search-button{z-index:14;position:relative}.fusion-live-search .fusion-slider-loading{display:none;margin:-1.2em 0 0 -1.2em;width:2.4em;height:2.4em;border-top:.3em solid rgba(255,255,255,.35);border-right:.3em solid rgba(255,255,255,.35);border-bottom:.3em solid #fff;border-left:.3em solid rgba(255,255,255,.35);pointer-events:none}.fusion-live-search .fusion-search-results-wrapper{position:relative}.fusion-flyout-search .fusion-live-search .fusion-search-results-wrapper{position:absolute;width:calc(100% - 100px);margin-top:62px}.fusion-live-search .fusion-search-results{z-index:-1;visibility:hidden;overflow-y:auto;position:absolute;margin-top:25px;width:100%;max-height:250px;opacity:0;transition:.3s opacity,.3s margin;background-color:#fff;border-style:solid}.fusion-live-search .fusion-search-results.suggestions-added{z-index:2001;visibility:visible;margin-top:0;opacity:1}.fusion-live-search .fusion-search-results.suggestions-empty .fusion-search-result{padding:14px;cursor:default}.fusion-live-search .fusion-search-results.suggestions-empty .fusion-search-result:hover{padding:14px}.fusion-live-search .fusion-search-results.suggestions-transition{visibility:visible}.fusion-live-search.fusion-main-menu-search-dropdown .fusion-main-menu .fusion-search-results.suggestions-added{position:static}.fusion-live-search .fusion-search-result{display:flex;align-items:center;padding:14px 7px;line-height:1.4;border-bottom-style:solid;border-top:none;text-align:initial;cursor:pointer;transition:.2s padding}.fusion-body .fusion-live-search .fusion-search-result{font-family:inherit}.fusion-body .fusion-live-search .fusion-search-result:after{content:""}.fusion-live-search .fusion-search-result:hover{padding:14px 0 14px 14px}.fusion-live-search .fusion-search-result:last-child{border-bottom:none}.fusion-live-search .fusion-search-content,.fusion-live-search .fusion-search-image{padding:0 7px}.fusion-live-search .fusion-search-image{max-width:45px;box-sizing:content-box}.fusion-main-menu .fusion-live-search .fusion-search-image{max-width:35px}.fusion-live-search .fusion-search-post-type{margin-top:.2em;font-size:.9em}.flex-container a:active,.flex-container a:focus,.flexslider a:active,.flexslider a:focus{outline:0}.flex-control-nav,.flex-direction-nav,.flexslider .slides{margin:0;padding:0;list-style:none;z-index:1000}.flexslider{margin:0;padding:0}.flexslider .slides{overflow:hidden}.flexslider .slides li{display:none;-webkit-backface-visibility:hidden}.flexslider .slides img{width:100%;max-width:100%;display:block;-webkit-user-select:none;user-select:none}.flexslider .slides .video-shortcode{margin-bottom:0}.flex-pauseplay span{text-transform:capitalize}.flexslider .slides:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}html[xmlns] .flexslider .slides{display:block}* html .flexslider .slides{height:1%}.flex-control-nav,.flex-direction-nav,.flexslider .slides{z-index:2}.flexslider{margin:0 0 60px;background-color:transparent;position:relative}.flex-viewport{max-height:2000px;transition:all 1s ease}.loading .flex-viewport{max-height:300px}.carousel li{margin-right:5px}.flex-direction-nav{height:0}.flex-direction-nav a{font-family:awb-icons;width:30px;height:30px;margin:-20px 0 0;background-color:rgba(0,0,0,.5);background-repeat:no-repeat;position:absolute;top:50%;cursor:pointer;opacity:0;transition:all .3s ease;z-index:100;overflow:hidden;text-align:center;line-height:30px;font-size:16px;font-weight:400;-webkit-font-smoothing:none;color:#fff}.flex-direction-nav a:hover{color:#fff}.sidebar .widget .flex-direction-nav a,.sidebar .widget .flex-direction-nav a:hover{color:#fff}.no-opacity .flex-direction-nav a{display:none}.no-opacity .flexslider:hover .flex-direction-nav a{display:block}.flex-direction-nav .flex-next{right:0;text-indent:2px}.flex-direction-nav .flex-prev{left:0;text-indent:-2px}.flexslider:hover .flex-next{opacity:.8;right:0}.flexslider:hover .flex-prev{opacity:.8;left:0}.flexslider:hover .flex-next:hover,.flexslider:hover .flex-prev:hover{opacity:1}.flex-direction-nav .flex-disabled,.main-flex:hover .flex-direction-nav .flex-disabled{opacity:0;cursor:default;display:none;visibility:hidden}.flex-control-nav{width:100%;position:absolute;bottom:0;text-align:center}.fusion-body .flex-control-nav li{margin:0 6px;display:inline-block}.fusion-body .flex-control-paging li a{display:block}.flex-control-paging li a{width:11px;height:11px;display:block;background:#666;background:rgba(0,0,0,.5);cursor:pointer;text-indent:-9999px;border-radius:20px;box-shadow:inset 0 0 3px rgba(0,0,0,.3)}.flex-control-paging li a:hover{background:#333;background:rgba(0,0,0,.7)}.flex-control-paging li a.flex-active{background:#000;background:rgba(0,0,0,.9);cursor:default}.flex-control-thumbs{margin:5px 0 0;position:static;overflow:hidden}.flex-control-thumbs li{width:25%;float:left}.fusion-body .flex-control-thumbs li{margin:0}.flex-control-thumbs img{width:100%;display:block;opacity:.7;cursor:pointer;transition:opacity .2s cubic-bezier(.21, .6, .35, 1)}.flex-control-thumbs img:hover{opacity:1}.flex-control-thumbs .flex-active{opacity:1;cursor:default}.flex-caption{position:absolute;background:rgba(0,0,0,.6);width:96%;padding:2%;color:#fff;left:0;bottom:0;margin:0}.main-flex{margin-bottom:0}.col .flexslider{margin:0}.isotope{transition-duration:.8s;transition-property:height,width}.isotope-item{z-index:2}.isotope-hidden.isotope-item{z-index:1}.isotope .isotope-item{transition-duration:.8s;transition-property:top,left,opacity}.isotope .isotope-item.no-transition,.isotope.no-transition,.isotope.no-transition .isotope-item{transition-duration:0s}.fusion-post-content .wooslider{border:0;background:0 0;box-shadow:none;border-radius:0;margin:0 auto;max-width:940px}.wooslider .slide-content{margin:0}.wooslider .wooslider-pauseplay{position:absolute;margin:0;top:auto;bottom:15px}.wooslider .wooslider-control-nav{position:absolute;margin:0;top:auto;bottom:-10px}.tfs-slider .flex-next,.tfs-slider .flex-prev{font-size:25px;-webkit-font-smoothing:antialiased}.main-flex:hover .flex-next,.main-flex:hover .flex-prev,.wooslider:hover .wooslider-next,.wooslider:hover .wooslider-prev{display:block}.main-flex .flex-next,.main-flex .flex-prev,.wooslider .wooslider-next,.wooslider .wooslider-prev{background-color:rgba(0,0,0,.5);background-repeat:no-repeat;width:63px;height:63px;display:none;position:absolute;top:42%;margin:0;color:#fff;font-family:awb-icons;text-align:center;line-height:63px;font-size:36px;font-weight:400;-webkit-font-smoothing:antialiased}.main-flex .flex-prev,.wooslider .wooslider-prev{left:0;padding:0;border:0;text-indent:-5px}.main-flex .flex-next,.wooslider .wooslider-next{right:0;padding:0;border:0;text-indent:5px}#sliders-container .wooslider .slide-content p{margin:0}.fusion-footer-widget-area .wooslider-control-nav li a,.sidebar .wooslider-control-nav li a{padding:0;border:0;background:rgba(0,0,0,.5);margin-right:3px}.fusion-footer-widget-area .wooslider-next,.fusion-footer-widget-area .wooslider-prev,.fusion-post-content .wooslider .wooslider-next,.fusion-post-content .wooslider .wooslider-prev,.sidebar .wooslider-next,.sidebar .wooslider-prev{width:29px;height:29px}.fusion-footer-widget-area .wooslider .wooslider-control-nav,.sidebar .wooslider .wooslider-control-nav{bottom:5px}.fusion-footer-widget-area .widget_wooslider_slideshow_slides .wooslider-control-nav,.sidebar .widget_wooslider_slideshow_slides .wooslider-control-nav{bottom:12px}.fusion-footer-widget-area .slide-excerpt{overflow:hidden;position:absolute;bottom:-50px;padding:0;width:100%;text-align:center}.sidebar .slide-excerpt{bottom:15%;width:100%}.sidebar .slide-excerpt .slide-title{float:none}.sidebar .slide-excerpt .slide-title a{color:#fff;border:none}.sidebar .slide-excerpt .slide-title a:hover{color:#fff}.sidebar .widget .slides li div a{padding:0}.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-light .fusion-boxed-shadow,.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-light:not(.avada-footer-fx-sticky) #wrapper{box-shadow:0 0 50px 1px rgba(0,0,0,.22)}.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-medium .fusion-boxed-shadow,.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-medium:not(.avada-footer-fx-sticky) #wrapper{box-shadow:0 0 50px 5px rgba(0,0,0,.35)}.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-hard .fusion-boxed-shadow,.layout-boxed-mode.fusion-top-header.avada-has-boxed-modal-shadow-hard:not(.avada-footer-fx-sticky) #wrapper{box-shadow:0 0 50px 10px rgba(0,0,0,.55)}.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-light #boxed-wrapper,.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-light .fusion-boxed-shadow{box-shadow:0 0 50px 1px rgba(0,0,0,.22)}.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-medium #boxed-wrapper,.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-medium .fusion-boxed-shadow{box-shadow:0 0 50px 5px rgba(0,0,0,.35)}.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-hard #boxed-wrapper,.layout-boxed-mode:not(.fusion-top-header).avada-has-boxed-modal-shadow-hard .fusion-boxed-shadow{box-shadow:0 0 50px 10px rgba(0,0,0,.55)}.layout-boxed-mode.side-header #boxed-wrapper,.layout-boxed-mode.side-header #slidingbar-area .fusion-row,.layout-boxed-mode.side-header .fusion-footer-parallax,.layout-boxed-mode.side-header>#lang_sel_footer{margin-right:auto;margin-left:auto}.fusion-row{margin:0 auto}.fusion-row:after,.fusion-row:before{content:" ";display:table}.fusion-row:after{clear:both}.fusion-columns{margin:0 -15px}.fusion-columns-5 .col-lg-2,.fusion-columns-5 .col-md-2,.fusion-columns-5 .col-sm-2,.fusion-columns-5 .col-xs-2{width:20%}.fusion-block-element{display:block}.fusion-hidden{display:none}.fusion-responsive-img{margin:0}#wrapper #posts-container .fusion-grid-sizer,#wrapper .fusion-grid-sizer{margin:0;padding:0;height:0;min-height:0;visibility:hidden}.fusion-masonry-element-container{background-size:cover;background-position:center center}.fusion-element-grid .fusion-masonry-element-container{padding-top:80%}.fusion-element-landscape .fusion-masonry-element-container{padding-top:40%}.fusion-element-portrait .fusion-masonry-element-container{padding-top:160%}.fusion-masonry-element-container .fusion-image-wrapper>img,.fusion-masonry-element-container .fusion-placeholder-image,.fusion-masonry-element-container>img{display:none}bold,strong{font-weight:bolder}.fusion-video iframe,iframe{border:none}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#fff;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#333;display:block;font-size:1rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}mark{background:0 0;color:inherit}.fusion-breadcrumb-prefix{padding-right:5px}.post-password-form input[type=password]{margin:0 10px;padding:8px 15px;width:200px;border:1px solid #d2d2d2;font-size:13px;color:#747474;box-sizing:border-box}.fusion-image-wrapper{overflow:hidden;z-index:1;position:relative}.fusion-image-wrapper:hover .fusion-rollover{opacity:1;transform:translateX(0)}.no-csstransforms .fusion-image-wrapper:hover .fusion-rollover{display:block}.fusion-image-wrapper.fusion-video{display:block}.fusion-image-size-fixed{display:inline-block;max-width:100%;vertical-align:top}.fusion-rollover{display:flex;align-items:center;justify-content:space-around;opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;line-height:normal;text-align:center;background-image:linear-gradient(to top,#aad75d,#d1e990);transform:translateX(-100%);transition:all .3s ease-in-out;-webkit-transform-style:preserve-3d}.no-csstransforms .fusion-rollover{display:none}.fusion-clean-product-image-wrapper .fusion-rollover-content .view-cart{position:relative;z-index:9}.fusion-woo-slider .fusion-carousel-title-below-image .fusion-product-buttons{position:relative}.fusion-rollover-content{padding:10px;width:90%}.fusion-rollover-content .fusion-rollover-categories,.fusion-rollover-content .fusion-rollover-title,.fusion-rollover-content .price{margin:0;line-height:normal;font-size:13px;color:#333}.fusion-rollover-content .fusion-rollover-title{margin-bottom:3px;margin-top:10px}.fusion-rollover-content .fusion-rollover-categories a{font-size:11px}.fusion-rollover-content .fusion-rollover-categories a:hover{color:#444}.fusion-rollover-content .price{display:inline-block}.fusion-rollover-content .fusion-product-buttons{z-index:99;position:relative}.fusion-rollover-content .fusion-product-buttons a{display:block;margin-top:10px;padding-left:16px;width:auto;line-height:normal;text-align:left;max-width:49%;font-size:12px;box-sizing:border-box;z-index:99}.fusion-carousel-title-below-image .fusion-rollover-content .fusion-product-buttons a{max-width:none}.fusion-rollover-content .fusion-product-buttons a:first-child{float:left}.fusion-rollover-content .fusion-product-buttons a:first-child:before{position:absolute;margin-left:-16px;content:"\f07a";font-family:awb-icons}.fusion-rollover-content .fusion-product-buttons a:last-child{float:right}.fusion-rollover-content .fusion-product-buttons a:last-child:before{position:absolute;margin-left:-16px;content:"\e623";font-family:awb-icons}.fusion-rollover-content .fusion-product-buttons a.added_to_cart{display:none}.fusion-rollover-sep{display:inline-block;vertical-align:middle;height:36px;width:5px}.fusion-rollover-gallery,.fusion-rollover-link{display:inline-block;opacity:.9;position:relative;vertical-align:middle;margin:0;height:36px;width:35px;text-indent:-10000px;background-color:#333;border-radius:50%;background-clip:padding-box}.fusion-rollover-gallery:hover,.fusion-rollover-link:hover{opacity:1}.fusion-rollover-gallery:before,.fusion-rollover-link:before{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-indent:0;line-height:normal;text-shadow:none;font-family:awb-icons;font-size:15px;color:#fff;-webkit-font-smoothing:antialiased}.fusion-rollover-link:before{content:"\e619"}.fusion-rollover-gallery:before{content:"\f002"}.fusion-placeholder-image{max-width:100%;background-color:#f6f6f6}.fusion-hidden-content{overflow:hidden;position:absolute;left:-10000px;top:auto;width:1px;height:1px}.fusion-filters{display:none;overflow:hidden;list-style:none;margin-bottom:55px;padding:0;line-height:34px;border-top:1px solid #e7e6e6;border-bottom:1px solid #e7e6e6;align-items:center}.fusion-filter{float:left;margin-right:30px}.fusion-filter.fusion-active a{line-height:31px;border-top:3px solid #65bc7b;color:#65bc7b}.fusion-filter a{display:block}.fusion-load-more-button{display:block;margin-top:20px;width:100%;height:50px;line-height:50px;background-color:#e9eaee;cursor:pointer;text-align:center;font-size:inherit;text-transform:uppercase;border:none;transition:all .2s}.fusion-load-more-button:hover{transition:all .2s}.fusion-portfolio-wrapper .fusion-load-more-button{display:none}.fusion-loading-container{margin-top:20px}.fusion-loading-container .fusion-loading-spinner{display:inline-block}.fusion-loading-container .fusion-spinner-1,.fusion-loading-container .fusion-spinner-2,.fusion-loading-container .fusion-spinner-3{width:12px;height:12px;background-color:#e2e0e0;border-radius:100%;display:inline-block;animation:fusion-bounce-delay 1.4s infinite ease-in-out;animation-fill-mode:both}.fusion-loading-container .fusion-spinner-1{animation-delay:-.32s}.fusion-loading-container .fusion-spinner-2{animation-delay:-.16s}.fusion-loading-container .fusion-loading-msg{display:inline-block;margin-left:7px}@keyframes fusion-bounce-delay{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.fusion-body .wpcf7-form .fusion-slider-loading,.fusion-slider-loading{position:absolute;top:50%;left:50%;margin:-3em 0 0 -3em;color:transparent;font-size:10px;border-top:.5em solid rgba(0,0,0,.2);border-right:.5em solid rgba(0,0,0,.2);border-bottom:.5em solid #333;border-left:.5em solid rgba(0,0,0,.2);animation:fusion-rotate .8s infinite linear}.fusion-body .wpcf7-form .fusion-slider-loading .fusion-slider-loading-text,.fusion-slider-loading .fusion-slider-loading-text{position:absolute}.no-cssanimations .fusion-body .wpcf7-form .fusion-slider-loading,.no-cssanimations .fusion-slider-loading{padding-left:5px;padding-top:15px;color:#000}.fusion-slider-loading,.fusion-slider-loading:after{width:6em;height:6em;border-radius:50%;background-clip:padding-box}@keyframes fusion-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fusion-inline-sep{padding:0 5px}.fusion-inline-sep:last-child{display:none}.post-content p{margin-top:0;margin-bottom:20px}.table-1,.table-2,.tkt-slctr-tbl-wrap-dv{display:block;overflow-x:auto}.fusion-body .quantity{display:flex;align-items:center;justify-content:space-around;border:1px solid;overflow:hidden}.fusion-body .quantity .minus,.fusion-body .quantity .plus,.fusion-body .quantity .qty{float:left;border:0;margin:0;padding:0;text-align:center;vertical-align:middle;border-radius:0;-webkit-appearance:none;-moz-appearance:textfield}.fusion-body .quantity .minus,.fusion-body .quantity .plus{cursor:pointer}.fusion-body .quantity .qty{background:0 0;border-left:1px solid;border-right:1px solid}.fusion-body .quantity .qty -webkit-inner-spin-button,.fusion-body .quantity .qty -webkit-outer-spin-button{-webkit-appearance:none;margin:0}.select-arrow{width:35px;height:33px;line-height:33px;border-left-width:1px;border-left-style:solid;position:absolute;bottom:1px;right:1px;pointer-events:none;z-index:10;font-family:awb-icons;font-size:9px;text-align:center}.avada-select-parent{position:relative;overflow:hidden;margin:0}.fusion-layout-column.avada-select-parent{position:relative}.bbpress .avada-select-parent{overflow:hidden}.avada-select-parent select{border:1px solid #dadada;-webkit-appearance:none;text-overflow:"";box-sizing:border-box;cursor:pointer;display:block;font-size:13px;outline:0;height:auto;padding:9px 15px;position:relative;text-indent:.01px;vertical-align:middle;z-index:5;margin:0;border-radius:0;background-clip:padding-box;min-width:180px}.sidebar .avada-select-parent select{min-width:initial}.widget_archive select,.widget_categories select{width:100%}.select2-container .select2-selection--single .select2-selection__rendered{padding-left:15px;padding-right:34px}.select2-results__option,.select2-search--dropdown{padding-left:15px;padding-right:15px}.select2-search--dropdown .select2-search__field{margin-right:0}.select2-container--default .select2-selection--single{border-radius:0}.select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;right:15px;transform:translateY(-50%)}.select2-dropdown{z-index:2051;border-radius:0}#submit,.submit{cursor:pointer}.rich-snippet-hidden{display:none}.fusion-avatar-circle .attachment-recent-works-thumbnail,.fusion-avatar-circle .avatar{border-radius:50%}.fusion-author .fusion-edit-profile{font-size:12px}.fusion-author .fusion-social-networks{display:table-cell;vertical-align:middle;text-align:right;line-height:normal}.fusion-author .fusion-social-networks .fusion-social-network-icon{margin-bottom:0}.fusion-author .fusion-social-networks.boxed-icons .fusion-social-network-icon{margin-bottom:2px}.fusion-author-avatar{float:left;margin-right:20px;max-width:20%}.fusion-author-info{overflow:hidden}.fusion-author-title{margin-top:0;color:#333;font-weight:400}.fusion-author-social{display:table;margin:20px 0 80px;padding:5px 0;width:100%;border-top:1px solid #e0dede;border-bottom:1px solid #e0dede}.fusion-author-tagline{display:table-cell;vertical-align:middle;max-width:70%;font-weight:700}.fusion-page-load-link{display:none}#menu-appearance a[href="themes.php?page=optionsframework"]{display:none}#wpadminbar{z-index:999999999999999}#wpadminbar #wp-admin-bar-awb-site-mode{display:flex;align-items:center;height:32px}#wpadminbar #wp-admin-bar-awb-site-mode>.ab-item{display:inline-flex;align-items:center;padding:.25em .5em;height:14px;border-radius:.35em;line-height:1;transition:opacity .2s ease-in-out}#wpadminbar #wp-admin-bar-awb-site-mode>.ab-item:hover,#wpadminbar #wp-admin-bar-awb-site-mode>.ab-itemfocus{opacity:.9}#wpadminbar .awb-site-mode-badge-avada>.ab-item:before{content:"\e971";font-family:awb-icons;padding:0;font-size:12px;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1}#wpadminbar .awb-site-mode-badge-live>.ab-item{background-color:#65bc7b!important;color:#f0f0f1!important}#wpadminbar .awb-site-mode-badge-coming-soon>.ab-item{background-color:#198fd9!important;color:#f0f0f1!important}#wpadminbar .awb-site-mode-badge-maintenance>.ab-item{background-color:#dc3232!important;color:#f0f0f1!important}#wpadminbar>#wp-toolbar #wp-admin-bar-avada>.ab-item:before,#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit>.ab-item:before{content:"\e971";font-family:awb-icons;top:4px;font-size:16px}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .ab-item{height:auto}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .fb-edit-group{border-top:1px solid #3c434a}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-layout-group .wp-admin-bar-arrow{display:none}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-layout-group .menupop>.ab-item{padding:0 10px}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-layout-group .ab-sub-wrapper{margin-top:0;top:50%;transform:translateY(-50%)}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-edit-item{display:flex;justify-content:space-between;align-items:center;margin:.3em -.75em}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-edit-name,#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-edit-type{margin:0 .75em}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .awb-edit-type{line-height:1;background:#3c434a;padding:.5em;border-radius:4px;color:rgba(255,255,255,.8);font-size:.9em}#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .ab-item:active .awb-edit-type,#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .ab-item:focus .awb-edit-type,#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit .ab-item:hover .awb-edit-type{color:inherit}@media screen and (max-width:782px){#wpadminbar #wp-admin-bar-awb-site-mode{display:none}#wpadminbar>#wp-toolbar #wp-admin-bar-avada>.ab-item:before,#wpadminbar>#wp-toolbar #wp-admin-bar-fb-edit>.ab-item:before{content:"\e971";font-family:awb-icons;top:0;padding:10px;font-size:25px}}.woocommerce-billing-fields .form-row .input-text{margin-right:0}.fusion-disable-outline input,.fusion-disable-outline select,.fusion-disable-outline textarea{outline:0}.fusion-disable-outline .woocommerce-billing-fields .form-row .input-text{outline:0}.select2-container .select2-selection{margin:0;box-shadow:none!important;outline:0!important}.select2-container .select2-selection .select2-selection__arrow{top:0;transform:inherit;right:0;width:40px;border-left:1px solid #d2d2d2}.select2-container--default .select2-dropdown .select2-search{border-bottom:1px solid #d2d2d2;padding:10px 15px;border-top:1px solid #d2d2d2;margin-top:-1px}.select2-container--default .select2-dropdown .select2-search input{padding:8px 10px;height:auto;background:#fff}.fusion-post-slideshow .image{margin-bottom:0}.fusion-post-slideshow .fusion-image-size-fixed{display:block}.fusion-flexslider.fusion-post-slideshow{overflow:visible}.fusion-meta-info{clear:both;overflow:hidden;margin-top:20px;padding:5px 0;border-top:1px solid #e7e6e6;border-bottom:1px solid #e7e6e6}.fusion-meta-info .fusion-alignleft{width:80%}.fusion-post-title-meta-wrap{margin-bottom:28px}.fusion-post-title-meta-wrap .entry-title{margin-bottom:10px}.fusion-post-title-meta-wrap .fusion-meta-info{margin-top:0}.fusion-single-line-meta{margin-bottom:20px}.fusion-content-sep{margin-top:20px;height:6px;border-top:1px solid #eaeaea;border-bottom:1px solid #eaeaea}.fusion-date-and-formats{float:left;margin-right:17px;width:82px;text-align:center}.fusion-date-and-formats .fusion-date-box{padding:8px 0 5px;color:#fff}.fusion-date-and-formats .fusion-date{display:block;line-height:29px;font-size:29px;font-weight:700}.fusion-date-and-formats .fusion-format-box{margin-top:3px;background-color:#eef0f2}.fusion-date-and-formats .fusion-format-box i{display:block;line-height:55px;font-size:30px}.fusion-timeline-line{position:absolute;left:50%;top:0;margin-left:-1px;height:100%;border-left:1px solid #efeeee;border-right:1px solid #ebeaea}.fusion-timeline-icon{margin:0 auto -6px;max-width:1000px;font-size:46px;height:47px;line-height:1;color:#ebeaea;text-align:center}.fusion-timeline-icon .fusionicon-bubbles{cursor:pointer}.fusion-timeline-circle{position:absolute;left:50%;margin:10px 0 0 -5px;height:10px;width:10px;border-radius:50%;background-color:#efeeee}.fusion-timeline-arrow{position:absolute;color:#e9eaee}.fusion-timeline-arrow:before{font-family:awb-icons;font-size:28px;position:absolute;top:0;line-height:30px}.fusion-blog-archive .entry-title{margin-top:0;margin-bottom:5px}.fusion-blog-layout-large .entry-title,.fusion-blog-layout-medium .entry-title{margin-top:0;margin-bottom:25px}.fusion-blog-layout-large .fusion-post-slideshow,.fusion-blog-layout-large-alternate .fusion-post-slideshow,.single-avada_faq .fusion-post-slideshow,.single-post .fusion-post-slideshow,.single-wpfc_sermon .fusion-post-slideshow{margin-bottom:30px}.fusion-blog-layout-large-alternate .entry-title,.fusion-blog-layout-medium-alternate .entry-title{margin-top:0;margin-bottom:5px}.fusion-blog-layout-large-alternate .fusion-post-content-container,.fusion-blog-layout-medium-alternate .fusion-post-content-container{margin-top:20px}.fusion-blog-layout-large-alternate .fusion-meta-info,.fusion-blog-layout-medium-alternate .fusion-meta-info{margin-top:0;border-top:0}.fusion-blog-layout-medium .fusion-post-medium,.fusion-blog-layout-medium .fusion-post-medium-alternate,.fusion-blog-layout-medium-alternate .fusion-post-medium,.fusion-blog-layout-medium-alternate .fusion-post-medium-alternate{display:flex;flex-wrap:wrap;align-items:start}.fusion-blog-layout-medium .fusion-post-slideshow,.fusion-blog-layout-medium-alternate .fusion-post-slideshow{margin-right:25px;width:320px}.fusion-blog-layout-medium .fusion-post-content,.fusion-blog-layout-medium-alternate .fusion-post-content{flex:1 1 1px}.fusion-blog-layout-medium .fusion-meta-info,.fusion-blog-layout-medium-alternate .fusion-meta-info{width:100%}.fusion-blog-layout-grid .fusion-post-slideshow,.fusion-blog-layout-timeline .fusion-post-slideshow{margin-bottom:0;border-bottom:1px solid #eaeaea}.fusion-blog-layout-grid .fusion-post-content-wrapper,.fusion-blog-layout-timeline .fusion-post-content-wrapper{padding:30px 25px 20px}.fusion-blog-layout-grid .fusion-single-line-meta,.fusion-blog-layout-timeline .fusion-single-line-meta{margin-bottom:0}.fusion-blog-layout-grid .fusion-post-content-container,.fusion-blog-layout-timeline .fusion-post-content-container{margin-top:20px}.fusion-blog-layout-grid .fusion-post-content-container p:last-child,.fusion-blog-layout-timeline .fusion-post-content-container p:last-child{margin-bottom:0}.fusion-blog-layout-grid .fusion-meta-info,.fusion-blog-layout-timeline .fusion-meta-info{border:0}.fusion-blog-layout-grid .fusion-meta-info .fusion-alignleft,.fusion-blog-layout-timeline .fusion-meta-info .fusion-alignleft{width:50%}.fusion-blog-layout-grid .fusion-password,.fusion-blog-layout-timeline .fusion-password{width:auto;max-width:100%}.fusion-blog-layout-large-alternate .fusion-post-large-alternate{display:flex;flex-wrap:wrap}.fusion-blog-layout-large-alternate .fusion-post-content{flex:1}.fusion-blog-layout-large-alternate .fusion-meta-info,.fusion-blog-layout-large-alternate .fusion-post-slideshow{width:100%}.fusion-blog-layout-medium-alternate .fusion-post-slideshow{display:none}.fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-post-slideshow{display:block;margin-right:17px}.fusion-blog-layout-grid .fusion-post-grid{margin-bottom:0}.fusion-blog-layout-grid.fusion-no-meta-info .fusion-post-content-container{margin-top:0}.fusion-blog-layout-grid .fusion-post-wrapper:not(.fusion-masonary-is-transparent){border:1px solid #eaeaea;border-bottom-width:3px}.fusion-blog-layout-grid.fusion-blog-layout-grid-2 .post{width:50%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-2.fusion-blog-layout-masonry-has-vertical .post.fusion-element-landscape{width:100%}.fusion-blog-layout-grid.fusion-blog-layout-grid-3 .post{width:33.3333%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-3.fusion-blog-layout-masonry-has-vertical .post.fusion-element-landscape{width:66.6666%}.fusion-blog-layout-grid.fusion-blog-layout-grid-4 .post{width:25%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-4.fusion-blog-layout-masonry-has-vertical .post.fusion-element-landscape{width:50%}.fusion-blog-layout-grid.fusion-blog-layout-grid-5 .post{width:20%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-5.fusion-blog-layout-masonry-has-vertical .post.fusion-element-landscape{width:40%}.fusion-blog-layout-grid.fusion-blog-layout-grid-6 .post{width:16.6666%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-6.fusion-blog-layout-masonry-has-vertical .post.fusion-element-landscape{width:33.3333%}.fusion-blog-layout-grid .fusion-post-content,.fusion-blog-layout-grid .post-content{word-wrap:break-word}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-grid{display:inline-flex}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper{overflow:hidden;width:100%;display:flex;flex-direction:column}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper .fusion-post-content-wrapper{display:flex;flex-grow:1;flex-direction:column}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper .fusion-post-content.post-content{margin-bottom:20px}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper .fusion-meta-info{margin-top:auto}.fusion-blog-layout-timeline{position:relative;margin:0 auto;padding-top:30px;max-width:1000px}.fusion-blog-layout-timeline .fusion-post-timeline{position:static;margin-bottom:40px;border:1px solid #eaeaea;border-bottom-width:3px}.fusion-no-meta-info .fusion-blog-layout-timeline .fusion-post-content-container{margin-top:0}.fusion-blog-layout-timeline .fusion-left-column{float:left;clear:left;width:40%}.fusion-blog-layout-timeline .fusion-right-column{float:right;clear:right;width:40%}.fusion-blog-layout-timeline .fusion-timeline-date{position:relative;clear:both;margin:0 auto 2px;padding:.35em .45em;width:auto;max-width:8em;line-height:1.35em;background:#efeeee;text-align:center;cursor:pointer}.fusion-blog-layout-timeline .fusion-left-column .fusion-timeline-arrow{left:40%;margin-left:-.5px}.fusion-blog-layout-timeline .fusion-left-column .fusion-timeline-arrow:before{content:"\f0da";left:100%}.fusion-blog-layout-timeline .fusion-right-column .fusion-timeline-arrow{right:40%;margin-right:-.5px}.fusion-blog-layout-timeline .fusion-right-column .fusion-timeline-arrow:before{content:"\f0d9";right:100%}.fusion-blog-layout-masonry .fusion-post-wrapper{overflow:hidden;position:relative}.fusion-blog-layout-masonry .fusion-post-content-wrapper{z-index:1;position:absolute;bottom:0;left:0;right:0}.fusion-blog-layout-masonry.fusion-blog-rollover .fusion-post-wrapper:hover .fusion-post-content-wrapper{transition:all .3s ease;transform:translateY(105%)}.fusion-blog-layout-masonry.fusion-blog-rollover .fusion-post-content-wrapper{transition:all .3s ease}.fusion-blog-infinite .pagination{display:none}.fusion-blog-infinite .fusion-load-more-button{margin-bottom:40px}.fusion-blog-layout-center .fusion-post-content{text-align:center}.fusion-blog-layout-left .fusion-post-content{text-align:left}.fusion-blog-layout-right .fusion-post-content{text-align:right}.single h1.entry-title{margin-top:0}.fusion-footer-parallax{position:relative;bottom:0;left:0;right:0;margin:0;padding:0}.fusion-footer-parallax.awb-footer-fixed{position:fixed;z-index:-1}.avada-footer-fx-no-height-parallax-effect #fusion-gmap-container,.avada-footer-fx-no-height-parallax-effect #main,.avada-footer-fx-no-height-parallax-effect #sliders-container,.avada-footer-fx-no-height-parallax-effect .fusion-page-title-bar,.avada-footer-fx-parallax-effect #fusion-gmap-container,.avada-footer-fx-parallax-effect #main,.avada-footer-fx-parallax-effect #sliders-container,.avada-footer-fx-parallax-effect .fusion-page-title-bar{position:relative;z-index:1}.avada-footer-fx-bg-parallax .fusion-footer-widget-area,.avada-footer-fx-no-height-bg-parallax .fusion-footer-widget-area,.avada-footer-fx-no-height-sticky-with-parallax-bg-image .fusion-footer-widget-area,.avada-footer-fx-sticky-with-parallax-bg-image .fusion-footer-widget-area{background-attachment:fixed;background-position:top center}.avada-footer-fx-sticky #boxed-wrapper,.avada-footer-fx-sticky #wrapper,.avada-footer-fx-sticky-with-parallax-bg-image #boxed-wrapper,.avada-footer-fx-sticky-with-parallax-bg-image #wrapper,.avada-footer-fx-sticky-with-parallax-bg-image.layout-boxed-mode:not(.fusion-top-header) #boxed-wrapper,.avada-footer-fx-sticky.layout-boxed-mode:not(.fusion-top-header) #boxed-wrapper{display:flex;flex-direction:column;min-height:100vh}.avada-footer-fx-sticky-with-parallax-bg-image.layout-boxed-mode:not(.fusion-top-header) #boxed-wrapper #wrapper,.avada-footer-fx-sticky.layout-boxed-mode:not(.fusion-top-header) #boxed-wrapper #wrapper{width:100%}.avada-footer-fx-sticky #main,.avada-footer-fx-sticky-with-parallax-bg-image #main{flex-grow:1}.wp-audio-shortcode{max-height:150px}.tkt-slctr-tbl-wrap-dv table{margin-bottom:10px}#fancybox-overlay{z-index:100049!important}#fancybox-wrap{z-index:100050!important}div#shShutter{z-index:100049}div#shDisplay{z-index:100050}#cboxOverlay{z-index:100049!important}#colorbox{z-index:100050!important}.fusion-main-menu .lang-item>a img,.fusion-mobile-nav-holder .lang-item>a img,.fusion-secondary-menu .lang-item>a img{vertical-align:middle;padding:0 2px}.qtranxs-lang-menu-item>a img,.qtranxs-lang-menu>a img{vertical-align:middle;padding:0 3px}#wpfc_sermon_sorting{overflow:hidden;margin:0 -10px}#wpfc_sermon_sorting>span{display:block;float:left;width:25%;padding:0 10px}#wpfc_sermon_sorting .avada-select-parent select{width:100%}.fusion-ubermenu-support .fusion-header-v1 .fusion-header .fusion-row,.fusion-ubermenu-support .fusion-header-v2 .fusion-header .fusion-row,.fusion-ubermenu-support .fusion-header-v3 .fusion-header .fusion-row,.fusion-ubermenu-support .fusion-header-v7 .fusion-header .fusion-row{position:relative}.fusion-ubermenu-support .fusion-secondary-main-menu .fusion-row{position:relative}.fusion-ubermenu{overflow:visible;position:static}.cp-module .cp-slidein{z-index:9999}.fusion-body .product-buttons .wc-gzd-additional-info{margin:.5em 0 .5em 0}.fusion-body .product-buttons .wc-gzd-additional-info a{display:inline;float:none;padding:inherit;font-size:inherit}.fusion-body .product-buttons .wc-gzd-additional-info+a{float:left}.fusion-body .product-buttons .wc-gzd-additional-info+a+a,.fusion-body .product-buttons .wc-gzd-additional-info+a+a+a,.fusion-body .product-buttons .wc-gzd-additional-info+a+a+a+a{float:right}.fusion-body .product-buttons .wc-gzd-additional-info:last-of-type{margin-bottom:1.5em}.fusion-body .fusion-carousel-meta .wc-gzd-additional-info{margin-bottom:.5em}.fusion-body .fusion-carousel-meta .wc-gzd-additional-info:first-of-type{margin-top:1.5em}.fusion-body .fusion-carousel-meta .wc-gzd-additional-info:last-of-type{margin-bottom:1.5em}.bg-parallax-parent.video{position:relative}.bg-parallax.video,.fusion-bg-parallax.video{position:absolute;pointer-events:none!important;overflow:hidden;top:0;left:0;right:0;bottom:0;z-index:-1}.bg-parallax.video iframe,.fusion-bg-parallax.video iframe{margin-bottom:0!important;display:block!important;max-width:none!important;max-height:none!important}.parallax-inner{min-height:150px}.fusion-bg-parallax[data-bg-size-adjust=dont-scale]+.bg-parallax-parent .parallax-inner{background-size:auto!important}.datepicker.dropdown-menu{border-radius:0;border:0;padding:15px}.datepicker.dropdown-menu:before{border-bottom:0}.datepicker.dropdown-menu thead tr:nth-child(2){font-size:16px}.datepicker.dropdown-menu td,.datepicker.dropdown-menu th{border-radius:0;border:0;padding:9px 10px}.datepicker.dropdown-menu td.active,.datepicker.dropdown-menu td.active:hover{border:0;text-shadow:none}.datepicker.dropdown-menu table tr td.new,.datepicker.dropdown-menu table tr td.old{background-color:#fff!important;color:#999!important}.datepicker.dropdown-menu tbody td{border:1px solid #fff}.datepicker.dropdown-menu .datepicker-months td{padding:15px 0 0}.datepicker.dropdown-menu .datepicker-months span{text-shadow:none}.datepicker.dropdown-menu .datepicker-months span:hover{text-shadow:none}.crossfade-images{white-space:nowrap;display:flex;align-items:center}.crossfade-images .helper{display:inline-block;height:100%;vertical-align:middle}.crossfade-images:hover img:not(.hover-image){opacity:0}.crossfade-images:hover .hover-image{opacity:1!important}.crossfade-images img{transition:opacity .5s ease-in-out;position:relative;z-index:50;min-width:100%;vertical-align:middle}.crossfade-images .hover-image{position:absolute;left:0;right:0;margin:0 auto;opacity:0}.avada-html-layout-boxed,.avada-html-layout-boxed body,.avada-html-layout-boxed body.custom-background,html:not(.avada-html-layout-boxed):not(.avada-html-layout-framed),html:not(.avada-html-layout-boxed):not(.avada-html-layout-framed) body{background-color:var(--bg_color);background-blend-mode:var(--bg-color-overlay)}.avada-html-has-bg-image .avada-has-bg-image-full.layout-boxed-mode.layout-scroll-offset-framed .fusion-bottom-frame,.avada-html-has-bg-image .avada-has-bg-image-full.layout-boxed-mode.layout-scroll-offset-framed .fusion-sides-frame,.avada-html-has-bg-image .avada-has-bg-image-full.layout-boxed-mode.layout-scroll-offset-framed .fusion-top-frame,.avada-html-has-bg-image .avada-has-bg-image-full:not(.layout-boxed-mode),.avada-html-has-bg-image .avada-has-bg-image-full:not(.layout-scroll-offset-framed){background-attachment:fixed;background-size:cover;background-position:center center}.layout-boxed-mode.layout-scroll-offset-framed .fusion-bottom-frame,.layout-boxed-mode.layout-scroll-offset-framed .fusion-sides-frame,.layout-boxed-mode.layout-scroll-offset-framed .fusion-top-frame{background-color:var(--bg_color);background-blend-mode:var(--bg-color-overlay);background-image:var(--bg_image)}body{background-image:var(--bg_image);background-repeat:var(--bg_repeat)}#main,.layout-boxed-mode #main,.layout-boxed-mode.avada-footer-fx-sticky .above-footer-wrapper,.layout-boxed-mode.avada-footer-fx-sticky-with-parallax-bg-image .above-footer-wrapper,.layout-wide-mode #main,.layout-wide-mode #wrapper,body,html,html body.custom-background{background-color:var(--content_bg_color)}.quicktags-toolbar input{background:linear-gradient(to top,var(--content_bg_color),var(--form_bg_color)) #3e3e3e}#main,.wrapper_blank #main{background-image:var(--content_bg_image);background-repeat:var(--content_bg_repeat)}#main.full-bg,.wrapper_blank #main.full-bg{background-attachment:fixed;background-position:center center;background-size:cover}.avada-content-bg-not-opaque #main,.avada-content-bg-not-opaque #wrapper,.avada-content-bg-not-opaque .bbp-arrow,.avada-content-bg-not-opaque .fusion-separator .icon-wrapper{background-blend-mode:overlay}html.avada-has-page-background-pattern{background-image:var(--bg_pattern);background-repeat:repeat}html.avada-has-page-background-pattern .layout-boxed-mode .fusion-bottom-frame,html.avada-has-page-background-pattern .layout-boxed-mode .fusion-sides-frame,html.avada-has-page-background-pattern .layout-boxed-mode .fusion-top-frame,html.avada-has-page-background-pattern body{background-image:var(--bg_pattern);background-repeat:repeat}html.avada-has-page-background-pattern .layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top){background-attachment:fixed}.fusion-load-more-button.fusion-blog-button{background-color:var(--blog_load_more_posts_button_bg_color);color:var(--blog_load_more_posts_button_text_color)}.fusion-load-more-button.fusion-blog-button:hover{background-color:var(--blog_load_more_posts_hover_button_bg_color);color:var(--blog_load_more_posts_hover_button_text_color)}body:not(.search-results) #posts-container .fusion-blog-layout-grid{margin-top:calc((var(--blog_archive_grid_column_spacing))/ -2);margin-right:calc((var(--blog_archive_grid_column_spacing))/ -2);margin-left:calc((var(--blog_archive_grid_column_spacing))/ -2);margin-bottom:0}body:not(.search-results) #posts-container .fusion-blog-layout-grid .fusion-post-grid{padding:calc((var(--blog_archive_grid_column_spacing))/ 2)}.avada-blog-archive-layout-grid .fusion-blog-archive .fusion-blog-layout-grid .post .fusion-post-content-wrapper,.avada-blog-archive-layout-masonry .fusion-blog-archive .fusion-blog-layout-masonry .post .fusion-post-content-wrapper,.avada-blog-archive-layout-timeline .fusion-blog-archive .fusion-blog-layout-timeline .post .fusion-post-content-wrapper,.avada-blog-layout-grid .fusion-blog-archive .fusion-blog-layout-grid .post .fusion-post-content-wrapper,.avada-blog-layout-masonry .fusion-blog-archive .fusion-blog-layout-masonry .post .fusion-post-content-wrapper,.avada-blog-layout-timeline .fusion-blog-archive .fusion-blog-layout-timeline .post .fusion-post-content-wrapper{padding:var(--blog_archive_grid_padding-top) var(--blog_archive_grid_padding-right) var(--blog_archive_grid_padding-bottom) var(--blog_archive_grid_padding-left)}#wrapper .fusion-events-shortcode .fusion-events-meta h4,.fusion-carousel-meta,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories a,.fusion-meta,.fusion-meta-info,.fusion-recent-posts .columns .column .meta,.fusion-single-line-meta,.post .single-line-meta,.widget_recent_entries .post-date{font-size:var(--meta_font_size)}.content-box-percentage,.fusion-date-and-formats .fusion-format-box i,.price ins .amount,.price>.amount,.star-rating span:before,.star-rating:before{color:var(--primary_color)}#main .about-author .title a:hover,#main .post h2 a:hover,.fusion-open-submenu:hover,.fusion-pagination .next:hover,.fusion-pagination .next:hover:after,.fusion-pagination .prev:hover,.fusion-pagination .prev:hover:before,.fusion-read-more:hover:after,.more a:hover:after,.pagination .pagination-next:hover:after,.pagination .pagination-prev:hover:before,.pagination-next:hover:after,.pagination-prev:hover:before,.project-content .project-info .project-info-box a:hover,.rtl .fusion-read-more:hover:before,.rtl .more a:hover:before,.single-navigation a[rel=next]:hover:after,.single-navigation a[rel=prev]:hover:before,a:hover,h5.toggle:hover a{color:var(--link_hover_color)}#wrapper .post-content blockquote,.comment-text blockquote,.fusion-body blockquote,.fusion-pagination .current,.fusion-pagination .page-numbers.current,.pagination .current,.progress-bar-content{border-color:var(--primary_color)}#nav ul li>a:hover,#sticky-nav ul li>a:hover,#wrapper .tagcloud a:hover,.fusion-hide-pagination-text .pagination-next:hover,.fusion-hide-pagination-text .pagination-prev:hover,.fusion-pagination .page-numbers:hover,.pagination a.inactive:hover{border-color:var(--link_hover_color)}.circle-yes ul li:before,.fusion-date-and-formats .fusion-date-box,.fusion-pagination .current,.fusion-search-element .searchform.fusion-search-form-classic .fusion-search-form-content .fusion-search-button input[type=submit]:hover,.fusion-search-form-classic .searchform:not(.fusion-search-form-clean) .fusion-search-form-content .fusion-search-button input[type=submit]:hover,.pagination .current,.progress-bar-content,.table-2 table thead,ul.arrow li:before,ul.circle-yes li:before{background-color:var(--primary_color)}#toTop:hover,.tagcloud a:hover{background-color:var(--link_hover_color)}.fusion-body:not(.has-sidebar) .alignfull{margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw);max-width:100vw;width:100vw}.fusion-body:not(.has-sidebar) .alignwide:not(.tribe-events-view){position:relative;left:50%;transform:translateX(-50%);max-width:none;min-width:100%;width:80vw}.tribe-editor__block .tribe-editor__btn--link,.tribe-editor__event-website__label-text input,.wp-block-file .wp-block-file__button,.wp-block-search .wp-block-search__button{color:var(--button_accent_color);text-transform:var(--button_text_transform);background-color:var(--button_gradient_top_color);background-image:linear-gradient(to top,var(--button_gradient_bottom_color),var(--button_gradient_top_color));border-width:var(--button_border_width-top) var(--button_border_width-right) var(--button_border_width-bottom) var(--button_border_width-left);border-style:solid;border-color:var(--button_border_color);border-radius:var(--button-border-radius-top-left) var(--button-border-radius-top-right) var(--button-border-radius-bottom-right) var(--button-border-radius-bottom-left);font-family:var(--button_typography-font-family);font-weight:var(--button_typography-font-weight);font-style:var(--button_typography-font-style);letter-spacing:var(--button_letter_spacing);box-shadow:var(--button_box_shadow);padding:var(--button_padding);font-size:var(--button_font_size);line-height:var(--button_line_height);transition:all .2s}.tribe-editor__block .tribe-editor__btn--link:hover,.tribe-editor__event-website__label-text input:hover,.wp-block-file .wp-block-file__button:hover,.wp-block-search .wp-block-search__button:hover{color:var(--button_accent_hover_color);border-color:var(--button_border_hover_color);background-color:var(--button_gradient_top_color_hover);background-image:linear-gradient(to top,var(--button_gradient_bottom_color_hover),var(--button_gradient_top_color_hover))}.wp-block-code{border-color:var(--sep_color)}.wp-block-code code{white-space:pre-wrap;word-break:break-word}.wp-block-embed #meetup_oembed{height:auto!important}.wp-block-file{display:flex;align-items:center;flex-wrap:wrap}.wp-block-media-text .wp-block-media-text__content p{margin-bottom:0}p.has-background{padding:1.5em 2em}.fusion-body p.has-drop-cap:not(:focus):first-letter{font-size:5.5em}p.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;line-height:.68;font-weight:100;margin:.05em .1em 0 0;text-transform:uppercase;font-style:normal}.wp-block-preformatted{overflow:auto;padding:1em}.fusion-body .wp-block-pullquote blockquote{margin:1em;padding:0;background-color:transparent;border:none;font-style:normal}.wp-block-pullquote cite{color:inherit}.wp-block-quote{border-left-color:var(--primary_color);background-color:var(--testimonial_bg_color);font-style:italic}.wp-block-quote.is-style-default{margin:2em;padding:1em}.wp-block-quote.is-style-default cite{font-size:.75em}.wp-block-quote.is-style-large{margin:2em;padding:1.5em}.ltr .wp-block-quote.is-style-large{border-left:4px solid var(--primary_color)}.rtl .wp-block-quote.is-style-large{border-right:4px solid var(--primary_color)}.wp-block-quote.is-style-large p{font-size:2em}.wp-block-quote.is-style-large cite{font-size:1em}.wp-block-separator{border-color:var(--sep_color)}.wp-block-separator.is-style-dots:before{color:var(--sep_color)}.wp-block-table td,.wp-block-table th{border-color:var(--sep_color)}.wp-block-table th,.wp-block-table tr:nth-child(2n){background:#f6f6f6}.wp-block-table tr td{padding:10px 20px}.wp-block-tag-cloud a{border-color:var(--sep_color)}.wp-block-verse{color:inherit;margin:2em;padding:1em;font-style:italic;background-color:var(--testimonial_bg_color)}.wp-block-verse pre{padding:0;color:inherit}.wp-block-calendar table caption,.wp-block-calendar table tbody{color:inherit}.wp-block-calendar tbody td,.wp-block-calendar th{border-color:var(--sep_color)}.wp-block-calendar a{text-decoration:none}.wp-block-calendar tfoot a{color:var(--link_color)}.wp-block-calendar tfoot a:hover{color:var(--link_hover_color)}.fusion-body .wp-block-archives-list li{border-color:var(--sep_color)}.wp-block-categories .children,.wp-block-categories .wp-block-categories__list{margin:0 0 0 5px!important;padding:10px 0 0 0!important}.wp-block-categories .children li,.wp-block-categories .wp-block-categories__list li{border-color:var(--sep_color)}.wp-block-categories .children li:last-child,.wp-block-categories .wp-block-categories__list li:last-child{padding-bottom:0;border-bottom:none}.wp-block-latest-comments{margin:0;padding:0}.wp-block-latest-comments .wp-block-latest-comments__comment{margin-bottom:0;padding:10px 10px 10px 0;border-bottom:1px solid;font-size:inherit}.fusion-body .wp-block-latest-comments .wp-block-latest-comments__comment{border-color:var(--sep_color)}.fusion-avatar-square .wp-block-latest-comments .wp-block-latest-comments__comment-avatar{border-radius:0}.fusion-avatar-circle .wp-block-latest-comments .wp-block-latest-comments__comment-avatar{border-radius:50%}.wp-block-latest-comments .wp-block-latest-comments__comment-date{margin:.15em 0;font-size:.8em}.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt p{margin-bottom:0;font-size:.9em;line-height:inherit}.fusion-body .wp-block-latest-posts li{border-color:var(--sep_color)}.fusion-body .wp-block-rss li{border-color:var(--sep_color)}.wp-block-rss .wp-block-rss__item-author,.wp-block-rss .wp-block-rss__item-publish-date{margin:.15em 0}.wp-block-rss .wp-block-rss__item-author{font-style:italic}.wp-block-search{align-items:center}.wp-block-search .wp-block-search__input{padding:0 15px;border-style:solid;border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left);border-radius:var(--form_border_radius);background-color:var(--form_bg_color);color:var(--form_text_color);font-size:var(--form_text_size);border-color:var(--form_border_color);height:var(--form_input_height);padding-top:0;padding-bottom:0}.wp-block-search .wp-block-search__input:focus{border-color:var(--form_focus_border_color)}.wp-block-tag-cloud a{display:inline-flex;align-items:center;margin:2px 0;padding:0 10px;min-height:2.15em;line-height:2.15em;font-size:.9em;border:1px solid var(--link_color);color:var(--link_color);text-decoration:none}.wp-block-tag-cloud a:hover{color:#fff}.wp-block-tag-cloud a:hover .tag-link-count{color:#fff}.ltr .wp-block-tag-cloud a .tag-link-count{padding-left:2px}.rtl .wp-block-tag-cloud a .tag-link-count{padding-right:2px}.wp-block-tag-cloud .tag-cloud-link:hover{border-color:var(--link_hover_color);background-color:var(--link_hover_color)}.wp-block-archives-dropdown,.wp-block-categories-dropdown{width:100%}.wp-block-archives-list,.wp-block-categories,.wp-block-latest-posts,.wp-block-rss{margin:0;padding:0}.wp-block-archives-list li,.wp-block-categories li,.wp-block-latest-posts li,.wp-block-rss li{display:block;position:relative;padding:10px 10px 10px 12px;border-bottom:1px solid var(--sep_color)}.wp-block-archives-list li a:before,.wp-block-categories li a:before,.wp-block-latest-posts li a:before,.wp-block-rss li a:before{content:"\f105";position:absolute;margin-left:-12px;font-family:awb-icons;color:inherit}.wp-block-latest-comments .wp-block-latest-comments__comment-date,.wp-block-latest-posts__post-date,.wp-block-rss__item-author,.wp-block-rss__item-publish-date{font-size:var(--meta_font_size)}.tribe-editor__events-link .tribe-editor__btn--link input{font-family:inherit;font-weight:inherit;font-size:inherit;color:inherit;background:0 0}.tribe-editor__block .tribe-editor__btn--link svg{display:none}.tribe-editor__event-price__label{color:var(--primary_color)}.fusion-body .avada-google-map{margin-top:var(--gmap_topmargin)}.avada-image-rollover-no .fusion-rollover{display:none}.avada-image-rollover-no .fusion-masonry-element-container.fusion-image-wrapper>a{position:absolute;top:0;bottom:0;left:0;right:0}.fusion-image-wrapper .fusion-rollover{background-image:linear-gradient(to top,var(--image_gradient_bottom_color) 0,var(--image_gradient_top_color) 100%)}.avada-image-rollover-direction-fade .fusion-image-wrapper .fusion-rollover{transform:translateY(0);transition:opacity .5s ease-in-out}.avada-image-rollover-direction-right .fusion-image-wrapper .fusion-rollover{transform:translateX(100%)}.avada-image-rollover-direction-bottom .fusion-image-wrapper .fusion-rollover{transform:translateY(100%)}.avada-image-rollover-direction-top .fusion-image-wrapper .fusion-rollover{transform:translateY(-100%)}.avada-image-rollover-direction-center_horiz .fusion-image-wrapper .fusion-rollover{transform:scaleX(0)}.avada-image-rollover-direction-center_vertical .fusion-image-wrapper .fusion-rollover{transform:scaleY(0)}.fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery,.fusion-image-wrapper .fusion-rollover .fusion-rollover-link{width:calc((var(--image_rollover_icon_size)) * 1.5);height:calc((var(--image_rollover_icon_size)) * 1.5);background-color:transparent}.avada-image-rollover-circle-yes .fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery,.avada-image-rollover-circle-yes .fusion-image-wrapper .fusion-rollover .fusion-rollover-link{width:calc((var(--image_rollover_icon_size)) * 2.41);height:calc((var(--image_rollover_icon_size)) * 2.41);background-color:var(--image_rollover_text_color);line-height:2.41}.fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery:before,.fusion-image-wrapper .fusion-rollover .fusion-rollover-link:before{font-size:var(--image_rollover_icon_size);color:var(--image_rollover_icon_color)}.fusion-image-wrapper.hover .fusion-rollover{opacity:1}.avada-image-rollover-direction-fade .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-fade .fusion-image-wrapper:hover .fusion-rollover,.avada-image-rollover-direction-right .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-right .fusion-image-wrapper:hover .fusion-rollover{transform:translateX(0)}.avada-image-rollover-direction-bottom .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-bottom .fusion-image-wrapper:hover .fusion-rollover,.avada-image-rollover-direction-top .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-top .fusion-image-wrapper:hover .fusion-rollover{transform:translateY(0)}.avada-image-rollover-direction-center_horiz .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-center_horiz .fusion-image-wrapper:hover .fusion-rollover{transform:scaleX(1)}.avada-image-rollover-direction-center_vertical .fusion-image-wrapper.hover .fusion-rollover,.avada-image-rollover-direction-center_vertical .fusion-image-wrapper:hover .fusion-rollover{transform:scaleY(1)}.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons a:before,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories a,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title a,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .price,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .price *,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content a,.fusion-rollover .fusion-rollover-content .fusion-rollover-title{color:var(--image_rollover_text_color)}.fusion-hide-pagination-text .fusion-pagination .next,.fusion-hide-pagination-text .fusion-pagination .prev,.fusion-hide-pagination-text .pagination .pagination-next,.fusion-hide-pagination-text .pagination .pagination-prev,.fusion-pagination .current,.fusion-pagination .page-numbers:not(.prev):not(.next),.page-links a,.page-links>.page-number:not(.prev):not(.next),.pagination .current,.pagination .pagination-next,.pagination a.inactive{border-radius:var(--pagination_border_radius);border-width:var(--pagination_border_width)}body:not(.fusion-hide-pagination-text) .fusion-pagination .next,body:not(.fusion-hide-pagination-text) .fusion-pagination .prev,body:not(.fusion-hide-pagination-text) .pagination .pagination-next,body:not(.fusion-hide-pagination-text) .pagination .pagination-prev{line-height:var(--pagination_width_height)}body:not(.avada-has-pagination-padding) .fusion-pagination .current,body:not(.avada-has-pagination-padding) .fusion-pagination .page-numbers:not(.prev):not(.next),body:not(.avada-has-pagination-padding) .page-links a,body:not(.avada-has-pagination-padding) .page-links>.page-number:not(.prev):not(.next),body:not(.avada-has-pagination-padding) .pagination .current,body:not(.avada-has-pagination-padding) .pagination a.inactive,body:not(.avada-has-pagination-padding).fusion-hide-pagination-text .fusion-pagination .next,body:not(.avada-has-pagination-padding).fusion-hide-pagination-text .fusion-pagination .prev,body:not(.avada-has-pagination-padding).fusion-hide-pagination-text .pagination .pagination-next,body:not(.avada-has-pagination-padding).fusion-hide-pagination-text .pagination .pagination-prev{width:var(--pagination_width_height);height:var(--pagination_width_height);margin-left:calc((var(--pagination_width_height))/ 10);margin-right:calc((var(--pagination_width_height))/ 10)}body:not(.avada-has-pagination-padding) .pagination .pagination-next,body:not(.avada-has-pagination-padding) .pagination .pagination-prev{margin-left:calc((var(--pagination_width_height))/ 10);margin-right:calc((var(--pagination_width_height))/ 10)}body:not(.avada-has-pagination-padding) .pagination .pagination-dots{width:calc((var(--pagination_width_height))/ 2);margin-left:calc((var(--pagination_width_height))/ 10);margin-right:calc((var(--pagination_width_height))/ 10)}.avada-has-pagination-padding .fusion-pagination .current,.avada-has-pagination-padding .fusion-pagination .page-numbers:not(.prev):not(.next),.avada-has-pagination-padding .page-links a,.avada-has-pagination-padding .page-links>.page-number:not(.prev):not(.next),.avada-has-pagination-padding .pagination .current,.avada-has-pagination-padding .pagination a.inactive,.avada-has-pagination-padding.fusion-hide-pagination-text .fusion-pagination .next,.avada-has-pagination-padding.fusion-hide-pagination-text .fusion-pagination .prev,.avada-has-pagination-padding.fusion-hide-pagination-text .pagination .pagination-next,.avada-has-pagination-padding.fusion-hide-pagination-text .pagination .pagination-prev{padding:var(--pagination_box_padding-height) var(--pagination_box_padding-width) var(--pagination_box_padding-height) var(--pagination_box_padding-width)}.fusion-pagination .next,.fusion-pagination .page-numbers,.fusion-pagination .prev,.page-links,.pagination,.pagination .pagination-next,.pagination .pagination-prev{font-size:var(--pagination_font_size)}#comment-input input,.avada-select .select2-container .select2-choice,.avada-select .select2-container .select2-choice .select2-arrow,.avada-select .select2-container .select2-choice2 .select2-arrow,.chzn-container .chzn-drop,.chzn-container-single .chzn-single,.fusion-body .avada-select-parent select,.fusion-body .gift-cards-list button.ywgc-amount-buttons,.fusion-login-box .fusion-login-form input[type=password],.fusion-login-box .fusion-login-form input[type=text],.input-text:not(textarea),.main-nav-search-form input,.post-password-form label input[type=password],.search-page-search-form input,.searchform .fusion-search-form-content .fusion-search-button input[type=submit],.searchform .fusion-search-form-content .fusion-search-field input,.searchform .search-table .search-field input,.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--single .select2-selection__arrow,input.s,input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],select{height:var(--form_input_height);padding-top:0;padding-bottom:0}.avada-select .select2-container .select2-choice .select2-arrow,.avada-select .select2-container .select2-choice2 .select2-arrow,.searchform .fusion-search-form-content .fusion-search-button input[type=submit]{width:var(--form_input_height)}.avada-select .select2-container .select2-choice .select2-arrow,.avada-select .select2-container .select2-choice2 .select2-arrow,.searchform .fusion-search-form-content .fusion-search-button input[type=submit],.select2-container .select2-choice>.select2-chosen,.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:var(--form_input_height)}.fusion-main-menu .fusion-main-menu-search .fusion-custom-menu-item-contents{width:var(--form_input_height-main-menu-search-width)}#comment-input input,#comment-textarea textarea,.avada-select .select2-container .select2-choice,.avada-select .select2-container .select2-choice2,.chzn-container .chzn-drop,.chzn-container-single .chzn-single,.comment-form-comment textarea,.fusion-body .avada-select-parent select,.fusion-body .gift-cards-list button.ywgc-amount-buttons,.input-text,.main-nav-search-form input,.post-password-form label input[type=password],.search-page-search-form input,input.s,input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],select,textarea{background-color:var(--form_bg_color);font-size:var(--form_text_size);color:var(--form_text_color)}#comment-input input:focus,#comment-textarea textarea:focus,.avada-select .select2-container .select2-choice2:focus,.avada-select .select2-container .select2-choice:focus,.chzn-container .chzn-drop:focus,.chzn-container-single .chzn-single:focus,.comment-form-comment textarea:focus,.fusion-body .avada-select-parent select:focus,.fusion-body .gift-cards-list button.ywgc-amount-buttons:focus,.input-text:focus,.main-nav-search-form input:focus,.post-password-form label input[type=password]:focus,.search-page-search-form input:focus,input.s:focus,input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,select:focus,textarea:focus{border-color:var(--form_focus_border_color)}.fusion-body .gift-cards-list .ywgc-amount-buttons.selected_button{border-color:var(--form_focus_border_color)}.searchform .fusion-search-form-content .fusion-search-field input,.select2-container--default .select2-selection--single{background-color:var(--form_bg_color);font-size:var(--form_text_size)}#wrapper .select-arrow,.avada-select-parent .select-arrow,.fusion-modal-content .select-arrow,.select2-dropdown{background-color:var(--form_bg_color)}#calc_shipping_state_field .select2-selection__placeholder,#comment-input .placeholder,#comment-textarea .placeholder,.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-form-content .fusion-search-button input[type=submit],.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-form-content .fusion-search-button input[type=submit],.select2-results__option,input.s .placeholder{font-size:var(--form_text_size);color:var(--form_text_color)}#calc_shipping_state_field .select2-selection__placeholder:focus,#comment-input .placeholder:focus,#comment-textarea .placeholder:focus,.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-form-content .fusion-search-button input[type=submit]:focus,.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-form-content .fusion-search-button input[type=submit]:focus,.select2-results__option:focus,input.s .placeholder:focus{border-color:var(--form_focus_border_color)}.select2-selection__rendered{font-size:var(--form_text_size)}.catalog-ordering a,.order-dropdown ul li a,.order-dropdown>li:after,.searchform .fusion-search-form-content .fusion-search-field input,.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--form_text_color)}.catalog-ordering a:focus,.order-dropdown ul li a:focus,.order-dropdown>li:after:focus,.searchform .fusion-search-form-content .fusion-search-field input:focus,.select2-container--default .select2-selection--single .select2-selection__rendered:focus{border-color:var(--form_focus_border_color)}.quicktags-toolbar{background:linear-gradient(to top,var(--content_bg_color),var(--form_bg_color)) #3e3e3e}.quicktags-toolbar input{font-size:var(--form_text_size);color:var(--form_text_color)}.quicktags-toolbar input:hover{background:var(--form_bg_color)}.quicktags-toolbar input:focus{border-color:var(--form_focus_border_color)}.fusion-live-search .fusion-search-results{background-color:var(--form_bg_color);font-size:var(--form_text_size);color:var(--form_text_color);border-radius:var(--form_border_radius)}.fusion-live-search .fusion-search-results:focus{border-color:var(--form_focus_border_color)}.fusion-live-search .fusion-search-results.suggestions-added{margin-top:var(--form_border_width-top)}.fusion-live-search .fusion-search-result,.fusion-live-search .fusion-search-results{border-color:var(--form_focus_border_color);border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left)}#wrapper .select-arrow,.avada-select-parent .select-arrow,.fusion-modal-content .select-arrow,.gravity-select-parent .select-arrow,.select-arrow,.wpcf7-select-parent .select-arrow{font-size:calc((var(--form_text_size)) * .75)}#comment-input input::-moz-placeholder,#comment-textarea textarea::-moz-placeholder,.comment-form-comment textarea::-moz-placeholder,.input-text::-moz-placeholder,.post-password-form label input[type=password]::-moz-placeholder,.searchform .s::-moz-placeholder,input.s::-moz-placeholder,input::-moz-placeholder,textarea.fusion-form-input::-moz-placeholder{color:var(--form_text_color)}#comment-input input::-webkit-input-placeholder,#comment-textarea textarea::-webkit-input-placeholder,.comment-form-comment textarea::-webkit-input-placeholder,.input-text::-webkit-input-placeholder,.post-password-form label input[type=password]::-webkit-input-placeholder,.searchform .s::-webkit-input-placeholder,input.s::-webkit-input-placeholder,input::-webkit-input-placeholder,textarea.fusion-form-input::-webkit-input-placeholder{color:var(--form_text_color)}.fusion-body select:focus+.select-arrow,.fusion-body select:focus+.select2-arrow{border-color:var(--form_focus_border_color);color:var(--form_focus_border_color)}.select2-container--default.select2-container--open .select2-dropdown,.select2-container--default.select2-container--open .select2-dropdown .select2-search,.select2-container--default.select2-container--open .select2-search--dropdown .select2-search__field,.select2-container--default.select2-container--open .select2-selection--single,.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow,.select2-container--default.select2-container--open .select2-selection--single .select2-selection__rendered{border-color:var(--form_focus_border_color)}.select2-container--default.select2-container--open .select2-selection--single:focus .select2-selection__arrow b{border-bottom-color:var(--form_focus_border_color)}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-bottom-color:var(--form_border_color)}.select2-container--default .select2-container .select2-selection:focus .select2-selection__arrow{border-color:var(--form_focus_border_color)}.select2-container--default .select2-selection--single:focus .select2-selection__arrow b{border-top-color:var(--form_focus_border_color)}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-top-color:var(--form_border_color)}.fusion-search-form-clean .fusion-live-search .fusion-slider-loading{border-bottom-color:var(--form_text_color);border-top-color:var(--form_text_color-35a);border-right-color:var(--form_text_color-35a);border-left-color:var(--form_text_color-35a)}#comment-input input,#comment-textarea textarea,.avada-select .select2-container .select2-choice,.avada-select .select2-container .select2-choice .select2-arrow,.avada-select .select2-container .select2-choice2 .select2-arrow,.chzn-container .chzn-drop,.chzn-container-single .chzn-single,.comment-form-comment textarea,.fusion-body .avada-select-parent .select-arrow,.fusion-body .avada-select-parent select,.fusion-body .gift-cards-list button.ywgc-amount-buttons,.gravity-select-parent .select-arrow,.input-text,.main-nav-search-form input,.post-password-form label input[type=password],.search-page-search-form input,.searchform .fusion-search-form-content .fusion-search-field input,.select-arrow,.select2-container .select2-selection .select2-selection__arrow,.select2-container--default .select2-dropdown .select2-search,.select2-container--default .select2-search--dropdown .select2-search__field,.select2-container--default .select2-selection--single,.select2-dropdown,input.s,input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],select,textarea{border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left);border-color:var(--form_border_color);border-radius:var(--form_border_radius)}.select-arrow,.select2-arrow{color:var(--form_border_color)}.quicktags-toolbar input{border:1px solid var(--form_border_color)}.fusion-contact-form .grecaptcha-badge{box-shadow:0 0 3px var(--form_border_color)!important}.fusion-search-element .searchform.fusion-search-form-classic .fusion-search-form-content,.fusion-search-form-classic .searchform:not(.fusion-search-form-clean) .fusion-search-form-content,input[type=tel]{border-radius:var(--form_border_radius);border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left)}.select2-container .select2-selection .select2-selection__arrow{border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left)}.avada-select-parent .select-arrow,.gravity-select-parent .select-arrow,.select-arrow,.wpcf7-select-parent .select-arrow{bottom:var(--form_border_width-bottom)}.fusion-blog-layout-masonry .fusion-post-content-wrapper,.fusion-portfolio-layout-masonry .fusion-portfolio-content{background-color:var(--timeline_bg_color-not-transparent)}.fusion-blog-layout-grid .post .fusion-post-wrapper,.fusion-blog-layout-timeline .post,.fusion-portfolio.fusion-portfolio-boxed .fusion-portfolio-content-wrapper{background-color:var(--timeline_bg_color)}.fusion-blog-layout-timeline .fusion-timeline-circle,.fusion-blog-layout-timeline .fusion-timeline-date,.fusion-blog-timeline-layout .fusion-timeline-circle,.fusion-blog-timeline-layout .fusion-timeline-date{background-color:var(--timeline_color)}.fusion-blog-timeline-layout .fusion-timeline-arrow,.fusion-blog-timeline-layout .fusion-timeline-icon,.fusion-timeline-arrow,.fusion-timeline-icon{color:var(--timeline_color)}.fusion-blog-layout-grid .post .flexslider,.fusion-blog-layout-grid .post .fusion-post-wrapper,.fusion-blog-layout-timeline .fusion-timeline-arrow,.fusion-blog-layout-timeline .fusion-timeline-date,.fusion-blog-layout-timeline .fusion-timeline-line,.fusion-blog-layout-timeline .post,.fusion-blog-layout-timeline .post .flexslider,.fusion-blog-timeline-layout .post,.fusion-blog-timeline-layout .post .flexslider,.fusion-portfolio.fusion-portfolio-boxed .fusion-portfolio-content-wrapper{border-color:var(--timeline_color)}.avada-has-transparent-timeline_color .fusion-blog-layout-grid .post .flexslider,.avada-has-transparent-timeline_color .fusion-blog-layout-grid .post .fusion-post-wrapper,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .fusion-timeline-arrow,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .fusion-timeline-date,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .fusion-timeline-line,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .post,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .post .flexslider,.avada-has-transparent-timeline_color .fusion-blog-timeline-layout .post,.avada-has-transparent-timeline_color .fusion-blog-timeline-layout .post .flexslider,.avada-has-transparent-timeline_color .fusion-portfolio.fusion-portfolio-boxed .fusion-portfolio-content-wrapper,.avada-has-transparent-timeline_color.fusion-portfolio.fusion-portfolio-boxed .fusion-portfolio-content-wrapper{border:none}.fusion-blog-layout-grid .post .fusion-content-sep,.fusion-blog-layout-timeline .post .fusion-content-sep,.fusion-blog-timeline-layout .post .fusion-content-sep,.fusion-body .product .fusion-content-sep,.fusion-portfolio.fusion-portfolio-boxed .fusion-content-sep{border-color:var(--grid_separator_color)}.fusion-blog-layout-grid .post .fusion-content-sep,.fusion-layout-timeline .post .fusion-content-sep,.fusion-portfolio.fusion-portfolio-boxed .fusion-content-sep{border-color:var(--grid_separator_color)}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:landscape){.avada-footer-fx-bg-parallax.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-bg-parallax.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-parallax-effect.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-sticky-with-parallax-bg-image.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-parallax-effect.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-sticky-with-parallax-bg-image.avada-has-footer-widget-bg-image .fusion-body #wrapper{background-color:transparent}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:portrait){.avada-footer-fx-bg-parallax.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-bg-parallax.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-parallax-effect.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-no-height-sticky-with-parallax-bg-image.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-parallax-effect.avada-has-footer-widget-bg-image .fusion-body #wrapper,.avada-footer-fx-sticky-with-parallax-bg-image.avada-has-footer-widget-bg-image .fusion-body #wrapper{background-color:transparent}}#slidingbar-area .widget-title,#slidingbar-area h3,.fusion-privacy-bar-full .column-title{font-family:var(--footer_headings_typography-font-family);font-size:var(--footer_headings_typography-font-size);font-weight:var(--footer_headings_typography-font-weight);line-height:var(--footer_headings_typography-line-height);letter-spacing:var(--footer_headings_typography-letter-spacing);text-transform:var(--footer_headings_typography-text-transform);font-style:var(--footer_headings_typography-font-style,normal);color:var(--footer_headings_typography-color)}.fusion-footer-widget-column .product-title{color:var(--footer_headings_typography-color)}:root{--adminbar-height:0px}body.admin-bar{--adminbar-height:32px}@media screen and (max-width:782px){body.admin-bar{--adminbar-height:46px}}.page-template-blank #boxed-wrapper{display:flex}.page-template-blank #boxed-wrapper>div{flex-grow:1;flex-basis:auto}#main .fusion-row,#slidingbar-area .fusion-row,.fusion-footer-widget-area .fusion-row,.fusion-page-title-row{max-width:var(--site_width)}.ua-mobile .avada-not-responsive #slidingbar-area.fusion-sliding-bar-position-bottom,.ua-mobile .avada-not-responsive #slidingbar-area.fusion-sliding-bar-position-top{width:var(--site_width)}body.avada-not-responsive{min-width:var(--site_width)}html:not(.avada-has-site-width-percent) #main,html:not(.avada-has-site-width-percent) .fusion-footer-copyright-area,html:not(.avada-has-site-width-percent) .fusion-footer-widget-area,html:not(.avada-has-site-width-percent) .fusion-sliding-bar-position-bottom .fusion-sliding-bar,html:not(.avada-has-site-width-percent) .fusion-sliding-bar-position-top .fusion-sliding-bar{padding-left:30px;padding-right:30px}html:not(.avada-has-site-width-percent) #main.width-100{padding-left:var(--hundredp_padding-fallback_to_zero);padding-right:var(--hundredp_padding-fallback_to_zero)}.fusion-page-title-bar.fusion-tb-page-title-bar{padding-left:0;padding-right:0;height:auto}.fusion-footer.fusion-tb-footer .fusion-footer-widget-area{padding:0}body.layout-boxed-mode{margin-top:var(--margin_offset-top)!important;margin-bottom:var(--margin_offset-bottom)!important}body.layout-boxed-mode #wrapper,body.layout-boxed-mode .fusion-footer-parallax{width:var(--site_width);max-width:100%;margin:0 auto}body.layout-boxed-mode #wrapper.wrapper_blank{display:block}.has-sidebar .width-100 .fusion-fullwidth,.has-sidebar .width-100 .nonhundred-percent-fullwidth{margin-left:0;margin-right:0}.width-100 .fusion-fullwidth,.width-100 .nonhundred-percent-fullwidth{margin-left:var(--hundredp_padding-hundred_percent_negative_margin);margin-right:var(--hundredp_padding-hundred_percent_negative_margin)}.width-100 .fusion-fullwidth .fusion-fullwidth,.width-100 .fusion-fullwidth .nonhundred-percent-fullwidth{margin-left:0;margin-right:0}.width-100 .fusion-fullwidth.fusion-absolute-container{width:calc(100% + 2 * (var(--hundredp_padding-fallback_to_zero_px)))}body.page-template-100-width.side-header .fusion-tb-footer .fusion-fullwidth.fusion-absolute-container{width:calc(100% - var(--side_header_width))}html.avada-has-site-width-percent body #main.width-100>.fusion-row,html.avada-has-site-width-percent body.avada-responsive #main.width-100>.fusion-row{padding-left:0;padding-right:0}html.avada-has-site-width-percent .width-100 .fullwidth-box,html.avada-has-site-width-percent .width-100 .fullwidth-box .fusion-row .fusion-full-width-sep{margin-left:var(--hundredp_padding-hundred_percent_negative_margin);margin-right:var(--hundredp_padding-hundred_percent_negative_margin)}html.avada-has-site-width-percent .width-100 .fullwidth-box .fullwidth-box,html.avada-has-site-width-percent .width-100 .fullwidth-box .fullwidth-box .fusion-row .fusion-full-width-sep{margin-left:0;margin-right:0}html.avada-has-site-width-percent.avada-has-site-width-100-percent #main .fusion-row,html.avada-has-site-width-percent.avada-has-site-width-100-percent #slidingbar .fusion-row,html.avada-has-site-width-percent.avada-has-site-width-100-percent .fusion-footer-copyright-area,html.avada-has-site-width-percent.avada-has-site-width-100-percent .fusion-footer-widget-area{padding-left:var(--hundredp_padding);padding-right:var(--hundredp_padding)}body.awb-no-sidebars #content{width:100%;float:none}body.has-sidebar #main .sidebar{width:var(--sidebar_width)}body.has-sidebar #content{width:calc(100% - var(--sidebar_width) - var(--sidebar_gutter))}body.has-sidebar.double-sidebars #main #sidebar{width:var(--sidebar_2_1_width);margin-left:calc(var(--dual_sidebar_gutter) - 100% + var(--sidebar_2_2_width))}body.has-sidebar.double-sidebars #main #sidebar-2{width:var(--sidebar_2_2_width);margin-left:var(--dual_sidebar_gutter)}body.has-sidebar.double-sidebars #content{width:calc(100% - var(--sidebar_2_1_width) - var(--sidebar_2_2_width) - var(--dual_sidebar_gutter) - var(--dual_sidebar_gutter));margin-left:calc(var(--sidebar_2_1_width) + var(--dual_sidebar_gutter))}#main{padding-left:30px;padding-right:30px;padding-top:var(--main_padding-top);padding-bottom:var(--main_padding-bottom)}#main.width-100{padding-left:var(--hundredp_padding-fallback_to_zero);padding-right:var(--hundredp_padding-fallback_to_zero)}html.avada-is-100-percent-template #main{padding-left:0;padding-right:0}html.avada-is-100-percent-template #main.width-100{padding-left:var(--hundredp_padding-fallback_to_zero);padding-right:var(--hundredp_padding-fallback_to_zero)}body.layout-boxed-mode.layout-scroll-offset-framed{margin-top:var(--margin_offset-top-no-percent)!important;margin-bottom:var(--margin_offset-bottom-no-percent)!important}.fusion-bottom-frame,.fusion-boxed-shadow,.fusion-sides-frame,.fusion-top-frame{display:none}.layout-boxed-mode.layout-scroll-offset-framed .fusion-sides-frame{display:block;position:fixed;width:100%;height:100%;left:0;top:0;pointer-events:none}.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top) .fusion-bottom-frame,.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top) .fusion-top-frame{display:block;position:fixed;z-index:99999;width:100%}.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top) .fusion-sides-frame,.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top) .fusion-top-frame{top:0}.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top) .fusion-bottom-frame{bottom:0}.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top).avada-has-boxed-modal-shadow-none .fusion-boxed-shadow{display:none}.layout-boxed-mode.layout-scroll-offset-framed:not(.avada-has-zero-margin-offset-top):not(.avada-has-boxed-modal-shadow-none):not(.avada-footer-fx-sticky) #wrapper{box-shadow:none}.layout-boxed-mode.layout-scroll-offset-framed.avada-has-boxed-modal-shadow-hard .fusion-boxed-shadow,.layout-boxed-mode.layout-scroll-offset-framed.avada-has-boxed-modal-shadow-light .fusion-boxed-shadow,.layout-boxed-mode.layout-scroll-offset-framed.avada-has-boxed-modal-shadow-medium .fusion-boxed-shadow{display:block;position:fixed;z-index:99999;pointer-events:none}.layout-boxed-mode.layout-scroll-offset-framed .fusion-top-frame{height:var(--margin_offset-top-no-percent)}.layout-boxed-mode.layout-scroll-offset-framed .fusion-bottom-frame{height:var(--margin_offset-bottom-no-percent)}.layout-boxed-mode.layout-scroll-offset-framed .fusion-boxed-shadow{width:var(--site_width);height:calc(100vh - var(--margin_offset-top-no-percent) - var(--margin_offset-bottom-no-percent));top:var(--margin_offset-top-no-percent);left:calc((100% - var(--site_width))/ 2)}.layout-boxed-mode.layout-scroll-offset-framed.admin-bar .fusion-sides-frame,.layout-boxed-mode.layout-scroll-offset-framed.admin-bar .fusion-top-frame{top:32px}.layout-boxed-mode.layout-scroll-offset-framed.admin-bar .fusion-boxed-shadow{height:calc(100vh - var(--margin_offset-top-no-percent) - var(--margin_offset-bottom-no-percent) - var(--adminbar-height))}.layout-boxed-mode.layout-scroll-offset-framed.admin-bar .fusion-boxed-shadow{top:calc(var(--margin_offset-top-no-percent) + var(--adminbar-height))}.layout-boxed-mode:not(.avada-has-zero-margin-offset-top).layout-scroll-offset-framed #boxed-wrapper{padding-top:var(--margin_offset-top-no-percent);padding-bottom:var(--margin_offset-bottom-no-percent);margin-top:calc(var(--margin_offset-top-no-percent)/ -1);margin-bottom:calc(var(--margin_offset-bottom-no-percent)/ -1)}html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode #main .fusion-row,html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode #slidingbar-area .fusion-row,html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode #small-nav .fusion-row,html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode .fusion-footer-copyright-area .fusion-row,html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode .fusion-footer-widget-area .fusion-row,html.avada-has-site-width-percent .avada-responsive.layout-boxed-mode .fusion-page-title-row{max-width:none;padding-left:10px;padding-right:10px}html.avada-has-site-width-percent.avada-html-not-responsive{overflow-x:auto}html.avada-has-site-width-percent.avada-html-not-responsive body{overflow-x:auto}.layout-wide-mode #wrapper{width:100%;max-width:none}.avada-has-pagetitle-100-width.layout-wide-mode .fusion-page-title-row{max-width:100%}.avada-footer-fx-parallax-effect #main{z-index:auto}.avada-footer-fx-parallax-effect .fusion-tb-header .fusion-fullwidth{--awb-z-index:2}.fusion-live-search .fusion-search-results{max-height:var(--live_search_results_height)}.search #posts-container .fusion-blog-layout-grid,.search-results #posts-container .fusion-blog-layout-grid{margin-top:calc((var(--search_grid_column_spacing))/ -2);margin-right:calc((var(--search_grid_column_spacing))/ -2);margin-bottom:0;margin-left:calc((var(--search_grid_column_spacing))/ -2)}.search #posts-container .fusion-blog-layout-grid .fusion-post-grid,.search-results #posts-container .fusion-blog-layout-grid .fusion-post-grid{padding:calc((var(--search_grid_column_spacing))/ 2)}.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-search-spacer{width:calc((var(--form_input_height)) * .4)}.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-close-search{width:var(--form_text_size);height:var(--form_text_size)}.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-close-search:after,.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-close-search:before{background-color:var(--nav_typography-color)}.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-close-search:hover:after,.fusion-main-menu-search-overlay .fusion-overlay-search .fusion-close-search:hover:before{background-color:var(--menu_hover_first_color)}.fusion-body .fusion-flexslider .flex-direction-nav a,.fusion-body .fusion-flexslider.flexslider-attachments .flex-direction-nav a,.fusion-body .fusion-flexslider.flexslider-posts .flex-direction-nav a,.fusion-body .fusion-flexslider.flexslider-posts-with-excerpt .flex-direction-nav a,.fusion-body .fusion-slider-sc .flex-direction-nav a,.fusion-body .woocommerce-product-gallery .flex-direction-nav a{width:var(--slider_nav_box_dimensions-width);height:var(--slider_nav_box_dimensions-height);line-height:var(--slider_nav_box_dimensions-height);font-size:var(--slider_arrow_size)}.fusion-social-links-footer .fusion-social-networks a{font-size:var(--footer_social_links_font_size)}.fusion-social-links-footer .fusion-social-networks a.custom{max-height:var(--footer_social_links_boxed_padding)}.fusion-social-links-footer .fusion-social-networks a.custom img{max-height:var(--footer_social_links_font_size)}.fusion-social-links-footer .fusion-social-networks.boxed-icons a{width:calc(var(--footer_social_links_font_size) + (2 * (var(--footer_social_links_boxed_padding))) + 2px);padding:var(--footer_social_links_boxed_padding)}.fusion-social-links-footer .fusion-social-networks.boxed-icons a.custom{top:calc((var(--footer_social_links_boxed_padding)) * -1)}.fusion-social-links-footer .fusion-social-networks.boxed-icons a.custom img{max-height:calc(var(--footer_social_links_font_size) + (2 * (var(--footer_social_links_boxed_padding))) + 2px)}.fusion-social-links-footer .fusion-social-networks.boxed-icons .fusion-social-network-icon{color:var(--footer_social_links_icon_color)}.fusion-social-links-footer .fusion-social-networks.boxed-icons .fusion-social-network-icon:not(.custom){background-color:var(--footer_social_links_box_color);border-color:var(--footer_social_links_box_color);border-radius:var(--footer_social_links_boxed_radius)}.fusion-social-links-footer .fusion-social-networks .fusion-social-network-icon{color:var(--footer_social_links_icon_color)}.fusion-social-networks.boxed-icons .fusion-social-network-icon:not(.custom){background-color:var(--footer_social_links_box_color);border-color:var(--footer_social_links_box_color)}.fusion-single-sharing-box{background-color:var(--social_bg_color);padding:var(--social_bg_color-0-transparent,20px)}#nav ul li ul li a,#sticky-nav ul li ul li a,#wrapper #nav ul li ul li > a,#wrapper #sticky-nav ul li ul li > a,.avada-container h3,.comment-form input[type="submit"],.ei-title h3,.fusion-blog-shortcode .fusion-timeline-date,.fusion-body #main .tribe-common .tribe-events-c-day-marker__date,.fusion-body #main .tribe-events .datepicker,.fusion-body .fusion-wrapper #main .tribe-common .tribe-common-h6--min-medium,.fusion-body .tribe-common .tribe-common-b2,.fusion-body .tribe-common .tribe-common-b3,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .price,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content a,.fusion-load-more-button,.fusion-main-menu .sub-menu,.fusion-main-menu .sub-menu li a,.fusion-megamenu-widgets-container,.fusion-megamenu-wrapper .fusion-megamenu-submenu > a:hover,.fusion-megamenu-wrapper li .fusion-megamenu-title-disabled,.fusion-page-title-captions h3,.gform_page_footer input[type=button],.meta .fusion-date,.more,.review blockquote div strong,.review blockquote q,.ticket-selector-submit-btn[type=submit],.wpcf7-form input[type="submit"],body{font-family:var(--body_typography-font-family);font-weight:var(--body_typography-font-weight);letter-spacing:var(--body_typography-letter-spacing);font-style:var(--body_typography-font-style,normal)}#slidingbar-area .slide-excerpt h2,#slidingbar-area ul,.counter-box-content,.fusion-alert,.fusion-blog-layout-timeline .fusion-timeline-date,.fusion-body #main .tribe-events .datepicker,.fusion-body .tribe-common .tribe-common-b2,.fusion-body .tribe-common .tribe-common-b3,.fusion-footer-widget-area .slide-excerpt h2,.fusion-footer-widget-area ul,.fusion-progressbar .progress-title,.fusion-project-details-tb .project-info h4,.gform_wrapper .gfield_description,.gform_wrapper label,.jtwt .jtwt_tweet,.project-content .project-info h4,.review blockquote q,.sidebar .jtwt .jtwt_tweet,.sidebar .slide-excerpt h2,body{font-size:var(--body_typography-font-size)}#nav ul li ul li a,#side-header .fusion-contact-info,#side-header .header-social .top-menu,#sticky-nav ul li ul li a,#wrapper #nav ul li ul li > a,#wrapper #sticky-nav ul li ul li > a,.avada-container h3,.comment-form input[type="submit"],.ei-title h3,.fusion-accordian .panel-body,.fusion-body #main .tribe-common .tribe-events-c-day-marker__date,.fusion-body .fusion-wrapper #main .tribe-common .tribe-common-h6--min-medium,.fusion-body .tribe-common .tribe-common-b2,.fusion-body .tribe-common .tribe-common-b3,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .price,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content a,.fusion-main-menu .sub-menu,.fusion-main-menu .sub-menu li a,.fusion-megamenu-widgets-container,.fusion-megamenu-wrapper .fusion-megamenu-submenu > a:hover,.fusion-megamenu-wrapper li .fusion-megamenu-title-disabled,.fusion-page-title-captions h3,.gform_page_footer input[type=button],.meta .fusion-date,.more,.review blockquote div strong,.review blockquote q,.single-tribe_events #tribe-events-content .tribe-events-event-meta dt,.ticket-selector-submit-btn[type=submit],body{line-height:var(--body_typography-line-height)}.fusion-blog-timeline-layout .fusion-timeline-date,.fusion-body #main .tribe-common .tribe-events-c-day-marker__date,.fusion-body .fusion-wrapper #main .tribe-common .tribe-common-h6--min-medium,.fusion-body .fusion-wrapperr .meta,.fusion-body .tribe-block__tickets__registration__tickets__header,.fusion-body .tribe-common .tribe-common-b2,.fusion-body .tribe-common .tribe-common-b3,.fusion-body .tribe-events .tribe-events-calendar-list__event-datetime,.fusion-main-menu .fusion-custom-menu-item-contents,.fusion-project-details-tb .project-info h4,.fusion-rollover .price .amount,.post .post-content,.project-content .project-info h4,.review blockquote div,.search input,.sidebar .jtwt,.sidebar .widget .recentcomments,.sidebar .widget_archive li,.sidebar .widget_categories li,.sidebar .widget_layered_nav li,.sidebar .widget_links li,.sidebar .widget_meta li,.sidebar .widget_nav_menu li,.sidebar .widget_pages li,.sidebar .widget_product_categories li,.sidebar .widget_recent_entries li,.title-row,body{color:var(--body_typography-color)}.meta .fusion-date{font-style:italic}#main .post h2 a,.about-author .title a,.fusion-blog-pagination .pagination .pagination-next:after,.fusion-blog-pagination .pagination .pagination-prev:before,.fusion-hide-pagination-text .pagination-next:after,.fusion-hide-pagination-text .pagination-prev:before,.fusion-load-more-button,.fusion-rollover a,.pagination .pagination-next:after,.pagination .pagination-prev:before,.project-content .project-info .project-info-box a,.shop_attributes tr th,.single-navigation a[rel=next]:after,.single-navigation a[rel=prev]:before,body a,body a:after,body a:before{color:var(--link_color)}.fusion-modal h1,.fusion-page-title-bar h1,.fusion-tb-footer h1,.fusion-tb-page-title-bar h1,.fusion-title h1,.fusion-widget-area h1,.post-content h1,.search-page-search-form h1,h1{font-family:var(--h1_typography-font-family);font-weight:var(--h1_typography-font-weight);line-height:var(--h1_typography-line-height);letter-spacing:var(--h1_typography-letter-spacing);text-transform:var(--h1_typography-text-transform);font-style:var(--h1_typography-font-style,normal)}.fusion-modal h1,.fusion-tb-footer h1,.fusion-tb-page-title-bar h1,.fusion-widget-area h1,.post-content h1,.search-page-search-form h1,h1{font-size:var(--h1_typography-font-size)}.fusion-modal h1,.fusion-post-content h1,.fusion-tb-footer h1,.fusion-tb-page-title-bar h1,.fusion-widget-area h1,.post-content h1,.search-page-search-form h1,.title h1,h1{color:var(--h1_typography-color)}h1{margin-top:var(--h1_typography-margin-top);margin-bottom:var(--h1_typography-margin-bottom)}.ei-title h2,.main-flex .slide-content h2,.post h2,.post-content h2,h2{font-family:var(--h2_typography-font-family);font-weight:var(--h2_typography-font-weight);line-height:var(--h2_typography-line-height);letter-spacing:var(--h2_typography-letter-spacing);text-transform:var(--h2_typography-text-transform);font-style:var(--h2_typography-font-style,normal)}.post h2,.post-content h2,h2,h2.entry-title{font-size:var(--h2_typography-font-size)}.fusion-post-content h2,.search-page-search-form h2,h2{color:var(--h2_typography-color)}.fusion-title-size-two,h2{margin-top:var(--h2_typography-margin-top);margin-bottom:var(--h2_typography-margin-bottom)}.fusion-author .fusion-author-title,.fusion-header-tagline,.fusion-modal .modal-title,.fusion-pricing-table .pricing-row,.fusion-pricing-table .title-row,.main-flex .slide-content h3,.post-content h3,.project-content h3,.sidebar .widget h3,h3{font-family:var(--h3_typography-font-family);font-weight:var(--h3_typography-font-weight);line-height:var(--h3_typography-line-height);letter-spacing:var(--h3_typography-letter-spacing);text-transform:var(--h3_typography-text-transform);font-style:var(--h3_typography-font-style,normal)}.fusion-author .fusion-author-title,.fusion-modal .modal-title,.fusion-widget-area h3,.post-content h3,.project-content h3,h3{font-size:var(--h3_typography-font-size)}.fusion-author .fusion-author-title,.fusion-post-content h3,.fusion-title h3,.person-author-wrapper span,.post-content h3,.project-content h3,.sidebar .widget h3,.title h3,h3{color:var(--h3_typography-color)}h3{margin-top:var(--h3_typography-margin-top);margin-bottom:var(--h3_typography-margin-bottom)}.fusion-carousel-title,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title,.fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title a,.fusion-megamenu-title,.fusion-person .person-desc .person-author .person-author-wrapper,.fusion-project-details-tb .project-info h4,.fusion-tabs .nav-tabs  li .fusion-tab-heading,.fusion-tabs-widget .fusion-tabs-nav ul li a,.fusion-theme-sharing-box h4,.fusion-title h4,.fusion-widget-area h4,.popover .popover-title,.post-content h4,.project-content .project-info h4,.tribe-events-single ul.tribe-related-events li .tribe-related-events-title,h4,table th{font-family:var(--h4_typography-font-family);font-weight:var(--h4_typography-font-weight);line-height:var(--h4_typography-line-height);letter-spacing:var(--h4_typography-letter-spacing);text-transform:var(--h4_typography-text-transform);font-style:var(--h4_typography-font-style,normal)}.fusion-project-details-tb .project-info .project-terms,.fusion-tb-footer h4,.fusion-tb-page-title-bar h4,.project-content .project-info .project-terms,.project-info-box span,.tribe-events-single ul.tribe-related-events li .tribe-related-events-title,h4{line-height:var(--h4_typography-line-height)}.fusion-carousel-title,.fusion-person .person-author-wrapper .person-name,.fusion-person .person-author-wrapper .person-title,.fusion-rollover .fusion-rollover-content .fusion-rollover-title,.fusion-sharing-box h4,.fusion-tabs .nav-tabs > li .fusion-tab-heading,.fusion-tabs-widget .fusion-tabs-nav ul li a,.fusion-theme-sharing-box h4,.fusion-widget-area h4,.person-author-wrapper,.popover .popover-title,.post-content h4,.tribe-events-single ul.tribe-related-events li .tribe-related-events-title,h4{font-size:var(--h4_typography-font-size)}.fusion-carousel-title,.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li a,.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-widget-content .fusion-date-box,.fusion-post-content h4,.fusion-project-details-tb .project-info h4,.fusion-tabs .nav-tabs > li .fusion-tab-heading,.fusion-theme-sharing-box h4,.fusion-title h4,.fusion-widget-area h4,.post-content h4,.project-content .project-info h4,.title h4,.tribe-events-single ul.tribe-related-events li .tribe-related-events-title,h4{color:var(--h4_typography-color)}.fusion-title-size-four,h4{margin-top:var(--h4_typography-margin-top);margin-bottom:var(--h4_typography-margin-bottom)}.fusion-title h5,.fusion-widget-area h5,.post-content h5,h5{font-family:var(--h5_typography-font-family);font-weight:var(--h5_typography-font-weight);line-height:var(--h5_typography-line-height);letter-spacing:var(--h5_typography-letter-spacing);text-transform:var(--h5_typography-text-transform);font-style:var(--h5_typography-font-style,normal)}.fusion-widget-area h5,.post-content h5,h5{font-size:var(--h5_typography-font-size)}.fusion-post-content h5,.fusion-title h5,.fusion-widget-area h5,.post-content h5,.title h5,h5{color:var(--h5_typography-color)}h5{margin-top:var(--h5_typography-margin-top);margin-bottom:var(--h5_typography-margin-bottom)}.fusion-title h6,.fusion-widget-area h6,.post-content h6,h6{font-family:var(--h6_typography-font-family);font-weight:var(--h6_typography-font-weight);line-height:var(--h6_typography-line-height);letter-spacing:var(--h6_typography-letter-spacing);text-transform:var(--h6_typography-text-transform);font-style:var(--h6_typography-font-style,normal)}.fusion-widget-area h6,.post-content h6,h6{font-size:var(--h6_typography-font-size)}.fusion-post-content h6,.fusion-title h6,.fusion-widget-area h6,.post-content h6,.title h6,h6{color:var(--h6_typography-color)}.fusion-title-size-six,h6{margin-top:var(--h6_typography-margin-top);margin-bottom:var(--h6_typography-margin-bottom)}#main .fusion-woocommerce-quick-view-container .product_title,#wrapper #main .fusion-portfolio-content > h1.fusion-post-title,#wrapper #main .fusion-portfolio-content > h2.fusion-post-title,#wrapper #main .fusion-post-content > .blog-shortcode-post-title,#wrapper #main .fusion-post-content > h1.fusion-post-title,#wrapper #main .fusion-post-content > h2.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h1.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h2.fusion-post-title,#wrapper #main .post > h1.fusion-post-title,#wrapper #main .post > h2.fusion-post-title,.single-product #main .product h1.product_title,.single-product #main .product h2.product_title{font-family:var(--post_title_typography-font-family);font-weight:var(--post_title_typography-font-weight);line-height:var(--post_title_typography-line-height);letter-spacing:var(--post_title_typography-letter-spacing);text-transform:var(--post_title_typography-text-transform);font-style:var(--post_title_typography-font-style,normal)}#main .fusion-woocommerce-quick-view-container .product_title,#wrapper #main .fusion-portfolio-content > h1.fusion-post-title,#wrapper #main .fusion-portfolio-content > h2.fusion-post-title,#wrapper #main .fusion-post-content > .blog-shortcode-post-title,#wrapper #main .fusion-post-content > h1.fusion-post-title,#wrapper #main .fusion-post-content > h2.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h1.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h2.fusion-post-title,#wrapper #main .post > h1.fusion-post-title,#wrapper #main .post > h2.fusion-post-title,.single-product #main .product h1.product_title,.single-product #main .product h2.product_title{font-size:var(--post_title_typography-font-size)}#wrapper #main .fusion-portfolio-content > h1.fusion-post-title,#wrapper #main .fusion-portfolio-content > h2.fusion-post-title,#wrapper #main .fusion-post-content > .blog-shortcode-post-title,#wrapper #main .fusion-post-content > h1.fusion-post-title,#wrapper #main .fusion-post-content > h2.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h1.fusion-post-title,#wrapper #main .post > .fusion-post-title-meta-wrap > h2.fusion-post-title,#wrapper #main .post > h1.fusion-post-title,#wrapper #main .post > h2.fusion-post-title{color:var(--post_title_typography-color)}#tab-reviews #reviews #comments > h2,#wrapper #main #comments .fusion-title h2,#wrapper #main #comments .fusion-title h3,#wrapper #main #respond .fusion-title h2,#wrapper #main #respond .fusion-title h3,#wrapper #main .about-author .fusion-title h2,#wrapper #main .about-author .fusion-title h3,#wrapper #main .related-posts .fusion-title h2,#wrapper #main .related-posts .fusion-title h3,#wrapper #main .related.products .fusion-title h2,#wrapper #main .related.products .fusion-title h3,.single-product .woocommerce-tabs .fusion-woocommerce-tab-title,.woocommerce-container .up-sells .fusion-title h3{font-family:var(--post_titles_extras_typography-font-family);font-weight:var(--post_titles_extras_typography-font-weight);line-height:var(--post_titles_extras_typography-line-height);letter-spacing:var(--post_titles_extras_typography-letter-spacing);text-transform:var(--post_titles_extras_typography-text-transform);font-style:var(--post_titles_extras_typography-font-style,normal)}#tab-reviews #reviews #comments > h2,#wrapper #main #comments .fusion-title h2,#wrapper #main #comments .fusion-title h3,#wrapper #main #respond .fusion-title h2,#wrapper #main #respond .fusion-title h3,#wrapper #main .about-author .fusion-title h2,#wrapper #main .about-author .fusion-title h3,#wrapper #main .related-posts .fusion-title h2,#wrapper #main .related-posts .fusion-title h3,#wrapper #main .related.products .fusion-title h2,#wrapper #main .related.products .fusion-title h3,.single-product .woocommerce-tabs .fusion-woocommerce-tab-title,.woocommerce-container .up-sells .fusion-title h3{font-size:var(--post_titles_extras_typography-font-size)}#tab-reviews #reviews #comments > h2,#wrapper #main #comments .fusion-title h2,#wrapper #main #comments .fusion-title h3,#wrapper #main #respond .fusion-title h2,#wrapper #main #respond .fusion-title h3,#wrapper #main .about-author .fusion-title h2,#wrapper #main .about-author .fusion-title h3,#wrapper #main .related-posts .fusion-title h2,#wrapper #main .related-posts .fusion-title h3,#wrapper #main .related.products .fusion-title h2,#wrapper #main .related.products .fusion-title h3,.single-product .woocommerce-tabs .fusion-woocommerce-tab-title,.woocommerce-container .up-sells .fusion-title h3{color:var(--post_titles_extras_typography-color)}.avada-select-parent .select-arrow,.gravity-select-parent .select-arrow,.select-arrow,.wpcf7-select-parent .select-arrow{right:var(--form_border_width-right)}.avada-select-parent .select-arrow,.gravity-select-parent .select-arrow,.select-arrow,.wpcf7-select-parent .select-arrow{border-top-left-radius:0;border-bottom-left-radius:0}.fusion-search-element .searchform.fusion-search-form-clean .fusion-search-form-content .fusion-search-field input,.fusion-search-form-clean #bbpress-forums .bbp-search-form #bbp_search,.fusion-search-form-clean .searchform:not(.fusion-search-form-classic) .fusion-search-form-content .fusion-search-field input{padding-left:var(--form_input_height)}.fusion-search-element .searchform.fusion-search-form-classic .fusion-search-form-content .fusion-search-field input,.fusion-search-form-classic #bbpress-forums .bbp-search-form #bbp_search,.fusion-search-form-classic .searchform:not(.fusion-search-form-clean) .fusion-search-form-content .fusion-search-field input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}#wrapper .fusion-date-and-formats .fusion-format-box,.tribe-mini-calendar-event .list-date .list-dayname,.widget .tribe-mini-calendar-event .list-date .list-dayname{background-color:var(--dates_box_color)}.fusion-menu-item-button .menu-text{border-color:var(--button_border_color)}.fusion-menu-item-button:hover .menu-text{border-color:var(--button_border_hover_color,var(--button_border_color))}.wpcf7-form .wpcf7-number,.wpcf7-form .wpcf7-quiz,.wpcf7-form .wpcf7-text,.wpcf7-form textarea{float:none!important;width:100%!important;box-sizing:border-box}.wpcf7-form .wpcf7-captchar,.wpcf7-form .wpcf7-date,.wpcf7-form .wpcf7-number,.wpcf7-form .wpcf7-quiz,.wpcf7-form .wpcf7-text{border:1px solid #d2d2d2;font-size:13px;color:#747474;padding:8px 15px;float:none;width:100%;margin-right:0;box-sizing:border-box}.wpcf7-form .wpcf7-captchar,.wpcf7-form .wpcf7-date{width:100%;margin-right:0}.wpcf7-form input{float:none}.wpcf7-form textarea{border:1px solid #d2d2d2;width:100%!important;height:150px;padding:8px 15px;box-sizing:border-box;margin-right:0;background-color:var(--form_bg_color);font-size:var(--form_text_size, 13px);color:var(--form_text_color,#747474);border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left);border-color:var(--form_border_color);border-radius:var(--form_border_radius)}.wpcf7-form textarea::-moz-input-placeholder{color:var(--form_text_color)}.wpcf7-form textarea::-webkit-input-placeholder{color:var(--form_text_color)}.wpcf7-form textarea:focus{border-color:var(--form_focus_border_color)}.wpcf7-form input[type=submit]:not(.fusion-button-span-yes){width:auto}.wpcf7-form .wpcf7-not-valid-tip{display:inline}.wpcf7 .wpcf7-form .wpcf7-response-output{margin-left:0;margin-right:0;padding:25px}.wpcf7 .wpcf7-form.failed .wpcf7-response-output,.wpcf7 .wpcf7-form.invalid .wpcf7-response-output,.wpcf7 .wpcf7-form.spam .wpcf7-response-output,.wpcf7 .wpcf7-form.unaccepted .wpcf7-response-output{background-color:#f2dede;border:1px solid #b94a48;color:#b94a48}.wpcf7 .wpcf7-form.sent .wpcf7-response-output{background-color:#dff0d8;border:1px solid #468847;color:#468847}.sidebar .wpcf7-form .wpcf7-number,.sidebar .wpcf7-form .wpcf7-quiz,.sidebar .wpcf7-form .wpcf7-text{width:100%;margin-right:0}.wpcf7-select-parent{overflow:hidden;position:relative;width:100%}.wpcf7-select-parent .select-arrow{width:35px;height:33px;line-height:33px;border-left:1px solid var(--form_border_color,#dadada);position:absolute;top:1px;right:1px;background:var(--form_bg_color,#fff);pointer-events:none;z-index:10;font-family:awb-icons;text-align:center;font-size:var(--form_text_size, 9px);color:var(--form_text_color);border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left);border-color:var(--form_border_color);border-radius:var(--form_border_radius)}.wpcf7-select-parent .select-arrow:focus{border-color:var(--form_focus_border_color)}.wpcf7-select-parent .wpcf7-select{-webkit-appearance:none;-moz-appearance:none;text-overflow:"";background:#fbfaf9;border:1px solid #dadada;color:#333;cursor:pointer;display:block;font-size:13px;outline:0;height:auto;width:100%;padding:8px 15px;position:relative;text-indent:.01px;vertical-align:middle;z-index:5;margin:0;border-radius:0}.wpcf7-captchar,.wpcf7-form .wpcf7-date,.wpcf7-form .wpcf7-number,.wpcf7-form .wpcf7-quiz,.wpcf7-form .wpcf7-select,.wpcf7-form .wpcf7-text{padding-top:0;padding-bottom:0;height:var(--form_input_height);background-color:var(--form_bg_color);font-size:var(--form_text_size, 13px);color:var(--form_text_color,#747474);border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left);border-color:var(--form_border_color);border-radius:var(--form_border_radius)}.wpcf7-captchar:focus,.wpcf7-form .wpcf7-date:focus,.wpcf7-form .wpcf7-number:focus,.wpcf7-form .wpcf7-quiz:focus,.wpcf7-form .wpcf7-select:focus,.wpcf7-form .wpcf7-text:focus{border-color:var(--form_focus_border_color)}.fusion-body .wpcf7-form .fusion-slider-loading{display:none;position:static;margin:0 10px;border-width:.35em;vertical-align:middle}.fusion-body .wpcf7-form .fusion-slider-loading,.fusion-body .wpcf7-form .fusion-slider-loading:after{width:3em;height:3em}.fusion-body .wpcf7-form.submitting .fusion-slider-loading{display:inline-block}.fusion-theme-sharing-box{justify-content:space-between}.fusion-theme-sharing-box.fusion-sharing-box{margin-top:60px}.avada-social-full-transparent .fusion-theme-sharing-box{padding-left:0;padding-right:0}.fusion-theme-sharing-box h4{margin:0;color:var(--sharing_box_tagline_text_color,var(--h4_typography-color))}.fusion-theme-sharing-box .fusion-social-networks-wrapper{display:flex;flex-wrap:wrap;justify-content:flex-end}.fusion-theme-sharing-box .fusion-social-networks.boxed-icons .fusion-social-network-icon:not(.custom){border-radius:var(--sharing_social_links_boxed_radius)}.fusion-page-title-bar{border:none;--page_title_height:300px;--page_title_mobile_height:240px;--page_title_bg_color:var(--awb-color2);--page_title_border_color:rgba(226,226,226,0);--page_title_font_size:54px;--page_title_line_height:normal;--page_title_color:var(--awb-color8);--page_title_subheader_font_size:18px;--page_title_subheader_color:var(--awb-color8);--page_title_bg:none;--page_title_bg_retina:var(--page_title_bg);}.fusion-alert:not(.fusion-live-alert) .close{display:inline;}.wpcf7 .wpcf7-form.failed .wpcf7-response-output,.wpcf7 .wpcf7-form.invalid .wpcf7-response-output,.wpcf7 .wpcf7-form.spam .wpcf7-response-output,.wpcf7 .wpcf7-form.unaccepted .wpcf7-response-output{background-color:rgba(219,75,104,0.1);border:1px solid #db4b68;color:#db4b68;border-radius:0px 0px 0px 0px;}.wpcf7 .wpcf7-form.sent .wpcf7-response-output{background-color:rgba(18,184,120,0.1);border:1px solid #12b878;color:#12b878;border-radius:0px 0px 0px 0px;}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-widget-content{background-color:var(--tabs_bg_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li{border-right-color:var(--tabs_bg_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-clean .fusion-tabs-nav ul{border:1px solid var(--tabs_border_color,  var(--awb-fusion-border-color));}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-clean .fusion-tabs-nav ul li{border-right-color:var(--tabs_border_color,  var(--awb-fusion-border-color));}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li a{border-top-color:var(--tabs_inactive_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li a,.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-widget-content .fusion-date-box{background:var(--tabs_inactive_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li a:hover{background:var(--tabs_bg_color);border-top-color:var(--tabs_bg_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-nav ul li.active a{background:var(--tabs_bg_color);}.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-classic,.fusion-content-widget-area .fusion-tabs-widget .fusion-tabs-widget-content .fusion-tabs-widget-items li{border-color:var(--tabs_border_color,  var(--awb-fusion-border-color));}.fusion-secondary-menu .fusion-menu-cart-item img{border-color:var(--sep_color);}.checkout .payment_methods .payment_box,.fusion-body blockquote,.post-content blockquote,.review blockquote q{background-color:var(--testimonial_bg_color);}.review blockquote q{color:var(--testimonial_text_color);}.fontawesome-icon{color:var(--icon_color);}.fontawesome-icon.circle-yes{color:var(--icon_color);background-color:var(--icon_circle_color);border-color:var(--icon_border_color);border-radius:50% 50% 50% 50%;}.fontawesome-icon:hover{color:var(--icon_color_hover);}.fontawesome-icon.circle-yes:hover{color:var(--icon_color_hover);background-color:var(--icon_circle_color_hover);border-color:var(--icon_border_color_hover);}#reviews li .comment-text,#small-nav,#wrapper .side-nav li a,#wrapper .side-nav li.current_page_item li a,.avada-skin-rev,.chzn-container-single .chzn-single,.chzn-container-single .chzn-single div,.chzn-drop,.commentlist .the-comment,.es-carousel-wrapper.fusion-carousel-small .es-carousel ul li img,.fusion-author .fusion-author-social,.fusion-author-widget .fusion-author-widget-separator .fusion-author-widget-sep,.fusion-content-widget-area .widget .recentcomments,.fusion-content-widget-area .widget li a,.fusion-content-widget-area .widget li a:before,.fusion-content-widget-area .widget_archive li,.fusion-content-widget-area .widget_categories li,.fusion-content-widget-area .widget_links li,.fusion-content-widget-area .widget_meta li,.fusion-content-widget-area .widget_nav_menu li,.fusion-content-widget-area .widget_pages li,.fusion-content-widget-area .widget_recent_entries li,.fusion-counters-box .fusion-counter-box .counter-box-border,.fusion-filters,.fusion-hide-pagination-text .pagination-next,.fusion-hide-pagination-text .pagination-prev,.fusion-pagination .page-numbers,.fusion-project-details-tb .project-info .project-info-box,.fusion-tabs.vertical-tabs.clean .nav-tabs li .tab-link,.input-radio,.ls-avada,.page-links a,.pagination a.inactive,.panel.entry-content,.post .fusion-meta-info,.price_slider_wrapper,.progress-bar,.project-content .project-info .project-info-box,.search-page-search-form,.side-nav,.side-nav li a,.single-navigation,.table,.table > tbody > tr > td,.table > tbody > tr > th,.table > tfoot > tr > td,.table > tfoot > tr > th,.table > thead > tr > td,.table > thead > tr > th,.table-1 table,.table-1 table th,.table-1 tr td,.table-2 table thead,.table-2 tr td,.tabs-vertical .tabs-container .tab_content,.tabs-vertical .tabset,.tagcloud a,.tkt-slctr-tbl-wrap-dv table,.tkt-slctr-tbl-wrap-dv tr td,h5.toggle.active + .toggle-content,tr td{border-color:var(--sep_color);}.price_slider_wrapper .ui-widget-content{background-color:var(--sep_color);}:root{--awb-color1:#ffffff;--awb-color1-h:0;--awb-color1-s:0%;--awb-color1-l:100%;--awb-color1-a:100%;--awb-color2:#fafbfb;--awb-color2-h:180;--awb-color2-s:11%;--awb-color2-l:98%;--awb-color2-a:100%;--awb-color3:#f2f0ff;--awb-color3-h:248;--awb-color3-s:100%;--awb-color3-l:97%;--awb-color3-a:100%;--awb-color4:#65bd7d;--awb-color4-h:136;--awb-color4-s:40%;--awb-color4-l:57%;--awb-color4-a:100%;--awb-color5:#ff5e5b;--awb-color5-h:1;--awb-color5-s:100%;--awb-color5-l:68%;--awb-color5-a:100%;--awb-color6:#555768;--awb-color6-h:234;--awb-color6-s:10%;--awb-color6-l:37%;--awb-color6-a:100%;--awb-color7:#212326;--awb-color7-h:216;--awb-color7-s:7%;--awb-color7-l:14%;--awb-color7-a:100%;--awb-color8:#141617;--awb-color8-h:200;--awb-color8-s:7%;--awb-color8-l:8%;--awb-color8-a:100%;--awb-custom_color_1:#1f01b9;--awb-custom_color_1-h:250;--awb-custom_color_1-s:99%;--awb-custom_color_1-l:36%;--awb-custom_color_1-a:100%;--awb-typography1-font-family:"Bricolage Grotesque", Arial, Helvetica, sans-serif;--awb-typography1-font-size:48px;--awb-typography1-font-weight:600;--awb-typography1-font-style:normal;--awb-typography1-line-height:1.2;--awb-typography1-letter-spacing:-0.015em;--awb-typography1-text-transform:none;--awb-typography2-font-family:"Bricolage Grotesque", Arial, Helvetica, sans-serif;--awb-typography2-font-size:24px;--awb-typography2-font-weight:600;--awb-typography2-font-style:normal;--awb-typography2-line-height:1.1;--awb-typography2-letter-spacing:0px;--awb-typography2-text-transform:none;--awb-typography3-font-family:Inter, Arial, Helvetica, sans-serif;--awb-typography3-font-size:16px;--awb-typography3-font-weight:500;--awb-typography3-font-style:normal;--awb-typography3-line-height:1.2;--awb-typography3-letter-spacing:0.015em;--awb-typography3-text-transform:none;--awb-typography4-font-family:Inter, Arial, Helvetica, sans-serif;--awb-typography4-font-size:16px;--awb-typography4-font-weight:400;--awb-typography4-font-style:normal;--awb-typography4-line-height:1.72;--awb-typography4-letter-spacing:0.015em;--awb-typography4-text-transform:none;--awb-typography5-font-family:Inter, Arial, Helvetica, sans-serif;--awb-typography5-font-size:13px;--awb-typography5-font-weight:400;--awb-typography5-font-style:normal;--awb-typography5-line-height:1.72;--awb-typography5-letter-spacing:0.015em;--awb-typography5-text-transform:none;--site_width:1200px;--site_width-int:1200;--margin_offset-top:0px;--margin_offset-bottom:0px;--margin_offset-top-no-percent:0px;--margin_offset-bottom-no-percent:0px;--main_padding-top:0;--main_padding-top-or-55px:0;--main_padding-bottom:0;--hundredp_padding:0;--hundredp_padding-fallback_to_zero:0;--hundredp_padding-fallback_to_zero_px:0;--hundredp_padding-hundred_percent_negative_margin:-0;--grid_main_break_point:1000;--side_header_break_point:800;--content_break_point:800;--typography_sensitivity:0.00;--typography_factor:1.50;--primary_color:var(--awb-color5);--primary_color-85a:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 15%));--primary_color-7a:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 30%));--primary_color-5a:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 50%));--primary_color-35a:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 65%));--primary_color-2a:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 80%));--header_bg_repeat:no-repeat;--side_header_width:0px;--side_header_width-int:0;--header_padding-top:0px;--header_padding-bottom:0px;--header_padding-left:0px;--header_padding-right:0px;--menu_highlight_background:var(--awb-color4);--menu_arrow_size-width:23px;--menu_arrow_size-height:12px;--nav_highlight_border:3px;--nav_padding:48px;--nav_padding-no-zero:48px;--dropdown_menu_top_border_size:3px;--dropdown_menu_width:200px;--mainmenu_dropdown_vertical_padding:12px;--menu_sub_bg_color:var(--awb-color1);--menu_bg_hover_color:var(--awb-color3);--menu_sub_sep_color:var(--awb-color3);--menu_h45_bg_color:var(--awb-color1);--nav_typography-font-family:var(--awb-typography3-font-family);--nav_typography-font-weight:var(--awb-typography3-font-weight);--nav_typography-font-size:var(--awb-typography3-font-size);--nav_typography-font-style:var(--awb-typography3-font-style);--nav_typography-letter-spacing:var(--awb-typography3-letter-spacing);--nav_typography-color:var(--awb-color8);--nav_typography-color-65a:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc(var(--awb-color8-a) - 35%));--nav_typography-color-35a:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc(var(--awb-color8-a) - 65%));--nav_typography-text-transform:none;--menu_hover_first_color:var(--awb-color4);--menu_hover_first_color-65a:hsla(var(--awb-color4-h),var(--awb-color4-s),var(--awb-color4-l),calc(var(--awb-color4-a) - 35%));--menu_sub_color:var(--awb-color8);--nav_dropdown_font_size:14px;--flyout_menu_icon_font_size:20px;--flyout_menu_icon_font_size_px:20px;--snav_font_size:12px;--sec_menu_lh:48px;--header_top_menu_sub_color:var(--awb-color8);--mobile_menu_icons_top_margin:2px;--mobile_menu_nav_height:42px;--mobile_header_bg_color:var(--awb-color1);--mobile_menu_background_color:var(--awb-color1);--mobile_menu_hover_color:var(--awb-color1);--mobile_menu_border_color:var(--awb-color3);--mobile_menu_toggle_color:var(--awb-color6);--mobile_menu_typography-font-family:var(--awb-typography3-font-family);--mobile_menu_typography-font-size:var(--awb-typography3-font-size);--mobile_menu_typography-font-weight:var(--awb-typography3-font-weight);--mobile_menu_typography-line-height:var(--awb-typography3-line-height);--mobile_menu_typography-letter-spacing:var(--awb-typography3-letter-spacing);--mobile_menu_typography-color:var(--awb-color8);--mobile_menu_typography-font-style:var(--awb-typography3-font-style);--mobile_menu_typography-text-transform:none;--mobile_menu_typography-font-size-30-or-24px:24px;--mobile_menu_typography-font-size-open-submenu:var(--mobile_menu_typography-font-size, 13px);--mobile_menu_font_hover_color:var(--awb-color8);--menu_icon_size:14px;--logo_alignment:left;--logo_background_color:var(--awb-color4);--slidingbar_width:300px;--slidingbar_width-percent_to_vw:300px;--slidingbar_content_padding-top:60px;--slidingbar_content_padding-bottom:60px;--slidingbar_content_padding-left:30px;--slidingbar_content_padding-right:30px;--slidingbar_bg_color:var(--awb-color7);--slidingbar_divider_color:var(--awb-color6);--slidingbar_link_color:hsla(var(--awb-color1-h),var(--awb-color1-s),var(--awb-color1-l),calc(var(--awb-color1-a) - 14%));--slidingbar_link_color_hover:var(--awb-color1);--footer_divider_color:var(--awb-color6);--footer_headings_typography-font-family:var(--awb-typography2-font-family);--footer_headings_typography-font-size:var(--awb-typography2-font-size);--footer_headings_typography-font-weight:var(--awb-typography2-font-weight);--footer_headings_typography-line-height:var(--awb-typography2-line-height);--footer_headings_typography-font-style:var(--awb-typography2-font-style);--footer_headings_typography-letter-spacing:var(--awb-typography2-letter-spacing);--footer_headings_typography-color:var(--awb-color1);--footer_headings_typography-text-transform:none;--footer_text_color:hsla(var(--awb-color1-h),var(--awb-color1-s),var(--awb-color1-l),calc(var(--awb-color1-a) - 40%));--bg_image:none;--bg_repeat:no-repeat;--bg_color:var(--awb-color2);--bg-color-overlay:normal;--bg_pattern:url("//keepworking.it/francescaghizzardi/wp-content/themes/Avada/assets/images/patterns/pattern1.png");--content_bg_color:var(--awb-color1);--content_bg_image:none;--content_bg_repeat:no-repeat;--body_typography-font-family:"Bricolage Grotesque";--body_typography-font-size:var(--awb-typography4-font-size);--base-font-size:16;--body_typography-font-weight:400;--body_typography-line-height:1.4;--body_typography-letter-spacing:var(--awb-typography4-letter-spacing);--body_typography-color:var(--awb-color6);--link_color:var(--awb-color8);--link_color-8a:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc(var(--awb-color8-a) - 20%));--link_hover_color:var(--awb-color5);--link_hover_color-85a:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 15%));--link_hover_color-7a:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 30%));--link_hover_color-5a:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 50%));--link_hover_color-35a:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 65%));--link_hover_color-2a:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 80%));--awb-link_decoration_line:none;--awb-link_decoration_style:solid;--awb-link_decoration_thickness:1px;--awb-link_decoration_underline_offset:auto;--awb-link_decoration_line_hover:none;--awb-link_decoration_style_hover:solid;--awb-link_decoration_thickness_hover:1px;--awb-link_decoration_underline_offset_hover:auto;--h1_typography-font-family:var(--awb-typography1-font-family);--h1_typography-font-weight:var(--awb-typography1-font-weight);--h1_typography-line-height:48px;--h1_typography-letter-spacing:-1.2px;--h1_typography-font-style:var(--awb-typography1-font-style);--h1_typography-font-size:48px;--h1_typography-color:var(--awb-color8);--h1_typography-text-transform:none;--h1_typography-margin-top:0.67em;--h1_typography-margin-bottom:0.67em;--h2_typography-font-family:var(--awb-typography1-font-family);--h2_typography-font-weight:var(--awb-typography1-font-weight);--h2_typography-line-height:var(--awb-typography1-line-height);--h2_typography-letter-spacing:var(--awb-typography1-letter-spacing);--h2_typography-font-style:var(--awb-typography1-font-style);--h2_typography-font-size:32px;--h2_typography-color:var(--awb-color8);--h2_typography-text-transform:none;--h2_typography-margin-top:0;--h2_typography-margin-bottom:20px;--h3_typography-font-family:"Bricolage Grotesque";--h3_typography-font-weight:300;--h3_typography-line-height:var(--awb-typography1-line-height);--h3_typography-letter-spacing:-0.5px;--h3_typography-font-size:26px;--h3_typography-color:var(--awb-color8);--h3_typography-text-transform:none;--h3_typography-margin-top:1em;--h3_typography-margin-bottom:1em;--h4_typography-font-family:var(--awb-typography1-font-family);--h4_typography-font-weight:var(--awb-typography1-font-weight);--h4_typography-line-height:var(--awb-typography1-line-height);--h4_typography-letter-spacing:var(--awb-typography1-letter-spacing);--h4_typography-font-style:var(--awb-typography1-font-style);--h4_typography-font-size:24px;--h4_typography-color:var(--awb-color8);--h4_typography-text-transform:none;--h4_typography-margin-top:1.33em;--h4_typography-margin-bottom:1.33em;--h5_typography-font-family:var(--awb-typography1-font-family);--h5_typography-font-weight:var(--awb-typography1-font-weight);--h5_typography-line-height:var(--awb-typography1-line-height);--h5_typography-letter-spacing:var(--awb-typography1-letter-spacing);--h5_typography-font-style:var(--awb-typography1-font-style);--h5_typography-font-size:20px;--h5_typography-color:var(--awb-color8);--h5_typography-text-transform:none;--h5_typography-margin-top:1.67em;--h5_typography-margin-bottom:1.67em;--h6_typography-font-family:var(--awb-typography1-font-family);--h6_typography-font-weight:var(--awb-typography1-font-weight);--h6_typography-line-height:var(--awb-typography1-line-height);--h6_typography-letter-spacing:var(--awb-typography1-letter-spacing);--h6_typography-font-style:var(--awb-typography1-font-style);--h6_typography-font-size:16px;--h6_typography-color:var(--awb-color8);--h6_typography-text-transform:none;--h6_typography-margin-top:2.33em;--h6_typography-margin-bottom:2.33em;--post_title_typography-font-family:var(--awb-typography1-font-family);--post_title_typography-font-weight:var(--awb-typography1-font-weight);--post_title_typography-line-height:var(--awb-typography1-line-height);--post_title_typography-letter-spacing:var(--awb-typography1-letter-spacing);--post_title_typography-font-style:var(--awb-typography1-font-style);--post_title_typography-font-size:48px;--post_title_typography-color:var(--awb-color8);--post_title_typography-text-transform:none;--post_titles_extras_typography-font-family:var(--awb-typography1-font-family);--post_titles_extras_typography-font-weight:var(--awb-typography1-font-weight);--post_titles_extras_typography-line-height:var(--awb-typography1-line-height);--post_titles_extras_typography-letter-spacing:var(--awb-typography1-letter-spacing);--post_titles_extras_typography-font-style:var(--awb-typography1-font-style);--post_titles_extras_typography-font-size:20px;--post_titles_extras_typography-color:var(--awb-color8);--post_titles_extras_typography-text-transform:none;--blog_archive_grid_column_spacing:40px;--dates_box_color:var(--awb-color2);--meta_font_size:13px;--portfolio_archive_column_spacing:20px;--portfolio_meta_font_size:13px;--social_bg_color:var(--awb-color2);--social_sharing_padding-top:1.25em;--social_sharing_padding-right:1.25em;--social_sharing_padding-bottom:1.25em;--social_sharing_padding-left:1.25em;--sharing_social_links_icon_color:var(--awb-color8);--sharing_social_links_box_color:var(--awb-color3);--sharing_social_links_boxed_padding:8px;--slider_nav_box_dimensions-width:30px;--slider_nav_box_dimensions-height:30px;--slider_arrow_size:14px;--es_caption_font_size:20px;--form_input_height:50px;--form_input_height-main-menu-search-width:calc(250px + 1.43 * 50px);--form_text_size:16px;--form_bg_color:var(--awb-color1);--form_text_color:var(--awb-color8);--form_text_color-35a:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc(var(--awb-color8-a) - 65%));--form_border_width-top:1px;--form_border_width-bottom:1px;--form_border_width-left:1px;--form_border_width-right:1px;--form_border_color:var(--awb-color3);--form_focus_border_color:var(--awb-color5);--form_focus_border_color-5a:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 50%));--form_border_radius:6px;--live_search_results_height:250px;--privacy_bg_color:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc(var(--awb-color8-a) - 90%));--privacy_color:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc(var(--awb-color8-a) - 70%));--privacy_necessary_opacity:0.7;--privacy_bar_padding-top:15px;--privacy_bar_padding-bottom:15px;--privacy_bar_padding-left:30px;--privacy_bar_padding-right:30px;--privacy_bar_bg_color:var(--awb-color8);--privacy_bar_font_size:13px;--privacy_bar_color:var(--awb-color6);--privacy_bar_link_color:var(--awb-color2);--privacy_bar_link_hover_color:var(--awb-color4);--privacy_bar_content_max_width:50%;--privacy_bar_headings_font_size:13px;--privacy_bar_headings_color:var(--awb-color1);--privacy_bar_tabs_border_size:1px;--privacy_bar_tabs_border_color:var(--awb-color6);--privacy_bar_tabs_active_bg_color:var(--awb-color7);--privacy_bar_tabs_padding-top:20px;--privacy_bar_tabs_padding-bottom:20px;--privacy_bar_tabs_padding-left:20px;--privacy_bar_tabs_padding-right:20px;--privacy_bar_column_gap:30px;--privacy_bar_toggle_off_color:var(--awb-color6);--privacy_bar_toggle_on_color:var(--awb-color5);--privacy_bar_toggle_thumb_color:var(--awb-color3);--privacy_bar_lifespan_color:#ffffff;--privacy_bar_desc_color:#ffffff;--privacy_bar_desc_font_size:0.85em;--scrollbar_background:var(--awb-color2);--scrollbar_handle:var(--awb-color4);--related_posts_columns:4;--related_posts_column_spacing:48px;--image_rollover_icon_size:15px;--image_rollover_text_color:var(--awb-color8);--pagination_width_height:30px;--pagination_box_padding-width:6px;--pagination_box_padding-height:2px;--pagination_border_width:1px;--pagination_border_radius:0px;--pagination_font_size:13px;--timeline_bg_color:rgba(255,255,255,0);--timeline_bg_color-not-transparent:rgba(255,255,255,1);--timeline_color:var(--awb-color2);--grid_separator_color:var(--awb-color3);--carousel_nav_color:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc(var(--awb-color8-a) - 30%));--carousel_hover_color:hsla(var(--awb-color5-h),var(--awb-color5-s),var(--awb-color5-l),calc(var(--awb-color5-a) - 20%));--info_bg_color:var(--awb-color1);--info_accent_color:var(--awb-color8);--danger_bg_color:rgba(219,75,104,0.1);--danger_accent_color:#db4b68;--success_bg_color:rgba(18,184,120,0.1);--success_accent_color:#12b878;--warning_bg_color:rgba(241,174,42,0.1);--warning_accent_color:#f1ae2a;--alert_border_size:1px;--button_padding-top:13px;--button_padding-bottom:13px;--button_padding-left:29px;--button_padding-right:29px;--button_typography-font-family:var(--awb-typography3-font-family);--button_typography-font-weight:var(--awb-typography3-font-weight);--button_typography-letter-spacing:var(--awb-typography3-letter-spacing);--button_typography-font-style:var(--awb-typography3-font-style);--button_font_size:var(--awb-typography3-font-size);--button_line_height:var(--awb-typography3-line-height);--button_text_transform:var(--awb-typography3-text-transform);--button_gradient_top_color:var(--awb-color5);--button_gradient_bottom_color:var(--awb-color5);--button_gradient_top_color_hover:hsla(var(--awb-color5-h),calc(var(--awb-color5-s) - 5%),calc(var(--awb-color5-l) - 10%),var(--awb-color5-a));--button_gradient_bottom_color_hover:hsla(var(--awb-color5-h),calc(var(--awb-color5-s) - 5%),calc(var(--awb-color5-l) - 10%),var(--awb-color5-a));--button_gradient_start:0%;--button_gradient_end:100%;--button_gradient_angle:180deg;--button_radial_direction:center center;--button_accent_color:var(--awb-color1);--button_accent_hover_color:var(--awb-color1);--button_bevel_color:hsla(var(--awb-color5-h),calc(var(--awb-color5-s) - 5%),calc(var(--awb-color5-l) - 10%),var(--awb-color5-a));--button_box_shadow:none;--button_bevel_color_hover:hsla(var(--awb-color5-h),calc(var(--awb-color5-s) - 5%),calc(var(--awb-color5-l) - 10%),var(--awb-color5-a));--button_border_width-top:0px;--button_border_width-right:0px;--button_border_width-bottom:0px;--button_border_width-left:0px;--button_border_color:var(--awb-color1);--button_border_hover_color:var(--awb-color1);--chart_bg_color:rgba(255,255,255,0);--checklist_icons_color:var(--awb-color1);--checklist_circle_color:var(--awb-color4);--checklist_text_color:var(--awb-color8);--checklist_item_size:16px;--checklist_item_padding-top:0.35em;--checklist_item_padding-bottom:0.35em;--checklist_item_padding-left:0;--checklist_item_padding-right:0;--checklist_divider_color:var(--awb-color3);--checklist_odd_row_bgcolor:rgba(255,255,255,0);--checklist_even_row_bgcolor:rgba(255,255,255,0);--col_margin-top:0px;--col_margin-bottom:20px;--col_spacing:24px;--container_padding_default_top:0px;--container_padding_default_bottom:40px;--container_padding_default_left:16px;--container_padding_default_right:16px;--container_padding_100_top:40px;--container_padding_100_bottom:40px;--container_padding_100_left:16px;--container_padding_100_right:16px;--full_width_bg_color:var(--awb-color2);--full_width_border_sizes_top:0px;--full_width_border_sizes_bottom:0px;--full_width_border_sizes_left:0px;--full_width_border_sizes_right:0px;--full_width_border_color:var(--awb-color3);--content_box_bg_color:rgba(255,255,255,0);--content_box_title_size:24px;--content_box_title_color:var(--awb-color8);--content_box_body_color:var(--awb-color8);--content_box_icon_color:var(--awb-color1);--content_box_hover_animation_accent_color:var(--awb-color4);--countdown_background_color:var(--awb-color5);--countdown_counter_box_spacing:10px;--countdown_counter_box_color:var(--awb-color7);--countdown_counter_padding-top:0.6em;--countdown_counter_padding-right:1.1em;--countdown_counter_padding-bottom:0.6em;--countdown_counter_padding-left:1.1em;--countdown_counter_border_size:0;--countdown_counter_border_color:var(--awb-color7);--countdown_counter_border_radius:4px;--countdown_counter_font_size:18px;--countdown_counter_text_color:var(--awb-color1);--countdown_label_font_size:18px;--countdown_label_color:var(--awb-color1);--countdown_heading_font_size:18px;--countdown_heading_text_color:var(--awb-color1);--countdown_subheading_font_size:14px;--countdown_subheading_text_color:var(--awb-color1);--countdown_link_text_color:var(--awb-color1);--counter_box_color:var(--awb-color5);--counter_box_title_size:50;--counter_box_icon_size:50;--counter_box_body_color:var(--awb-color8);--counter_box_body_size:14;--counter_box_border_color:var(--awb-color3);--flip_boxes_flip_duration:0.8s;--flip_boxes_front_bg:var(--awb-color7);--flip_boxes_front_heading:var(--awb-color2);--flip_boxes_front_text:var(--awb-color3);--flip_boxes_back_bg:var(--awb-color5);--flip_boxes_back_heading:var(--awb-color1);--flip_boxes_back_text:hsla(var(--awb-color1-h),var(--awb-color1-s),var(--awb-color1-l),calc(var(--awb-color1-a) - 20%));--flip_boxes_border_size:1px;--flip_boxes_border_color:rgba(0,0,0,0);--flip_boxes_border_radius:6px;--icon_color:#1f01b9;--icon_color_hover:#1f01b9;--icon_circle_color:var(--awb-color5);--icon_circle_color_hover:var(--awb-color4);--icon_border_size:#ffffff;--icon_border_color:var(--awb-color8);--icon_border_color_hover:var(--awb-color4);--icon_border_top_l_rad:50%;--icon_border_top_r_rad:50%;--icon_border_bot_r_rad:50%;--icon_border_bot_l_rad:50%;--gallery_border_color:var(--awb-color3);--gallery_border_radius:0px;--before_after_font_size:14;--before_after_accent_color:var(--awb-color1);--before_after_handle_color:var(--awb-color1);--before_after_handle_bg:rgba(255,255,255,0);--before_after_transition_time:0.5;--before_after_border_size:0;--before_after_border_color:var(--awb-color3);--before_after_border_radius:0px;--popover_heading_bg_color:var(--awb-color2);--popover_content_bg_color:var(--awb-color1);--popover_border_color:var(--awb-color3);--popover_text_color:var(--awb-color8);--pricing_box_color:var(--awb-color4);--progressbar_text_color:var(--awb-color1);--progressbar_maximum_value_color:var(--awb-color7);--progressbar_height:48px;--progressbar_filled_color:var(--awb-color5);--progressbar_unfilled_color:var(--awb-color2);--progressbar_filled_border_size:0px;--progressbar_filled_border_color:var(--awb-color1);--sep_color:var(--awb-color3);--tabs_bg_color:var(--awb-color1);--tabs_inactive_color:var(--awb-color2);--tabs_border_color:var(--awb-color3);--testimonial_bg_color:var(--awb-color2);--testimonial-border-width-top:0px;--testimonial-border-width-right:0px;--testimonial-border-width-bottom:0px;--testimonial-border-width-left:0px;--testimonial_text_color:var(--awb-color8);--text_columns:1;--text_column_min_width:100px;--text_column_spacing:2em;--text_rule_style:none;--text_user_select:auto;--title_border_color:var(--awb-color3);--title_margin-top:8px;--title_margin-right:0px;--title_margin-bottom:16px;--title_margin-left:0px;--title_margin_mobile-top:8px;--title_margin_mobile-right:0px;--title_margin_mobile-bottom:16px;--title_margin_mobile-left:0px;--accordion_divider_color:var(--awb-color3);--accordion_divider_hover_color:var(--awb-color3);--accordian_inactive_color:var(--awb-color8);--accordian_active_color:var(--awb-color5);--faq_accordion_divider_color:var(--awb-color3);--faq_accordion_divider_hover_color:var(--awb-color3);--faq_accordion_title_typography-font-family:var(--awb-typography1-font-family);--faq_accordion_title_typography-font-size:24px;--faq_accordion_title_typography-font-weight:var(--awb-typography1-font-weight);--faq_accordion_title_typography-text-transform:none;--faq_accordion_title_typography-color:var(--awb-color8);--faq_accordian_icon_color:var(--awb-color1);--faq_accordian_inactive_color:var(--awb-color7);--faq_accordion_content_typography-font-family:var(--awb-typography4-font-family);--faq_accordion_content_typography-font-size:var(--awb-typography4-font-size);--faq_accordion_content_typography-font-weight:var(--awb-typography4-font-weight);--faq_accordion_content_typography-text-transform:none;--faq_accordion_content_typography-color:var(--awb-color8);}#side-header,.fusion-header{--header_bg_color:var(--awb-color1);--archive_header_bg_color:var(--awb-color1);}.fusion-header-wrapper,#side-header{--header_border_color:rgba(226,226,226,0);}.fusion-secondary-header{--header_top_bg_color:var(--awb-color4);--snav_color:var(--awb-color1);}.fusion-header-tagline{--tagline_font_size:16px;--tagline_font_color:var(--awb-color8);}.fusion-arrow-svg,.fusion-header-wrapper,#side-header{--header_sticky_bg_color:var(--awb-color1);}.fusion-main-menu{--header_sticky_menu_color:var(--awb-color8);--header_sticky_nav_font_size:14px;--nav_height:94px;--mobile_nav_padding:25px;--menu_text_align:center;--menu_thumbnail_size-width:26px;--menu_thumbnail_size-height:14px;}.fusion-main-menu,.fusion-logo-background{--header_sticky_nav_padding:35px;}.fusion-menu-highlight-label, .awb-menu__highlight{--main_nav_highlight_radius:2px;}.fusion-flyout-menu-icons{--flyout_nav_icons_padding:32px;--flyout_menu_icon_color:var(--awb-color8);--flyout_menu_icon_hover_color:var(--awb-color4);}.fusion-flyout-menu-bg{--flyout_menu_background_color:hsla(var(--awb-color1-h),var(--awb-color1-s),var(--awb-color1-l),calc(var(--awb-color1-a) - 6%));}.fusion-flyout-menu{--flyout_menu_item_padding:32px;}.fusion-secondary-menu{--topmenu_dropwdown_width:200px;--header_top_first_border_color:var(--awb-color6);--header_top_sub_bg_color:var(--awb-color1);--header_top_menu_bg_hover_color:var(--awb-color2);--header_top_menu_sub_sep_color:var(--awb-color3);--header_top_menu_sub_hover_color:var(--awb-color4);}.fusion-header{--top-bar-height:calc(48px / 2);}.fusion-megamenu-submenu{--megamenu_item_vertical_padding:7px;}.fusion-megamenu-icon{--menu_icon_color:var(--awb-color6);--menu_icon_hover_color:var(--awb-color4);}.fusion-logo{--logo_margin-top:34px;--logo_margin-bottom:34px;--logo_margin-left:0px;--logo_margin-right:0px;}.fusion-page-title-bar, .fusion-breadcrumbs .awb-breadcrumb-sep{--breadcrumbs_separator:"/";}.fusion-page-title-bar, .fusion-breadcrumbs{--breadcrumbs_font_size:12px;--breadcrumbs_text_color:var(--awb-color8);--breadcrumbs_text_hover_color:var(--awb-color5);}.fusion-sliding-bar{--slidingbar_content_align:left;}.fusion-sb-toggle-wrapper{--slidingbar_toggle_icon_color:var(--awb-color1);}#slidingbar{--slidingbar_font_size:14px;}#slidingbar-area{--slidingbar_headings_color:var(--awb-color1);--slidingbar_text_color:hsla(var(--awb-color1-h),var(--awb-color1-s),var(--awb-color1-l),calc(var(--awb-color1-a) - 40%));}.fusion-footer-widget-area{--footerw_bg_full-size:initial;--footerw_bg_full-position:var(--footerw_bg_pos);--footerw_bg_repeat:no-repeat;--footerw_bg_pos:center center;--footer_bg_color:var(--awb-color7);--footer_border_size:0px;--footer_border_color:var(--awb-color3);--footer_link_color:hsla(var(--awb-color1-h),var(--awb-color1-s),var(--awb-color1-l),calc(var(--awb-color1-a) - 20%));--footer_link_color_hover:var(--awb-color4);}.fusion-footer{--footer_area_padding-top:60px;--footer_area_padding-bottom:64px;--footer_area_padding-left:0px;--footer_area_padding-right:0px;--footer_divider_line-flex:block;--footer_divider_line_size:1px;--footer_divider_line_style:solid;--footer_widgets_padding:16px;}.fusion-footer-copyright-area{--copyright_padding-top:20px;--copyright_padding-bottom:20px;--copyright_bg_color:var(--awb-color8);--copyright_border_size:0px;--copyright_border_color:var(--awb-color8);--copyright_link_color_hover:var(--awb-color4);}.fusion-copyright-notice{--copyright_text_color:hsla(var(--awb-color1-h),var(--awb-color1-s),var(--awb-color1-l),calc(var(--awb-color1-a) - 60%));--copyright_link_color:hsla(var(--awb-color1-h),var(--awb-color1-s),var(--awb-color1-l),calc(var(--awb-color1-a) - 20%));--copyright_font_size:13px;}.fusion-load-more-button{--blog_load_more_posts_button_bg_color:var(--awb-color7);--blog_load_more_posts_button_text_color:var(--awb-color1);--blog_load_more_posts_hover_button_bg_color:var(--awb-color5);--blog_load_more_posts_hover_button_text_color:var(--awb-color1);--portfolio_archive_load_more_posts_button_bg_color:var(--awb-color7);--portfolio_archive_load_more_posts_button_text_color:var(--awb-color1);--portfolio_archive_load_more_posts_hover_button_bg_color:var(--awb-color5);--portfolio_archive_load_more_posts_hover_button_text_color:var(--awb-color1);--blog_element_load_more_posts_button_bg_color:var(--awb-color7);--blog_element_load_more_posts_button_text_color:var(--awb-color1);--blog_element_load_more_posts_hover_button_bg_color:var(--awb-color5);--blog_element_load_more_posts_hover_button_text_color:var(--awb-color1);}.fusion-post-content-wrapper{--blog_archive_grid_padding-top:30px;--blog_archive_grid_padding-bottom:20px;--blog_archive_grid_padding-left:25px;--blog_archive_grid_padding-right:25px;}.fusion-portfolio-content{--portfolio_archive_text_layout-padding:20px 0;--portfolio_archive_layout_padding-top:25px;--portfolio_archive_layout_padding-bottom:25px;--portfolio_archive_layout_padding-left:25px;--portfolio_archive_layout_padding-right:25px;}.fusion-portfolio-content-wrapper{--portfolio_archive_text_alignment:left;}.fusion-theme-sharing-box{--sharing_box_tagline_text_color:var(--awb-color8);}.fusion-sharing-box{--sharing_social_links_font_size:16px;}.fusion-social-network-icon{--sharing_social_links_boxed_radius:4px;}.ei-slider{--tfes_dimensions-width:100%;--tfes_dimensions-height:400px;--es_title_font_size:42px;--es_title_color:var(--awb-color8);--es_caption_color:var(--awb-color8);}.avada-google-map{--gmap_topmargin:55px;}.fusion-blog-layout-grid{--search_grid_column_spacing:40px;}.fusion-image-wrapper{--image_gradient_top_color:hsla(var(--awb-color4-h),var(--awb-color4-s),var(--awb-color4-l),calc(var(--awb-color4-a) - 20%));}.fusion-rollover{--image_gradient_bottom_color:var(--awb-color4);--image_rollover_icon_color:var(--awb-color1);}#toTop{--totop_spacing_side:75px;--totop_spacing_bottom:30px;--totop_border_radius:6px;--totop_background:var(--awb-color8);--totop_background_hover:var(--awb-color5);--totop_icon_color:var(--awb-color1);--totop_icon_hover:var(--awb-color1);}.shadow-left{--avada-rev-image-shadow-top:1;}.shadow-right{--avada-rev-image-shadow-bottom:1;}body{--awb-alert-border-top-left-radius-default:0px;--awb-alert-border-top-right-radius-default:0px;--awb-alert-border-bottom-right-radius-default:0px;--awb-alert-border-bottom-left-radius-default:0px;--awb-audio-max-width-default:100%;--awb-audio-background-color-default:var(--awb-color8);--awb-audio-accent-color-default:var(--awb-color1);--awb-audio-border-size-default:0;--awb-audio-border-color-default:var(--awb-color1);--awb-audio-border-top-left-radius-default:0px;--awb-audio-border-top-right-radius-default:0px;--awb-audio-border-bottom-right-radius-default:0px;--awb-audio-border-bottom-left-radius-default:0px;--button-border-radius-top-left:4px;--button-border-radius-top-right:4px;--button-border-radius-bottom-right:4px;--button-border-radius-bottom-left:4px;--awb-tabs-title-border-top-left-radius-default:0px;--awb-tabs-title-border-top-right-radius-default:0px;--awb-tabs-title-border-bottom-right-radius-default:0px;--awb-tabs-title-border-bottom-left-radius-default:0px;--awb-testimonial-border-style-default:solid;--awb-testimonial-border-color-default:var(--awb-color3);--awb-testimonial-border-top-left-radius-default:0px;--awb-testimonial-border-top-right-radius-default:0px;--awb-testimonial-border-bottom-right-radius-default:0px;--awb-testimonial-border-bottom-left-radius-default:0px;--fusion-video-max-width-default:100%;}.fusion-scroll-section-nav{--container_scroll_nav_bg_color:hsla(var(--awb-color8-h),var(--awb-color8-s),var(--awb-color8-l),calc(var(--awb-color8-a) - 80%));}.fusion-scroll-section-link-bullet{--container_scroll_nav_bullet_color:var(--awb-color3);}.fusion-body .fusion-dropcap{--dropcap_color:var(--awb-color5);--dropcap_text_color:var(--awb-color1);}.fusion-social-links{--social_links_font_size:16;--social_links_boxed_padding:8px;}@media only screen and (max-width: 800px){.has-sidebar #{order:1;}}@font-face {font-family: "awb-icons";src:url('//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/icomoon/awb-icons.woff') format('woff'),url('//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/icomoon/awb-icons.ttf') format('truetype'),url('//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/icomoon/awb-icons.svg#awb-icons') format('svg');font-weight: normal;font-style: normal;font-display: block;}.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;src:url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.eot);src:url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.woff2) format("woff2"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.woff) format("woff"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.ttf) format("truetype"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-brands-400.svg#fontawesome) format("svg");font-display: block;}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;src:url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.eot);src:url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.woff2) format("woff2"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.woff) format("woff"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.ttf) format("truetype"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-regular-400.svg#fontawesome) format("svg");font-display: block;}.far{font-family:"Font Awesome 5 Free";font-weight:400;}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;src:url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.eot);src:url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.woff2) format("woff2"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.woff) format("woff"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.ttf) format("truetype"),url(//keepworking.it/francescaghizzardi/wp-content/themes/Avada/includes/lib/assets/fonts/fontawesome/webfonts/fa-solid-900.svg#fontawesome) format("svg");font-display: block;}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.fade{opacity:0;transition:opacity .3s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#a47e3c}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#953b39}.close{position:relative;top:-2px;opacity:.2;float:right;padding:0;background:0 0;border:0 none;cursor:pointer;font-size:21px;color:#000;font-weight:700;line-height:1}.awb-alert-inherit-link-color a{color:inherit}.awb-alert-inherit-link-color a:focus,.awb-alert-inherit-link-color a:hover{color:inherit}.fusion-alert{--awb-padding-top:25px;--awb-padding-right:25px;--awb-padding-bottom:25px;--awb-padding-left:25px;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:20px;--awb-margin-left:0;--awb-accent-color:inherit;--awb-background-color:transparent;--awb-border-size:var(--alert_border_size);--awb-border-top-left-radius:var(--awb-alert-border-top-left-radius-default, 0);--awb-border-top-right-radius:var(--awb-alert-border-top-right-radius-default, 0);--awb-border-bottom-right-radius:var(--awb-alert-border-bottom-right-radius-default, 0);--awb-border-bottom-left-radius:var(--awb-alert-border-bottom-left-radius-default, 0);display:flex;align-items:center;clear:both;position:relative;padding:var(--awb-padding-top) var(--awb-padding-right) var(--awb-padding-bottom) var(--awb-padding-left);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);border-radius:0;text-shadow:none;color:var(--awb-accent-color);background:var(--awb-background-color);border-color:var(--awb-accent-color);border-width:var(--awb-border-size);border-top-left-radius:var(--awb-border-top-left-radius);border-top-right-radius:var(--awb-border-top-right-radius);border-bottom-right-radius:var(--awb-border-bottom-right-radius);border-bottom-left-radius:var(--awb-border-bottom-left-radius)}.fusion-alert.alert-shadow{box-shadow:0 1px 1px rgba(0,0,0,.1)}.fusion-alert .alert-icon,.fusion-alert .fusion-alert-content{color:var(--awb-accent-color)}.fusion-alert .fusion-alert-content-wrapper{flex:1;display:flex}.fusion-alert .alert-icon i{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fusion-alert.awb-alert-close-boxed .close{position:absolute;box-sizing:content-box;top:-1px;right:-1px;height:25px;width:25px;line-height:25px;opacity:1;border:1px solid;border-color:inherit;color:inherit;font-size:15px;transition:all .2s}.fusion-alert.awb-alert-close-boxed .close:hover{opacity:1;background-color:rgba(0,0,0,.05)}.fusion-alert.awb-alert-close-floated .close{position:static;opacity:.75;height:1em;width:1em;line-height:1;border:none;color:inherit;font-size:2em;font-weight:400;transition:opacity .2s}.fusion-alert.awb-alert-close-floated .close:hover{opacity:1}.fusion-alert.alert-blank{border:1px solid #747474}.fusion-alert.fusion-alert-capitalize{text-transform:uppercase}.fusion-alert.fusion-alert-center{text-align:center}.fusion-alert.fusion-alert-center .fusion-alert-content-wrapper{justify-content:center}.fusion-alert.fusion-alert-center .close{border-top-width:0}.ltr .fusion-alert.fusion-alert-center .close{border-right-width:0}.rtl .fusion-alert.fusion-alert-center .close{border-left-width:0}.fusion-alert.fusion-alert-center .alert-icon{margin-right:10px}.fusion-alert.fusion-alert-left .close{border-top-width:0;border-right-width:0}.fusion-alert.fusion-alert-left .fusion-alert-content-wrapper .alert-icon{margin-right:1em}.fusion-alert.fusion-alert-right .close{left:-1px;right:auto;border-top-width:0;border-left-width:0}.fusion-alert.fusion-alert-right .fusion-alert-content-wrapper{justify-content:flex-end}.fusion-alert.fusion-alert-right .fusion-alert-content-wrapper .alert-icon{order:1;margin-left:1em}.fusion-alert.fusion-alert-right.awb-alert-close-floated .fusion-alert-content-wrapper{order:1}.fusion-alert.awb-stripe-button-response.fusion-hidden{display:none}.fusion-alert.alert-info.general{--awb-background-color:var(--info_bg_color);--awb-accent-color:var(--info_accent_color)}.fusion-alert.alert-warning.notice{--awb-background-color:var(--warning_bg_color);--awb-accent-color:var(--warning_accent_color)}.fusion-alert.alert-danger.error{--awb-background-color:var(--danger_bg_color);--awb-accent-color:var(--danger_accent_color)}.fusion-alert.alert-success.success{--awb-background-color:var(--success_bg_color);--awb-accent-color:var(--success_accent_color)}.gform_wrapper .gform_validation_errors{position:relative;padding:25px;border-radius:0;margin-bottom:20px;text-shadow:none}.gform_wrapper .gfield_error .gfield_validation_message,.gform_wrapper .gform_validation_errors{--awb-background-color:var(--danger_bg_color);--awb-accent-color:var(--danger_accent_color);background:var(--danger_bg_color);border-color:var(--danger_accent_color);color:var(--danger_accent_color)}.fusion-audio.fusion-audio{--awb-background-color:var(--awb-audio-background-color-default, #222);--awb-max-width:var(--awb-audio-max-width-default, 100%);--awb-align-self:auto;--awb-width:auto;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-progress-color:var(--awb-audio-accent-color-default, #0073aa);--awb-border-top-left-radius:var(--awb-audio-border-top-left-radius-default, 0);--awb-border-top-right-radius:var(--awb-audio-border-top-right-radius-default, 0);--awb-border-bottom-right-radius:var(--awb-audio-border-bottom-right-radius-default, 0);--awb-border-bottom-left-radius:var(--awb-audio-border-bottom-left-radius-default, 0);--awb-box-shadow:none;--awb-border-size:var(--awb-audio-border-size-default, 0);--awb-border-color:var(--awb-audio-border-color-default, #222);align-self:var(--awb-align-self);width:var(--awb-width);max-width:var(--awb-max-width);margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.fusion-audio.fusion-audio.dark-controls .mejs-button>button{background-image:url("https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/mejs-controls-dark.svg")}.fusion-audio.fusion-audio.dark-controls .awb-playback-rate .playback-rate-button{background:0 0;color:#000}.fusion-audio.fusion-audio.dark-controls .mejs-controls>*{color:#000}.fusion-audio.fusion-audio.dark-controls .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,.fusion-audio.fusion-audio.dark-controls .mejs-controls .mejs-time-rail .mejs-time-total{background:rgba(0,0,0,.33)}.fusion-audio.fusion-audio.dark-controls .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current,.fusion-audio.fusion-audio.dark-controls .mejs-controls .mejs-time-rail .mejs-time-loaded{background:#000}.fusion-audio.fusion-audio.dark-controls .mejs-time-handle-content{border:4px solid hsla(0,0%,0%,.9)}.fusion-audio.fusion-audio.dark-controls .mejs-time-current,.fusion-audio.fusion-audio.dark-controls .mejs-time-handle-content{background:hsla(0,0%,0%,.9)}.fusion-audio.fusion-audio .mejs-container{background-color:transparent;height:calc(40px + 2 * var(--awb-border-size) * 1px)!important}.fusion-audio.fusion-audio .mejs-container .mejs-controls,.fusion-audio.fusion-audio .mejs-embed,.fusion-audio.fusion-audio .mejs-embed body{background-color:var(--awb-background-color)}.fusion-audio.fusion-audio .mejs-controls .mejs-time-rail .mejs-time-current{background:var(--awb-progress-color)}.fusion-audio.fusion-audio .mejs-controls{border-top-left-radius:var(--awb-border-top-left-radius);border-top-right-radius:var(--awb-border-top-right-radius);border-bottom-right-radius:var(--awb-border-bottom-right-radius);border-bottom-left-radius:var(--awb-border-bottom-left-radius);box-shadow:var(--awb-box-shadow);border:calc(var(--awb-border-size) * 1px) solid var(--awb-border-color);height:calc(40px + 2 * var(--awb-border-size) * 1px)!important}.fusion-audio.fusion-audio .awb-playback-rate-flyout{display:none;background-color:var(--awb-background-color);z-index:1000000;position:absolute;bottom:40px;border:calc(var(--awb-border-size) * 1px) solid var(--awb-border-color);border-bottom:0}.fusion-audio.fusion-audio .awb-button{width:30px}.fusion-audio.fusion-audio .playback-rate-button{box-sizing:content-box;margin:0;padding:10px 5px;background:0 0;color:#fff;font-size:10px;transition:opacity .2s;text-align:center}.fusion-audio.fusion-audio .playback-rate-button:hover{opacity:.6}.fusion-audio.fusion-audio .awb-playback-rate-active{font-size:11px;padding:16px 6px 14px 6px;line-height:10px;height:auto}/*
Version: 5.6.8
License: MIT
 */
(typeof navigator !== "undefined") && (function(root, factory) {
	if (typeof define === "function" && define.amd) {
		define(function() {
			return factory(root);
		});
	} else if (typeof module === "object" && module.exports) {
		module.exports = factory(root);
	} else {
		root.lottie = factory(root);
		root.bodymovin = root.lottie;
	}
}((window || {}), function(window) {
	"use strict";
	var svgNS = "http://www.w3.org/2000/svg";

	var locationHref = '';

	var initialDefaultFrame = -999999;

	var subframeEnabled = true;
	var expressionsPlugin;
	var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
	var cachedColors = {};
	var bm_rounder = Math.round;
	var bm_rnd;
	var bm_pow = Math.pow;
	var bm_sqrt = Math.sqrt;
	var bm_abs = Math.abs;
	var bm_floor = Math.floor;
	var bm_max = Math.max;
	var bm_min = Math.min;
	var blitter = 10;

	var BMMath = {};
	(function(){
		var propertyNames = ["abs", "acos", "acosh", "asin", "asinh", "atan", "atanh", "atan2", "ceil", "cbrt", "expm1", "clz32", "cos", "cosh", "exp", "floor", "fround", "hypot", "imul", "log", "log1p", "log2", "log10", "max", "min", "pow", "random", "round", "sign", "sin", "sinh", "sqrt", "tan", "tanh", "trunc", "E", "LN10", "LN2", "LOG10E", "LOG2E", "PI", "SQRT1_2", "SQRT2"];
		var i, len = propertyNames.length;
		for(i=0;i<len;i+=1){
			BMMath[propertyNames[i]] = Math[propertyNames[i]];
		}
	}());

	function ProjectInterface(){return {};}

	BMMath.random = Math.random;
	BMMath.abs = function(val){
		var tOfVal = typeof val;
		if(tOfVal === 'object' && val.length){
			var absArr = createSizedArray(val.length);
			var i, len = val.length;
			for(i=0;i<len;i+=1){
				absArr[i] = Math.abs(val[i]);
			}
			return absArr;
		}
		return Math.abs(val);

	};
	var defaultCurveSegments = 150;
	var degToRads = Math.PI/180;
	var roundCorner = 0.5519;

	function roundValues(flag){
		if(flag){
			bm_rnd = Math.round;
		}else{
			bm_rnd = function(val){
				return val;
			};
		}
	}
	roundValues(false);

	function styleDiv(element){
		element.style.position = 'absolute';
		element.style.top = 0;
		element.style.left = 0;
		element.style.display = 'block';
		element.style.transformOrigin = element.style.webkitTransformOrigin = '0 0';
		element.style.backfaceVisibility  = element.style.webkitBackfaceVisibility = 'visible';
		element.style.transformStyle = element.style.webkitTransformStyle = element.style.mozTransformStyle = "preserve-3d";
	}

	function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier){
		this.type = type;
		this.currentTime = currentTime;
		this.totalTime = totalTime;
		this.direction = frameMultiplier < 0 ? -1 : 1;
	}

	function BMCompleteEvent(type, frameMultiplier){
		this.type = type;
		this.direction = frameMultiplier < 0 ? -1 : 1;
	}

	function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier){
		this.type = type;
		this.currentLoop = currentLoop;
		this.totalLoops = totalLoops;
		this.direction = frameMultiplier < 0 ? -1 : 1;
	}

	function BMSegmentStartEvent(type, firstFrame, totalFrames){
		this.type = type;
		this.firstFrame = firstFrame;
		this.totalFrames = totalFrames;
	}

	function BMDestroyEvent(type, target){
		this.type = type;
		this.target = target;
	}

	function BMRenderFrameErrorEvent(nativeError, currentTime) {
		this.type = 'renderFrameError';
		this.nativeError = nativeError;
		this.currentTime = currentTime;
	}

	function BMConfigErrorEvent(nativeError) {
		this.type = 'configError';
		this.nativeError = nativeError;
	}

	function BMAnimationConfigErrorEvent(type, nativeError) {
		this.type = type;
		this.nativeError = nativeError;
		this.currentTime = currentTime;
	}

	var createElementID = (function(){
		var _count = 0;
		return function createID() {
			return '__lottie_element_' + ++_count
		}
	}())

	function HSVtoRGB(h, s, v) {
		var r, g, b, i, f, p, q, t;
		i = Math.floor(h * 6);
		f = h * 6 - i;
		p = v * (1 - s);
		q = v * (1 - f * s);
		t = v * (1 - (1 - f) * s);
		switch (i % 6) {
			case 0: r = v; g = t; b = p; break;
			case 1: r = q; g = v; b = p; break;
			case 2: r = p; g = v; b = t; break;
			case 3: r = p; g = q; b = v; break;
			case 4: r = t; g = p; b = v; break;
			case 5: r = v; g = p; b = q; break;
		}
		return [ r,
			g,
			b ];
	}

	function RGBtoHSV(r, g, b) {
		var max = Math.max(r, g, b), min = Math.min(r, g, b),
			d = max - min,
			h,
			s = (max === 0 ? 0 : d / max),
			v = max / 255;

		switch (max) {
			case min: h = 0; break;
			case r: h = (g - b) + d * (g < b ? 6: 0); h /= 6 * d; break;
			case g: h = (b - r) + d * 2; h /= 6 * d; break;
			case b: h = (r - g) + d * 4; h /= 6 * d; break;
		}

		return [
			h,
			s,
			v
		];
	}

	function addSaturationToRGB(color,offset){
		var hsv = RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);
		hsv[1] += offset;
		if (hsv[1] > 1) {
			hsv[1] = 1;
		}
		else if (hsv[1] <= 0) {
			hsv[1] = 0;
		}
		return HSVtoRGB(hsv[0],hsv[1],hsv[2]);
	}

	function addBrightnessToRGB(color,offset){
		var hsv = RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);
		hsv[2] += offset;
		if (hsv[2] > 1) {
			hsv[2] = 1;
		}
		else if (hsv[2] < 0) {
			hsv[2] = 0;
		}
		return HSVtoRGB(hsv[0],hsv[1],hsv[2]);
	}

	function addHueToRGB(color,offset) {
		var hsv = RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);
		hsv[0] += offset/360;
		if (hsv[0] > 1) {
			hsv[0] -= 1;
		}
		else if (hsv[0] < 0) {
			hsv[0] += 1;
		}
		return HSVtoRGB(hsv[0],hsv[1],hsv[2]);
	}

	var rgbToHex = (function(){
		var colorMap = [];
		var i;
		var hex;
		for(i=0;i<256;i+=1){
			hex = i.toString(16);
			colorMap[i] = hex.length == 1 ? '0' + hex : hex;
		}

		return function(r, g, b) {
			if(r<0){
				r = 0;
			}
			if(g<0){
				g = 0;
			}
			if(b<0){
				b = 0;
			}
			return '#' + colorMap[r] + colorMap[g] + colorMap[b];
		};
	}());
	function BaseEvent(){}
	BaseEvent.prototype = {
		triggerEvent: function (eventName, args) {
			if (this._cbs[eventName]) {
				var len = this._cbs[eventName].length;
				for (var i = 0; i < len; i++){
					this._cbs[eventName][i](args);
				}
			}
		},
		addEventListener: function (eventName, callback) {
			if (!this._cbs[eventName]){
				this._cbs[eventName] = [];
			}
			this._cbs[eventName].push(callback);

			return function() {
				this.removeEventListener(eventName, callback);
			}.bind(this);
		},
		removeEventListener: function (eventName,callback){
			if (!callback){
				this._cbs[eventName] = null;
			}else if(this._cbs[eventName]){
				var i = 0, len = this._cbs[eventName].length;
				while(i<len){
					if(this._cbs[eventName][i] === callback){
						this._cbs[eventName].splice(i,1);
						i -=1;
						len -= 1;
					}
					i += 1;
				}
				if(!this._cbs[eventName].length){
					this._cbs[eventName] = null;
				}
			}
		}
	};
	var createTypedArray = (function(){
		function createRegularArray(type, len){
			var i = 0, arr = [], value;
			switch(type) {
				case 'int16':
				case 'uint8c':
					value = 1;
					break;
				default:
					value = 1.1;
					break;
			}
			for(i = 0; i < len; i += 1) {
				arr.push(value);
			}
			return arr;
		}
		function createTypedArray(type, len){
			if(type === 'float32') {
				return new Float32Array(len);
			} else if(type === 'int16') {
				return new Int16Array(len);
			} else if(type === 'uint8c') {
				return new Uint8ClampedArray(len);
			}
		}
		if(typeof Uint8ClampedArray === 'function' && typeof Float32Array === 'function') {
			return createTypedArray;
		} else {
			return createRegularArray;
		}
	}());

	function createSizedArray(len) {
		return Array.apply(null,{length:len});
	}
	function createNS(type) {
		//return {appendChild:function(){},setAttribute:function(){},style:{}}
		return document.createElementNS(svgNS, type);
	}
	function createTag(type) {
		//return {appendChild:function(){},setAttribute:function(){},style:{}}
		return document.createElement(type);
	}
	function DynamicPropertyContainer(){};
	DynamicPropertyContainer.prototype = {
		addDynamicProperty: function(prop) {
			if(this.dynamicProperties.indexOf(prop) === -1) {
				this.dynamicProperties.push(prop);
				this.container.addDynamicProperty(this);
				this._isAnimated = true;
			}
		},
		iterateDynamicProperties: function(){
			this._mdf = false;
			var i, len = this.dynamicProperties.length;
			for(i=0;i<len;i+=1){
				this.dynamicProperties[i].getValue();
				if(this.dynamicProperties[i]._mdf) {
					this._mdf = true;
				}
			}
		},
		initDynamicPropertyContainer: function(container){
			this.container = container;
			this.dynamicProperties = [];
			this._mdf = false;
			this._isAnimated = false;
		}
	}
	var getBlendMode = (function() {

		var blendModeEnums = {
			0:'source-over',
			1:'multiply',
			2:'screen',
			3:'overlay',
			4:'darken',
			5:'lighten',
			6:'color-dodge',
			7:'color-burn',
			8:'hard-light',
			9:'soft-light',
			10:'difference',
			11:'exclusion',
			12:'hue',
			13:'saturation',
			14:'color',
			15:'luminosity'
		}

		return function(mode) {
			return blendModeEnums[mode] || '';
		}
	}())
	/*!
 Transformation Matrix v2.0
 (c) Epistemex 2014-2015
 www.epistemex.com
 By Ken Fyrstenberg
 Contributions by leeoniya.
 License: MIT, header required.
 */

	/**
	 * 2D transformation matrix object initialized with identity matrix.
	 *
	 * The matrix can synchronize a canvas context by supplying the context
	 * as an argument, or later apply current absolute transform to an
	 * existing context.
	 *
	 * All values are handled as floating point values.
	 *
	 * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix
	 * @prop {number} a - scale x
	 * @prop {number} b - shear y
	 * @prop {number} c - shear x
	 * @prop {number} d - scale y
	 * @prop {number} e - translate x
	 * @prop {number} f - translate y
	 * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context
	 * @constructor
	 */

	var Matrix = (function(){

		var _cos = Math.cos;
		var _sin = Math.sin;
		var _tan = Math.tan;
		var _rnd = Math.round;

		function reset(){
			this.props[0] = 1;
			this.props[1] = 0;
			this.props[2] = 0;
			this.props[3] = 0;
			this.props[4] = 0;
			this.props[5] = 1;
			this.props[6] = 0;
			this.props[7] = 0;
			this.props[8] = 0;
			this.props[9] = 0;
			this.props[10] = 1;
			this.props[11] = 0;
			this.props[12] = 0;
			this.props[13] = 0;
			this.props[14] = 0;
			this.props[15] = 1;
			return this;
		}

		function rotate(angle) {
			if(angle === 0){
				return this;
			}
			var mCos = _cos(angle);
			var mSin = _sin(angle);
			return this._t(mCos, -mSin,  0, 0, mSin,  mCos, 0, 0, 0,  0,  1, 0, 0, 0, 0, 1);
		}

		function rotateX(angle){
			if(angle === 0){
				return this;
			}
			var mCos = _cos(angle);
			var mSin = _sin(angle);
			return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin,  mCos, 0, 0, 0, 0, 1);
		}

		function rotateY(angle){
			if(angle === 0){
				return this;
			}
			var mCos = _cos(angle);
			var mSin = _sin(angle);
			return this._t(mCos,  0,  mSin, 0, 0, 1, 0, 0, -mSin,  0,  mCos, 0, 0, 0, 0, 1);
		}

		function rotateZ(angle){
			if(angle === 0){
				return this;
			}
			var mCos = _cos(angle);
			var mSin = _sin(angle);
			return this._t(mCos, -mSin,  0, 0, mSin,  mCos, 0, 0, 0,  0,  1, 0, 0, 0, 0, 1);
		}

		function shear(sx,sy){
			return this._t(1, sy, sx, 1, 0, 0);
		}

		function skew(ax, ay){
			return this.shear(_tan(ax), _tan(ay));
		}

		function skewFromAxis(ax, angle){
			var mCos = _cos(angle);
			var mSin = _sin(angle);
			return this._t(mCos, mSin,  0, 0, -mSin,  mCos, 0, 0, 0,  0,  1, 0, 0, 0, 0, 1)
				._t(1, 0,  0, 0, _tan(ax),  1, 0, 0, 0,  0,  1, 0, 0, 0, 0, 1)
				._t(mCos, -mSin,  0, 0, mSin,  mCos, 0, 0, 0,  0,  1, 0, 0, 0, 0, 1);
			//return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);
		}

		function scale(sx, sy, sz) {
			if(!sz && sz !== 0) {
				sz = 1;
			}
			if(sx === 1 && sy === 1 && sz === 1){
				return this;
			}
			return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);
		}

		function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {
			this.props[0] = a;
			this.props[1] = b;
			this.props[2] = c;
			this.props[3] = d;
			this.props[4] = e;
			this.props[5] = f;
			this.props[6] = g;
			this.props[7] = h;
			this.props[8] = i;
			this.props[9] = j;
			this.props[10] = k;
			this.props[11] = l;
			this.props[12] = m;
			this.props[13] = n;
			this.props[14] = o;
			this.props[15] = p;
			return this;
		}

		function translate(tx, ty, tz) {
			tz = tz || 0;
			if(tx !== 0 || ty !== 0 || tz !== 0){
				return this._t(1,0,0,0,0,1,0,0,0,0,1,0,tx,ty,tz,1);
			}
			return this;
		}

		function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {

			var _p = this.props;

			if(a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0){
				//NOTE: commenting this condition because TurboFan deoptimizes code when present
				//if(m2 !== 0 || n2 !== 0 || o2 !== 0){
				_p[12] = _p[12] * a2 + _p[15] * m2;
				_p[13] = _p[13] * f2 + _p[15] * n2;
				_p[14] = _p[14] * k2 + _p[15] * o2;
				_p[15] = _p[15] * p2;
				//}
				this._identityCalculated = false;
				return this;
			}

			var a1 = _p[0];
			var b1 = _p[1];
			var c1 = _p[2];
			var d1 = _p[3];
			var e1 = _p[4];
			var f1 = _p[5];
			var g1 = _p[6];
			var h1 = _p[7];
			var i1 = _p[8];
			var j1 = _p[9];
			var k1 = _p[10];
			var l1 = _p[11];
			var m1 = _p[12];
			var n1 = _p[13];
			var o1 = _p[14];
			var p1 = _p[15];

			/* matrix order (canvas compatible):
         * ace
         * bdf
         * 001
         */
			_p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;
			_p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2 ;
			_p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2 ;
			_p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2 ;

			_p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2 ;
			_p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2 ;
			_p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2 ;
			_p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2 ;

			_p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2 ;
			_p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2 ;
			_p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2 ;
			_p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2 ;

			_p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2 ;
			_p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2 ;
			_p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2 ;
			_p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2 ;

			this._identityCalculated = false;
			return this;
		}

		function isIdentity() {
			if(!this._identityCalculated){
				this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1);
				this._identityCalculated = true;
			}
			return this._identity;
		}

		function equals(matr){
			var i = 0;
			while (i < 16) {
				if(matr.props[i] !== this.props[i]) {
					return false;
				}
				i+=1;
			}
			return true;
		}

		function clone(matr){
			var i;
			for(i=0;i<16;i+=1){
				matr.props[i] = this.props[i];
			}
		}

		function cloneFromProps(props){
			var i;
			for(i=0;i<16;i+=1){
				this.props[i] = props[i];
			}
		}

		function applyToPoint(x, y, z) {

			return {
				x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],
				y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],
				z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]
			};
			/*return {
         x: x * me.a + y * me.c + me.e,
         y: x * me.b + y * me.d + me.f
         };*/
		}
		function applyToX(x, y, z) {
			return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];
		}
		function applyToY(x, y, z) {
			return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];
		}
		function applyToZ(x, y, z) {
			return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];
		}

		function getInverseMatrix() {
			var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];
			var a = this.props[5]/determinant;
			var b = - this.props[1]/determinant;
			var c = - this.props[4]/determinant;
			var d = this.props[0]/determinant;
			var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12])/determinant;
			var f = - (this.props[0] * this.props[13] - this.props[1] * this.props[12])/determinant;
			var inverseMatrix = new Matrix();
			inverseMatrix.props[0] = a;
			inverseMatrix.props[1] = b;
			inverseMatrix.props[4] = c;
			inverseMatrix.props[5] = d;
			inverseMatrix.props[12] = e;
			inverseMatrix.props[13] = f;
			return inverseMatrix;
		}

		function inversePoint(pt) {
			var inverseMatrix = this.getInverseMatrix();
			return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0)
		}

		function inversePoints(pts){
			var i, len = pts.length, retPts = [];
			for(i=0;i<len;i+=1){
				retPts[i] = inversePoint(pts[i]);
			}
			return retPts;
		}

		function applyToTriplePoints(pt1, pt2, pt3) {
			var arr = createTypedArray('float32', 6);
			if(this.isIdentity()) {
				arr[0] = pt1[0];
				arr[1] = pt1[1];
				arr[2] = pt2[0];
				arr[3] = pt2[1];
				arr[4] = pt3[0];
				arr[5] = pt3[1];
			} else {
				var p0 = this.props[0], p1 = this.props[1], p4 = this.props[4], p5 = this.props[5], p12 = this.props[12], p13 = this.props[13];
				arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;
				arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;
				arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;
				arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;
				arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;
				arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;
			}
			return arr;
		}

		function applyToPointArray(x,y,z){
			var arr;
			if(this.isIdentity()) {
				arr = [x,y,z];
			} else {
				arr = [x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]];
			}
			return arr;
		}

		function applyToPointStringified(x, y) {
			if(this.isIdentity()) {
				return x + ',' + y;
			}
			var _p = this.props;
			return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100+','+ Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;
		}

		function toCSS() {
			//Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.
			/*if(this.isIdentity()) {
            return '';
        }*/
			var i = 0;
			var props = this.props;
			var cssValue = 'matrix3d(';
			var v = 10000;
			while(i<16){
				cssValue += _rnd(props[i]*v)/v;
				cssValue += i === 15 ? ')':',';
				i += 1;
			}
			return cssValue;
		}

		function roundMatrixProperty(val) {
			var v = 10000;
			if((val < 0.000001 && val > 0) || (val > -0.000001 && val < 0)) {
				return _rnd(val * v) / v;
			}
			return val;
		}

		function to2dCSS() {
			//Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.
			/*if(this.isIdentity()) {
            return '';
        }*/
			var props = this.props;
			var _a = roundMatrixProperty(props[0]);
			var _b = roundMatrixProperty(props[1]);
			var _c = roundMatrixProperty(props[4]);
			var _d = roundMatrixProperty(props[5]);
			var _e = roundMatrixProperty(props[12]);
			var _f = roundMatrixProperty(props[13]);
			return "matrix(" + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + ")";
		}

		return function(){
			this.reset = reset;
			this.rotate = rotate;
			this.rotateX = rotateX;
			this.rotateY = rotateY;
			this.rotateZ = rotateZ;
			this.skew = skew;
			this.skewFromAxis = skewFromAxis;
			this.shear = shear;
			this.scale = scale;
			this.setTransform = setTransform;
			this.translate = translate;
			this.transform = transform;
			this.applyToPoint = applyToPoint;
			this.applyToX = applyToX;
			this.applyToY = applyToY;
			this.applyToZ = applyToZ;
			this.applyToPointArray = applyToPointArray;
			this.applyToTriplePoints = applyToTriplePoints;
			this.applyToPointStringified = applyToPointStringified;
			this.toCSS = toCSS;
			this.to2dCSS = to2dCSS;
			this.clone = clone;
			this.cloneFromProps = cloneFromProps;
			this.equals = equals;
			this.inversePoints = inversePoints;
			this.inversePoint = inversePoint;
			this.getInverseMatrix = getInverseMatrix;
			this._t = this.transform;
			this.isIdentity = isIdentity;
			this._identity = true;
			this._identityCalculated = false;

			this.props = createTypedArray('float32', 16);
			this.reset();
		};
	}());

	/*
 Copyright 2014 David Bau.

 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
 "Software"), to deal in the Software without restriction, including
 without limitation the rights to use, copy, modify, merge, publish,
 distribute, sublicense, and/or sell copies of the Software, and to
 permit persons to whom the Software is furnished to do so, subject to
 the following conditions:

 The above copyright notice and this permission notice shall be
 included in all copies or substantial portions of the Software.

 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 */

	(function (pool, math) {
//
// The following constants are related to IEEE 754 limits.
//
		var global = this,
			width = 256,        // each RC4 output is 0 <= x < 256
			chunks = 6,         // at least six RC4 outputs for each double
			digits = 52,        // there are 52 significant digits in a double
			rngname = 'random', // rngname: name for Math.random and Math.seedrandom
			startdenom = math.pow(width, chunks),
			significance = math.pow(2, digits),
			overflow = significance * 2,
			mask = width - 1,
			nodecrypto;         // node.js crypto module, initialized at the bottom.

//
// seedrandom()
// This is the seedrandom function described above.
//
		function seedrandom(seed, options, callback) {
			var key = [];
			options = (options === true) ? { entropy: true } : (options || {});

			// Flatten the seed string or build one from local entropy if needed.
			var shortseed = mixkey(flatten(
				options.entropy ? [seed, tostring(pool)] :
					(seed === null) ? autoseed() : seed, 3), key);

			// Use the seed to initialize an ARC4 generator.
			var arc4 = new ARC4(key);

			// This function returns a random double in [0, 1) that contains
			// randomness in every bit of the mantissa of the IEEE 754 value.
			var prng = function() {
				var n = arc4.g(chunks),             // Start with a numerator n < 2 ^ 48
					d = startdenom,                 //   and denominator d = 2 ^ 48.
					x = 0;                          //   and no 'extra last byte'.
				while (n < significance) {          // Fill up all significant digits by
					n = (n + x) * width;              //   shifting numerator and
					d *= width;                       //   denominator and generating a
					x = arc4.g(1);                    //   new least-significant-byte.
				}
				while (n >= overflow) {             // To avoid rounding up, before adding
					n /= 2;                           //   last byte, shift everything
					d /= 2;                           //   right using integer math until
					x >>>= 1;                         //   we have exactly the desired bits.
				}
				return (n + x) / d;                 // Form the number within [0, 1).
			};

			prng.int32 = function() { return arc4.g(4) | 0; };
			prng.quick = function() { return arc4.g(4) / 0x100000000; };
			prng.double = prng;

			// Mix the randomness into accumulated entropy.
			mixkey(tostring(arc4.S), pool);

			// Calling convention: what to return as a function of prng, seed, is_math.
			return (options.pass || callback ||
				function(prng, seed, is_math_call, state) {
					if (state) {
						// Load the arc4 state from the given state if it has an S array.
						if (state.S) { copy(state, arc4); }
						// Only provide the .state method if requested via options.state.
						prng.state = function() { return copy(arc4, {}); };
					}

					// If called as a method of Math (Math.seedrandom()), mutate
					// Math.random because that is how seedrandom.js has worked since v1.0.
					if (is_math_call) { math[rngname] = prng; return seed; }

						// Otherwise, it is a newer calling convention, so return the
					// prng directly.
					else return prng;
				})(
				prng,
				shortseed,
				'global' in options ? options.global : (this == math),
				options.state);
		}
		math['seed' + rngname] = seedrandom;

//
// ARC4
//
// An ARC4 implementation.  The constructor takes a key in the form of
// an array of at most (width) integers that should be 0 <= x < (width).
//
// The g(count) method returns a pseudorandom integer that concatenates
// the next (count) outputs from ARC4.  Its return value is a number x
// that is in the range 0 <= x < (width ^ count).
//
		function ARC4(key) {
			var t, keylen = key.length,
				me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];

			// The empty key [] is treated as [0].
			if (!keylen) { key = [keylen++]; }

			// Set up S using the standard key scheduling algorithm.
			while (i < width) {
				s[i] = i++;
			}
			for (i = 0; i < width; i++) {
				s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];
				s[j] = t;
			}

			// The "g" method returns the next (count) outputs as one number.
			me.g = function(count) {
				// Using instance members instead of closure state nearly doubles speed.
				var t, r = 0,
					i = me.i, j = me.j, s = me.S;
				while (count--) {
					t = s[i = mask & (i + 1)];
					r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];
				}
				me.i = i; me.j = j;
				return r;
				// For robust unpredictability, the function call below automatically
				// discards an initial batch of values.  This is called RC4-drop[256].
				// See http://google.com/search?q=rsa+fluhrer+response&btnI
			};
		}

//
// copy()
// Copies internal state of ARC4 to or from a plain object.
//
		function copy(f, t) {
			t.i = f.i;
			t.j = f.j;
			t.S = f.S.slice();
			return t;
		}

//
// flatten()
// Converts an object tree to nested arrays of strings.
//
		function flatten(obj, depth) {
			var result = [], typ = (typeof obj), prop;
			if (depth && typ == 'object') {
				for (prop in obj) {
					try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}
				}
			}
			return (result.length ? result : typ == 'string' ? obj : obj + '\0');
		}

//
// mixkey()
// Mixes a string seed into a key that is an array of integers, and
// returns a shortened string seed that is equivalent to the result key.
//
		function mixkey(seed, key) {
			var stringseed = seed + '', smear, j = 0;
			while (j < stringseed.length) {
				key[mask & j] =
					mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));
			}
			return tostring(key);
		}

//
// autoseed()
// Returns an object for autoseeding, using window.crypto and Node crypto
// module if available.
//
		function autoseed() {
			try {
				if (nodecrypto) { return tostring(nodecrypto.randomBytes(width)); }
				var out = new Uint8Array(width);
				(global.crypto || global.msCrypto).getRandomValues(out);
				return tostring(out);
			} catch (e) {
				var browser = global.navigator,
					plugins = browser && browser.plugins;
				return [+new Date(), global, plugins, global.screen, tostring(pool)];
			}
		}

//
// tostring()
// Converts an array of charcodes to a string
//
		function tostring(a) {
			return String.fromCharCode.apply(0, a);
		}

//
// When seedrandom.js is loaded, we immediately mix a few bits
// from the built-in RNG into the entropy pool.  Because we do
// not want to interfere with deterministic PRNG state later,
// seedrandom will not call math.random on its own again after
// initialization.
//
		mixkey(math.random(), pool);

//
// Nodejs and AMD support: export the implementation as a module using
// either convention.
//

// End anonymous scope, and pass initial values.
	})(
		[],     // pool: entropy pool starts empty
		BMMath    // math: package containing random, pow, and seedrandom
	);
	var BezierFactory = (function(){
		/**
		 * BezierEasing - use bezier curve for transition easing function
		 * by Gaëtan Renaudeau 2014 - 2015 – MIT License
		 *
		 * Credits: is based on Firefox's nsSMILKeySpline.cpp
		 * Usage:
		 * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])
		 * spline.get(x) => returns the easing value | x must be in [0, 1] range
		 *
		 */

		var ob = {};
		ob.getBezierEasing = getBezierEasing;
		var beziers = {};

		function getBezierEasing(a,b,c,d,nm){
			var str = nm || ('bez_' + a+'_'+b+'_'+c+'_'+d).replace(/\./g, 'p');
			if(beziers[str]){
				return beziers[str];
			}
			var bezEasing = new BezierEasing([a,b,c,d]);
			beziers[str] = bezEasing;
			return bezEasing;
		}

// These values are established by empiricism with tests (tradeoff: performance VS precision)
		var NEWTON_ITERATIONS = 4;
		var NEWTON_MIN_SLOPE = 0.001;
		var SUBDIVISION_PRECISION = 0.0000001;
		var SUBDIVISION_MAX_ITERATIONS = 10;

		var kSplineTableSize = 11;
		var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);

		var float32ArraySupported = typeof Float32Array === "function";

		function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; }
		function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; }
		function C (aA1)      { return 3.0 * aA1; }

// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.
		function calcBezier (aT, aA1, aA2) {
			return ((A(aA1, aA2)*aT + B(aA1, aA2))*aT + C(aA1))*aT;
		}

// Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.
		function getSlope (aT, aA1, aA2) {
			return 3.0 * A(aA1, aA2)*aT*aT + 2.0 * B(aA1, aA2) * aT + C(aA1);
		}

		function binarySubdivide (aX, aA, aB, mX1, mX2) {
			var currentX, currentT, i = 0;
			do {
				currentT = aA + (aB - aA) / 2.0;
				currentX = calcBezier(currentT, mX1, mX2) - aX;
				if (currentX > 0.0) {
					aB = currentT;
				} else {
					aA = currentT;
				}
			} while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
			return currentT;
		}

		function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) {
			for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
				var currentSlope = getSlope(aGuessT, mX1, mX2);
				if (currentSlope === 0.0) return aGuessT;
				var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
				aGuessT -= currentX / currentSlope;
			}
			return aGuessT;
		}

		/**
		 * points is an array of [ mX1, mY1, mX2, mY2 ]
		 */
		function BezierEasing (points) {
			this._p = points;
			this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);
			this._precomputed = false;

			this.get = this.get.bind(this);
		}

		BezierEasing.prototype = {

			get: function (x) {
				var mX1 = this._p[0],
					mY1 = this._p[1],
					mX2 = this._p[2],
					mY2 = this._p[3];
				if (!this._precomputed) this._precompute();
				if (mX1 === mY1 && mX2 === mY2) return x; // linear
				// Because JavaScript number are imprecise, we should guarantee the extremes are right.
				if (x === 0) return 0;
				if (x === 1) return 1;
				return calcBezier(this._getTForX(x), mY1, mY2);
			},

			// Private part

			_precompute: function () {
				var mX1 = this._p[0],
					mY1 = this._p[1],
					mX2 = this._p[2],
					mY2 = this._p[3];
				this._precomputed = true;
				if (mX1 !== mY1 || mX2 !== mY2)
					this._calcSampleValues();
			},

			_calcSampleValues: function () {
				var mX1 = this._p[0],
					mX2 = this._p[2];
				for (var i = 0; i < kSplineTableSize; ++i) {
					this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
				}
			},

			/**
			 * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.
			 */
			_getTForX: function (aX) {
				var mX1 = this._p[0],
					mX2 = this._p[2],
					mSampleValues = this._mSampleValues;

				var intervalStart = 0.0;
				var currentSample = 1;
				var lastSample = kSplineTableSize - 1;

				for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {
					intervalStart += kSampleStepSize;
				}
				--currentSample;

				// Interpolate to provide an initial guess for t
				var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample+1] - mSampleValues[currentSample]);
				var guessForT = intervalStart + dist * kSampleStepSize;

				var initialSlope = getSlope(guessForT, mX1, mX2);
				if (initialSlope >= NEWTON_MIN_SLOPE) {
					return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
				} else if (initialSlope === 0.0) {
					return guessForT;
				} else {
					return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
				}
			}
		};

		return ob;

	}());
	(function () {
		var lastTime = 0;
		var vendors = ['ms', 'moz', 'webkit', 'o'];
		for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
			window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
			window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];
		}
		if(!window.requestAnimationFrame)
			window.requestAnimationFrame = function (callback, element) {
				var currTime = new Date().getTime();
				var timeToCall = Math.max(0, 16 - (currTime - lastTime));
				var id = setTimeout(function () {
						callback(currTime + timeToCall);
					},
					timeToCall);
				lastTime = currTime + timeToCall;
				return id;
			};
		if(!window.cancelAnimationFrame)
			window.cancelAnimationFrame = function (id) {
				clearTimeout(id);
			};
	}());

	function extendPrototype(sources,destination){
		var i, len = sources.length, sourcePrototype;
		for (i = 0;i < len;i += 1) {
			sourcePrototype = sources[i].prototype;
			for (var attr in sourcePrototype) {
				if (sourcePrototype.hasOwnProperty(attr)) destination.prototype[attr] = sourcePrototype[attr];
			}
		}
	}

	function getDescriptor(object, prop) {
		return Object.getOwnPropertyDescriptor(object, prop);
	}

	function createProxyFunction(prototype) {
		function ProxyFunction(){}
		ProxyFunction.prototype = prototype;
		return ProxyFunction;
	}
	function bezFunction(){

		var easingFunctions = [];
		var math = Math;

		function pointOnLine2D(x1,y1, x2,y2, x3,y3){
			var det1 = (x1*y2) + (y1*x3) + (x2*y3) - (x3*y2) - (y3*x1) - (x2*y1);
			return det1 > -0.001 && det1 < 0.001;
		}

		function pointOnLine3D(x1,y1,z1, x2,y2,z2, x3,y3,z3){
			if(z1 === 0 && z2 === 0 && z3 === 0) {
				return pointOnLine2D(x1,y1, x2,y2, x3,y3);
			}
			var dist1 = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2) + Math.pow(z2 - z1, 2));
			var dist2 = Math.sqrt(Math.pow(x3 - x1, 2) + Math.pow(y3 - y1, 2) + Math.pow(z3 - z1, 2));
			var dist3 = Math.sqrt(Math.pow(x3 - x2, 2) + Math.pow(y3 - y2, 2) + Math.pow(z3 - z2, 2));
			var diffDist;
			if(dist1 > dist2){
				if(dist1 > dist3){
					diffDist = dist1 - dist2 - dist3;
				} else {
					diffDist = dist3 - dist2 - dist1;
				}
			} else if(dist3 > dist2){
				diffDist = dist3 - dist2 - dist1;
			} else {
				diffDist = dist2 - dist1 - dist3;
			}
			return diffDist > -0.0001 && diffDist < 0.0001;
		}

		var getBezierLength = (function(){

			return function(pt1,pt2,pt3,pt4){
				var curveSegments = defaultCurveSegments;
				var k;
				var i, len;
				var ptCoord,perc,addedLength = 0;
				var ptDistance;
				var point = [],lastPoint = [];
				var lengthData = bezier_length_pool.newElement();
				len = pt3.length;
				for(k=0;k<curveSegments;k+=1){
					perc = k/(curveSegments-1);
					ptDistance = 0;
					for(i=0;i<len;i+=1){
						ptCoord = bm_pow(1-perc,3)*pt1[i]+3*bm_pow(1-perc,2)*perc*pt3[i]+3*(1-perc)*bm_pow(perc,2)*pt4[i]+bm_pow(perc,3)*pt2[i];
						point[i] = ptCoord;
						if(lastPoint[i] !== null){
							ptDistance += bm_pow(point[i] - lastPoint[i],2);
						}
						lastPoint[i] = point[i];
					}
					if(ptDistance){
						ptDistance = bm_sqrt(ptDistance);
						addedLength += ptDistance;
					}
					lengthData.percents[k] = perc;
					lengthData.lengths[k] = addedLength;
				}
				lengthData.addedLength = addedLength;
				return lengthData;
			};
		}());

		function getSegmentsLength(shapeData) {
			var segmentsLength = segments_length_pool.newElement();
			var closed = shapeData.c;
			var pathV = shapeData.v;
			var pathO = shapeData.o;
			var pathI = shapeData.i;
			var i, len = shapeData._length;
			var lengths = segmentsLength.lengths;
			var totalLength = 0;
			for(i=0;i<len-1;i+=1){
				lengths[i] = getBezierLength(pathV[i],pathV[i+1],pathO[i],pathI[i+1]);
				totalLength += lengths[i].addedLength;
			}
			if(closed && len){
				lengths[i] = getBezierLength(pathV[i],pathV[0],pathO[i],pathI[0]);
				totalLength += lengths[i].addedLength;
			}
			segmentsLength.totalLength = totalLength;
			return segmentsLength;
		}

		function BezierData(length){
			this.segmentLength = 0;
			this.points = new Array(length);
		}

		function PointData(partial,point){
			this.partialLength = partial;
			this.point = point;
		}

		var buildBezierData = (function(){

			var storedData = {};

			return function (pt1, pt2, pt3, pt4){
				var bezierName = (pt1[0]+'_'+pt1[1]+'_'+pt2[0]+'_'+pt2[1]+'_'+pt3[0]+'_'+pt3[1]+'_'+pt4[0]+'_'+pt4[1]).replace(/\./g, 'p');
				if(!storedData[bezierName]){
					var curveSegments = defaultCurveSegments;
					var k, i, len;
					var ptCoord,perc,addedLength = 0;
					var ptDistance;
					var point,lastPoint = null;
					if (pt1.length === 2 && (pt1[0] != pt2[0] || pt1[1] != pt2[1]) && pointOnLine2D(pt1[0],pt1[1],pt2[0],pt2[1],pt1[0]+pt3[0],pt1[1]+pt3[1]) && pointOnLine2D(pt1[0],pt1[1],pt2[0],pt2[1],pt2[0]+pt4[0],pt2[1]+pt4[1])){
						curveSegments = 2;
					}
					var bezierData = new BezierData(curveSegments);
					len = pt3.length;
					for (k = 0; k < curveSegments; k += 1) {
						point = createSizedArray(len);
						perc = k / (curveSegments - 1);
						ptDistance = 0;
						for (i = 0; i < len; i += 1){
							ptCoord = bm_pow(1-perc,3)*pt1[i]+3*bm_pow(1-perc,2)*perc*(pt1[i] + pt3[i])+3*(1-perc)*bm_pow(perc,2)*(pt2[i] + pt4[i])+bm_pow(perc,3)*pt2[i];
							point[i] = ptCoord;
							if(lastPoint !== null){
								ptDistance += bm_pow(point[i] - lastPoint[i],2);
							}
						}
						ptDistance = bm_sqrt(ptDistance);
						addedLength += ptDistance;
						bezierData.points[k] = new PointData(ptDistance, point);
						lastPoint = point;
					}
					bezierData.segmentLength = addedLength;
					storedData[bezierName] = bezierData;
				}
				return storedData[bezierName];
			};
		}());

		function getDistancePerc(perc,bezierData){
			var percents = bezierData.percents;
			var lengths = bezierData.lengths;
			var len = percents.length;
			var initPos = bm_floor((len-1)*perc);
			var lengthPos = perc*bezierData.addedLength;
			var lPerc = 0;
			if(initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]){
				return percents[initPos];
			}else{
				var dir = lengths[initPos] > lengthPos ? -1 : 1;
				var flag = true;
				while(flag){
					if(lengths[initPos] <= lengthPos && lengths[initPos+1] > lengthPos){
						lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos+1] - lengths[initPos]);
						flag = false;
					}else{
						initPos += dir;
					}
					if(initPos < 0 || initPos >= len - 1){
						//FIX for TypedArrays that don't store floating point values with enough accuracy
						if(initPos === len - 1) {
							return percents[initPos];
						}
						flag = false;
					}
				}
				return percents[initPos] + (percents[initPos+1] - percents[initPos])*lPerc;
			}
		}

		function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {
			var t1 = getDistancePerc(percent,bezierData);
			var u0 = 1;
			var u1 = 1 - t1;
			var ptX = Math.round((u1*u1*u1* pt1[0] + (t1*u1*u1 + u1*t1*u1 + u1*u1*t1)* pt3[0] + (t1*t1*u1 + u1*t1*t1 + t1*u1*t1)*pt4[0] + t1*t1*t1* pt2[0])* 1000) / 1000;
			var ptY = Math.round((u1*u1*u1* pt1[1] + (t1*u1*u1 + u1*t1*u1 + u1*u1*t1)* pt3[1] + (t1*t1*u1 + u1*t1*t1 + t1*u1*t1)*pt4[1] + t1*t1*t1* pt2[1])* 1000) / 1000;
			return [ptX, ptY];
		}

		function getSegmentArray() {

		}

		var bezier_segment_points = createTypedArray('float32', 8);

		function getNewSegment(pt1,pt2,pt3,pt4,startPerc,endPerc, bezierData){

			startPerc = startPerc < 0 ? 0 : startPerc > 1 ? 1 : startPerc;
			var t0 = getDistancePerc(startPerc,bezierData);
			endPerc = endPerc > 1 ? 1 : endPerc;
			var t1 = getDistancePerc(endPerc,bezierData);
			var i, len = pt1.length;
			var u0 = 1 - t0;
			var u1 = 1 - t1;
			var u0u0u0 = u0*u0*u0;
			var t0u0u0_3 = t0*u0*u0*3;
			var t0t0u0_3 = t0*t0*u0*3;
			var t0t0t0 = t0*t0*t0;
			//
			var u0u0u1 = u0*u0*u1;
			var t0u0u1_3 = t0*u0*u1 + u0*t0*u1 + u0*u0*t1;
			var t0t0u1_3 = t0*t0*u1 + u0*t0*t1 + t0*u0*t1;
			var t0t0t1 = t0*t0*t1;
			//
			var u0u1u1 = u0*u1*u1;
			var t0u1u1_3 = t0*u1*u1 + u0*t1*u1 + u0*u1*t1;
			var t0t1u1_3 = t0*t1*u1 + u0*t1*t1 + t0*u1*t1;
			var t0t1t1 = t0*t1*t1;
			//
			var u1u1u1 = u1*u1*u1;
			var t1u1u1_3 = t1*u1*u1 + u1*t1*u1 + u1*u1*t1;
			var t1t1u1_3 = t1*t1*u1 + u1*t1*t1 + t1*u1*t1;
			var t1t1t1 = t1*t1*t1;
			for(i=0;i<len;i+=1){
				bezier_segment_points[i * 4] = Math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000;
				bezier_segment_points[i * 4 + 1] = Math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000;
				bezier_segment_points[i * 4 + 2] = Math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000;
				bezier_segment_points[i * 4 + 3] = Math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000;
			}

			return bezier_segment_points;
		}

		return {
			getSegmentsLength : getSegmentsLength,
			getNewSegment : getNewSegment,
			getPointInSegment : getPointInSegment,
			buildBezierData : buildBezierData,
			pointOnLine2D : pointOnLine2D,
			pointOnLine3D : pointOnLine3D
		};
	}

	var bez = bezFunction();
	function dataFunctionManager(){

		//var tCanvasHelper = createTag('canvas').getContext('2d');

		function completeLayers(layers, comps, fontManager){
			var layerData;
			var animArray, lastFrame;
			var i, len = layers.length;
			var j, jLen, k, kLen;
			for(i=0;i<len;i+=1){
				layerData = layers[i];
				if(!('ks' in layerData) || layerData.completed){
					continue;
				}
				layerData.completed = true;
				if(layerData.tt){
					layers[i-1].td = layerData.tt;
				}
				animArray = [];
				lastFrame = -1;
				if(layerData.hasMask){
					var maskProps = layerData.masksProperties;
					jLen = maskProps.length;
					for(j=0;j<jLen;j+=1){
						if(maskProps[j].pt.k.i){
							convertPathsToAbsoluteValues(maskProps[j].pt.k);
						}else{
							kLen = maskProps[j].pt.k.length;
							for(k=0;k<kLen;k+=1){
								if(maskProps[j].pt.k[k].s){
									convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);
								}
								if(maskProps[j].pt.k[k].e){
									convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);
								}
							}
						}
					}
				}
				if(layerData.ty===0){
					layerData.layers = findCompLayers(layerData.refId, comps);
					completeLayers(layerData.layers,comps, fontManager);
				}else if(layerData.ty === 4){
					completeShapes(layerData.shapes);
				}else if(layerData.ty == 5){
					completeText(layerData, fontManager);
				}
			}
		}

		function findCompLayers(id,comps){
			var i = 0, len = comps.length;
			while(i<len){
				if(comps[i].id === id){
					if(!comps[i].layers.__used) {
						comps[i].layers.__used = true;
						return comps[i].layers;
					}
					return JSON.parse(JSON.stringify(comps[i].layers));
				}
				i += 1;
			}
		}

		function completeShapes(arr){
			var i, len = arr.length;
			var j, jLen;
			var hasPaths = false;
			for(i=len-1;i>=0;i-=1){
				if(arr[i].ty == 'sh'){
					if(arr[i].ks.k.i){
						convertPathsToAbsoluteValues(arr[i].ks.k);
					}else{
						jLen = arr[i].ks.k.length;
						for(j=0;j<jLen;j+=1){
							if(arr[i].ks.k[j].s){
								convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);
							}
							if(arr[i].ks.k[j].e){
								convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);
							}
						}
					}
					hasPaths = true;
				}else if(arr[i].ty == 'gr'){
					completeShapes(arr[i].it);
				}
			}
			/*if(hasPaths){
            //mx: distance
            //ss: sensitivity
            //dc: decay
            arr.splice(arr.length-1,0,{
                "ty": "ms",
                "mx":20,
                "ss":10,
                 "dc":0.001,
                "maxDist":200
            });
        }*/
		}

		function convertPathsToAbsoluteValues(path){
			var i, len = path.i.length;
			for(i=0;i<len;i+=1){
				path.i[i][0] += path.v[i][0];
				path.i[i][1] += path.v[i][1];
				path.o[i][0] += path.v[i][0];
				path.o[i][1] += path.v[i][1];
			}
		}

		function checkVersion(minimum,animVersionString){
			var animVersion = animVersionString ? animVersionString.split('.') : [100,100,100];
			if(minimum[0]>animVersion[0]){
				return true;
			} else if(animVersion[0] > minimum[0]){
				return false;
			}
			if(minimum[1]>animVersion[1]){
				return true;
			} else if(animVersion[1] > minimum[1]){
				return false;
			}
			if(minimum[2]>animVersion[2]){
				return true;
			} else if(animVersion[2] > minimum[2]){
				return false;
			}
		}

		var checkText = (function(){
			var minimumVersion = [4,4,14];

			function updateTextLayer(textLayer){
				var documentData = textLayer.t.d;
				textLayer.t.d = {
					k: [
						{
							s:documentData,
							t:0
						}
					]
				};
			}

			function iterateLayers(layers){
				var i, len = layers.length;
				for(i=0;i<len;i+=1){
					if(layers[i].ty === 5){
						updateTextLayer(layers[i]);
					}
				}
			}

			return function (animationData){
				if(checkVersion(minimumVersion,animationData.v)){
					iterateLayers(animationData.layers);
					if(animationData.assets){
						var i, len = animationData.assets.length;
						for(i=0;i<len;i+=1){
							if(animationData.assets[i].layers){
								iterateLayers(animationData.assets[i].layers);

							}
						}
					}
				}
			};
		}());

		var checkChars = (function() {
			var minimumVersion = [4,7,99];
			return function (animationData){
				if(animationData.chars && !checkVersion(minimumVersion,animationData.v)){
					var i, len = animationData.chars.length, j, jLen, k, kLen;
					var pathData, paths;
					for(i = 0; i < len; i += 1) {
						if(animationData.chars[i].data && animationData.chars[i].data.shapes) {
							paths = animationData.chars[i].data.shapes[0].it;
							jLen = paths.length;

							for(j = 0; j < jLen; j += 1) {
								pathData = paths[j].ks.k;
								if(!pathData.__converted) {
									convertPathsToAbsoluteValues(paths[j].ks.k);
									pathData.__converted = true;
								}
							}
						}
					}
				}
			};
		}());

		var checkColors = (function(){
			var minimumVersion = [4,1,9];

			function iterateShapes(shapes){
				var i, len = shapes.length;
				var j, jLen;
				for(i=0;i<len;i+=1){
					if(shapes[i].ty === 'gr'){
						iterateShapes(shapes[i].it);
					}else if(shapes[i].ty === 'fl' || shapes[i].ty === 'st'){
						if(shapes[i].c.k && shapes[i].c.k[0].i){
							jLen = shapes[i].c.k.length;
							for(j=0;j<jLen;j+=1){
								if(shapes[i].c.k[j].s){
									shapes[i].c.k[j].s[0] /= 255;
									shapes[i].c.k[j].s[1] /= 255;
									shapes[i].c.k[j].s[2] /= 255;
									shapes[i].c.k[j].s[3] /= 255;
								}
								if(shapes[i].c.k[j].e){
									shapes[i].c.k[j].e[0] /= 255;
									shapes[i].c.k[j].e[1] /= 255;
									shapes[i].c.k[j].e[2] /= 255;
									shapes[i].c.k[j].e[3] /= 255;
								}
							}
						} else {
							shapes[i].c.k[0] /= 255;
							shapes[i].c.k[1] /= 255;
							shapes[i].c.k[2] /= 255;
							shapes[i].c.k[3] /= 255;
						}
					}
				}
			}

			function iterateLayers(layers){
				var i, len = layers.length;
				for(i=0;i<len;i+=1){
					if(layers[i].ty === 4){
						iterateShapes(layers[i].shapes);
					}
				}
			}

			return function (animationData){
				if(checkVersion(minimumVersion,animationData.v)){
					iterateLayers(animationData.layers);
					if(animationData.assets){
						var i, len = animationData.assets.length;
						for(i=0;i<len;i+=1){
							if(animationData.assets[i].layers){
								iterateLayers(animationData.assets[i].layers);

							}
						}
					}
				}
			};
		}());

		var checkShapes = (function(){
			var minimumVersion = [4,4,18];



			function completeShapes(arr){
				var i, len = arr.length;
				var j, jLen;
				var hasPaths = false;
				for(i=len-1;i>=0;i-=1){
					if(arr[i].ty == 'sh'){
						if(arr[i].ks.k.i){
							arr[i].ks.k.c = arr[i].closed;
						}else{
							jLen = arr[i].ks.k.length;
							for(j=0;j<jLen;j+=1){
								if(arr[i].ks.k[j].s){
									arr[i].ks.k[j].s[0].c = arr[i].closed;
								}
								if(arr[i].ks.k[j].e){
									arr[i].ks.k[j].e[0].c = arr[i].closed;
								}
							}
						}
						hasPaths = true;
					}else if(arr[i].ty == 'gr'){
						completeShapes(arr[i].it);
					}
				}
			}

			function iterateLayers(layers){
				var layerData;
				var i, len = layers.length;
				var j, jLen, k, kLen;
				for(i=0;i<len;i+=1){
					layerData = layers[i];
					if(layerData.hasMask){
						var maskProps = layerData.masksProperties;
						jLen = maskProps.length;
						for(j=0;j<jLen;j+=1){
							if(maskProps[j].pt.k.i){
								maskProps[j].pt.k.c = maskProps[j].cl;
							}else{
								kLen = maskProps[j].pt.k.length;
								for(k=0;k<kLen;k+=1){
									if(maskProps[j].pt.k[k].s){
										maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;
									}
									if(maskProps[j].pt.k[k].e){
										maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;
									}
								}
							}
						}
					}
					if(layerData.ty === 4){
						completeShapes(layerData.shapes);
					}
				}
			}

			return function (animationData){
				if(checkVersion(minimumVersion,animationData.v)){
					iterateLayers(animationData.layers);
					if(animationData.assets){
						var i, len = animationData.assets.length;
						for(i=0;i<len;i+=1){
							if(animationData.assets[i].layers){
								iterateLayers(animationData.assets[i].layers);

							}
						}
					}
				}
			};
		}());

		function completeData(animationData, fontManager){
			if(animationData.__complete){
				return;
			}
			checkColors(animationData);
			checkText(animationData);
			checkChars(animationData);
			checkShapes(animationData);
			completeLayers(animationData.layers, animationData.assets, fontManager);
			animationData.__complete = true;
			//blitAnimation(animationData, animationData.assets, fontManager);
		}

		function completeText(data, fontManager){
			if(data.t.a.length === 0 && !('m' in data.t.p)){
				data.singleShape = true;
			}
		}

		var moduleOb = {};
		moduleOb.completeData = completeData;
		moduleOb.checkColors = checkColors;
		moduleOb.checkChars = checkChars;
		moduleOb.checkShapes = checkShapes;
		moduleOb.completeLayers = completeLayers;

		return moduleOb;
	}

	var dataManager = dataFunctionManager();

	var FontManager = (function(){

		var maxWaitingTime = 5000;
		var emptyChar = {
			w: 0,
			size:0,
			shapes:[]
		};
		var combinedCharacters = [];
		//Hindi characters
		combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366
			, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379
			, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);

		function setUpNode(font, family){
			var parentNode = createTag('span');
			parentNode.style.fontFamily    = family;
			var node = createTag('span');
			// Characters that vary significantly among different fonts
			node.innerHTML = 'giItT1WQy@!-/#';
			// Visible - so we can measure it - but not on the screen
			parentNode.style.position      = 'absolute';
			parentNode.style.left          = '-10000px';
			parentNode.style.top           = '-10000px';
			// Large font size makes even subtle changes obvious
			parentNode.style.fontSize      = '300px';
			// Reset any font properties
			parentNode.style.fontVariant   = 'normal';
			parentNode.style.fontStyle     = 'normal';
			parentNode.style.fontWeight    = 'normal';
			parentNode.style.letterSpacing = '0';
			parentNode.appendChild(node);
			document.body.appendChild(parentNode);

			// Remember width with no applied web font
			var width = node.offsetWidth;
			node.style.fontFamily = font + ', '+family;
			return {node:node, w:width, parent:parentNode};
		}

		function checkLoadedFonts() {
			var i, len = this.fonts.length;
			var node, w;
			var loadedCount = len;
			for(i=0;i<len; i+= 1){
				if(this.fonts[i].loaded){
					loadedCount -= 1;
					continue;
				}
				if(this.fonts[i].fOrigin === 'n' || this.fonts[i].origin === 0){
					this.fonts[i].loaded = true;
				} else{
					node = this.fonts[i].monoCase.node;
					w = this.fonts[i].monoCase.w;
					if(node.offsetWidth !== w){
						loadedCount -= 1;
						this.fonts[i].loaded = true;
					}else{
						node = this.fonts[i].sansCase.node;
						w = this.fonts[i].sansCase.w;
						if(node.offsetWidth !== w){
							loadedCount -= 1;
							this.fonts[i].loaded = true;
						}
					}
					if(this.fonts[i].loaded){
						this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);
						this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);
					}
				}
			}

			if(loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime){
				setTimeout(this.checkLoadedFonts.bind(this),20);
			}else{
				setTimeout(function(){this.isLoaded = true;}.bind(this),0);

			}
		}

		function createHelper(def, fontData){
			var tHelper = createNS('text');
			tHelper.style.fontSize = '100px';
			//tHelper.style.fontFamily = fontData.fFamily;
			tHelper.setAttribute('font-family', fontData.fFamily);
			tHelper.setAttribute('font-style', fontData.fStyle);
			tHelper.setAttribute('font-weight', fontData.fWeight);
			tHelper.textContent = '1';
			if(fontData.fClass){
				tHelper.style.fontFamily = 'inherit';
				tHelper.setAttribute('class', fontData.fClass);
			} else {
				tHelper.style.fontFamily = fontData.fFamily;
			}
			def.appendChild(tHelper);
			var tCanvasHelper = createTag('canvas').getContext('2d');
			tCanvasHelper.font = fontData.fWeight + ' ' + fontData.fStyle + ' 100px '+ fontData.fFamily;
			//tCanvasHelper.font = ' 100px '+ fontData.fFamily;
			return tHelper;
		}

		function addFonts(fontData, defs){
			if(!fontData){
				this.isLoaded = true;
				return;
			}
			if(this.chars){
				this.isLoaded = true;
				this.fonts = fontData.list;
				return;
			}


			var fontArr = fontData.list;
			var i, len = fontArr.length;
			var _pendingFonts = len;
			for(i=0; i<len; i+= 1){
				var shouldLoadFont = true;
				var loadedSelector;
				var j;
				fontArr[i].loaded = false;
				fontArr[i].monoCase = setUpNode(fontArr[i].fFamily,'monospace');
				fontArr[i].sansCase = setUpNode(fontArr[i].fFamily,'sans-serif');
				if(!fontArr[i].fPath) {
					fontArr[i].loaded = true;
					_pendingFonts -= 1;
				}else if(fontArr[i].fOrigin === 'p' || fontArr[i].origin === 3){
					loadedSelector = document.querySelectorAll('style[f-forigin="p"][f-family="'+ fontArr[i].fFamily +'"], style[f-origin="3"][f-family="'+ fontArr[i].fFamily +'"]');

					if (loadedSelector.length > 0) {
						shouldLoadFont = false;
					}

					if (shouldLoadFont) {
						var s = createTag('style');
						s.setAttribute('f-forigin', fontArr[i].fOrigin);
						s.setAttribute('f-origin', fontArr[i].origin);
						s.setAttribute('f-family', fontArr[i].fFamily);
						s.type = "text/css";
						s.innerHTML = "@font-face {" + "font-family: "+fontArr[i].fFamily+"; font-style: normal; src: url('"+fontArr[i].fPath+"');}";
						defs.appendChild(s);
					}
				} else if(fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1){
					loadedSelector = document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]');

					for (j = 0; j < loadedSelector.length; j++) {
						if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {
							// Font is already loaded
							shouldLoadFont = false;
						}
					}

					if (shouldLoadFont) {
						var l = createTag('link');
						l.setAttribute('f-forigin', fontArr[i].fOrigin);
						l.setAttribute('f-origin', fontArr[i].origin);
						l.type = "text/css";
						l.rel = "stylesheet";
						l.href = fontArr[i].fPath;
						document.body.appendChild(l);
					}
				} else if(fontArr[i].fOrigin === 't' || fontArr[i].origin === 2){
					loadedSelector = document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]');

					for (j = 0; j < loadedSelector.length; j++) {
						if (fontArr[i].fPath === loadedSelector[j].src) {
							// Font is already loaded
							shouldLoadFont = false;
						}
					}

					if (shouldLoadFont) {
						var sc = createTag('link');
						sc.setAttribute('f-forigin', fontArr[i].fOrigin);
						sc.setAttribute('f-origin', fontArr[i].origin);
						sc.setAttribute('rel','stylesheet');
						sc.setAttribute('href',fontArr[i].fPath);
						defs.appendChild(sc);
					}
				}
				fontArr[i].helper = createHelper(defs,fontArr[i]);
				fontArr[i].cache = {};
				this.fonts.push(fontArr[i]);
			}
			if (_pendingFonts === 0) {
				this.isLoaded = true;
			} else {
				//On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.
				//Adding this timeout seems to fix it
				setTimeout(this.checkLoadedFonts.bind(this), 100);
			}
		}

		function addChars(chars){
			if(!chars){
				return;
			}
			if(!this.chars){
				this.chars = [];
			}
			var i, len = chars.length;
			var j, jLen = this.chars.length, found;
			for(i=0;i<len;i+=1){
				j = 0;
				found = false;
				while(j<jLen){
					if(this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch){
						found = true;
					}
					j += 1;
				}
				if(!found){
					this.chars.push(chars[i]);
					jLen += 1;
				}
			}
		}

		function getCharData(char, style, font){
			var i = 0, len = this.chars.length;
			while( i < len) {
				if(this.chars[i].ch === char && this.chars[i].style === style && this.chars[i].fFamily === font){

					return this.chars[i];
				}
				i+= 1;
			}
			if((typeof char === 'string' && char.charCodeAt(0) !== 13 || !char) && console && console.warn) {
				console.warn('Missing character from exported characters list: ', char, style, font);
			}
			return emptyChar;
		}

		function measureText(char, fontName, size) {
			var fontData = this.getFontByName(fontName);
			var index = char.charCodeAt(0);
			if(!fontData.cache[index + 1]) {
				var tHelper = fontData.helper;
				//Canvas version
				//fontData.cache[index] = tHelper.measureText(char).width / 100;
				//SVG version
				//console.log(tHelper.getBBox().width)
				if (char === ' ') {
					tHelper.textContent = '|' + char + '|';
					var doubleSize = tHelper.getComputedTextLength();
					tHelper.textContent = '||';
					var singleSize = tHelper.getComputedTextLength();
					fontData.cache[index + 1] = (doubleSize - singleSize)/100;
				} else {
					tHelper.textContent = char;
					fontData.cache[index + 1] = (tHelper.getComputedTextLength())/100;
				}
			}
			return fontData.cache[index + 1] * size;
		}

		function getFontByName(name){
			var i = 0, len = this.fonts.length;
			while(i<len){
				if(this.fonts[i].fName === name) {
					return this.fonts[i];
				}
				i += 1;
			}
			return this.fonts[0];
		}

		function getCombinedCharacterCodes() {
			return combinedCharacters;
		}

		function loaded() {
			return this.isLoaded;
		}

		var Font = function(){
			this.fonts = [];
			this.chars = null;
			this.typekitLoaded = 0;
			this.isLoaded = false;
			this.initTime = Date.now();
		};
		//TODO: for now I'm adding these methods to the Class and not the prototype. Think of a better way to implement it.
		Font.getCombinedCharacterCodes = getCombinedCharacterCodes;

		Font.prototype.addChars = addChars;
		Font.prototype.addFonts = addFonts;
		Font.prototype.getCharData = getCharData;
		Font.prototype.getFontByName = getFontByName;
		Font.prototype.measureText = measureText;
		Font.prototype.checkLoadedFonts = checkLoadedFonts;
		Font.prototype.loaded = loaded;

		return Font;

	}());
	var PropertyFactory = (function(){

		var initFrame = initialDefaultFrame;
		var math_abs = Math.abs;

		function interpolateValue(frameNum, caching) {
			var offsetTime = this.offsetTime;
			var newValue;
			if (this.propType === 'multidimensional') {
				newValue = createTypedArray('float32', this.pv.length);
			}
			var iterationIndex = caching.lastIndex;
			var i = iterationIndex;
			var len = this.keyframes.length - 1, flag = true;
			var keyData, nextKeyData;

			while (flag) {
				keyData = this.keyframes[i];
				nextKeyData = this.keyframes[i + 1];
				if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime){
					if(keyData.h){
						keyData = nextKeyData;
					}
					iterationIndex = 0;
					break;
				}
				if ((nextKeyData.t - offsetTime) > frameNum){
					iterationIndex = i;
					break;
				}
				if (i < len - 1){
					i += 1;
				} else {
					iterationIndex = 0;
					flag = false;
				}
			}

			var k, kLen, perc, jLen, j, fnc;
			var nextKeyTime = nextKeyData.t - offsetTime;
			var keyTime = keyData.t - offsetTime;
			var endValue;
			if (keyData.to) {
				if (!keyData.bezierData) {
					keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);
				}
				var bezierData = keyData.bezierData;
				if (frameNum >= nextKeyTime || frameNum < keyTime) {
					var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;
					kLen = bezierData.points[ind].point.length;
					for (k = 0; k < kLen; k += 1) {
						newValue[k] = bezierData.points[ind].point[k];
					}
					// caching._lastKeyframeIndex = -1;
				} else {
					if (keyData.__fnct) {
						fnc = keyData.__fnct;
					} else {
						fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;
						keyData.__fnct = fnc;
					}
					perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));
					var distanceInLine = bezierData.segmentLength*perc;

					var segmentPerc;
					var addedLength =  (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastAddedLength : 0;
					j =  (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastPoint : 0;
					flag = true;
					jLen = bezierData.points.length;
					while (flag) {
						addedLength += bezierData.points[j].partialLength;
						if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {
							kLen = bezierData.points[j].point.length;
							for (k = 0; k < kLen; k += 1) {
								newValue[k] = bezierData.points[j].point[k];
							}
							break;
						} else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {
							segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;
							kLen = bezierData.points[j].point.length;
							for (k = 0; k < kLen; k += 1) {
								newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;
							}
							break;
						}
						if (j < jLen - 1){
							j += 1;
						} else {
							flag = false;
						}
					}
					caching._lastPoint = j;
					caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;
					caching._lastKeyframeIndex = i;
				}
			} else {
				var outX, outY, inX, inY, keyValue;
				len = keyData.s.length;
				endValue = nextKeyData.s || keyData.e;
				if (this.sh && keyData.h !== 1) {
					if (frameNum >= nextKeyTime) {
						newValue[0] = endValue[0];
						newValue[1] = endValue[1];
						newValue[2] = endValue[2];
					} else if (frameNum <= keyTime) {
						newValue[0] = keyData.s[0];
						newValue[1] = keyData.s[1];
						newValue[2] = keyData.s[2];
					} else {
						var quatStart = createQuaternion(keyData.s);
						var quatEnd = createQuaternion(endValue);
						var time = (frameNum - keyTime) / (nextKeyTime - keyTime);
						quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));
					}

				} else {
					for(i = 0; i < len; i += 1) {
						if (keyData.h !== 1) {
							if (frameNum >= nextKeyTime) {
								perc = 1;
							} else if(frameNum < keyTime) {
								perc = 0;
							} else {
								if(keyData.o.x.constructor === Array) {
									if (!keyData.__fnct) {
										keyData.__fnct = [];
									}
									if (!keyData.__fnct[i]) {
										outX = (typeof keyData.o.x[i] === 'undefined') ? keyData.o.x[0] : keyData.o.x[i];
										outY = (typeof keyData.o.y[i] === 'undefined') ? keyData.o.y[0] : keyData.o.y[i];
										inX = (typeof keyData.i.x[i] === 'undefined') ? keyData.i.x[0] : keyData.i.x[i];
										inY = (typeof keyData.i.y[i] === 'undefined') ? keyData.i.y[0] : keyData.i.y[i];
										fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;
										keyData.__fnct[i] = fnc;
									} else {
										fnc = keyData.__fnct[i];
									}
								} else {
									if (!keyData.__fnct) {
										outX = keyData.o.x;
										outY = keyData.o.y;
										inX = keyData.i.x;
										inY = keyData.i.y;
										fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;
										keyData.__fnct = fnc;
									} else {
										fnc = keyData.__fnct;
									}
								}
								perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime ));
							}
						}

						endValue = nextKeyData.s || keyData.e;
						keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;

						if (this.propType === 'multidimensional') {
							newValue[i] = keyValue;
						} else {
							newValue = keyValue;
						}
					}
				}
			}
			caching.lastIndex = iterationIndex;
			return newValue;
		}

		//based on @Toji's https://github.com/toji/gl-matrix/
		function slerp(a, b, t) {
			var out = [];
			var ax = a[0], ay = a[1], az = a[2], aw = a[3],
				bx = b[0], by = b[1], bz = b[2], bw = b[3]

			var omega, cosom, sinom, scale0, scale1;

			cosom = ax * bx + ay * by + az * bz + aw * bw;
			if (cosom < 0.0) {
				cosom = -cosom;
				bx = -bx;
				by = -by;
				bz = -bz;
				bw = -bw;
			}
			if ((1.0 - cosom) > 0.000001) {
				omega = Math.acos(cosom);
				sinom = Math.sin(omega);
				scale0 = Math.sin((1.0 - t) * omega) / sinom;
				scale1 = Math.sin(t * omega) / sinom;
			} else {
				scale0 = 1.0 - t;
				scale1 = t;
			}
			out[0] = scale0 * ax + scale1 * bx;
			out[1] = scale0 * ay + scale1 * by;
			out[2] = scale0 * az + scale1 * bz;
			out[3] = scale0 * aw + scale1 * bw;

			return out;
		}

		function quaternionToEuler(out, quat) {
			var qx = quat[0];
			var qy = quat[1];
			var qz = quat[2];
			var qw = quat[3];
			var heading = Math.atan2(2*qy*qw-2*qx*qz , 1 - 2*qy*qy - 2*qz*qz)
			var attitude = Math.asin(2*qx*qy + 2*qz*qw)
			var bank = Math.atan2(2*qx*qw-2*qy*qz , 1 - 2*qx*qx - 2*qz*qz);
			out[0] = heading/degToRads;
			out[1] = attitude/degToRads;
			out[2] = bank/degToRads;
		}

		function createQuaternion(values) {
			var heading = values[0] * degToRads;
			var attitude = values[1] * degToRads;
			var bank = values[2] * degToRads;
			var c1 = Math.cos(heading / 2);
			var c2 = Math.cos(attitude / 2);
			var c3 = Math.cos(bank / 2);
			var s1 = Math.sin(heading / 2);
			var s2 = Math.sin(attitude / 2);
			var s3 = Math.sin(bank / 2);
			var w = c1 * c2 * c3 - s1 * s2 * s3;
			var x = s1 * s2 * c3 + c1 * c2 * s3;
			var y = s1 * c2 * c3 + c1 * s2 * s3;
			var z = c1 * s2 * c3 - s1 * c2 * s3;

			return [x,y,z,w];
		}

		function getValueAtCurrentTime(){
			var frameNum = this.comp.renderedFrame - this.offsetTime;
			var initTime = this.keyframes[0].t - this.offsetTime;
			var endTime = this.keyframes[this.keyframes.length- 1].t-this.offsetTime;
			if(!(frameNum === this._caching.lastFrame || (this._caching.lastFrame !== initFrame && ((this._caching.lastFrame >= endTime && frameNum >= endTime) || (this._caching.lastFrame < initTime && frameNum < initTime))))){
				if(this._caching.lastFrame >= frameNum) {
					this._caching._lastKeyframeIndex = -1;
					this._caching.lastIndex = 0;
				}

				var renderResult = this.interpolateValue(frameNum, this._caching);
				this.pv = renderResult;
			}
			this._caching.lastFrame = frameNum;
			return this.pv;
		}

		function setVValue(val) {
			var multipliedValue;
			if(this.propType === 'unidimensional') {
				multipliedValue = val * this.mult;
				if(math_abs(this.v - multipliedValue) > 0.00001) {
					this.v = multipliedValue;
					this._mdf = true;
				}
			} else {
				var i = 0, len = this.v.length;
				while (i < len) {
					multipliedValue = val[i] * this.mult;
					if (math_abs(this.v[i] - multipliedValue) > 0.00001) {
						this.v[i] = multipliedValue;
						this._mdf = true;
					}
					i += 1;
				}
			}
		}

		function processEffectsSequence() {
			if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {
				return;
			}
			if(this.lock) {
				this.setVValue(this.pv);
				return;
			}
			this.lock = true;
			this._mdf = this._isFirstFrame;
			var multipliedValue;
			var i, len = this.effectsSequence.length;
			var finalValue = this.kf ? this.pv : this.data.k;
			for(i = 0; i < len; i += 1) {
				finalValue = this.effectsSequence[i](finalValue);
			}
			this.setVValue(finalValue);
			this._isFirstFrame = false;
			this.lock = false;
			this.frameId = this.elem.globalData.frameId;
		}

		function addEffect(effectFunction) {
			this.effectsSequence.push(effectFunction);
			this.container.addDynamicProperty(this);
		}

		function ValueProperty(elem, data, mult, container){
			this.propType = 'unidimensional';
			this.mult = mult || 1;
			this.data = data;
			this.v = mult ? data.k * mult : data.k;
			this.pv = data.k;
			this._mdf = false;
			this.elem = elem;
			this.container = container;
			this.comp = elem.comp;
			this.k = false;
			this.kf = false;
			this.vel = 0;
			this.effectsSequence = [];
			this._isFirstFrame = true;
			this.getValue = processEffectsSequence;
			this.setVValue = setVValue;
			this.addEffect = addEffect;
		}

		function MultiDimensionalProperty(elem, data, mult, container) {
			this.propType = 'multidimensional';
			this.mult = mult || 1;
			this.data = data;
			this._mdf = false;
			this.elem = elem;
			this.container = container;
			this.comp = elem.comp;
			this.k = false;
			this.kf = false;
			this.frameId = -1;
			var i, len = data.k.length;
			this.v = createTypedArray('float32', len);
			this.pv = createTypedArray('float32', len);
			var arr = createTypedArray('float32', len);
			this.vel = createTypedArray('float32', len);
			for (i = 0; i < len; i += 1) {
				this.v[i] = data.k[i] * this.mult;
				this.pv[i] = data.k[i];
			}
			this._isFirstFrame = true;
			this.effectsSequence = [];
			this.getValue = processEffectsSequence;
			this.setVValue = setVValue;
			this.addEffect = addEffect;
		}

		function KeyframedValueProperty(elem, data, mult, container) {
			this.propType = 'unidimensional';
			this.keyframes = data.k;
			this.offsetTime = elem.data.st;
			this.frameId = -1;
			this._caching = {lastFrame: initFrame, lastIndex: 0, value: 0, _lastKeyframeIndex: -1};
			this.k = true;
			this.kf = true;
			this.data = data;
			this.mult = mult || 1;
			this.elem = elem;
			this.container = container;
			this.comp = elem.comp;
			this.v = initFrame;
			this.pv = initFrame;
			this._isFirstFrame = true;
			this.getValue = processEffectsSequence;
			this.setVValue = setVValue;
			this.interpolateValue = interpolateValue;
			this.effectsSequence = [getValueAtCurrentTime.bind(this)];
			this.addEffect = addEffect;
		}

		function KeyframedMultidimensionalProperty(elem, data, mult, container){
			this.propType = 'multidimensional';
			var i, len = data.k.length;
			var s, e,to,ti;
			for (i = 0; i < len - 1; i += 1) {
				if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {
					s = data.k[i].s;
					e = data.k[i + 1].s;
					to = data.k[i].to;
					ti = data.k[i].ti;
					if((s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0],s[1],e[0],e[1],s[0] + to[0],s[1] + to[1]) && bez.pointOnLine2D(s[0],s[1],e[0],e[1],e[0] + ti[0],e[1] + ti[1])) || (s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],s[0] + to[0],s[1] + to[1],s[2] + to[2]) && bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],e[0] + ti[0],e[1] + ti[1],e[2] + ti[2]))){
						data.k[i].to = null;
						data.k[i].ti = null;
					}
					if(s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {
						if(s.length === 2 || (s[2] === e[2] && to[2] === 0 && ti[2] === 0)) {
							data.k[i].to = null;
							data.k[i].ti = null;
						}
					}
				}
			}
			this.effectsSequence = [getValueAtCurrentTime.bind(this)];
			this.keyframes = data.k;
			this.offsetTime = elem.data.st;
			this.k = true;
			this.kf = true;
			this._isFirstFrame = true;
			this.mult = mult || 1;
			this.elem = elem;
			this.container = container;
			this.comp = elem.comp;
			this.getValue = processEffectsSequence;
			this.setVValue = setVValue;
			this.interpolateValue = interpolateValue;
			this.frameId = -1;
			var arrLen = data.k[0].s.length;
			this.v = createTypedArray('float32', arrLen);
			this.pv = createTypedArray('float32', arrLen);
			for (i = 0; i < arrLen; i += 1) {
				this.v[i] = initFrame;
				this.pv[i] = initFrame;
			}
			this._caching={lastFrame:initFrame,lastIndex:0,value:createTypedArray('float32', arrLen)};
			this.addEffect = addEffect;
		}

		function getProp(elem,data,type, mult, container) {
			var p;
			if(!data.k.length){
				p = new ValueProperty(elem,data, mult, container);
			}else if(typeof(data.k[0]) === 'number'){
				p = new MultiDimensionalProperty(elem,data, mult, container);
			}else{
				switch(type){
					case 0:
						p = new KeyframedValueProperty(elem,data,mult, container);
						break;
					case 1:
						p = new KeyframedMultidimensionalProperty(elem,data,mult, container);
						break;
				}
			}
			if(p.effectsSequence.length){
				container.addDynamicProperty(p);
			}
			return p;
		}

		var ob = {
			getProp: getProp
		};
		return ob;
	}());
	var TransformPropertyFactory = (function() {

		var defaultVector = [0,0]

		function applyToMatrix(mat) {
			var _mdf = this._mdf;
			this.iterateDynamicProperties();
			this._mdf = this._mdf || _mdf;
			if (this.a) {
				mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);
			}
			if (this.s) {
				mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);
			}
			if (this.sk) {
				mat.skewFromAxis(-this.sk.v, this.sa.v);
			}
			if (this.r) {
				mat.rotate(-this.r.v);
			} else {
				mat.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);
			}
			if (this.data.p.s) {
				if (this.data.p.z) {
					mat.translate(this.px.v, this.py.v, -this.pz.v);
				} else {
					mat.translate(this.px.v, this.py.v, 0);
				}
			} else {
				mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);
			}
		}
		function processKeys(forceRender){
			if (this.elem.globalData.frameId === this.frameId) {
				return;
			}
			if(this._isDirty) {
				this.precalculateMatrix();
				this._isDirty = false;
			}

			this.iterateDynamicProperties();

			if (this._mdf || forceRender) {
				this.v.cloneFromProps(this.pre.props);
				if (this.appliedTransformations < 1) {
					this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);
				}
				if(this.appliedTransformations < 2) {
					this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);
				}
				if (this.sk && this.appliedTransformations < 3) {
					this.v.skewFromAxis(-this.sk.v, this.sa.v);
				}
				if (this.r && this.appliedTransformations < 4) {
					this.v.rotate(-this.r.v);
				} else if (!this.r && this.appliedTransformations < 4){
					this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);
				}
				if (this.autoOriented) {
					var v1,v2, frameRate = this.elem.globalData.frameRate;
					if(this.p && this.p.keyframes && this.p.getValueAtTime) {
						if (this.p._caching.lastFrame+this.p.offsetTime <= this.p.keyframes[0].t) {
							v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate,0);
							v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);
						} else if(this.p._caching.lastFrame+this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {
							v1 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t / frameRate), 0);
							v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);
						} else {
							v1 = this.p.pv;
							v2 = this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);
						}
					} else if(this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {
						v1 = [];
						v2 = [];
						var px = this.px, py = this.py, frameRate;
						if (px._caching.lastFrame+px.offsetTime <= px.keyframes[0].t) {
							v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate,0);
							v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate,0);
							v2[0] = px.getValueAtTime((px.keyframes[0].t) / frameRate,0);
							v2[1] = py.getValueAtTime((py.keyframes[0].t) / frameRate,0);
						} else if(px._caching.lastFrame+px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {
							v1[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t / frameRate),0);
							v1[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t / frameRate),0);
							v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate,0);
							v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate,0);
						} else {
							v1 = [px.pv, py.pv];
							v2[0] = px.getValueAtTime((px._caching.lastFrame+px.offsetTime - 0.01) / frameRate,px.offsetTime);
							v2[1] = py.getValueAtTime((py._caching.lastFrame+py.offsetTime - 0.01) / frameRate,py.offsetTime);
						}
					} else {
						v1 = v2 = defaultVector
					}
					this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));
				}
				if(this.data.p && this.data.p.s){
					if(this.data.p.z) {
						this.v.translate(this.px.v, this.py.v, -this.pz.v);
					} else {
						this.v.translate(this.px.v, this.py.v, 0);
					}
				}else{
					this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);
				}
			}
			this.frameId = this.elem.globalData.frameId;
		}

		function precalculateMatrix() {
			if(!this.a.k) {
				this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);
				this.appliedTransformations = 1;
			} else {
				return;
			}
			if(!this.s.effectsSequence.length) {
				this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);
				this.appliedTransformations = 2;
			} else {
				return;
			}
			if(this.sk) {
				if(!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {
					this.pre.skewFromAxis(-this.sk.v, this.sa.v);
					this.appliedTransformations = 3;
				} else {
					return;
				}
			}
			if (this.r) {
				if(!this.r.effectsSequence.length) {
					this.pre.rotate(-this.r.v);
					this.appliedTransformations = 4;
				} else {
					return;
				}
			} else if(!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {
				this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);
				this.appliedTransformations = 4;
			}
		}

		function autoOrient(){
			//
			//var prevP = this.getValueAtTime();
		}

		function addDynamicProperty(prop) {
			this._addDynamicProperty(prop);
			this.elem.addDynamicProperty(prop);
			this._isDirty = true;
		}

		function TransformProperty(elem,data,container){
			this.elem = elem;
			this.frameId = -1;
			this.propType = 'transform';
			this.data = data;
			this.v = new Matrix();
			//Precalculated matrix with non animated properties
			this.pre = new Matrix();
			this.appliedTransformations = 0;
			this.initDynamicPropertyContainer(container || elem);
			if(data.p && data.p.s){
				this.px = PropertyFactory.getProp(elem,data.p.x,0,0,this);
				this.py = PropertyFactory.getProp(elem,data.p.y,0,0,this);
				if(data.p.z){
					this.pz = PropertyFactory.getProp(elem,data.p.z,0,0,this);
				}
			}else{
				this.p = PropertyFactory.getProp(elem,data.p || {k:[0,0,0]},1,0,this);
			}
			if(data.rx) {
				this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);
				this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);
				this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);
				if(data.or.k[0].ti) {
					var i, len = data.or.k.length;
					for(i=0;i<len;i+=1) {
						data.or.k[i].to = data.or.k[i].ti = null;
					}
				}
				this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this);
				//sh Indicates it needs to be capped between -180 and 180
				this.or.sh = true;
			} else {
				this.r = PropertyFactory.getProp(elem, data.r || {k: 0}, 0, degToRads, this);
			}
			if(data.sk){
				this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);
				this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);
			}
			this.a = PropertyFactory.getProp(elem,data.a || {k:[0,0,0]},1,0,this);
			this.s = PropertyFactory.getProp(elem,data.s || {k:[100,100,100]},1,0.01,this);
			// Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.
			if(data.o){
				this.o = PropertyFactory.getProp(elem,data.o,0,0.01,elem);
			} else {
				this.o = {_mdf:false,v:1};
			}
			this._isDirty = true;
			if(!this.dynamicProperties.length){
				this.getValue(true);
			}
		}

		TransformProperty.prototype = {
			applyToMatrix: applyToMatrix,
			getValue: processKeys,
			precalculateMatrix: precalculateMatrix,
			autoOrient: autoOrient
		}

		extendPrototype([DynamicPropertyContainer], TransformProperty);
		TransformProperty.prototype.addDynamicProperty = addDynamicProperty;
		TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;

		function getTransformProperty(elem,data,container){
			return new TransformProperty(elem,data,container);
		}

		return {
			getTransformProperty: getTransformProperty
		};

	}());
	function ShapePath(){
		this.c = false;
		this._length = 0;
		this._maxLength = 8;
		this.v = createSizedArray(this._maxLength);
		this.o = createSizedArray(this._maxLength);
		this.i = createSizedArray(this._maxLength);
	}

	ShapePath.prototype.setPathData = function(closed, len) {
		this.c = closed;
		this.setLength(len);
		var i = 0;
		while(i < len){
			this.v[i] = point_pool.newElement();
			this.o[i] = point_pool.newElement();
			this.i[i] = point_pool.newElement();
			i += 1;
		}
	};

	ShapePath.prototype.setLength = function(len) {
		while(this._maxLength < len) {
			this.doubleArrayLength();
		}
		this._length = len;
	};

	ShapePath.prototype.doubleArrayLength = function() {
		this.v = this.v.concat(createSizedArray(this._maxLength));
		this.i = this.i.concat(createSizedArray(this._maxLength));
		this.o = this.o.concat(createSizedArray(this._maxLength));
		this._maxLength *= 2;
	};

	ShapePath.prototype.setXYAt = function(x, y, type, pos, replace) {
		var arr;
		this._length = Math.max(this._length, pos + 1);
		if(this._length >= this._maxLength) {
			this.doubleArrayLength();
		}
		switch(type){
			case 'v':
				arr = this.v;
				break;
			case 'i':
				arr = this.i;
				break;
			case 'o':
				arr = this.o;
				break;
		}
		if(!arr[pos] || (arr[pos] && !replace)){
			arr[pos] = point_pool.newElement();
		}
		arr[pos][0] = x;
		arr[pos][1] = y;
	};

	ShapePath.prototype.setTripleAt = function(vX,vY,oX,oY,iX,iY,pos, replace) {
		this.setXYAt(vX,vY,'v',pos, replace);
		this.setXYAt(oX,oY,'o',pos, replace);
		this.setXYAt(iX,iY,'i',pos, replace);
	};

	ShapePath.prototype.reverse = function() {
		var newPath = new ShapePath();
		newPath.setPathData(this.c, this._length);
		var vertices = this.v, outPoints = this.o, inPoints = this.i;
		var init = 0;
		if (this.c) {
			newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);
			init = 1;
		}
		var cnt = this._length - 1;
		var len = this._length;

		var i;
		for (i = init; i < len; i += 1) {
			newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);
			cnt -= 1;
		}
		return newPath;
	};
	var ShapePropertyFactory = (function(){

		var initFrame = -999999;

		function interpolateShape(frameNum, previousValue, caching) {
			var iterationIndex = caching.lastIndex;
			var keyPropS,keyPropE,isHold, j, k, jLen, kLen, perc, vertexValue;
			var kf = this.keyframes;
			if(frameNum < kf[0].t-this.offsetTime){
				keyPropS = kf[0].s[0];
				isHold = true;
				iterationIndex = 0;
			}else if(frameNum >= kf[kf.length - 1].t-this.offsetTime){
				keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];
				/*if(kf[kf.length - 1].s){
                keyPropS = kf[kf.length - 1].s[0];
            }else{
                keyPropS = kf[kf.length - 2].e[0];
            }*/
				isHold = true;
			}else{
				var i = iterationIndex;
				var len = kf.length- 1,flag = true,keyData,nextKeyData;
				while(flag){
					keyData = kf[i];
					nextKeyData = kf[i+1];
					if((nextKeyData.t - this.offsetTime) > frameNum){
						break;
					}
					if(i < len - 1){
						i += 1;
					}else{
						flag = false;
					}
				}
				isHold = keyData.h === 1;
				iterationIndex = i;
				if(!isHold){
					if(frameNum >= nextKeyData.t-this.offsetTime){
						perc = 1;
					}else if(frameNum < keyData.t-this.offsetTime){
						perc = 0;
					}else{
						var fnc;
						if(keyData.__fnct){
							fnc = keyData.__fnct;
						}else{
							fnc = BezierFactory.getBezierEasing(keyData.o.x,keyData.o.y,keyData.i.x,keyData.i.y).get;
							keyData.__fnct = fnc;
						}
						perc = fnc((frameNum-(keyData.t-this.offsetTime))/((nextKeyData.t-this.offsetTime)-(keyData.t-this.offsetTime)));
					}
					keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];
				}
				keyPropS = keyData.s[0];
			}
			jLen = previousValue._length;
			kLen = keyPropS.i[0].length;
			caching.lastIndex = iterationIndex;

			for(j=0;j<jLen;j+=1){
				for(k=0;k<kLen;k+=1){
					vertexValue = isHold ? keyPropS.i[j][k] :  keyPropS.i[j][k]+(keyPropE.i[j][k]-keyPropS.i[j][k])*perc;
					previousValue.i[j][k] = vertexValue;
					vertexValue = isHold ? keyPropS.o[j][k] :  keyPropS.o[j][k]+(keyPropE.o[j][k]-keyPropS.o[j][k])*perc;
					previousValue.o[j][k] = vertexValue;
					vertexValue = isHold ? keyPropS.v[j][k] :  keyPropS.v[j][k]+(keyPropE.v[j][k]-keyPropS.v[j][k])*perc;
					previousValue.v[j][k] = vertexValue;
				}
			}
		}

		function interpolateShapeCurrentTime(){
			var frameNum = this.comp.renderedFrame - this.offsetTime;
			var initTime = this.keyframes[0].t - this.offsetTime;
			var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;
			var lastFrame = this._caching.lastFrame;
			if(!(lastFrame !== initFrame && ((lastFrame < initTime && frameNum < initTime) || (lastFrame > endTime && frameNum > endTime)))){
				////
				this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;
				this.interpolateShape(frameNum, this.pv, this._caching);
				////
			}
			this._caching.lastFrame = frameNum;
			return this.pv;
		}

		function resetShape(){
			this.paths = this.localShapeCollection;
		}

		function shapesEqual(shape1, shape2) {
			if(shape1._length !== shape2._length || shape1.c !== shape2.c){
				return false;
			}
			var i, len = shape1._length;
			for(i = 0; i < len; i += 1) {
				if(shape1.v[i][0] !== shape2.v[i][0]
					|| shape1.v[i][1] !== shape2.v[i][1]
					|| shape1.o[i][0] !== shape2.o[i][0]
					|| shape1.o[i][1] !== shape2.o[i][1]
					|| shape1.i[i][0] !== shape2.i[i][0]
					|| shape1.i[i][1] !== shape2.i[i][1]) {
					return false;
				}
			}
			return true;
		}

		function setVValue(newPath) {
			if(!shapesEqual(this.v, newPath)) {
				this.v = shape_pool.clone(newPath);
				this.localShapeCollection.releaseShapes();
				this.localShapeCollection.addShape(this.v);
				this._mdf = true;
				this.paths = this.localShapeCollection;
			}
		}

		function processEffectsSequence() {
			if (this.elem.globalData.frameId === this.frameId) {
				return;
			} else if (!this.effectsSequence.length) {
				this._mdf = false;
				return;
			}
			if (this.lock) {
				this.setVValue(this.pv);
				return;
			}
			this.lock = true;
			this._mdf = false;
			var finalValue = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;
			var i, len = this.effectsSequence.length;
			for(i = 0; i < len; i += 1) {
				finalValue = this.effectsSequence[i](finalValue);
			}
			this.setVValue(finalValue);
			this.lock = false;
			this.frameId = this.elem.globalData.frameId;
		};

		function ShapeProperty(elem, data, type){
			this.propType = 'shape';
			this.comp = elem.comp;
			this.container = elem;
			this.elem = elem;
			this.data = data;
			this.k = false;
			this.kf = false;
			this._mdf = false;
			var pathData = type === 3 ? data.pt.k : data.ks.k;
			this.v = shape_pool.clone(pathData);
			this.pv = shape_pool.clone(this.v);
			this.localShapeCollection = shapeCollection_pool.newShapeCollection();
			this.paths = this.localShapeCollection;
			this.paths.addShape(this.v);
			this.reset = resetShape;
			this.effectsSequence = [];
		}

		function addEffect(effectFunction) {
			this.effectsSequence.push(effectFunction);
			this.container.addDynamicProperty(this);
		}

		ShapeProperty.prototype.interpolateShape = interpolateShape;
		ShapeProperty.prototype.getValue = processEffectsSequence;
		ShapeProperty.prototype.setVValue = setVValue;
		ShapeProperty.prototype.addEffect = addEffect;

		function KeyframedShapeProperty(elem,data,type){
			this.propType = 'shape';
			this.comp = elem.comp;
			this.elem = elem;
			this.container = elem;
			this.offsetTime = elem.data.st;
			this.keyframes = type === 3 ? data.pt.k : data.ks.k;
			this.k = true;
			this.kf = true;
			var i, len = this.keyframes[0].s[0].i.length;
			var jLen = this.keyframes[0].s[0].i[0].length;
			this.v = shape_pool.newElement();
			this.v.setPathData(this.keyframes[0].s[0].c, len);
			this.pv = shape_pool.clone(this.v);
			this.localShapeCollection = shapeCollection_pool.newShapeCollection();
			this.paths = this.localShapeCollection;
			this.paths.addShape(this.v);
			this.lastFrame = initFrame;
			this.reset = resetShape;
			this._caching = {lastFrame: initFrame, lastIndex: 0};
			this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];
		}
		KeyframedShapeProperty.prototype.getValue = processEffectsSequence;
		KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;
		KeyframedShapeProperty.prototype.setVValue = setVValue;
		KeyframedShapeProperty.prototype.addEffect = addEffect;

		var EllShapeProperty = (function(){

			var cPoint = roundCorner;

			function EllShapeProperty(elem,data) {
				/*this.v = {
                v: createSizedArray(4),
                i: createSizedArray(4),
                o: createSizedArray(4),
                c: true
            };*/
				this.v = shape_pool.newElement();
				this.v.setPathData(true, 4);
				this.localShapeCollection = shapeCollection_pool.newShapeCollection();
				this.paths = this.localShapeCollection;
				this.localShapeCollection.addShape(this.v);
				this.d = data.d;
				this.elem = elem;
				this.comp = elem.comp;
				this.frameId = -1;
				this.initDynamicPropertyContainer(elem);
				this.p = PropertyFactory.getProp(elem,data.p,1,0,this);
				this.s = PropertyFactory.getProp(elem,data.s,1,0,this);
				if(this.dynamicProperties.length){
					this.k = true;
				}else{
					this.k = false;
					this.convertEllToPath();
				}
			};

			EllShapeProperty.prototype = {
				reset: resetShape,
				getValue: function (){
					if(this.elem.globalData.frameId === this.frameId){
						return;
					}
					this.frameId = this.elem.globalData.frameId;
					this.iterateDynamicProperties();

					if(this._mdf){
						this.convertEllToPath();
					}
				},
				convertEllToPath: function() {
					var p0 = this.p.v[0], p1 = this.p.v[1], s0 = this.s.v[0]/2, s1 = this.s.v[1]/2;
					var _cw = this.d !== 3;
					var _v = this.v;
					_v.v[0][0] = p0;
					_v.v[0][1] = p1 - s1;
					_v.v[1][0] = _cw ? p0 + s0 : p0 - s0;
					_v.v[1][1] = p1;
					_v.v[2][0] = p0;
					_v.v[2][1] = p1 + s1;
					_v.v[3][0] = _cw ? p0 - s0 : p0 + s0;
					_v.v[3][1] = p1;
					_v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;
					_v.i[0][1] = p1 - s1;
					_v.i[1][0] = _cw ? p0 + s0 : p0 - s0;
					_v.i[1][1] = p1 - s1 * cPoint;
					_v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;
					_v.i[2][1] = p1 + s1;
					_v.i[3][0] = _cw ? p0 - s0 : p0 + s0;
					_v.i[3][1] = p1 + s1 * cPoint;
					_v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;
					_v.o[0][1] = p1 - s1;
					_v.o[1][0] = _cw ? p0 + s0 : p0 - s0;
					_v.o[1][1] = p1 + s1 * cPoint;
					_v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;
					_v.o[2][1] = p1 + s1;
					_v.o[3][0] = _cw ? p0 - s0 : p0 + s0;
					_v.o[3][1] = p1 - s1 * cPoint;
				}
			}

			extendPrototype([DynamicPropertyContainer], EllShapeProperty);

			return EllShapeProperty;
		}());

		var StarShapeProperty = (function() {

			function StarShapeProperty(elem,data) {
				this.v = shape_pool.newElement();
				this.v.setPathData(true, 0);
				this.elem = elem;
				this.comp = elem.comp;
				this.data = data;
				this.frameId = -1;
				this.d = data.d;
				this.initDynamicPropertyContainer(elem);
				if(data.sy === 1){
					this.ir = PropertyFactory.getProp(elem,data.ir,0,0,this);
					this.is = PropertyFactory.getProp(elem,data.is,0,0.01,this);
					this.convertToPath = this.convertStarToPath;
				} else {
					this.convertToPath = this.convertPolygonToPath;
				}
				this.pt = PropertyFactory.getProp(elem,data.pt,0,0,this);
				this.p = PropertyFactory.getProp(elem,data.p,1,0,this);
				this.r = PropertyFactory.getProp(elem,data.r,0,degToRads,this);
				this.or = PropertyFactory.getProp(elem,data.or,0,0,this);
				this.os = PropertyFactory.getProp(elem,data.os,0,0.01,this);
				this.localShapeCollection = shapeCollection_pool.newShapeCollection();
				this.localShapeCollection.addShape(this.v);
				this.paths = this.localShapeCollection;
				if(this.dynamicProperties.length){
					this.k = true;
				}else{
					this.k = false;
					this.convertToPath();
				}
			};

			StarShapeProperty.prototype = {
				reset: resetShape,
				getValue: function() {
					if(this.elem.globalData.frameId === this.frameId){
						return;
					}
					this.frameId = this.elem.globalData.frameId;
					this.iterateDynamicProperties();
					if(this._mdf){
						this.convertToPath();
					}
				},
				convertStarToPath: function() {
					var numPts = Math.floor(this.pt.v)*2;
					var angle = Math.PI*2/numPts;
					/*this.v.v.length = numPts;
                this.v.i.length = numPts;
                this.v.o.length = numPts;*/
					var longFlag = true;
					var longRad = this.or.v;
					var shortRad = this.ir.v;
					var longRound = this.os.v;
					var shortRound = this.is.v;
					var longPerimSegment = 2*Math.PI*longRad/(numPts*2);
					var shortPerimSegment = 2*Math.PI*shortRad/(numPts*2);
					var i, rad,roundness,perimSegment, currentAng = -Math.PI/ 2;
					currentAng += this.r.v;
					var dir = this.data.d === 3 ? -1 : 1;
					this.v._length = 0;
					for(i=0;i<numPts;i+=1){
						rad = longFlag ? longRad : shortRad;
						roundness = longFlag ? longRound : shortRound;
						perimSegment = longFlag ? longPerimSegment : shortPerimSegment;
						var x = rad * Math.cos(currentAng);
						var y = rad * Math.sin(currentAng);
						var ox = x === 0 && y === 0 ? 0 : y/Math.sqrt(x*x + y*y);
						var oy = x === 0 && y === 0 ? 0 : -x/Math.sqrt(x*x + y*y);
						x +=  + this.p.v[0];
						y +=  + this.p.v[1];
						this.v.setTripleAt(x,y,x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir,x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir, i, true);

						/*this.v.v[i] = [x,y];
                    this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];
                    this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];
                    this.v._length = numPts;*/
						longFlag = !longFlag;
						currentAng += angle*dir;
					}
				},
				convertPolygonToPath: function() {
					var numPts = Math.floor(this.pt.v);
					var angle = Math.PI*2/numPts;
					var rad = this.or.v;
					var roundness = this.os.v;
					var perimSegment = 2*Math.PI*rad/(numPts*4);
					var i, currentAng = -Math.PI/ 2;
					var dir = this.data.d === 3 ? -1 : 1;
					currentAng += this.r.v;
					this.v._length = 0;
					for(i=0;i<numPts;i+=1){
						var x = rad * Math.cos(currentAng);
						var y = rad * Math.sin(currentAng);
						var ox = x === 0 && y === 0 ? 0 : y/Math.sqrt(x*x + y*y);
						var oy = x === 0 && y === 0 ? 0 : -x/Math.sqrt(x*x + y*y);
						x +=  + this.p.v[0];
						y +=  + this.p.v[1];
						this.v.setTripleAt(x,y,x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir,x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir, i, true);
						currentAng += angle*dir;
					}
					this.paths.length = 0;
					this.paths[0] = this.v;
				}

			}
			extendPrototype([DynamicPropertyContainer], StarShapeProperty);

			return StarShapeProperty;
		}());

		var RectShapeProperty = (function() {

			function RectShapeProperty(elem,data) {
				this.v = shape_pool.newElement();
				this.v.c = true;
				this.localShapeCollection = shapeCollection_pool.newShapeCollection();
				this.localShapeCollection.addShape(this.v);
				this.paths = this.localShapeCollection;
				this.elem = elem;
				this.comp = elem.comp;
				this.frameId = -1;
				this.d = data.d;
				this.initDynamicPropertyContainer(elem);
				this.p = PropertyFactory.getProp(elem,data.p,1,0,this);
				this.s = PropertyFactory.getProp(elem,data.s,1,0,this);
				this.r = PropertyFactory.getProp(elem,data.r,0,0,this);
				if(this.dynamicProperties.length){
					this.k = true;
				}else{
					this.k = false;
					this.convertRectToPath();
				}
			};

			RectShapeProperty.prototype = {
				convertRectToPath: function (){
					var p0 = this.p.v[0], p1 = this.p.v[1], v0 = this.s.v[0]/2, v1 = this.s.v[1]/2;
					var round = bm_min(v0,v1,this.r.v);
					var cPoint = round*(1-roundCorner);
					this.v._length = 0;

					if(this.d === 2 || this.d === 1) {
						this.v.setTripleAt(p0+v0, p1-v1+round,p0+v0, p1-v1+round,p0+v0,p1-v1+cPoint,0, true);
						this.v.setTripleAt(p0+v0, p1+v1-round,p0+v0, p1+v1-cPoint,p0+v0, p1+v1-round,1, true);
						if(round!== 0){
							this.v.setTripleAt(p0+v0-round, p1+v1,p0+v0-round,p1+v1,p0+v0-cPoint,p1+v1,2, true);
							this.v.setTripleAt(p0-v0+round,p1+v1,p0-v0+cPoint,p1+v1,p0-v0+round,p1+v1,3, true);
							this.v.setTripleAt(p0-v0,p1+v1-round,p0-v0,p1+v1-round,p0-v0,p1+v1-cPoint,4, true);
							this.v.setTripleAt(p0-v0,p1-v1+round,p0-v0,p1-v1+cPoint,p0-v0,p1-v1+round,5, true);
							this.v.setTripleAt(p0-v0+round,p1-v1,p0-v0+round,p1-v1,p0-v0+cPoint,p1-v1,6, true);
							this.v.setTripleAt(p0+v0-round,p1-v1,p0+v0-cPoint,p1-v1,p0+v0-round,p1-v1,7, true);
						} else {
							this.v.setTripleAt(p0-v0,p1+v1,p0-v0+cPoint,p1+v1,p0-v0,p1+v1,2);
							this.v.setTripleAt(p0-v0,p1-v1,p0-v0,p1-v1+cPoint,p0-v0,p1-v1,3);
						}
					}else{
						this.v.setTripleAt(p0+v0,p1-v1+round,p0+v0,p1-v1+cPoint,p0+v0,p1-v1+round,0, true);
						if(round!== 0){
							this.v.setTripleAt(p0+v0-round,p1-v1,p0+v0-round,p1-v1,p0+v0-cPoint,p1-v1,1, true);
							this.v.setTripleAt(p0-v0+round,p1-v1,p0-v0+cPoint,p1-v1,p0-v0+round,p1-v1,2, true);
							this.v.setTripleAt(p0-v0,p1-v1+round,p0-v0,p1-v1+round,p0-v0,p1-v1+cPoint,3, true);
							this.v.setTripleAt(p0-v0,p1+v1-round,p0-v0,p1+v1-cPoint,p0-v0,p1+v1-round,4, true);
							this.v.setTripleAt(p0-v0+round,p1+v1,p0-v0+round,p1+v1,p0-v0+cPoint,p1+v1,5, true);
							this.v.setTripleAt(p0+v0-round,p1+v1,p0+v0-cPoint,p1+v1,p0+v0-round,p1+v1,6, true);
							this.v.setTripleAt(p0+v0,p1+v1-round,p0+v0,p1+v1-round,p0+v0,p1+v1-cPoint,7, true);
						} else {
							this.v.setTripleAt(p0-v0,p1-v1,p0-v0+cPoint,p1-v1,p0-v0,p1-v1,1, true);
							this.v.setTripleAt(p0-v0,p1+v1,p0-v0,p1+v1-cPoint,p0-v0,p1+v1,2, true);
							this.v.setTripleAt(p0+v0,p1+v1,p0+v0-cPoint,p1+v1,p0+v0,p1+v1,3, true);

						}
					}
				},
				getValue: function(frameNum){
					if(this.elem.globalData.frameId === this.frameId){
						return;
					}
					this.frameId = this.elem.globalData.frameId;
					this.iterateDynamicProperties();
					if(this._mdf){
						this.convertRectToPath();
					}

				},
				reset: resetShape
			}
			extendPrototype([DynamicPropertyContainer], RectShapeProperty);

			return RectShapeProperty;
		}());

		function getShapeProp(elem,data,type){
			var prop;
			if(type === 3 || type === 4){
				var dataProp = type === 3 ? data.pt : data.ks;
				var keys = dataProp.k;
				if(keys.length){
					prop = new KeyframedShapeProperty(elem, data, type);
				}else{
					prop = new ShapeProperty(elem, data, type);
				}
			}else if(type === 5){
				prop = new RectShapeProperty(elem, data);
			}else if(type === 6){
				prop = new EllShapeProperty(elem, data);
			}else if(type === 7){
				prop = new StarShapeProperty(elem, data);
			}
			if(prop.k){
				elem.addDynamicProperty(prop);
			}
			return prop;
		}

		function getConstructorFunction() {
			return ShapeProperty;
		}

		function getKeyframedConstructorFunction() {
			return KeyframedShapeProperty;
		}

		var ob = {};
		ob.getShapeProp = getShapeProp;
		ob.getConstructorFunction = getConstructorFunction;
		ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;
		return ob;
	}());
	var ShapeModifiers = (function(){
		var ob = {};
		var modifiers = {};
		ob.registerModifier = registerModifier;
		ob.getModifier = getModifier;

		function registerModifier(nm,factory){
			if(!modifiers[nm]){
				modifiers[nm] = factory;
			}
		}

		function getModifier(nm,elem, data){
			return new modifiers[nm](elem, data);
		}

		return ob;
	}());

	function ShapeModifier(){}
	ShapeModifier.prototype.initModifierProperties = function(){};
	ShapeModifier.prototype.addShapeToModifier = function(){};
	ShapeModifier.prototype.addShape = function(data){
		if (!this.closed) {
			// Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.
			data.sh.container.addDynamicProperty(data.sh);
			var shapeData = {shape:data.sh, data: data, localShapeCollection:shapeCollection_pool.newShapeCollection()};
			this.shapes.push(shapeData);
			this.addShapeToModifier(shapeData);
			if (this._isAnimated) {
				data.setAsAnimated();
			}
		}
	};
	ShapeModifier.prototype.init = function(elem,data){
		this.shapes = [];
		this.elem = elem;
		this.initDynamicPropertyContainer(elem);
		this.initModifierProperties(elem,data);
		this.frameId = initialDefaultFrame;
		this.closed = false;
		this.k = false;
		if(this.dynamicProperties.length){
			this.k = true;
		}else{
			this.getValue(true);
		}
	};
	ShapeModifier.prototype.processKeys = function(){
		if(this.elem.globalData.frameId === this.frameId){
			return;
		}
		this.frameId = this.elem.globalData.frameId;
		this.iterateDynamicProperties();
	};

	extendPrototype([DynamicPropertyContainer], ShapeModifier);
	function TrimModifier(){
	}
	extendPrototype([ShapeModifier], TrimModifier);
	TrimModifier.prototype.initModifierProperties = function(elem, data) {
		this.s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this);
		this.e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this);
		this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);
		this.sValue = 0;
		this.eValue = 0;
		this.getValue = this.processKeys;
		this.m = data.m;
		this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;
	};

	TrimModifier.prototype.addShapeToModifier = function(shapeData){
		shapeData.pathsData = [];
	};

	TrimModifier.prototype.calculateShapeEdges = function(s, e, shapeLength, addedLength, totalModifierLength) {
		var segments = [];
		if (e <= 1) {
			segments.push({
				s: s,
				e: e
			});
		} else if (s >= 1) {
			segments.push({
				s: s - 1,
				e: e - 1
			});
		} else {
			segments.push({
				s: s,
				e: 1
			});
			segments.push({
				s: 0,
				e: e - 1
			});
		}
		var shapeSegments = [];
		var i, len = segments.length, segmentOb;
		for (i = 0; i < len; i += 1) {
			segmentOb = segments[i];
			if (segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength) {

			} else {
				var shapeS, shapeE;
				if (segmentOb.s * totalModifierLength <= addedLength) {
					shapeS = 0;
				} else {
					shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;
				}
				if(segmentOb.e * totalModifierLength >= addedLength + shapeLength) {
					shapeE = 1;
				} else {
					shapeE = ((segmentOb.e * totalModifierLength - addedLength) / shapeLength);
				}
				shapeSegments.push([shapeS, shapeE]);
			}
		}
		if (!shapeSegments.length) {
			shapeSegments.push([0, 0]);
		}
		return shapeSegments;
	};

	TrimModifier.prototype.releasePathsData = function(pathsData) {
		var i, len = pathsData.length;
		for (i = 0; i < len; i += 1) {
			segments_length_pool.release(pathsData[i]);
		}
		pathsData.length = 0;
		return pathsData;
	};

	TrimModifier.prototype.processShapes = function(_isFirstFrame) {
		var s, e;
		if (this._mdf || _isFirstFrame) {
			var o = (this.o.v % 360) / 360;
			if (o < 0) {
				o += 1;
			}
			s = (this.s.v > 1 ? 1 : this.s.v < 0 ? 0 : this.s.v) + o;
			e = (this.e.v > 1 ? 1 : this.e.v < 0 ? 0 : this.e.v) + o;
			if (s === e) {

			}
			if (s > e) {
				var _s = s;
				s = e;
				e = _s;
			}
			s = Math.round(s * 10000) * 0.0001;
			e = Math.round(e * 10000) * 0.0001;
			this.sValue = s;
			this.eValue = e;
		} else {
			s = this.sValue;
			e = this.eValue;
		}
		var shapePaths;
		var i, len = this.shapes.length, j, jLen;
		var pathsData, pathData, totalShapeLength, totalModifierLength = 0;

		if (e === s) {
			for (i = 0; i < len; i += 1) {
				this.shapes[i].localShapeCollection.releaseShapes();
				this.shapes[i].shape._mdf = true;
				this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;
			}
		} else if (!((e === 1 && s === 0) || (e===0 && s === 1))){
			var segments = [], shapeData, localShapeCollection;
			for (i = 0; i < len; i += 1) {
				shapeData = this.shapes[i];
				// if shape hasn't changed and trim properties haven't changed, cached previous path can be used
				if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {
					shapeData.shape.paths = shapeData.localShapeCollection;
				} else {
					shapePaths = shapeData.shape.paths;
					jLen = shapePaths._length;
					totalShapeLength = 0;
					if (!shapeData.shape._mdf && shapeData.pathsData.length) {
						totalShapeLength = shapeData.totalShapeLength;
					} else {
						pathsData = this.releasePathsData(shapeData.pathsData);
						for (j = 0; j < jLen; j += 1) {
							pathData = bez.getSegmentsLength(shapePaths.shapes[j]);
							pathsData.push(pathData);
							totalShapeLength += pathData.totalLength;
						}
						shapeData.totalShapeLength = totalShapeLength;
						shapeData.pathsData = pathsData;
					}

					totalModifierLength += totalShapeLength;
					shapeData.shape._mdf = true;
				}
			}
			var shapeS = s, shapeE = e, addedLength = 0, edges;
			for (i = len - 1; i >= 0; i -= 1) {
				shapeData = this.shapes[i];
				if (shapeData.shape._mdf) {
					localShapeCollection = shapeData.localShapeCollection;
					localShapeCollection.releaseShapes();
					//if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group
					if (this.m === 2 && len > 1) {
						edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);
						addedLength += shapeData.totalShapeLength;
					} else {
						edges = [[shapeS, shapeE]];
					}
					jLen = edges.length;
					for (j = 0; j < jLen; j += 1) {
						shapeS = edges[j][0];
						shapeE = edges[j][1];
						segments.length = 0;
						if (shapeE <= 1) {
							segments.push({
								s:shapeData.totalShapeLength * shapeS,
								e:shapeData.totalShapeLength * shapeE
							});
						} else if (shapeS >= 1) {
							segments.push({
								s:shapeData.totalShapeLength * (shapeS - 1),
								e:shapeData.totalShapeLength * (shapeE - 1)
							});
						} else {
							segments.push({
								s:shapeData.totalShapeLength * shapeS,
								e:shapeData.totalShapeLength
							});
							segments.push({
								s:0,
								e:shapeData.totalShapeLength * (shapeE - 1)
							});
						}
						var newShapesData = this.addShapes(shapeData,segments[0]);
						if (segments[0].s !== segments[0].e) {
							if (segments.length > 1) {
								var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];
								if (lastShapeInCollection.c) {
									var lastShape = newShapesData.pop();
									this.addPaths(newShapesData, localShapeCollection);
									newShapesData = this.addShapes(shapeData, segments[1], lastShape);
								} else {
									this.addPaths(newShapesData, localShapeCollection);
									newShapesData = this.addShapes(shapeData, segments[1]);
								}
							}
							this.addPaths(newShapesData, localShapeCollection);
						}

					}
					shapeData.shape.paths = localShapeCollection;
				}
			}
		} else if (this._mdf) {
			for (i = 0; i < len; i += 1) {
				//Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.
				//Don't remove this even if it's losing cached info.
				this.shapes[i].pathsData.length = 0;
				this.shapes[i].shape._mdf = true;
			}
		}
	};

	TrimModifier.prototype.addPaths = function(newPaths, localShapeCollection) {
		var i, len = newPaths.length;
		for (i = 0; i < len; i += 1) {
			localShapeCollection.addShape(newPaths[i]);
		}
	};

	TrimModifier.prototype.addSegment = function(pt1, pt2, pt3, pt4, shapePath, pos, newShape) {
		shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);
		shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);
		if(newShape){
			shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);
		}
		shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);
	};

	TrimModifier.prototype.addSegmentFromArray = function(points, shapePath, pos, newShape) {
		shapePath.setXYAt(points[1], points[5], 'o', pos);
		shapePath.setXYAt(points[2], points[6], 'i', pos + 1);
		if(newShape){
			shapePath.setXYAt(points[0], points[4], 'v', pos);
		}
		shapePath.setXYAt(points[3], points[7], 'v', pos + 1);
	};

	TrimModifier.prototype.addShapes = function(shapeData, shapeSegment, shapePath) {
		var pathsData = shapeData.pathsData;
		var shapePaths = shapeData.shape.paths.shapes;
		var i, len = shapeData.shape.paths._length, j, jLen;
		var addedLength = 0;
		var currentLengthData,segmentCount;
		var lengths;
		var segment;
		var shapes = [];
		var initPos;
		var newShape = true;
		if (!shapePath) {
			shapePath = shape_pool.newElement();
			segmentCount = 0;
			initPos = 0;
		} else {
			segmentCount = shapePath._length;
			initPos = shapePath._length;
		}
		shapes.push(shapePath);
		for (i = 0; i < len; i += 1) {
			lengths = pathsData[i].lengths;
			shapePath.c = shapePaths[i].c;
			jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;
			for (j = 1; j < jLen; j +=1) {
				currentLengthData = lengths[j-1];
				if (addedLength + currentLengthData.addedLength < shapeSegment.s) {
					addedLength += currentLengthData.addedLength;
					shapePath.c = false;
				} else if(addedLength > shapeSegment.e) {
					shapePath.c = false;
					break;
				} else {
					if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {
						this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);
						newShape = false;
					} else {
						segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength)/currentLengthData.addedLength,(shapeSegment.e - addedLength)/currentLengthData.addedLength, lengths[j-1]);
						this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);
						// this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);
						newShape = false;
						shapePath.c = false;
					}
					addedLength += currentLengthData.addedLength;
					segmentCount += 1;
				}
			}
			if (shapePaths[i].c && lengths.length) {
				currentLengthData = lengths[j - 1];
				if (addedLength <= shapeSegment.e) {
					var segmentLength = lengths[j - 1].addedLength;
					if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {
						this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);
						newShape = false;
					} else {
						segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);
						this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);
						// this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);
						newShape = false;
						shapePath.c = false;
					}
				} else {
					shapePath.c = false;
				}
				addedLength += currentLengthData.addedLength;
				segmentCount += 1;
			}
			if (shapePath._length) {
				shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);
				shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1],'o', shapePath._length - 1);
			}
			if (addedLength > shapeSegment.e) {
				break;
			}
			if (i < len - 1) {
				shapePath = shape_pool.newElement();
				newShape = true;
				shapes.push(shapePath);
				segmentCount = 0;
			}
		}
		return shapes;
	};


	ShapeModifiers.registerModifier('tm', TrimModifier);
	function RoundCornersModifier(){}
	extendPrototype([ShapeModifier],RoundCornersModifier);
	RoundCornersModifier.prototype.initModifierProperties = function(elem,data){
		this.getValue = this.processKeys;
		this.rd = PropertyFactory.getProp(elem,data.r,0,null,this);
		this._isAnimated = !!this.rd.effectsSequence.length;
	};

	RoundCornersModifier.prototype.processPath = function(path, round){
		var cloned_path = shape_pool.newElement();
		cloned_path.c = path.c;
		var i, len = path._length;
		var currentV,currentI,currentO,closerV, newV,newO,newI,distance,newPosPerc,index = 0;
		var vX,vY,oX,oY,iX,iY;
		for(i=0;i<len;i+=1){
			currentV = path.v[i];
			currentO = path.o[i];
			currentI = path.i[i];
			if(currentV[0]===currentO[0] && currentV[1]===currentO[1] && currentV[0]===currentI[0] && currentV[1]===currentI[1]){
				if((i===0 || i === len - 1) && !path.c){
					cloned_path.setTripleAt(currentV[0],currentV[1],currentO[0],currentO[1],currentI[0],currentI[1],index);
					/*cloned_path.v[index] = currentV;
                cloned_path.o[index] = currentO;
                cloned_path.i[index] = currentI;*/
					index += 1;
				} else {
					if(i===0){
						closerV = path.v[len-1];
					} else {
						closerV = path.v[i-1];
					}
					distance = Math.sqrt(Math.pow(currentV[0]-closerV[0],2)+Math.pow(currentV[1]-closerV[1],2));
					newPosPerc = distance ? Math.min(distance/2,round)/distance : 0;
					vX = iX = currentV[0]+(closerV[0]-currentV[0])*newPosPerc;
					vY = iY = currentV[1]-(currentV[1]-closerV[1])*newPosPerc;
					oX = vX-(vX-currentV[0])*roundCorner;
					oY = vY-(vY-currentV[1])*roundCorner;
					cloned_path.setTripleAt(vX,vY,oX,oY,iX,iY,index);
					index += 1;

					if(i === len - 1){
						closerV = path.v[0];
					} else {
						closerV = path.v[i+1];
					}
					distance = Math.sqrt(Math.pow(currentV[0]-closerV[0],2)+Math.pow(currentV[1]-closerV[1],2));
					newPosPerc = distance ? Math.min(distance/2,round)/distance : 0;
					vX = oX = currentV[0]+(closerV[0]-currentV[0])*newPosPerc;
					vY = oY = currentV[1]+(closerV[1]-currentV[1])*newPosPerc;
					iX = vX-(vX-currentV[0])*roundCorner;
					iY = vY-(vY-currentV[1])*roundCorner;
					cloned_path.setTripleAt(vX,vY,oX,oY,iX,iY,index);
					index += 1;
				}
			} else {
				cloned_path.setTripleAt(path.v[i][0],path.v[i][1],path.o[i][0],path.o[i][1],path.i[i][0],path.i[i][1],index);
				index += 1;
			}
		}
		return cloned_path;
	};

	RoundCornersModifier.prototype.processShapes = function(_isFirstFrame){
		var shapePaths;
		var i, len = this.shapes.length;
		var j, jLen;
		var rd = this.rd.v;

		if(rd !== 0){
			var shapeData, newPaths, localShapeCollection;
			for(i=0;i<len;i+=1){
				shapeData = this.shapes[i];
				newPaths = shapeData.shape.paths;
				localShapeCollection = shapeData.localShapeCollection;
				if(!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)){
					localShapeCollection.releaseShapes();
					shapeData.shape._mdf = true;
					shapePaths = shapeData.shape.paths.shapes;
					jLen = shapeData.shape.paths._length;
					for(j=0;j<jLen;j+=1){
						localShapeCollection.addShape(this.processPath(shapePaths[j],rd));
					}
				}
				shapeData.shape.paths = shapeData.localShapeCollection;
			}

		}
		if(!this.dynamicProperties.length){
			this._mdf = false;
		}
	};

	ShapeModifiers.registerModifier('rd',RoundCornersModifier);
	function RepeaterModifier(){}
	extendPrototype([ShapeModifier], RepeaterModifier);

	RepeaterModifier.prototype.initModifierProperties = function(elem,data){
		this.getValue = this.processKeys;
		this.c = PropertyFactory.getProp(elem,data.c,0,null,this);
		this.o = PropertyFactory.getProp(elem,data.o,0,null,this);
		this.tr = TransformPropertyFactory.getTransformProperty(elem,data.tr,this);
		this.so = PropertyFactory.getProp(elem,data.tr.so,0,0.01,this);
		this.eo = PropertyFactory.getProp(elem,data.tr.eo,0,0.01,this);
		this.data = data;
		if(!this.dynamicProperties.length){
			this.getValue(true);
		}
		this._isAnimated = !!this.dynamicProperties.length;
		this.pMatrix = new Matrix();
		this.rMatrix = new Matrix();
		this.sMatrix = new Matrix();
		this.tMatrix = new Matrix();
		this.matrix = new Matrix();
	};

	RepeaterModifier.prototype.applyTransforms = function(pMatrix, rMatrix, sMatrix, transform, perc, inv){
		var dir = inv ? -1 : 1;
		var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);
		var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);
		pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);
		rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);
		rMatrix.rotate(-transform.r.v * dir * perc);
		rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);
		sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);
		sMatrix.scale(inv ? 1/scaleX : scaleX, inv ? 1/scaleY : scaleY);
		sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);
	};

	RepeaterModifier.prototype.init = function(elem, arr, pos, elemsData) {
		this.elem = elem;
		this.arr = arr;
		this.pos = pos;
		this.elemsData = elemsData;
		this._currentCopies = 0;
		this._elements = [];
		this._groups = [];
		this.frameId = -1;
		this.initDynamicPropertyContainer(elem);
		this.initModifierProperties(elem,arr[pos]);
		var cont = 0;
		while(pos>0){
			pos -= 1;
			//this._elements.unshift(arr.splice(pos,1)[0]);
			this._elements.unshift(arr[pos]);
			cont += 1;
		}
		if(this.dynamicProperties.length){
			this.k = true;
		}else{
			this.getValue(true);
		}
	};

	RepeaterModifier.prototype.resetElements = function(elements){
		var i, len = elements.length;
		for(i = 0; i < len; i += 1) {
			elements[i]._processed = false;
			if(elements[i].ty === 'gr'){
				this.resetElements(elements[i].it);
			}
		}
	};

	RepeaterModifier.prototype.cloneElements = function(elements){
		var i, len = elements.length;
		var newElements = JSON.parse(JSON.stringify(elements));
		this.resetElements(newElements);
		return newElements;
	};

	RepeaterModifier.prototype.changeGroupRender = function(elements, renderFlag) {
		var i, len = elements.length;
		for(i = 0; i < len; i += 1) {
			elements[i]._render = renderFlag;
			if(elements[i].ty === 'gr') {
				this.changeGroupRender(elements[i].it, renderFlag);
			}
		}
	};

	RepeaterModifier.prototype.processShapes = function(_isFirstFrame) {
		var items, itemsTransform, i, dir, cont;
		if(this._mdf || _isFirstFrame){
			var copies = Math.ceil(this.c.v);
			if(this._groups.length < copies){
				while(this._groups.length < copies){
					var group = {
						it:this.cloneElements(this._elements),
						ty:'gr'
					};
					group.it.push({"a":{"a":0,"ix":1,"k":[0,0]},"nm":"Transform","o":{"a":0,"ix":7,"k":100},"p":{"a":0,"ix":2,"k":[0,0]},"r":{"a":1,"ix":6,"k":[{s:0,e:0,t:0},{s:0,e:0,t:1}]},"s":{"a":0,"ix":3,"k":[100,100]},"sa":{"a":0,"ix":5,"k":0},"sk":{"a":0,"ix":4,"k":0},"ty":"tr"});

					this.arr.splice(0,0,group);
					this._groups.splice(0,0,group);
					this._currentCopies += 1;
				}
				this.elem.reloadShapes();
			}
			cont = 0;
			var renderFlag;
			for(i = 0; i  <= this._groups.length - 1; i += 1){
				renderFlag = cont < copies;
				this._groups[i]._render = renderFlag;
				this.changeGroupRender(this._groups[i].it, renderFlag);
				cont += 1;
			}

			this._currentCopies = copies;
			////

			var offset = this.o.v;
			var offsetModulo = offset%1;
			var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);
			var k;
			var tMat = this.tr.v.props;
			var pProps = this.pMatrix.props;
			var rProps = this.rMatrix.props;
			var sProps = this.sMatrix.props;
			this.pMatrix.reset();
			this.rMatrix.reset();
			this.sMatrix.reset();
			this.tMatrix.reset();
			this.matrix.reset();
			var iteration = 0;

			if(offset > 0) {
				while(iteration<roundOffset){
					this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);
					iteration += 1;
				}
				if(offsetModulo){
					this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);
					iteration += offsetModulo;
				}
			} else if(offset < 0) {
				while(iteration>roundOffset){
					this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);
					iteration -= 1;
				}
				if(offsetModulo){
					this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, - offsetModulo, true);
					iteration -= offsetModulo;
				}
			}
			i = this.data.m === 1 ? 0 : this._currentCopies - 1;
			dir = this.data.m === 1 ? 1 : -1;
			cont = this._currentCopies;
			var j, jLen;
			while(cont){
				items = this.elemsData[i].it;
				itemsTransform = items[items.length - 1].transform.mProps.v.props;
				jLen = itemsTransform.length;
				items[items.length - 1].transform.mProps._mdf = true;
				items[items.length - 1].transform.op._mdf = true;
				items[items.length - 1].transform.op.v = this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));
				if(iteration !== 0){
					if((i !== 0 && dir === 1) || (i !== this._currentCopies - 1 && dir === -1)){
						this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);
					}
					this.matrix.transform(rProps[0],rProps[1],rProps[2],rProps[3],rProps[4],rProps[5],rProps[6],rProps[7],rProps[8],rProps[9],rProps[10],rProps[11],rProps[12],rProps[13],rProps[14],rProps[15]);
					this.matrix.transform(sProps[0],sProps[1],sProps[2],sProps[3],sProps[4],sProps[5],sProps[6],sProps[7],sProps[8],sProps[9],sProps[10],sProps[11],sProps[12],sProps[13],sProps[14],sProps[15]);
					this.matrix.transform(pProps[0],pProps[1],pProps[2],pProps[3],pProps[4],pProps[5],pProps[6],pProps[7],pProps[8],pProps[9],pProps[10],pProps[11],pProps[12],pProps[13],pProps[14],pProps[15]);

					for(j=0;j<jLen;j+=1) {
						itemsTransform[j] = this.matrix.props[j];
					}
					this.matrix.reset();
				} else {
					this.matrix.reset();
					for(j=0;j<jLen;j+=1) {
						itemsTransform[j] = this.matrix.props[j];
					}
				}
				iteration += 1;
				cont -= 1;
				i += dir;
			}
		} else {
			cont = this._currentCopies;
			i = 0;
			dir = 1;
			while(cont){
				items = this.elemsData[i].it;
				itemsTransform = items[items.length - 1].transform.mProps.v.props;
				items[items.length - 1].transform.mProps._mdf = false;
				items[items.length - 1].transform.op._mdf = false;
				cont -= 1;
				i += dir;
			}
		}
	};

	RepeaterModifier.prototype.addShape = function(){};

	ShapeModifiers.registerModifier('rp',RepeaterModifier);
	function ShapeCollection(){
		this._length = 0;
		this._maxLength = 4;
		this.shapes = createSizedArray(this._maxLength);
	}

	ShapeCollection.prototype.addShape = function(shapeData){
		if(this._length === this._maxLength){
			this.shapes = this.shapes.concat(createSizedArray(this._maxLength));
			this._maxLength *= 2;
		}
		this.shapes[this._length] = shapeData;
		this._length += 1;
	};

	ShapeCollection.prototype.releaseShapes = function(){
		var i;
		for(i = 0; i < this._length; i += 1) {
			shape_pool.release(this.shapes[i]);
		}
		this._length = 0;
	};
	function DashProperty(elem, data, renderer, container) {
		this.elem = elem;
		this.frameId = -1;
		this.dataProps = createSizedArray(data.length);
		this.renderer = renderer;
		this.k = false;
		this.dashStr = '';
		this.dashArray = createTypedArray('float32',  data.length ? data.length - 1 : 0);
		this.dashoffset = createTypedArray('float32',  1);
		this.initDynamicPropertyContainer(container);
		var i, len = data.length || 0, prop;
		for(i = 0; i < len; i += 1) {
			prop = PropertyFactory.getProp(elem,data[i].v,0, 0, this);
			this.k = prop.k || this.k;
			this.dataProps[i] = {n:data[i].n,p:prop};
		}
		if(!this.k){
			this.getValue(true);
		}
		this._isAnimated = this.k;
	}

	DashProperty.prototype.getValue = function(forceRender) {
		if(this.elem.globalData.frameId === this.frameId && !forceRender){
			return;
		}
		this.frameId = this.elem.globalData.frameId;
		this.iterateDynamicProperties();
		this._mdf = this._mdf || forceRender;
		if (this._mdf) {
			var i = 0, len = this.dataProps.length;
			if(this.renderer === 'svg') {
				this.dashStr = '';
			}
			for(i=0;i<len;i+=1){
				if(this.dataProps[i].n != 'o'){
					if(this.renderer === 'svg') {
						this.dashStr += ' ' + this.dataProps[i].p.v;
					}else{
						this.dashArray[i] = this.dataProps[i].p.v;
					}
				}else{
					this.dashoffset[0] = this.dataProps[i].p.v;
				}
			}
		}
	};
	extendPrototype([DynamicPropertyContainer], DashProperty);
	function GradientProperty(elem,data,container){
		this.data = data;
		this.c = createTypedArray('uint8c', data.p*4);
		var cLength = data.k.k[0].s ? (data.k.k[0].s.length - data.p*4) : data.k.k.length - data.p*4;
		this.o = createTypedArray('float32', cLength);
		this._cmdf = false;
		this._omdf = false;
		this._collapsable = this.checkCollapsable();
		this._hasOpacity = cLength;
		this.initDynamicPropertyContainer(container);
		this.prop = PropertyFactory.getProp(elem,data.k,1,null,this);
		this.k = this.prop.k;
		this.getValue(true);
	}

	GradientProperty.prototype.comparePoints = function(values, points) {
		var i = 0, len = this.o.length/2, diff;
		while(i < len) {
			diff = Math.abs(values[i*4] - values[points*4 + i*2]);
			if(diff > 0.01){
				return false;
			}
			i += 1;
		}
		return true;
	};

	GradientProperty.prototype.checkCollapsable = function() {
		if (this.o.length/2 !== this.c.length/4) {
			return false;
		}
		if (this.data.k.k[0].s) {
			var i = 0, len = this.data.k.k.length;
			while (i < len) {
				if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {
					return false;
				}
				i += 1;
			}
		} else if(!this.comparePoints(this.data.k.k, this.data.p)) {
			return false;
		}
		return true;
	};

	GradientProperty.prototype.getValue = function(forceRender){
		this.prop.getValue();
		this._mdf = false;
		this._cmdf = false;
		this._omdf = false;
		if(this.prop._mdf || forceRender){
			var i, len = this.data.p*4;
			var mult, val;
			for(i=0;i<len;i+=1){
				mult = i%4 === 0 ? 100 : 255;
				val = Math.round(this.prop.v[i]*mult);
				if(this.c[i] !== val){
					this.c[i] = val;
					this._cmdf = !forceRender;
				}
			}
			if(this.o.length){
				len = this.prop.v.length;
				for(i=this.data.p*4;i<len;i+=1){
					mult = i%2 === 0 ? 100 : 1;
					val = i%2 === 0 ?  Math.round(this.prop.v[i]*100):this.prop.v[i];
					if(this.o[i-this.data.p*4] !== val){
						this.o[i-this.data.p*4] = val;
						this._omdf = !forceRender;
					}
				}
			}
			this._mdf = !forceRender;
		}
	};

	extendPrototype([DynamicPropertyContainer], GradientProperty);
	var buildShapeString = function(pathNodes, length, closed, mat) {
		if(length === 0) {
			return '';
		}
		var _o = pathNodes.o;
		var _i = pathNodes.i;
		var _v = pathNodes.v;
		var i, shapeString = " M" + mat.applyToPointStringified(_v[0][0], _v[0][1]);
		for(i = 1; i < length; i += 1) {
			shapeString += " C" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + " " + mat.applyToPointStringified(_i[i][0], _i[i][1]) + " " + mat.applyToPointStringified(_v[i][0], _v[i][1]);
		}
		if (closed && length) {
			shapeString += " C" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + " " + mat.applyToPointStringified(_i[0][0], _i[0][1]) + " " + mat.applyToPointStringified(_v[0][0], _v[0][1]);
			shapeString += 'z';
		}
		return shapeString;
	}
	var ImagePreloader = (function(){

		var proxyImage = (function(){
			var canvas = createTag('canvas');
			canvas.width = 1;
			canvas.height = 1;
			var ctx = canvas.getContext('2d');
			ctx.fillStyle = 'rgba(0,0,0,0)';
			ctx.fillRect(0, 0, 1, 1);
			return canvas;
		}())

		function imageLoaded(){
			this.loadedAssets += 1;
			if(this.loadedAssets === this.totalImages){
				if(this.imagesLoadedCb) {
					this.imagesLoadedCb(null);
				}
			}
		}

		function getAssetsPath(assetData, assetsPath, original_path) {
			var path = '';
			if (assetData.e) {
				path = assetData.p;
			} else if(assetsPath) {
				var imagePath = assetData.p;
				if (imagePath.indexOf('images/') !== -1) {
					imagePath = imagePath.split('/')[1];
				}
				path = assetsPath + imagePath;
			} else {
				path = original_path;
				path += assetData.u ? assetData.u : '';
				path += assetData.p;
			}
			return path;
		}

		function createImageData(assetData) {
			var path = getAssetsPath(assetData, this.assetsPath, this.path);
			var img = createTag('img');
			img.crossOrigin = 'anonymous';
			img.addEventListener('load', this._imageLoaded.bind(this), false);
			img.addEventListener('error', function() {
				ob.img = proxyImage;
				this._imageLoaded();
			}.bind(this), false);
			img.src = path;
			var ob = {
				img: img,
				assetData: assetData
			}
			return ob;
		}

		function loadAssets(assets, cb){
			this.imagesLoadedCb = cb;
			var i, len = assets.length;
			for (i = 0; i < len; i += 1) {
				if(!assets[i].layers){
					this.totalImages += 1;
					this.images.push(this._createImageData(assets[i]));
				}
			}
		}

		function setPath(path){
			this.path = path || '';
		}

		function setAssetsPath(path){
			this.assetsPath = path || '';
		}

		function getImage(assetData) {
			var i = 0, len = this.images.length;
			while (i < len) {
				if (this.images[i].assetData === assetData) {
					return this.images[i].img;
				}
				i += 1;
			}
		}

		function destroy() {
			this.imagesLoadedCb = null;
			this.images.length = 0;
		}

		function loaded() {
			return this.totalImages === this.loadedAssets;
		}

		return function ImagePreloader(){
			this.loadAssets = loadAssets;
			this.setAssetsPath = setAssetsPath;
			this.setPath = setPath;
			this.loaded = loaded;
			this.destroy = destroy;
			this.getImage = getImage;
			this._createImageData = createImageData;
			this._imageLoaded = imageLoaded;
			this.assetsPath = '';
			this.path = '';
			this.totalImages = 0;
			this.loadedAssets = 0;
			this.imagesLoadedCb = null;
			this.images = [];
		};
	}());
	var featureSupport = (function(){
		var ob = {
			maskType: true
		};
		if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\/\d./i.test(navigator.userAgent)) {
			ob.maskType = false;
		}
		return ob;
	}());
	var filtersFactory = (function(){
		var ob = {};
		ob.createFilter = createFilter;
		ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;

		function createFilter(filId){
			var fil = createNS('filter');
			fil.setAttribute('id',filId);
			fil.setAttribute('filterUnits','objectBoundingBox');
			fil.setAttribute('x','0%');
			fil.setAttribute('y','0%');
			fil.setAttribute('width','100%');
			fil.setAttribute('height','100%');
			return fil;
		}

		function createAlphaToLuminanceFilter(){
			var feColorMatrix = createNS('feColorMatrix');
			feColorMatrix.setAttribute('type','matrix');
			feColorMatrix.setAttribute('color-interpolation-filters','sRGB');
			feColorMatrix.setAttribute('values','0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1');
			return feColorMatrix;
		}

		return ob;
	}());
	var assetLoader = (function(){

		function formatResponse(xhr) {
			if(xhr.response && typeof xhr.response === 'object') {
				return xhr.response;
			} else if(xhr.response && typeof xhr.response === 'string') {
				return JSON.parse(xhr.response);
			} else if(xhr.responseText) {
				return JSON.parse(xhr.responseText);
			}
		}

		function loadAsset(path, callback, errorCallback) {
			var response;
			var xhr = new XMLHttpRequest();
			xhr.open('GET', path, true);
			// set responseType after calling open or IE will break.
			try {
				// This crashes on Android WebView prior to KitKat
				xhr.responseType = "json";
			} catch (err) {}
			xhr.send();
			xhr.onreadystatechange = function () {
				if (xhr.readyState == 4) {
					if(xhr.status == 200){
						response = formatResponse(xhr);
						callback(response);
					}else{
						try{
							response = formatResponse(xhr);
							callback(response);
						}catch(err){
							if(errorCallback) {
								errorCallback(err);
							}
						}
					}
				}
			};
		}
		return {
			load: loadAsset
		}
	}())

	function TextAnimatorProperty(textData, renderType, elem){
		this._isFirstFrame = true;
		this._hasMaskedPath = false;
		this._frameId = -1;
		this._textData = textData;
		this._renderType = renderType;
		this._elem = elem;
		this._animatorsData = createSizedArray(this._textData.a.length);
		this._pathData = {};
		this._moreOptions = {
			alignment: {}
		};
		this.renderedLetters = [];
		this.lettersChangedFlag = false;
		this.initDynamicPropertyContainer(elem);

	}

	TextAnimatorProperty.prototype.searchProperties = function(){
		var i, len = this._textData.a.length, animatorProps;
		var getProp = PropertyFactory.getProp;
		for(i=0;i<len;i+=1){
			animatorProps = this._textData.a[i];
			this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);
		}
		if(this._textData.p && 'm' in this._textData.p){
			this._pathData = {
				f: getProp(this._elem,this._textData.p.f,0,0,this),
				l: getProp(this._elem,this._textData.p.l,0,0,this),
				r: this._textData.p.r,
				m: this._elem.maskManager.getMaskProperty(this._textData.p.m)
			};
			this._hasMaskedPath = true;
		} else {
			this._hasMaskedPath = false;
		}
		this._moreOptions.alignment = getProp(this._elem,this._textData.m.a,1,0,this);
	};

	TextAnimatorProperty.prototype.getMeasures = function(documentData, lettersChangedFlag){
		this.lettersChangedFlag = lettersChangedFlag;
		if(!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) {
			return;
		}
		this._isFirstFrame = false;
		var alignment = this._moreOptions.alignment.v;
		var animators = this._animatorsData;
		var textData = this._textData;
		var matrixHelper = this.mHelper;
		var renderType = this._renderType;
		var renderedLettersCount = this.renderedLetters.length;
		var data = this.data;
		var xPos,yPos;
		var i, len;
		var letters = documentData.l, pathInfo, currentLength, currentPoint, segmentLength, flag, pointInd, segmentInd, prevPoint, points, segments, partialLength, totalLength, perc, tanAngle, mask;
		if(this._hasMaskedPath) {
			mask = this._pathData.m;
			if(!this._pathData.n || this._pathData._mdf){
				var paths = mask.v;
				if(this._pathData.r){
					paths = paths.reverse();
				}
				// TODO: release bezier data cached from previous pathInfo: this._pathData.pi
				pathInfo = {
					tLength: 0,
					segments: []
				};
				len = paths._length - 1;
				var bezierData;
				totalLength = 0;
				for (i = 0; i < len; i += 1) {
					bezierData = bez.buildBezierData(paths.v[i]
						, paths.v[i + 1]
						, [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]]
						, [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);
					pathInfo.tLength += bezierData.segmentLength;
					pathInfo.segments.push(bezierData);
					totalLength += bezierData.segmentLength;
				}
				i = len;
				if (mask.v.c) {
					bezierData = bez.buildBezierData(paths.v[i]
						, paths.v[0]
						, [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]]
						, [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);
					pathInfo.tLength += bezierData.segmentLength;
					pathInfo.segments.push(bezierData);
					totalLength += bezierData.segmentLength;
				}
				this._pathData.pi = pathInfo;
			}
			pathInfo = this._pathData.pi;

			currentLength = this._pathData.f.v;
			segmentInd = 0;
			pointInd = 1;
			segmentLength = 0;
			flag = true;
			segments = pathInfo.segments;
			if (currentLength < 0 && mask.v.c) {
				if (pathInfo.tLength < Math.abs(currentLength)) {
					currentLength = -Math.abs(currentLength) % pathInfo.tLength;
				}
				segmentInd = segments.length - 1;
				points = segments[segmentInd].points;
				pointInd = points.length - 1;
				while (currentLength < 0) {
					currentLength += points[pointInd].partialLength;
					pointInd -= 1;
					if (pointInd < 0) {
						segmentInd -= 1;
						points = segments[segmentInd].points;
						pointInd = points.length - 1;
					}
				}

			}
			points = segments[segmentInd].points;
			prevPoint = points[pointInd - 1];
			currentPoint = points[pointInd];
			partialLength = currentPoint.partialLength;
		}


		len = letters.length;
		xPos = 0;
		yPos = 0;
		var yOff = documentData.finalSize * 1.2 * 0.714;
		var firstLine = true;
		var animatorProps, animatorSelector;
		var j, jLen;
		var letterValue;

		jLen = animators.length;
		var lastLetter;

		var mult, ind = -1, offf, xPathPos, yPathPos;
		var initPathPos = currentLength,initSegmentInd = segmentInd, initPointInd = pointInd, currentLine = -1;
		var elemOpacity;
		var sc,sw,fc,k;
		var lineLength = 0;
		var letterSw, letterSc, letterFc, letterM = '', letterP = this.defaultPropsArray, letterO;

		//
		if(documentData.j === 2 || documentData.j === 1) {
			var animatorJustifyOffset = 0;
			var animatorFirstCharOffset = 0;
			var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;
			var lastIndex = 0;
			var isNewLine = true;

			for (i = 0; i < len; i += 1) {
				if (letters[i].n) {
					if(animatorJustifyOffset) {
						animatorJustifyOffset += animatorFirstCharOffset;
					}
					while (lastIndex < i) {
						letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;
						lastIndex += 1;
					}
					animatorJustifyOffset = 0;
					isNewLine = true;
				} else {
					for (j = 0; j < jLen; j += 1) {
						animatorProps = animators[j].a;
						if (animatorProps.t.propType) {
							if (isNewLine && documentData.j === 2) {
								animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;
							}
							animatorSelector = animators[j].s;
							mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);
							if (mult.length) {
								animatorJustifyOffset += animatorProps.t.v*mult[0] * justifyOffsetMult;
							} else {
								animatorJustifyOffset += animatorProps.t.v*mult * justifyOffsetMult;
							}
						}
					}
					isNewLine = false;
				}
			}
			if(animatorJustifyOffset) {
				animatorJustifyOffset += animatorFirstCharOffset;
			}
			while(lastIndex < i) {
				letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;
				lastIndex += 1;
			}
		}
		//

		for( i = 0; i < len; i += 1) {

			matrixHelper.reset();
			elemOpacity = 1;
			if(letters[i].n) {
				xPos = 0;
				yPos += documentData.yOffset;
				yPos += firstLine ? 1 : 0;
				currentLength = initPathPos ;
				firstLine = false;
				lineLength = 0;
				if(this._hasMaskedPath) {
					segmentInd = initSegmentInd;
					pointInd = initPointInd;
					points = segments[segmentInd].points;
					prevPoint = points[pointInd - 1];
					currentPoint = points[pointInd];
					partialLength = currentPoint.partialLength;
					segmentLength = 0;
				}
				letterO = letterSw = letterFc = letterM = '';
				letterP = this.defaultPropsArray;
			}else{
				if(this._hasMaskedPath) {
					if(currentLine !== letters[i].line){
						switch(documentData.j){
							case 1:
								currentLength += totalLength - documentData.lineWidths[letters[i].line];
								break;
							case 2:
								currentLength += (totalLength - documentData.lineWidths[letters[i].line])/2;
								break;
						}
						currentLine = letters[i].line;
					}
					if (ind !== letters[i].ind) {
						if (letters[ind]) {
							currentLength += letters[ind].extra;
						}
						currentLength += letters[i].an / 2;
						ind = letters[i].ind;
					}
					currentLength += alignment[0] * letters[i].an / 200;
					var animatorOffset = 0;
					for (j = 0; j < jLen; j += 1) {
						animatorProps = animators[j].a;
						if (animatorProps.p.propType) {
							animatorSelector = animators[j].s;
							mult = animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);
							if(mult.length){
								animatorOffset += animatorProps.p.v[0] * mult[0];
							} else{
								animatorOffset += animatorProps.p.v[0] * mult;
							}

						}
						if (animatorProps.a.propType) {
							animatorSelector = animators[j].s;
							mult = animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);
							if(mult.length){
								animatorOffset += animatorProps.a.v[0] * mult[0];
							} else{
								animatorOffset += animatorProps.a.v[0] * mult;
							}

						}
					}
					flag = true;
					while (flag) {
						if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {
							perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;
							xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;
							yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;
							matrixHelper.translate(-alignment[0]*letters[i].an/200, -(alignment[1] * yOff / 100));
							flag = false;
						} else if (points) {
							segmentLength += currentPoint.partialLength;
							pointInd += 1;
							if (pointInd >= points.length) {
								pointInd = 0;
								segmentInd += 1;
								if (!segments[segmentInd]) {
									if (mask.v.c) {
										pointInd = 0;
										segmentInd = 0;
										points = segments[segmentInd].points;
									} else {
										segmentLength -= currentPoint.partialLength;
										points = null;
									}
								} else {
									points = segments[segmentInd].points;
								}
							}
							if (points) {
								prevPoint = currentPoint;
								currentPoint = points[pointInd];
								partialLength = currentPoint.partialLength;
							}
						}
					}
					offf = letters[i].an / 2 - letters[i].add;
					matrixHelper.translate(-offf, 0, 0);
				} else {
					offf = letters[i].an/2 - letters[i].add;
					matrixHelper.translate(-offf,0,0);

					// Grouping alignment
					matrixHelper.translate(-alignment[0]*letters[i].an/200, -alignment[1]*yOff/100, 0);
				}

				lineLength += letters[i].l/2;
				for(j=0;j<jLen;j+=1){
					animatorProps = animators[j].a;
					if (animatorProps.t.propType) {
						animatorSelector = animators[j].s;
						mult = animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);
						//This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean "isNewLine"
						if(xPos !== 0 || documentData.j !== 0) {
							if(this._hasMaskedPath) {
								if(mult.length) {
									currentLength += animatorProps.t.v*mult[0];
								} else {
									currentLength += animatorProps.t.v*mult;
								}
							}else{
								if(mult.length) {
									xPos += animatorProps.t.v*mult[0];
								} else {
									xPos += animatorProps.t.v*mult;
								}
							}
						}
					}
				}
				lineLength += letters[i].l/2;
				if(documentData.strokeWidthAnim) {
					sw = documentData.sw || 0;
				}
				if(documentData.strokeColorAnim) {
					if(documentData.sc){
						sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];
					}else{
						sc = [0,0,0];
					}
				}
				if(documentData.fillColorAnim && documentData.fc) {
					fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];
				}
				for(j=0;j<jLen;j+=1){
					animatorProps = animators[j].a;
					if (animatorProps.a.propType) {
						animatorSelector = animators[j].s;
						mult = animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);

						if(mult.length){
							matrixHelper.translate(-animatorProps.a.v[0]*mult[0], -animatorProps.a.v[1]*mult[1], animatorProps.a.v[2]*mult[2]);
						} else {
							matrixHelper.translate(-animatorProps.a.v[0]*mult, -animatorProps.a.v[1]*mult, animatorProps.a.v[2]*mult);
						}
					}
				}
				for(j=0;j<jLen;j+=1){
					animatorProps = animators[j].a;
					if (animatorProps.s.propType) {
						animatorSelector = animators[j].s;
						mult = animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);
						if(mult.length){
							matrixHelper.scale(1+((animatorProps.s.v[0]-1)*mult[0]),1+((animatorProps.s.v[1]-1)*mult[1]),1);
						} else {
							matrixHelper.scale(1+((animatorProps.s.v[0]-1)*mult),1+((animatorProps.s.v[1]-1)*mult),1);
						}
					}
				}
				for(j=0;j<jLen;j+=1) {
					animatorProps = animators[j].a;
					animatorSelector = animators[j].s;
					mult = animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);
					if (animatorProps.sk.propType) {
						if(mult.length) {
							matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);
						} else {
							matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);
						}
					}
					if (animatorProps.r.propType) {
						if(mult.length) {
							matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);
						} else {
							matrixHelper.rotateZ(-animatorProps.r.v * mult);
						}
					}
					if (animatorProps.ry.propType) {

						if(mult.length) {
							matrixHelper.rotateY(animatorProps.ry.v*mult[1]);
						}else{
							matrixHelper.rotateY(animatorProps.ry.v*mult);
						}
					}
					if (animatorProps.rx.propType) {
						if(mult.length) {
							matrixHelper.rotateX(animatorProps.rx.v*mult[0]);
						} else {
							matrixHelper.rotateX(animatorProps.rx.v*mult);
						}
					}
					if (animatorProps.o.propType) {
						if(mult.length) {
							elemOpacity += ((animatorProps.o.v)*mult[0] - elemOpacity)*mult[0];
						} else {
							elemOpacity += ((animatorProps.o.v)*mult - elemOpacity)*mult;
						}
					}
					if (documentData.strokeWidthAnim && animatorProps.sw.propType) {
						if(mult.length) {
							sw += animatorProps.sw.v*mult[0];
						} else {
							sw += animatorProps.sw.v*mult;
						}
					}
					if (documentData.strokeColorAnim && animatorProps.sc.propType) {
						for(k=0;k<3;k+=1){
							if(mult.length) {
								sc[k] = sc[k] + (animatorProps.sc.v[k] - sc[k])*mult[0];
							} else {
								sc[k] = sc[k] + (animatorProps.sc.v[k] - sc[k])*mult;
							}
						}
					}
					if (documentData.fillColorAnim && documentData.fc) {
						if(animatorProps.fc.propType){
							for(k=0;k<3;k+=1){
								if(mult.length) {
									fc[k] = fc[k] + (animatorProps.fc.v[k] - fc[k])*mult[0];
								} else {
									fc[k] = fc[k] + (animatorProps.fc.v[k] - fc[k])*mult;
								}
							}
						}
						if(animatorProps.fh.propType){
							if(mult.length) {
								fc = addHueToRGB(fc,animatorProps.fh.v*mult[0]);
							} else {
								fc = addHueToRGB(fc,animatorProps.fh.v*mult);
							}
						}
						if(animatorProps.fs.propType){
							if(mult.length) {
								fc = addSaturationToRGB(fc,animatorProps.fs.v*mult[0]);
							} else {
								fc = addSaturationToRGB(fc,animatorProps.fs.v*mult);
							}
						}
						if(animatorProps.fb.propType){
							if(mult.length) {
								fc = addBrightnessToRGB(fc,animatorProps.fb.v*mult[0]);
							} else {
								fc = addBrightnessToRGB(fc,animatorProps.fb.v*mult);
							}
						}
					}
				}

				for(j=0;j<jLen;j+=1){
					animatorProps = animators[j].a;

					if (animatorProps.p.propType) {
						animatorSelector = animators[j].s;
						mult = animatorSelector.getMult(letters[i].anIndexes[j],textData.a[j].s.totalChars);
						if(this._hasMaskedPath) {
							if(mult.length) {
								matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);
							} else {
								matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);
							}
						}else{
							if(mult.length) {
								matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);
							} else {
								matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);

							}
						}
					}
				}
				if(documentData.strokeWidthAnim){
					letterSw = sw < 0 ? 0 : sw;
				}
				if(documentData.strokeColorAnim){
					letterSc = 'rgb('+Math.round(sc[0]*255)+','+Math.round(sc[1]*255)+','+Math.round(sc[2]*255)+')';
				}
				if(documentData.fillColorAnim && documentData.fc){
					letterFc = 'rgb('+Math.round(fc[0]*255)+','+Math.round(fc[1]*255)+','+Math.round(fc[2]*255)+')';
				}

				if(this._hasMaskedPath) {
					matrixHelper.translate(0,-documentData.ls);

					matrixHelper.translate(0, alignment[1]*yOff/100 + yPos,0);
					if (textData.p.p) {
						tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);
						var rot = Math.atan(tanAngle) * 180 / Math.PI;
						if (currentPoint.point[0] < prevPoint.point[0]) {
							rot += 180;
						}
						matrixHelper.rotate(-rot * Math.PI / 180);
					}
					matrixHelper.translate(xPathPos, yPathPos, 0);
					currentLength -= alignment[0]*letters[i].an/200;
					if(letters[i+1] && ind !== letters[i+1].ind){
						currentLength += letters[i].an / 2;
						currentLength += documentData.tr/1000*documentData.finalSize;
					}
				}else{

					matrixHelper.translate(xPos,yPos,0);

					if(documentData.ps){
						//matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);
						matrixHelper.translate(documentData.ps[0],documentData.ps[1] + documentData.ascent,0);
					}
					switch(documentData.j){
						case 1:
							matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]),0,0);
							break;
						case 2:
							matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line])/2,0,0);
							break;
					}
					matrixHelper.translate(0,-documentData.ls);
					matrixHelper.translate(offf,0,0);
					matrixHelper.translate(alignment[0]*letters[i].an/200,alignment[1]*yOff/100,0);
					xPos += letters[i].l + documentData.tr/1000*documentData.finalSize;
				}
				if(renderType === 'html'){
					letterM = matrixHelper.toCSS();
				}else if(renderType === 'svg'){
					letterM = matrixHelper.to2dCSS();
				}else{
					letterP = [matrixHelper.props[0],matrixHelper.props[1],matrixHelper.props[2],matrixHelper.props[3],matrixHelper.props[4],matrixHelper.props[5],matrixHelper.props[6],matrixHelper.props[7],matrixHelper.props[8],matrixHelper.props[9],matrixHelper.props[10],matrixHelper.props[11],matrixHelper.props[12],matrixHelper.props[13],matrixHelper.props[14],matrixHelper.props[15]];
				}
				letterO = elemOpacity;
			}

			if(renderedLettersCount <= i) {
				letterValue = new LetterProps(letterO,letterSw,letterSc,letterFc,letterM,letterP);
				this.renderedLetters.push(letterValue);
				renderedLettersCount += 1;
				this.lettersChangedFlag = true;
			} else {
				letterValue = this.renderedLetters[i];
				this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;
			}
		}
	};

	TextAnimatorProperty.prototype.getValue = function(){
		if(this._elem.globalData.frameId === this._frameId){
			return;
		}
		this._frameId = this._elem.globalData.frameId;
		this.iterateDynamicProperties();
	};

	TextAnimatorProperty.prototype.mHelper = new Matrix();
	TextAnimatorProperty.prototype.defaultPropsArray = [];
	extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);
	function TextAnimatorDataProperty(elem, animatorProps, container) {
		var defaultData = {propType:false};
		var getProp = PropertyFactory.getProp;
		var textAnimator_animatables = animatorProps.a;
		this.a = {
			r: textAnimator_animatables.r ? getProp(elem, textAnimator_animatables.r, 0, degToRads, container) : defaultData,
			rx: textAnimator_animatables.rx ? getProp(elem, textAnimator_animatables.rx, 0, degToRads, container) : defaultData,
			ry: textAnimator_animatables.ry ? getProp(elem, textAnimator_animatables.ry, 0, degToRads, container) : defaultData,
			sk: textAnimator_animatables.sk ? getProp(elem, textAnimator_animatables.sk, 0, degToRads, container) : defaultData,
			sa: textAnimator_animatables.sa ? getProp(elem, textAnimator_animatables.sa, 0, degToRads, container) : defaultData,
			s: textAnimator_animatables.s ? getProp(elem, textAnimator_animatables.s, 1, 0.01, container) : defaultData,
			a: textAnimator_animatables.a ? getProp(elem, textAnimator_animatables.a, 1, 0, container) : defaultData,
			o: textAnimator_animatables.o ? getProp(elem, textAnimator_animatables.o, 0, 0.01, container) : defaultData,
			p: textAnimator_animatables.p ? getProp(elem,textAnimator_animatables.p, 1, 0, container) : defaultData,
			sw: textAnimator_animatables.sw ? getProp(elem, textAnimator_animatables.sw, 0, 0, container) : defaultData,
			sc: textAnimator_animatables.sc ? getProp(elem, textAnimator_animatables.sc, 1, 0, container) : defaultData,
			fc: textAnimator_animatables.fc ? getProp(elem, textAnimator_animatables.fc, 1, 0, container) : defaultData,
			fh: textAnimator_animatables.fh ? getProp(elem, textAnimator_animatables.fh, 0, 0, container) : defaultData,
			fs: textAnimator_animatables.fs ? getProp(elem, textAnimator_animatables.fs, 0, 0.01, container) : defaultData,
			fb: textAnimator_animatables.fb ? getProp(elem, textAnimator_animatables.fb, 0, 0.01, container) : defaultData,
			t: textAnimator_animatables.t ? getProp(elem, textAnimator_animatables.t, 0, 0, container) : defaultData
		};

		this.s = TextSelectorProp.getTextSelectorProp(elem,animatorProps.s, container);
		this.s.t = animatorProps.s.t;
	}
	function LetterProps(o, sw, sc, fc, m, p){
		this.o = o;
		this.sw = sw;
		this.sc = sc;
		this.fc = fc;
		this.m = m;
		this.p = p;
		this._mdf = {
			o: true,
			sw: !!sw,
			sc: !!sc,
			fc: !!fc,
			m: true,
			p: true
		};
	}

	LetterProps.prototype.update = function(o, sw, sc, fc, m, p) {
		this._mdf.o = false;
		this._mdf.sw = false;
		this._mdf.sc = false;
		this._mdf.fc = false;
		this._mdf.m = false;
		this._mdf.p = false;
		var updated = false;

		if(this.o !== o) {
			this.o = o;
			this._mdf.o = true;
			updated = true;
		}
		if(this.sw !== sw) {
			this.sw = sw;
			this._mdf.sw = true;
			updated = true;
		}
		if(this.sc !== sc) {
			this.sc = sc;
			this._mdf.sc = true;
			updated = true;
		}
		if(this.fc !== fc) {
			this.fc = fc;
			this._mdf.fc = true;
			updated = true;
		}
		if(this.m !== m) {
			this.m = m;
			this._mdf.m = true;
			updated = true;
		}
		if(p.length && (this.p[0] !== p[0] || this.p[1] !== p[1] || this.p[4] !== p[4] || this.p[5] !== p[5] || this.p[12] !== p[12] || this.p[13] !== p[13])) {
			this.p = p;
			this._mdf.p = true;
			updated = true;
		}
		return updated;
	};
	function TextProperty(elem, data){
		this._frameId = initialDefaultFrame;
		this.pv = '';
		this.v = '';
		this.kf = false;
		this._isFirstFrame = true;
		this._mdf = false;
		this.data = data;
		this.elem = elem;
		this.comp = this.elem.comp;
		this.keysIndex = 0;
		this.canResize = false;
		this.minimumFontSize = 1;
		this.effectsSequence = [];
		this.currentData = {
			ascent: 0,
			boxWidth: this.defaultBoxWidth,
			f: '',
			fStyle: '',
			fWeight: '',
			fc: '',
			j: '',
			justifyOffset: '',
			l: [],
			lh: 0,
			lineWidths: [],
			ls: '',
			of: '',
			s: '',
			sc: '',
			sw: 0,
			t: 0,
			tr: 0,
			sz:0,
			ps:null,
			fillColorAnim: false,
			strokeColorAnim: false,
			strokeWidthAnim: false,
			yOffset: 0,
			finalSize:0,
			finalText:[],
			finalLineHeight: 0,
			__complete: false

		};
		this.copyData(this.currentData, this.data.d.k[0].s);

		if(!this.searchProperty()) {
			this.completeTextData(this.currentData);
		}
	}

	TextProperty.prototype.defaultBoxWidth = [0,0];

	TextProperty.prototype.copyData = function(obj, data) {
		for(var s in data) {
			if(data.hasOwnProperty(s)) {
				obj[s] = data[s];
			}
		}
		return obj;
	}

	TextProperty.prototype.setCurrentData = function(data){
		if(!data.__complete) {
			this.completeTextData(data);
		}
		this.currentData = data;
		this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;
		this._mdf = true;
	};

	TextProperty.prototype.searchProperty = function() {
		return this.searchKeyframes();
	};

	TextProperty.prototype.searchKeyframes = function() {
		this.kf = this.data.d.k.length > 1;
		if(this.kf) {
			this.addEffect(this.getKeyframeValue.bind(this));
		}
		return this.kf;
	}

	TextProperty.prototype.addEffect = function(effectFunction) {
		this.effectsSequence.push(effectFunction);
		this.elem.addDynamicProperty(this);
	};

	TextProperty.prototype.getValue = function(_finalValue) {
		if((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {
			return;
		}
		this.currentData.t = this.data.d.k[this.keysIndex].s.t;
		var currentValue = this.currentData;
		var currentIndex = this.keysIndex;
		if(this.lock) {
			this.setCurrentData(this.currentData);
			return;
		}
		this.lock = true;
		this._mdf = false;
		var multipliedValue;
		var i, len = this.effectsSequence.length;
		var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;
		for(i = 0; i < len; i += 1) {
			//Checking if index changed to prevent creating a new object every time the expression updates.
			if(currentIndex !== this.keysIndex) {
				finalValue = this.effectsSequence[i](finalValue, finalValue.t);
			} else {
				finalValue = this.effectsSequence[i](this.currentData, finalValue.t);
			}
		}
		if(currentValue !== finalValue) {
			this.setCurrentData(finalValue);
		}
		this.pv = this.v = this.currentData;
		this.lock = false;
		this.frameId = this.elem.globalData.frameId;
	}

	TextProperty.prototype.getKeyframeValue = function() {
		var textKeys = this.data.d.k, textDocumentData;
		var frameNum = this.elem.comp.renderedFrame;
		var i = 0, len = textKeys.length;
		while(i <= len - 1) {
			textDocumentData = textKeys[i].s;
			if(i === len - 1 || textKeys[i+1].t > frameNum){
				break;
			}
			i += 1;
		}
		if(this.keysIndex !== i) {
			this.keysIndex = i;
		}
		return this.data.d.k[this.keysIndex].s;
	};

	TextProperty.prototype.buildFinalText = function(text) {
		var combinedCharacters = FontManager.getCombinedCharacterCodes();
		var charactersArray = [];
		var i = 0, len = text.length;
		var charCode;
		while (i < len) {
			charCode = text.charCodeAt(i);
			if (combinedCharacters.indexOf(charCode) !== -1) {
				charactersArray[charactersArray.length - 1] += text.charAt(i);
			} else {
				if (charCode >= 0xD800 && charCode <= 0xDBFF) {
					charCode = text.charCodeAt(i + 1);
					if (charCode >= 0xDC00 && charCode <= 0xDFFF) {
						charactersArray.push(text.substr(i, 2));
						++i;
					} else {
						charactersArray.push(text.charAt(i));
					}
				} else {
					charactersArray.push(text.charAt(i));
				}
			}
			i += 1;
		}
		return charactersArray;
	}

	TextProperty.prototype.completeTextData = function(documentData) {
		documentData.__complete = true;
		var fontManager = this.elem.globalData.fontManager;
		var data = this.data;
		var letters = [];
		var i, len;
		var newLineFlag, index = 0, val;
		var anchorGrouping = data.m.g;
		var currentSize = 0, currentPos = 0, currentLine = 0, lineWidths = [];
		var lineWidth = 0;
		var maxLineWidth = 0;
		var j, jLen;
		var fontData = fontManager.getFontByName(documentData.f);
		var charData, cLength = 0;
		var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];

		var fWeight = 'normal', fStyle = 'normal';
		len = styles.length;
		var styleName;
		for(i=0;i<len;i+=1){
			styleName = styles[i].toLowerCase();
			switch(styleName) {
				case 'italic':
					fStyle = 'italic';
					break;
				case 'bold':
					fWeight = '700';
					break;
				case 'black':
					fWeight = '900';
					break;
				case 'medium':
					fWeight = '500';
					break;
				case 'regular':
				case 'normal':
					fWeight = '400';
					break;
				case 'light':
				case 'thin':
					fWeight = '200';
					break;
			}
		}
		documentData.fWeight = fontData.fWeight || fWeight;
		documentData.fStyle = fStyle;
		documentData.finalSize = documentData.s;
		documentData.finalText = this.buildFinalText(documentData.t);
		len = documentData.finalText.length;
		documentData.finalLineHeight = documentData.lh;
		var trackingOffset = documentData.tr/1000*documentData.finalSize;
		var charCode;
		if(documentData.sz){
			var flag = true;
			var boxWidth = documentData.sz[0];
			var boxHeight = documentData.sz[1];
			var currentHeight, finalText;
			while(flag) {
				finalText = this.buildFinalText(documentData.t);
				currentHeight = 0;
				lineWidth = 0;
				len = finalText.length;
				trackingOffset = documentData.tr/1000*documentData.finalSize;
				var lastSpaceIndex = -1;
				for(i=0;i<len;i+=1){
					charCode = finalText[i].charCodeAt(0);
					newLineFlag = false;
					if(finalText[i] === ' '){
						lastSpaceIndex = i;
					}else if(charCode === 13 || charCode === 3){
						lineWidth = 0;
						newLineFlag = true;
						currentHeight += documentData.finalLineHeight || documentData.finalSize*1.2;
					}
					if(fontManager.chars){
						charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);
						cLength = newLineFlag ? 0 : charData.w*documentData.finalSize/100;
					}else{
						//tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;
						cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);
					}
					if(lineWidth + cLength > boxWidth && finalText[i] !== ' '){
						if(lastSpaceIndex === -1){
							len += 1;
						} else {
							i = lastSpaceIndex;
						}
						currentHeight += documentData.finalLineHeight || documentData.finalSize*1.2;
						finalText.splice(i, lastSpaceIndex === i ? 1 : 0,"\r");
						//finalText = finalText.substr(0,i) + "\r" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);
						lastSpaceIndex = -1;
						lineWidth = 0;
					}else {
						lineWidth += cLength;
						lineWidth += trackingOffset;
					}
				}
				currentHeight += fontData.ascent*documentData.finalSize/100;
				if(this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {
					documentData.finalSize -= 1;
					documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;
				} else {
					documentData.finalText = finalText;
					len = documentData.finalText.length;
					flag = false;
				}
			}

		}
		lineWidth = - trackingOffset;
		cLength = 0;
		var uncollapsedSpaces = 0;
		var currentChar;
		for (i = 0;i < len ;i += 1) {
			newLineFlag = false;
			currentChar = documentData.finalText[i];
			charCode = currentChar.charCodeAt(0);
			if (charCode === 13 || charCode === 3) {
				uncollapsedSpaces = 0;
				lineWidths.push(lineWidth);
				maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;
				lineWidth = - 2 * trackingOffset;
				val = '';
				newLineFlag = true;
				currentLine += 1;
			}else{
				val = currentChar;
			}
			if(fontManager.chars){
				charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);
				cLength = newLineFlag ? 0 : charData.w*documentData.finalSize/100;
			}else{
				//var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);
				//tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;
				cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);
			}

			//
			if(currentChar === ' '){
				uncollapsedSpaces += cLength + trackingOffset;
			} else {
				lineWidth += cLength + trackingOffset + uncollapsedSpaces;
				uncollapsedSpaces = 0;
			}
			letters.push({l:cLength,an:cLength,add:currentSize,n:newLineFlag, anIndexes:[], val: val, line: currentLine, animatorJustifyOffset: 0});
			if(anchorGrouping == 2){
				currentSize += cLength;
				if(val === '' || val === ' ' || i === len - 1){
					if(val === '' || val === ' '){
						currentSize -= cLength;
					}
					while(currentPos<=i){
						letters[currentPos].an = currentSize;
						letters[currentPos].ind = index;
						letters[currentPos].extra = cLength;
						currentPos += 1;
					}
					index += 1;
					currentSize = 0;
				}
			}else if(anchorGrouping == 3){
				currentSize += cLength;
				if(val === '' || i === len - 1){
					if(val === ''){
						currentSize -= cLength;
					}
					while(currentPos<=i){
						letters[currentPos].an = currentSize;
						letters[currentPos].ind = index;
						letters[currentPos].extra = cLength;
						currentPos += 1;
					}
					currentSize = 0;
					index += 1;
				}
			}else{
				letters[index].ind = index;
				letters[index].extra = 0;
				index += 1;
			}
		}
		documentData.l = letters;
		maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;
		lineWidths.push(lineWidth);
		if(documentData.sz){
			documentData.boxWidth = documentData.sz[0];
			documentData.justifyOffset = 0;
		}else{
			documentData.boxWidth = maxLineWidth;
			switch(documentData.j){
				case 1:
					documentData.justifyOffset = - documentData.boxWidth;
					break;
				case 2:
					documentData.justifyOffset = - documentData.boxWidth/2;
					break;
				default:
					documentData.justifyOffset = 0;
			}
		}
		documentData.lineWidths = lineWidths;

		var animators = data.a, animatorData, letterData;
		jLen = animators.length;
		var based, ind, indexes = [];
		for(j=0;j<jLen;j+=1){
			animatorData = animators[j];
			if(animatorData.a.sc){
				documentData.strokeColorAnim = true;
			}
			if(animatorData.a.sw){
				documentData.strokeWidthAnim = true;
			}
			if(animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb){
				documentData.fillColorAnim = true;
			}
			ind = 0;
			based = animatorData.s.b;
			for(i=0;i<len;i+=1){
				letterData = letters[i];
				letterData.anIndexes[j] = ind;
				if((based == 1 && letterData.val !== '') || (based == 2 && letterData.val !== '' && letterData.val !== ' ') || (based == 3 && (letterData.n || letterData.val == ' ' || i == len - 1)) || (based == 4 && (letterData.n || i == len - 1))){
					if(animatorData.s.rn === 1){
						indexes.push(ind);
					}
					ind += 1;
				}
			}
			data.a[j].s.totalChars = ind;
			var currentInd = -1, newInd;
			if(animatorData.s.rn === 1){
				for(i = 0; i < len; i += 1){
					letterData = letters[i];
					if(currentInd != letterData.anIndexes[j]){
						currentInd = letterData.anIndexes[j];
						newInd = indexes.splice(Math.floor(Math.random()*indexes.length),1)[0];
					}
					letterData.anIndexes[j] = newInd;
				}
			}
		}
		documentData.yOffset = documentData.finalLineHeight || documentData.finalSize*1.2;
		documentData.ls = documentData.ls || 0;
		documentData.ascent = fontData.ascent*documentData.finalSize/100;
	};

	TextProperty.prototype.updateDocumentData = function(newData, index) {
		index = index === undefined ? this.keysIndex : index;
		var dData = this.copyData({}, this.data.d.k[index].s);
		dData = this.copyData(dData, newData);
		this.data.d.k[index].s = dData;
		this.recalculate(index);
		this.elem.addDynamicProperty(this);
	};

	TextProperty.prototype.recalculate = function(index) {
		var dData = this.data.d.k[index].s;
		dData.__complete = false;
		this.keysIndex = 0;
		this._isFirstFrame = true;
		this.getValue(dData);
	}

	TextProperty.prototype.canResizeFont = function(_canResize) {
		this.canResize = _canResize;
		this.recalculate(this.keysIndex);
		this.elem.addDynamicProperty(this);
	};

	TextProperty.prototype.setMinimumFontSize = function(_fontValue) {
		this.minimumFontSize = Math.floor(_fontValue) || 1;
		this.recalculate(this.keysIndex);
		this.elem.addDynamicProperty(this);
	};

	var TextSelectorProp = (function(){
		var max = Math.max;
		var min = Math.min;
		var floor = Math.floor;

		function TextSelectorProp(elem,data){
			this._currentTextLength = -1;
			this.k = false;
			this.data = data;
			this.elem = elem;
			this.comp = elem.comp;
			this.finalS = 0;
			this.finalE = 0;
			this.initDynamicPropertyContainer(elem);
			this.s = PropertyFactory.getProp(elem,data.s || {k:0},0,0,this);
			if('e' in data){
				this.e = PropertyFactory.getProp(elem,data.e,0,0,this);
			}else{
				this.e = {v:100};
			}
			this.o = PropertyFactory.getProp(elem,data.o || {k:0},0,0,this);
			this.xe = PropertyFactory.getProp(elem,data.xe || {k:0},0,0,this);
			this.ne = PropertyFactory.getProp(elem,data.ne || {k:0},0,0,this);
			this.a = PropertyFactory.getProp(elem,data.a,0,0.01,this);
			if(!this.dynamicProperties.length){
				this.getValue();
			}
		}

		TextSelectorProp.prototype = {
			getMult: function(ind) {
				if(this._currentTextLength !== this.elem.textProperty.currentData.l.length) {
					this.getValue();
				}
				//var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);
				var x1 = 0;
				var y1 = 0;
				var x2 = 1;
				var y2 = 1;
				if(this.ne.v > 0) {
					x1 = this.ne.v / 100.0;
				}
				else {
					y1 = -this.ne.v / 100.0;
				}
				if(this.xe.v > 0) {
					x2 = 1.0 - this.xe.v / 100.0;
				}
				else {
					y2 = 1.0 + this.xe.v / 100.0;
				}
				var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;

				var mult = 0;
				var s = this.finalS;
				var e = this.finalE;
				var type = this.data.sh;
				if (type === 2){
					if (e === s) {
						mult = ind >= e ? 1 : 0;
					} else {
						mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));
					}
					mult = easer(mult);
				} else if(type === 3) {
					if (e === s) {
						mult = ind >= e ? 0 : 1;
					}else{
						mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s),1));
					}

					mult = easer(mult);
				} else if (type === 4) {
					if (e === s) {
						mult = 0;
					} else {
						mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));
						if (mult < 0.5) {
							mult *= 2;
						} else {
							mult = 1 - 2 * (mult - 0.5);
						}
					}
					mult = easer(mult);
				} else if (type === 5) {
					if (e === s){
						mult = 0;
					} else {
						var tot = e - s;
						/*ind += 0.5;
                    mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind;*/
						ind = min(max(0, ind + 0.5 - s), e - s);
						var x = -tot/2+ind;
						var a = tot/2;
						mult = Math.sqrt(1 - (x * x) / (a * a));
					}
					mult = easer(mult);
				} else if (type === 6) {
					if (e === s){
						mult = 0;
					} else {
						ind = min(max(0, ind + 0.5 - s), e - s);
						mult = (1 + (Math.cos((Math.PI + Math.PI * 2 * (ind) / (e - s))))) / 2;
					}
					mult = easer(mult);
				} else {
					if (ind >= floor(s)) {
						if (ind - s < 0) {
							mult = max(0, min(min(e, 1) - (s - ind), 1));
						} else {
							mult = max(0, min(e - ind, 1));
						}
					}
					mult = easer(mult);
				}
				return mult*this.a.v;
			},
			getValue: function(newCharsFlag) {
				this.iterateDynamicProperties();
				this._mdf = newCharsFlag || this._mdf;
				this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;
				if(newCharsFlag && this.data.r === 2) {
					this.e.v = this._currentTextLength;
				}
				var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;
				var o = this.o.v/divisor;
				var s = this.s.v/divisor + o;
				var e = (this.e.v/divisor) + o;
				if(s>e){
					var _s = s;
					s = e;
					e = _s;
				}
				this.finalS = s;
				this.finalE = e;
			}
		}
		extendPrototype([DynamicPropertyContainer], TextSelectorProp);

		function getTextSelectorProp(elem, data,arr) {
			return new TextSelectorProp(elem, data, arr);
		}

		return {
			getTextSelectorProp: getTextSelectorProp
		};
	}());


	var pool_factory = (function() {
		return function(initialLength, _create, _release, _clone) {

			var _length = 0;
			var _maxLength = initialLength;
			var pool = createSizedArray(_maxLength);

			var ob = {
				newElement: newElement,
				release: release
			};

			function newElement(){
				var element;
				if(_length){
					_length -= 1;
					element = pool[_length];
				} else {
					element = _create();
				}
				return element;
			}

			function release(element) {
				if(_length === _maxLength) {
					pool = pooling.double(pool);
					_maxLength = _maxLength*2;
				}
				if (_release) {
					_release(element);
				}
				pool[_length] = element;
				_length += 1;
			}

			function clone() {
				var clonedElement = newElement();
				return _clone(clonedElement);
			}

			return ob;
		};
	}());

	var pooling = (function(){

		function double(arr){
			return arr.concat(createSizedArray(arr.length));
		}

		return {
			double: double
		};
	}());
	var point_pool = (function(){

		function create() {
			return createTypedArray('float32', 2);
		}
		return pool_factory(8, create);
	}());
	var shape_pool = (function(){

		function create() {
			return new ShapePath();
		}

		function release(shapePath) {
			var len = shapePath._length, i;
			for(i = 0; i < len; i += 1) {
				point_pool.release(shapePath.v[i]);
				point_pool.release(shapePath.i[i]);
				point_pool.release(shapePath.o[i]);
				shapePath.v[i] = null;
				shapePath.i[i] = null;
				shapePath.o[i] = null;
			}
			shapePath._length = 0;
			shapePath.c = false;
		}

		function clone(shape) {
			var cloned = factory.newElement();
			var i, len = shape._length === undefined ? shape.v.length : shape._length;
			cloned.setLength(len);
			cloned.c = shape.c;
			var pt;

			for(i = 0; i < len; i += 1) {
				cloned.setTripleAt(shape.v[i][0],shape.v[i][1],shape.o[i][0],shape.o[i][1],shape.i[i][0],shape.i[i][1], i);
			}
			return cloned;
		}

		var factory = pool_factory(4, create, release);
		factory.clone = clone;

		return factory;
	}());
	var shapeCollection_pool = (function(){
		var ob = {
			newShapeCollection: newShapeCollection,
			release: release
		};

		var _length = 0;
		var _maxLength = 4;
		var pool = createSizedArray(_maxLength);

		function newShapeCollection(){
			var shapeCollection;
			if(_length){
				_length -= 1;
				shapeCollection = pool[_length];
			} else {
				shapeCollection = new ShapeCollection();
			}
			return shapeCollection;
		}

		function release(shapeCollection) {
			var i, len = shapeCollection._length;
			for(i = 0; i < len; i += 1) {
				shape_pool.release(shapeCollection.shapes[i]);
			}
			shapeCollection._length = 0;

			if(_length === _maxLength) {
				pool = pooling.double(pool);
				_maxLength = _maxLength*2;
			}
			pool[_length] = shapeCollection;
			_length += 1;
		}

		return ob;
	}());
	var segments_length_pool = (function(){

		function create() {
			return {
				lengths: [],
				totalLength: 0
			};
		}

		function release(element) {
			var i, len = element.lengths.length;
			for(i=0;i<len;i+=1) {
				bezier_length_pool.release(element.lengths[i]);
			}
			element.lengths.length = 0;
		}

		return pool_factory(8, create, release);
	}());
	var bezier_length_pool = (function(){

		function create() {
			return {
				addedLength: 0,
				percents: createTypedArray('float32', defaultCurveSegments),
				lengths: createTypedArray('float32', defaultCurveSegments),
			};
		}
		return pool_factory(8, create);
	}());
	function BaseRenderer(){}
	BaseRenderer.prototype.checkLayers = function(num){
		var i, len = this.layers.length, data;
		this.completeLayers = true;
		for (i = len - 1; i >= 0; i--) {
			if (!this.elements[i]) {
				data = this.layers[i];
				if(data.ip - data.st <= (num - this.layers[i].st) && data.op - data.st > (num - this.layers[i].st))
				{
					this.buildItem(i);
				}
			}
			this.completeLayers = this.elements[i] ? this.completeLayers:false;
		}
		this.checkPendingElements();
	};

	BaseRenderer.prototype.createItem = function(layer){
		switch(layer.ty){
			case 2:
				return this.createImage(layer);
			case 0:
				return this.createComp(layer);
			case 1:
				return this.createSolid(layer);
			case 3:
				return this.createNull(layer);
			case 4:
				return this.createShape(layer);
			case 5:
				return this.createText(layer);
			case 13:
				return this.createCamera(layer);
		}
		return this.createNull(layer);
	};

	BaseRenderer.prototype.createCamera = function(){
		throw new Error('You\'re using a 3d camera. Try the html renderer.');
	};

	BaseRenderer.prototype.buildAllItems = function(){
		var i, len = this.layers.length;
		for(i=0;i<len;i+=1){
			this.buildItem(i);
		}
		this.checkPendingElements();
	};

	BaseRenderer.prototype.includeLayers = function(newLayers){
		this.completeLayers = false;
		var i, len = newLayers.length;
		var j, jLen = this.layers.length;
		for(i=0;i<len;i+=1){
			j = 0;
			while(j<jLen){
				if(this.layers[j].id == newLayers[i].id){
					this.layers[j] = newLayers[i];
					break;
				}
				j += 1;
			}
		}
	};

	BaseRenderer.prototype.setProjectInterface = function(pInterface){
		this.globalData.projectInterface = pInterface;
	};

	BaseRenderer.prototype.initItems = function(){
		if(!this.globalData.progressiveLoad){
			this.buildAllItems();
		}
	};
	BaseRenderer.prototype.buildElementParenting = function(element, parentName, hierarchy) {
		var elements = this.elements;
		var layers = this.layers;
		var i=0, len = layers.length;
		while (i < len) {
			if (layers[i].ind == parentName) {
				if (!elements[i] || elements[i] === true) {
					this.buildItem(i);
					this.addPendingElement(element);
				} else {
					hierarchy.push(elements[i]);
					elements[i].setAsParent();
					if(layers[i].parent !== undefined) {
						this.buildElementParenting(element, layers[i].parent, hierarchy);
					} else {
						element.setHierarchy(hierarchy);
					}
				}
			}
			i += 1;
		}
	};

	BaseRenderer.prototype.addPendingElement = function(element){
		this.pendingElements.push(element);
	};

	BaseRenderer.prototype.searchExtraCompositions = function(assets){
		var i, len = assets.length;
		for(i=0;i<len;i+=1){
			if(assets[i].xt){
				var comp = this.createComp(assets[i]);
				comp.initExpressions();
				this.globalData.projectInterface.registerComposition(comp);
			}
		}
	};

	BaseRenderer.prototype.setupGlobalData = function(animData, fontsContainer) {
		this.globalData.fontManager = new FontManager();
		this.globalData.fontManager.addChars(animData.chars);
		this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);
		this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);
		this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);
		this.globalData.imageLoader = this.animationItem.imagePreloader;
		this.globalData.frameId = 0;
		this.globalData.frameRate = animData.fr;
		this.globalData.nm = animData.nm;
		this.globalData.compSize = {
			w: animData.w,
			h: animData.h
		}
	}
	function SVGRenderer(animationItem, config){
		this.animationItem = animationItem;
		this.layers = null;
		this.renderedFrame = -1;
		this.svgElement = createNS('svg');
		var ariaLabel = '';
		if (config && config.title) {
			var titleElement = createNS('title');
			var titleId = createElementID();
			titleElement.setAttribute('id', titleId);
			titleElement.textContent = config.title;
			this.svgElement.appendChild(titleElement);
			ariaLabel += titleId;
		}
		if (config && config.description) {
			var descElement = createNS('desc');
			var descId = createElementID();
			descElement.setAttribute('id', descId);
			descElement.textContent = config.description;
			this.svgElement.appendChild(descElement);
			ariaLabel += ' ' + descId;
		}
		if (ariaLabel) {
			this.svgElement.setAttribute('aria-labelledby', ariaLabel)
		}
		var defs = createNS( 'defs');
		this.svgElement.appendChild(defs);
		var maskElement = createNS('g');
		this.svgElement.appendChild(maskElement);
		this.layerElement = maskElement;
		this.renderConfig = {
			preserveAspectRatio: (config && config.preserveAspectRatio) || 'xMidYMid meet',
			imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',
			progressiveLoad: (config && config.progressiveLoad) || false,
			hideOnTransparent: (config && config.hideOnTransparent === false) ? false : true,
			viewBoxOnly: (config && config.viewBoxOnly) || false,
			viewBoxSize: (config && config.viewBoxSize) || false,
			className: (config && config.className) || '',
			id: (config && config.id) || '',
			focusable: config && config.focusable,
			filterSize: {
				width: config && config.filterSize && config.filterSize.width || '100%',
				height: config && config.filterSize && config.filterSize.height || '100%',
				x: config && config.filterSize && config.filterSize.x || '0%',
				y: config && config.filterSize && config.filterSize.y || '0%',
			}
		};

		this.globalData = {
			_mdf: false,
			frameNum: -1,
			defs: defs,
			renderConfig: this.renderConfig
		};
		this.elements = [];
		this.pendingElements = [];
		this.destroyed = false;
		this.rendererType = 'svg';

	}

	extendPrototype([BaseRenderer],SVGRenderer);

	SVGRenderer.prototype.createNull = function (data) {
		return new NullElement(data,this.globalData,this);
	};

	SVGRenderer.prototype.createShape = function (data) {
		return new SVGShapeElement(data,this.globalData,this);
	};

	SVGRenderer.prototype.createText = function (data) {
		return new SVGTextElement(data,this.globalData,this);

	};

	SVGRenderer.prototype.createImage = function (data) {
		return new IImageElement(data,this.globalData,this);
	};

	SVGRenderer.prototype.createComp = function (data) {
		return new SVGCompElement(data,this.globalData,this);

	};

	SVGRenderer.prototype.createSolid = function (data) {
		return new ISolidElement(data,this.globalData,this);
	};

	SVGRenderer.prototype.configAnimation = function(animData){
		this.svgElement.setAttribute('xmlns','http://www.w3.org/2000/svg');
		if(this.renderConfig.viewBoxSize) {
			this.svgElement.setAttribute('viewBox',this.renderConfig.viewBoxSize);
		} else {
			this.svgElement.setAttribute('viewBox','0 0 '+animData.w+' '+animData.h);
		}

		if(!this.renderConfig.viewBoxOnly) {
			this.svgElement.setAttribute('width',animData.w);
			this.svgElement.setAttribute('height',animData.h);
			this.svgElement.style.width = '100%';
			this.svgElement.style.height = '100%';
			this.svgElement.style.transform = 'translate3d(0,0,0)';
		}
		if (this.renderConfig.className) {
			this.svgElement.setAttribute('class', this.renderConfig.className);
		}
		if (this.renderConfig.id) {
			this.svgElement.setAttribute('id', this.renderConfig.id);
		}
		if (this.renderConfig.focusable !== undefined) {
			this.svgElement.setAttribute('focusable', this.renderConfig.focusable);
		}
		this.svgElement.setAttribute('preserveAspectRatio',this.renderConfig.preserveAspectRatio);
		//this.layerElement.style.transform = 'translate3d(0,0,0)';
		//this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = "0px 0px 0px";
		this.animationItem.wrapper.appendChild(this.svgElement);
		//Mask animation
		var defs = this.globalData.defs;

		this.setupGlobalData(animData, defs);
		this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;
		this.data = animData;

		var maskElement = createNS( 'clipPath');
		var rect = createNS('rect');
		rect.setAttribute('width',animData.w);
		rect.setAttribute('height',animData.h);
		rect.setAttribute('x',0);
		rect.setAttribute('y',0);
		var maskId = createElementID();
		maskElement.setAttribute('id', maskId);
		maskElement.appendChild(rect);
		this.layerElement.setAttribute("clip-path", "url(" + locationHref + "#"+maskId+")");

		defs.appendChild(maskElement);
		this.layers = animData.layers;
		this.elements = createSizedArray(animData.layers.length);
	};


	SVGRenderer.prototype.destroy = function () {
		this.animationItem.wrapper.innerHTML = '';
		this.layerElement = null;
		this.globalData.defs = null;
		var i, len = this.layers ? this.layers.length : 0;
		for (i = 0; i < len; i++) {
			if(this.elements[i]){
				this.elements[i].destroy();
			}
		}
		this.elements.length = 0;
		this.destroyed = true;
		this.animationItem = null;
	};

	SVGRenderer.prototype.updateContainerSize = function () {
	};

	SVGRenderer.prototype.buildItem  = function(pos){
		var elements = this.elements;
		if(elements[pos] || this.layers[pos].ty == 99){
			return;
		}
		elements[pos] = true;
		var element = this.createItem(this.layers[pos]);

		elements[pos] = element;
		if(expressionsPlugin){
			if(this.layers[pos].ty === 0){
				this.globalData.projectInterface.registerComposition(element);
			}
			element.initExpressions();
		}
		this.appendElementInPos(element,pos);
		if(this.layers[pos].tt){
			if(!this.elements[pos - 1] || this.elements[pos - 1] === true){
				this.buildItem(pos - 1);
				this.addPendingElement(element);
			} else {
				element.setMatte(elements[pos - 1].layerId);
			}
		}
	};

	SVGRenderer.prototype.checkPendingElements  = function(){
		while(this.pendingElements.length){
			var element = this.pendingElements.pop();
			element.checkParenting();
			if(element.data.tt){
				var i = 0, len = this.elements.length;
				while(i<len){
					if(this.elements[i] === element){
						element.setMatte(this.elements[i - 1].layerId);
						break;
					}
					i += 1;
				}
			}
		}
	};

	SVGRenderer.prototype.renderFrame = function(num){
		if(this.renderedFrame === num || this.destroyed){
			return;
		}
		if(num === null){
			num = this.renderedFrame;
		}else{
			this.renderedFrame = num;
		}
		// console.log('-------');
		// console.log('FRAME ',num);
		this.globalData.frameNum = num;
		this.globalData.frameId += 1;
		this.globalData.projectInterface.currentFrame = num;
		this.globalData._mdf = false;
		var i, len = this.layers.length;
		if(!this.completeLayers){
			this.checkLayers(num);
		}
		for (i = len - 1; i >= 0; i--) {
			if(this.completeLayers || this.elements[i]){
				this.elements[i].prepareFrame(num - this.layers[i].st);
			}
		}
		if(this.globalData._mdf) {
			for (i = 0; i < len; i += 1) {
				if(this.completeLayers || this.elements[i]){
					this.elements[i].renderFrame();
				}
			}
		}
	};

	SVGRenderer.prototype.appendElementInPos = function(element, pos){
		var newElement = element.getBaseElement();
		if(!newElement){
			return;
		}
		var i = 0;
		var nextElement;
		while(i<pos){
			if(this.elements[i] && this.elements[i]!== true && this.elements[i].getBaseElement()){
				nextElement = this.elements[i].getBaseElement();
			}
			i += 1;
		}
		if(nextElement){
			this.layerElement.insertBefore(newElement, nextElement);
		} else {
			this.layerElement.appendChild(newElement);
		}
	};

	SVGRenderer.prototype.hide = function(){
		this.layerElement.style.display = 'none';
	};

	SVGRenderer.prototype.show = function(){
		this.layerElement.style.display = 'block';
	};

	function CanvasRenderer(animationItem, config){
		this.animationItem = animationItem;
		this.renderConfig = {
			clearCanvas: (config && config.clearCanvas !== undefined) ? config.clearCanvas : true,
			context: (config && config.context) || null,
			progressiveLoad: (config && config.progressiveLoad) || false,
			preserveAspectRatio: (config && config.preserveAspectRatio) || 'xMidYMid meet',
			imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',
			className: (config && config.className) || '',
			id: (config && config.id) || '',
		};
		this.renderConfig.dpr = (config && config.dpr) || 1;
		if (this.animationItem.wrapper) {
			this.renderConfig.dpr = (config && config.dpr) || window.devicePixelRatio || 1;
		}
		this.renderedFrame = -1;
		this.globalData = {
			frameNum: -1,
			_mdf: false,
			renderConfig: this.renderConfig,
			currentGlobalAlpha: -1
		};
		this.contextData = new CVContextData();
		this.elements = [];
		this.pendingElements = [];
		this.transformMat = new Matrix();
		this.completeLayers = false;
		this.rendererType = 'canvas';
	}
	extendPrototype([BaseRenderer],CanvasRenderer);

	CanvasRenderer.prototype.createShape = function (data) {
		return new CVShapeElement(data, this.globalData, this);
	};

	CanvasRenderer.prototype.createText = function (data) {
		return new CVTextElement(data, this.globalData, this);
	};

	CanvasRenderer.prototype.createImage = function (data) {
		return new CVImageElement(data, this.globalData, this);
	};

	CanvasRenderer.prototype.createComp = function (data) {
		return new CVCompElement(data, this.globalData, this);
	};

	CanvasRenderer.prototype.createSolid = function (data) {
		return new CVSolidElement(data, this.globalData, this);
	};

	CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull;

	CanvasRenderer.prototype.ctxTransform = function(props){
		if(props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0){
			return;
		}
		if(!this.renderConfig.clearCanvas){
			this.canvasContext.transform(props[0],props[1],props[4],props[5],props[12],props[13]);
			return;
		}
		this.transformMat.cloneFromProps(props);
		var cProps = this.contextData.cTr.props;
		this.transformMat.transform(cProps[0],cProps[1],cProps[2],cProps[3],cProps[4],cProps[5],cProps[6],cProps[7],cProps[8],cProps[9],cProps[10],cProps[11],cProps[12],cProps[13],cProps[14],cProps[15]);
		//this.contextData.cTr.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);
		this.contextData.cTr.cloneFromProps(this.transformMat.props);
		var trProps = this.contextData.cTr.props;
		this.canvasContext.setTransform(trProps[0],trProps[1],trProps[4],trProps[5],trProps[12],trProps[13]);
	};

	CanvasRenderer.prototype.ctxOpacity = function(op){
		/*if(op === 1){
        return;
    }*/
		if(!this.renderConfig.clearCanvas){
			this.canvasContext.globalAlpha *= op < 0 ? 0 : op;
			this.globalData.currentGlobalAlpha = this.contextData.cO;
			return;
		}
		this.contextData.cO *= op < 0 ? 0 : op;
		if(this.globalData.currentGlobalAlpha !== this.contextData.cO) {
			this.canvasContext.globalAlpha = this.contextData.cO;
			this.globalData.currentGlobalAlpha = this.contextData.cO;
		}
	};

	CanvasRenderer.prototype.reset = function(){
		if(!this.renderConfig.clearCanvas){
			this.canvasContext.restore();
			return;
		}
		this.contextData.reset();
	};

	CanvasRenderer.prototype.save = function(actionFlag){
		if(!this.renderConfig.clearCanvas){
			this.canvasContext.save();
			return;
		}
		if(actionFlag){
			this.canvasContext.save();
		}
		var props = this.contextData.cTr.props;
		if(this.contextData._length <= this.contextData.cArrPos) {
			this.contextData.duplicate();
		}
		var i, arr = this.contextData.saved[this.contextData.cArrPos];
		for (i = 0; i < 16; i += 1) {
			arr[i] = props[i];
		}
		this.contextData.savedOp[this.contextData.cArrPos] = this.contextData.cO;
		this.contextData.cArrPos += 1;
	};

	CanvasRenderer.prototype.restore = function(actionFlag){
		if(!this.renderConfig.clearCanvas){
			this.canvasContext.restore();
			return;
		}
		if(actionFlag){
			this.canvasContext.restore();
			this.globalData.blendMode = 'source-over';
		}
		this.contextData.cArrPos -= 1;
		var popped = this.contextData.saved[this.contextData.cArrPos];
		var i,arr = this.contextData.cTr.props;
		for(i=0;i<16;i+=1){
			arr[i] = popped[i];
		}
		this.canvasContext.setTransform(popped[0],popped[1],popped[4],popped[5],popped[12],popped[13]);
		popped = this.contextData.savedOp[this.contextData.cArrPos];
		this.contextData.cO = popped;
		if(this.globalData.currentGlobalAlpha !== popped) {
			this.canvasContext.globalAlpha = popped;
			this.globalData.currentGlobalAlpha = popped;
		}
	};

	CanvasRenderer.prototype.configAnimation = function(animData){
		if(this.animationItem.wrapper){
			this.animationItem.container = createTag('canvas');
			this.animationItem.container.style.width = '100%';
			this.animationItem.container.style.height = '100%';
			//this.animationItem.container.style.transform = 'translate3d(0,0,0)';
			//this.animationItem.container.style.webkitTransform = 'translate3d(0,0,0)';
			this.animationItem.container.style.transformOrigin = this.animationItem.container.style.mozTransformOrigin = this.animationItem.container.style.webkitTransformOrigin = this.animationItem.container.style['-webkit-transform'] = "0px 0px 0px";
			this.animationItem.wrapper.appendChild(this.animationItem.container);
			this.canvasContext = this.animationItem.container.getContext('2d');
			if(this.renderConfig.className) {
				this.animationItem.container.setAttribute('class', this.renderConfig.className);
			}
			if(this.renderConfig.id) {
				this.animationItem.container.setAttribute('id', this.renderConfig.id);
			}
		}else{
			this.canvasContext = this.renderConfig.context;
		}
		this.data = animData;
		this.layers = animData.layers;
		this.transformCanvas = {
			w: animData.w,
			h:animData.h,
			sx:0,
			sy:0,
			tx:0,
			ty:0
		};
		this.setupGlobalData(animData, document.body);
		this.globalData.canvasContext = this.canvasContext;
		this.globalData.renderer = this;
		this.globalData.isDashed = false;
		this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;
		this.globalData.transformCanvas = this.transformCanvas;
		this.elements = createSizedArray(animData.layers.length);

		this.updateContainerSize();
	};

	CanvasRenderer.prototype.updateContainerSize = function () {
		this.reset();
		var elementWidth,elementHeight;
		if(this.animationItem.wrapper && this.animationItem.container){
			elementWidth = this.animationItem.wrapper.offsetWidth;
			elementHeight = this.animationItem.wrapper.offsetHeight;
			this.animationItem.container.setAttribute('width',elementWidth * this.renderConfig.dpr );
			this.animationItem.container.setAttribute('height',elementHeight * this.renderConfig.dpr);
		}else{
			elementWidth = this.canvasContext.canvas.width * this.renderConfig.dpr;
			elementHeight = this.canvasContext.canvas.height * this.renderConfig.dpr;
		}
		var elementRel,animationRel;
		if(this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1){
			var par = this.renderConfig.preserveAspectRatio.split(' ');
			var fillType = par[1] || 'meet';
			var pos = par[0] || 'xMidYMid';
			var xPos = pos.substr(0,4);
			var yPos = pos.substr(4);
			elementRel = elementWidth/elementHeight;
			animationRel = this.transformCanvas.w/this.transformCanvas.h;
			if(animationRel>elementRel && fillType === 'meet' || animationRel<elementRel && fillType === 'slice'){
				this.transformCanvas.sx = elementWidth/(this.transformCanvas.w/this.renderConfig.dpr);
				this.transformCanvas.sy = elementWidth/(this.transformCanvas.w/this.renderConfig.dpr);
			}else{
				this.transformCanvas.sx = elementHeight/(this.transformCanvas.h / this.renderConfig.dpr);
				this.transformCanvas.sy = elementHeight/(this.transformCanvas.h / this.renderConfig.dpr);
			}

			if(xPos === 'xMid' && ((animationRel<elementRel && fillType==='meet') || (animationRel>elementRel && fillType === 'slice'))){
				this.transformCanvas.tx = (elementWidth-this.transformCanvas.w*(elementHeight/this.transformCanvas.h))/2*this.renderConfig.dpr;
			} else if(xPos === 'xMax' && ((animationRel<elementRel && fillType==='meet') || (animationRel>elementRel && fillType === 'slice'))){
				this.transformCanvas.tx = (elementWidth-this.transformCanvas.w*(elementHeight/this.transformCanvas.h))*this.renderConfig.dpr;
			} else {
				this.transformCanvas.tx = 0;
			}
			if(yPos === 'YMid' && ((animationRel>elementRel && fillType==='meet') || (animationRel<elementRel && fillType === 'slice'))){
				this.transformCanvas.ty = ((elementHeight-this.transformCanvas.h*(elementWidth/this.transformCanvas.w))/2)*this.renderConfig.dpr;
			} else if(yPos === 'YMax' && ((animationRel>elementRel && fillType==='meet') || (animationRel<elementRel && fillType === 'slice'))){
				this.transformCanvas.ty = ((elementHeight-this.transformCanvas.h*(elementWidth/this.transformCanvas.w)))*this.renderConfig.dpr;
			} else {
				this.transformCanvas.ty = 0;
			}

		}else if(this.renderConfig.preserveAspectRatio == 'none'){
			this.transformCanvas.sx = elementWidth/(this.transformCanvas.w/this.renderConfig.dpr);
			this.transformCanvas.sy = elementHeight/(this.transformCanvas.h/this.renderConfig.dpr);
			this.transformCanvas.tx = 0;
			this.transformCanvas.ty = 0;
		}else{
			this.transformCanvas.sx = this.renderConfig.dpr;
			this.transformCanvas.sy = this.renderConfig.dpr;
			this.transformCanvas.tx = 0;
			this.transformCanvas.ty = 0;
		}
		this.transformCanvas.props = [this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1];
		/*var i, len = this.elements.length;
    for(i=0;i<len;i+=1){
        if(this.elements[i] && this.elements[i].data.ty === 0){
            this.elements[i].resize(this.globalData.transformCanvas);
        }
    }*/
		this.ctxTransform(this.transformCanvas.props);
		this.canvasContext.beginPath();
		this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h);
		this.canvasContext.closePath();
		this.canvasContext.clip();

		this.renderFrame(this.renderedFrame, true);
	};

	CanvasRenderer.prototype.destroy = function () {
		if(this.renderConfig.clearCanvas) {
			this.animationItem.wrapper.innerHTML = '';
		}
		var i, len = this.layers ? this.layers.length : 0;
		for (i = len - 1; i >= 0; i-=1) {
			if(this.elements[i]) {
				this.elements[i].destroy();
			}
		}
		this.elements.length = 0;
		this.globalData.canvasContext = null;
		this.animationItem.container = null;
		this.destroyed = true;
	};

	CanvasRenderer.prototype.renderFrame = function(num, forceRender){
		if((this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender) || this.destroyed || num === -1){
			return;
		}
		this.renderedFrame = num;
		this.globalData.frameNum = num - this.animationItem._isFirstFrame;
		this.globalData.frameId += 1;
		this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;
		this.globalData.projectInterface.currentFrame = num;

		// console.log('--------');
		// console.log('NEW: ',num);
		var i, len = this.layers.length;
		if(!this.completeLayers){
			this.checkLayers(num);
		}

		for (i = 0; i < len; i++) {
			if(this.completeLayers || this.elements[i]){
				this.elements[i].prepareFrame(num - this.layers[i].st);
			}
		}
		if(this.globalData._mdf) {
			if(this.renderConfig.clearCanvas === true){
				this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);
			}else{
				this.save();
			}
			for (i = len - 1; i >= 0; i-=1) {
				if(this.completeLayers || this.elements[i]){
					this.elements[i].renderFrame();
				}
			}
			if(this.renderConfig.clearCanvas !== true){
				this.restore();
			}
		}
	};

	CanvasRenderer.prototype.buildItem = function(pos){
		var elements = this.elements;
		if(elements[pos] || this.layers[pos].ty == 99){
			return;
		}
		var element = this.createItem(this.layers[pos], this,this.globalData);
		elements[pos] = element;
		element.initExpressions();
		/*if(this.layers[pos].ty === 0){
        element.resize(this.globalData.transformCanvas);
    }*/
	};

	CanvasRenderer.prototype.checkPendingElements  = function(){
		while(this.pendingElements.length){
			var element = this.pendingElements.pop();
			element.checkParenting();
		}
	};

	CanvasRenderer.prototype.hide = function(){
		this.animationItem.container.style.display = 'none';
	};

	CanvasRenderer.prototype.show = function(){
		this.animationItem.container.style.display = 'block';
	};

	function HybridRenderer(animationItem, config){
		this.animationItem = animationItem;
		this.layers = null;
		this.renderedFrame = -1;
		this.renderConfig = {
			className: (config && config.className) || '',
			imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',
			hideOnTransparent: (config && config.hideOnTransparent === false) ? false : true,
			filterSize: {
				width: config && config.filterSize && config.filterSize.width || '400%',
				height: config && config.filterSize && config.filterSize.height || '400%',
				x: config && config.filterSize && config.filterSize.x || '-100%',
				y: config && config.filterSize && config.filterSize.y || '-100%',
			}
		};
		this.globalData = {
			_mdf: false,
			frameNum: -1,
			renderConfig: this.renderConfig
		};
		this.pendingElements = [];
		this.elements = [];
		this.threeDElements = [];
		this.destroyed = false;
		this.camera = null;
		this.supports3d = true;
		this.rendererType = 'html';

	}

	extendPrototype([BaseRenderer],HybridRenderer);

	HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;

	HybridRenderer.prototype.checkPendingElements  = function(){
		while(this.pendingElements.length){
			var element = this.pendingElements.pop();
			element.checkParenting();
		}
	};

	HybridRenderer.prototype.appendElementInPos = function(element, pos){
		var newDOMElement = element.getBaseElement();
		if(!newDOMElement){
			return;
		}
		var layer = this.layers[pos];
		if(!layer.ddd || !this.supports3d){
			if(this.threeDElements) {
				this.addTo3dContainer(newDOMElement,pos);
			} else {
				var i = 0;
				var nextDOMElement, nextLayer, tmpDOMElement;
				while(i<pos){
					if(this.elements[i] && this.elements[i]!== true && this.elements[i].getBaseElement){
						nextLayer = this.elements[i];
						tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();
						nextDOMElement = tmpDOMElement || nextDOMElement;
					}
					i += 1;
				}
				if(nextDOMElement){
					if(!layer.ddd || !this.supports3d){
						this.layerElement.insertBefore(newDOMElement, nextDOMElement);
					}
				} else {
					if(!layer.ddd || !this.supports3d){
						this.layerElement.appendChild(newDOMElement);
					}
				}
			}

		} else {
			this.addTo3dContainer(newDOMElement,pos);
		}
	};

	HybridRenderer.prototype.createShape = function (data) {
		if(!this.supports3d){
			return new SVGShapeElement(data, this.globalData, this);
		}
		return new HShapeElement(data, this.globalData, this);
	};

	HybridRenderer.prototype.createText = function (data) {
		if(!this.supports3d){
			return new SVGTextElement(data, this.globalData, this);
		}
		return new HTextElement(data, this.globalData, this);
	};

	HybridRenderer.prototype.createCamera = function (data) {
		this.camera = new HCameraElement(data, this.globalData, this);
		return this.camera;
	};

	HybridRenderer.prototype.createImage = function (data) {
		if(!this.supports3d){
			return new IImageElement(data, this.globalData, this);
		}
		return new HImageElement(data, this.globalData, this);
	};

	HybridRenderer.prototype.createComp = function (data) {
		if(!this.supports3d){
			return new SVGCompElement(data, this.globalData, this);
		}
		return new HCompElement(data, this.globalData, this);

	};

	HybridRenderer.prototype.createSolid = function (data) {
		if(!this.supports3d){
			return new ISolidElement(data, this.globalData, this);
		}
		return new HSolidElement(data, this.globalData, this);
	};

	HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;

	HybridRenderer.prototype.getThreeDContainerByPos = function(pos){
		var i = 0, len = this.threeDElements.length;
		while(i<len) {
			if(this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {
				return this.threeDElements[i].perspectiveElem;
			}
			i += 1;
		}
	};

	HybridRenderer.prototype.createThreeDContainer = function(pos, type){
		var perspectiveElem = createTag('div');
		styleDiv(perspectiveElem);
		var container = createTag('div');
		styleDiv(container);
		if(type === '3d') {
			perspectiveElem.style.width = this.globalData.compSize.w+'px';
			perspectiveElem.style.height = this.globalData.compSize.h+'px';
			perspectiveElem.style.transformOrigin = perspectiveElem.style.mozTransformOrigin = perspectiveElem.style.webkitTransformOrigin = "50% 50%";
			container.style.transform = container.style.webkitTransform = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';
		}

		perspectiveElem.appendChild(container);
		//this.resizerElem.appendChild(perspectiveElem);
		var threeDContainerData = {
			container:container,
			perspectiveElem:perspectiveElem,
			startPos: pos,
			endPos: pos,
			type: type
		};
		this.threeDElements.push(threeDContainerData);
		return threeDContainerData;
	};

	HybridRenderer.prototype.build3dContainers = function(){
		var i, len = this.layers.length;
		var lastThreeDContainerData;
		var currentContainer = '';
		for(i=0;i<len;i+=1){
			if(this.layers[i].ddd && this.layers[i].ty !== 3){
				if(currentContainer !== '3d'){
					currentContainer = '3d';
					lastThreeDContainerData = this.createThreeDContainer(i,'3d');
				}
				lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos,i);
			} else {
				if(currentContainer !== '2d'){
					currentContainer = '2d';
					lastThreeDContainerData = this.createThreeDContainer(i,'2d');
				}
				lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos,i);
			}
		}
		len = this.threeDElements.length;
		for(i = len - 1; i >= 0; i --) {
			this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);
		}
	};

	HybridRenderer.prototype.addTo3dContainer = function(elem,pos){
		var i = 0, len = this.threeDElements.length;
		while(i<len){
			if(pos <= this.threeDElements[i].endPos){
				var j = this.threeDElements[i].startPos;
				var nextElement;
				while(j<pos){
					if(this.elements[j] && this.elements[j].getBaseElement){
						nextElement = this.elements[j].getBaseElement();
					}
					j += 1;
				}
				if(nextElement){
					this.threeDElements[i].container.insertBefore(elem, nextElement);
				} else {
					this.threeDElements[i].container.appendChild(elem);
				}
				break;
			}
			i += 1;
		}
	};

	HybridRenderer.prototype.configAnimation = function(animData){
		var resizerElem = createTag('div');
		var wrapper = this.animationItem.wrapper;
		resizerElem.style.width = animData.w+'px';
		resizerElem.style.height = animData.h+'px';
		this.resizerElem = resizerElem;
		styleDiv(resizerElem);
		resizerElem.style.transformStyle = resizerElem.style.webkitTransformStyle = resizerElem.style.mozTransformStyle = "flat";
		if(this.renderConfig.className) {
			resizerElem.setAttribute('class', this.renderConfig.className);
		}
		wrapper.appendChild(resizerElem);

		resizerElem.style.overflow = 'hidden';
		var svg = createNS('svg');
		svg.setAttribute('width','1');
		svg.setAttribute('height','1');
		styleDiv(svg);
		this.resizerElem.appendChild(svg);
		var defs = createNS('defs');
		svg.appendChild(defs);
		this.data = animData;
		//Mask animation
		this.setupGlobalData(animData, svg);
		this.globalData.defs = defs;
		this.layers = animData.layers;
		this.layerElement = this.resizerElem;
		this.build3dContainers();
		this.updateContainerSize();
	};

	HybridRenderer.prototype.destroy = function () {
		this.animationItem.wrapper.innerHTML = '';
		this.animationItem.container = null;
		this.globalData.defs = null;
		var i, len = this.layers ? this.layers.length : 0;
		for (i = 0; i < len; i++) {
			this.elements[i].destroy();
		}
		this.elements.length = 0;
		this.destroyed = true;
		this.animationItem = null;
	};

	HybridRenderer.prototype.updateContainerSize = function () {
		var elementWidth = this.animationItem.wrapper.offsetWidth;
		var elementHeight = this.animationItem.wrapper.offsetHeight;
		var elementRel = elementWidth/elementHeight;
		var animationRel = this.globalData.compSize.w/this.globalData.compSize.h;
		var sx,sy,tx,ty;
		if(animationRel>elementRel){
			sx = elementWidth/(this.globalData.compSize.w);
			sy = elementWidth/(this.globalData.compSize.w);
			tx = 0;
			ty = ((elementHeight-this.globalData.compSize.h*(elementWidth/this.globalData.compSize.w))/2);
		}else{
			sx = elementHeight/(this.globalData.compSize.h);
			sy = elementHeight/(this.globalData.compSize.h);
			tx = (elementWidth-this.globalData.compSize.w*(elementHeight/this.globalData.compSize.h))/2;
			ty = 0;
		}
		this.resizerElem.style.transform = this.resizerElem.style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,'+sy+',0,0,0,0,1,0,'+tx+','+ty+',0,1)';
	};

	HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;

	HybridRenderer.prototype.hide = function(){
		this.resizerElem.style.display = 'none';
	};

	HybridRenderer.prototype.show = function(){
		this.resizerElem.style.display = 'block';
	};

	HybridRenderer.prototype.initItems = function(){
		this.buildAllItems();
		if(this.camera){
			this.camera.setup();
		} else {
			var cWidth = this.globalData.compSize.w;
			var cHeight = this.globalData.compSize.h;
			var i, len = this.threeDElements.length;
			for(i=0;i<len;i+=1){
				this.threeDElements[i].perspectiveElem.style.perspective = this.threeDElements[i].perspectiveElem.style.webkitPerspective = Math.sqrt(Math.pow(cWidth,2) + Math.pow(cHeight,2)) + 'px';
			}
		}
	};

	HybridRenderer.prototype.searchExtraCompositions = function(assets){
		var i, len = assets.length;
		var floatingContainer = createTag('div');
		for(i=0;i<len;i+=1){
			if(assets[i].xt){
				var comp = this.createComp(assets[i],floatingContainer,this.globalData.comp,null);
				comp.initExpressions();
				this.globalData.projectInterface.registerComposition(comp);
			}
		}
	};

	function MaskElement(data,element,globalData) {
		this.data = data;
		this.element = element;
		this.globalData = globalData;
		this.storedData = [];
		this.masksProperties = this.data.masksProperties || [];
		this.maskElement = null;
		var defs = this.globalData.defs;
		var i, len = this.masksProperties ? this.masksProperties.length : 0;
		this.viewData = createSizedArray(len);
		this.solidPath = '';


		var path, properties = this.masksProperties;
		var count = 0;
		var currentMasks = [];
		var j, jLen;
		var layerId = createElementID();
		var rect, expansor, feMorph,x;
		var maskType = 'clipPath', maskRef = 'clip-path';
		for (i = 0; i < len; i++) {
			if((properties[i].mode !== 'a' && properties[i].mode !== 'n')|| properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x){
				maskType = 'mask';
				maskRef = 'mask';
			}

			if((properties[i].mode == 's' || properties[i].mode == 'i') && count === 0){
				rect = createNS( 'rect');
				rect.setAttribute('fill', '#ffffff');
				rect.setAttribute('width', this.element.comp.data.w || 0);
				rect.setAttribute('height', this.element.comp.data.h || 0);
				currentMasks.push(rect);
			} else {
				rect = null;
			}

			path = createNS( 'path');
			if(properties[i].mode == 'n') {
				// TODO move this to a factory or to a constructor
				this.viewData[i] = {
					op: PropertyFactory.getProp(this.element,properties[i].o,0,0.01,this.element),
					prop: ShapePropertyFactory.getShapeProp(this.element,properties[i],3),
					elem: path,
					lastPath: ''
				};
				defs.appendChild(path);
				continue;
			}
			count += 1;

			path.setAttribute('fill', properties[i].mode === 's' ? '#000000':'#ffffff');
			path.setAttribute('clip-rule','nonzero');
			var filterID;

			if (properties[i].x.k !== 0) {
				maskType = 'mask';
				maskRef = 'mask';
				x = PropertyFactory.getProp(this.element,properties[i].x,0,null,this.element);
				filterID = createElementID();
				expansor = createNS('filter');
				expansor.setAttribute('id',filterID);
				feMorph = createNS('feMorphology');
				feMorph.setAttribute('operator','erode');
				feMorph.setAttribute('in','SourceGraphic');
				feMorph.setAttribute('radius','0');
				expansor.appendChild(feMorph);
				defs.appendChild(expansor);
				path.setAttribute('stroke', properties[i].mode === 's' ? '#000000':'#ffffff');
			} else {
				feMorph = null;
				x = null;
			}

			// TODO move this to a factory or to a constructor
			this.storedData[i] = {
				elem: path,
				x: x,
				expan: feMorph,
				lastPath: '',
				lastOperator:'',
				filterId:filterID,
				lastRadius:0
			};
			if(properties[i].mode == 'i'){
				jLen = currentMasks.length;
				var g = createNS('g');
				for(j=0;j<jLen;j+=1){
					g.appendChild(currentMasks[j]);
				}
				var mask = createNS('mask');
				mask.setAttribute('mask-type','alpha');
				mask.setAttribute('id',layerId+'_'+count);
				mask.appendChild(path);
				defs.appendChild(mask);
				g.setAttribute('mask','url(' + locationHref + '#'+layerId+'_'+count+')');

				currentMasks.length = 0;
				currentMasks.push(g);
			}else{
				currentMasks.push(path);
			}
			if(properties[i].inv && !this.solidPath){
				this.solidPath = this.createLayerSolidPath();
			}
			// TODO move this to a factory or to a constructor
			this.viewData[i] = {
				elem: path,
				lastPath: '',
				op: PropertyFactory.getProp(this.element,properties[i].o,0,0.01,this.element),
				prop:ShapePropertyFactory.getShapeProp(this.element,properties[i],3),
				invRect: rect
			};
			if(!this.viewData[i].prop.k){
				this.drawPath(properties[i],this.viewData[i].prop.v,this.viewData[i]);
			}
		}

		this.maskElement = createNS( maskType);

		len = currentMasks.length;
		for(i=0;i<len;i+=1){
			this.maskElement.appendChild(currentMasks[i]);
		}

		if(count > 0){
			this.maskElement.setAttribute('id', layerId);
			this.element.maskedElement.setAttribute(maskRef, "url(" + locationHref + "#" + layerId + ")");
			defs.appendChild(this.maskElement);
		}
		if (this.viewData.length) {
			this.element.addRenderableComponent(this);
		}

	}

	MaskElement.prototype.getMaskProperty = function(pos){
		return this.viewData[pos].prop;
	};

	MaskElement.prototype.renderFrame = function (isFirstFrame) {
		var finalMat = this.element.finalTransform.mat;
		var i, len = this.masksProperties.length;
		for (i = 0; i < len; i++) {
			if(this.viewData[i].prop._mdf || isFirstFrame){
				this.drawPath(this.masksProperties[i],this.viewData[i].prop.v,this.viewData[i]);
			}
			if(this.viewData[i].op._mdf || isFirstFrame){
				this.viewData[i].elem.setAttribute('fill-opacity',this.viewData[i].op.v);
			}
			if(this.masksProperties[i].mode !== 'n'){
				if(this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)){
					this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS())
				}
				if(this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)){
					var feMorph = this.storedData[i].expan;
					if(this.storedData[i].x.v < 0){
						if(this.storedData[i].lastOperator !== 'erode'){
							this.storedData[i].lastOperator = 'erode';
							this.storedData[i].elem.setAttribute('filter','url(' + locationHref + '#'+this.storedData[i].filterId+')');
						}
						feMorph.setAttribute('radius',-this.storedData[i].x.v);
					}else{
						if(this.storedData[i].lastOperator !== 'dilate'){
							this.storedData[i].lastOperator = 'dilate';
							this.storedData[i].elem.setAttribute('filter',null);
						}
						this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v*2);

					}
				}
			}
		}
	};

	MaskElement.prototype.getMaskelement = function () {
		return this.maskElement;
	};

	MaskElement.prototype.createLayerSolidPath = function(){
		var path = 'M0,0 ';
		path += ' h' + this.globalData.compSize.w ;
		path += ' v' + this.globalData.compSize.h ;
		path += ' h-' + this.globalData.compSize.w ;
		path += ' v-' + this.globalData.compSize.h + ' ';
		return path;
	};

	MaskElement.prototype.drawPath = function(pathData,pathNodes,viewData){
		var pathString = " M"+pathNodes.v[0][0]+','+pathNodes.v[0][1];
		var i, len;
		len = pathNodes._length;
		for(i=1;i<len;i+=1){
			//pathString += " C"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + " "+pathNodes.i[i][0]+','+pathNodes.i[i][1] + " "+pathNodes.v[i][0]+','+pathNodes.v[i][1];
			pathString += " C"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + " "+pathNodes.i[i][0]+','+pathNodes.i[i][1] + " "+pathNodes.v[i][0]+','+pathNodes.v[i][1];
		}
		//pathString += " C"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + " "+pathNodes.i[0][0]+','+pathNodes.i[0][1] + " "+pathNodes.v[0][0]+','+pathNodes.v[0][1];
		if(pathNodes.c && len > 1){
			pathString += " C"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + " "+pathNodes.i[0][0]+','+pathNodes.i[0][1] + " "+pathNodes.v[0][0]+','+pathNodes.v[0][1];
		}
		//pathNodes.__renderedString = pathString;

		if(viewData.lastPath !== pathString){
			var pathShapeValue = '';
			if(viewData.elem){
				if(pathNodes.c){
					pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;
				}
				viewData.elem.setAttribute('d',pathShapeValue);
			}
			viewData.lastPath = pathString;
		}
	};

	MaskElement.prototype.destroy = function(){
		this.element = null;
		this.globalData = null;
		this.maskElement = null;
		this.data = null;
		this.masksProperties = null;
	};

	/**
	 * @file
	 * Handles AE's layer parenting property.
	 *
	 */

	function HierarchyElement(){}

	HierarchyElement.prototype = {
		/**
		 * @function
		 * Initializes hierarchy properties
		 *
		 */
		initHierarchy: function() {
			//element's parent list
			this.hierarchy = [];
			//if element is parent of another layer _isParent will be true
			this._isParent = false;
			this.checkParenting();
		},
		/**
		 * @function
		 * Sets layer's hierarchy.
		 * @param {array} hierarch
		 * layer's parent list
		 *
		 */
		setHierarchy: function(hierarchy){
			this.hierarchy = hierarchy;
		},
		/**
		 * @function
		 * Sets layer as parent.
		 *
		 */
		setAsParent: function() {
			this._isParent = true;
		},
		/**
		 * @function
		 * Searches layer's parenting chain
		 *
		 */
		checkParenting: function(){
			if (this.data.parent !== undefined){
				this.comp.buildElementParenting(this, this.data.parent, []);
			}
		}
	};
	/**
	 * @file
	 * Handles element's layer frame update.
	 * Checks layer in point and out point
	 *
	 */

	function FrameElement(){}

	FrameElement.prototype = {
		/**
		 * @function
		 * Initializes frame related properties.
		 *
		 */
		initFrame: function(){
			//set to true when inpoint is rendered
			this._isFirstFrame = false;
			//list of animated properties
			this.dynamicProperties = [];
			// If layer has been modified in current tick this will be true
			this._mdf = false;
		},
		/**
		 * @function
		 * Calculates all dynamic values
		 *
		 * @param {number} num
		 * current frame number in Layer's time
		 * @param {boolean} isVisible
		 * if layers is currently in range
		 *
		 */
		prepareProperties: function(num, isVisible) {
			var i, len = this.dynamicProperties.length;
			for (i = 0;i < len; i += 1) {
				if (isVisible || (this._isParent && this.dynamicProperties[i].propType === 'transform')) {
					this.dynamicProperties[i].getValue();
					if (this.dynamicProperties[i]._mdf) {
						this.globalData._mdf = true;
						this._mdf = true;
					}
				}
			}
		},
		addDynamicProperty: function(prop) {
			if(this.dynamicProperties.indexOf(prop) === -1) {
				this.dynamicProperties.push(prop);
			}
		}
	};
	function TransformElement(){}

	TransformElement.prototype = {
		initTransform: function() {
			this.finalTransform = {
				mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {o:0},
				_matMdf: false,
				_opMdf: false,
				mat: new Matrix()
			};
			if (this.data.ao) {
				this.finalTransform.mProp.autoOriented = true;
			}

			//TODO: check TYPE 11: Guided elements
			if (this.data.ty !== 11) {
				//this.createElements();
			}
		},
		renderTransform: function() {

			this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;
			this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;

			if (this.hierarchy) {
				var mat;
				var finalMat = this.finalTransform.mat;
				var i = 0, len = this.hierarchy.length;
				//Checking if any of the transformation matrices in the hierarchy chain has changed.
				if (!this.finalTransform._matMdf) {
					while (i < len) {
						if (this.hierarchy[i].finalTransform.mProp._mdf) {
							this.finalTransform._matMdf = true;
							break;
						}
						i += 1;
					}
				}

				if (this.finalTransform._matMdf) {
					mat = this.finalTransform.mProp.v.props;
					finalMat.cloneFromProps(mat);
					for (i = 0; i < len; i += 1) {
						mat = this.hierarchy[i].finalTransform.mProp.v.props;
						finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);
					}
				}
			}
		},
		globalToLocal: function(pt) {
			var transforms = [];
			transforms.push(this.finalTransform);
			var flag = true;
			var comp = this.comp;
			while (flag) {
				if (comp.finalTransform) {
					if (comp.data.hasMask) {
						transforms.splice(0, 0, comp.finalTransform);
					}
					comp = comp.comp;
				} else {
					flag = false;
				}
			}
			var i, len = transforms.length,ptNew;
			for (i = 0; i < len; i += 1) {
				ptNew = transforms[i].mat.applyToPointArray(0, 0, 0);
				//ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);
				pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];
			}
			return pt;
		},
		mHelper: new Matrix()
	};
	function RenderableElement(){

	}

	RenderableElement.prototype = {
		initRenderable: function() {
			//layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange
			this.isInRange = false;
			//layer's display state
			this.hidden = false;
			// If layer's transparency equals 0, it can be hidden
			this.isTransparent = false;
			//list of animated components
			this.renderableComponents = [];
		},
		addRenderableComponent: function(component) {
			if(this.renderableComponents.indexOf(component) === -1) {
				this.renderableComponents.push(component);
			}
		},
		removeRenderableComponent: function(component) {
			if(this.renderableComponents.indexOf(component) !== -1) {
				this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);
			}
		},
		prepareRenderableFrame: function(num) {
			this.checkLayerLimits(num);
		},
		checkTransparency: function(){
			if(this.finalTransform.mProp.o.v <= 0) {
				if(!this.isTransparent && this.globalData.renderConfig.hideOnTransparent){
					this.isTransparent = true;
					this.hide();
				}
			} else if(this.isTransparent) {
				this.isTransparent = false;
				this.show();
			}
		},
		/**
		 * @function
		 * Initializes frame related properties.
		 *
		 * @param {number} num
		 * current frame number in Layer's time
		 *
		 */
		checkLayerLimits: function(num) {
			if(this.data.ip - this.data.st <= num && this.data.op - this.data.st > num)
			{
				if(this.isInRange !== true){
					this.globalData._mdf = true;
					this._mdf = true;
					this.isInRange = true;
					this.show();
				}
			} else {
				if(this.isInRange !== false){
					this.globalData._mdf = true;
					this.isInRange = false;
					this.hide();
				}
			}
		},
		renderRenderable: function() {
			var i, len = this.renderableComponents.length;
			for(i = 0; i < len; i += 1) {
				this.renderableComponents[i].renderFrame(this._isFirstFrame);
			}
			/*this.maskManager.renderFrame(this.finalTransform.mat);
        this.renderableEffectsManager.renderFrame(this._isFirstFrame);*/
		},
		sourceRectAtTime: function(){
			return {
				top:0,
				left:0,
				width:100,
				height:100
			};
		},
		getLayerSize: function(){
			if(this.data.ty === 5){
				return {w:this.data.textData.width,h:this.data.textData.height};
			}else{
				return {w:this.data.width,h:this.data.height};
			}
		}
	};
	function RenderableDOMElement() {}

	(function(){
		var _prototype = {
			initElement: function(data,globalData,comp) {
				this.initFrame();
				this.initBaseData(data, globalData, comp);
				this.initTransform(data, globalData, comp);
				this.initHierarchy();
				this.initRenderable();
				this.initRendererElement();
				this.createContainerElements();
				this.createRenderableComponents();
				this.createContent();
				this.hide();
			},
			hide: function(){
				if (!this.hidden && (!this.isInRange || this.isTransparent)) {
					var elem = this.baseElement || this.layerElement;
					elem.style.display = 'none';
					this.hidden = true;
				}
			},
			show: function(){
				if (this.isInRange && !this.isTransparent){
					if (!this.data.hd) {
						var elem = this.baseElement || this.layerElement;
						elem.style.display = 'block';
					}
					this.hidden = false;
					this._isFirstFrame = true;
				}
			},
			renderFrame: function() {
				//If it is exported as hidden (data.hd === true) no need to render
				//If it is not visible no need to render
				if (this.data.hd || this.hidden) {
					return;
				}
				this.renderTransform();
				this.renderRenderable();
				this.renderElement();
				this.renderInnerContent();
				if (this._isFirstFrame) {
					this._isFirstFrame = false;
				}
			},
			renderInnerContent: function() {},
			prepareFrame: function(num) {
				this._mdf = false;
				this.prepareRenderableFrame(num);
				this.prepareProperties(num, this.isInRange);
				this.checkTransparency();
			},
			destroy: function(){
				this.innerElem =  null;
				this.destroyBaseElement();
			}
		};
		extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);
	}());
	function ProcessedElement(element, position) {
		this.elem = element;
		this.pos = position;
	}
	function SVGStyleData(data, level) {
		this.data = data;
		this.type = data.ty;
		this.d = '';
		this.lvl = level;
		this._mdf = false;
		this.closed = data.hd === true;
		this.pElem = createNS('path');
		this.msElem = null;
	}

	SVGStyleData.prototype.reset = function() {
		this.d = '';
		this._mdf = false;
	};
	function SVGShapeData(transformers, level, shape) {
		this.caches = [];
		this.styles = [];
		this.transformers = transformers;
		this.lStr = '';
		this.sh = shape;
		this.lvl = level;
		//TODO find if there are some cases where _isAnimated can be false.
		// For now, since shapes add up with other shapes. They have to be calculated every time.
		// One way of finding out is checking if all styles associated to this shape depend only of this shape
		this._isAnimated = !!shape.k;
		// TODO: commenting this for now since all shapes are animated
		var i = 0, len = transformers.length;
		while(i < len) {
			if(transformers[i].mProps.dynamicProperties.length) {
				this._isAnimated = true;
				break;
			}
			i += 1;
		}
	}

	SVGShapeData.prototype.setAsAnimated = function() {
		this._isAnimated = true;
	}
	function SVGTransformData(mProps, op, container) {
		this.transform = {
			mProps: mProps,
			op: op,
			container: container
		};
		this.elements = [];
		this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;
	}
	function SVGStrokeStyleData(elem, data, styleOb){
		this.initDynamicPropertyContainer(elem);
		this.getValue = this.iterateDynamicProperties;
		this.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);
		this.w = PropertyFactory.getProp(elem,data.w,0,null,this);
		this.d = new DashProperty(elem,data.d||{},'svg',this);
		this.c = PropertyFactory.getProp(elem,data.c,1,255,this);
		this.style = styleOb;
		this._isAnimated = !!this._isAnimated;
	}

	extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);
	function SVGFillStyleData(elem, data, styleOb){
		this.initDynamicPropertyContainer(elem);
		this.getValue = this.iterateDynamicProperties;
		this.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);
		this.c = PropertyFactory.getProp(elem,data.c,1,255,this);
		this.style = styleOb;
	}

	extendPrototype([DynamicPropertyContainer], SVGFillStyleData);
	function SVGGradientFillStyleData(elem, data, styleOb){
		this.initDynamicPropertyContainer(elem);
		this.getValue = this.iterateDynamicProperties;
		this.initGradientData(elem, data, styleOb);
	}

	SVGGradientFillStyleData.prototype.initGradientData = function(elem, data, styleOb){
		this.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);
		this.s = PropertyFactory.getProp(elem,data.s,1,null,this);
		this.e = PropertyFactory.getProp(elem,data.e,1,null,this);
		this.h = PropertyFactory.getProp(elem,data.h||{k:0},0,0.01,this);
		this.a = PropertyFactory.getProp(elem,data.a||{k:0},0,degToRads,this);
		this.g = new GradientProperty(elem,data.g,this);
		this.style = styleOb;
		this.stops = [];
		this.setGradientData(styleOb.pElem, data);
		this.setGradientOpacity(data, styleOb);
		this._isAnimated = !!this._isAnimated;

	};

	SVGGradientFillStyleData.prototype.setGradientData = function(pathElement,data){

		var gradientId = createElementID();
		var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');
		gfill.setAttribute('id',gradientId);
		gfill.setAttribute('spreadMethod','pad');
		gfill.setAttribute('gradientUnits','userSpaceOnUse');
		var stops = [];
		var stop, j, jLen;
		jLen = data.g.p*4;
		for(j=0;j<jLen;j+=4){
			stop = createNS('stop');
			gfill.appendChild(stop);
			stops.push(stop);
		}
		pathElement.setAttribute( data.ty === 'gf' ? 'fill':'stroke','url(' + locationHref + '#'+gradientId+')');

		this.gf = gfill;
		this.cst = stops;
	};

	SVGGradientFillStyleData.prototype.setGradientOpacity = function(data, styleOb){
		if(this.g._hasOpacity && !this.g._collapsable){
			var stop, j, jLen;
			var mask = createNS("mask");
			var maskElement = createNS( 'path');
			mask.appendChild(maskElement);
			var opacityId = createElementID();
			var maskId = createElementID();
			mask.setAttribute('id',maskId);
			var opFill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');
			opFill.setAttribute('id',opacityId);
			opFill.setAttribute('spreadMethod','pad');
			opFill.setAttribute('gradientUnits','userSpaceOnUse');
			jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;
			var stops = this.stops;
			for(j=data.g.p*4;j<jLen;j+=2){
				stop = createNS('stop');
				stop.setAttribute('stop-color','rgb(255,255,255)');
				opFill.appendChild(stop);
				stops.push(stop);
			}
			maskElement.setAttribute( data.ty === 'gf' ? 'fill':'stroke','url(' + locationHref + '#'+opacityId+')');
			this.of = opFill;
			this.ms = mask;
			this.ost = stops;
			this.maskId = maskId;
			styleOb.msElem = maskElement;
		}
	};

	extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);
	function SVGGradientStrokeStyleData(elem, data, styleOb){
		this.initDynamicPropertyContainer(elem);
		this.getValue = this.iterateDynamicProperties;
		this.w = PropertyFactory.getProp(elem,data.w,0,null,this);
		this.d = new DashProperty(elem,data.d||{},'svg',this);
		this.initGradientData(elem, data, styleOb);
		this._isAnimated = !!this._isAnimated;
	}

	extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);
	function ShapeGroupData() {
		this.it = [];
		this.prevViewData = [];
		this.gr = createNS('g');
	}
	var SVGElementsRenderer = (function() {
		var _identityMatrix = new Matrix();
		var _matrixHelper = new Matrix();

		var ob = {
			createRenderFunction: createRenderFunction
		}

		function createRenderFunction(data) {
			var ty = data.ty;
			switch(data.ty) {
				case 'fl':
					return renderFill;
				case 'gf':
					return renderGradient;
				case 'gs':
					return renderGradientStroke;
				case 'st':
					return renderStroke;
				case 'sh':
				case 'el':
				case 'rc':
				case 'sr':
					return renderPath;
				case 'tr':
					return renderContentTransform;
			}
		}

		function renderContentTransform(styleData, itemData, isFirstFrame) {
			if(isFirstFrame || itemData.transform.op._mdf){
				itemData.transform.container.setAttribute('opacity',itemData.transform.op.v);
			}
			if(isFirstFrame || itemData.transform.mProps._mdf){
				itemData.transform.container.setAttribute('transform',itemData.transform.mProps.v.to2dCSS());
			}
		}

		function renderPath(styleData, itemData, isFirstFrame) {
			var j, jLen,pathStringTransformed,redraw,pathNodes,l, lLen = itemData.styles.length;
			var lvl = itemData.lvl;
			var paths, mat, props, iterations, k;
			for(l=0;l<lLen;l+=1){
				redraw = itemData.sh._mdf || isFirstFrame;
				if(itemData.styles[l].lvl < lvl){
					mat = _matrixHelper.reset();
					iterations = lvl - itemData.styles[l].lvl;
					k = itemData.transformers.length-1;
					while(!redraw && iterations > 0) {
						redraw = itemData.transformers[k].mProps._mdf || redraw;
						iterations --;
						k --;
					}
					if(redraw) {
						iterations = lvl - itemData.styles[l].lvl;
						k = itemData.transformers.length-1;
						while(iterations > 0) {
							props = itemData.transformers[k].mProps.v.props;
							mat.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);
							iterations --;
							k --;
						}
					}
				} else {
					mat = _identityMatrix;
				}
				paths = itemData.sh.paths;
				jLen = paths._length;
				if(redraw){
					pathStringTransformed = '';
					for(j=0;j<jLen;j+=1){
						pathNodes = paths.shapes[j];
						if(pathNodes && pathNodes._length){
							pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);
						}
					}
					itemData.caches[l] = pathStringTransformed;
				} else {
					pathStringTransformed = itemData.caches[l];
				}
				itemData.styles[l].d += styleData.hd === true ? '' : pathStringTransformed;
				itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;
			}
		}

		function renderFill (styleData,itemData, isFirstFrame){
			var styleElem = itemData.style;

			if(itemData.c._mdf || isFirstFrame){
				styleElem.pElem.setAttribute('fill','rgb('+bm_floor(itemData.c.v[0])+','+bm_floor(itemData.c.v[1])+','+bm_floor(itemData.c.v[2])+')');
			}
			if(itemData.o._mdf || isFirstFrame){
				styleElem.pElem.setAttribute('fill-opacity',itemData.o.v);
			}
		};

		function renderGradientStroke (styleData, itemData, isFirstFrame) {
			renderGradient(styleData, itemData, isFirstFrame);
			renderStroke(styleData, itemData, isFirstFrame);
		}

		function renderGradient(styleData, itemData, isFirstFrame) {
			var gfill = itemData.gf;
			var hasOpacity = itemData.g._hasOpacity;
			var pt1 = itemData.s.v, pt2 = itemData.e.v;

			if (itemData.o._mdf || isFirstFrame) {
				var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';
				itemData.style.pElem.setAttribute(attr, itemData.o.v);
			}
			if (itemData.s._mdf || isFirstFrame) {
				var attr1 = styleData.t === 1 ? 'x1' : 'cx';
				var attr2 = attr1 === 'x1' ? 'y1' : 'cy';
				gfill.setAttribute(attr1, pt1[0]);
				gfill.setAttribute(attr2, pt1[1]);
				if (hasOpacity && !itemData.g._collapsable) {
					itemData.of.setAttribute(attr1, pt1[0]);
					itemData.of.setAttribute(attr2, pt1[1]);
				}
			}
			var stops, i, len, stop;
			if (itemData.g._cmdf || isFirstFrame) {
				stops = itemData.cst;
				var cValues = itemData.g.c;
				len = stops.length;
				for (i = 0; i < len; i += 1){
					stop = stops[i];
					stop.setAttribute('offset', cValues[i * 4] + '%');
					stop.setAttribute('stop-color','rgb('+ cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ','+cValues[i * 4 + 3] + ')');
				}
			}
			if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {
				var oValues = itemData.g.o;
				if(itemData.g._collapsable) {
					stops = itemData.cst;
				} else {
					stops = itemData.ost;
				}
				len = stops.length;
				for (i = 0; i < len; i += 1) {
					stop = stops[i];
					if(!itemData.g._collapsable) {
						stop.setAttribute('offset', oValues[i * 2] + '%');
					}
					stop.setAttribute('stop-opacity', oValues[i * 2 + 1]);
				}
			}
			if (styleData.t === 1) {
				if (itemData.e._mdf  || isFirstFrame) {
					gfill.setAttribute('x2', pt2[0]);
					gfill.setAttribute('y2', pt2[1]);
					if (hasOpacity && !itemData.g._collapsable) {
						itemData.of.setAttribute('x2', pt2[0]);
						itemData.of.setAttribute('y2', pt2[1]);
					}
				}
			} else {
				var rad;
				if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {
					rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));
					gfill.setAttribute('r', rad);
					if(hasOpacity && !itemData.g._collapsable){
						itemData.of.setAttribute('r', rad);
					}
				}
				if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {
					if (!rad) {
						rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));
					}
					var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);

					var percent = itemData.h.v >= 1 ? 0.99 : itemData.h.v <= -1 ? -0.99: itemData.h.v;
					var dist = rad * percent;
					var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];
					var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];
					gfill.setAttribute('fx', x);
					gfill.setAttribute('fy', y);
					if (hasOpacity && !itemData.g._collapsable) {
						itemData.of.setAttribute('fx', x);
						itemData.of.setAttribute('fy', y);
					}
				}
				//gfill.setAttribute('fy','200');
			}
		};

		function renderStroke(styleData, itemData, isFirstFrame) {
			var styleElem = itemData.style;
			var d = itemData.d;
			if (d && (d._mdf || isFirstFrame) && d.dashStr) {
				styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);
				styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);
			}
			if(itemData.c && (itemData.c._mdf || isFirstFrame)){
				styleElem.pElem.setAttribute('stroke','rgb(' + bm_floor(itemData.c.v[0]) + ',' + bm_floor(itemData.c.v[1]) + ',' + bm_floor(itemData.c.v[2]) + ')');
			}
			if(itemData.o._mdf || isFirstFrame){
				styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);
			}
			if(itemData.w._mdf || isFirstFrame){
				styleElem.pElem.setAttribute('stroke-width', itemData.w.v);
				if(styleElem.msElem){
					styleElem.msElem.setAttribute('stroke-width', itemData.w.v);
				}
			}
		};

		return ob;
	}())
	function ShapeTransformManager() {
		this.sequences = {};
		this.sequenceList = [];
		this.transform_key_count = 0;
	}

	ShapeTransformManager.prototype = {
		addTransformSequence: function(transforms) {
			var i, len = transforms.length;
			var key = '_';
			for(i = 0; i < len; i += 1) {
				key += transforms[i].transform.key + '_';
			}
			var sequence = this.sequences[key];
			if(!sequence) {
				sequence = {
					transforms: [].concat(transforms),
					finalTransform: new Matrix(),
					_mdf: false
				};
				this.sequences[key] = sequence;
				this.sequenceList.push(sequence);
			}
			return sequence;
		},
		processSequence: function(sequence, isFirstFrame) {
			var i = 0, len = sequence.transforms.length, _mdf = isFirstFrame;
			while (i < len && !isFirstFrame) {
				if (sequence.transforms[i].transform.mProps._mdf) {
					_mdf = true;
					break;
				}
				i += 1
			}
			if (_mdf) {
				var props;
				sequence.finalTransform.reset();
				for (i = len - 1; i >= 0; i -= 1) {
					props = sequence.transforms[i].transform.mProps.v.props;
					sequence.finalTransform.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);
				}
			}
			sequence._mdf = _mdf;

		},
		processSequences: function(isFirstFrame) {
			var i, len = this.sequenceList.length;
			for (i = 0; i < len; i += 1) {
				this.processSequence(this.sequenceList[i], isFirstFrame);
			}

		},
		getNewKey: function() {
			return '_' + this.transform_key_count++;
		}
	}
	function CVShapeData(element, data, styles, transformsManager) {
		this.styledShapes = [];
		this.tr = [0,0,0,0,0,0];
		var ty = 4;
		if(data.ty == 'rc'){
			ty = 5;
		}else if(data.ty == 'el'){
			ty = 6;
		}else if(data.ty == 'sr'){
			ty = 7;
		}
		this.sh = ShapePropertyFactory.getShapeProp(element,data,ty,element);
		var i , len = styles.length,styledShape;
		for (i = 0; i < len; i += 1) {
			if (!styles[i].closed) {
				styledShape = {
					transforms: transformsManager.addTransformSequence(styles[i].transforms),
					trNodes: []
				}
				this.styledShapes.push(styledShape);
				styles[i].elements.push(styledShape);
			}
		}
	}

	CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;
	function BaseElement(){
	}

	BaseElement.prototype = {
		checkMasks: function(){
			if(!this.data.hasMask){
				return false;
			}
			var i = 0, len = this.data.masksProperties.length;
			while(i<len) {
				if((this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false)) {
					return true;
				}
				i += 1;
			}
			return false;
		},
		initExpressions: function(){
			this.layerInterface = LayerExpressionInterface(this);
			if(this.data.hasMask && this.maskManager) {
				this.layerInterface.registerMaskInterface(this.maskManager);
			}
			var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this,this.layerInterface);
			this.layerInterface.registerEffectsInterface(effectsInterface);

			if(this.data.ty === 0 || this.data.xt){
				this.compInterface = CompExpressionInterface(this);
			} else if(this.data.ty === 4){
				this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData,this.itemsData,this.layerInterface);
				this.layerInterface.content = this.layerInterface.shapeInterface;
			} else if(this.data.ty === 5){
				this.layerInterface.textInterface = TextExpressionInterface(this);
				this.layerInterface.text = this.layerInterface.textInterface;
			}
		},
		setBlendMode: function(){
			var blendModeValue = getBlendMode(this.data.bm);
			var elem = this.baseElement || this.layerElement;

			elem.style['mix-blend-mode'] = blendModeValue;
		},
		initBaseData: function(data, globalData, comp){
			this.globalData = globalData;
			this.comp = comp;
			this.data = data;
			this.layerId = createElementID();

			//Stretch factor for old animations missing this property.
			if(!this.data.sr){
				this.data.sr = 1;
			}
			// effects manager
			this.effectsManager = new EffectsManager(this.data,this,this.dynamicProperties);

		},
		getType: function(){
			return this.type;
		}
		,sourceRectAtTime: function(){}
	}
	function NullElement(data,globalData,comp){
		this.initFrame();
		this.initBaseData(data, globalData, comp);
		this.initFrame();
		this.initTransform(data, globalData, comp);
		this.initHierarchy();
	}

	NullElement.prototype.prepareFrame = function(num) {
		this.prepareProperties(num, true);
	};

	NullElement.prototype.renderFrame = function() {
	};

	NullElement.prototype.getBaseElement = function() {
		return null;
	};

	NullElement.prototype.destroy = function() {
	};

	NullElement.prototype.sourceRectAtTime = function() {
	};

	NullElement.prototype.hide = function() {
	};

	extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement], NullElement);

	function SVGBaseElement(){
	}

	SVGBaseElement.prototype = {
		initRendererElement: function() {
			this.layerElement = createNS('g');
		},
		createContainerElements: function(){
			this.matteElement = createNS('g');
			this.transformedElement = this.layerElement;
			this.maskedElement = this.layerElement;
			this._sizeChanged = false;
			var layerElementParent = null;
			//If this layer acts as a mask for the following layer
			var filId, fil, gg;
			if (this.data.td) {
				if (this.data.td == 3 || this.data.td == 1) {
					var masker = createNS('mask');
					masker.setAttribute('id', this.layerId);
					masker.setAttribute('mask-type', this.data.td == 3 ? 'luminance' : 'alpha');
					masker.appendChild(this.layerElement);
					layerElementParent = masker;
					this.globalData.defs.appendChild(masker);
					// This is only for IE and Edge when mask if of type alpha
					if (!featureSupport.maskType && this.data.td == 1) {
						masker.setAttribute('mask-type', 'luminance');
						filId = createElementID();
						fil = filtersFactory.createFilter(filId);
						this.globalData.defs.appendChild(fil);
						fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());
						gg = createNS('g');
						gg.appendChild(this.layerElement);
						layerElementParent = gg;
						masker.appendChild(gg);
						gg.setAttribute('filter','url(' + locationHref + '#' + filId + ')');
					}
				} else if(this.data.td == 2) {
					var maskGroup = createNS('mask');
					maskGroup.setAttribute('id', this.layerId);
					maskGroup.setAttribute('mask-type','alpha');
					var maskGrouper = createNS('g');
					maskGroup.appendChild(maskGrouper);
					filId = createElementID();
					fil = filtersFactory.createFilter(filId);
					////

					// This solution doesn't work on Android when meta tag with viewport attribute is set
					/*var feColorMatrix = createNS('feColorMatrix');
                feColorMatrix.setAttribute('type', 'matrix');
                feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');
                feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');
                fil.appendChild(feColorMatrix);*/
					////
					var feCTr = createNS('feComponentTransfer');
					feCTr.setAttribute('in','SourceGraphic');
					fil.appendChild(feCTr);
					var feFunc = createNS('feFuncA');
					feFunc.setAttribute('type','table');
					feFunc.setAttribute('tableValues','1.0 0.0');
					feCTr.appendChild(feFunc);
					////
					this.globalData.defs.appendChild(fil);
					var alphaRect = createNS('rect');
					alphaRect.setAttribute('width',  this.comp.data.w);
					alphaRect.setAttribute('height', this.comp.data.h);
					alphaRect.setAttribute('x','0');
					alphaRect.setAttribute('y','0');
					alphaRect.setAttribute('fill','#ffffff');
					alphaRect.setAttribute('opacity','0');
					maskGrouper.setAttribute('filter', 'url(' + locationHref + '#'+filId+')');
					maskGrouper.appendChild(alphaRect);
					maskGrouper.appendChild(this.layerElement);
					layerElementParent = maskGrouper;
					if (!featureSupport.maskType) {
						maskGroup.setAttribute('mask-type', 'luminance');
						fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());
						gg = createNS('g');
						maskGrouper.appendChild(alphaRect);
						gg.appendChild(this.layerElement);
						layerElementParent = gg;
						maskGrouper.appendChild(gg);
					}
					this.globalData.defs.appendChild(maskGroup);
				}
			} else if (this.data.tt) {
				this.matteElement.appendChild(this.layerElement);
				layerElementParent = this.matteElement;
				this.baseElement = this.matteElement;
			} else {
				this.baseElement = this.layerElement;
			}
			if (this.data.ln) {
				this.layerElement.setAttribute('id', this.data.ln);
			}
			if (this.data.cl) {
				this.layerElement.setAttribute('class', this.data.cl);
			}
			//Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped
			if (this.data.ty === 0 && !this.data.hd) {
				var cp = createNS( 'clipPath');
				var pt = createNS('path');
				pt.setAttribute('d','M0,0 L' + this.data.w + ',0' + ' L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z');
				var clipId = createElementID();
				cp.setAttribute('id',clipId);
				cp.appendChild(pt);
				this.globalData.defs.appendChild(cp);

				if (this.checkMasks()) {
					var cpGroup = createNS('g');
					cpGroup.setAttribute('clip-path','url(' + locationHref + '#'+clipId + ')');
					cpGroup.appendChild(this.layerElement);
					this.transformedElement = cpGroup;
					if (layerElementParent) {
						layerElementParent.appendChild(this.transformedElement);
					} else {
						this.baseElement = this.transformedElement;
					}
				} else {
					this.layerElement.setAttribute('clip-path','url(' + locationHref + '#'+clipId+')');
				}

			}
			if (this.data.bm !== 0) {
				this.setBlendMode();
			}

		},
		renderElement: function() {
			if (this.finalTransform._matMdf) {
				this.transformedElement.setAttribute('transform', this.finalTransform.mat.to2dCSS());
			}
			if (this.finalTransform._opMdf) {
				this.transformedElement.setAttribute('opacity', this.finalTransform.mProp.o.v);
			}
		},
		destroyBaseElement: function() {
			this.layerElement = null;
			this.matteElement = null;
			this.maskManager.destroy();
		},
		getBaseElement: function() {
			if (this.data.hd) {
				return null;
			}
			return this.baseElement;
		},
		createRenderableComponents: function() {
			this.maskManager = new MaskElement(this.data, this, this.globalData);
			this.renderableEffectsManager = new SVGEffects(this);
		},
		setMatte: function(id) {
			if (!this.matteElement) {
				return;
			}
			this.matteElement.setAttribute("mask", "url(" + locationHref + "#" + id + ")");
		}
	};
	function IShapeElement(){
	}

	IShapeElement.prototype = {
		addShapeToModifiers: function(data) {
			var i, len = this.shapeModifiers.length;
			for(i=0;i<len;i+=1){
				this.shapeModifiers[i].addShape(data);
			}
		},
		isShapeInAnimatedModifiers: function(data) {
			var i = 0, len = this.shapeModifiers.length;
			while(i < len) {
				if(this.shapeModifiers[i].isAnimatedWithShape(data)) {
					return true;
				}
			}
			return false;
		},
		renderModifiers: function() {
			if(!this.shapeModifiers.length){
				return;
			}
			var i, len = this.shapes.length;
			for(i=0;i<len;i+=1){
				this.shapes[i].sh.reset();
			}

			len = this.shapeModifiers.length;
			for(i=len-1;i>=0;i-=1){
				this.shapeModifiers[i].processShapes(this._isFirstFrame);
			}
		},
		lcEnum: {
			'1': 'butt',
			'2': 'round',
			'3': 'square'
		},
		ljEnum: {
			'1': 'miter',
			'2': 'round',
			'3': 'bevel'
		},
		searchProcessedElement: function(elem){
			var elements = this.processedElements;
			var i = 0, len = elements.length;
			while (i < len) {
				if (elements[i].elem === elem) {
					return elements[i].pos;
				}
				i += 1;
			}
			return 0;
		},
		addProcessedElement: function(elem, pos){
			var elements = this.processedElements;
			var i = elements.length;
			while(i) {
				i -= 1;
				if (elements[i].elem === elem) {
					elements[i].pos = pos;
					return;
				}
			}
			elements.push(new ProcessedElement(elem, pos));
		},
		prepareFrame: function(num) {
			this.prepareRenderableFrame(num);
			this.prepareProperties(num, this.isInRange);
		}
	};
	function ITextElement(){
	}

	ITextElement.prototype.initElement = function(data,globalData,comp){
		this.lettersChangedFlag = true;
		this.initFrame();
		this.initBaseData(data, globalData, comp);
		this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);
		this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);
		this.initTransform(data, globalData, comp);
		this.initHierarchy();
		this.initRenderable();
		this.initRendererElement();
		this.createContainerElements();
		this.createRenderableComponents();
		this.createContent();
		this.hide();
		this.textAnimator.searchProperties(this.dynamicProperties);
	};

	ITextElement.prototype.prepareFrame = function(num) {
		this._mdf = false;
		this.prepareRenderableFrame(num);
		this.prepareProperties(num, this.isInRange);
		if(this.textProperty._mdf || this.textProperty._isFirstFrame) {
			this.buildNewText();
			this.textProperty._isFirstFrame = false;
			this.textProperty._mdf = false;
		}
	};

	ITextElement.prototype.createPathShape = function(matrixHelper, shapes) {
		var j,jLen = shapes.length;
		var k, kLen, pathNodes;
		var shapeStr = '';
		for(j=0;j<jLen;j+=1){
			pathNodes = shapes[j].ks.k;
			shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);
		}
		return shapeStr;
	};

	ITextElement.prototype.updateDocumentData = function(newData, index) {
		this.textProperty.updateDocumentData(newData, index);
	};

	ITextElement.prototype.canResizeFont = function(_canResize) {
		this.textProperty.canResizeFont(_canResize);
	};

	ITextElement.prototype.setMinimumFontSize = function(_fontSize) {
		this.textProperty.setMinimumFontSize(_fontSize);
	};

	ITextElement.prototype.applyTextPropertiesToMatrix = function(documentData, matrixHelper, lineNumber, xPos, yPos) {
		if(documentData.ps){
			matrixHelper.translate(documentData.ps[0],documentData.ps[1] + documentData.ascent,0);
		}
		matrixHelper.translate(0,-documentData.ls,0);
		switch(documentData.j){
			case 1:
				matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]),0,0);
				break;
			case 2:
				matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber] )/2,0,0);
				break;
		}
		matrixHelper.translate(xPos, yPos, 0);
	};


	ITextElement.prototype.buildColor = function(colorData) {
		return 'rgb(' + Math.round(colorData[0]*255) + ',' + Math.round(colorData[1]*255) + ',' + Math.round(colorData[2]*255) + ')';
	};

	ITextElement.prototype.emptyProp = new LetterProps();

	ITextElement.prototype.destroy = function(){

	};
	function ICompElement(){}

	extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);

	ICompElement.prototype.initElement = function(data,globalData,comp) {
		this.initFrame();
		this.initBaseData(data, globalData, comp);
		this.initTransform(data, globalData, comp);
		this.initRenderable();
		this.initHierarchy();
		this.initRendererElement();
		this.createContainerElements();
		this.createRenderableComponents();
		if(this.data.xt || !globalData.progressiveLoad){
			this.buildAllItems();
		}
		this.hide();
	};

	/*ICompElement.prototype.hide = function(){
    if(!this.hidden){
        this.hideElement();
        var i,len = this.elements.length;
        for( i = 0; i < len; i+=1 ){
            if(this.elements[i]){
                this.elements[i].hide();
            }
        }
    }
};*/

	ICompElement.prototype.prepareFrame = function(num){
		this._mdf = false;
		this.prepareRenderableFrame(num);
		this.prepareProperties(num, this.isInRange);
		if(!this.isInRange && !this.data.xt){
			return;
		}

		if (!this.tm._placeholder) {
			var timeRemapped = this.tm.v;
			if(timeRemapped === this.data.op){
				timeRemapped = this.data.op - 1;
			}
			this.renderedFrame = timeRemapped;
		} else {
			this.renderedFrame = num/this.data.sr;
		}
		var i,len = this.elements.length;
		if(!this.completeLayers){
			this.checkLayers(this.renderedFrame);
		}
		//This iteration needs to be backwards because of how expressions connect between each other
		for( i = len - 1; i >= 0; i -= 1 ){
			if(this.completeLayers || this.elements[i]){
				this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);
				if(this.elements[i]._mdf) {
					this._mdf = true;
				}
			}
		}
	};

	ICompElement.prototype.renderInnerContent = function() {
		var i,len = this.layers.length;
		for( i = 0; i < len; i += 1 ){
			if(this.completeLayers || this.elements[i]){
				this.elements[i].renderFrame();
			}
		}
	};

	ICompElement.prototype.setElements = function(elems){
		this.elements = elems;
	};

	ICompElement.prototype.getElements = function(){
		return this.elements;
	};

	ICompElement.prototype.destroyElements = function(){
		var i,len = this.layers.length;
		for( i = 0; i < len; i+=1 ){
			if(this.elements[i]){
				this.elements[i].destroy();
			}
		}
	};

	ICompElement.prototype.destroy = function(){
		this.destroyElements();
		this.destroyBaseElement();
	};

	function IImageElement(data,globalData,comp){
		this.assetData = globalData.getAssetData(data.refId);
		this.initElement(data,globalData,comp);
		this.sourceRect = {top:0,left:0,width:this.assetData.w,height:this.assetData.h};
	}

	extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement], IImageElement);

	IImageElement.prototype.createContent = function(){

		var assetPath = this.globalData.getAssetsPath(this.assetData);

		this.innerElem = createNS('image');
		this.innerElem.setAttribute('width',this.assetData.w+"px");
		this.innerElem.setAttribute('height',this.assetData.h+"px");
		this.innerElem.setAttribute('preserveAspectRatio',this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);
		this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink','href',assetPath);

		this.layerElement.appendChild(this.innerElem);
	};

	IImageElement.prototype.sourceRectAtTime = function() {
		return this.sourceRect;
	}
	function ISolidElement(data,globalData,comp){
		this.initElement(data,globalData,comp);
	}
	extendPrototype([IImageElement], ISolidElement);

	ISolidElement.prototype.createContent = function(){

		var rect = createNS('rect');
		////rect.style.width = this.data.sw;
		////rect.style.height = this.data.sh;
		////rect.style.fill = this.data.sc;
		rect.setAttribute('width',this.data.sw);
		rect.setAttribute('height',this.data.sh);
		rect.setAttribute('fill',this.data.sc);
		this.layerElement.appendChild(rect);
	};
	function SVGCompElement(data,globalData,comp){
		this.layers = data.layers;
		this.supports3d = true;
		this.completeLayers = false;
		this.pendingElements = [];
		this.elements = this.layers ? createSizedArray(this.layers.length) : [];
		//this.layerElement = createNS('g');
		this.initElement(data,globalData,comp);
		this.tm = data.tm ? PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this) : {_placeholder:true};
	}

	extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);
	function SVGTextElement(data,globalData,comp){
		this.textSpans = [];
		this.renderType = 'svg';
		this.initElement(data,globalData,comp);
	}

	extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement], SVGTextElement);

	SVGTextElement.prototype.createContent = function(){

		if (this.data.singleShape && !this.globalData.fontManager.chars) {
			this.textContainer = createNS('text');
		}
	};

	SVGTextElement.prototype.buildTextContents = function(textArray) {
		var i = 0, len = textArray.length;
		var textContents = [], currentTextContent = '';
		while (i < len) {
			if(textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {
				textContents.push(currentTextContent);
				currentTextContent = '';
			} else {
				currentTextContent += textArray[i];
			}
			i += 1;
		}
		textContents.push(currentTextContent);
		return textContents;
	}

	SVGTextElement.prototype.buildNewText = function(){
		var i, len;

		var documentData = this.textProperty.currentData;
		this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);
		if(documentData.fc) {
			this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));
		}else{
			this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');
		}
		if(documentData.sc){
			this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));
			this.layerElement.setAttribute('stroke-width', documentData.sw);
		}
		this.layerElement.setAttribute('font-size', documentData.finalSize);
		var fontData = this.globalData.fontManager.getFontByName(documentData.f);
		if(fontData.fClass){
			this.layerElement.setAttribute('class',fontData.fClass);
		} else {
			this.layerElement.setAttribute('font-family', fontData.fFamily);
			var fWeight = documentData.fWeight, fStyle = documentData.fStyle;
			this.layerElement.setAttribute('font-style', fStyle);
			this.layerElement.setAttribute('font-weight', fWeight);
		}
		this.layerElement.setAttribute('aria-label', documentData.t);

		var letters = documentData.l || [];
		var usesGlyphs = !!this.globalData.fontManager.chars;
		len = letters.length;

		var tSpan;
		var matrixHelper = this.mHelper;
		var shapes, shapeStr = '', singleShape = this.data.singleShape;
		var xPos = 0, yPos = 0, firstLine = true;
		var trackingOffset = documentData.tr/1000*documentData.finalSize;
		if(singleShape && !usesGlyphs && !documentData.sz) {
			var tElement = this.textContainer;
			var justify = 'start';
			switch(documentData.j) {
				case 1:
					justify = 'end';
					break;
				case 2:
					justify = 'middle';
					break;
			}
			tElement.setAttribute('text-anchor',justify);
			tElement.setAttribute('letter-spacing',trackingOffset);
			var textContent = this.buildTextContents(documentData.finalText);
			len = textContent.length;
			yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;
			for ( i = 0; i < len; i += 1) {
				tSpan = this.textSpans[i] || createNS('tspan');
				tSpan.textContent = textContent[i];
				tSpan.setAttribute('x', 0);
				tSpan.setAttribute('y', yPos);
				tSpan.style.display = 'inherit';
				tElement.appendChild(tSpan);
				this.textSpans[i] = tSpan;
				yPos += documentData.finalLineHeight;
			}

			this.layerElement.appendChild(tElement);
		} else {
			var cachedSpansLength = this.textSpans.length;
			var shapeData, charData;
			for (i = 0; i < len; i += 1) {
				if(!usesGlyphs || !singleShape || i === 0){
					tSpan = cachedSpansLength > i ? this.textSpans[i] : createNS(usesGlyphs?'path':'text');
					if (cachedSpansLength <= i) {
						tSpan.setAttribute('stroke-linecap', 'butt');
						tSpan.setAttribute('stroke-linejoin','round');
						tSpan.setAttribute('stroke-miterlimit','4');
						this.textSpans[i] = tSpan;
						this.layerElement.appendChild(tSpan);
					}
					tSpan.style.display = 'inherit';
				}

				matrixHelper.reset();
				matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);
				if (singleShape) {
					if(letters[i].n) {
						xPos = -trackingOffset;
						yPos += documentData.yOffset;
						yPos += firstLine ? 1 : 0;
						firstLine = false;
					}
					this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);
					xPos += letters[i].l || 0;
					//xPos += letters[i].val === ' ' ? 0 : trackingOffset;
					xPos += trackingOffset;
				}
				if(usesGlyphs) {
					charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);
					shapeData = charData && charData.data || {};
					shapes = shapeData.shapes ? shapeData.shapes[0].it : [];
					if(!singleShape){
						tSpan.setAttribute('d',this.createPathShape(matrixHelper,shapes));
					} else {
						shapeStr += this.createPathShape(matrixHelper,shapes);
					}
				} else {
					if(singleShape) {
						tSpan.setAttribute("transform", "translate(" + matrixHelper.props[12] + "," + matrixHelper.props[13] + ")");
					}
					tSpan.textContent = letters[i].val;
					tSpan.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space","preserve");
				}
				//
			}
			if (singleShape && tSpan) {
				tSpan.setAttribute('d',shapeStr);
			}
		}
		while (i < this.textSpans.length){
			this.textSpans[i].style.display = 'none';
			i += 1;
		}

		this._sizeChanged = true;
	};

	SVGTextElement.prototype.sourceRectAtTime = function(time){
		this.prepareFrame(this.comp.renderedFrame - this.data.st);
		this.renderInnerContent();
		if(this._sizeChanged){
			this._sizeChanged = false;
			var textBox = this.layerElement.getBBox();
			this.bbox = {
				top: textBox.y,
				left: textBox.x,
				width: textBox.width,
				height: textBox.height
			};
		}
		return this.bbox;
	};

	SVGTextElement.prototype.renderInnerContent = function(){

		if(!this.data.singleShape){
			this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);
			if(this.lettersChangedFlag || this.textAnimator.lettersChangedFlag){
				this._sizeChanged = true;
				var  i,len;
				var renderedLetters = this.textAnimator.renderedLetters;

				var letters = this.textProperty.currentData.l;

				len = letters.length;
				var renderedLetter, textSpan;
				for(i=0;i<len;i+=1){
					if(letters[i].n){
						continue;
					}
					renderedLetter = renderedLetters[i];
					textSpan = this.textSpans[i];
					if(renderedLetter._mdf.m) {
						textSpan.setAttribute('transform',renderedLetter.m);
					}
					if(renderedLetter._mdf.o) {
						textSpan.setAttribute('opacity',renderedLetter.o);
					}
					if(renderedLetter._mdf.sw){
						textSpan.setAttribute('stroke-width',renderedLetter.sw);
					}
					if(renderedLetter._mdf.sc){
						textSpan.setAttribute('stroke',renderedLetter.sc);
					}
					if(renderedLetter._mdf.fc){
						textSpan.setAttribute('fill',renderedLetter.fc);
					}
				}
			}
		}
	};

	function SVGShapeElement(data,globalData,comp){
		//List of drawable elements
		this.shapes = [];
		// Full shape data
		this.shapesData = data.shapes;
		//List of styles that will be applied to shapes
		this.stylesList = [];
		//List of modifiers that will be applied to shapes
		this.shapeModifiers = [];
		//List of items in shape tree
		this.itemsData = [];
		//List of items in previous shape tree
		this.processedElements = [];
		// List of animated components
		this.animatedContents = [];
		this.initElement(data,globalData,comp);
		//Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.
		// List of elements that have been created
		this.prevViewData = [];
		//Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.
	}

	extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement], SVGShapeElement);

	SVGShapeElement.prototype.initSecondaryElement = function() {
	};

	SVGShapeElement.prototype.identityMatrix = new Matrix();

	SVGShapeElement.prototype.buildExpressionInterface = function(){};

	SVGShapeElement.prototype.createContent = function(){
		this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement, 0, [], true);
		this.filterUniqueShapes();
	};

	/*
This method searches for multiple shapes that affect a single element and one of them is animated
*/
	SVGShapeElement.prototype.filterUniqueShapes = function(){
		var i, len = this.shapes.length, shape;
		var j, jLen = this.stylesList.length;
		var style, count = 0;
		var tempShapes = [];
		var areAnimated = false;
		for(j = 0; j < jLen; j += 1) {
			style = this.stylesList[j];
			areAnimated = false;
			tempShapes.length = 0;
			for(i = 0; i < len; i += 1) {
				shape = this.shapes[i];
				if(shape.styles.indexOf(style) !== -1) {
					tempShapes.push(shape);
					areAnimated = shape._isAnimated || areAnimated;
				}
			}
			if(tempShapes.length > 1 && areAnimated) {
				this.setShapesAsAnimated(tempShapes);
			}
		}
	}

	SVGShapeElement.prototype.setShapesAsAnimated = function(shapes){
		var i, len = shapes.length;
		for(i = 0; i < len; i += 1) {
			shapes[i].setAsAnimated();
		}
	}

	SVGShapeElement.prototype.createStyleElement = function(data, level){
		//TODO: prevent drawing of hidden styles
		var elementData;
		var styleOb = new SVGStyleData(data, level);

		var pathElement = styleOb.pElem;
		if(data.ty === 'st') {
			elementData = new SVGStrokeStyleData(this, data, styleOb);
		} else if(data.ty === 'fl') {
			elementData = new SVGFillStyleData(this, data, styleOb);
		} else if(data.ty === 'gf' || data.ty === 'gs') {
			var gradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;
			elementData = new gradientConstructor(this, data, styleOb);
			this.globalData.defs.appendChild(elementData.gf);
			if (elementData.maskId) {
				this.globalData.defs.appendChild(elementData.ms);
				this.globalData.defs.appendChild(elementData.of);
				pathElement.setAttribute('mask','url(' + locationHref + '#' + elementData.maskId + ')');
			}
		}

		if(data.ty === 'st' || data.ty === 'gs') {
			pathElement.setAttribute('stroke-linecap', this.lcEnum[data.lc] || 'round');
			pathElement.setAttribute('stroke-linejoin',this.ljEnum[data.lj] || 'round');
			pathElement.setAttribute('fill-opacity','0');
			if(data.lj === 1) {
				pathElement.setAttribute('stroke-miterlimit',data.ml);
			}
		}

		if(data.r === 2) {
			pathElement.setAttribute('fill-rule', 'evenodd');
		}

		if(data.ln){
			pathElement.setAttribute('id',data.ln);
		}
		if(data.cl){
			pathElement.setAttribute('class',data.cl);
		}
		if(data.bm){
			pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);
		}
		this.stylesList.push(styleOb);
		this.addToAnimatedContents(data, elementData);
		return elementData;
	};

	SVGShapeElement.prototype.createGroupElement = function(data) {
		var elementData = new ShapeGroupData();
		if(data.ln){
			elementData.gr.setAttribute('id',data.ln);
		}
		if(data.cl){
			elementData.gr.setAttribute('class',data.cl);
		}
		if(data.bm){
			elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);
		}
		return elementData;
	};

	SVGShapeElement.prototype.createTransformElement = function(data, container) {
		var transformProperty = TransformPropertyFactory.getTransformProperty(this,data,this);
		var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);
		this.addToAnimatedContents(data, elementData);
		return elementData;
	};

	SVGShapeElement.prototype.createShapeElement = function(data, ownTransformers, level) {
		var ty = 4;
		if(data.ty === 'rc'){
			ty = 5;
		}else if(data.ty === 'el'){
			ty = 6;
		}else if(data.ty === 'sr'){
			ty = 7;
		}
		var shapeProperty = ShapePropertyFactory.getShapeProp(this,data,ty,this);
		var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);
		this.shapes.push(elementData);
		this.addShapeToModifiers(elementData);
		this.addToAnimatedContents(data, elementData);
		return elementData;
	};

	SVGShapeElement.prototype.addToAnimatedContents = function(data, element) {
		var i = 0, len = this.animatedContents.length;
		while(i < len) {
			if(this.animatedContents[i].element === element) {
				return;
			}
			i += 1;
		}
		this.animatedContents.push({
			fn: SVGElementsRenderer.createRenderFunction(data),
			element: element,
			data: data
		});
	};

	SVGShapeElement.prototype.setElementStyles = function(elementData){
		var arr = elementData.styles;
		var j, jLen = this.stylesList.length;
		for (j = 0; j < jLen; j += 1) {
			if (!this.stylesList[j].closed) {
				arr.push(this.stylesList[j]);
			}
		}
	};

	SVGShapeElement.prototype.reloadShapes = function(){
		this._isFirstFrame = true;
		var i, len = this.itemsData.length;
		for( i = 0; i < len; i += 1) {
			this.prevViewData[i] = this.itemsData[i];
		}
		this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement, 0, [], true);
		this.filterUniqueShapes();
		len = this.dynamicProperties.length;
		for(i = 0; i < len; i += 1) {
			this.dynamicProperties[i].getValue();
		}
		this.renderModifiers();
	};

	SVGShapeElement.prototype.searchShapes = function(arr,itemsData,prevViewData,container, level, transformers, render){
		var ownTransformers = [].concat(transformers);
		var i, len = arr.length - 1;
		var j, jLen;
		var ownStyles = [], ownModifiers = [], styleOb, currentTransform, modifier, processedPos;
		for(i=len;i>=0;i-=1){
			processedPos = this.searchProcessedElement(arr[i]);
			if(!processedPos){
				arr[i]._render = render;
			} else {
				itemsData[i] = prevViewData[processedPos - 1];
			}
			if(arr[i].ty == 'fl' || arr[i].ty == 'st' || arr[i].ty == 'gf' || arr[i].ty == 'gs'){
				if(!processedPos){
					itemsData[i] = this.createStyleElement(arr[i], level);
				} else {
					itemsData[i].style.closed = false;
				}
				if(arr[i]._render){
					container.appendChild(itemsData[i].style.pElem);
				}
				ownStyles.push(itemsData[i].style);
			}else if(arr[i].ty == 'gr'){
				if(!processedPos){
					itemsData[i] = this.createGroupElement(arr[i]);
				} else {
					jLen = itemsData[i].it.length;
					for(j=0;j<jLen;j+=1){
						itemsData[i].prevViewData[j] = itemsData[i].it[j];
					}
				}
				this.searchShapes(arr[i].it,itemsData[i].it,itemsData[i].prevViewData,itemsData[i].gr, level + 1, ownTransformers, render);
				if(arr[i]._render){
					container.appendChild(itemsData[i].gr);
				}
			}else if(arr[i].ty == 'tr'){
				if(!processedPos){
					itemsData[i] = this.createTransformElement(arr[i], container);
				}
				currentTransform = itemsData[i].transform;
				ownTransformers.push(currentTransform);
			}else if(arr[i].ty == 'sh' || arr[i].ty == 'rc' || arr[i].ty == 'el' || arr[i].ty == 'sr'){
				if(!processedPos){
					itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);
				}
				this.setElementStyles(itemsData[i]);

			}else if(arr[i].ty == 'tm' || arr[i].ty == 'rd' || arr[i].ty == 'ms'){
				if(!processedPos){
					modifier = ShapeModifiers.getModifier(arr[i].ty);
					modifier.init(this,arr[i]);
					itemsData[i] = modifier;
					this.shapeModifiers.push(modifier);
				} else {
					modifier = itemsData[i];
					modifier.closed = false;
				}
				ownModifiers.push(modifier);
			}else if(arr[i].ty == 'rp'){
				if(!processedPos){
					modifier = ShapeModifiers.getModifier(arr[i].ty);
					itemsData[i] = modifier;
					modifier.init(this,arr,i,itemsData);
					this.shapeModifiers.push(modifier);
					render = false;
				}else{
					modifier = itemsData[i];
					modifier.closed = true;
				}
				ownModifiers.push(modifier);
			}
			this.addProcessedElement(arr[i], i + 1);
		}
		len = ownStyles.length;
		for(i=0;i<len;i+=1){
			ownStyles[i].closed = true;
		}
		len = ownModifiers.length;
		for(i=0;i<len;i+=1){
			ownModifiers[i].closed = true;
		}
	};

	SVGShapeElement.prototype.renderInnerContent = function() {
		this.renderModifiers();
		var i, len = this.stylesList.length;
		for(i=0;i<len;i+=1){
			this.stylesList[i].reset();
		}
		this.renderShape();

		for (i = 0; i < len; i += 1) {
			if (this.stylesList[i]._mdf || this._isFirstFrame) {
				if(this.stylesList[i].msElem){
					this.stylesList[i].msElem.setAttribute('d', this.stylesList[i].d);
					//Adding M0 0 fixes same mask bug on all browsers
					this.stylesList[i].d = 'M0 0' + this.stylesList[i].d;
				}
				this.stylesList[i].pElem.setAttribute('d', this.stylesList[i].d || 'M0 0');
			}
		}
	};

	SVGShapeElement.prototype.renderShape = function() {
		var i, len = this.animatedContents.length;
		var animatedContent;
		for(i = 0; i < len; i += 1) {
			animatedContent = this.animatedContents[i];
			if((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {
				animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);
			}
		}
	}

	SVGShapeElement.prototype.destroy = function(){
		this.destroyBaseElement();
		this.shapesData = null;
		this.itemsData = null;
	};

	function SVGTintFilter(filter, filterManager){
		this.filterManager = filterManager;
		var feColorMatrix = createNS('feColorMatrix');
		feColorMatrix.setAttribute('type','matrix');
		feColorMatrix.setAttribute('color-interpolation-filters','linearRGB');
		feColorMatrix.setAttribute('values','0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');
		feColorMatrix.setAttribute('result','f1');
		filter.appendChild(feColorMatrix);
		feColorMatrix = createNS('feColorMatrix');
		feColorMatrix.setAttribute('type','matrix');
		feColorMatrix.setAttribute('color-interpolation-filters','sRGB');
		feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');
		feColorMatrix.setAttribute('result','f2');
		filter.appendChild(feColorMatrix);
		this.matrixFilter = feColorMatrix;
		if(filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k){
			var feMerge = createNS('feMerge');
			filter.appendChild(feMerge);
			var feMergeNode;
			feMergeNode = createNS('feMergeNode');
			feMergeNode.setAttribute('in','SourceGraphic');
			feMerge.appendChild(feMergeNode);
			feMergeNode = createNS('feMergeNode');
			feMergeNode.setAttribute('in','f2');
			feMerge.appendChild(feMergeNode);
		}
	}

	SVGTintFilter.prototype.renderFrame = function(forceRender){
		if(forceRender || this.filterManager._mdf){
			var colorBlack = this.filterManager.effectElements[0].p.v;
			var colorWhite = this.filterManager.effectElements[1].p.v;
			var opacity = this.filterManager.effectElements[2].p.v/100;
			this.matrixFilter.setAttribute('values',(colorWhite[0]- colorBlack[0])+' 0 0 0 '+ colorBlack[0] +' '+ (colorWhite[1]- colorBlack[1]) +' 0 0 0 '+ colorBlack[1] +' '+ (colorWhite[2]- colorBlack[2]) +' 0 0 0 '+ colorBlack[2] +' 0 0 0 ' + opacity + ' 0');
		}
	};
	function SVGFillFilter(filter, filterManager){
		this.filterManager = filterManager;
		var feColorMatrix = createNS('feColorMatrix');
		feColorMatrix.setAttribute('type','matrix');
		feColorMatrix.setAttribute('color-interpolation-filters','sRGB');
		feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0');
		filter.appendChild(feColorMatrix);
		this.matrixFilter = feColorMatrix;
	}
	SVGFillFilter.prototype.renderFrame = function(forceRender){
		if(forceRender || this.filterManager._mdf){
			var color = this.filterManager.effectElements[2].p.v;
			var opacity = this.filterManager.effectElements[6].p.v;
			this.matrixFilter.setAttribute('values','0 0 0 0 '+color[0]+' 0 0 0 0 '+color[1]+' 0 0 0 0 '+color[2]+' 0 0 0 '+opacity+' 0');
		}
	};
	function SVGGaussianBlurEffect(filter, filterManager){
		// Outset the filter region by 100% on all sides to accommodate blur expansion.
		filter.setAttribute('x','-100%');
		filter.setAttribute('y','-100%');
		filter.setAttribute('width','300%');
		filter.setAttribute('height','300%');

		this.filterManager = filterManager;
		var feGaussianBlur = createNS('feGaussianBlur');
		filter.appendChild(feGaussianBlur);
		this.feGaussianBlur = feGaussianBlur;
	}

	SVGGaussianBlurEffect.prototype.renderFrame = function(forceRender){
		if(forceRender || this.filterManager._mdf){
			// Empirical value, matching AE's blur appearance.
			var kBlurrinessToSigma = 0.3;
			var sigma = this.filterManager.effectElements[0].p.v * kBlurrinessToSigma;

			// Dimensions mapping:
			//
			//   1 -> horizontal & vertical
			//   2 -> horizontal only
			//   3 -> vertical only
			//
			var dimensions = this.filterManager.effectElements[1].p.v;
			var sigmaX = (dimensions == 3) ? 0 : sigma;
			var sigmaY = (dimensions == 2) ? 0 : sigma;

			this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + " " + sigmaY);

			// Repeat edges mapping:
			//
			//   0 -> off -> duplicate
			//   1 -> on  -> wrap
			var edgeMode = (this.filterManager.effectElements[2].p.v == 1) ? 'wrap' : 'duplicate';
			this.feGaussianBlur.setAttribute('edgeMode', edgeMode);
		}
	}
	function SVGStrokeEffect(elem, filterManager){
		this.initialized = false;
		this.filterManager = filterManager;
		this.elem = elem;
		this.paths = [];
	}

	SVGStrokeEffect.prototype.initialize = function(){

		var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;
		var path,groupPath, i, len;
		if(this.filterManager.effectElements[1].p.v === 1){
			len = this.elem.maskManager.masksProperties.length;
			i = 0;
		} else {
			i = this.filterManager.effectElements[0].p.v - 1;
			len = i + 1;
		}
		groupPath = createNS('g');
		groupPath.setAttribute('fill','none');
		groupPath.setAttribute('stroke-linecap','round');
		groupPath.setAttribute('stroke-dashoffset',1);
		for(i;i<len;i+=1){
			path = createNS('path');
			groupPath.appendChild(path);
			this.paths.push({p:path,m:i});
		}
		if(this.filterManager.effectElements[10].p.v === 3){
			var mask = createNS('mask');
			var id = createElementID();
			mask.setAttribute('id',id);
			mask.setAttribute('mask-type','alpha');
			mask.appendChild(groupPath);
			this.elem.globalData.defs.appendChild(mask);
			var g = createNS('g');
			g.setAttribute('mask','url(' + locationHref + '#'+id+')');
			while (elemChildren[0]) {
				g.appendChild(elemChildren[0]);
			}
			this.elem.layerElement.appendChild(g);
			this.masker = mask;
			groupPath.setAttribute('stroke','#fff');
		} else if(this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2){
			if(this.filterManager.effectElements[10].p.v === 2){
				elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;
				while(elemChildren.length){
					this.elem.layerElement.removeChild(elemChildren[0]);
				}
			}
			this.elem.layerElement.appendChild(groupPath);
			this.elem.layerElement.removeAttribute('mask');
			groupPath.setAttribute('stroke','#fff');
		}
		this.initialized = true;
		this.pathMasker = groupPath;
	};

	SVGStrokeEffect.prototype.renderFrame = function(forceRender){
		if(!this.initialized){
			this.initialize();
		}
		var i, len = this.paths.length;
		var mask, path;
		for(i=0;i<len;i+=1){
			if(this.paths[i].m === -1) {
				continue;
			}
			mask = this.elem.maskManager.viewData[this.paths[i].m];
			path = this.paths[i].p;
			if(forceRender || this.filterManager._mdf || mask.prop._mdf){
				path.setAttribute('d',mask.lastPath);
			}
			if(forceRender || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || mask.prop._mdf){
				var dasharrayValue;
				if(this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100){
					var s = Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)/100;
					var e = Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)/100;
					var l = path.getTotalLength();
					dasharrayValue = '0 0 0 ' + l*s + ' ';
					var lineLength = l*(e-s);
					var segment = 1+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v/100;
					var units = Math.floor(lineLength/segment);
					var j;
					for(j=0;j<units;j+=1){
						dasharrayValue += '1 ' + this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v/100 + ' ';
					}
					dasharrayValue += '0 ' + l*10 + ' 0 0';
				} else {
					dasharrayValue = '1 ' + this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v/100;
				}
				path.setAttribute('stroke-dasharray',dasharrayValue);
			}
		}
		if(forceRender || this.filterManager.effectElements[4].p._mdf){
			this.pathMasker.setAttribute('stroke-width',this.filterManager.effectElements[4].p.v*2);
		}

		if(forceRender || this.filterManager.effectElements[6].p._mdf){
			this.pathMasker.setAttribute('opacity',this.filterManager.effectElements[6].p.v);
		}
		if(this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2){
			if(forceRender || this.filterManager.effectElements[3].p._mdf){
				var color = this.filterManager.effectElements[3].p.v;
				this.pathMasker.setAttribute('stroke','rgb('+bm_floor(color[0]*255)+','+bm_floor(color[1]*255)+','+bm_floor(color[2]*255)+')');
			}
		}
	};
	function SVGTritoneFilter(filter, filterManager){
		this.filterManager = filterManager;
		var feColorMatrix = createNS('feColorMatrix');
		feColorMatrix.setAttribute('type','matrix');
		feColorMatrix.setAttribute('color-interpolation-filters','linearRGB');
		feColorMatrix.setAttribute('values','0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0');
		feColorMatrix.setAttribute('result','f1');
		filter.appendChild(feColorMatrix);
		var feComponentTransfer = createNS('feComponentTransfer');
		feComponentTransfer.setAttribute('color-interpolation-filters','sRGB');
		filter.appendChild(feComponentTransfer);
		this.matrixFilter = feComponentTransfer;
		var feFuncR = createNS('feFuncR');
		feFuncR.setAttribute('type','table');
		feComponentTransfer.appendChild(feFuncR);
		this.feFuncR = feFuncR;
		var feFuncG = createNS('feFuncG');
		feFuncG.setAttribute('type','table');
		feComponentTransfer.appendChild(feFuncG);
		this.feFuncG = feFuncG;
		var feFuncB = createNS('feFuncB');
		feFuncB.setAttribute('type','table');
		feComponentTransfer.appendChild(feFuncB);
		this.feFuncB = feFuncB;
	}

	SVGTritoneFilter.prototype.renderFrame = function(forceRender){
		if(forceRender || this.filterManager._mdf){
			var color1 = this.filterManager.effectElements[0].p.v;
			var color2 = this.filterManager.effectElements[1].p.v;
			var color3 = this.filterManager.effectElements[2].p.v;
			var tableR = color3[0] + ' ' + color2[0] + ' ' + color1[0];
			var tableG = color3[1] + ' ' + color2[1] + ' ' + color1[1];
			var tableB = color3[2] + ' ' + color2[2] + ' ' + color1[2];
			this.feFuncR.setAttribute('tableValues', tableR);
			this.feFuncG.setAttribute('tableValues', tableG);
			this.feFuncB.setAttribute('tableValues', tableB);
			//var opacity = this.filterManager.effectElements[2].p.v/100;
			//this.matrixFilter.setAttribute('values',(colorWhite[0]- colorBlack[0])+' 0 0 0 '+ colorBlack[0] +' '+ (colorWhite[1]- colorBlack[1]) +' 0 0 0 '+ colorBlack[1] +' '+ (colorWhite[2]- colorBlack[2]) +' 0 0 0 '+ colorBlack[2] +' 0 0 0 ' + opacity + ' 0');
		}
	};
	function SVGProLevelsFilter(filter, filterManager){
		this.filterManager = filterManager;
		var effectElements = this.filterManager.effectElements;
		var feComponentTransfer = createNS('feComponentTransfer');
		var feFuncR, feFuncG, feFuncB;

		if(effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1){
			this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);
		}
		if(effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1){
			this.feFuncG = this.createFeFunc('feFuncG', feComponentTransfer);
		}
		if(effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1){
			this.feFuncB = this.createFeFunc('feFuncB', feComponentTransfer);
		}
		if(effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1){
			this.feFuncA = this.createFeFunc('feFuncA', feComponentTransfer);
		}

		if(this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA){
			feComponentTransfer.setAttribute('color-interpolation-filters','sRGB');
			filter.appendChild(feComponentTransfer);
			feComponentTransfer = createNS('feComponentTransfer');
		}

		if(effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1){

			feComponentTransfer.setAttribute('color-interpolation-filters','sRGB');
			filter.appendChild(feComponentTransfer);
			this.feFuncRComposed = this.createFeFunc('feFuncR', feComponentTransfer);
			this.feFuncGComposed = this.createFeFunc('feFuncG', feComponentTransfer);
			this.feFuncBComposed = this.createFeFunc('feFuncB', feComponentTransfer);
		}
	}

	SVGProLevelsFilter.prototype.createFeFunc = function(type, feComponentTransfer) {
		var feFunc = createNS(type);
		feFunc.setAttribute('type','table');
		feComponentTransfer.appendChild(feFunc);
		return feFunc;
	};

	SVGProLevelsFilter.prototype.getTableValue = function(inputBlack, inputWhite, gamma, outputBlack, outputWhite) {
		var cnt = 0;
		var segments = 256;
		var perc;
		var min = Math.min(inputBlack, inputWhite);
		var max = Math.max(inputBlack, inputWhite);
		var table = Array.call(null,{length:segments});
		var colorValue;
		var pos = 0;
		var outputDelta = outputWhite - outputBlack;
		var inputDelta = inputWhite - inputBlack;
		while(cnt <= 256) {
			perc = cnt/256;
			if(perc <= min){
				colorValue = inputDelta < 0 ? outputWhite : outputBlack;
			} else if(perc >= max){
				colorValue = inputDelta < 0 ? outputBlack : outputWhite;
			} else {
				colorValue = (outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma));
			}
			table[pos++] = colorValue;
			cnt += 256/(segments-1);
		}
		return table.join(' ');
	};

	SVGProLevelsFilter.prototype.renderFrame = function(forceRender){
		if(forceRender || this.filterManager._mdf){
			var val, cnt, perc, bezier;
			var effectElements = this.filterManager.effectElements;
			if(this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)){
				val = this.getTableValue(effectElements[3].p.v,effectElements[4].p.v,effectElements[5].p.v,effectElements[6].p.v,effectElements[7].p.v);
				this.feFuncRComposed.setAttribute('tableValues',val);
				this.feFuncGComposed.setAttribute('tableValues',val);
				this.feFuncBComposed.setAttribute('tableValues',val);
			}


			if(this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)){
				val = this.getTableValue(effectElements[10].p.v,effectElements[11].p.v,effectElements[12].p.v,effectElements[13].p.v,effectElements[14].p.v);
				this.feFuncR.setAttribute('tableValues',val);
			}

			if(this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)){
				val = this.getTableValue(effectElements[17].p.v,effectElements[18].p.v,effectElements[19].p.v,effectElements[20].p.v,effectElements[21].p.v);
				this.feFuncG.setAttribute('tableValues',val);
			}

			if(this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)){
				val = this.getTableValue(effectElements[24].p.v,effectElements[25].p.v,effectElements[26].p.v,effectElements[27].p.v,effectElements[28].p.v);
				this.feFuncB.setAttribute('tableValues',val);
			}

			if(this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)){
				val = this.getTableValue(effectElements[31].p.v,effectElements[32].p.v,effectElements[33].p.v,effectElements[34].p.v,effectElements[35].p.v);
				this.feFuncA.setAttribute('tableValues',val);
			}

		}
	};
	function SVGDropShadowEffect(filter, filterManager) {
		var filterSize = filterManager.container.globalData.renderConfig.filterSize
		filter.setAttribute('x', filterSize.x);
		filter.setAttribute('y', filterSize.y);
		filter.setAttribute('width', filterSize.width);
		filter.setAttribute('height', filterSize.height);
		this.filterManager = filterManager;

		var feGaussianBlur = createNS('feGaussianBlur');
		feGaussianBlur.setAttribute('in','SourceAlpha');
		feGaussianBlur.setAttribute('result','drop_shadow_1');
		feGaussianBlur.setAttribute('stdDeviation','0');
		this.feGaussianBlur = feGaussianBlur;
		filter.appendChild(feGaussianBlur);

		var feOffset = createNS('feOffset');
		feOffset.setAttribute('dx','25');
		feOffset.setAttribute('dy','0');
		feOffset.setAttribute('in','drop_shadow_1');
		feOffset.setAttribute('result','drop_shadow_2');
		this.feOffset = feOffset;
		filter.appendChild(feOffset);
		var feFlood = createNS('feFlood');
		feFlood.setAttribute('flood-color','#00ff00');
		feFlood.setAttribute('flood-opacity','1');
		feFlood.setAttribute('result','drop_shadow_3');
		this.feFlood = feFlood;
		filter.appendChild(feFlood);

		var feComposite = createNS('feComposite');
		feComposite.setAttribute('in','drop_shadow_3');
		feComposite.setAttribute('in2','drop_shadow_2');
		feComposite.setAttribute('operator','in');
		feComposite.setAttribute('result','drop_shadow_4');
		filter.appendChild(feComposite);


		var feMerge = createNS('feMerge');
		filter.appendChild(feMerge);
		var feMergeNode;
		feMergeNode = createNS('feMergeNode');
		feMerge.appendChild(feMergeNode);
		feMergeNode = createNS('feMergeNode');
		feMergeNode.setAttribute('in','SourceGraphic');
		this.feMergeNode = feMergeNode;
		this.feMerge = feMerge;
		this.originalNodeAdded = false;
		feMerge.appendChild(feMergeNode);
	}

	SVGDropShadowEffect.prototype.renderFrame = function(forceRender){
		if(forceRender || this.filterManager._mdf){
			if(forceRender || this.filterManager.effectElements[4].p._mdf){
				this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);
			}
			if(forceRender || this.filterManager.effectElements[0].p._mdf){
				var col = this.filterManager.effectElements[0].p.v;
				this.feFlood.setAttribute('flood-color',rgbToHex(Math.round(col[0]*255),Math.round(col[1]*255),Math.round(col[2]*255)));
			}
			if(forceRender || this.filterManager.effectElements[1].p._mdf){
				this.feFlood.setAttribute('flood-opacity',this.filterManager.effectElements[1].p.v/255);
			}
			if(forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf){
				var distance = this.filterManager.effectElements[3].p.v;
				var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;
				var x = distance * Math.cos(angle);
				var y = distance * Math.sin(angle);
				this.feOffset.setAttribute('dx', x);
				this.feOffset.setAttribute('dy', y);
			}
			/*if(forceRender || this.filterManager.effectElements[5].p._mdf){
            if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {
                this.feMerge.removeChild(this.feMergeNode);
                this.originalNodeAdded = false;
            } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {
                this.feMerge.appendChild(this.feMergeNode);
                this.originalNodeAdded = true;
            }
        }*/
		}
	};
	var _svgMatteSymbols = [];

	function SVGMatte3Effect(filterElem, filterManager, elem){
		this.initialized = false;
		this.filterManager = filterManager;
		this.filterElem = filterElem;
		this.elem = elem;
		elem.matteElement = createNS('g');
		elem.matteElement.appendChild(elem.layerElement);
		elem.matteElement.appendChild(elem.transformedElement);
		elem.baseElement = elem.matteElement;
	}

	SVGMatte3Effect.prototype.findSymbol = function(mask) {
		var i = 0, len = _svgMatteSymbols.length;
		while(i < len) {
			if(_svgMatteSymbols[i] === mask) {
				return _svgMatteSymbols[i];
			}
			i += 1;
		}
		return null;
	};

	SVGMatte3Effect.prototype.replaceInParent = function(mask, symbolId) {
		var parentNode = mask.layerElement.parentNode;
		if(!parentNode) {
			return;
		}
		var children = parentNode.children;
		var i = 0, len = children.length;
		while (i < len) {
			if (children[i] === mask.layerElement) {
				break;
			}
			i += 1;
		}
		var nextChild;
		if (i <= len - 2) {
			nextChild = children[i + 1];
		}
		var useElem = createNS('use');
		useElem.setAttribute('href', '#' + symbolId);
		if(nextChild) {
			parentNode.insertBefore(useElem, nextChild);
		} else {
			parentNode.appendChild(useElem);
		}
	};

	SVGMatte3Effect.prototype.setElementAsMask = function(elem, mask) {
		if(!this.findSymbol(mask)) {
			var symbolId = createElementID();
			var masker = createNS('mask');
			masker.setAttribute('id', mask.layerId);
			masker.setAttribute('mask-type', 'alpha');
			_svgMatteSymbols.push(mask);
			var defs = elem.globalData.defs;
			defs.appendChild(masker);
			var symbol = createNS('symbol');
			symbol.setAttribute('id', symbolId);
			this.replaceInParent(mask, symbolId);
			symbol.appendChild(mask.layerElement);
			defs.appendChild(symbol);
			var useElem = createNS('use');
			useElem.setAttribute('href', '#' + symbolId);
			masker.appendChild(useElem);
			mask.data.hd = false;
			mask.show();
		}
		elem.setMatte(mask.layerId);
	};

	SVGMatte3Effect.prototype.initialize = function() {
		var ind = this.filterManager.effectElements[0].p.v;
		var elements = this.elem.comp.elements;
		var i = 0, len = elements.length;
		while (i < len) {
			if (elements[i] && elements[i].data.ind === ind) {
				this.setElementAsMask(this.elem, elements[i]);
			}
			i += 1;
		}
		this.initialized = true;
	};

	SVGMatte3Effect.prototype.renderFrame = function() {
		if(!this.initialized) {
			this.initialize();
		}
	};
	function SVGEffects(elem){
		var i, len = elem.data.ef ? elem.data.ef.length : 0;
		var filId = createElementID();
		var fil = filtersFactory.createFilter(filId);
		var count = 0;
		this.filters = [];
		var filterManager;
		for(i=0;i<len;i+=1){
			filterManager = null;
			if(elem.data.ef[i].ty === 20){
				count += 1;
				filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);
			}else if(elem.data.ef[i].ty === 21){
				count += 1;
				filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);
			}else if(elem.data.ef[i].ty === 22){
				filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);
			}else if(elem.data.ef[i].ty === 23){
				count += 1;
				filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);
			}else if(elem.data.ef[i].ty === 24){
				count += 1;
				filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);
			}else if(elem.data.ef[i].ty === 25){
				count += 1;
				filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);
			}else if(elem.data.ef[i].ty === 28){
				//count += 1;
				filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);
			}else if(elem.data.ef[i].ty === 29){
				count += 1;
				filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);
			}
			if(filterManager) {
				this.filters.push(filterManager);
			}
		}
		if(count){
			elem.globalData.defs.appendChild(fil);
			elem.layerElement.setAttribute('filter','url(' + locationHref + '#'+filId+')');
		}
		if (this.filters.length) {
			elem.addRenderableComponent(this);
		}
	}

	SVGEffects.prototype.renderFrame = function(_isFirstFrame){
		var i, len = this.filters.length;
		for(i=0;i<len;i+=1){
			this.filters[i].renderFrame(_isFirstFrame);
		}
	};
	function CVContextData() {
		this.saved = [];
		this.cArrPos = 0;
		this.cTr = new Matrix();
		this.cO = 1;
		var i, len = 15;
		this.savedOp = createTypedArray('float32', len);
		for(i=0;i<len;i+=1){
			this.saved[i] = createTypedArray('float32', 16);
		}
		this._length = len;
	}

	CVContextData.prototype.duplicate = function() {
		var newLength = this._length * 2;
		var currentSavedOp = this.savedOp;
		this.savedOp = createTypedArray('float32', newLength);
		this.savedOp.set(currentSavedOp);
		var i = 0;
		for(i = this._length; i < newLength; i += 1) {
			this.saved[i] = createTypedArray('float32', 16);
		}
		this._length = newLength;
	};

	CVContextData.prototype.reset = function() {
		this.cArrPos = 0;
		this.cTr.reset();
		this.cO = 1;
	};
	function CVBaseElement(){
	}

	CVBaseElement.prototype = {
		createElements: function(){},
		initRendererElement: function(){},
		createContainerElements: function(){
			this.canvasContext = this.globalData.canvasContext;
			this.renderableEffectsManager = new CVEffects(this);
		},
		createContent: function(){},
		setBlendMode: function(){
			var globalData = this.globalData;
			if(globalData.blendMode !== this.data.bm) {
				globalData.blendMode = this.data.bm;
				var blendModeValue = getBlendMode(this.data.bm);
				globalData.canvasContext.globalCompositeOperation = blendModeValue;
			}
		},
		createRenderableComponents: function(){
			this.maskManager = new CVMaskElement(this.data, this);
		},
		hideElement: function(){
			if (!this.hidden && (!this.isInRange || this.isTransparent)) {
				this.hidden = true;
			}
		},
		showElement: function(){
			if (this.isInRange && !this.isTransparent){
				this.hidden = false;
				this._isFirstFrame = true;
				this.maskManager._isFirstFrame = true;
			}
		},
		renderFrame: function() {
			if (this.hidden || this.data.hd) {
				return;
			}
			this.renderTransform();
			this.renderRenderable();
			this.setBlendMode();
			var forceRealStack = this.data.ty === 0;
			this.globalData.renderer.save(forceRealStack);
			this.globalData.renderer.ctxTransform(this.finalTransform.mat.props);
			this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v);
			this.renderInnerContent();
			this.globalData.renderer.restore(forceRealStack);
			if(this.maskManager.hasMasks) {
				this.globalData.renderer.restore(true);
			}
			if (this._isFirstFrame) {
				this._isFirstFrame = false;
			}
		},
		destroy: function(){
			this.canvasContext = null;
			this.data = null;
			this.globalData = null;
			this.maskManager.destroy();
		},
		mHelper: new Matrix()
	};
	CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;
	CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;

	function CVImageElement(data, globalData, comp){
		this.assetData = globalData.getAssetData(data.refId);
		this.img = globalData.imageLoader.getImage(this.assetData);
		this.initElement(data,globalData,comp);
	}
	extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);

	CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;
	CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;

	CVImageElement.prototype.createContent = function(){

		if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {
			var canvas = createTag('canvas');
			canvas.width = this.assetData.w;
			canvas.height = this.assetData.h;
			var ctx = canvas.getContext('2d');

			var imgW = this.img.width;
			var imgH = this.img.height;
			var imgRel = imgW / imgH;
			var canvasRel = this.assetData.w/this.assetData.h;
			var widthCrop, heightCrop;
			var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;
			if((imgRel > canvasRel && par === 'xMidYMid slice') || (imgRel < canvasRel && par !== 'xMidYMid slice')) {
				heightCrop = imgH;
				widthCrop = heightCrop*canvasRel;
			} else {
				widthCrop = imgW;
				heightCrop = widthCrop/canvasRel;
			}
			ctx.drawImage(this.img,(imgW-widthCrop)/2,(imgH-heightCrop)/2,widthCrop,heightCrop,0,0,this.assetData.w,this.assetData.h);
			this.img = canvas;
		}

	};

	CVImageElement.prototype.renderInnerContent = function(parentMatrix){
		this.canvasContext.drawImage(this.img, 0, 0);
	};

	CVImageElement.prototype.destroy = function(){
		this.img = null;
	};
	function CVCompElement(data, globalData, comp) {
		this.completeLayers = false;
		this.layers = data.layers;
		this.pendingElements = [];
		this.elements = createSizedArray(this.layers.length);
		this.initElement(data, globalData, comp);
		this.tm = data.tm ? PropertyFactory.getProp(this,data.tm,0,globalData.frameRate, this) : {_placeholder:true};
	}

	extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);

	CVCompElement.prototype.renderInnerContent = function() {
		var ctx = this.canvasContext;
		ctx.beginPath();
		ctx.moveTo(0, 0);
		ctx.lineTo(this.data.w, 0);
		ctx.lineTo(this.data.w, this.data.h);
		ctx.lineTo(0, this.data.h);
		ctx.lineTo(0, 0);
		ctx.clip();
		var i,len = this.layers.length;
		for( i = len - 1; i >= 0; i -= 1 ){
			if(this.completeLayers || this.elements[i]){
				this.elements[i].renderFrame();
			}
		}
	};

	CVCompElement.prototype.destroy = function(){
		var i,len = this.layers.length;
		for( i = len - 1; i >= 0; i -= 1 ){
			if(this.elements[i]) {
				this.elements[i].destroy();
			}
		}
		this.layers = null;
		this.elements = null;
	};

	function CVMaskElement(data,element){
		this.data = data;
		this.element = element;
		this.masksProperties = this.data.masksProperties || [];
		this.viewData = createSizedArray(this.masksProperties.length);
		var i, len = this.masksProperties.length, hasMasks = false;
		for (i = 0; i < len; i++) {
			if(this.masksProperties[i].mode !== 'n'){
				hasMasks = true;
			}
			this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[i],3);
		}
		this.hasMasks = hasMasks;
		if(hasMasks) {
			this.element.addRenderableComponent(this);
		}
	}

	CVMaskElement.prototype.renderFrame = function () {
		if(!this.hasMasks){
			return;
		}
		var transform = this.element.finalTransform.mat;
		var ctx = this.element.canvasContext;
		var i, len = this.masksProperties.length;
		var pt,pts,data;
		ctx.beginPath();
		for (i = 0; i < len; i++) {
			if(this.masksProperties[i].mode !== 'n'){
				if (this.masksProperties[i].inv) {
					ctx.moveTo(0, 0);
					ctx.lineTo(this.element.globalData.compSize.w, 0);
					ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);
					ctx.lineTo(0, this.element.globalData.compSize.h);
					ctx.lineTo(0, 0);
				}
				data = this.viewData[i].v;
				pt = transform.applyToPointArray(data.v[0][0],data.v[0][1],0);
				ctx.moveTo(pt[0], pt[1]);
				var j, jLen = data._length;
				for (j = 1; j < jLen; j++) {
					pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);
					ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);
				}
				pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);
				ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);
			}
		}
		this.element.globalData.renderer.save(true);
		ctx.clip();
	};

	CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;

	CVMaskElement.prototype.destroy = function(){
		this.element = null;
	};
	function CVShapeElement(data, globalData, comp) {
		this.shapes = [];
		this.shapesData = data.shapes;
		this.stylesList = [];
		this.itemsData = [];
		this.prevViewData = [];
		this.shapeModifiers = [];
		this.processedElements = [];
		this.transformsManager = new ShapeTransformManager();
		this.initElement(data, globalData, comp);
	}

	extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement], CVShapeElement);

	CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;

	CVShapeElement.prototype.transformHelper = {opacity:1,_opMdf:false};

	CVShapeElement.prototype.dashResetter = [];

	CVShapeElement.prototype.createContent = function(){
		this.searchShapes(this.shapesData,this.itemsData,this.prevViewData, true, []);
	};

	CVShapeElement.prototype.createStyleElement = function(data, transforms) {
		var styleElem = {
			data: data,
			type: data.ty,
			preTransforms: this.transformsManager.addTransformSequence(transforms),
			transforms: [],
			elements: [],
			closed: data.hd === true
		};
		var elementData = {};
		if(data.ty == 'fl' || data.ty == 'st'){
			elementData.c = PropertyFactory.getProp(this,data.c,1,255,this);
			if(!elementData.c.k){
				styleElem.co = 'rgb('+bm_floor(elementData.c.v[0])+','+bm_floor(elementData.c.v[1])+','+bm_floor(elementData.c.v[2])+')';
			}
		} else if (data.ty === 'gf' || data.ty === 'gs') {
			elementData.s = PropertyFactory.getProp(this,data.s,1,null,this);
			elementData.e = PropertyFactory.getProp(this,data.e,1,null,this);
			elementData.h = PropertyFactory.getProp(this,data.h||{k:0},0,0.01,this);
			elementData.a = PropertyFactory.getProp(this,data.a||{k:0},0,degToRads,this);
			elementData.g = new GradientProperty(this,data.g,this);
		}
		elementData.o = PropertyFactory.getProp(this,data.o,0,0.01,this);
		if(data.ty == 'st' || data.ty == 'gs') {
			styleElem.lc = this.lcEnum[data.lc] || 'round';
			styleElem.lj = this.ljEnum[data.lj] || 'round';
			if(data.lj == 1) {
				styleElem.ml = data.ml;
			}
			elementData.w = PropertyFactory.getProp(this,data.w,0,null,this);
			if(!elementData.w.k){
				styleElem.wi = elementData.w.v;
			}
			if(data.d){
				var d = new DashProperty(this,data.d,'canvas', this);
				elementData.d = d;
				if(!elementData.d.k){
					styleElem.da = elementData.d.dashArray;
					styleElem.do = elementData.d.dashoffset[0];
				}
			}
		} else {
			styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';
		}
		this.stylesList.push(styleElem);
		elementData.style = styleElem;
		return elementData;
	};

	CVShapeElement.prototype.createGroupElement = function(data) {
		var elementData = {
			it: [],
			prevViewData: []
		};
		return elementData;
	};

	CVShapeElement.prototype.createTransformElement = function(data) {
		var elementData = {
			transform : {
				opacity: 1,
				_opMdf:false,
				key: this.transformsManager.getNewKey(),
				op: PropertyFactory.getProp(this,data.o,0,0.01,this),
				mProps: TransformPropertyFactory.getTransformProperty(this,data,this)
			}
		};
		return elementData;
	};

	CVShapeElement.prototype.createShapeElement = function(data) {
		var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);

		this.shapes.push(elementData);
		this.addShapeToModifiers(elementData);
		return elementData;
	};

	CVShapeElement.prototype.reloadShapes = function() {
		this._isFirstFrame = true;
		var i, len = this.itemsData.length;
		for (i = 0; i < len; i += 1) {
			this.prevViewData[i] = this.itemsData[i];
		}
		this.searchShapes(this.shapesData,this.itemsData,this.prevViewData, true, []);
		len = this.dynamicProperties.length;
		for (i = 0; i < len; i += 1) {
			this.dynamicProperties[i].getValue();
		}
		this.renderModifiers();
		this.transformsManager.processSequences(this._isFirstFrame);
	};

	CVShapeElement.prototype.addTransformToStyleList = function(transform) {
		var i, len = this.stylesList.length;
		for (i = 0; i < len; i += 1) {
			if(!this.stylesList[i].closed) {
				this.stylesList[i].transforms.push(transform);
			}
		}
	}

	CVShapeElement.prototype.removeTransformFromStyleList = function() {
		var i, len = this.stylesList.length;
		for (i = 0; i < len; i += 1) {
			if(!this.stylesList[i].closed) {
				this.stylesList[i].transforms.pop();
			}
		}
	}

	CVShapeElement.prototype.closeStyles = function(styles) {
		var i, len = styles.length, j, jLen;
		for (i = 0; i < len; i += 1) {
			styles[i].closed = true;
		}
	}

	CVShapeElement.prototype.searchShapes = function(arr,itemsData, prevViewData, shouldRender, transforms){
		var i, len = arr.length - 1;
		var j, jLen;
		var ownStyles = [], ownModifiers = [], processedPos, modifier, currentTransform;
		var ownTransforms = [].concat(transforms);
		for(i=len;i>=0;i-=1){
			processedPos = this.searchProcessedElement(arr[i]);
			if(!processedPos){
				arr[i]._shouldRender = shouldRender;
			} else {
				itemsData[i] = prevViewData[processedPos - 1];
			}
			if(arr[i].ty == 'fl' || arr[i].ty == 'st'|| arr[i].ty == 'gf'|| arr[i].ty == 'gs'){
				if(!processedPos){
					itemsData[i] = this.createStyleElement(arr[i], ownTransforms);
				} else {
					itemsData[i].style.closed = false;
				}

				ownStyles.push(itemsData[i].style);
			}else if(arr[i].ty == 'gr'){
				if(!processedPos){
					itemsData[i] = this.createGroupElement(arr[i]);
				} else {
					jLen = itemsData[i].it.length;
					for(j=0;j<jLen;j+=1){
						itemsData[i].prevViewData[j] = itemsData[i].it[j];
					}
				}
				this.searchShapes(arr[i].it,itemsData[i].it,itemsData[i].prevViewData, shouldRender, ownTransforms);
			}else if(arr[i].ty == 'tr'){
				if(!processedPos){
					currentTransform = this.createTransformElement(arr[i]);
					itemsData[i] = currentTransform;
				}
				ownTransforms.push(itemsData[i]);
				this.addTransformToStyleList(itemsData[i]);
			}else if(arr[i].ty == 'sh' || arr[i].ty == 'rc' || arr[i].ty == 'el' || arr[i].ty == 'sr'){
				if(!processedPos){
					itemsData[i] = this.createShapeElement(arr[i]);
				}

			}else if(arr[i].ty == 'tm' || arr[i].ty == 'rd'){
				if(!processedPos){
					modifier = ShapeModifiers.getModifier(arr[i].ty);
					modifier.init(this,arr[i]);
					itemsData[i] = modifier;
					this.shapeModifiers.push(modifier);
				} else {
					modifier = itemsData[i];
					modifier.closed = false;
				}
				ownModifiers.push(modifier);
			} else if(arr[i].ty == 'rp'){
				if(!processedPos){
					modifier = ShapeModifiers.getModifier(arr[i].ty);
					itemsData[i] = modifier;
					modifier.init(this,arr,i,itemsData);
					this.shapeModifiers.push(modifier);
					shouldRender = false;
				}else{
					modifier = itemsData[i];
					modifier.closed = true;
				}
				ownModifiers.push(modifier);
			}
			this.addProcessedElement(arr[i], i + 1);
		}
		this.removeTransformFromStyleList();
		this.closeStyles(ownStyles);
		len = ownModifiers.length;
		for(i=0;i<len;i+=1){
			ownModifiers[i].closed = true;
		}
	};

	CVShapeElement.prototype.renderInnerContent = function() {
		this.transformHelper.opacity = 1;
		this.transformHelper._opMdf = false;
		this.renderModifiers();
		this.transformsManager.processSequences(this._isFirstFrame);
		this.renderShape(this.transformHelper,this.shapesData,this.itemsData,true);
	};

	CVShapeElement.prototype.renderShapeTransform = function(parentTransform, groupTransform) {
		var props, groupMatrix;
		if(parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {
			groupTransform.opacity = parentTransform.opacity;
			groupTransform.opacity *= groupTransform.op.v;
			groupTransform._opMdf = true;
		}
	};

	CVShapeElement.prototype.drawLayer = function() {
		var i, len = this.stylesList.length;
		var j, jLen, k, kLen,elems,nodes, renderer = this.globalData.renderer, ctx = this.globalData.canvasContext, type, currentStyle;
		for(i=0;i<len;i+=1){
			currentStyle = this.stylesList[i];
			type = currentStyle.type;

			//Skipping style when
			//Stroke width equals 0
			//style should not be rendered (extra unused repeaters)
			//current opacity equals 0
			//global opacity equals 0
			if(((type === 'st' || type === 'gs') && currentStyle.wi === 0) || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0){
				continue;
			}
			renderer.save();
			elems = currentStyle.elements;
			if(type === 'st' || type === 'gs'){
				ctx.strokeStyle = type === 'st' ? currentStyle.co : currentStyle.grd;
				ctx.lineWidth = currentStyle.wi;
				ctx.lineCap = currentStyle.lc;
				ctx.lineJoin = currentStyle.lj;
				ctx.miterLimit = currentStyle.ml || 0;
			} else {
				ctx.fillStyle = type === 'fl' ? currentStyle.co : currentStyle.grd;
			}
			renderer.ctxOpacity(currentStyle.coOp);
			if(type !== 'st' && type !== 'gs'){
				ctx.beginPath();
			}
			renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);
			jLen = elems.length;
			for(j=0;j<jLen;j+=1){
				if(type === 'st' || type === 'gs'){
					ctx.beginPath();
					if(currentStyle.da){
						ctx.setLineDash(currentStyle.da);
						ctx.lineDashOffset = currentStyle.do;
					}
				}
				nodes = elems[j].trNodes;
				kLen = nodes.length;

				for(k=0;k<kLen;k+=1){
					if(nodes[k].t == 'm'){
						ctx.moveTo(nodes[k].p[0],nodes[k].p[1]);
					}else if(nodes[k].t == 'c'){
						ctx.bezierCurveTo(nodes[k].pts[0],nodes[k].pts[1],nodes[k].pts[2],nodes[k].pts[3],nodes[k].pts[4],nodes[k].pts[5]);
					}else{
						ctx.closePath();
					}
				}
				if(type === 'st' || type === 'gs'){
					ctx.stroke();
					if(currentStyle.da){
						ctx.setLineDash(this.dashResetter);
					}
				}
			}
			if(type !== 'st' && type !== 'gs'){
				ctx.fill(currentStyle.r);
			}
			renderer.restore();
		}
	};

	CVShapeElement.prototype.renderShape = function(parentTransform,items,data,isMain){
		var i, len = items.length - 1;
		var groupTransform;
		groupTransform = parentTransform;
		for(i=len;i>=0;i-=1){
			if(items[i].ty == 'tr'){
				groupTransform = data[i].transform;
				this.renderShapeTransform(parentTransform, groupTransform);
			}else if(items[i].ty == 'sh' || items[i].ty == 'el' || items[i].ty == 'rc' || items[i].ty == 'sr'){
				this.renderPath(items[i],data[i]);
			}else if(items[i].ty == 'fl'){
				this.renderFill(items[i],data[i],groupTransform);
			}else if(items[i].ty == 'st'){
				this.renderStroke(items[i],data[i],groupTransform);
			}else if(items[i].ty == 'gf' || items[i].ty == 'gs'){
				this.renderGradientFill(items[i],data[i],groupTransform);
			}else if(items[i].ty == 'gr'){
				this.renderShape(groupTransform,items[i].it,data[i].it);
			}else if(items[i].ty == 'tm'){
				//
			}
		}
		if(isMain){
			this.drawLayer();
		}

	};

	CVShapeElement.prototype.renderStyledShape = function(styledShape, shape){
		if(this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {
			var shapeNodes = styledShape.trNodes;
			var paths = shape.paths;
			var i, len, j, jLen = paths._length;
			shapeNodes.length = 0;
			var groupTransformMat = styledShape.transforms.finalTransform;
			for (j = 0; j < jLen; j += 1) {
				var pathNodes = paths.shapes[j];
				if(pathNodes && pathNodes.v){
					len = pathNodes._length;
					for (i = 1; i < len; i += 1) {
						if (i === 1) {
							shapeNodes.push({
								t: 'm',
								p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)
							});
						}
						shapeNodes.push({
							t: 'c',
							pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])
						});
					}
					if (len === 1) {
						shapeNodes.push({
							t: 'm',
							p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)
						});
					}
					if (pathNodes.c && len) {
						shapeNodes.push({
							t: 'c',
							pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])
						});
						shapeNodes.push({
							t: 'z'
						});
					}
				}
			}
			styledShape.trNodes = shapeNodes;
		}
	}

	CVShapeElement.prototype.renderPath = function(pathData,itemData){
		if(pathData.hd !== true && pathData._shouldRender) {
			var i, len = itemData.styledShapes.length;
			for (i = 0; i < len; i += 1) {
				this.renderStyledShape(itemData.styledShapes[i], itemData.sh);
			}
		}
	};

	CVShapeElement.prototype.renderFill = function(styleData,itemData, groupTransform){
		var styleElem = itemData.style;

		if (itemData.c._mdf || this._isFirstFrame) {
			styleElem.co = 'rgb('
				+ bm_floor(itemData.c.v[0]) + ','
				+ bm_floor(itemData.c.v[1]) + ','
				+ bm_floor(itemData.c.v[2]) + ')';
		}
		if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {
			styleElem.coOp = itemData.o.v * groupTransform.opacity;
		}
	};

	CVShapeElement.prototype.renderGradientFill = function(styleData,itemData, groupTransform){
		var styleElem = itemData.style;
		if(!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || (styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf))) {
			var ctx = this.globalData.canvasContext;
			var grd;
			var pt1 = itemData.s.v, pt2 = itemData.e.v;
			if (styleData.t === 1) {
				grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);
			} else {
				var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));
				var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);

				var percent = itemData.h.v >= 1 ? 0.99 : itemData.h.v <= -1 ? -0.99: itemData.h.v;
				var dist = rad * percent;
				var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];
				var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];
				var grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);
			}

			var i, len = styleData.g.p;
			var cValues = itemData.g.c;
			var opacity = 1;

			for (i = 0; i < len; i += 1){
				if(itemData.g._hasOpacity && itemData.g._collapsable) {
					opacity = itemData.g.o[i*2 + 1];
				}
				grd.addColorStop(cValues[i * 4] / 100,'rgba('+ cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ','+cValues[i * 4 + 3] + ',' + opacity + ')');
			}
			styleElem.grd = grd;
		}
		styleElem.coOp = itemData.o.v*groupTransform.opacity;

	};

	CVShapeElement.prototype.renderStroke = function(styleData,itemData, groupTransform){
		var styleElem = itemData.style;
		var d = itemData.d;
		if(d && (d._mdf  || this._isFirstFrame)){
			styleElem.da = d.dashArray;
			styleElem.do = d.dashoffset[0];
		}
		if(itemData.c._mdf || this._isFirstFrame){
			styleElem.co = 'rgb('+bm_floor(itemData.c.v[0])+','+bm_floor(itemData.c.v[1])+','+bm_floor(itemData.c.v[2])+')';
		}
		if(itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame){
			styleElem.coOp = itemData.o.v*groupTransform.opacity;
		}
		if(itemData.w._mdf || this._isFirstFrame){
			styleElem.wi = itemData.w.v;
		}
	};


	CVShapeElement.prototype.destroy = function(){
		this.shapesData = null;
		this.globalData = null;
		this.canvasContext = null;
		this.stylesList.length = 0;
		this.itemsData.length = 0;
	};


	function CVSolidElement(data, globalData, comp) {
		this.initElement(data,globalData,comp);
	}
	extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);

	CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;
	CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;

	CVSolidElement.prototype.renderInnerContent = function() {
		var ctx = this.canvasContext;
		ctx.fillStyle = this.data.sc;
		ctx.fillRect(0, 0, this.data.sw, this.data.sh);
		//
	};
	function CVTextElement(data, globalData, comp){
		this.textSpans = [];
		this.yOffset = 0;
		this.fillColorAnim = false;
		this.strokeColorAnim = false;
		this.strokeWidthAnim = false;
		this.stroke = false;
		this.fill = false;
		this.justifyOffset = 0;
		this.currentRender = null;
		this.renderType = 'canvas';
		this.values = {
			fill: 'rgba(0,0,0,0)',
			stroke: 'rgba(0,0,0,0)',
			sWidth: 0,
			fValue: ''
		};
		this.initElement(data,globalData,comp);
	}
	extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement], CVTextElement);

	CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');

	CVTextElement.prototype.buildNewText = function(){
		var documentData = this.textProperty.currentData;
		this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);

		var hasFill = false;
		if(documentData.fc) {
			hasFill = true;
			this.values.fill = this.buildColor(documentData.fc);
		}else{
			this.values.fill = 'rgba(0,0,0,0)';
		}
		this.fill = hasFill;
		var hasStroke = false;
		if(documentData.sc){
			hasStroke = true;
			this.values.stroke = this.buildColor(documentData.sc);
			this.values.sWidth = documentData.sw;
		}
		var fontData = this.globalData.fontManager.getFontByName(documentData.f);
		var i, len;
		var letters = documentData.l;
		var matrixHelper = this.mHelper;
		this.stroke = hasStroke;
		this.values.fValue = documentData.finalSize + 'px '+ this.globalData.fontManager.getFontByName(documentData.f).fFamily;
		len = documentData.finalText.length;
		//this.tHelper.font = this.values.fValue;
		var charData, shapeData, k, kLen, shapes, j, jLen, pathNodes, commands, pathArr, singleShape = this.data.singleShape;
		var trackingOffset = documentData.tr/1000*documentData.finalSize;
		var xPos = 0, yPos = 0, firstLine = true;
		var cnt = 0;
		for (i = 0; i < len; i += 1) {
			charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);
			shapeData = charData && charData.data || {};
			matrixHelper.reset();
			if(singleShape && letters[i].n) {
				xPos = -trackingOffset;
				yPos += documentData.yOffset;
				yPos += firstLine ? 1 : 0;
				firstLine = false;
			}

			shapes = shapeData.shapes ? shapeData.shapes[0].it : [];
			jLen = shapes.length;
			matrixHelper.scale(documentData.finalSize/100,documentData.finalSize/100);
			if(singleShape){
				this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);
			}
			commands = createSizedArray(jLen);
			for(j=0;j<jLen;j+=1){
				kLen = shapes[j].ks.k.i.length;
				pathNodes = shapes[j].ks.k;
				pathArr = [];
				for(k=1;k<kLen;k+=1){
					if(k==1){
						pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0],pathNodes.v[0][1],0),matrixHelper.applyToY(pathNodes.v[0][0],pathNodes.v[0][1],0));
					}
					pathArr.push(matrixHelper.applyToX(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToY(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToX(pathNodes.i[k][0],pathNodes.i[k][1],0),matrixHelper.applyToY(pathNodes.i[k][0],pathNodes.i[k][1],0),matrixHelper.applyToX(pathNodes.v[k][0],pathNodes.v[k][1],0),matrixHelper.applyToY(pathNodes.v[k][0],pathNodes.v[k][1],0));
				}
				pathArr.push(matrixHelper.applyToX(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToY(pathNodes.o[k-1][0],pathNodes.o[k-1][1],0),matrixHelper.applyToX(pathNodes.i[0][0],pathNodes.i[0][1],0),matrixHelper.applyToY(pathNodes.i[0][0],pathNodes.i[0][1],0),matrixHelper.applyToX(pathNodes.v[0][0],pathNodes.v[0][1],0),matrixHelper.applyToY(pathNodes.v[0][0],pathNodes.v[0][1],0));
				commands[j] = pathArr;
			}
			if(singleShape){
				xPos += letters[i].l;
				xPos += trackingOffset;
			}
			if(this.textSpans[cnt]){
				this.textSpans[cnt].elem = commands;
			} else {
				this.textSpans[cnt] = {elem: commands};
			}
			cnt +=1;
		}
	};

	CVTextElement.prototype.renderInnerContent = function(){
		var ctx = this.canvasContext;
		var finalMat = this.finalTransform.mat.props;
		ctx.font = this.values.fValue;
		ctx.lineCap = 'butt';
		ctx.lineJoin = 'miter';
		ctx.miterLimit = 4;

		if(!this.data.singleShape){
			this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);
		}

		var  i,len, j, jLen, k, kLen;
		var renderedLetters = this.textAnimator.renderedLetters;

		var letters = this.textProperty.currentData.l;

		len = letters.length;
		var renderedLetter;
		var lastFill = null, lastStroke = null, lastStrokeW = null, commands, pathArr;
		for(i=0;i<len;i+=1){
			if(letters[i].n){
				continue;
			}
			renderedLetter = renderedLetters[i];
			if(renderedLetter){
				this.globalData.renderer.save();
				this.globalData.renderer.ctxTransform(renderedLetter.p);
				this.globalData.renderer.ctxOpacity(renderedLetter.o);
			}
			if(this.fill){
				if(renderedLetter && renderedLetter.fc){
					if(lastFill !== renderedLetter.fc){
						lastFill = renderedLetter.fc;
						ctx.fillStyle = renderedLetter.fc;
					}
				}else if(lastFill !== this.values.fill){
					lastFill = this.values.fill;
					ctx.fillStyle = this.values.fill;
				}
				commands = this.textSpans[i].elem;
				jLen = commands.length;
				this.globalData.canvasContext.beginPath();
				for(j=0;j<jLen;j+=1) {
					pathArr = commands[j];
					kLen = pathArr.length;
					this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);
					for (k = 2; k < kLen; k += 6) {
						this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);
					}
				}
				this.globalData.canvasContext.closePath();
				this.globalData.canvasContext.fill();
				///ctx.fillText(this.textSpans[i].val,0,0);
			}
			if(this.stroke){
				if(renderedLetter && renderedLetter.sw){
					if(lastStrokeW !== renderedLetter.sw){
						lastStrokeW = renderedLetter.sw;
						ctx.lineWidth = renderedLetter.sw;
					}
				}else if(lastStrokeW !== this.values.sWidth){
					lastStrokeW = this.values.sWidth;
					ctx.lineWidth = this.values.sWidth;
				}
				if(renderedLetter && renderedLetter.sc){
					if(lastStroke !== renderedLetter.sc){
						lastStroke = renderedLetter.sc;
						ctx.strokeStyle = renderedLetter.sc;
					}
				}else if(lastStroke !== this.values.stroke){
					lastStroke = this.values.stroke;
					ctx.strokeStyle = this.values.stroke;
				}
				commands = this.textSpans[i].elem;
				jLen = commands.length;
				this.globalData.canvasContext.beginPath();
				for(j=0;j<jLen;j+=1) {
					pathArr = commands[j];
					kLen = pathArr.length;
					this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);
					for (k = 2; k < kLen; k += 6) {
						this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);
					}
				}
				this.globalData.canvasContext.closePath();
				this.globalData.canvasContext.stroke();
				///ctx.strokeText(letters[i].val,0,0);
			}
			if(renderedLetter) {
				this.globalData.renderer.restore();
			}
		}
	};
	function CVEffects() {

	}
	CVEffects.prototype.renderFrame = function(){};
	function HBaseElement(data,globalData,comp){}
	HBaseElement.prototype = {
		checkBlendMode: function(){},
		initRendererElement: function(){
			this.baseElement = createTag(this.data.tg || 'div');
			if(this.data.hasMask) {
				this.svgElement = createNS('svg');
				this.layerElement = createNS('g');
				this.maskedElement = this.layerElement;
				this.svgElement.appendChild(this.layerElement);
				this.baseElement.appendChild(this.svgElement);
			} else {
				this.layerElement = this.baseElement;
			}
			styleDiv(this.baseElement);
		},
		createContainerElements: function(){
			this.renderableEffectsManager = new CVEffects(this);
			this.transformedElement = this.baseElement;
			this.maskedElement = this.layerElement;
			if (this.data.ln) {
				this.layerElement.setAttribute('id',this.data.ln);
			}
			if (this.data.cl) {
				this.layerElement.setAttribute('class', this.data.cl);
			}
			if (this.data.bm !== 0) {
				this.setBlendMode();
			}
		},
		renderElement: function() {
			if(this.finalTransform._matMdf){
				this.transformedElement.style.transform = this.transformedElement.style.webkitTransform = this.finalTransform.mat.toCSS();
			}
			if(this.finalTransform._opMdf){
				this.transformedElement.style.opacity = this.finalTransform.mProp.o.v;
			}
		},
		renderFrame: function() {
			//If it is exported as hidden (data.hd === true) no need to render
			//If it is not visible no need to render
			if (this.data.hd || this.hidden) {
				return;
			}
			this.renderTransform();
			this.renderRenderable();
			this.renderElement();
			this.renderInnerContent();
			if (this._isFirstFrame) {
				this._isFirstFrame = false;
			}
		},
		destroy: function(){
			this.layerElement = null;
			this.transformedElement = null;
			if(this.matteElement) {
				this.matteElement = null;
			}
			if(this.maskManager) {
				this.maskManager.destroy();
				this.maskManager = null;
			}
		},
		createRenderableComponents: function(){
			this.maskManager = new MaskElement(this.data, this, this.globalData);
		},
		addEffects: function(){
		},
		setMatte: function(){}
	};
	HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;
	HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;
	HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting;
	function HSolidElement(data,globalData,comp){
		this.initElement(data,globalData,comp);
	}
	extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement], HSolidElement);

	HSolidElement.prototype.createContent = function(){
		var rect;
		if(this.data.hasMask){
			rect = createNS('rect');
			rect.setAttribute('width',this.data.sw);
			rect.setAttribute('height',this.data.sh);
			rect.setAttribute('fill',this.data.sc);
			this.svgElement.setAttribute('width',this.data.sw);
			this.svgElement.setAttribute('height',this.data.sh);
		} else {
			rect = createTag('div');
			rect.style.width = this.data.sw + 'px';
			rect.style.height = this.data.sh + 'px';
			rect.style.backgroundColor = this.data.sc;
		}
		this.layerElement.appendChild(rect);
	};

	function HCompElement(data,globalData,comp){
		this.layers = data.layers;
		this.supports3d = !data.hasMask;
		this.completeLayers = false;
		this.pendingElements = [];
		this.elements = this.layers ? createSizedArray(this.layers.length) : [];
		this.initElement(data,globalData,comp);
		this.tm = data.tm ? PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this) : {_placeholder:true};
	}

	extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement);
	HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;

	HCompElement.prototype.createContainerElements = function(){
		this._createBaseContainerElements();
		//divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';
		if(this.data.hasMask){
			this.svgElement.setAttribute('width',this.data.w);
			this.svgElement.setAttribute('height',this.data.h);
			this.transformedElement = this.baseElement;
		} else {
			this.transformedElement = this.layerElement;
		}
	};

	HCompElement.prototype.addTo3dContainer = function(elem,pos) {
		var j = 0;
		var nextElement;
		while(j<pos){
			if(this.elements[j] && this.elements[j].getBaseElement){
				nextElement = this.elements[j].getBaseElement();
			}
			j += 1;
		}
		if(nextElement){
			this.layerElement.insertBefore(elem, nextElement);
		} else {
			this.layerElement.appendChild(elem);
		}
	}

	function HShapeElement(data,globalData,comp){
		//List of drawable elements
		this.shapes = [];
		// Full shape data
		this.shapesData = data.shapes;
		//List of styles that will be applied to shapes
		this.stylesList = [];
		//List of modifiers that will be applied to shapes
		this.shapeModifiers = [];
		//List of items in shape tree
		this.itemsData = [];
		//List of items in previous shape tree
		this.processedElements = [];
		// List of animated components
		this.animatedContents = [];
		this.shapesContainer = createNS('g');
		this.initElement(data,globalData,comp);
		//Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.
		// List of elements that have been created
		this.prevViewData = [];
		this.currentBBox = {
			x:999999,
			y: -999999,
			h: 0,
			w: 0
		};
	}
	extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement], HShapeElement);
	HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;

	HShapeElement.prototype.createContent = function(){
		var cont;
		this.baseElement.style.fontSize = 0;
		if (this.data.hasMask) {
			this.layerElement.appendChild(this.shapesContainer);
			cont = this.svgElement;
		} else {
			cont = createNS('svg');
			var size = this.comp.data ? this.comp.data : this.globalData.compSize;
			cont.setAttribute('width',size.w);
			cont.setAttribute('height',size.h);
			cont.appendChild(this.shapesContainer);
			this.layerElement.appendChild(cont);
		}

		this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0, [], true);
		this.filterUniqueShapes();
		this.shapeCont = cont;
	};

	HShapeElement.prototype.getTransformedPoint = function(transformers, point) {
		var i, len = transformers.length;
		for(i = 0; i < len; i += 1) {
			point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);
		}
		return point;
	}

	HShapeElement.prototype.calculateShapeBoundingBox = function(item, boundingBox) {
		var shape = item.sh.v;
		var transformers = item.transformers;
		var i, len = shape._length, vPoint, oPoint, nextIPoint, nextVPoint, bounds;
		if (len <= 1) {
			return;
		}
		for (i = 0; i < len - 1; i += 1) {
			vPoint = this.getTransformedPoint(transformers, shape.v[i]);
			oPoint = this.getTransformedPoint(transformers, shape.o[i]);
			nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);
			nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);
			this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);
		}
		if(shape.c) {
			vPoint = this.getTransformedPoint(transformers, shape.v[i]);
			oPoint = this.getTransformedPoint(transformers, shape.o[i]);
			nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);
			nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);
			this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);
		}
	}

	HShapeElement.prototype.checkBounds = function(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {
		this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);
		var bounds = this.shapeBoundingBox;
		boundingBox.x = bm_min(bounds.left, boundingBox.x);
		boundingBox.xMax = bm_max(bounds.right, boundingBox.xMax);
		boundingBox.y = bm_min(bounds.top, boundingBox.y);
		boundingBox.yMax = bm_max(bounds.bottom, boundingBox.yMax);
	}

	HShapeElement.prototype.shapeBoundingBox = {
		left:0,
		right:0,
		top:0,
		bottom:0,
	}

	HShapeElement.prototype.tempBoundingBox = {
		x:0,
		xMax:0,
		y:0,
		yMax:0,
		width:0,
		height:0
	}

	HShapeElement.prototype.getBoundsOfCurve = function(p0, p1, p2, p3) {

		var bounds = [[p0[0],p3[0]], [p0[1],p3[1]]];

		for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {

			b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];
			a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];
			c = 3 * p1[i] - 3 * p0[i];

			b = b | 0;
			a = a | 0;
			c = c | 0;

			if (a === 0) {

				if (b === 0) {
					continue;
				}

				t = -c / b;

				if (0 < t && t < 1) {
					bounds[i].push(this.calculateF(t,p0,p1,p2,p3,i));
				}
				continue;
			}

			b2ac = b * b - 4 * c * a;

			if (b2ac < 0) {
				continue;
			}

			t1 = (-b + bm_sqrt(b2ac))/(2 * a);
			if (0 < t1 && t1 < 1) bounds[i].push(this.calculateF(t1,p0,p1,p2,p3,i));

			t2 = (-b - bm_sqrt(b2ac))/(2 * a);
			if (0 < t2 && t2 < 1) bounds[i].push(this.calculateF(t2,p0,p1,p2,p3,i));

		}

		this.shapeBoundingBox.left = bm_min.apply(null, bounds[0]);
		this.shapeBoundingBox.top = bm_min.apply(null, bounds[1]);
		this.shapeBoundingBox.right = bm_max.apply(null, bounds[0]);
		this.shapeBoundingBox.bottom = bm_max.apply(null, bounds[1]);
	};

	HShapeElement.prototype.calculateF = function(t, p0, p1, p2, p3, i) {
		return bm_pow(1-t, 3) * p0[i]
			+ 3 * bm_pow(1-t, 2) * t * p1[i]
			+ 3 * (1-t) * bm_pow(t, 2) * p2[i]
			+ bm_pow(t, 3) * p3[i];
	}

	HShapeElement.prototype.calculateBoundingBox = function(itemsData, boundingBox) {
		var i, len = itemsData.length, path;
		for(i = 0; i < len; i += 1) {
			if(itemsData[i] && itemsData[i].sh) {
				this.calculateShapeBoundingBox(itemsData[i], boundingBox)
			} else if(itemsData[i] && itemsData[i].it) {
				this.calculateBoundingBox(itemsData[i].it, boundingBox)
			}
		}
	}

	HShapeElement.prototype.currentBoxContains = function(box) {
		return this.currentBBox.x <= box.x
			&& this.currentBBox.y <= box.y
			&& this.currentBBox.width + this.currentBBox.x >= box.x + box.width
			&& this.currentBBox.height + this.currentBBox.y >= box.y + box.height
	}

	HShapeElement.prototype.renderInnerContent = function() {
		this._renderShapeFrame();

		if(!this.hidden && (this._isFirstFrame || this._mdf)) {
			var tempBoundingBox = this.tempBoundingBox;
			var max = 999999;
			tempBoundingBox.x = max;
			tempBoundingBox.xMax = -max;
			tempBoundingBox.y = max;
			tempBoundingBox.yMax = -max;
			this.calculateBoundingBox(this.itemsData, tempBoundingBox);
			tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;
			tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y;
			//var tempBoundingBox = this.shapeCont.getBBox();
			if(this.currentBoxContains(tempBoundingBox)) {
				return;
			}
			var changed = false;
			if(this.currentBBox.w !== tempBoundingBox.width){
				this.currentBBox.w = tempBoundingBox.width;
				this.shapeCont.setAttribute('width',tempBoundingBox.width);
				changed = true;
			}
			if(this.currentBBox.h !== tempBoundingBox.height){
				this.currentBBox.h = tempBoundingBox.height;
				this.shapeCont.setAttribute('height',tempBoundingBox.height);
				changed = true;
			}
			if(changed  || this.currentBBox.x !== tempBoundingBox.x  || this.currentBBox.y !== tempBoundingBox.y){
				this.currentBBox.w = tempBoundingBox.width;
				this.currentBBox.h = tempBoundingBox.height;
				this.currentBBox.x = tempBoundingBox.x;
				this.currentBBox.y = tempBoundingBox.y;

				this.shapeCont.setAttribute('viewBox',this.currentBBox.x+' '+this.currentBBox.y+' '+this.currentBBox.w+' '+this.currentBBox.h);
				this.shapeCont.style.transform = this.shapeCont.style.webkitTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';
			}
		}

	};
	function HTextElement(data,globalData,comp){
		this.textSpans = [];
		this.textPaths = [];
		this.currentBBox = {
			x:999999,
			y: -999999,
			h: 0,
			w: 0
		};
		this.renderType = 'svg';
		this.isMasked = false;
		this.initElement(data,globalData,comp);

	}
	extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement], HTextElement);

	HTextElement.prototype.createContent = function(){
		this.isMasked = this.checkMasks();
		if(this.isMasked){
			this.renderType = 'svg';
			this.compW = this.comp.data.w;
			this.compH = this.comp.data.h;
			this.svgElement.setAttribute('width',this.compW);
			this.svgElement.setAttribute('height',this.compH);
			var g = createNS('g');
			this.maskedElement.appendChild(g);
			this.innerElem = g;
		} else {
			this.renderType = 'html';
			this.innerElem = this.layerElement;
		}

		this.checkParenting();

	};

	HTextElement.prototype.buildNewText = function(){
		var documentData = this.textProperty.currentData;
		this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);
		var innerElemStyle = this.innerElem.style;
		innerElemStyle.color = innerElemStyle.fill = documentData.fc ? this.buildColor(documentData.fc) : 'rgba(0,0,0,0)';
		if(documentData.sc){
			innerElemStyle.stroke = this.buildColor(documentData.sc);
			innerElemStyle.strokeWidth = documentData.sw+'px';
		}
		var fontData = this.globalData.fontManager.getFontByName(documentData.f);
		if(!this.globalData.fontManager.chars){
			innerElemStyle.fontSize = documentData.finalSize+'px';
			innerElemStyle.lineHeight = documentData.finalSize+'px';
			if(fontData.fClass){
				this.innerElem.className = fontData.fClass;
			} else {
				innerElemStyle.fontFamily = fontData.fFamily;
				var fWeight = documentData.fWeight, fStyle = documentData.fStyle;
				innerElemStyle.fontStyle = fStyle;
				innerElemStyle.fontWeight = fWeight;
			}
		}
		var i, len;

		var letters = documentData.l;
		len = letters.length;
		var tSpan,tParent,tCont;
		var matrixHelper = this.mHelper;
		var shapes, shapeStr = '';
		var cnt = 0;
		for (i = 0;i < len ;i += 1) {
			if(this.globalData.fontManager.chars){
				if(!this.textPaths[cnt]){
					tSpan = createNS('path');
					tSpan.setAttribute('stroke-linecap', 'butt');
					tSpan.setAttribute('stroke-linejoin','round');
					tSpan.setAttribute('stroke-miterlimit','4');
				} else {
					tSpan = this.textPaths[cnt];
				}
				if(!this.isMasked){
					if(this.textSpans[cnt]){
						tParent = this.textSpans[cnt];
						tCont = tParent.children[0];
					} else {

						tParent = createTag('div');
						tParent.style.lineHeight = 0;
						tCont = createNS('svg');
						tCont.appendChild(tSpan);
						styleDiv(tParent);
					}
				}
			}else{
				if(!this.isMasked){
					if(this.textSpans[cnt]){
						tParent = this.textSpans[cnt];
						tSpan = this.textPaths[cnt];
					} else {
						tParent = createTag('span');
						styleDiv(tParent);
						tSpan = createTag('span');
						styleDiv(tSpan);
						tParent.appendChild(tSpan);
					}
				} else {
					tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS('text');
				}
			}
			//tSpan.setAttribute('visibility', 'hidden');
			if(this.globalData.fontManager.chars){
				var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);
				var shapeData;
				if(charData){
					shapeData = charData.data;
				} else {
					shapeData = null;
				}
				matrixHelper.reset();
				if(shapeData && shapeData.shapes){
					shapes = shapeData.shapes[0].it;
					matrixHelper.scale(documentData.finalSize/100,documentData.finalSize/100);
					shapeStr = this.createPathShape(matrixHelper,shapes);
					tSpan.setAttribute('d',shapeStr);
				}
				if(!this.isMasked){
					this.innerElem.appendChild(tParent);
					if(shapeData && shapeData.shapes){

						//document.body.appendChild is needed to get exact measure of shape
						document.body.appendChild(tCont);
						var boundingBox = tCont.getBBox();
						tCont.setAttribute('width',boundingBox.width + 2);
						tCont.setAttribute('height',boundingBox.height + 2);
						tCont.setAttribute('viewBox',(boundingBox.x-1)+' '+ (boundingBox.y-1)+' '+ (boundingBox.width+2)+' '+ (boundingBox.height+2));
						tCont.style.transform = tCont.style.webkitTransform = 'translate(' + (boundingBox.x-1) + 'px,' + (boundingBox.y-1) + 'px)';

						letters[i].yOffset = boundingBox.y-1;

					} else{
						tCont.setAttribute('width',1);
						tCont.setAttribute('height',1);
					}
					tParent.appendChild(tCont);
				}else{
					this.innerElem.appendChild(tSpan);
				}
			}else{
				tSpan.textContent = letters[i].val;
				tSpan.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space","preserve");
				if(!this.isMasked){
					this.innerElem.appendChild(tParent);
					//
					tSpan.style.transform = tSpan.style.webkitTransform = 'translate3d(0,'+ -documentData.finalSize/1.2+'px,0)';
				} else {
					this.innerElem.appendChild(tSpan);
				}
			}
			//
			if(!this.isMasked){
				this.textSpans[cnt] = tParent;
			}else{
				this.textSpans[cnt] = tSpan;
			}
			this.textSpans[cnt].style.display = 'block';
			this.textPaths[cnt] = tSpan;
			cnt += 1;
		}
		while(cnt < this.textSpans.length){
			this.textSpans[cnt].style.display = 'none';
			cnt += 1;
		}
	};

	HTextElement.prototype.renderInnerContent = function() {

		if(this.data.singleShape){
			if(!this._isFirstFrame && !this.lettersChangedFlag){
				return;
			} else {
				// Todo Benchmark if using this is better than getBBox
				if(this.isMasked && this.finalTransform._matMdf){
					this.svgElement.setAttribute('viewBox',-this.finalTransform.mProp.p.v[0]+' '+ -this.finalTransform.mProp.p.v[1]+' '+this.compW+' '+this.compH);
					this.svgElement.style.transform = this.svgElement.style.webkitTransform = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)';
				}
			}
		}

		this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);
		if(!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag){
			return;
		}
		var  i,len, count = 0;
		var renderedLetters = this.textAnimator.renderedLetters;

		var letters = this.textProperty.currentData.l;

		len = letters.length;
		var renderedLetter, textSpan, textPath;
		for(i=0;i<len;i+=1){
			if(letters[i].n){
				count += 1;
				continue;
			}
			textSpan = this.textSpans[i];
			textPath = this.textPaths[i];
			renderedLetter = renderedLetters[count];
			count += 1;
			if(renderedLetter._mdf.m) {
				if(!this.isMasked){
					textSpan.style.transform = textSpan.style.webkitTransform = renderedLetter.m;
				}else{
					textSpan.setAttribute('transform',renderedLetter.m);
				}
			}
			////textSpan.setAttribute('opacity',renderedLetter.o);
			textSpan.style.opacity = renderedLetter.o;
			if(renderedLetter.sw && renderedLetter._mdf.sw){
				textPath.setAttribute('stroke-width',renderedLetter.sw);
			}
			if(renderedLetter.sc && renderedLetter._mdf.sc){
				textPath.setAttribute('stroke',renderedLetter.sc);
			}
			if(renderedLetter.fc && renderedLetter._mdf.fc){
				textPath.setAttribute('fill',renderedLetter.fc);
				textPath.style.color = renderedLetter.fc;
			}
		}

		if(this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)){
			var boundingBox = this.innerElem.getBBox();

			if(this.currentBBox.w !== boundingBox.width){
				this.currentBBox.w = boundingBox.width;
				this.svgElement.setAttribute('width',boundingBox.width);
			}
			if(this.currentBBox.h !== boundingBox.height){
				this.currentBBox.h = boundingBox.height;
				this.svgElement.setAttribute('height',boundingBox.height);
			}

			var margin = 1;
			if(this.currentBBox.w !== (boundingBox.width + margin*2) || this.currentBBox.h !== (boundingBox.height + margin*2)  || this.currentBBox.x !== (boundingBox.x - margin)  || this.currentBBox.y !== (boundingBox.y - margin)){
				this.currentBBox.w = boundingBox.width + margin*2;
				this.currentBBox.h = boundingBox.height + margin*2;
				this.currentBBox.x = boundingBox.x - margin;
				this.currentBBox.y = boundingBox.y - margin;

				this.svgElement.setAttribute('viewBox',this.currentBBox.x+' '+this.currentBBox.y+' '+this.currentBBox.w+' '+this.currentBBox.h);
				this.svgElement.style.transform = this.svgElement.style.webkitTransform = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)';
			}
		}
	};
	function HImageElement(data,globalData,comp){
		this.assetData = globalData.getAssetData(data.refId);
		this.initElement(data,globalData,comp);
	}

	extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement], HImageElement);


	HImageElement.prototype.createContent = function(){
		var assetPath = this.globalData.getAssetsPath(this.assetData);
		var img = new Image();

		if(this.data.hasMask){
			this.imageElem = createNS('image');
			this.imageElem.setAttribute('width',this.assetData.w+"px");
			this.imageElem.setAttribute('height',this.assetData.h+"px");
			this.imageElem.setAttributeNS('http://www.w3.org/1999/xlink','href',assetPath);
			this.layerElement.appendChild(this.imageElem);
			this.baseElement.setAttribute('width',this.assetData.w);
			this.baseElement.setAttribute('height',this.assetData.h);
		} else {
			this.layerElement.appendChild(img);
		}
		img.src = assetPath;
		if(this.data.ln){
			this.baseElement.setAttribute('id',this.data.ln);
		}
	};
	function HCameraElement(data,globalData,comp){
		this.initFrame();
		this.initBaseData(data,globalData,comp);
		this.initHierarchy();
		var getProp = PropertyFactory.getProp;
		this.pe = getProp(this,data.pe,0,0,this);
		if(data.ks.p.s){
			this.px = getProp(this,data.ks.p.x,1,0,this);
			this.py = getProp(this,data.ks.p.y,1,0,this);
			this.pz = getProp(this,data.ks.p.z,1,0,this);
		}else{
			this.p = getProp(this,data.ks.p,1,0,this);
		}
		if(data.ks.a){
			this.a = getProp(this,data.ks.a,1,0,this);
		}
		if(data.ks.or.k.length && data.ks.or.k[0].to){
			var i,len = data.ks.or.k.length;
			for(i=0;i<len;i+=1){
				data.ks.or.k[i].to = null;
				data.ks.or.k[i].ti = null;
			}
		}
		this.or = getProp(this,data.ks.or,1,degToRads,this);
		this.or.sh = true;
		this.rx = getProp(this,data.ks.rx,0,degToRads,this);
		this.ry = getProp(this,data.ks.ry,0,degToRads,this);
		this.rz = getProp(this,data.ks.rz,0,degToRads,this);
		this.mat = new Matrix();
		this._prevMat = new Matrix();
		this._isFirstFrame = true;

		// TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.
		this.finalTransform = {
			mProp: this
		};
	}
	extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);

	HCameraElement.prototype.setup = function() {
		var i, len = this.comp.threeDElements.length, comp;
		for(i=0;i<len;i+=1){
			//[perspectiveElem,container]
			comp = this.comp.threeDElements[i];
			if(comp.type === '3d') {
				comp.perspectiveElem.style.perspective = comp.perspectiveElem.style.webkitPerspective = this.pe.v+'px';
				comp.container.style.transformOrigin = comp.container.style.mozTransformOrigin = comp.container.style.webkitTransformOrigin = "0px 0px 0px";
				comp.perspectiveElem.style.transform = comp.perspectiveElem.style.webkitTransform = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';
			}
		}
	};

	HCameraElement.prototype.createElements = function(){
	};

	HCameraElement.prototype.hide = function(){
	};

	HCameraElement.prototype.renderFrame = function(){
		var _mdf = this._isFirstFrame;
		var i, len;
		if(this.hierarchy){
			len = this.hierarchy.length;
			for(i=0;i<len;i+=1){
				_mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;
			}
		}
		if(_mdf || this.pe._mdf || (this.p && this.p._mdf) || (this.px && (this.px._mdf || this.py._mdf || this.pz._mdf)) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || (this.a && this.a._mdf)) {
			this.mat.reset();

			if(this.hierarchy){
				var mat;
				len = this.hierarchy.length - 1;
				for (i = len; i >= 0; i -= 1) {
					var mTransf = this.hierarchy[i].finalTransform.mProp;
					this.mat.translate(-mTransf.p.v[0],-mTransf.p.v[1],mTransf.p.v[2]);
					this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);
					this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);
					this.mat.scale(1/mTransf.s.v[0],1/mTransf.s.v[1],1/mTransf.s.v[2]);
					this.mat.translate(mTransf.a.v[0],mTransf.a.v[1],mTransf.a.v[2]);
				}
			}
			if (this.p) {
				this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]);
			} else {
				this.mat.translate(-this.px.v,-this.py.v,this.pz.v);
			}
			if (this.a) {
				var diffVector
				if (this.p) {
					diffVector = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]];
				} else {
					diffVector = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];
				}
				var mag = Math.sqrt(Math.pow(diffVector[0],2)+Math.pow(diffVector[1],2)+Math.pow(diffVector[2],2));
				//var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));
				var lookDir = [diffVector[0]/mag,diffVector[1]/mag,diffVector[2]/mag];
				var lookLengthOnXZ = Math.sqrt( lookDir[2]*lookDir[2] + lookDir[0]*lookDir[0] );
				var m_rotationX = (Math.atan2( lookDir[1], lookLengthOnXZ ));
				var m_rotationY = (Math.atan2( lookDir[0], -lookDir[2]));
				this.mat.rotateY(m_rotationY).rotateX(-m_rotationX);

			}
			this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);
			this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);
			this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0);
			this.mat.translate(0,0,this.pe.v);




			var hasMatrixChanged = !this._prevMat.equals(this.mat);
			if((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {
				len = this.comp.threeDElements.length;
				var comp;
				for(i=0;i<len;i+=1){
					comp = this.comp.threeDElements[i];
					if(comp.type === '3d') {
						if(hasMatrixChanged) {
							comp.container.style.transform = comp.container.style.webkitTransform = this.mat.toCSS();
						}
						if(this.pe._mdf) {
							comp.perspectiveElem.style.perspective = comp.perspectiveElem.style.webkitPerspective = this.pe.v+'px';
						}
					}
				}
				this.mat.clone(this._prevMat);
			}
		}
		this._isFirstFrame = false;
	};

	HCameraElement.prototype.prepareFrame = function(num) {
		this.prepareProperties(num, true);
	};

	HCameraElement.prototype.destroy = function(){
	};
	HCameraElement.prototype.getBaseElement = function(){return null;};
	function HEffects() {
	}
	HEffects.prototype.renderFrame = function(){};
	var animationManager = (function(){
		var moduleOb = {};
		var registeredAnimations = [];
		var initTime = 0;
		var len = 0;
		var playingAnimationsNum = 0;
		var _stopped = true;
		var _isFrozen = false;

		function removeElement(ev){
			var i = 0;
			var animItem = ev.target;
			while(i<len) {
				if (registeredAnimations[i].animation === animItem) {
					registeredAnimations.splice(i, 1);
					i -= 1;
					len -= 1;
					if(!animItem.isPaused){
						subtractPlayingCount();
					}
				}
				i += 1;
			}
		}

		function registerAnimation(element, animationData){
			if(!element){
				return null;
			}
			var i=0;
			while(i<len){
				if(registeredAnimations[i].elem == element && registeredAnimations[i].elem !== null ){
					return registeredAnimations[i].animation;
				}
				i+=1;
			}
			var animItem = new AnimationItem();
			setupAnimation(animItem, element);
			animItem.setData(element, animationData);
			return animItem;
		}

		function getRegisteredAnimations() {
			var i, len = registeredAnimations.length;
			var animations = [];
			for(i = 0; i < len; i += 1) {
				animations.push(registeredAnimations[i].animation);
			}
			return animations;
		}

		function addPlayingCount(){
			playingAnimationsNum += 1;
			activate();
		}

		function subtractPlayingCount(){
			playingAnimationsNum -= 1;
		}

		function setupAnimation(animItem, element){
			animItem.addEventListener('destroy',removeElement);
			animItem.addEventListener('_active',addPlayingCount);
			animItem.addEventListener('_idle',subtractPlayingCount);
			registeredAnimations.push({elem: element,animation:animItem});
			len += 1;
		}

		function loadAnimation(params){
			var animItem = new AnimationItem();
			setupAnimation(animItem, null);
			animItem.setParams(params);
			return animItem;
		}


		function setSpeed(val,animation){
			var i;
			for(i=0;i<len;i+=1){
				registeredAnimations[i].animation.setSpeed(val, animation);
			}
		}

		function setDirection(val, animation){
			var i;
			for(i=0;i<len;i+=1){
				registeredAnimations[i].animation.setDirection(val, animation);
			}
		}

		function play(animation){
			var i;
			for(i=0;i<len;i+=1){
				registeredAnimations[i].animation.play(animation);
			}
		}
		function resume(nowTime) {
			var elapsedTime = nowTime - initTime;
			var i;
			for(i=0;i<len;i+=1){
				registeredAnimations[i].animation.advanceTime(elapsedTime);
			}
			initTime = nowTime;
			if(playingAnimationsNum && !_isFrozen) {
				window.requestAnimationFrame(resume);
			} else {
				_stopped = true;
			}
		}

		function first(nowTime){
			initTime = nowTime;
			window.requestAnimationFrame(resume);
		}

		function pause(animation) {
			var i;
			for(i=0;i<len;i+=1){
				registeredAnimations[i].animation.pause(animation);
			}
		}

		function goToAndStop(value,isFrame,animation) {
			var i;
			for(i=0;i<len;i+=1){
				registeredAnimations[i].animation.goToAndStop(value,isFrame,animation);
			}
		}

		function stop(animation) {
			var i;
			for(i=0;i<len;i+=1){
				registeredAnimations[i].animation.stop(animation);
			}
		}

		function togglePause(animation) {
			var i;
			for(i=0;i<len;i+=1){
				registeredAnimations[i].animation.togglePause(animation);
			}
		}

		function destroy(animation) {
			var i;
			for(i=(len-1);i>=0;i-=1){
				registeredAnimations[i].animation.destroy(animation);
			}
		}

		function searchAnimations(animationData, standalone, renderer){
			var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')),
				[].slice.call(document.getElementsByClassName('bodymovin')));
			var i, len = animElements.length;
			for(i=0;i<len;i+=1){
				if(renderer){
					animElements[i].setAttribute('data-bm-type',renderer);
				}
				registerAnimation(animElements[i], animationData);
			}
			if(standalone && len === 0){
				if(!renderer){
					renderer = 'svg';
				}
				var body = document.getElementsByTagName('body')[0];
				body.innerHTML = '';
				var div = createTag('div');
				div.style.width = '100%';
				div.style.height = '100%';
				div.setAttribute('data-bm-type',renderer);
				body.appendChild(div);
				registerAnimation(div, animationData);
			}
		}

		function resize(){
			var i;
			for(i=0;i<len;i+=1){
				registeredAnimations[i].animation.resize();
			}
		}

		function activate(){
			if(!_isFrozen && playingAnimationsNum){
				if(_stopped) {
					window.requestAnimationFrame(first);
					_stopped = false;
				}
			}
		}

		function freeze() {
			_isFrozen = true;
		}

		function unfreeze() {
			_isFrozen = false;
			activate();
		}

		moduleOb.registerAnimation = registerAnimation;
		moduleOb.loadAnimation = loadAnimation;
		moduleOb.setSpeed = setSpeed;
		moduleOb.setDirection = setDirection;
		moduleOb.play = play;
		moduleOb.pause = pause;
		moduleOb.stop = stop;
		moduleOb.togglePause = togglePause;
		moduleOb.searchAnimations = searchAnimations;
		moduleOb.resize = resize;
		//moduleOb.start = start;
		moduleOb.goToAndStop = goToAndStop;
		moduleOb.destroy = destroy;
		moduleOb.freeze = freeze;
		moduleOb.unfreeze = unfreeze;
		moduleOb.getRegisteredAnimations = getRegisteredAnimations;
		return moduleOb;
	}());

	var AnimationItem = function () {
		this._cbs = [];
		this.name = '';
		this.path = '';
		this.isLoaded = false;
		this.currentFrame = 0;
		this.currentRawFrame = 0;
		this.firstFrame = 0;
		this.totalFrames = 0;
		this.frameRate = 0;
		this.frameMult = 0;
		this.playSpeed = 1;
		this.playDirection = 1;
		this.playCount = 0;
		this.animationData = {};
		this.assets = [];
		this.isPaused = true;
		this.autoplay = false;
		this.loop = true;
		this.renderer = null;
		this.animationID = createElementID();
		this.assetsPath = '';
		this.timeCompleted = 0;
		this.segmentPos = 0;
		this.subframeEnabled = subframeEnabled;
		this.segments = [];
		this._idle = true;
		this._completedLoop = false;
		this.projectInterface = ProjectInterface();
		this.imagePreloader = new ImagePreloader();
	};

	extendPrototype([BaseEvent], AnimationItem);

	AnimationItem.prototype.setParams = function(params) {
		if(params.context){
			this.context = params.context;
		}
		if(params.wrapper || params.container){
			this.wrapper = params.wrapper || params.container;
		}
		var animType = params.animType ? params.animType : params.renderer ? params.renderer : 'svg';
		switch(animType){
			case 'canvas':
				this.renderer = new CanvasRenderer(this, params.rendererSettings);
				break;
			case 'svg':
				this.renderer = new SVGRenderer(this, params.rendererSettings);
				break;
			default:
				this.renderer = new HybridRenderer(this, params.rendererSettings);
				break;
		}
		this.renderer.setProjectInterface(this.projectInterface);
		this.animType = animType;

		if(params.loop === '' || params.loop === null){
		}else if(params.loop === false){
			this.loop = false;
		}else if(params.loop === true){
			this.loop = true;
		}else{
			this.loop = parseInt(params.loop);
		}
		this.autoplay = 'autoplay' in params ? params.autoplay : true;
		this.name = params.name ? params.name :  '';
		this.autoloadSegments = params.hasOwnProperty('autoloadSegments') ? params.autoloadSegments :  true;
		this.assetsPath = params.assetsPath;
		this.initialSegment = params.initialSegment;
		if (params.animationData) {
			this.configAnimation(params.animationData);
		} else if(params.path){

			if( params.path.lastIndexOf('\\') !== -1){
				this.path = params.path.substr(0,params.path.lastIndexOf('\\')+1);
			} else {
				this.path = params.path.substr(0,params.path.lastIndexOf('/')+1);
			}
			this.fileName = params.path.substr(params.path.lastIndexOf('/')+1);
			this.fileName = this.fileName.substr(0,this.fileName.lastIndexOf('.json'));

			assetLoader.load(params.path, this.configAnimation.bind(this), function() {
				this.trigger('data_failed');
			}.bind(this));
		}

	};

	AnimationItem.prototype.setData = function (wrapper, animationData) {
		var params = {
			wrapper: wrapper,
			animationData: animationData ? (typeof animationData  === "object") ? animationData : JSON.parse(animationData) : null
		};
		var wrapperAttributes = wrapper.attributes;

		params.path = wrapperAttributes.getNamedItem('data-animation-path') ? wrapperAttributes.getNamedItem('data-animation-path').value : wrapperAttributes.getNamedItem('data-bm-path') ? wrapperAttributes.getNamedItem('data-bm-path').value :  wrapperAttributes.getNamedItem('bm-path') ? wrapperAttributes.getNamedItem('bm-path').value : '';
		params.animType = wrapperAttributes.getNamedItem('data-anim-type') ? wrapperAttributes.getNamedItem('data-anim-type').value : wrapperAttributes.getNamedItem('data-bm-type') ? wrapperAttributes.getNamedItem('data-bm-type').value : wrapperAttributes.getNamedItem('bm-type') ? wrapperAttributes.getNamedItem('bm-type').value :  wrapperAttributes.getNamedItem('data-bm-renderer') ? wrapperAttributes.getNamedItem('data-bm-renderer').value : wrapperAttributes.getNamedItem('bm-renderer') ? wrapperAttributes.getNamedItem('bm-renderer').value : 'canvas';

		var loop = wrapperAttributes.getNamedItem('data-anim-loop') ? wrapperAttributes.getNamedItem('data-anim-loop').value :  wrapperAttributes.getNamedItem('data-bm-loop') ? wrapperAttributes.getNamedItem('data-bm-loop').value :  wrapperAttributes.getNamedItem('bm-loop') ? wrapperAttributes.getNamedItem('bm-loop').value : '';
		if(loop === ''){
		}else if(loop === 'false'){
			params.loop = false;
		}else if(loop === 'true'){
			params.loop = true;
		}else{
			params.loop = parseInt(loop);
		}
		var autoplay = wrapperAttributes.getNamedItem('data-anim-autoplay') ? wrapperAttributes.getNamedItem('data-anim-autoplay').value :  wrapperAttributes.getNamedItem('data-bm-autoplay') ? wrapperAttributes.getNamedItem('data-bm-autoplay').value :  wrapperAttributes.getNamedItem('bm-autoplay') ? wrapperAttributes.getNamedItem('bm-autoplay').value : true;
		params.autoplay = autoplay !== "false";

		params.name = wrapperAttributes.getNamedItem('data-name') ? wrapperAttributes.getNamedItem('data-name').value :  wrapperAttributes.getNamedItem('data-bm-name') ? wrapperAttributes.getNamedItem('data-bm-name').value : wrapperAttributes.getNamedItem('bm-name') ? wrapperAttributes.getNamedItem('bm-name').value :  '';
		var prerender = wrapperAttributes.getNamedItem('data-anim-prerender') ? wrapperAttributes.getNamedItem('data-anim-prerender').value :  wrapperAttributes.getNamedItem('data-bm-prerender') ? wrapperAttributes.getNamedItem('data-bm-prerender').value :  wrapperAttributes.getNamedItem('bm-prerender') ? wrapperAttributes.getNamedItem('bm-prerender').value : '';

		if(prerender === 'false'){
			params.prerender = false;
		}
		this.setParams(params);
	};

	AnimationItem.prototype.includeLayers = function(data) {
		if(data.op > this.animationData.op){
			this.animationData.op = data.op;
			this.totalFrames = Math.floor(data.op - this.animationData.ip);
		}
		var layers = this.animationData.layers;
		var i, len = layers.length;
		var newLayers = data.layers;
		var j, jLen = newLayers.length;
		for(j=0;j<jLen;j+=1){
			i = 0;
			while(i<len){
				if(layers[i].id == newLayers[j].id){
					layers[i] = newLayers[j];
					break;
				}
				i += 1;
			}
		}
		if(data.chars || data.fonts){
			this.renderer.globalData.fontManager.addChars(data.chars);
			this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);
		}
		if(data.assets){
			len = data.assets.length;
			for(i = 0; i < len; i += 1){
				this.animationData.assets.push(data.assets[i]);
			}
		}
		this.animationData.__complete = false;
		dataManager.completeData(this.animationData,this.renderer.globalData.fontManager);
		this.renderer.includeLayers(data.layers);
		if(expressionsPlugin){
			expressionsPlugin.initExpressions(this);
		}
		this.loadNextSegment();
	};

	AnimationItem.prototype.loadNextSegment = function() {
		var segments = this.animationData.segments;
		if(!segments || segments.length === 0 || !this.autoloadSegments){
			this.trigger('data_ready');
			this.timeCompleted = this.totalFrames;
			return;
		}
		var segment = segments.shift();
		this.timeCompleted = segment.time * this.frameRate;
		var segmentPath = this.path+this.fileName+'_' + this.segmentPos + '.json';
		this.segmentPos += 1;
		assetLoader.load(segmentPath, this.includeLayers.bind(this), function() {
			this.trigger('data_failed');
		}.bind(this));
	};

	AnimationItem.prototype.loadSegments = function() {
		var segments = this.animationData.segments;
		if(!segments) {
			this.timeCompleted = this.totalFrames;
		}
		this.loadNextSegment();
	};

	AnimationItem.prototype.imagesLoaded = function() {
		this.trigger('loaded_images');
		this.checkLoaded()
	}

	AnimationItem.prototype.preloadImages = function() {
		this.imagePreloader.setAssetsPath(this.assetsPath);
		this.imagePreloader.setPath(this.path);
		this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));
	}

	AnimationItem.prototype.configAnimation = function (animData) {
		if(!this.renderer){
			return;
		}
		try {
			this.animationData = animData;

			if (this.initialSegment) {
				this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);
				this.firstFrame = Math.round(this.initialSegment[0]);
			} else {
				this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);
				this.firstFrame = Math.round(this.animationData.ip);
			}
			this.renderer.configAnimation(animData);
			if(!animData.assets){
				animData.assets = [];
			}

			this.assets = this.animationData.assets;
			this.frameRate = this.animationData.fr;
			this.frameMult = this.animationData.fr / 1000;
			this.renderer.searchExtraCompositions(animData.assets);
			this.trigger('config_ready');
			this.preloadImages();
			this.loadSegments();
			this.updaFrameModifier();
			this.waitForFontsLoaded();
		} catch(error) {
			this.triggerConfigError(error);
		}
	};

	AnimationItem.prototype.waitForFontsLoaded = function(){
		if(!this.renderer) {
			return;
		}
		if(this.renderer.globalData.fontManager.loaded()){
			this.checkLoaded();
		}else{
			setTimeout(this.waitForFontsLoaded.bind(this),20);
		}
	}

	AnimationItem.prototype.checkLoaded = function () {
		if (!this.isLoaded && this.renderer.globalData.fontManager.loaded() && (this.imagePreloader.loaded() || this.renderer.rendererType !== 'canvas')) {
			this.isLoaded = true;
			dataManager.completeData(this.animationData, this.renderer.globalData.fontManager);
			if(expressionsPlugin){
				expressionsPlugin.initExpressions(this);
			}
			this.renderer.initItems();
			setTimeout(function() {
				this.trigger('DOMLoaded');
			}.bind(this), 0);
			this.gotoFrame();
			if(this.autoplay){
				this.play();
			}
		}
	};

	AnimationItem.prototype.resize = function () {
		this.renderer.updateContainerSize();
	};

	AnimationItem.prototype.setSubframe = function(flag){
		this.subframeEnabled = flag ? true : false;
	};

	AnimationItem.prototype.gotoFrame = function () {
		this.currentFrame = this.subframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame;

		if(this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted){
			this.currentFrame = this.timeCompleted;
		}
		this.trigger('enterFrame');
		this.renderFrame();
	};

	AnimationItem.prototype.renderFrame = function () {
		if(this.isLoaded === false){
			return;
		}
		try {
			this.renderer.renderFrame(this.currentFrame + this.firstFrame);
		} catch(error) {
			this.triggerRenderFrameError(error);
		}
	};

	AnimationItem.prototype.play = function (name) {
		if(name && this.name != name){
			return;
		}
		if(this.isPaused === true){
			this.isPaused = false;
			if(this._idle){
				this._idle = false;
				this.trigger('_active');
			}
		}
	};

	AnimationItem.prototype.pause = function (name) {
		if(name && this.name != name){
			return;
		}
		if(this.isPaused === false){
			this.isPaused = true;
			this._idle = true;
			this.trigger('_idle');
		}
	};

	AnimationItem.prototype.togglePause = function (name) {
		if(name && this.name != name){
			return;
		}
		if(this.isPaused === true){
			this.play();
		}else{
			this.pause();
		}
	};

	AnimationItem.prototype.stop = function (name) {
		if(name && this.name != name){
			return;
		}
		this.pause();
		this.playCount = 0;
		this._completedLoop = false;
		this.setCurrentRawFrameValue(0);
	};

	AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {
		if(name && this.name != name){
			return;
		}
		if(isFrame){
			this.setCurrentRawFrameValue(value);
		}else{
			this.setCurrentRawFrameValue(value * this.frameModifier);
		}
		this.pause();
	};

	AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {
		this.goToAndStop(value, isFrame, name);
		this.play();
	};

	AnimationItem.prototype.advanceTime = function (value) {
		if (this.isPaused === true || this.isLoaded === false) {
			return;
		}
		var nextValue = this.currentRawFrame + value * this.frameModifier;
		var _isComplete = false;
		// Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.
		// If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.
		if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) {
			if (!this.loop || this.playCount === this.loop) {
				if (!this.checkSegments(nextValue >  this.totalFrames ? nextValue % this.totalFrames : 0)) {
					_isComplete = true;
					nextValue = this.totalFrames - 1;
				}
			} else if (nextValue >= this.totalFrames) {
				this.playCount += 1;
				if (!this.checkSegments(nextValue % this.totalFrames)) {
					this.setCurrentRawFrameValue(nextValue % this.totalFrames);
					this._completedLoop = true;
					this.trigger('loopComplete');
				}
			} else {
				this.setCurrentRawFrameValue(nextValue);
			}
		} else if(nextValue < 0) {
			if (!this.checkSegments(nextValue % this.totalFrames)) {
				if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {
					this.setCurrentRawFrameValue(this.totalFrames + (nextValue % this.totalFrames));
					if(!this._completedLoop) {
						this._completedLoop = true;
					} else {
						this.trigger('loopComplete');
					}
				} else {
					_isComplete = true;
					nextValue = 0;
				}
			}
		} else {
			this.setCurrentRawFrameValue(nextValue);
		}
		if (_isComplete) {
			this.setCurrentRawFrameValue(nextValue);
			this.pause();
			this.trigger('complete');
		}
	};

	AnimationItem.prototype.adjustSegment = function(arr, offset){
		this.playCount = 0;
		if(arr[1] < arr[0]){
			if(this.frameModifier > 0){
				if(this.playSpeed < 0){
					this.setSpeed(-this.playSpeed);
				} else {
					this.setDirection(-1);
				}
			}
			this.timeCompleted = this.totalFrames = arr[0] - arr[1];
			this.firstFrame = arr[1];
			this.setCurrentRawFrameValue(this.totalFrames - 0.001 - offset);
		} else if(arr[1] > arr[0]){
			if(this.frameModifier < 0){
				if(this.playSpeed < 0){
					this.setSpeed(-this.playSpeed);
				} else {
					this.setDirection(1);
				}
			}
			this.timeCompleted = this.totalFrames = arr[1] - arr[0];
			this.firstFrame = arr[0];
			this.setCurrentRawFrameValue(0.001 + offset);
		}
		this.trigger('segmentStart');
	};
	AnimationItem.prototype.setSegment = function (init,end) {
		var pendingFrame = -1;
		if(this.isPaused) {
			if (this.currentRawFrame + this.firstFrame < init) {
				pendingFrame = init;
			} else if (this.currentRawFrame + this.firstFrame > end) {
				pendingFrame = end - init;
			}
		}

		this.firstFrame = init;
		this.timeCompleted = this.totalFrames = end - init;
		if(pendingFrame !== -1) {
			this.goToAndStop(pendingFrame,true);
		}
	};

	AnimationItem.prototype.playSegments = function (arr, forceFlag) {
		if (forceFlag) {
			this.segments.length = 0;
		}
		if (typeof arr[0] === 'object') {
			var i, len = arr.length;
			for (i = 0; i < len; i += 1) {
				this.segments.push(arr[i]);
			}
		} else {
			this.segments.push(arr);
		}
		if (this.segments.length && forceFlag) {
			this.adjustSegment(this.segments.shift(), 0);
		}
		if (this.isPaused) {
			this.play();
		}
	};

	AnimationItem.prototype.resetSegments = function (forceFlag) {
		this.segments.length = 0;
		this.segments.push([this.animationData.ip,this.animationData.op]);
		//this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);
		if (forceFlag) {
			this.checkSegments(0);
		}
	};
	AnimationItem.prototype.checkSegments = function(offset) {
		if (this.segments.length) {
			this.adjustSegment(this.segments.shift(), offset);
			return true;
		}
		return false;
	};

	AnimationItem.prototype.destroy = function (name) {
		if ((name && this.name != name) || !this.renderer) {
			return;
		}
		this.renderer.destroy();
		this.imagePreloader.destroy();
		this.trigger('destroy');
		this._cbs = null;
		this.onEnterFrame = this.onLoopComplete = this.onComplete = this.onSegmentStart = this.onDestroy = null;
		this.renderer = null;
	};

	AnimationItem.prototype.setCurrentRawFrameValue = function(value){
		this.currentRawFrame = value;
		this.gotoFrame();
	};

	AnimationItem.prototype.setSpeed = function (val) {
		this.playSpeed = val;
		this.updaFrameModifier();
	};

	AnimationItem.prototype.setDirection = function (val) {
		this.playDirection = val < 0 ? -1 : 1;
		this.updaFrameModifier();
	};

	AnimationItem.prototype.updaFrameModifier = function () {
		this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;
	};

	AnimationItem.prototype.getPath = function () {
		return this.path;
	};

	AnimationItem.prototype.getAssetsPath = function (assetData) {
		var path = '';
		if(assetData.e) {
			path = assetData.p;
		} else if(this.assetsPath){
			var imagePath = assetData.p;
			if(imagePath.indexOf('images/') !== -1){
				imagePath = imagePath.split('/')[1];
			}
			path = this.assetsPath + imagePath;
		} else {
			path = this.path;
			path += assetData.u ? assetData.u : '';
			path += assetData.p;
		}
		return path;
	};

	AnimationItem.prototype.getAssetData = function (id) {
		var i = 0, len = this.assets.length;
		while (i < len) {
			if(id == this.assets[i].id){
				return this.assets[i];
			}
			i += 1;
		}
	};

	AnimationItem.prototype.hide = function () {
		this.renderer.hide();
	};

	AnimationItem.prototype.show = function () {
		this.renderer.show();
	};

	AnimationItem.prototype.getDuration = function (isFrame) {
		return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;
	};

	AnimationItem.prototype.trigger = function(name){
		if(this._cbs && this._cbs[name]){
			switch(name){
				case 'enterFrame':
					this.triggerEvent(name,new BMEnterFrameEvent(name,this.currentFrame,this.totalFrames,this.frameModifier));
					break;
				case 'loopComplete':
					this.triggerEvent(name,new BMCompleteLoopEvent(name,this.loop,this.playCount,this.frameMult));
					break;
				case 'complete':
					this.triggerEvent(name,new BMCompleteEvent(name,this.frameMult));
					break;
				case 'segmentStart':
					this.triggerEvent(name,new BMSegmentStartEvent(name,this.firstFrame,this.totalFrames));
					break;
				case 'destroy':
					this.triggerEvent(name,new BMDestroyEvent(name,this));
					break;
				default:
					this.triggerEvent(name);
			}
		}
		if(name === 'enterFrame' && this.onEnterFrame){
			this.onEnterFrame.call(this,new BMEnterFrameEvent(name,this.currentFrame,this.totalFrames,this.frameMult));
		}
		if(name === 'loopComplete' && this.onLoopComplete){
			this.onLoopComplete.call(this,new BMCompleteLoopEvent(name,this.loop,this.playCount,this.frameMult));
		}
		if(name === 'complete' && this.onComplete){
			this.onComplete.call(this,new BMCompleteEvent(name,this.frameMult));
		}
		if(name === 'segmentStart' && this.onSegmentStart){
			this.onSegmentStart.call(this,new BMSegmentStartEvent(name,this.firstFrame,this.totalFrames));
		}
		if(name === 'destroy' && this.onDestroy){
			this.onDestroy.call(this,new BMDestroyEvent(name,this));
		}
	};

	AnimationItem.prototype.triggerRenderFrameError = function(nativeError) {

		var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);
		this.triggerEvent('error', error);

		if (this.onError) {
			this.onError.call(this, error);
		}
	}

	AnimationItem.prototype.triggerConfigError = function(nativeError) {

		var error = new BMConfigErrorEvent(nativeError, this.currentFrame);
		this.triggerEvent('error', error);

		if (this.onError) {
			this.onError.call(this, error);
		}
	}
	var Expressions = (function(){
		var ob = {};
		ob.initExpressions = initExpressions;


		function initExpressions(animation){

			var stackCount = 0;
			var registers = [];

			function pushExpression() {
				stackCount += 1;
			}

			function popExpression() {
				stackCount -= 1;
				if (stackCount === 0) {
					releaseInstances();
				}
			}

			function registerExpressionProperty(expression) {
				if (registers.indexOf(expression) === -1) {
					registers.push(expression)
				}
			}

			function releaseInstances() {
				var i, len = registers.length;
				for (i = 0; i < len; i += 1) {
					registers[i].release();
				}
				registers.length = 0;
			}

			animation.renderer.compInterface = CompExpressionInterface(animation.renderer);
			animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);
			animation.renderer.globalData.pushExpression = pushExpression;
			animation.renderer.globalData.popExpression = popExpression;
			animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;
		}
		return ob;
	}());

	expressionsPlugin = Expressions;

	var ExpressionManager = (function(){
		'use strict';
		var ob = {};
		var Math = BMMath;
		var window = null;
		var document = null;

		function $bm_isInstanceOfArray(arr) {
			return arr.constructor === Array || arr.constructor === Float32Array;
		}

		function isNumerable(tOfV, v) {
			return tOfV === 'number' || tOfV === 'boolean' || tOfV === 'string' || v instanceof Number;
		}

		function $bm_neg(a){
			var tOfA = typeof a;
			if(tOfA === 'number' || tOfA === 'boolean'  || a instanceof Number ){
				return -a;
			}
			if($bm_isInstanceOfArray(a)){
				var i, lenA = a.length;
				var retArr = [];
				for(i=0;i<lenA;i+=1){
					retArr[i] = -a[i];
				}
				return retArr;
			}
			if (a.propType) {
				return a.v;
			}
		}

		var easeInBez = BezierFactory.getBezierEasing(0.333,0,.833,.833, 'easeIn').get;
		var easeOutBez = BezierFactory.getBezierEasing(0.167,0.167,.667,1, 'easeOut').get;
		var easeInOutBez = BezierFactory.getBezierEasing(.33,0,.667,1, 'easeInOut').get;

		function sum(a,b) {
			var tOfA = typeof a;
			var tOfB = typeof b;
			if(tOfA === 'string' || tOfB === 'string'){
				return a + b;
			}
			if(isNumerable(tOfA, a) && isNumerable(tOfB, b)) {
				return a + b;
			}
			if($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)){
				a = a.slice(0);
				a[0] = a[0] + b;
				return a;
			}
			if(isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)){
				b = b.slice(0);
				b[0] = a + b[0];
				return b;
			}
			if($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)){

				var i = 0, lenA = a.length, lenB = b.length;
				var retArr = [];
				while(i<lenA || i < lenB){
					if((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)){
						retArr[i] = a[i] + b[i];
					}else{
						retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];
					}
					i += 1;
				}
				return retArr;
			}
			return 0;
		}
		var add = sum;

		function sub(a,b) {
			var tOfA = typeof a;
			var tOfB = typeof b;
			if(isNumerable(tOfA, a) && isNumerable(tOfB, b)) {
				if(tOfA === 'string') {
					a = parseInt(a);
				}
				if(tOfB === 'string') {
					b = parseInt(b);
				}
				return a - b;
			}
			if( $bm_isInstanceOfArray(a) && isNumerable(tOfB, b)){
				a = a.slice(0);
				a[0] = a[0] - b;
				return a;
			}
			if(isNumerable(tOfA, a) &&  $bm_isInstanceOfArray(b)){
				b = b.slice(0);
				b[0] = a - b[0];
				return b;
			}
			if($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)){
				var i = 0, lenA = a.length, lenB = b.length;
				var retArr = [];
				while(i<lenA || i < lenB){
					if((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)){
						retArr[i] = a[i] - b[i];
					}else{
						retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];
					}
					i += 1;
				}
				return retArr;
			}
			return 0;
		}

		function mul(a,b) {
			var tOfA = typeof a;
			var tOfB = typeof b;
			var arr;
			if(isNumerable(tOfA, a) && isNumerable(tOfB, b)) {
				return a * b;
			}

			var i, len;
			if($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)){
				len = a.length;
				arr = createTypedArray('float32', len);
				for(i=0;i<len;i+=1){
					arr[i] = a[i] * b;
				}
				return arr;
			}
			if(isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)){
				len = b.length;
				arr = createTypedArray('float32', len);
				for(i=0;i<len;i+=1){
					arr[i] = a * b[i];
				}
				return arr;
			}
			return 0;
		}

		function div(a,b) {
			var tOfA = typeof a;
			var tOfB = typeof b;
			var arr;
			if(isNumerable(tOfA, a) && isNumerable(tOfB, b)) {
				return a / b;
			}
			var i, len;
			if($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)){
				len = a.length;
				arr = createTypedArray('float32', len);
				for(i=0;i<len;i+=1){
					arr[i] = a[i] / b;
				}
				return arr;
			}
			if(isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)){
				len = b.length;
				arr = createTypedArray('float32', len);
				for(i=0;i<len;i+=1){
					arr[i] = a / b[i];
				}
				return arr;
			}
			return 0;
		}
		function mod(a,b) {
			if(typeof a === 'string') {
				a = parseInt(a);
			}
			if(typeof b === 'string') {
				b = parseInt(b);
			}
			return a % b;
		}
		var $bm_sum = sum;
		var $bm_sub = sub;
		var $bm_mul = mul;
		var $bm_div = div;
		var $bm_mod = mod;

		function clamp(num, min, max) {
			if(min > max){
				var mm = max;
				max = min;
				min = mm;
			}
			return Math.min(Math.max(num, min), max);
		}

		function radiansToDegrees(val) {
			return val/degToRads;
		}
		var radians_to_degrees = radiansToDegrees;

		function degreesToRadians(val) {
			return val*degToRads;
		}
		var degrees_to_radians = radiansToDegrees;

		var helperLengthArray = [0,0,0,0,0,0];

		function length(arr1, arr2) {
			if (typeof arr1 === 'number' || arr1 instanceof Number) {
				arr2 = arr2 || 0;
				return Math.abs(arr1 - arr2);
			}
			if(!arr2) {
				arr2 = helperLengthArray;
			}
			var i, len = Math.min(arr1.length, arr2.length);
			var addedLength = 0;
			for (i = 0; i < len; i += 1) {
				addedLength += Math.pow(arr2[i] - arr1[i], 2);
			}
			return Math.sqrt(addedLength);
		}

		function normalize(vec) {
			return div(vec, length(vec));
		}

		function rgbToHsl(val) {
			var r = val[0]; var g = val[1]; var b = val[2];
			var max = Math.max(r, g, b), min = Math.min(r, g, b);
			var h, s, l = (max + min) / 2;

			if(max == min){
				h = s = 0; // achromatic
			}else{
				var d = max - min;
				s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
				switch(max){
					case r: h = (g - b) / d + (g < b ? 6 : 0); break;
					case g: h = (b - r) / d + 2; break;
					case b: h = (r - g) / d + 4; break;
				}
				h /= 6;
			}

			return [h, s, l,val[3]];
		}

		function hue2rgb(p, q, t){
			if(t < 0) t += 1;
			if(t > 1) t -= 1;
			if(t < 1/6) return p + (q - p) * 6 * t;
			if(t < 1/2) return q;
			if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;
			return p;
		}

		function hslToRgb(val){
			var h = val[0];
			var s = val[1];
			var l = val[2];

			var r, g, b;

			if(s === 0){
				r = g = b = l; // achromatic
			}else{

				var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
				var p = 2 * l - q;
				r = hue2rgb(p, q, h + 1/3);
				g = hue2rgb(p, q, h);
				b = hue2rgb(p, q, h - 1/3);
			}

			return [r, g , b, val[3]];
		}

		function linear(t, tMin, tMax, value1, value2){
			if(value1 === undefined || value2 === undefined){
				value1 = tMin;
				value2 = tMax;
				tMin = 0;
				tMax = 1;
			}
			if(tMax < tMin) {
				var _tMin = tMax;
				tMax = tMin;
				tMin = _tMin;
			}
			if(t <= tMin) {
				return value1;
			}else if(t >= tMax){
				return value2;
			}
			var perc = tMax === tMin ? 0 : (t-tMin)/(tMax-tMin);
			if(!value1.length){
				return value1 + (value2-value1)*perc;
			}
			var i, len = value1.length;
			var arr = createTypedArray('float32', len);
			for(i=0;i<len;i+=1){
				arr[i] = value1[i] + (value2[i]-value1[i])*perc;
			}
			return arr;
		}
		function random(min,max){
			if(max === undefined){
				if(min === undefined){
					min = 0;
					max = 1;
				} else {
					max = min;
					min = undefined;
				}
			}
			if(max.length){
				var i, len = max.length;
				if(!min){
					min = createTypedArray('float32', len);
				}
				var arr = createTypedArray('float32', len);
				var rnd = BMMath.random();
				for(i=0;i<len;i+=1){
					arr[i] = min[i] + rnd*(max[i]-min[i]);
				}
				return arr;
			}
			if(min === undefined){
				min = 0;
			}
			var rndm = BMMath.random();
			return min + rndm*(max-min);
		}

		function createPath(points, inTangents, outTangents, closed) {
			var i, len = points.length;
			var path = shape_pool.newElement();
			path.setPathData(!!closed, len);
			var arrPlaceholder = [0,0], inVertexPoint, outVertexPoint;
			for(i = 0; i < len; i += 1) {
				inVertexPoint = (inTangents && inTangents[i]) ? inTangents[i] : arrPlaceholder;
				outVertexPoint = (outTangents && outTangents[i]) ? outTangents[i] : arrPlaceholder;
				path.setTripleAt(points[i][0],points[i][1],outVertexPoint[0] + points[i][0],outVertexPoint[1] + points[i][1],inVertexPoint[0] + points[i][0],inVertexPoint[1] + points[i][1],i,true);
			}
			return path;
		}

		function initiateExpression(elem,data,property){
			var val = data.x;
			var needsVelocity = /velocity(?![\w\d])/.test(val);
			var _needsRandom = val.indexOf('random') !== -1;
			var elemType = elem.data.ty;
			var transform,$bm_transform,content,effect;
			var thisProperty = property;
			thisProperty.valueAtTime = thisProperty.getValueAtTime;
			Object.defineProperty(thisProperty, 'value', {
				get: function() {
					return thisProperty.v
				}
			})
			elem.comp.frameDuration = 1/elem.comp.globalData.frameRate;
			elem.comp.displayStartTime = 0;
			var inPoint = elem.data.ip/elem.comp.globalData.frameRate;
			var outPoint = elem.data.op/elem.comp.globalData.frameRate;
			var width = elem.data.sw ? elem.data.sw : 0;
			var height = elem.data.sh ? elem.data.sh : 0;
			var name = elem.data.nm;
			var loopIn, loop_in, loopOut, loop_out, smooth;
			var toWorld,fromWorld,fromComp,toComp,fromCompToSurface, position, rotation, anchorPoint, scale, thisLayer, thisComp,mask,valueAtTime,velocityAtTime;
			var __expression_functions = [];
			if(data.xf) {
				var i, len = data.xf.length;
				for(i = 0; i < len; i += 1) {
					__expression_functions[i] = eval('(function(){ return ' + data.xf[i] + '}())');
				}
			}

			var scoped_bm_rt;
			var expression_function = eval('[function _expression_function(){' + val+';scoped_bm_rt=$bm_rt}' + ']')[0];
			var numKeys = property.kf ? data.k.length : 0;

			var active = !this.data || this.data.hd !== true;

			var wiggle = function wiggle(freq,amp){
				var i,j, len = this.pv.length ? this.pv.length : 1;
				var addedAmps = createTypedArray('float32', len);
				freq = 5;
				var iterations = Math.floor(time*freq);
				i = 0;
				j = 0;
				while(i<iterations){
					//var rnd = BMMath.random();
					for(j=0;j<len;j+=1){
						addedAmps[j] += -amp + amp*2*BMMath.random();
						//addedAmps[j] += -amp + amp*2*rnd;
					}
					i += 1;
				}
				//var rnd2 = BMMath.random();
				var periods = time*freq;
				var perc = periods - Math.floor(periods);
				var arr = createTypedArray('float32', len);
				if(len>1){
					for(j=0;j<len;j+=1){
						arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*BMMath.random())*perc;
						//arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;
						//arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);
					}
					return arr;
				} else {
					return this.pv + addedAmps[0] + (-amp + amp*2*BMMath.random())*perc;
				}
			}.bind(this);

			if(thisProperty.loopIn) {
				loopIn = thisProperty.loopIn.bind(thisProperty);
				loop_in = loopIn;
			}

			if(thisProperty.loopOut) {
				loopOut = thisProperty.loopOut.bind(thisProperty);
				loop_out = loopOut;
			}

			if(thisProperty.smooth) {
				smooth = thisProperty.smooth.bind(thisProperty);
			}

			function loopInDuration(type,duration){
				return loopIn(type,duration,true);
			}

			function loopOutDuration(type,duration){
				return loopOut(type,duration,true);
			}

			if(this.getValueAtTime) {
				valueAtTime = this.getValueAtTime.bind(this);
			}

			if(this.getVelocityAtTime) {
				velocityAtTime = this.getVelocityAtTime.bind(this);
			}

			var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);

			function lookAt(elem1,elem2){
				var fVec = [elem2[0]-elem1[0],elem2[1]-elem1[1],elem2[2]-elem1[2]];
				var pitch = Math.atan2(fVec[0],Math.sqrt(fVec[1]*fVec[1]+fVec[2]*fVec[2]))/degToRads;
				var yaw = -Math.atan2(fVec[1],fVec[2])/degToRads;
				return [yaw,pitch,0];
			}

			function easeOut(t, tMin, tMax, val1, val2){
				return applyEase(easeOutBez, t, tMin, tMax, val1, val2);
			}

			function easeIn(t, tMin, tMax, val1, val2){
				return applyEase(easeInBez, t, tMin, tMax, val1, val2);
			}

			function ease(t, tMin, tMax, val1, val2){
				return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);
			}

			function applyEase(fn, t, tMin, tMax, val1, val2) {
				if(val1 === undefined){
					val1 = tMin;
					val2 = tMax;
				} else {
					t = (t - tMin) / (tMax - tMin);
				}
				t = t > 1 ? 1 : t < 0 ? 0 : t;
				var mult = fn(t);
				if($bm_isInstanceOfArray(val1)) {
					var i, len = val1.length;
					var arr = createTypedArray('float32', len);
					for (i = 0; i < len; i += 1) {
						arr[i] = (val2[i] - val1[i]) * mult + val1[i];
					}
					return arr;
				} else {
					return (val2 - val1) * mult + val1;
				}
			}

			function nearestKey(time){
				var i, len = data.k.length,index,keyTime;
				if(!data.k.length || typeof(data.k[0]) === 'number'){
					index = 0;
					keyTime = 0;
				} else {
					index = -1;
					time *= elem.comp.globalData.frameRate;
					if (time < data.k[0].t) {
						index = 1;
						keyTime = data.k[0].t;
					} else {
						for(i=0;i<len-1;i+=1){
							if(time === data.k[i].t){
								index = i + 1;
								keyTime = data.k[i].t;
								break;
							}else if(time>data.k[i].t && time<data.k[i+1].t){
								if(time-data.k[i].t > data.k[i+1].t - time){
									index = i + 2;
									keyTime = data.k[i+1].t;
								} else {
									index = i + 1;
									keyTime = data.k[i].t;
								}
								break;
							}
						}
						if(index === -1){
							index = i + 1;
							keyTime = data.k[i].t;
						}
					}

				}
				var ob = {};
				ob.index = index;
				ob.time = keyTime/elem.comp.globalData.frameRate;
				return ob;
			}

			function key(ind){
				var ob, i, len;
				if(!data.k.length || typeof(data.k[0]) === 'number'){
					throw new Error('The property has no keyframe at index ' + ind);
				}
				ind -= 1;
				ob = {
					time: data.k[ind].t/elem.comp.globalData.frameRate,
					value: []
				};
				var arr = data.k[ind].hasOwnProperty('s') ? data.k[ind].s : data.k[ind - 1].e;

				len = arr.length;
				for(i=0;i<len;i+=1){
					ob[i] = arr[i];
					ob.value[i] = arr[i]
				}
				return ob;
			}

			function framesToTime(frames, fps) {
				if (!fps) {
					fps = elem.comp.globalData.frameRate;
				}
				return frames / fps;
			}

			function timeToFrames(t, fps) {
				if (!t && t !== 0) {
					t = time;
				}
				if (!fps) {
					fps = elem.comp.globalData.frameRate;
				}
				return t * fps;
			}

			function seedRandom(seed){
				BMMath.seedrandom(randSeed + seed);
			}

			function sourceRectAtTime() {
				return elem.sourceRectAtTime();
			}

			function substring(init, end) {
				if(typeof value === 'string') {
					if(end === undefined) {
						return value.substring(init)
					}
					return value.substring(init, end)
				}
				return '';
			}

			function substr(init, end) {
				if(typeof value === 'string') {
					if(end === undefined) {
						return value.substr(init)
					}
					return value.substr(init, end)
				}
				return '';
			}

			function posterizeTime(framesPerSecond) {
				time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond
				value = valueAtTime(time)
			}

			var time, velocity, value, text, textIndex, textTotal, selectorValue;
			var index = elem.data.ind;
			var hasParent = !!(elem.hierarchy && elem.hierarchy.length);
			var parent;
			var randSeed = Math.floor(Math.random()*1000000);
			var globalData = elem.globalData;
			function executeExpression(_value) {
				// globalData.pushExpression();
				value = _value;
				if (_needsRandom) {
					seedRandom(randSeed);
				}
				if (this.frameExpressionId === elem.globalData.frameId && this.propType !== 'textSelector') {
					return value;
				}
				if(this.propType === 'textSelector'){
					textIndex = this.textIndex;
					textTotal = this.textTotal;
					selectorValue = this.selectorValue;
				}
				if (!thisLayer) {
					text = elem.layerInterface.text;
					thisLayer = elem.layerInterface;
					thisComp = elem.comp.compInterface;
					toWorld = thisLayer.toWorld.bind(thisLayer);
					fromWorld = thisLayer.fromWorld.bind(thisLayer);
					fromComp = thisLayer.fromComp.bind(thisLayer);
					toComp = thisLayer.toComp.bind(thisLayer);
					mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;
					fromCompToSurface = fromComp;
				}
				if (!transform) {
					transform = elem.layerInterface("ADBE Transform Group");
					$bm_transform = transform;
					if(transform) {
						anchorPoint = transform.anchorPoint;
						/*position = transform.position;
                    rotation = transform.rotation;
                    scale = transform.scale;*/
					}
				}

				if (elemType === 4 && !content) {
					content = thisLayer("ADBE Root Vectors Group");
				}
				if (!effect) {
					effect = thisLayer(4);
				}
				hasParent = !!(elem.hierarchy && elem.hierarchy.length);
				if (hasParent && !parent) {
					parent = elem.hierarchy[0].layerInterface;
				}
				time = this.comp.renderedFrame/this.comp.globalData.frameRate;
				if (needsVelocity) {
					velocity = velocityAtTime(time);
				}
				expression_function();
				this.frameExpressionId = elem.globalData.frameId;


				//TODO: Check if it's possible to return on ShapeInterface the .v value
				if (scoped_bm_rt.propType === "shape") {
					scoped_bm_rt = scoped_bm_rt.v;
				}
				// globalData.popExpression();
				return scoped_bm_rt;
			}
			return executeExpression;
		}

		ob.initiateExpression = initiateExpression;
		return ob;
	}());
	var expressionHelpers = (function(){

		function searchExpressions(elem,data,prop){
			if(data.x){
				prop.k = true;
				prop.x = true;
				prop.initiateExpression = ExpressionManager.initiateExpression;
				prop.effectsSequence.push(prop.initiateExpression(elem,data,prop).bind(prop));
			}
		}

		function getValueAtTime(frameNum) {
			frameNum *= this.elem.globalData.frameRate;
			frameNum -= this.offsetTime;
			if(frameNum !== this._cachingAtTime.lastFrame) {
				this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;
				this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);
				this._cachingAtTime.lastFrame = frameNum;
			}
			return this._cachingAtTime.value;

		}

		function getSpeedAtTime(frameNum) {
			var delta = -0.01;
			var v1 = this.getValueAtTime(frameNum);
			var v2 = this.getValueAtTime(frameNum + delta);
			var speed = 0;
			if(v1.length){
				var i;
				for(i=0;i<v1.length;i+=1){
					speed += Math.pow(v2[i] - v1[i], 2);
				}
				speed = Math.sqrt(speed) * 100;
			} else {
				speed = 0;
			}
			return speed;
		}

		function getVelocityAtTime(frameNum) {
			if(this.vel !== undefined){
				return this.vel;
			}
			var delta = -0.001;
			//frameNum += this.elem.data.st;
			var v1 = this.getValueAtTime(frameNum);
			var v2 = this.getValueAtTime(frameNum + delta);
			var velocity;
			if(v1.length){
				velocity = createTypedArray('float32', v1.length);
				var i;
				for(i=0;i<v1.length;i+=1){
					//removing frameRate
					//if needed, don't add it here
					//velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);
					velocity[i] = (v2[i] - v1[i])/delta;
				}
			} else {
				velocity = (v2 - v1)/delta;
			}
			return velocity;
		}

		function getStaticValueAtTime() {
			return this.pv;
		}

		function setGroupProperty(propertyGroup){
			this.propertyGroup = propertyGroup;
		}

		return {
			searchExpressions: searchExpressions,
			getSpeedAtTime: getSpeedAtTime,
			getVelocityAtTime: getVelocityAtTime,
			getValueAtTime: getValueAtTime,
			getStaticValueAtTime: getStaticValueAtTime,
			setGroupProperty: setGroupProperty,
		}
	}());
	(function addPropertyDecorator() {

		function loopOut(type,duration,durationFlag){
			if(!this.k || !this.keyframes){
				return this.pv;
			}
			type = type ? type.toLowerCase() : '';
			var currentFrame = this.comp.renderedFrame;
			var keyframes = this.keyframes;
			var lastKeyFrame = keyframes[keyframes.length - 1].t;
			if(currentFrame<=lastKeyFrame){
				return this.pv;
			}else{
				var cycleDuration, firstKeyFrame;
				if(!durationFlag){
					if(!duration || duration > keyframes.length - 1){
						duration = keyframes.length - 1;
					}
					firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;
					cycleDuration = lastKeyFrame - firstKeyFrame;
				} else {
					if(!duration){
						cycleDuration = Math.max(0,lastKeyFrame - this.elem.data.ip);
					} else {
						cycleDuration = Math.abs(lastKeyFrame - elem.comp.globalData.frameRate*duration);
					}
					firstKeyFrame = lastKeyFrame - cycleDuration;
				}
				var i, len, ret;
				if(type === 'pingpong') {
					var iterations = Math.floor((currentFrame - firstKeyFrame)/cycleDuration);
					if(iterations % 2 !== 0){
						return this.getValueAtTime(((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration +  firstKeyFrame)) / this.comp.globalData.frameRate, 0);
					}
				} else if(type === 'offset'){
					var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);
					var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);
					var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration +  firstKeyFrame) / this.comp.globalData.frameRate, 0);
					var repeats = Math.floor((currentFrame - firstKeyFrame)/cycleDuration);
					if(this.pv.length){
						ret = new Array(initV.length);
						len = ret.length;
						for(i=0;i<len;i+=1){
							ret[i] = (endV[i]-initV[i])*repeats + current[i];
						}
						return ret;
					}
					return (endV-initV)*repeats + current;
				} else if(type === 'continue'){
					var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);
					var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / this.comp.globalData.frameRate, 0);
					if(this.pv.length){
						ret = new Array(lastValue.length);
						len = ret.length;
						for(i=0;i<len;i+=1){
							ret[i] = lastValue[i] + (lastValue[i]-nextLastValue[i])*((currentFrame - lastKeyFrame)/ this.comp.globalData.frameRate)/0.0005;
						}
						return ret;
					}
					return lastValue + (lastValue-nextLastValue)*(((currentFrame - lastKeyFrame))/0.001);
				}
				return this.getValueAtTime((((currentFrame - firstKeyFrame) % cycleDuration +  firstKeyFrame)) / this.comp.globalData.frameRate, 0);
			}
		}

		function loopIn(type,duration, durationFlag) {
			if(!this.k){
				return this.pv;
			}
			type = type ? type.toLowerCase() : '';
			var currentFrame = this.comp.renderedFrame;
			var keyframes = this.keyframes;
			var firstKeyFrame = keyframes[0].t;
			if(currentFrame>=firstKeyFrame){
				return this.pv;
			}else{
				var cycleDuration, lastKeyFrame;
				if(!durationFlag){
					if(!duration || duration > keyframes.length - 1){
						duration = keyframes.length - 1;
					}
					lastKeyFrame = keyframes[duration].t;
					cycleDuration = lastKeyFrame - firstKeyFrame;
				} else {
					if(!duration){
						cycleDuration = Math.max(0,this.elem.data.op - firstKeyFrame);
					} else {
						cycleDuration = Math.abs(elem.comp.globalData.frameRate*duration);
					}
					lastKeyFrame = firstKeyFrame + cycleDuration;
				}
				var i, len, ret;
				if(type === 'pingpong') {
					var iterations = Math.floor((firstKeyFrame - currentFrame)/cycleDuration);
					if(iterations % 2 === 0){
						return this.getValueAtTime((((firstKeyFrame - currentFrame)%cycleDuration +  firstKeyFrame)) / this.comp.globalData.frameRate, 0);
					}
				} else if(type === 'offset'){
					var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);
					var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);
					var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame)%cycleDuration +  firstKeyFrame) / this.comp.globalData.frameRate, 0);
					var repeats = Math.floor((firstKeyFrame - currentFrame)/cycleDuration)+1;
					if(this.pv.length){
						ret = new Array(initV.length);
						len = ret.length;
						for(i=0;i<len;i+=1){
							ret[i] = current[i]-(endV[i]-initV[i])*repeats;
						}
						return ret;
					}
					return current-(endV-initV)*repeats;
				} else if(type === 'continue'){
					var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);
					var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / this.comp.globalData.frameRate, 0);
					if(this.pv.length){
						ret = new Array(firstValue.length);
						len = ret.length;
						for(i=0;i<len;i+=1){
							ret[i] = firstValue[i] + (firstValue[i]-nextFirstValue[i])*(firstKeyFrame - currentFrame)/0.001;
						}
						return ret;
					}
					return firstValue + (firstValue-nextFirstValue)*(firstKeyFrame - currentFrame)/0.001;
				}
				return this.getValueAtTime(((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration +  firstKeyFrame)) / this.comp.globalData.frameRate, 0);
			}
		}

		function smooth(width, samples) {
			if (!this.k){
				return this.pv;
			}
			width = (width || 0.4) * 0.5;
			samples = Math.floor(samples || 5);
			if (samples <= 1) {
				return this.pv;
			}
			var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;
			var initFrame = currentTime - width;
			var endFrame = currentTime + width;
			var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;
			var i = 0, j = 0;
			var value;
			if (this.pv.length) {
				value = createTypedArray('float32', this.pv.length);
			} else {
				value = 0;
			}
			var sampleValue;
			while (i < samples) {
				sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);
				if(this.pv.length) {
					for (j = 0; j < this.pv.length; j += 1) {
						value[j] += sampleValue[j];
					}
				} else {
					value += sampleValue;
				}
				i += 1;
			}
			if(this.pv.length) {
				for (j = 0; j < this.pv.length; j += 1) {
					value[j] /= samples;
				}
			} else {
				value /= samples;
			}
			return value;
		}

		function getValueAtTime(frameNum) {
			frameNum *= this.elem.globalData.frameRate;
			frameNum -= this.offsetTime;
			if(frameNum !== this._cachingAtTime.lastFrame) {
				this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;
				this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);
				this._cachingAtTime.lastFrame = frameNum;
			}
			return this._cachingAtTime.value;

		}

		function getTransformValueAtTime(time) {
			console.warn('Transform at time not supported');
		}

		function getTransformStaticValueAtTime(time) {

		}

		var getTransformProperty = TransformPropertyFactory.getTransformProperty;
		TransformPropertyFactory.getTransformProperty = function(elem, data, container) {
			var prop = getTransformProperty(elem, data, container);
			if(prop.dynamicProperties.length) {
				prop.getValueAtTime = getTransformValueAtTime.bind(prop);
			} else {
				prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);
			}
			prop.setGroupProperty = expressionHelpers.setGroupProperty;
			return prop;
		};

		var propertyGetProp = PropertyFactory.getProp;
		PropertyFactory.getProp = function(elem,data,type, mult, container){
			var prop = propertyGetProp(elem,data,type, mult, container);
			//prop.getVelocityAtTime = getVelocityAtTime;
			//prop.loopOut = loopOut;
			//prop.loopIn = loopIn;
			if(prop.kf){
				prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);
			} else {
				prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);
			}
			prop.setGroupProperty = expressionHelpers.setGroupProperty;
			prop.loopOut = loopOut;
			prop.loopIn = loopIn;
			prop.smooth = smooth;
			prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);
			prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);
			prop.numKeys = data.a === 1 ? data.k.length : 0;
			prop.propertyIndex = data.ix;
			var value = 0;
			if(type !== 0) {
				value = createTypedArray('float32', data.a === 1 ?  data.k[0].s.length : data.k.length);
			}
			prop._cachingAtTime = {
				lastFrame: initialDefaultFrame,
				lastIndex: 0,
				value: value
			};
			expressionHelpers.searchExpressions(elem,data,prop);
			if(prop.k){
				container.addDynamicProperty(prop);
			}

			return prop;
		};

		function getShapeValueAtTime(frameNum) {
			//For now this caching object is created only when needed instead of creating it when the shape is initialized.
			if (!this._cachingAtTime) {
				this._cachingAtTime = {
					shapeValue: shape_pool.clone(this.pv),
					lastIndex: 0,
					lastTime: initialDefaultFrame
				};
			}

			frameNum *= this.elem.globalData.frameRate;
			frameNum -= this.offsetTime;
			if(frameNum !== this._cachingAtTime.lastTime) {
				this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;
				this._cachingAtTime.lastTime = frameNum;
				this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);
			}
			return this._cachingAtTime.shapeValue;
		}

		var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();
		var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();

		function ShapeExpressions(){}
		ShapeExpressions.prototype = {
			vertices: function(prop, time){
				if (this.k) {
					this.getValue();
				}
				var shapePath = this.v;
				if(time !== undefined) {
					shapePath = this.getValueAtTime(time, 0);
				}
				var i, len = shapePath._length;
				var vertices = shapePath[prop];
				var points = shapePath.v;
				var arr = createSizedArray(len);
				for(i = 0; i < len; i += 1) {
					if(prop === 'i' || prop === 'o') {
						arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];
					} else {
						arr[i] = [vertices[i][0], vertices[i][1]];
					}

				}
				return arr;
			},
			points: function(time){
				return this.vertices('v', time);
			},
			inTangents: function(time){
				return this.vertices('i', time);
			},
			outTangents: function(time){
				return this.vertices('o', time);
			},
			isClosed: function(){
				return this.v.c;
			},
			pointOnPath: function(perc, time){
				var shapePath = this.v;
				if(time !== undefined) {
					shapePath = this.getValueAtTime(time, 0);
				}
				if(!this._segmentsLength) {
					this._segmentsLength = bez.getSegmentsLength(shapePath);
				}

				var segmentsLength = this._segmentsLength;
				var lengths = segmentsLength.lengths;
				var lengthPos = segmentsLength.totalLength * perc;
				var i = 0, len = lengths.length;
				var j = 0, jLen;
				var accumulatedLength = 0, pt;
				while(i < len) {
					if(accumulatedLength + lengths[i].addedLength > lengthPos) {
						var initIndex = i;
						var endIndex = (shapePath.c && i === len - 1) ? 0 : i + 1;
						var segmentPerc = (lengthPos - accumulatedLength)/lengths[i].addedLength;
						pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);
						break;
					} else {
						accumulatedLength += lengths[i].addedLength;
					}
					i += 1;
				}
				if(!pt){
					pt = shapePath.c ? [shapePath.v[0][0],shapePath.v[0][1]]:[shapePath.v[shapePath._length-1][0],shapePath.v[shapePath._length-1][1]];
				}
				return pt;
			},
			vectorOnPath: function(perc, time, vectorType){
				//perc doesn't use triple equality because it can be a Number object as well as a primitive.
				perc = perc == 1 ? this.v.c ? 0 : 0.999 : perc;
				var pt1 = this.pointOnPath(perc, time);
				var pt2 = this.pointOnPath(perc + 0.001, time);
				var xLength = pt2[0] - pt1[0];
				var yLength = pt2[1] - pt1[1];
				var magnitude = Math.sqrt(Math.pow(xLength,2) + Math.pow(yLength,2));
				if (magnitude === 0) {
					return [0,0];
				}
				var unitVector = vectorType === 'tangent' ? [xLength/magnitude, yLength/magnitude] : [-yLength/magnitude, xLength/magnitude];
				return unitVector;
			},
			tangentOnPath: function(perc, time){
				return this.vectorOnPath(perc, time, 'tangent');
			},
			normalOnPath: function(perc, time){
				return this.vectorOnPath(perc, time, 'normal');
			},
			setGroupProperty: expressionHelpers.setGroupProperty,
			getValueAtTime: expressionHelpers.getStaticValueAtTime
		};
		extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);
		extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);
		KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;
		KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;

		var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;
		ShapePropertyFactory.getShapeProp = function(elem,data,type, arr, trims){
			var prop = propertyGetShapeProp(elem,data,type, arr, trims);
			prop.propertyIndex = data.ix;
			prop.lock = false;
			if(type === 3){
				expressionHelpers.searchExpressions(elem,data.pt,prop);
			} else if(type === 4){
				expressionHelpers.searchExpressions(elem,data.ks,prop);
			}
			if(prop.k){
				elem.addDynamicProperty(prop);
			}
			return prop;
		};
	}());
	(function addDecorator() {

		function searchExpressions(){
			if(this.data.d.x){
				this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this);
				this.addEffect(this.getExpressionValue.bind(this));
				return true;
			}
		}

		TextProperty.prototype.getExpressionValue = function(currentValue, text) {
			var newValue = this.calculateExpression(text);
			if(currentValue.t !== newValue) {
				var newData = {};
				this.copyData(newData, currentValue);
				newData.t = newValue.toString();
				newData.__complete = false;
				return newData;
			}
			return currentValue;
		}

		TextProperty.prototype.searchProperty = function(){

			var isKeyframed = this.searchKeyframes();
			var hasExpressions = this.searchExpressions();
			this.kf = isKeyframed || hasExpressions;
			return this.kf;
		};

		TextProperty.prototype.searchExpressions = searchExpressions;

	}());
	var ShapeExpressionInterface = (function(){

		function iterateElements(shapes,view, propertyGroup){
			var arr = [];
			var i, len = shapes ? shapes.length : 0;
			for(i=0;i<len;i+=1){
				if(shapes[i].ty == 'gr'){
					arr.push(groupInterfaceFactory(shapes[i],view[i],propertyGroup));
				}else if(shapes[i].ty == 'fl'){
					arr.push(fillInterfaceFactory(shapes[i],view[i],propertyGroup));
				}else if(shapes[i].ty == 'st'){
					arr.push(strokeInterfaceFactory(shapes[i],view[i],propertyGroup));
				}else if(shapes[i].ty == 'tm'){
					arr.push(trimInterfaceFactory(shapes[i],view[i],propertyGroup));
				}else if(shapes[i].ty == 'tr'){
					//arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));
				}else if(shapes[i].ty == 'el'){
					arr.push(ellipseInterfaceFactory(shapes[i],view[i],propertyGroup));
				}else if(shapes[i].ty == 'sr'){
					arr.push(starInterfaceFactory(shapes[i],view[i],propertyGroup));
				} else if(shapes[i].ty == 'sh'){
					arr.push(pathInterfaceFactory(shapes[i],view[i],propertyGroup));
				} else if(shapes[i].ty == 'rc'){
					arr.push(rectInterfaceFactory(shapes[i],view[i],propertyGroup));
				} else if(shapes[i].ty == 'rd'){
					arr.push(roundedInterfaceFactory(shapes[i],view[i],propertyGroup));
				} else if(shapes[i].ty == 'rp'){
					arr.push(repeaterInterfaceFactory(shapes[i],view[i],propertyGroup));
				}
			}
			return arr;
		}

		function contentsInterfaceFactory(shape,view, propertyGroup){
			var interfaces;
			var interfaceFunction = function _interfaceFunction(value){
				var i = 0, len = interfaces.length;
				while(i<len){
					if(interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value){
						return interfaces[i];
					}
					i+=1;
				}
				if(typeof value === 'number'){
					return interfaces[value-1];
				}
			};
			interfaceFunction.propertyGroup = function(val){
				if(val === 1){
					return interfaceFunction;
				} else{
					return propertyGroup(val-1);
				}
			};
			interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);
			interfaceFunction.numProperties = interfaces.length;
			interfaceFunction.propertyIndex = shape.cix;
			interfaceFunction._name = shape.nm;

			return interfaceFunction;
		}

		function groupInterfaceFactory(shape,view, propertyGroup){
			var interfaceFunction = function _interfaceFunction(value){
				switch(value){
					case 'ADBE Vectors Group':
					case 'Contents':
					case 2:
						return interfaceFunction.content;
					//Not necessary for now. Keeping them here in case a new case appears
					//case 'ADBE Vector Transform Group':
					//case 3:
					default:
						return interfaceFunction.transform;
				}
			};
			interfaceFunction.propertyGroup = function(val){
				if(val === 1){
					return interfaceFunction;
				} else{
					return propertyGroup(val-1);
				}
			};
			var content = contentsInterfaceFactory(shape,view,interfaceFunction.propertyGroup);
			var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1],view.it[view.it.length - 1],interfaceFunction.propertyGroup);
			interfaceFunction.content = content;
			interfaceFunction.transform = transformInterface;
			Object.defineProperty(interfaceFunction, '_name', {
				get: function(){
					return shape.nm;
				}
			});
			//interfaceFunction.content = interfaceFunction;
			interfaceFunction.numProperties = shape.np;
			interfaceFunction.propertyIndex = shape.ix;
			interfaceFunction.nm = shape.nm;
			interfaceFunction.mn = shape.mn;
			return interfaceFunction;
		}

		function fillInterfaceFactory(shape,view,propertyGroup){
			function interfaceFunction(val){
				if(val === 'Color' || val === 'color'){
					return interfaceFunction.color;
				} else if(val === 'Opacity' || val === 'opacity'){
					return interfaceFunction.opacity;
				}
			}
			Object.defineProperties(interfaceFunction, {
				'color': {
					get: ExpressionPropertyInterface(view.c)
				},
				'opacity': {
					get: ExpressionPropertyInterface(view.o)
				},
				'_name': { value: shape.nm },
				'mn': { value: shape.mn }
			});

			view.c.setGroupProperty(propertyGroup);
			view.o.setGroupProperty(propertyGroup);
			return interfaceFunction;
		}

		function strokeInterfaceFactory(shape,view,propertyGroup){
			function _propertyGroup(val){
				if(val === 1){
					return ob;
				} else{
					return propertyGroup(val-1);
				}
			}
			function _dashPropertyGroup(val){
				if(val === 1){
					return dashOb;
				} else{
					return _propertyGroup(val-1);
				}
			}
			function addPropertyToDashOb(i) {
				Object.defineProperty(dashOb, shape.d[i].nm, {
					get: ExpressionPropertyInterface(view.d.dataProps[i].p)
				});
			}
			var i, len = shape.d ? shape.d.length : 0;
			var dashOb = {};
			for (i = 0; i < len; i += 1) {
				addPropertyToDashOb(i);
				view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);
			}

			function interfaceFunction(val){
				if(val === 'Color' || val === 'color'){
					return interfaceFunction.color;
				} else if(val === 'Opacity' || val === 'opacity'){
					return interfaceFunction.opacity;
				} else if(val === 'Stroke Width' || val === 'stroke width'){
					return interfaceFunction.strokeWidth;
				}
			}
			Object.defineProperties(interfaceFunction, {
				'color': {
					get: ExpressionPropertyInterface(view.c)
				},
				'opacity': {
					get: ExpressionPropertyInterface(view.o)
				},
				'strokeWidth': {
					get: ExpressionPropertyInterface(view.w)
				},
				'dash': {
					get: function() {
						return dashOb;
					}
				},
				'_name': { value: shape.nm },
				'mn': { value: shape.mn }
			});

			view.c.setGroupProperty(_propertyGroup);
			view.o.setGroupProperty(_propertyGroup);
			view.w.setGroupProperty(_propertyGroup);
			return interfaceFunction;
		}

		function trimInterfaceFactory(shape,view,propertyGroup){
			function _propertyGroup(val){
				if(val == 1){
					return interfaceFunction;
				} else {
					return propertyGroup(--val);
				}
			}
			interfaceFunction.propertyIndex = shape.ix;

			view.s.setGroupProperty(_propertyGroup);
			view.e.setGroupProperty(_propertyGroup);
			view.o.setGroupProperty(_propertyGroup);

			function interfaceFunction(val){
				if(val === shape.e.ix || val === 'End' || val === 'end'){
					return interfaceFunction.end;
				}
				if(val === shape.s.ix){
					return interfaceFunction.start;
				}
				if(val === shape.o.ix){
					return interfaceFunction.offset;
				}
			}
			interfaceFunction.propertyIndex = shape.ix;
			interfaceFunction.propertyGroup = propertyGroup;

			Object.defineProperties(interfaceFunction, {
				'start': {
					get: ExpressionPropertyInterface(view.s)
				},
				'end': {
					get: ExpressionPropertyInterface(view.e)
				},
				'offset': {
					get: ExpressionPropertyInterface(view.o)
				},
				'_name': { value: shape.nm }
			});
			interfaceFunction.mn = shape.mn;
			return interfaceFunction;
		}

		function transformInterfaceFactory(shape,view,propertyGroup){
			function _propertyGroup(val){
				if(val == 1){
					return interfaceFunction;
				} else {
					return propertyGroup(--val);
				}
			}
			view.transform.mProps.o.setGroupProperty(_propertyGroup);
			view.transform.mProps.p.setGroupProperty(_propertyGroup);
			view.transform.mProps.a.setGroupProperty(_propertyGroup);
			view.transform.mProps.s.setGroupProperty(_propertyGroup);
			view.transform.mProps.r.setGroupProperty(_propertyGroup);
			if(view.transform.mProps.sk){
				view.transform.mProps.sk.setGroupProperty(_propertyGroup);
				view.transform.mProps.sa.setGroupProperty(_propertyGroup);
			}
			view.transform.op.setGroupProperty(_propertyGroup);

			function interfaceFunction(value){
				if(shape.a.ix === value || value === 'Anchor Point'){
					return interfaceFunction.anchorPoint;
				}
				if(shape.o.ix === value || value === 'Opacity'){
					return interfaceFunction.opacity;
				}
				if(shape.p.ix === value || value === 'Position'){
					return interfaceFunction.position;
				}
				if(shape.r.ix === value || value === 'Rotation' || value === 'ADBE Vector Rotation'){
					return interfaceFunction.rotation;
				}
				if(shape.s.ix === value || value === 'Scale'){
					return interfaceFunction.scale;
				}
				if(shape.sk && shape.sk.ix === value || value === 'Skew'){
					return interfaceFunction.skew;
				}
				if(shape.sa && shape.sa.ix === value || value === 'Skew Axis'){
					return interfaceFunction.skewAxis;
				}

			}
			Object.defineProperties(interfaceFunction, {
				'opacity': {
					get: ExpressionPropertyInterface(view.transform.mProps.o)
				},
				'position': {
					get: ExpressionPropertyInterface(view.transform.mProps.p)
				},
				'anchorPoint': {
					get: ExpressionPropertyInterface(view.transform.mProps.a)
				},
				'scale': {
					get: ExpressionPropertyInterface(view.transform.mProps.s)
				},
				'rotation': {
					get: ExpressionPropertyInterface(view.transform.mProps.r)
				},
				'skew': {
					get: ExpressionPropertyInterface(view.transform.mProps.sk)
				},
				'skewAxis': {
					get: ExpressionPropertyInterface(view.transform.mProps.sa)
				},
				'_name': { value: shape.nm }
			});
			interfaceFunction.ty = 'tr';
			interfaceFunction.mn = shape.mn;
			interfaceFunction.propertyGroup = propertyGroup;
			return interfaceFunction;
		}

		function ellipseInterfaceFactory(shape,view,propertyGroup){
			function _propertyGroup(val){
				if(val == 1){
					return interfaceFunction;
				} else {
					return propertyGroup(--val);
				}
			}
			interfaceFunction.propertyIndex = shape.ix;
			var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;
			prop.s.setGroupProperty(_propertyGroup);
			prop.p.setGroupProperty(_propertyGroup);
			function interfaceFunction(value){
				if(shape.p.ix === value){
					return interfaceFunction.position;
				}
				if(shape.s.ix === value){
					return interfaceFunction.size;
				}
			}

			Object.defineProperties(interfaceFunction, {
				'size': {
					get: ExpressionPropertyInterface(prop.s)
				},
				'position': {
					get: ExpressionPropertyInterface(prop.p)
				},
				'_name': { value: shape.nm }
			});
			interfaceFunction.mn = shape.mn;
			return interfaceFunction;
		}

		function starInterfaceFactory(shape,view,propertyGroup){
			function _propertyGroup(val){
				if(val == 1){
					return interfaceFunction;
				} else {
					return propertyGroup(--val);
				}
			}
			var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;
			interfaceFunction.propertyIndex = shape.ix;
			prop.or.setGroupProperty(_propertyGroup);
			prop.os.setGroupProperty(_propertyGroup);
			prop.pt.setGroupProperty(_propertyGroup);
			prop.p.setGroupProperty(_propertyGroup);
			prop.r.setGroupProperty(_propertyGroup);
			if(shape.ir){
				prop.ir.setGroupProperty(_propertyGroup);
				prop.is.setGroupProperty(_propertyGroup);
			}

			function interfaceFunction(value){
				if(shape.p.ix === value){
					return interfaceFunction.position;
				}
				if(shape.r.ix === value){
					return interfaceFunction.rotation;
				}
				if(shape.pt.ix === value){
					return interfaceFunction.points;
				}
				if(shape.or.ix === value || 'ADBE Vector Star Outer Radius' === value){
					return interfaceFunction.outerRadius;
				}
				if(shape.os.ix === value){
					return interfaceFunction.outerRoundness;
				}
				if(shape.ir && (shape.ir.ix === value || 'ADBE Vector Star Inner Radius' === value)){
					return interfaceFunction.innerRadius;
				}
				if(shape.is && shape.is.ix === value){
					return interfaceFunction.innerRoundness;
				}

			}

			Object.defineProperties(interfaceFunction, {
				'position': {
					get: ExpressionPropertyInterface(prop.p)
				},
				'rotation': {
					get: ExpressionPropertyInterface(prop.r)
				},
				'points': {
					get: ExpressionPropertyInterface(prop.pt)
				},
				'outerRadius': {
					get: ExpressionPropertyInterface(prop.or)
				},
				'outerRoundness': {
					get: ExpressionPropertyInterface(prop.os)
				},
				'innerRadius': {
					get: ExpressionPropertyInterface(prop.ir)
				},
				'innerRoundness': {
					get: ExpressionPropertyInterface(prop.is)
				},
				'_name': { value: shape.nm }
			});
			interfaceFunction.mn = shape.mn;
			return interfaceFunction;
		}

		function rectInterfaceFactory(shape,view,propertyGroup){
			function _propertyGroup(val){
				if(val == 1){
					return interfaceFunction;
				} else {
					return propertyGroup(--val);
				}
			}
			var prop = view.sh.ty === 'tm' ? view.sh.prop : view.sh;
			interfaceFunction.propertyIndex = shape.ix;
			prop.p.setGroupProperty(_propertyGroup);
			prop.s.setGroupProperty(_propertyGroup);
			prop.r.setGroupProperty(_propertyGroup);

			function interfaceFunction(value){
				if(shape.p.ix === value){
					return interfaceFunction.position;
				}
				if(shape.r.ix === value){
					return interfaceFunction.roundness;
				}
				if(shape.s.ix === value || value === 'Size' || value === 'ADBE Vector Rect Size'){
					return interfaceFunction.size;
				}

			}
			Object.defineProperties(interfaceFunction, {
				'position': {
					get: ExpressionPropertyInterface(prop.p)
				},
				'roundness': {
					get: ExpressionPropertyInterface(prop.r)
				},
				'size': {
					get: ExpressionPropertyInterface(prop.s)
				},
				'_name': { value: shape.nm }
			});
			interfaceFunction.mn = shape.mn;
			return interfaceFunction;
		}

		function roundedInterfaceFactory(shape,view,propertyGroup){
			function _propertyGroup(val){
				if(val == 1){
					return interfaceFunction;
				} else {
					return propertyGroup(--val);
				}
			}
			var prop = view;
			interfaceFunction.propertyIndex = shape.ix;
			prop.rd.setGroupProperty(_propertyGroup);

			function interfaceFunction(value){
				if(shape.r.ix === value || 'Round Corners 1' === value){
					return interfaceFunction.radius;
				}

			}
			Object.defineProperties(interfaceFunction, {
				'radius': {
					get: ExpressionPropertyInterface(prop.rd)
				},
				'_name': { value: shape.nm }
			});
			interfaceFunction.mn = shape.mn;
			return interfaceFunction;
		}

		function repeaterInterfaceFactory(shape,view,propertyGroup){
			function _propertyGroup(val){
				if(val == 1){
					return interfaceFunction;
				} else {
					return propertyGroup(--val);
				}
			}
			var prop = view;
			interfaceFunction.propertyIndex = shape.ix;
			prop.c.setGroupProperty(_propertyGroup);
			prop.o.setGroupProperty(_propertyGroup);

			function interfaceFunction(value){
				if(shape.c.ix === value || 'Copies' === value){
					return interfaceFunction.copies;
				} else if(shape.o.ix === value || 'Offset' === value){
					return interfaceFunction.offset;
				}

			}
			Object.defineProperties(interfaceFunction, {
				'copies': {
					get: ExpressionPropertyInterface(prop.c)
				},
				'offset': {
					get: ExpressionPropertyInterface(prop.o)
				},
				'_name': { value: shape.nm }
			});
			interfaceFunction.mn = shape.mn;
			return interfaceFunction;
		}

		function pathInterfaceFactory(shape,view,propertyGroup){
			var prop = view.sh;
			function _propertyGroup(val){
				if(val == 1){
					return interfaceFunction;
				} else {
					return propertyGroup(--val);
				}
			}
			prop.setGroupProperty(_propertyGroup);

			function interfaceFunction(val){
				if(val === 'Shape' || val === 'shape' || val === 'Path' || val === 'path' || val === 'ADBE Vector Shape' || val === 2){
					return interfaceFunction.path;
				}
			}
			Object.defineProperties(interfaceFunction, {
				'path': {
					get: function(){
						if(prop.k){
							prop.getValue();
						}
						return prop;
					}
				},
				'shape': {
					get: function(){
						if(prop.k){
							prop.getValue();
						}
						return prop;
					}
				},
				'_name': { value: shape.nm },
				'ix': { value: shape.ix },
				'propertyIndex': { value: shape.ix },
				'mn': { value: shape.mn }
			});
			return interfaceFunction;
		}

		return function(shapes,view,propertyGroup) {
			var interfaces;
			function _interfaceFunction(value){
				if(typeof value === 'number'){
					return interfaces[value-1];
				} else {
					var i = 0, len = interfaces.length;
					while(i<len){
						if(interfaces[i]._name === value){
							return interfaces[i];
						}
						i+=1;
					}
				}
			}
			_interfaceFunction.propertyGroup = propertyGroup;
			interfaces = iterateElements(shapes, view, _interfaceFunction);
			_interfaceFunction.numProperties = interfaces.length;
			return _interfaceFunction;
		};
	}());

	var TextExpressionInterface = (function(){
		return function(elem){
			var _prevValue, _sourceText;
			function _thisLayerFunction(){
			}
			Object.defineProperty(_thisLayerFunction, "sourceText", {
				get: function(){
					elem.textProperty.getValue()
					var stringValue = elem.textProperty.currentData.t;
					if(stringValue !== _prevValue) {
						elem.textProperty.currentData.t = _prevValue;
						_sourceText = new String(stringValue);
						//If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive
						_sourceText.value = stringValue ? stringValue : new String(stringValue);
					}
					return _sourceText;
				}
			});
			return _thisLayerFunction;
		};
	}());
	var LayerExpressionInterface = (function (){
		function toWorld(arr, time){
			var toWorldMat = new Matrix();
			toWorldMat.reset();
			var transformMat;
			if(time) {
				//Todo implement value at time on transform properties
				//transformMat = this._elem.finalTransform.mProp.getValueAtTime(time);
				transformMat = this._elem.finalTransform.mProp;
			} else {
				transformMat = this._elem.finalTransform.mProp;
			}
			transformMat.applyToMatrix(toWorldMat);
			if(this._elem.hierarchy && this._elem.hierarchy.length){
				var i, len = this._elem.hierarchy.length;
				for(i=0;i<len;i+=1){
					this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);
				}
				return toWorldMat.applyToPointArray(arr[0],arr[1],arr[2]||0);
			}
			return toWorldMat.applyToPointArray(arr[0],arr[1],arr[2]||0);
		}
		function fromWorld(arr, time){
			var toWorldMat = new Matrix();
			toWorldMat.reset();
			var transformMat;
			if(time) {
				//Todo implement value at time on transform properties
				//transformMat = this._elem.finalTransform.mProp.getValueAtTime(time);
				transformMat = this._elem.finalTransform.mProp;
			} else {
				transformMat = this._elem.finalTransform.mProp;
			}
			transformMat.applyToMatrix(toWorldMat);
			if(this._elem.hierarchy && this._elem.hierarchy.length){
				var i, len = this._elem.hierarchy.length;
				for(i=0;i<len;i+=1){
					this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);
				}
				return toWorldMat.inversePoint(arr);
			}
			return toWorldMat.inversePoint(arr);
		}
		function fromComp(arr){
			var toWorldMat = new Matrix();
			toWorldMat.reset();
			this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);
			if(this._elem.hierarchy && this._elem.hierarchy.length){
				var i, len = this._elem.hierarchy.length;
				for(i=0;i<len;i+=1){
					this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);
				}
				return toWorldMat.inversePoint(arr);
			}
			return toWorldMat.inversePoint(arr);
		}

		function sampleImage() {
			return [1,1,1,1];
		}


		return function(elem){

			var transformInterface;

			function _registerMaskInterface(maskManager){
				_thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);
			}
			function _registerEffectsInterface(effects){
				_thisLayerFunction.effect = effects;
			}

			function _thisLayerFunction(name){
				switch(name){
					case "ADBE Root Vectors Group":
					case "Contents":
					case 2:
						return _thisLayerFunction.shapeInterface;
					case 1:
					case 6:
					case "Transform":
					case "transform":
					case "ADBE Transform Group":
						return transformInterface;
					case 4:
					case "ADBE Effect Parade":
					case "effects":
					case "Effects":
						return _thisLayerFunction.effect;
				}
			}
			_thisLayerFunction.toWorld = toWorld;
			_thisLayerFunction.fromWorld = fromWorld;
			_thisLayerFunction.toComp = toWorld;
			_thisLayerFunction.fromComp = fromComp;
			_thisLayerFunction.sampleImage = sampleImage;
			_thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);
			_thisLayerFunction._elem = elem;
			transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);
			var anchorPointDescriptor = getDescriptor(transformInterface, 'anchorPoint');
			Object.defineProperties(_thisLayerFunction,{
				hasParent: {
					get: function(){
						return elem.hierarchy.length;
					}
				},
				parent: {
					get: function(){
						return elem.hierarchy[0].layerInterface;
					}
				},
				rotation: getDescriptor(transformInterface, 'rotation'),
				scale: getDescriptor(transformInterface, 'scale'),
				position: getDescriptor(transformInterface, 'position'),
				opacity: getDescriptor(transformInterface, 'opacity'),
				anchorPoint: anchorPointDescriptor,
				anchor_point: anchorPointDescriptor,
				transform: {
					get: function () {
						return transformInterface;
					}
				},
				active: {
					get: function(){
						return elem.isInRange;
					}
				}
			});

			_thisLayerFunction.startTime = elem.data.st;
			_thisLayerFunction.index = elem.data.ind;
			_thisLayerFunction.source = elem.data.refId;
			_thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;
			_thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;
			_thisLayerFunction.inPoint = elem.data.ip/elem.comp.globalData.frameRate;
			_thisLayerFunction.outPoint = elem.data.op/elem.comp.globalData.frameRate;
			_thisLayerFunction._name = elem.data.nm;

			_thisLayerFunction.registerMaskInterface = _registerMaskInterface;
			_thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;
			return _thisLayerFunction;
		};
	}());

	var CompExpressionInterface = (function () {
		return function(comp) {
			function _thisLayerFunction(name) {
				var i = 0, len = comp.layers.length;
				while ( i < len) {
					if (comp.layers[i].nm === name || comp.layers[i].ind === name) {
						return comp.elements[i].layerInterface;
					}
					i += 1;
				}
				return null;
				//return {active:false};
			}
			Object.defineProperty(_thisLayerFunction, "_name", { value: comp.data.nm });
			_thisLayerFunction.layer = _thisLayerFunction;
			_thisLayerFunction.pixelAspect = 1;
			_thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;
			_thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;
			_thisLayerFunction.pixelAspect = 1;
			_thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;
			_thisLayerFunction.displayStartTime = 0;
			_thisLayerFunction.numLayers = comp.layers.length;
			return _thisLayerFunction;
		};
	}());
	var TransformExpressionInterface = (function (){
		return function(transform){
			function _thisFunction(name){
				switch(name){
					case "scale":
					case "Scale":
					case "ADBE Scale":
					case 6:
						return _thisFunction.scale;
					case "rotation":
					case "Rotation":
					case "ADBE Rotation":
					case "ADBE Rotate Z":
					case 10:
						return _thisFunction.rotation;
					case "ADBE Rotate X":
						return _thisFunction.xRotation;
					case "ADBE Rotate Y":
						return _thisFunction.yRotation;
					case "position":
					case "Position":
					case "ADBE Position":
					case 2:
						return _thisFunction.position;
					case 'ADBE Position_0':
						return _thisFunction.xPosition;
					case 'ADBE Position_1':
						return _thisFunction.yPosition;
					case 'ADBE Position_2':
						return _thisFunction.zPosition;
					case "anchorPoint":
					case "AnchorPoint":
					case "Anchor Point":
					case "ADBE AnchorPoint":
					case 1:
						return _thisFunction.anchorPoint;
					case "opacity":
					case "Opacity":
					case 11:
						return _thisFunction.opacity;
				}
			}

			Object.defineProperty(_thisFunction, "rotation", {
				get: ExpressionPropertyInterface(transform.r || transform.rz)
			});

			Object.defineProperty(_thisFunction, "zRotation", {
				get: ExpressionPropertyInterface(transform.rz || transform.r)
			});

			Object.defineProperty(_thisFunction, "xRotation", {
				get: ExpressionPropertyInterface(transform.rx)
			});

			Object.defineProperty(_thisFunction, "yRotation", {
				get: ExpressionPropertyInterface(transform.ry)
			});
			Object.defineProperty(_thisFunction, "scale", {
				get: ExpressionPropertyInterface(transform.s)
			});

			if(transform.p) {
				var _transformFactory = ExpressionPropertyInterface(transform.p);
			}
			Object.defineProperty(_thisFunction, "position", {
				get: function () {
					if(transform.p) {
						return _transformFactory();
					} else {
						return [transform.px.v, transform.py.v, transform.pz ? transform.pz.v : 0];
					}
				}
			});

			Object.defineProperty(_thisFunction, "xPosition", {
				get: ExpressionPropertyInterface(transform.px)
			});

			Object.defineProperty(_thisFunction, "yPosition", {
				get: ExpressionPropertyInterface(transform.py)
			});

			Object.defineProperty(_thisFunction, "zPosition", {
				get: ExpressionPropertyInterface(transform.pz)
			});

			Object.defineProperty(_thisFunction, "anchorPoint", {
				get: ExpressionPropertyInterface(transform.a)
			});

			Object.defineProperty(_thisFunction, "opacity", {
				get: ExpressionPropertyInterface(transform.o)
			});

			Object.defineProperty(_thisFunction, "skew", {
				get: ExpressionPropertyInterface(transform.sk)
			});

			Object.defineProperty(_thisFunction, "skewAxis", {
				get: ExpressionPropertyInterface(transform.sa)
			});

			Object.defineProperty(_thisFunction, "orientation", {
				get: ExpressionPropertyInterface(transform.or)
			});

			return _thisFunction;
		};
	}());
	var ProjectInterface = (function (){

		function registerComposition(comp){
			this.compositions.push(comp);
		}

		return function(){
			function _thisProjectFunction(name){
				var i = 0, len = this.compositions.length;
				while(i<len){
					if(this.compositions[i].data && this.compositions[i].data.nm === name){
						if(this.compositions[i].prepareFrame && this.compositions[i].data.xt) {
							this.compositions[i].prepareFrame(this.currentFrame);
						}
						return this.compositions[i].compInterface;
					}
					i+=1;
				}
			}

			_thisProjectFunction.compositions = [];
			_thisProjectFunction.currentFrame = 0;

			_thisProjectFunction.registerComposition = registerComposition;



			return _thisProjectFunction;
		};
	}());
	var EffectsExpressionInterface = (function (){
		var ob = {
			createEffectsInterface: createEffectsInterface
		};

		function createEffectsInterface(elem, propertyGroup){
			if(elem.effectsManager){

				var effectElements = [];
				var effectsData = elem.data.ef;
				var i, len = elem.effectsManager.effectElements.length;
				for(i=0;i<len;i+=1){
					effectElements.push(createGroupInterface(effectsData[i],elem.effectsManager.effectElements[i],propertyGroup,elem));
				}

				return function(name){
					var effects = elem.data.ef || [], i = 0, len = effects.length;
					while(i<len) {
						if(name === effects[i].nm || name === effects[i].mn || name === effects[i].ix){
							return effectElements[i];
						}
						i += 1;
					}
				};
			}
		}

		function createGroupInterface(data,elements, propertyGroup, elem){
			var effectElements = [];
			var i, len = data.ef.length;
			for(i=0;i<len;i+=1){
				if(data.ef[i].ty === 5){
					effectElements.push(createGroupInterface(data.ef[i],elements.effectElements[i],elements.effectElements[i].propertyGroup, elem));
				} else {
					effectElements.push(createValueInterface(elements.effectElements[i],data.ef[i].ty, elem, _propertyGroup));
				}
			}

			function _propertyGroup(val) {
				if(val === 1){
					return groupInterface;
				} else{
					return propertyGroup(val-1);
				}
			}

			var groupInterface = function(name){
				var effects = data.ef, i = 0, len = effects.length;
				while(i<len) {
					if(name === effects[i].nm || name === effects[i].mn || name === effects[i].ix){
						if(effects[i].ty === 5){
							return effectElements[i];
						} else {
							return effectElements[i]();
						}
					}
					i += 1;
				}
				return effectElements[0]();
			};

			groupInterface.propertyGroup = _propertyGroup;

			if(data.mn === 'ADBE Color Control'){
				Object.defineProperty(groupInterface, 'color', {
					get: function(){
						return effectElements[0]();
					}
				});
			}
			Object.defineProperty(groupInterface, 'numProperties', {
				get: function(){
					return data.np;
				}
			});
			groupInterface.active = groupInterface.enabled = data.en !== 0;
			return groupInterface;
		}

		function createValueInterface(element, type, elem, propertyGroup){
			var expressionProperty = ExpressionPropertyInterface(element.p);
			function interfaceFunction(){
				if(type === 10){
					return elem.comp.compInterface(element.p.v);
				}
				return expressionProperty();
			}

			if(element.p.setGroupProperty) {
				element.p.setGroupProperty(propertyGroup);
			}

			return interfaceFunction;
		}

		return ob;

	}());
	var MaskManagerInterface = (function(){

		function MaskInterface(mask, data){
			this._mask = mask;
			this._data = data;
		}
		Object.defineProperty(MaskInterface.prototype, 'maskPath', {
			get: function(){
				if(this._mask.prop.k){
					this._mask.prop.getValue();
				}
				return this._mask.prop;
			}
		});
		Object.defineProperty(MaskInterface.prototype, 'maskOpacity', {
			get: function(){
				if(this._mask.op.k){
					this._mask.op.getValue();
				}
				return this._mask.op.v * 100;
			}
		});

		var MaskManager = function(maskManager, elem){
			var _maskManager = maskManager;
			var _elem = elem;
			var _masksInterfaces = createSizedArray(maskManager.viewData.length);
			var i, len = maskManager.viewData.length;
			for(i = 0; i < len; i += 1) {
				_masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);
			}

			var maskFunction = function(name){
				i = 0;
				while(i<len){
					if(maskManager.masksProperties[i].nm === name){
						return _masksInterfaces[i];
					}
					i += 1;
				}
			};
			return maskFunction;
		};
		return MaskManager;
	}());

	var ExpressionPropertyInterface = (function() {

		var defaultUnidimensionalValue = {pv:0, v:0, mult: 1}
		var defaultMultidimensionalValue = {pv:[0,0,0], v:[0,0,0], mult: 1}

		function completeProperty(expressionValue, property, type) {
			Object.defineProperty(expressionValue, 'velocity', {
				get: function(){
					return property.getVelocityAtTime(property.comp.currentFrame);
				}
			});
			expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;
			expressionValue.key = function(pos) {
				if (!expressionValue.numKeys) {
					return 0;
				} else {
					var value = '';
					if ('s' in property.keyframes[pos-1]) {
						value = property.keyframes[pos-1].s;
					} else if ('e' in property.keyframes[pos-2]) {
						value = property.keyframes[pos-2].e;
					} else {
						value = property.keyframes[pos-2].s;
					}
					var valueProp = type === 'unidimensional' ? new Number(value) : Object.assign({}, value);
					valueProp.time = property.keyframes[pos-1].t / property.elem.comp.globalData.frameRate;
					return valueProp;
				}
			};
			expressionValue.valueAtTime = property.getValueAtTime;
			expressionValue.speedAtTime = property.getSpeedAtTime;
			expressionValue.velocityAtTime = property.getVelocityAtTime;
			expressionValue.propertyGroup = property.propertyGroup;
		}

		function UnidimensionalPropertyInterface(property) {
			if(!property || !('pv' in property)) {
				property = defaultUnidimensionalValue;
			}
			var mult = 1 / property.mult;
			var val = property.pv * mult;
			var expressionValue = new Number(val);
			expressionValue.value = val;
			completeProperty(expressionValue, property, 'unidimensional');

			return function() {
				if (property.k) {
					property.getValue();
				}
				val = property.v * mult;
				if(expressionValue.value !== val) {
					expressionValue = new Number(val);
					expressionValue.value = val;
					completeProperty(expressionValue, property, 'unidimensional');
				}
				return expressionValue;
			}
		}

		function MultidimensionalPropertyInterface(property) {
			if(!property || !('pv' in property)) {
				property = defaultMultidimensionalValue;
			}
			var mult = 1 / property.mult;
			var len = property.pv.length;
			var expressionValue = createTypedArray('float32', len);
			var arrValue = createTypedArray('float32', len);
			expressionValue.value = arrValue;
			completeProperty(expressionValue, property, 'multidimensional');

			return function() {
				if (property.k) {
					property.getValue();
				}
				for (var i = 0; i < len; i += 1) {
					expressionValue[i] = arrValue[i] = property.v[i] * mult;
				}
				return expressionValue;
			}
		}

		//TODO: try to avoid using this getter
		function defaultGetter() {
			return defaultUnidimensionalValue;
		}

		return function(property) {
			if(!property) {
				return defaultGetter;
			} else if (property.propType === 'unidimensional') {
				return UnidimensionalPropertyInterface(property);
			} else {
				return MultidimensionalPropertyInterface(property);
			}
		}
	}());

	(function(){

		var TextExpressionSelectorProp = (function(){

			function getValueProxy(index,total){
				this.textIndex = index+1;
				this.textTotal = total;
				this.v = this.getValue() * this.mult;
				return this.v;
			}

			return function TextExpressionSelectorProp(elem,data){
				this.pv = 1;
				this.comp = elem.comp;
				this.elem = elem;
				this.mult = 0.01;
				this.propType = 'textSelector';
				this.textTotal = data.totalChars;
				this.selectorValue = 100;
				this.lastValue = [1,1,1];
				this.k = true;
				this.x = true;
				this.getValue = ExpressionManager.initiateExpression.bind(this)(elem,data,this);
				this.getMult = getValueProxy;
				this.getVelocityAtTime = expressionHelpers.getVelocityAtTime;
				if(this.kf){
					this.getValueAtTime = expressionHelpers.getValueAtTime.bind(this);
				} else {
					this.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this);
				}
				this.setGroupProperty = expressionHelpers.setGroupProperty;
			};
		}());

		var propertyGetTextProp = TextSelectorProp.getTextSelectorProp;
		TextSelectorProp.getTextSelectorProp = function(elem, data,arr){
			if(data.t === 1){
				return new TextExpressionSelectorProp(elem, data,arr);
			} else {
				return propertyGetTextProp(elem,data,arr);
			}
		};
	}());
	function SliderEffect(data,elem, container){
		this.p = PropertyFactory.getProp(elem,data.v,0,0,container);
	}
	function AngleEffect(data,elem, container){
		this.p = PropertyFactory.getProp(elem,data.v,0,0,container);
	}
	function ColorEffect(data,elem, container){
		this.p = PropertyFactory.getProp(elem,data.v,1,0,container);
	}
	function PointEffect(data,elem, container){
		this.p = PropertyFactory.getProp(elem,data.v,1,0,container);
	}
	function LayerIndexEffect(data,elem, container){
		this.p = PropertyFactory.getProp(elem,data.v,0,0,container);
	}
	function MaskIndexEffect(data,elem, container){
		this.p = PropertyFactory.getProp(elem,data.v,0,0,container);
	}
	function CheckboxEffect(data,elem, container){
		this.p = PropertyFactory.getProp(elem,data.v,0,0,container);
	}
	function NoValueEffect(){
		this.p = {};
	}
	function EffectsManager(){}
	function EffectsManager(data,element){
		var effects = data.ef || [];
		this.effectElements = [];
		var i,len = effects.length;
		var effectItem;
		for(i=0;i<len;i++) {
			effectItem = new GroupEffect(effects[i],element);
			this.effectElements.push(effectItem);
		}
	}

	function GroupEffect(data,element){
		this.init(data,element);
	}

	extendPrototype([DynamicPropertyContainer], GroupEffect);

	GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;

	GroupEffect.prototype.init = function(data,element){
		this.data = data;
		this.effectElements = [];
		this.initDynamicPropertyContainer(element);
		var i, len = this.data.ef.length;
		var eff, effects = this.data.ef;
		for(i=0;i<len;i+=1){
			eff = null;
			switch(effects[i].ty){
				case 0:
					eff = new SliderEffect(effects[i],element,this);
					break;
				case 1:
					eff = new AngleEffect(effects[i],element,this);
					break;
				case 2:
					eff = new ColorEffect(effects[i],element,this);
					break;
				case 3:
					eff = new PointEffect(effects[i],element,this);
					break;
				case 4:
				case 7:
					eff = new CheckboxEffect(effects[i],element,this);
					break;
				case 10:
					eff = new LayerIndexEffect(effects[i],element,this);
					break;
				case 11:
					eff = new MaskIndexEffect(effects[i],element,this);
					break;
				case 5:
					eff = new EffectsManager(effects[i],element,this);
					break;
				//case 6:
				default:
					eff = new NoValueEffect(effects[i],element,this);
					break;
			}
			if(eff) {
				this.effectElements.push(eff);
			}
		}
	};

	var lottie = {};

	var _isFrozen = false;

	function setLocationHref (href) {
		locationHref = href;
	}

	function searchAnimations() {
		if (standalone === true) {
			animationManager.searchAnimations(animationData, standalone, renderer);
		} else {
			animationManager.searchAnimations();
		}
	}

	function setSubframeRendering(flag) {
		subframeEnabled = flag;
	}

	function loadAnimation(params) {
		if (standalone === true) {
			params.animationData = JSON.parse(animationData);
		}
		return animationManager.loadAnimation(params);
	}

	function setQuality(value) {
		if (typeof value === 'string') {
			switch (value) {
				case 'high':
					defaultCurveSegments = 200;
					break;
				case 'medium':
					defaultCurveSegments = 50;
					break;
				case 'low':
					defaultCurveSegments = 10;
					break;
			}
		} else if (!isNaN(value) && value > 1) {
			defaultCurveSegments = value;
		}
		if (defaultCurveSegments >= 50) {
			roundValues(false);
		} else {
			roundValues(true);
		}
	}

	function inBrowser() {
		return typeof navigator !== 'undefined';
	}

	function installPlugin(type, plugin) {
		if (type === 'expressions') {
			expressionsPlugin = plugin;
		}
	}

	function getFactory(name) {
		switch (name) {
			case "propertyFactory":
				return PropertyFactory;
			case "shapePropertyFactory":
				return ShapePropertyFactory;
			case "matrix":
				return Matrix;
		}
	}

	lottie.play = animationManager.play;
	lottie.pause = animationManager.pause;
	lottie.setLocationHref = setLocationHref;
	lottie.togglePause = animationManager.togglePause;
	lottie.setSpeed = animationManager.setSpeed;
	lottie.setDirection = animationManager.setDirection;
	lottie.stop = animationManager.stop;
	lottie.searchAnimations = searchAnimations;
	lottie.registerAnimation = animationManager.registerAnimation;
	lottie.loadAnimation = loadAnimation;
	lottie.setSubframeRendering = setSubframeRendering;
	lottie.resize = animationManager.resize;
//lottie.start = start;
	lottie.goToAndStop = animationManager.goToAndStop;
	lottie.destroy = animationManager.destroy;
	lottie.setQuality = setQuality;
	lottie.inBrowser = inBrowser;
	lottie.installPlugin = installPlugin;
	lottie.freeze = animationManager.freeze;
	lottie.unfreeze = animationManager.unfreeze;
	lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;
	lottie.__getFactory = getFactory;
	lottie.version = '5.6.8';

	function checkReady() {
		if (document.readyState === "complete") {
			clearInterval(readyStateCheckInterval);
			searchAnimations();
		}
	}

	function getQueryVariable(variable) {
		var vars = queryString.split('&');
		for (var i = 0; i < vars.length; i++) {
			var pair = vars[i].split('=');
			if (decodeURIComponent(pair[0]) == variable) {
				return decodeURIComponent(pair[1]);
			}
		}
	}
	var standalone = '__[STANDALONE]__';
	var animationData = '__[ANIMATIONDATA]__';
	var renderer = '';
	if (standalone) {
		var scripts = document.getElementsByTagName('script');
		var index = scripts.length - 1;
		var myScript = scripts[index] || {
			src: ''
		};
		var queryString = myScript.src.replace(/^[^\?]+\??/, '');
		renderer = getQueryVariable('renderer');
	}
	var readyStateCheckInterval = setInterval(checkReady, 100);

	return lottie;
}));
.fusion-blog-shortcode{--awb-title-font-family:var(--post_title_typography-font-family);--awb-title-font-style:var(--post_title_typography-font-style, normal);--awb-title-font-weight:var(--post_title_typography-font-weight);--awb-title-font-size:var(--post_title_typography-font-size);--awb-title-line-height:var(--post_title_typography-line-height);--awb-title-letter-spacing:var(--post_title_typography-letter-spacing);--awb-title-text-transform:var(--post_title_typography-text-transform);--awb-timeline-title-font-family:var(--body_typography-font-family);--awb-timeline-title-font-style:var(--body_typography-font-style, normal);--awb-timeline-title-font-weight:var(--body_typography-font-weight);--awb-timeline-title-font-size:var(--body_typography-font-size);--awb-timeline-title-line-height:1.35em;--awb-timeline-title-letter-spacing:inherit;--awb-timeline-title-text-transform:inherit}.fusion-blog-shortcode a{text-decoration:none;box-shadow:none!important}#wrapper #main .fusion-blog-shortcode .entry-title,.fusion-blog-shortcode .entry-title{font-family:var(--awb-title-font-family);font-weight:var(--awb-title-font-weight);font-style:var(--awb-title-font-style);font-size:var(--awb-title-font-size);line-height:var(--awb-title-line-height);letter-spacing:var(--awb-title-letter-spacing);text-transform:var(--awb-title-text-transform);clear:right}.fusion-blog-shortcode .fusion-read-more{position:relative;margin-right:10px;text-align:right}.fusion-blog-shortcode .fusion-read-more:after{content:"\f105";top:50%;right:-10px;padding-left:5px;font-size:14px;font-family:awb-icons;position:absolute;transform:translateY(-50%)}.fusion-blog-shortcode .fusion-inline-sep{padding:0 5px}.fusion-blog-shortcode .fusion-inline-sep:last-child{display:none}.fusion-blog-shortcode .fusion-post-grid{margin-bottom:65px}.fusion-blog-shortcode .fusion-load-more-button.fusion-blog-button{background-color:var(--blog_element_load_more_posts_button_bg_color);color:var(--blog_element_load_more_posts_button_text_color)}.fusion-blog-shortcode .fusion-load-more-button.fusion-blog-button:hover{background-color:var(--blog_element_load_more_posts_hover_button_bg_color);color:var(--blog_element_load_more_posts_hover_button_text_color)}.fusion-post-slideshow .image{margin-bottom:0}.fusion-post-slideshow .fusion-image-size-fixed{display:block}.fusion-flexslider.fusion-post-slideshow{overflow:visible}.fusion-meta-info{clear:both;overflow:hidden;margin-top:20px;padding:5px 0;border-top:1px solid #e7e6e6;border-bottom:1px solid #e7e6e6}.fusion-meta-info .fusion-alignleft{width:80%}.fusion-single-line-meta{margin-bottom:20px}.fusion-content-sep{margin-top:20px;height:6px;border-top:1px solid #eaeaea;border-bottom:1px solid #eaeaea}.fusion-date-and-formats{float:left;margin-right:17px;width:82px;text-align:center}.fusion-date-and-formats .fusion-date-box{padding:8px 0 5px;color:#fff;display:block}.fusion-date-and-formats .fusion-date{display:block;line-height:29px;font-size:29px;font-weight:700}.fusion-date-and-formats .fusion-format-box{margin-top:3px;background-color:#eef0f2}.fusion-date-and-formats .fusion-format-box i{display:block;line-height:55px;font-size:30px}.fusion-timeline-line{position:absolute;left:50%;top:0;margin-left:-1px;height:100%;border-left:1px solid #efeeee;border-right:1px solid #ebeaea}.fusion-timeline-icon{margin:0 auto -6px;max-width:1000px;font-size:46px;height:47px;line-height:1;color:#ebeaea;text-align:center}.fusion-timeline-icon .fusionicon-bubbles{cursor:pointer}.fusion-timeline-circle{position:absolute;left:50%;margin:10px 0 0 -5px;height:10px;width:10px;border-radius:50%;background-color:#efeeee}.fusion-timeline-arrow{position:absolute;color:#e9eaee}.fusion-timeline-arrow:before{font-family:awb-icons;font-size:28px;position:absolute;top:0;line-height:30px}.fusion-blog-archive .entry-title{margin-top:0;margin-bottom:5px}.fusion-blog-layout-large article,.fusion-blog-layout-large-alternate article,.fusion-blog-layout-medium article,.fusion-blog-layout-medium-alternate article{margin-bottom:65px}.fusion-blog-layout-large .entry-title,.fusion-blog-layout-medium .entry-title{margin-top:0;margin-bottom:25px}.fusion-blog-layout-large .fusion-post-slideshow,.fusion-blog-layout-large-alternate .fusion-post-slideshow,.single-avada_faq .fusion-post-slideshow,.single-post .fusion-post-slideshow,.single-wpfc_sermon .fusion-post-slideshow{margin-bottom:30px}.fusion-blog-layout-large-alternate .entry-title,.fusion-blog-layout-medium-alternate .entry-title{margin-top:0;margin-bottom:5px}.fusion-blog-layout-large-alternate .fusion-post-content-container,.fusion-blog-layout-medium-alternate .fusion-post-content-container{margin-top:20px}.fusion-blog-layout-large-alternate .fusion-meta-info,.fusion-blog-layout-medium-alternate .fusion-meta-info{margin-top:0;border-top:0}.fusion-blog-layout-medium .fusion-post-medium,.fusion-blog-layout-medium .fusion-post-medium-alternate,.fusion-blog-layout-medium-alternate .fusion-post-medium,.fusion-blog-layout-medium-alternate .fusion-post-medium-alternate{display:flex;flex-wrap:wrap;align-items:start}.fusion-blog-layout-medium .fusion-post-slideshow,.fusion-blog-layout-medium-alternate .fusion-post-slideshow{margin-right:25px;width:320px;margin-bottom:0}.fusion-blog-layout-medium .fusion-post-content,.fusion-blog-layout-medium-alternate .fusion-post-content{flex:1 1 1px}.fusion-blog-layout-medium .fusion-meta-info,.fusion-blog-layout-medium-alternate .fusion-meta-info{width:100%}.fusion-blog-layout-grid .fusion-post-slideshow,.fusion-blog-layout-timeline .fusion-post-slideshow{margin-bottom:0;border-bottom:1px solid #eaeaea}.fusion-blog-layout-grid .fusion-post-content-wrapper,.fusion-blog-layout-timeline .fusion-post-content-wrapper{padding:30px 25px 20px}.fusion-blog-layout-grid .fusion-single-line-meta,.fusion-blog-layout-timeline .fusion-single-line-meta{margin-bottom:0}.fusion-blog-layout-grid .fusion-post-content-container,.fusion-blog-layout-timeline .fusion-post-content-container{margin-top:20px}.fusion-blog-layout-grid .fusion-post-content-container p:last-child,.fusion-blog-layout-timeline .fusion-post-content-container p:last-child{margin-bottom:0}.fusion-blog-layout-grid .fusion-meta-info,.fusion-blog-layout-timeline .fusion-meta-info{border:0}.fusion-blog-layout-grid .fusion-meta-info .fusion-alignleft,.fusion-blog-layout-timeline .fusion-meta-info .fusion-alignleft{width:50%;display:inline-block;margin:0}.fusion-blog-layout-grid .fusion-meta-info .fusion-alignright,.fusion-blog-layout-timeline .fusion-meta-info .fusion-alignright{width:50%;display:inline-block;text-align:right;margin:0}.fusion-blog-layout-grid .fusion-password,.fusion-blog-layout-timeline .fusion-password{width:auto;max-width:100%}.fusion-blog-layout-large-alternate .fusion-post-large-alternate{display:flex;flex-wrap:wrap}.fusion-blog-layout-large-alternate .fusion-post-content{flex:1}.fusion-blog-layout-large-alternate .fusion-meta-info,.fusion-blog-layout-large-alternate .fusion-post-slideshow{width:100%}.fusion-blog-layout-medium-alternate .fusion-post-slideshow{display:none}.fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-post-slideshow{display:block;margin-right:17px}.fusion-blog-layout-grid .fusion-post-grid{margin-bottom:0;box-sizing:border-box;border:none}.fusion-blog-layout-grid.fusion-no-meta-info .fusion-post-content-container{margin-top:0}.fusion-blog-layout-grid .fusion-post-wrapper{border:1px solid #eaeaea;border-bottom-width:3px}.fusion-blog-layout-grid .fusion-post-wrapper .fusion-image-wrapper img{box-shadow:none;border-radius:0}.fusion-blog-layout-grid .fusion-post-wrapper.fusion-masonary-is-transparent{border:none;border-bottom-width:0}.fusion-blog-layout-grid.fusion-blog-layout-grid-1.fusion-blog-layout-masonry article{width:100%}.fusion-blog-layout-grid.fusion-blog-layout-grid-2 .fusion-post-grid{width:50%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-2.fusion-blog-layout-masonry-has-vertical .fusion-post-grid.fusion-element-landscape{width:100%}.fusion-blog-layout-grid.fusion-blog-layout-grid-3 .fusion-post-grid{width:33.33333333%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-3.fusion-blog-layout-masonry-has-vertical .fusion-post-grid.fusion-element-landscape{width:66.66666667%}.fusion-blog-layout-grid.fusion-blog-layout-grid-4 .fusion-post-grid{width:25%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-4.fusion-blog-layout-masonry-has-vertical .fusion-post-grid.fusion-element-landscape{width:50%}.fusion-blog-layout-grid.fusion-blog-layout-grid-5 .fusion-post-grid{width:20%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-5.fusion-blog-layout-masonry-has-vertical .fusion-post-grid.fusion-element-landscape{width:40%}.fusion-blog-layout-grid.fusion-blog-layout-grid-6 .fusion-post-grid{width:16.66666667%;display:inline-block;float:left}.fusion-blog-layout-grid.fusion-blog-layout-grid-6.fusion-blog-layout-masonry-has-vertical .fusion-post-grid.fusion-element-landscape{width:33.33333333%}.fusion-blog-layout-grid .fusion-post-content,.fusion-blog-layout-grid .fusion-post-grid-content{word-wrap:break-word}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-grid{display:inline-flex}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper{overflow:hidden;width:100%;display:flex;flex-direction:column}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper .fusion-post-content-wrapper{display:flex;flex-grow:1;flex-direction:column}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper .fusion-post-content.fusion-post-grid-content{margin-bottom:20px}.fusion-blog-layout-grid.fusion-blog-equal-heights .fusion-post-wrapper .fusion-meta-info{margin-top:auto}.fusion-blog-layout-timeline{position:relative;margin:0 auto;padding-top:30px;max-width:1000px}.fusion-blog-layout-timeline .fusion-post-timeline{position:static;margin-bottom:40px;border:1px solid #eaeaea;border-bottom-width:3px}.fusion-no-meta-info .fusion-blog-layout-timeline .fusion-post-content-container{margin-top:0}.fusion-blog-layout-timeline .fusion-left-column{float:left;clear:left;width:40%}.fusion-blog-layout-timeline .fusion-right-column{float:right;clear:right;width:40%}.fusion-blog-layout-timeline .fusion-timeline-date{position:relative;clear:both;margin:0 auto 2px;padding:.35em .45em;width:auto;max-width:8em;background:#efeeee;text-align:center;cursor:pointer;font-family:var(--awb-timeline-title-font-family);font-weight:var(--awb-timeline-title-font-weight);font-style:var(--awb-timeline-title-font-style);font-size:var(--awb-timeline-title-font-size);line-height:var(--awb-timeline-title-line-height);letter-spacing:var(--awb-timeline-title-letter-spacing);text-transform:var(--awb-timeline-title-text-transform)}.fusion-blog-layout-timeline .fusion-left-column .fusion-timeline-arrow{left:40%;margin-left:-.5px}.fusion-blog-layout-timeline .fusion-left-column .fusion-timeline-arrow:before{content:"\f0da";left:100%}.fusion-blog-layout-timeline .fusion-right-column .fusion-timeline-arrow{right:40%;margin-right:-.5px}.fusion-blog-layout-timeline .fusion-right-column .fusion-timeline-arrow:before{content:"\f0d9";right:100%}.fusion-blog-layout-masonry .fusion-post-wrapper{overflow:hidden;position:relative}.fusion-blog-layout-masonry .fusion-post-content-wrapper{z-index:1;position:absolute;bottom:0;left:0;right:0}.fusion-blog-layout-masonry.fusion-blog-rollover .fusion-post-wrapper:hover .fusion-post-content-wrapper{transition:all .3s ease;transform:translateY(105%)}.fusion-blog-layout-masonry.fusion-blog-rollover .fusion-post-content-wrapper{transition:all .3s ease}.fusion-blog-infinite .pagination{display:none}.fusion-blog-infinite .fusion-load-more-button{margin-bottom:40px}.fusion-blog-pagination .pagination{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;margin-top:40px;line-height:normal}.fusion-show-pagination-text .fusion-blog-pagination .pagination{margin-left:1em;margin-right:1em}.fusion-blog-pagination .pagination a{text-decoration:none}.fusion-blog-pagination .pagination a.inactive{margin:0 4px}.fusion-blog-pagination .pagination .current{color:#fff;margin:0 4px}.fusion-blog-pagination .pagination .pagination-prev{padding:0;position:relative}.fusion-blog-pagination .pagination .pagination-prev:before{font-family:awb-icons;content:"\f104"}.fusion-blog-pagination .pagination .pagination-next{padding:0;position:relative}.fusion-blog-pagination .pagination .pagination-next:after{font-family:awb-icons;content:"\f105"}.fusion-load-more-button{display:block;margin-top:20px;width:100%;height:50px;line-height:50px;background-color:#e9eaee;cursor:pointer;text-align:center;font-size:inherit;text-transform:uppercase;border:none;transition:all .2s}.fusion-load-more-button:hover{transition:all .2s}.fusion-load-more-button.fusion-blog-button{background-color:var(--blog_load_more_posts_button_bg_color);color:var(--blog_load_more_posts_button_text_color)}.fusion-load-more-button.fusion-blog-button:hover{background-color:var(--blog_load_more_posts_hover_button_bg_color);color:var(--blog_load_more_posts_hover_button_text_color)}.fusion-blog-layout-center .fusion-post-content{text-align:center}.fusion-blog-layout-left .fusion-post-content{text-align:left}.fusion-blog-layout-right .fusion-post-content{text-align:right}.fusion-blog-layout--masonry .fusion-post-content-wrapper{background-color:var(--timeline_bg_color-not-transparent)}.fusion-blog-layout--grid .fusion-post-grid .fusion-post-wrapper{background-color:var(--timeline_bg_color)}.fusion-blog-layout--timeline .fusion-post-grid{background-color:var(--timeline_bg_color)}.fusion-blog-layout-grid .fusion-post-grid .flexslider,.fusion-blog-layout-grid .fusion-post-grid .fusion-post-wrapper,.fusion-blog-layout-timeline .fusion-post-grid,.fusion-blog-layout-timeline .fusion-post-grid .flexslider,.fusion-blog-layout-timeline .fusion-timeline-arrow,.fusion-blog-layout-timeline .fusion-timeline-date,.fusion-blog-layout-timeline .fusion-timeline-line,.fusion-blog-timeline-layout .fusion-post-grid,.fusion-blog-timeline-layout .fusion-post-grid .flexslider,.fusion-blog-timeline-layout .fusion-post-grid .fusion-content-sep,.fusion-events-shortcode .fusion-events-thumbnail,.fusion-events-shortcode .fusion-layout-column,.product-buttons,.product-buttons-container,.products li .fusion-product-wrapper{border-color:var(--timeline_color)}.avada-has-transparent-timeline_color .fusion-blog-layout-grid .fusion-post-grid .flexslider,.avada-has-transparent-timeline_color .fusion-blog-layout-grid .fusion-post-grid .fusion-post-wrapper,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .fusion-post-grid,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .fusion-post-grid .flexslider,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .fusion-timeline-arrow,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .fusion-timeline-date,.avada-has-transparent-timeline_color .fusion-blog-layout-timeline .fusion-timeline-line,.avada-has-transparent-timeline_color .fusion-blog-timeline-layout .fusion-post-grid,.avada-has-transparent-timeline_color .fusion-blog-timeline-layout .fusion-post-grid .flexslider,.avada-has-transparent-timeline_color .fusion-blog-timeline-layout .fusion-post-grid .fusion-content-sep,.avada-has-transparent-timeline_color .fusion-events-shortcode .fusion-events-thumbnail,.avada-has-transparent-timeline_color .fusion-events-shortcode .fusion-layout-column,.avada-has-transparent-timeline_color .product-buttons,.avada-has-transparent-timeline_color .product-buttons-container,.avada-has-transparent-timeline_color .products li .fusion-product-wrapper{border:none}.fusion-body .product .fusion-content-sep{border-color:var(--grid_separator_color)}.avada-has-transparent-grid-sep-color.fusion-body .product .fusion-content-sep{border:none}.fusion-blog-layout-timeline .fusion-timeline-circle,.fusion-blog-layout-timeline .fusion-timeline-date,.fusion-blog-timeline-layout .fusion-timeline-circle,.fusion-blog-timeline-layout .fusion-timeline-date{background-color:var(--timeline_color)}.fusion-blog-timeline-layout .fusion-timeline-arrow,.fusion-blog-timeline-layout .fusion-timeline-icon,.fusion-timeline-arrow,.fusion-timeline-icon{color:var(--timeline_color)}.fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery:before,.fusion-image-wrapper .fusion-rollover .fusion-rollover-link:before{line-height:2.41}.fusion-blog-pagination .pagination a.inactive,.fusion-hide-pagination-text .fusion-blog-pagination .pagination .pagination-next,.fusion-hide-pagination-text .fusion-blog-pagination .pagination .pagination-prev{border-color:var(--sep_color)}#main #comment-submit,.button-default,.button.default,.comment-form input[type="submit"],.fusion-button,.fusion-button-default,.wpcf7-form input[type="submit"],.wpcf7-submit,input.button-default{--awb-margin-top:0px;--awb-margin-right:0px;--awb-margin-bottom:0px;--awb-margin-left:0px;--awb-padding-top:var(--button_padding-top, 13px);--awb-padding-right:var(--button_padding-right, 29px);--awb-padding-bottom:var(--button_padding-bottom, 13px);--awb-padding-left:var(--button_padding-left, 29px);display:inline-flex;justify-content:center;align-items:center;position:relative;text-decoration:none;cursor:pointer;box-sizing:border-box;font-family:var(--button_typography-font-family);font-weight:var(--button_typography-font-weight);font-style:var(--button_typography-font-style,normal);letter-spacing:var(--button_typography-letter-spacing);border-width:var(--button_border_width-top,0) var(--button_border_width-right,0) var(--button_border_width-bottom,0) var(--button_border_width-left,0);border-style:solid;border-radius:var(--button-border-radius-top-left,0) var(--button-border-radius-top-right,0) var(--button-border-radius-bottom-right,0) var(--button-border-radius-bottom-left,0);text-transform:var(--button_text_transform);transition:color .2s,font-size .2s,background-color .2s,background-image .2s,border-color .2s,border-width .2s,border-style .2s,border-radius .2s,box-shadow .2s,opacity .2s,transform .2s;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-body .fusion-button-default-size,button.button{padding-top:var(--awb-padding-top);padding-right:var(--awb-padding-right);padding-bottom:var(--awb-padding-bottom);padding-left:var(--awb-padding-left);line-height:var(--button_line_height, 1);font-size:var(--button_font_size, 14px)}.fusion-body .fusion-button-default-size .fusion-button-text-left,button.button .fusion-button-text-left{display:inline-block;margin-left:calc(var(--awb-padding-left,29px)/ 2 + var(--button_font_size,14px) + 1px)}.fusion-body .fusion-button-default-size .fusion-button-text-right,button.button .fusion-button-text-right{display:inline-block;margin-right:calc(var(--awb-padding-right,29px)/ 2 + var(--button_font_size,14px) + 1px)}.fusion-body .fusion-button-default-size .button-icon-divider-left,.fusion-body .fusion-button-default-size .button-icon-divider-right,button.button .button-icon-divider-left,button.button .button-icon-divider-right{margin:0;padding:0;width:calc(var(--awb-padding-left,29px) + var(--button_font_size,14px))}.fusion-body .fusion-button-default-size .button-icon-divider-left i,.fusion-body .fusion-button-default-size .button-icon-divider-left img,.fusion-body .fusion-button-default-size .button-icon-divider-right i,.fusion-body .fusion-button-default-size .button-icon-divider-right img,button.button .button-icon-divider-left i,button.button .button-icon-divider-left img,button.button .button-icon-divider-right i,button.button .button-icon-divider-right img{display:block}#main #comment-submit,.button-default,.button.default,.comment-form input[type="submit"],.fusion-button-default,.wpcf7-form input[type="submit"],.wpcf7-submit,input.button-default{background:var(--button_gradient_top_color);color:var(--button_accent_color);border-color:var(--button_border_color)}#main #comment-submit .fusion-button-text,.button-default .fusion-button-text,.button.default .fusion-button-text,.comment-form input[type="submit"] .fusion-button-text,.fusion-button-default .fusion-button-text,.wpcf7-form input[type="submit"] .fusion-button-text,.wpcf7-submit .fusion-button-text,input.button-default .fusion-button-text{color:var(--button_accent_color)}#main #comment-submit:active .fusion-button-text,.button-default:active .fusion-button-text,.button.default:active .fusion-button-text,.comment-form input[type="submit"]:active .fusion-button-text,.fusion-button-default:active .fusion-button-text,.wpcf7-form input[type="submit"]:active .fusion-button-text,.wpcf7-submit:active .fusion-button-text,input.button-default:active .fusion-button-text,#main #comment-submit:focus .fusion-button-text,.button-default:focus .fusion-button-text,.button.default:focus .fusion-button-text,.comment-form input[type="submit"]:focus .fusion-button-text,.fusion-button-default:focus .fusion-button-text,.wpcf7-form input[type="submit"]:focus .fusion-button-text,.wpcf7-submit:focus .fusion-button-text,input.button-default:focus .fusion-button-text,#main #comment-submit:hover .fusion-button-text,.button-default:hover .fusion-button-text,.button.default:hover .fusion-button-text,.comment-form input[type="submit"]:hover .fusion-button-text,.fusion-button-default:hover .fusion-button-text,.wpcf7-form input[type="submit"]:hover .fusion-button-text,.wpcf7-submit:hover .fusion-button-text,input.button-default:hover .fusion-button-text{color:var(--button_accent_hover_color,var(--button_accent_color))}.fusion-has-button-gradient #main #comment-submit,.fusion-has-button-gradient .button-default,.fusion-has-button-gradient .button.default,.fusion-has-button-gradient .comment-form input[type="submit"],.fusion-has-button-gradient .fusion-button-default,.fusion-has-button-gradient .wpcf7-form input[type="submit"],.fusion-has-button-gradient .wpcf7-submit,.fusion-has-button-gradient input.button-default,.fusion-has-button-gradient.fusion-button-default{--button_gradient:linear-gradient(var(--button_gradient_angle, 180deg), var(--button_gradient_top_color) var(--button_gradient_start, 0%), var(--button_gradient_bottom_color) var(--button_gradient_end, 100%));background-image:var(--button_gradient)}.fusion-has-button-gradient #main #comment-submit:active,.fusion-has-button-gradient .button-default:active,.fusion-has-button-gradient .button.default:active,.fusion-has-button-gradient .comment-form input[type="submit"]:active,.fusion-has-button-gradient .fusion-button-default:active,.fusion-has-button-gradient .wpcf7-form input[type="submit"]:active,.fusion-has-button-gradient .wpcf7-submit:active,.fusion-has-button-gradient input.button-default:active,.fusion-has-button-gradient.fusion-button-default:active,.fusion-has-button-gradient #main #comment-submit:focus,.fusion-has-button-gradient .button-default:focus,.fusion-has-button-gradient .button.default:focus,.fusion-has-button-gradient .comment-form input[type="submit"]:focus,.fusion-has-button-gradient .fusion-button-default:focus,.fusion-has-button-gradient .wpcf7-form input[type="submit"]:focus,.fusion-has-button-gradient .wpcf7-submit:focus,.fusion-has-button-gradient input.button-default:focus,.fusion-has-button-gradient.fusion-button-default:focus,.fusion-has-button-gradient #main #comment-submit:hover,.fusion-has-button-gradient .button-default:hover,.fusion-has-button-gradient .button.default:hover,.fusion-has-button-gradient .comment-form input[type="submit"]:hover,.fusion-has-button-gradient .fusion-button-default:hover,.fusion-has-button-gradient .wpcf7-form input[type="submit"]:hover,.fusion-has-button-gradient .wpcf7-submit:hover,.fusion-has-button-gradient input.button-default:hover,.fusion-has-button-gradient.fusion-button-default:hover{--button_gradient_hover:linear-gradient(var(--button_gradient_angle, 180deg), var(--button_gradient_top_color_hover) var(--button_gradient_start, 0%), var(--button_gradient_bottom_color_hover) var(--button_gradient_end, 100%));background-image:var(--button_gradient_hover)}.fusion-button_gradient-radial #main #comment-submit,.fusion-button_gradient-radial .button-default,.fusion-button_gradient-radial .button.default,.fusion-button_gradient-radial .comment-form input[type="submit"],.fusion-button_gradient-radial .fusion-button-default,.fusion-button_gradient-radial .wpcf7-form input[type="submit"],.fusion-button_gradient-radial .wpcf7-submit,.fusion-button_gradient-radial input.button-default,.fusion-button_gradient-radial.fusion-button-default{--button_gradient:radial-gradient(circle at var(--button_radial_direction, center center), var(--button_gradient_top_color) var(--button_gradient_start, 0%), var(--button_gradient_bottom_color) var(--button_gradient_end, 100%));background-image:var(--button_gradient)}.fusion-button_gradient-radial #main #comment-submit:active,.fusion-button_gradient-radial .button-default:active,.fusion-button_gradient-radial .button.default:active,.fusion-button_gradient-radial .comment-form input[type="submit"]:active,.fusion-button_gradient-radial .fusion-button-default:active,.fusion-button_gradient-radial .wpcf7-form input[type="submit"]:active,.fusion-button_gradient-radial .wpcf7-submit:active,.fusion-button_gradient-radial input.button-default:active,.fusion-button_gradient-radial.fusion-button-default:active,.fusion-button_gradient-radial #main #comment-submit:focus,.fusion-button_gradient-radial .button-default:focus,.fusion-button_gradient-radial .button.default:focus,.fusion-button_gradient-radial .comment-form input[type="submit"]:focus,.fusion-button_gradient-radial .fusion-button-default:focus,.fusion-button_gradient-radial .wpcf7-form input[type="submit"]:focus,.fusion-button_gradient-radial .wpcf7-submit:focus,.fusion-button_gradient-radial input.button-default:focus,.fusion-button_gradient-radial.fusion-button-default:focus,.fusion-button_gradient-radial #main #comment-submit:hover,.fusion-button_gradient-radial .button-default:hover,.fusion-button_gradient-radial .button.default:hover,.fusion-button_gradient-radial .comment-form input[type="submit"]:hover,.fusion-button_gradient-radial .fusion-button-default:hover,.fusion-button_gradient-radial .wpcf7-form input[type="submit"]:hover,.fusion-button_gradient-radial .wpcf7-submit:hover,.fusion-button_gradient-radial input.button-default:hover,.fusion-button_gradient-radial.fusion-button-default:hover{--button_gradient_hover:radial-gradient(circle at var(--button_radial_direction, center center), var(--button_gradient_top_color_hover) var(--button_gradient_start, 0%), var(--button_gradient_bottom_color_hover) var(--button_gradient_end, 100%));background-image:var(--button_gradient_hover)}#main #comment-submit:visited,.button-default:visited,.button.default:visited,.comment-form input[type="submit"]:visited,.fusion-button-default:visited,.wpcf7-form input[type="submit"]:visited,.wpcf7-submit:visited,input.button-default:visited{color:var(--button_accent_color)}#main #comment-submit:active,.button-default:active,.button.default:active,.comment-form input[type="submit"]:active,.fusion-button-default:active,.wpcf7-form input[type="submit"]:active,.wpcf7-submit:active,input.button-default:active,#main #comment-submit:focus,.button-default:focus,.button.default:focus,.comment-form input[type="submit"]:focus,.fusion-button-default:focus,.wpcf7-form input[type="submit"]:focus,.wpcf7-submit:focus,input.button-default:focus,#main #comment-submit:hover,.button-default:hover,.button.default:hover,.comment-form input[type="submit"]:hover,.fusion-button-default:hover,.wpcf7-form input[type="submit"]:hover,.wpcf7-submit:hover,input.button-default:hover{background:var(--button_gradient_top_color_hover);color:var(--button_accent_hover_color,var(--button_accent_color));border-color:var(--button_border_hover_color)}.fusion-button_span-yes #main #comment-submit:not(.fusion-button-span-no),.fusion-button_span-yes .button-default:not(.fusion-button-span-no),.fusion-button_span-yes .button.default:not(.fusion-button-span-no),.fusion-button_span-yes .comment-form input[type="submit"]:not(.fusion-button-span-no),.fusion-button_span-yes .fusion-button-default:not(.fusion-button-span-no),.fusion-button_span-yes .wpcf7-form input[type="submit"]:not(.fusion-button-span-no),.fusion-button_span-yes .wpcf7-submit:not(.fusion-button-span-no),.fusion-button_span-yes input.button-default:not(.fusion-button-span-no),.fusion-button_span-yes.fusion-button-default:not(.fusion-button-span-no){width:100%}.fusion-button.button-flat{box-shadow:none!important}.fusion-button-wrapper{display:inline}.fusion-button-wrapper.fusion-aligncenter{display:block;text-align:center}.fusion-button-wrapper.fusion-align-block{display:block}.fusion-disable-outline .bbp-submit-wrapper .button,.fusion-disable-outline .button,.fusion-disable-outline .fusion-button,.fusion-disable-outline .gform_wrapper .button,.fusion-disable-outline .gform_wrapper .gform_button,.fusion-disable-outline .post-password-form input[type=submit],.fusion-disable-outline .single_add_to_cart_button,.fusion-disable-outline .tml-submit-wrap input[type=submit],.fusion-disable-outline .tribe-events-tickets .button,.fusion-disable-outline .tribe-tickets button,.fusion-disable-outline .woocommerce .cart-collaterals .checkout-button,.fusion-disable-outline .woocommerce .checkout #place_order,.fusion-disable-outline .woocommerce.add_to_cart_inline .button,.fusion-disable-outline .wpcf7-submit{outline:0}.fusion-disable-outline .bbp-submit-wrapper .button:focus,.fusion-disable-outline .button:focus,.fusion-disable-outline .fusion-button:focus,.fusion-disable-outline .gform_wrapper .button:focus,.fusion-disable-outline .gform_wrapper .gform_button:focus,.fusion-disable-outline .post-password-form input[type=submit]:focus,.fusion-disable-outline .single_add_to_cart_button:focus,.fusion-disable-outline .tml-submit-wrap input[type=submit]:focus,.fusion-disable-outline .tribe-events-tickets .button:focus,.fusion-disable-outline .tribe-tickets button:focus,.fusion-disable-outline .woocommerce .cart-collaterals .checkout-button:focus,.fusion-disable-outline .woocommerce .checkout #place_order:focus,.fusion-disable-outline .woocommerce.add_to_cart_inline .button:focus,.fusion-disable-outline .wpcf7-submit:focus{outline:0}.fusion-button i,.fusion-button-icon-divider,.fusion-button-text{transition:inherit}#bbp_user_edit_submit,.bbp-submit-wrapper .button,.button-small,.fusion-body .fusion-button-small,.single_add_to_cart_button,.wpcf7-form .wpcf7-submit.button-small,.wpcf7-form .wpcf7-submit.fusion-button-small{padding:9px 20px;line-height:14px;font-size:12px}#bbp_user_edit_submit .fusion-button-text-left,.bbp-submit-wrapper .button .fusion-button-text-left,.button-small .fusion-button-text-left,.fusion-body .fusion-button-small .fusion-button-text-left,.single_add_to_cart_button .fusion-button-text-left,.wpcf7-form .wpcf7-submit.button-small .fusion-button-text-left,.wpcf7-form .wpcf7-submit.fusion-button-small .fusion-button-text-left{display:inline-block;padding-left:25px}#bbp_user_edit_submit .fusion-button-text-right,.bbp-submit-wrapper .button .fusion-button-text-right,.button-small .fusion-button-text-right,.fusion-body .fusion-button-small .fusion-button-text-right,.single_add_to_cart_button .fusion-button-text-right,.wpcf7-form .wpcf7-submit.button-small .fusion-button-text-right,.wpcf7-form .wpcf7-submit.fusion-button-small .fusion-button-text-right{display:inline-block;padding-right:25px}#bbp_user_edit_submit .button-icon-divider-left,.bbp-submit-wrapper .button .button-icon-divider-left,.button-small .button-icon-divider-left,.fusion-body .fusion-button-small .button-icon-divider-left,.single_add_to_cart_button .button-icon-divider-left,.wpcf7-form .wpcf7-submit.button-small .button-icon-divider-left,.wpcf7-form .wpcf7-submit.fusion-button-small .button-icon-divider-left{padding:0 10px}#bbp_user_edit_submit .button-icon-divider-left.fusion-megamenu-image,.bbp-submit-wrapper .button .button-icon-divider-left.fusion-megamenu-image,.button-small .button-icon-divider-left.fusion-megamenu-image,.fusion-body .fusion-button-small .button-icon-divider-left.fusion-megamenu-image,.single_add_to_cart_button .button-icon-divider-left.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.button-small .button-icon-divider-left.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.fusion-button-small .button-icon-divider-left.fusion-megamenu-image{padding:0 5px}#bbp_user_edit_submit .button-icon-divider-right,.bbp-submit-wrapper .button .button-icon-divider-right,.button-small .button-icon-divider-right,.fusion-body .fusion-button-small .button-icon-divider-right,.single_add_to_cart_button .button-icon-divider-right,.wpcf7-form .wpcf7-submit.button-small .button-icon-divider-right,.wpcf7-form .wpcf7-submit.fusion-button-small .button-icon-divider-right{padding:0 10px}#bbp_user_edit_submit .button-icon-divider-right.fusion-megamenu-image,.bbp-submit-wrapper .button .button-icon-divider-right.fusion-megamenu-image,.button-small .button-icon-divider-right.fusion-megamenu-image,.fusion-body .fusion-button-small .button-icon-divider-right.fusion-megamenu-image,.single_add_to_cart_button .button-icon-divider-right.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.button-small .button-icon-divider-right.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.fusion-button-small .button-icon-divider-right.fusion-megamenu-image{padding:0 5px}#bbp_user_edit_submit .button-icon-divider-left i,#bbp_user_edit_submit .button-icon-divider-left img,#bbp_user_edit_submit .button-icon-divider-right i,#bbp_user_edit_submit .button-icon-divider-right img,.bbp-submit-wrapper .button .button-icon-divider-left i,.bbp-submit-wrapper .button .button-icon-divider-left img,.bbp-submit-wrapper .button .button-icon-divider-right i,.bbp-submit-wrapper .button .button-icon-divider-right img,.button-small .button-icon-divider-left i,.button-small .button-icon-divider-left img,.button-small .button-icon-divider-right i,.button-small .button-icon-divider-right img,.fusion-body .fusion-button-small .button-icon-divider-left i,.fusion-body .fusion-button-small .button-icon-divider-left img,.fusion-body .fusion-button-small .button-icon-divider-right i,.fusion-body .fusion-button-small .button-icon-divider-right img,.single_add_to_cart_button .button-icon-divider-left i,.single_add_to_cart_button .button-icon-divider-left img,.single_add_to_cart_button .button-icon-divider-right i,.single_add_to_cart_button .button-icon-divider-right img,.wpcf7-form .wpcf7-submit.button-small .button-icon-divider-left i,.wpcf7-form .wpcf7-submit.button-small .button-icon-divider-left img,.wpcf7-form .wpcf7-submit.button-small .button-icon-divider-right i,.wpcf7-form .wpcf7-submit.button-small .button-icon-divider-right img,.wpcf7-form .wpcf7-submit.fusion-button-small .button-icon-divider-left i,.wpcf7-form .wpcf7-submit.fusion-button-small .button-icon-divider-left img,.wpcf7-form .wpcf7-submit.fusion-button-small .button-icon-divider-right i,.wpcf7-form .wpcf7-submit.fusion-button-small .button-icon-divider-right img{display:block}.button-medium,.fusion-body .fusion-button-medium,.ticket-selector-submit-btn[type=submit],.wpcf7-form .wpcf7-submit.button-medium,.wpcf7-form .wpcf7-submit.fusion-button-medium{padding:11px 23px;line-height:16px;font-size:13px}.button-medium .fusion-button-text-left,.fusion-body .fusion-button-medium .fusion-button-text-left,.ticket-selector-submit-btn[type=submit] .fusion-button-text-left,.wpcf7-form .wpcf7-submit.button-medium .fusion-button-text-left,.wpcf7-form .wpcf7-submit.fusion-button-medium .fusion-button-text-left{display:inline-block;padding-left:28px}.button-medium .fusion-button-text-right,.fusion-body .fusion-button-medium .fusion-button-text-right,.ticket-selector-submit-btn[type=submit] .fusion-button-text-right,.wpcf7-form .wpcf7-submit.button-medium .fusion-button-text-right,.wpcf7-form .wpcf7-submit.fusion-button-medium .fusion-button-text-right{display:inline-block;padding-right:28px}.button-medium .button-icon-divider-left,.fusion-body .fusion-button-medium .button-icon-divider-left,.ticket-selector-submit-btn[type=submit] .button-icon-divider-left,.wpcf7-form .wpcf7-submit.button-medium .button-icon-divider-left,.wpcf7-form .wpcf7-submit.fusion-button-medium .button-icon-divider-left{padding:0 12.5px}.button-medium .button-icon-divider-left.fusion-megamenu-image,.fusion-body .fusion-button-medium .button-icon-divider-left.fusion-megamenu-image,.ticket-selector-submit-btn[type=submit] .button-icon-divider-left.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.button-medium .button-icon-divider-left.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.fusion-button-medium .button-icon-divider-left.fusion-megamenu-image{padding:0 6.25px}.button-medium .button-icon-divider-right,.fusion-body .fusion-button-medium .button-icon-divider-right,.ticket-selector-submit-btn[type=submit] .button-icon-divider-right,.wpcf7-form .wpcf7-submit.button-medium .button-icon-divider-right,.wpcf7-form .wpcf7-submit.fusion-button-medium .button-icon-divider-right{padding:0 12.5px}.button-medium .button-icon-divider-right.fusion-megamenu-image,.fusion-body .fusion-button-medium .button-icon-divider-right.fusion-megamenu-image,.ticket-selector-submit-btn[type=submit] .button-icon-divider-right.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.button-medium .button-icon-divider-right.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.fusion-button-medium .button-icon-divider-right.fusion-megamenu-image{padding:0 6.25px}.button-medium .button-icon-divider-left i,.button-medium .button-icon-divider-left img,.button-medium .button-icon-divider-right i,.button-medium .button-icon-divider-right img,.fusion-body .fusion-button-medium .button-icon-divider-left i,.fusion-body .fusion-button-medium .button-icon-divider-left img,.fusion-body .fusion-button-medium .button-icon-divider-right i,.fusion-body .fusion-button-medium .button-icon-divider-right img,.ticket-selector-submit-btn[type=submit] .button-icon-divider-left i,.ticket-selector-submit-btn[type=submit] .button-icon-divider-left img,.ticket-selector-submit-btn[type=submit] .button-icon-divider-right i,.ticket-selector-submit-btn[type=submit] .button-icon-divider-right img,.wpcf7-form .wpcf7-submit.button-medium .button-icon-divider-left i,.wpcf7-form .wpcf7-submit.button-medium .button-icon-divider-left img,.wpcf7-form .wpcf7-submit.button-medium .button-icon-divider-right i,.wpcf7-form .wpcf7-submit.button-medium .button-icon-divider-right img,.wpcf7-form .wpcf7-submit.fusion-button-medium .button-icon-divider-left i,.wpcf7-form .wpcf7-submit.fusion-button-medium .button-icon-divider-left img,.wpcf7-form .wpcf7-submit.fusion-button-medium .button-icon-divider-right i,.wpcf7-form .wpcf7-submit.fusion-button-medium .button-icon-divider-right img{display:block}#tribe-bar-form .tribe-bar-submit input[type=submit],.button-large,.fusion-body .fusion-button-large,.tml-submit-wrap input[type=submit],.wpcf7-form .wpcf7-submit.button-large,.wpcf7-form .wpcf7-submit.fusion-button-large{padding:13px 29px;line-height:17px;font-size:14px}#tribe-bar-form .tribe-bar-submit input[type=submit] .fusion-button-text-left,.button-large .fusion-button-text-left,.fusion-body .fusion-button-large .fusion-button-text-left,.tml-submit-wrap input[type=submit] .fusion-button-text-left,.wpcf7-form .wpcf7-submit.button-large .fusion-button-text-left,.wpcf7-form .wpcf7-submit.fusion-button-large .fusion-button-text-left{display:inline-block;padding-left:34px}#tribe-bar-form .tribe-bar-submit input[type=submit] .fusion-button-text-right,.button-large .fusion-button-text-right,.fusion-body .fusion-button-large .fusion-button-text-right,.tml-submit-wrap input[type=submit] .fusion-button-text-right,.wpcf7-form .wpcf7-submit.button-large .fusion-button-text-right,.wpcf7-form .wpcf7-submit.fusion-button-large .fusion-button-text-right{display:inline-block;padding-right:34px}#tribe-bar-form .tribe-bar-submit input[type=submit] .button-icon-divider-left,.button-large .button-icon-divider-left,.fusion-body .fusion-button-large .button-icon-divider-left,.tml-submit-wrap input[type=submit] .button-icon-divider-left,.wpcf7-form .wpcf7-submit.button-large .button-icon-divider-left,.wpcf7-form .wpcf7-submit.fusion-button-large .button-icon-divider-left{padding:0 14.5px}#tribe-bar-form .tribe-bar-submit input[type=submit] .button-icon-divider-left.fusion-megamenu-image,.button-large .button-icon-divider-left.fusion-megamenu-image,.fusion-body .fusion-button-large .button-icon-divider-left.fusion-megamenu-image,.tml-submit-wrap input[type=submit] .button-icon-divider-left.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.button-large .button-icon-divider-left.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.fusion-button-large .button-icon-divider-left.fusion-megamenu-image{padding:0 7.25px}#tribe-bar-form .tribe-bar-submit input[type=submit] .button-icon-divider-right,.button-large .button-icon-divider-right,.fusion-body .fusion-button-large .button-icon-divider-right,.tml-submit-wrap input[type=submit] .button-icon-divider-right,.wpcf7-form .wpcf7-submit.button-large .button-icon-divider-right,.wpcf7-form .wpcf7-submit.fusion-button-large .button-icon-divider-right{padding:0 14.5px}#tribe-bar-form .tribe-bar-submit input[type=submit] .button-icon-divider-right.fusion-megamenu-image,.button-large .button-icon-divider-right.fusion-megamenu-image,.fusion-body .fusion-button-large .button-icon-divider-right.fusion-megamenu-image,.tml-submit-wrap input[type=submit] .button-icon-divider-right.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.button-large .button-icon-divider-right.fusion-megamenu-image,.wpcf7-form .wpcf7-submit.fusion-button-large .button-icon-divider-right.fusion-megamenu-image{padding:0 7.25px}#tribe-bar-form .tribe-bar-submit input[type=submit] .button-icon-divider-left i,#tribe-bar-form .tribe-bar-submit input[type=submit] .button-icon-divider-left img,#tribe-bar-form .tribe-bar-submit input[type=submit] .button-icon-divider-right i,#tribe-bar-form .tribe-bar-submit input[type=submit] .button-icon-divider-right img,.button-large .button-icon-divider-left i,.button-large .button-icon-divider-left img,.button-large .button-icon-divider-right i,.button-large .button-icon-divider-right img,.fusion-body .fusion-button-large .button-icon-divider-left i,.fusion-body .fusion-button-large .button-icon-divider-left img,.fusion-body .fusion-button-large .button-icon-divider-right i,.fusion-body .fusion-button-large .button-icon-divider-right img,.tml-submit-wrap input[type=submit] .button-icon-divider-left i,.tml-submit-wrap input[type=submit] .button-icon-divider-left img,.tml-submit-wrap input[type=submit] .button-icon-divider-right i,.tml-submit-wrap input[type=submit] .button-icon-divider-right img,.wpcf7-form .wpcf7-submit.button-large .button-icon-divider-left i,.wpcf7-form .wpcf7-submit.button-large .button-icon-divider-left img,.wpcf7-form .wpcf7-submit.button-large .button-icon-divider-right i,.wpcf7-form .wpcf7-submit.button-large .button-icon-divider-right img,.wpcf7-form .wpcf7-submit.fusion-button-large .button-icon-divider-left i,.wpcf7-form .wpcf7-submit.fusion-button-large .button-icon-divider-left img,.wpcf7-form .wpcf7-submit.fusion-button-large .button-icon-divider-right i,.wpcf7-form .wpcf7-submit.fusion-button-large .button-icon-divider-right img{display:block}.button-xlarge,.fusion-body .fusion-button-xlarge,.fusion-body .wpcf7-form .wpcf7-submit.button-xlarge,.fusion-body .wpcf7-form .wpcf7-submit.fusion-button-xlarge{padding:17px 40px;line-height:21px;font-size:18px}.button-xlarge .fusion-button-text-left,.fusion-body .fusion-button-xlarge .fusion-button-text-left,.fusion-body .wpcf7-form .wpcf7-submit.button-xlarge .fusion-button-text-left,.fusion-body .wpcf7-form .wpcf7-submit.fusion-button-xlarge .fusion-button-text-left{display:inline-block;padding-left:45px}.button-xlarge .fusion-button-text-right,.fusion-body .fusion-button-xlarge .fusion-button-text-right,.fusion-body .wpcf7-form .wpcf7-submit.button-xlarge .fusion-button-text-right,.fusion-body .wpcf7-form .wpcf7-submit.fusion-button-xlarge .fusion-button-text-right{display:inline-block;padding-right:45px}.button-xlarge .button-icon-divider-left,.fusion-body .fusion-button-xlarge .button-icon-divider-left,.fusion-body .wpcf7-form .wpcf7-submit.button-xlarge .button-icon-divider-left,.fusion-body .wpcf7-form .wpcf7-submit.fusion-button-xlarge .button-icon-divider-left{padding:0 18.5px}.button-xlarge .button-icon-divider-left.fusion-megamenu-image,.fusion-body .fusion-button-xlarge .button-icon-divider-left.fusion-megamenu-image,.fusion-body .wpcf7-form .wpcf7-submit.button-xlarge .button-icon-divider-left.fusion-megamenu-image,.fusion-body .wpcf7-form .wpcf7-submit.fusion-button-xlarge .button-icon-divider-left.fusion-megamenu-image{padding:0 9.25px}.button-xlarge .button-icon-divider-right,.fusion-body .fusion-button-xlarge .button-icon-divider-right,.fusion-body .wpcf7-form .wpcf7-submit.button-xlarge .button-icon-divider-right,.fusion-body .wpcf7-form .wpcf7-submit.fusion-button-xlarge .button-icon-divider-right{padding:0 18.5px}.button-xlarge .button-icon-divider-right.fusion-megamenu-image,.fusion-body .fusion-button-xlarge .button-icon-divider-right.fusion-megamenu-image,.fusion-body .wpcf7-form .wpcf7-submit.button-xlarge .button-icon-divider-right.fusion-megamenu-image,.fusion-body .wpcf7-form .wpcf7-submit.fusion-button-xlarge .button-icon-divider-right.fusion-megamenu-image{padding:0 9.25px}.button-xlarge .button-icon-divider-left i,.button-xlarge .button-icon-divider-left img,.button-xlarge .button-icon-divider-right i,.button-xlarge .button-icon-divider-right img,.fusion-body .fusion-button-xlarge .button-icon-divider-left i,.fusion-body .fusion-button-xlarge .button-icon-divider-left img,.fusion-body .fusion-button-xlarge .button-icon-divider-right i,.fusion-body .fusion-button-xlarge .button-icon-divider-right img,.fusion-body .wpcf7-form .wpcf7-submit.button-xlarge .button-icon-divider-left i,.fusion-body .wpcf7-form .wpcf7-submit.button-xlarge .button-icon-divider-left img,.fusion-body .wpcf7-form .wpcf7-submit.button-xlarge .button-icon-divider-right i,.fusion-body .wpcf7-form .wpcf7-submit.button-xlarge .button-icon-divider-right img,.fusion-body .wpcf7-form .wpcf7-submit.fusion-button-xlarge .button-icon-divider-left i,.fusion-body .wpcf7-form .wpcf7-submit.fusion-button-xlarge .button-icon-divider-left img,.fusion-body .wpcf7-form .wpcf7-submit.fusion-button-xlarge .button-icon-divider-right i,.fusion-body .wpcf7-form .wpcf7-submit.fusion-button-xlarge .button-icon-divider-right img{display:block}.button span{line-height:normal}.button-icon-left{margin-right:.7em}.button-icon-right{margin-left:.7em}.button-icon-divider-left,.button-icon-divider-right{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:0;height:100%}.button-icon-divider-left i,.button-icon-divider-right i{position:relative}.button-icon-divider-left img,.button-icon-divider-right img{position:relative}.button-small .button-icon-divider-left img,.button-small .button-icon-divider-right img{max-width:22px}.button-medium .button-icon-divider-left img,.button-medium .button-icon-divider-right img{max-width:23px}.button-large .button-icon-divider-left img,.button-large .button-icon-divider-right img{max-width:24px}.button-xlarge .button-icon-divider-left img,.button-xlarge .button-icon-divider-right img{max-width:25px}.button-icon-divider-left{left:0;border-right:1px solid}.button-icon-divider-right{right:0;border-left:1px solid}#main #comment-submit,.comment-form input[type="submit"],.fusion-button-default-size,.wpcf7-form input[type="submit"],.wpcf7-submit{padding-top:var(--awb-padding-top);padding-right:var(--awb-padding-right);padding-bottom:var(--awb-padding-bottom);padding-left:var(--awb-padding-left);line-height:var(--button_line_height, 1);font-size:var(--button_font_size, 14px)}.fusion-button i{color:var(--button_accent_color)}.fusion-button.hover i,.fusion-button:focus i,.fusion-button:hover i{color:var(--button_accent_hover_color,var(--button_accent_color))}.fusion-button[data-hover=icon_position] .fusion-button-text{transition:color .2s,opacity .4s cubic-bezier(.21, .6, .35, 1),transform .4s 125ms cubic-bezier(.21, .6, .35, 1);--button-hover-content-transition:color 0.2s,opacity 0.4s cubic-bezier(0.21, 0.6, 0.35, 1),transform 0.4s 0.125s cubic-bezier(0.21, 0.6, 0.35, 1)}.fusion-button[data-hover=icon_position] i{transition:color .2s,opacity .4s cubic-bezier(.21, .6, .35, 1) .25s,transform .4s cubic-bezier(.21, .6, .35, 1) .25s;--button-hover-content-transition:color 0.2s,opacity 0.4s cubic-bezier(0.21, 0.6, 0.35, 1) 0.25s,transform 0.4s cubic-bezier(0.21, 0.6, 0.35, 1) 0.25s}.fusion-button[data-hover=icon_position] i+i{opacity:0;transition-delay:0s;margin:0}.fusion-button[data-hover=icon_position]:hover i{transition-delay:0s;opacity:0}.fusion-button[data-hover=icon_position]:hover i+i{opacity:1;transform:translateX(0)!important;transition-delay:0.25s}.fusion-button[data-hover=icon_position].awb-b-icon-pos-left .fusion-button-text{margin-right:-1em}.fusion-button[data-hover=icon_position].awb-b-icon-pos-left i+i{order:1;transform:translateX(1em)}.fusion-button[data-hover=icon_position].awb-b-icon-pos-left:hover .fusion-button-text{transform:translateX(-1.7em);--button-slide-text-hover-1:translateX(-1.7em);--button-slide-text-hover-2:translateX(-1.7em)}.fusion-button[data-hover=icon_position].awb-b-icon-pos-left:hover i{transform:translateX(-1em)}.fusion-button[data-hover=icon_position].awb-b-icon-pos-right .fusion-button-text{margin-left:-1em}.fusion-button[data-hover=icon_position].awb-b-icon-pos-right i+i{order:-1;transform:translateX(-1em)}.fusion-button[data-hover=icon_position].awb-b-icon-pos-right:hover .fusion-button-text{transform:translateX(1.7em)}.fusion-button[data-hover=icon_position].awb-b-icon-pos-right:hover i{transform:translateX(1em)}.fusion-button[data-hover=icon_slide]>i{animation:slide_icon_reverse .4s cubic-bezier(.21,.6,.35,1)}.fusion-button[data-hover=icon_slide] .awb-button__hover-content>i{animation:slide_icon_reverse_two_icons_1 .2s .2s cubic-bezier(.21,.6,.35,1) both}.fusion-button[data-hover=icon_slide] .awb-button__hover-content>i+i{animation:slide_icon_reverse_two_icons_2 .2s cubic-bezier(.21,.6,.35,1) both}.fusion-button[data-hover=icon_slide]:hover>i{animation:slide_icon .4s cubic-bezier(.21,.6,.35,1)}.fusion-button[data-hover=icon_slide]:hover .awb-button__hover-content>i{animation:slide_icon_two_icons_1 .2s cubic-bezier(.21,.6,.35,1) both}.fusion-button[data-hover=icon_slide]:hover .awb-button__hover-content>i+i{animation:slide_icon_two_icons_2 .2s .2s cubic-bezier(.21,.6,.35,1) both;opacity:0}@keyframes slide_icon{0%{transform:translateX(0)}25%{opacity:0}26%{transform:translateX(1.25em)}27%{transform:translateX(-1.25em)}75%{opacity:1}100%{transform:translateX(0)}}@keyframes slide_icon_reverse{0%{transform:translateX(0)}25%{opacity:0}26%{transform:translateX(-1.25em)}27%{transform:translateX(1.25em)}75%{opacity:1}100%{transform:translateX(0)}}@keyframes slide_icon_two_icons_1{0%{transform:translateX(0);opacity:1}99%{opacity:0}100%{transform:translateX(1.25em);opacity:0}}@keyframes slide_icon_two_icons_2{0%{transform:translateX(-1.25em);opacity:0}50%{opacity:1}100%{transform:translateX(0);opacity:1}}@keyframes slide_icon_reverse_two_icons_1{0%{transform:translateX(1.25em);opacity:0}50%{opacity:1}100%{transform:translateX(0)}}@keyframes slide_icon_reverse_two_icons_2{0%{transform:translateX(0);opacity:1}50%{opacity:0}100%{transform:translateX(-1.25em);opacity:0}}.fusion-button[data-hover=icon_rotate] i{transition:all .2s,transform .6s cubic-bezier(.21, .6, .35, 1);--button-hover-content-transition:color 0.2s,opacity 0.6s cubic-bezier(0.21, 0.6, 0.35, 1) 0.2s,transform 0.6s cubic-bezier(0.21, 0.6, 0.35, 1)}.fusion-button[data-hover=icon_rotate]:hover i{transform:rotate(360deg);--button-slide-text-hover-1:rotate(360deg);--button-slide-text-hover-2:rotate(360deg)}.fusion-button[data-hover=underline] .fusion-button-text,.fusion-button[data-hover=underline_expand] .fusion-button-text{position:relative}.fusion-button[data-hover=underline] .fusion-button-text:after,.fusion-button[data-hover=underline_expand] .fusion-button-text:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;border-bottom:1px solid currentColor;transition:transform .4s cubic-bezier(.21, .6, .35, 1);transform-origin:var(--button-underline-origin)}.fusion-button[data-hover=underline]{--button-underline-origin:left;--button-underline-origin-hover:right}.rtl .fusion-button[data-hover=underline]{--button-underline-origin:right;--button-underline-origin-hover:left}.fusion-button[data-hover=underline]:hover .fusion-button-text:after{transform:scaleX(0);transform-origin:var(--button-underline-origin-hover)}.fusion-button[data-hover=underline_expand]{--button-underline-origin:right;--button-underline-origin-hover:left}.rtl .fusion-button[data-hover=underline_expand]{--button-underline-origin:left;--button-underline-origin-hover:right}.fusion-button[data-hover=underline_expand] .fusion-button-text:after{transform:scaleX(0)}.fusion-button[data-hover=underline_expand]:hover .fusion-button-text:after{transform:scaleX(1);transform-origin:var(--button-underline-origin-hover)}.fusion-button[data-hover=text_slide_up]{--button-slide-text-2:translateY(90%);--button-slide-text-hover-1:translateY(-90%);--button-slide-text-hover-2:translateY(0%)}.fusion-button[data-hover=text_slide_down]{--button-slide-text-2:translateY(-90%);--button-slide-text-hover-1:translateY(90%);--button-slide-text-hover-2:translateY(0%);--button-hover-content-transition:color 0.2s,opacity 0.4s cubic-bezier(0.21, 0.6, 0.35, 1),transform 0.4s cubic-bezier(0.21, 0.6, 0.35, 1)}.fusion-button[data-hover*=bg_slide]{overflow:hidden}.fusion-button[data-hover*=bg_slide]:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;transform:translateZ(0);backface-visibility:hidden;transition:clip-path .35s cubic-bezier(.21, .6, .35, 1);background:var(--button_gradient_hover,var(--button_gradient_top_color_hover))}.fusion-button[data-hover*=bg_slide].fusion-button-span-yes:before{transition-duration:.6s}.fusion-button[data-hover*=bg_slide]:hover{background:var(--button_gradient,var(--button_gradient_top_color))}.fusion-button[data-hover*=bg_slide] .fusion-button-text,.fusion-button[data-hover*=bg_slide]>i{position:relative}.fusion-button[data-hover=bg_slide_right]:before{clip-path:polygon(0 0,0 0,-50% 100%,0 100%)}.fusion-button[data-hover=bg_slide_right]:hover:before{clip-path:polygon(0 0,150% 0,100% 100%,0 100%)}.fusion-button[data-hover=bg_slide_left]:before{clip-path:polygon(100% 0,150% 0,100% 100%,100% 100%)}.fusion-button[data-hover=bg_slide_left]:hover:before{clip-path:polygon(100% 0,0 0,-50% 100%,100% 100%)}.fusion-button .awb-button__icon--no-margin{margin:0}.fusion-button .awb-button__hover-content{display:flex;align-items:center;--button-hover-content-transition:color 0.2s,opacity 0.2s cubic-bezier(0.21, 0.6, 0.35, 1),transform 0.4s cubic-bezier(0.21, 0.6, 0.35, 1)}.fusion-button .awb-button__hover-content .awb-button__icon,.fusion-button .awb-button__hover-content .awb-button__text{transition:var(--button-hover-content-transition)}.fusion-button .awb-button__hover-content .awb-button__icon--hover,.fusion-button .awb-button__hover-content .awb-button__text--hover{transform:var(--button-slide-text-2);opacity:0}.fusion-button .awb-button__hover-content .awb-button__icon:nth-child(2),.fusion-button .awb-button__hover-content .awb-button__text:nth-child(2){position:absolute;pointer-events:none}.fusion-button .awb-button__hover-content--centered{justify-content:center}.fusion-button .awb-button__hover-content--centered .awb-button__icon{margin:0}.fusion-button.awb-button--click-active .awb-button__hover-content .awb-button__icon--default,.fusion-button.awb-button--click-active .awb-button__hover-content .awb-button__text--default,.fusion-button:not(.awb-button--click-mode,.awb-button--toggle-mode):hover .awb-button__hover-content .awb-button__icon--default,.fusion-button:not(.awb-button--click-mode,.awb-button--toggle-mode):hover .awb-button__hover-content .awb-button__text--default{transform:var(--button-slide-text-hover-1);opacity:0}.fusion-button.awb-button--click-active .awb-button__hover-content .awb-button__icon--hover,.fusion-button.awb-button--click-active .awb-button__hover-content .awb-button__text--hover,.fusion-button:not(.awb-button--click-mode,.awb-button--toggle-mode):hover .awb-button__hover-content .awb-button__icon--hover,.fusion-button:not(.awb-button--click-mode,.awb-button--toggle-mode):hover .awb-button__hover-content .awb-button__text--hover{transform:var(--button-slide-text-hover-2);opacity:1}.fusion-button .awb-button-text-transition{display:flex}.fusion-button .awb-button-text-transition .fusion-button-text{transition:color .2s,opacity .4s cubic-bezier(.21, .6, .35, 1),transform .4s cubic-bezier(.21, .6, .35, 1)}.fusion-button .awb-button-text-transition .fusion-button-text:nth-child(2){transform:var(--button-slide-text-2);position:absolute;opacity:0;pointer-events:none}.fusion-button:hover .awb-button-text-transition .fusion-button-text:first-child{transform:var(--button-slide-text-hover-1);opacity:0}.fusion-button:hover .awb-button-text-transition .fusion-button-text:nth-child(2){transform:var(--button-slide-text-hover-2);opacity:1}.fusion-button[data-hover=border_rotate],.fusion-button[data-hover=border_rotate_glow]{clip-path:inset(0 round var(--button-border-radius-top-left,0) var(--button-border-radius-top-right,0) var(--button-border-radius-bottom-right,0) var(--button-border-radius-bottom-left,0))}.fusion-button[data-hover=border_rotate] .fusion-button-text,.fusion-button[data-hover=border_rotate]>.awb-button-text-transition,.fusion-button[data-hover=border_rotate]>.awb-button__hover-content,.fusion-button[data-hover=border_rotate]>i,.fusion-button[data-hover=border_rotate_glow] .fusion-button-text,.fusion-button[data-hover=border_rotate_glow]>.awb-button-text-transition,.fusion-button[data-hover=border_rotate_glow]>.awb-button__hover-content,.fusion-button[data-hover=border_rotate_glow]>i{position:relative;z-index:1}.fusion-button[data-hover=border_rotate]::before,.fusion-button[data-hover=border_rotate_glow]::before{content:'';position:absolute;width:200%;padding-bottom:200%;top:50%;left:50%;background:conic-gradient(transparent 0,var(--button_border_hover_color) 12%,transparent 25%);animation:awb-btn-border-spin var(--awb_btn_border_spin_duration,3s) linear infinite;opacity:0;transition:opacity .2s}.fusion-button[data-hover=border_rotate]::after,.fusion-button[data-hover=border_rotate_glow]::after{content:'';position:absolute;inset:0;background:inherit;border-radius:inherit;opacity:0;transition:opacity .2s .15s,background .2s ease}.fusion-button[data-hover=border_rotate]:focus,.fusion-button[data-hover=border_rotate]:hover,.fusion-button[data-hover=border_rotate_glow]:focus,.fusion-button[data-hover=border_rotate_glow]:hover{border-color:var(--button_border_color)}.fusion-button[data-hover=border_rotate]:focus::before,.fusion-button[data-hover=border_rotate]:hover::before,.fusion-button[data-hover=border_rotate_glow]:focus::before,.fusion-button[data-hover=border_rotate_glow]:hover::before{opacity:1;transition:opacity .2s}.fusion-button[data-hover=border_rotate]:focus::after,.fusion-button[data-hover=border_rotate]:hover::after,.fusion-button[data-hover=border_rotate_glow]:focus::after,.fusion-button[data-hover=border_rotate_glow]:hover::after{opacity:1;transition:opacity .2s}@keyframes awb-btn-border-spin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.fusion-button[data-hover=border_rotate_glow]::before{background:conic-gradient(transparent 0,var(--button_border_hover_color) 20%,transparent 40%)}.fusion-button[data-hover=border_rotate_glow]::after{filter:blur(5px)}.fusion-button[data-hover=border_rotate_glow]:focus::after,.fusion-button[data-hover=border_rotate_glow]:hover::after{opacity:1}.fusion-button.button-3d{box-shadow:inset 0 1px 0 #fff,0 .15em 0 var(--button_bevel_color),.1em .2em .2em .15em rgba(0,0,0,.3)}.fusion-button.button-3d:active{transform:translateY(calc(.15em - 1px));box-shadow:inset 0 1px 0 #fff,0 1px 0 var(--button_bevel_color),.05em .1em .1em .07em rgba(0,0,0,.3)}.fusion-button.button-3d:hover{box-shadow:inset 0 1px 0 #fff,0 .15em 0 var(--button_bevel_color_hover),.1em .2em .2em .15em rgba(0,0,0,.3)}.fusion-button.button-3d:hover:active{box-shadow:inset 0 1px 0 #fff,0 1px 0 var(--button_bevel_color_hover),.05em .1em .1em .07em rgba(0,0,0,.3)}.fusion-button_type-3d #main #comment-submit:not(.button-flat),.fusion-button_type-3d .button-default:not(.button-flat),.fusion-button_type-3d .button.default:not(.button-flat),.fusion-button_type-3d .comment-form input[type="submit"]:not(.button-flat),.fusion-button_type-3d .fusion-button-default:not(.button-flat),.fusion-button_type-3d .wpcf7-form input[type="submit"]:not(.button-flat),.fusion-button_type-3d .wpcf7-submit:not(.button-flat),.fusion-button_type-3d input.button-default:not(.button-flat),.fusion-button_type-3d.fusion-button-default:not(.button-flat),.fusion-button_type-3d.fusion-button:not(.button-flat){box-shadow:inset 0 1px 0 #fff,0 .15em 0 var(--button_bevel_color),.1em .2em .2em .15em rgba(0,0,0,.3)}.fusion-button_type-3d #main #comment-submit:not(.button-flat):active,.fusion-button_type-3d .button-default:not(.button-flat):active,.fusion-button_type-3d .button.default:not(.button-flat):active,.fusion-button_type-3d .comment-form input[type="submit"]:not(.button-flat):active,.fusion-button_type-3d .fusion-button-default:not(.button-flat):active,.fusion-button_type-3d .wpcf7-form input[type="submit"]:not(.button-flat):active,.fusion-button_type-3d .wpcf7-submit:not(.button-flat):active,.fusion-button_type-3d input.button-default:not(.button-flat):active,.fusion-button_type-3d.fusion-button-default:not(.button-flat):active,.fusion-button_type-3d.fusion-button:not(.button-flat):active{transform:translateY(calc(.15em - 1px));box-shadow:inset 0 1px 0 #fff,0 1px 0 var(--button_bevel_color),.05em .1em .1em .07em rgba(0,0,0,.3)}.fusion-button_type-3d #main #comment-submit:not(.button-flat):hover,.fusion-button_type-3d .button-default:not(.button-flat):hover,.fusion-button_type-3d .button.default:not(.button-flat):hover,.fusion-button_type-3d .comment-form input[type="submit"]:not(.button-flat):hover,.fusion-button_type-3d .fusion-button-default:not(.button-flat):hover,.fusion-button_type-3d .wpcf7-form input[type="submit"]:not(.button-flat):hover,.fusion-button_type-3d .wpcf7-submit:not(.button-flat):hover,.fusion-button_type-3d input.button-default:not(.button-flat):hover,.fusion-button_type-3d.fusion-button-default:not(.button-flat):hover,.fusion-button_type-3d.fusion-button:not(.button-flat):hover{box-shadow:inset 0 1px 0 #fff,0 .15em 0 var(--button_bevel_color_hover),.1em .2em .2em .15em rgba(0,0,0,.3)}.fusion-button_type-3d #main #comment-submit:not(.button-flat):hover:active,.fusion-button_type-3d .button-default:not(.button-flat):hover:active,.fusion-button_type-3d .button.default:not(.button-flat):hover:active,.fusion-button_type-3d .comment-form input[type="submit"]:not(.button-flat):hover:active,.fusion-button_type-3d .fusion-button-default:not(.button-flat):hover:active,.fusion-button_type-3d .wpcf7-form input[type="submit"]:not(.button-flat):hover:active,.fusion-button_type-3d .wpcf7-submit:not(.button-flat):hover:active,.fusion-button_type-3d input.button-default:not(.button-flat):hover:active,.fusion-button_type-3d.fusion-button-default:not(.button-flat):hover:active,.fusion-button_type-3d.fusion-button:not(.button-flat):hover:active{box-shadow:inset 0 1px 0 #fff,0 1px 0 var(--button_bevel_color_hover),.05em .1em .1em .07em rgba(0,0,0,.3)}.fusion-button-quantity,body.fusion-body .quantity .minus,body.fusion-body .quantity .plus,body.fusion-body .quantity .qty{width:var(--qty_size-width,38px)}.fusion-button-quantity,body.fusion-body .quantity .minus,body.fusion-body .quantity .plus,body.fusion-body .quantity .qty{font-size:var(--qty_font_size, 14px);width:var(--qty_size-height,36px);height:var(--qty_size-height,36px);line-height:1}.fusion-body .quantity,.single-product .product .summary .cart .quantity{width:calc(var(--qty_size-width,38px) + var(--qty_size-height,36px) + var(--qty_size-height,36px))}.fusion-button-span-yes{width:calc(100% - var(--awb-margin-left,0) - var(--awb-margin-right,0))}body.fusion-button_span-yes .fusion-button-default-span{width:calc(100% - var(--awb-margin-left,0) - var(--awb-margin-right,0))}.fusion-button.fusion-button-submitting{outline:0;letter-spacing:0}.fusion-button.fusion-button-submitting span,.fusion-button.fusion-button-submitting:active span,.fusion-button.fusion-button-submitting:focus span,.fusion-button.fusion-button-submitting:hover span{color:transparent!important}.fusion-button.fusion-button-submitting::after{content:"";display:inline-block;position:absolute;z-index:10;line-height:1;width:.4em;height:.4em;left:50%;transform:translateX(-50%);border-radius:50%;animation:dots .75s infinite cubic-bezier(.42,.01,.58,1)}@keyframes dots{0%{box-shadow:1.5em 0 currentColor,-1.5em 0 color-mix(in sRGB,currentColor 50%,transparent);background:currentColor}33%{box-shadow:1.5em 0 currentColor,-1.5em 0 color-mix(in sRGB,currentColor 50%,transparent);background:currentColor}66%{box-shadow:1.5em 0 color-mix(in sRGB,currentColor 50%,transparent),-1.5em 0 currentColor;background:color-mix(in sRGB,currentColor 50%,transparent)}100%{box-shadow:1.5em 0 color-mix(in sRGB,currentColor 50%,transparent),-1.5em 0 currentColor;background:currentColor}}.fusion-chart{--awb-chart-bg-color:var(--chart_bg_color, transparent);--awb-padding-top:0;--awb-padding-right:0;--awb-padding-bottom:0;--awb-padding-left:0;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;background-color:var(--awb-chart-bg-color);padding:var(--awb-padding-top) var(--awb-padding-right) var(--awb-padding-bottom) var(--awb-padding-left);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-chart.legend-bottom .fusion-chart-inner,.fusion-chart.legend-left .fusion-chart-inner,.fusion-chart.legend-right .fusion-chart-inner,.fusion-chart.legend-top .fusion-chart-inner{display:flex;flex-direction:row}.fusion-chart.legend-bottom .fusion-chart-inner,.fusion-chart.legend-top .fusion-chart-inner{flex-direction:column}.fusion-chart.legend-bottom .fusion-chart-legend-wrap,.fusion-chart.legend-top .fusion-chart-legend-wrap{width:100%;text-align:center}.fusion-chart.legend-top .fusion-chart-legend-wrap{padding-bottom:20px;order:1}.fusion-chart.legend-top .fusion-chart-wrap{order:2}.fusion-chart.legend-bottom .fusion-chart-legend-wrap{padding-top:20px;order:2}.fusion-chart.legend-bottom .fusion-chart-wrap{order:1}.fusion-chart.legend-left .fusion-chart-inner .fusion-chart-wrap,.fusion-chart.legend-right .fusion-chart-inner .fusion-chart-wrap{flex:15% 1 0}.fusion-chart.legend-left .fusion-chart-inner .fusion-chart-legend-wrap,.fusion-chart.legend-right .fusion-chart-inner .fusion-chart-legend-wrap{display:flex;align-items:center;justify-content:center;flex:15% 0 0}.fusion-chart.legend-left .fusion-chart-inner .fusion-chart-legend-wrap li,.fusion-chart.legend-left .fusion-chart-inner .fusion-chart-legend-wrap span,.fusion-chart.legend-right .fusion-chart-inner .fusion-chart-legend-wrap li,.fusion-chart.legend-right .fusion-chart-inner .fusion-chart-legend-wrap span{display:block}.fusion-chart.legend-right .fusion-chart-legend-wrap{padding-left:5px;order:2}.fusion-chart.legend-right .fusion-chart-wrap{order:1}.fusion-chart.legend-left .fusion-chart-legend-wrap{padding-right:5px;order:1}.fusion-chart.legend-left .fusion-chart-wrap{order:2}.fusion-chart .fusion-chart-legend-wrap{-webkit-user-select:none;user-select:none;direction:ltr}.fusion-chart .fusion-chart-legend-wrap ul{margin:0;padding:0;list-style-type:none}.fusion-chart .fusion-chart-legend-wrap li{display:inline-block;margin:0}.fusion-chart .fusion-chart-legend-wrap li span{position:relative;padding:3px 12px;z-index:2;color:#fff;display:inline-block;margin:4px}.fusion-chart .fusion-chart-title{text-align:center}.fusion-checklist,ul.fusion-checklist{--awb-size:var(--checklist_item_size, inherit);--awb-line-height:inherit;--awb-margin-top:10px;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-divider-color:var(--checklist_divider_color);--awb-item-padding-top:var(--checklist_item_padding-top, 0.35em);--awb-item-padding-right:var(--checklist_item_padding-right, 0);--awb-item-padding-bottom:var(--checklist_item_padding-bottom, 0.35em);--awb-item-padding-left:var(--checklist_item_padding-left, 0);--awb-odd-row-bgcolor:var(--checklist_odd_row_bgcolor, transparent);--awb-even-row-bgcolor:var(--checklist_even_row_bgcolor, transparent);--awb-textcolor:var(--checklist_text_color, inherit);--awb-icon-width:auto;--awb-icon-height:auto;--awb-icon-margin:0;--awb-content-margin:0;--awb-circlecolor:var(--checklist_circle_color);--awb-circle-yes-font-size:inherit;--awb-iconcolor:var(--checklist_icons_color);list-style-type:none;padding:0;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);font-size:var(--awb-size);line-height:var(--awb-line-height)}.fusion-checklist.fusion-checklist-default .fusion-li-item:first-child,ul.fusion-checklist.fusion-checklist-default .fusion-li-item:first-child{--awb-item-padding-top:0}.fusion-checklist .fusion-li-item,.fusion-checklist.fusion-404-checklist>li,ul.fusion-checklist .fusion-li-item,ul.fusion-checklist.fusion-404-checklist>li{padding-top:var(--awb-item-padding-top);padding-right:var(--awb-item-padding-right);padding-bottom:var(--awb-item-padding-bottom);padding-left:var(--awb-item-padding-left);margin-left:0}.fusion-checklist .fusion-li-item:nth-child(odd),.fusion-checklist.fusion-404-checklist>li:nth-child(odd),ul.fusion-checklist .fusion-li-item:nth-child(odd),ul.fusion-checklist.fusion-404-checklist>li:nth-child(odd){background-color:var(--awb-odd-row-bgcolor)}.fusion-checklist .fusion-li-item:nth-child(2n),.fusion-checklist.fusion-404-checklist>li:nth-child(2n),ul.fusion-checklist .fusion-li-item:nth-child(2n),ul.fusion-checklist.fusion-404-checklist>li:nth-child(2n){background-color:var(--awb-even-row-bgcolor)}.fusion-checklist .fusion-li-item p:first-of-type,.fusion-checklist.fusion-404-checklist>li p:first-of-type,ul.fusion-checklist .fusion-li-item p:first-of-type,ul.fusion-checklist.fusion-404-checklist>li p:first-of-type{margin-top:0}.fusion-checklist .fusion-li-item p:last-of-type,.fusion-checklist.fusion-404-checklist>li p:last-of-type,ul.fusion-checklist .fusion-li-item p:last-of-type,ul.fusion-checklist.fusion-404-checklist>li p:last-of-type{margin-bottom:0}.fusion-checklist .fusion-li-item-content,ul.fusion-checklist .fusion-li-item-content{color:var(--awb-textcolor);margin-inline-start:var(--awb-content-margin)}.fusion-checklist.fusion-checklist-divider .fusion-li-item,.fusion-checklist.fusion-checklist-divider.fusion-404-checklist>li,ul.fusion-checklist.fusion-checklist-divider .fusion-li-item,ul.fusion-checklist.fusion-checklist-divider.fusion-404-checklist>li{border-bottom:1px solid var(--awb-divider-color)}.fusion-checklist.type-numbered .fusion-builder-child-element-content,.fusion-checklist.type-numbered li,ul.fusion-checklist.type-numbered .fusion-builder-child-element-content,ul.fusion-checklist.type-numbered li{display:flex;align-items:center}.fusion-checklist.type-numbered .fusion-builder-child-element-content .fusion-li-item-content,.fusion-checklist.type-numbered li .fusion-li-item-content,ul.fusion-checklist.type-numbered .fusion-builder-child-element-content .fusion-li-item-content,ul.fusion-checklist.type-numbered li .fusion-li-item-content{margin:0}.fusion-checklist.type-numbered .icon-wrapper,ul.fusion-checklist.type-numbered .icon-wrapper{width:calc(var(--awb-icon-width) + 10px);height:calc(var(--awb-icon-width) + 10px);color:var(--awb-iconcolor)}.fusion-checklist .icon-wrapper,ul.fusion-checklist .icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0;float:left;width:var(--awb-icon-width);height:var(--awb-icon-height);margin-inline-end:var(--awb-icon-margin)}.fusion-checklist .fusion-li-icon,ul.fusion-checklist .fusion-li-icon{display:inline-block;color:var(--awb-iconcolor)}.fusion-checklist .circle-yes,ul.fusion-checklist .circle-yes{border-radius:50%;background-clip:padding-box;background-color:var(--awb-circlecolor);font-size:var(--awb-circle-yes-font-size);color:#fff;text-align:center}.fusion-content-boxes{--awb-backgroundcolor:var(--content_box_bg_color);--awb-body-color:var(--content_box_body_color);--awb-title-color:var(--content_box_title_color);--awb-iconcolor:var(--content_box_icon_color);--awb-hover-accent-color:var(--content_box_hover_animation_accent_color, var(--link_hover_color));--awb-circle-hover-accent-color:var(--awb-hover-accent-color);--awb-margin-top:var(--content_box_margin_top, 0px);--awb-margin-bottom:var(--content_box_margin_bottom, 60px);--awb-item-margin-bottom:20px;--awb-item-margin-top:0px;--awb-content-padding-left:0;--awb-content-padding-right:0;--awb-content-text-align:initial;--awb-border-radius-top-left:0;--awb-border-radius-top-right:0;--awb-border-radius-bottom-right:0;--awb-border-radius-bottom-left:0;--awb-box-shadow:none;margin-top:var(--awb-margin-top);margin-bottom:var(--awb-margin-bottom)}.fusion-content-boxes.has-flex-alignment{display:flex;flex-wrap:wrap;align-items:var(--awb-alignment,flex-start)}.fusion-content-boxes.has-flex-alignment .col{height:100%}.fusion-content-boxes.has-flex-alignment .fusion-builder-child-element-content{height:100%}.fusion-content-boxes .col{position:relative}.fusion-content-boxes .fusion-column{box-sizing:border-box;margin-bottom:var(--awb-item-margin-bottom);margin-top:var(--awb-item-margin-top)}.fusion-content-boxes .link-area-box{cursor:pointer}.fusion-content-boxes .link-area-box .fusion-read-more,.fusion-content-boxes .link-area-box .fusion-read-more-button{pointer-events:none}.fusion-content-boxes .icon .fontawesome-icon{margin-right:0;margin-left:0;color:var(--awb-iconcolor)}.fusion-content-boxes .icon>span{display:inline-block}.fusion-content-boxes .icon *{box-sizing:border-box}.fusion-content-boxes .heading{overflow:hidden;margin-bottom:15px}.fusion-content-boxes .heading .heading-link{text-decoration:none;box-shadow:none}.fusion-content-boxes .heading .heading-link:hover .content-box-heading{color:var(--awb-hover-accent-color)}.fusion-content-boxes .heading .heading-link:hover .fontawesome-icon{background-color:#65bc7b;border-color:#65bc7b}.fusion-content-boxes .heading .heading-link .icon{height:auto;width:auto;display:block}.fusion-content-boxes .heading .content-box-heading,.fusion-content-boxes .heading .fontawesome-icon,.fusion-content-boxes .heading a{transition:all .3s}.fusion-content-boxes .heading .content-box-heading{margin:0;padding:0;color:var(--awb-title-color)}.fusion-content-boxes .heading div.content-box-heading,.fusion-content-boxes .heading p.content-box-heading{font-size:var(--body_typography-font-size)}.fusion-content-boxes .heading img{float:none;margin:0}.fusion-content-boxes .fusion-content-box-hover .fusion-read-more:hover,.fusion-content-boxes .fusion-content-box-hover .fusion-read-more:hover:after,.fusion-content-boxes .fusion-content-box-hover .fusion-read-more:hover:before,.fusion-content-boxes .fusion-content-box-hover .link-area-box-hover .heading .content-box-heading,.fusion-content-boxes .fusion-content-box-hover .link-area-box-hover .heading .heading-link .content-box-heading,.fusion-content-boxes .fusion-content-box-hover .link-area-box-hover.link-area-box .fusion-read-more,.fusion-content-boxes .fusion-content-box-hover .link-area-box-hover.link-area-box .fusion-read-more::after,.fusion-content-boxes .fusion-content-box-hover .link-area-box-hover.link-area-box .fusion-read-more::before,.fusion-content-boxes .fusion-content-box-hover .link-area-link-icon-hover .heading .content-box-heading,.fusion-content-boxes .fusion-content-box-hover .link-area-link-icon-hover .heading .heading-link .content-box-heading,.fusion-content-boxes .fusion-content-box-hover .link-area-link-icon-hover .icon .circle-no,.fusion-content-boxes .fusion-content-box-hover .link-area-link-icon-hover.link-area-box .fusion-read-more,.fusion-content-boxes .fusion-content-box-hover .link-area-link-icon-hover.link-area-box .fusion-read-more::after,.fusion-content-boxes .fusion-content-box-hover .link-area-link-icon-hover.link-area-box .fusion-read-more::before{color:var(--awb-hover-accent-color)}.fusion-content-boxes .fusion-content-box-hover .link-area-box-hover .heading .icon>span{border-color:var(--awb-hover-accent-color)!important}.fusion-content-boxes .fusion-content-box-hover .link-area-box-hover.icon-hover-animation-pulsate .fontawesome-icon:after,.fusion-content-boxes .fusion-content-box-hover .link-area-box-hover.icon-wrapper-hover-animation-pulsate .icon span:after,.fusion-content-boxes .fusion-content-box-hover .link-area-link-icon-hover.icon-hover-animation-pulsate .fontawesome-icon:after,.fusion-content-boxes .fusion-content-box-hover .link-area-link-icon-hover.icon-wrapper-hover-animation-pulsate .icon span:after{box-shadow:0 0 0 2px rgba(255,255,255,.1),0 0 10px 10px var(--awb-hover-accent-color),0 0 0 10px rgba(255,255,255,.5)}.fusion-content-boxes .fusion-content-box-hover .link-area-box-hover .icon .circle-no{color:var(--awb-hover-accent-color)!important}.fusion-content-boxes .fusion-content-box-hover .icon.hover .circle-no,.fusion-content-boxes .fusion-content-box-hover .link-area-link-icon-hover .icon .circle-no{color:var(--awb-iconcolor-hover,var(--awb-hover-accent-color))}.fusion-content-boxes .fusion-content-box-hover .link-area-link-icon-hover .heading .icon>span{background-color:var(--awb-circle-hover-accent-color)!important}.fusion-content-boxes .fusion-content-box-hover .heading-link:hover .icon i.circle-yes,.fusion-content-boxes .fusion-content-box-hover .icon.hover i.circle-yes,.fusion-content-boxes .fusion-content-box-hover .link-area-box-hover .heading .icon i.circle-yes,.fusion-content-boxes .fusion-content-box-hover .link-area-box:hover .heading-link .icon i.circle-yes,.fusion-content-boxes .fusion-content-box-hover .link-area-link-icon-hover .heading .icon i.circle-yes{background-color:var(--awb-circlecolor-hover,var(--awb-circle-hover-accent-color))!important;border-color:var(--awb-circlecolor-hover,var(--awb-hover-accent-color))!important;color:var(--awb-iconcolor-hover,var(--content_box_icon_color))}.fusion-content-boxes .fusion-content-box-hover .link-area-box.link-area-box-hover .fusion-content-box-button{background:var(--button_gradient_top_color_hover);color:var(--button_accent_hover_color);--button_gradient:linear-gradient(var(--button_gradient_angle, 180deg), var(--button_gradient_top_color) var(--button_gradient_start, 0%), var(--button_gradient_bottom_color) var(--button_gradient_end, 100%));background-image:var(--button_gradient)}.fusion-content-boxes .fusion-content-box-hover .link-area-box.link-area-box-hover .fusion-content-box-button .fusion-button-text{color:var(--button_accent_hover_color)}.fusion-content-boxes .fontawesome-icon.circle-yes{margin-top:0}.fusion-content-boxes .fusion-read-more:after,.fusion-content-boxes .fusion-read-more:before{transition:all .3s}.fusion-content-boxes .fusion-read-more-button{margin-top:18px}.fusion-content-boxes .link-type-button-bar .content-container{padding-bottom:50px;position:relative}.fusion-content-boxes .link-type-button-bar .fusion-read-more{width:100%;position:absolute;bottom:0;left:0;padding:5px 0;text-align:center}.fusion-content-boxes .link-type-button-bar .fusion-read-more:after{display:none}.fusion-content-boxes .content-container{color:var(--awb-body-color);padding-left:var(--awb-content-padding-left);padding-right:var(--awb-content-padding-right);margin-bottom:20px;text-align:var(--awb-content-text-align)}.fusion-content-boxes .content-container>p:last-child{margin-bottom:0}.fusion-content-boxes .content-container .fusion-read-more{display:block;margin-top:18px}.fusion-content-boxes .content-wrapper-background{padding:35px;background-color:var(--awb-backgroundcolor);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-right) var(--awb-border-radius-bottom-left);box-shadow:var(--awb-box-shadow)}.fusion-content-boxes .content-box-shortcode-timeline{display:block;height:1px;border-top-style:solid;border-top-width:1px;position:absolute;top:0;left:50%;z-index:1;margin-right:10px}.fusion-content-boxes .content-box-shortcode-timeline-vertical{display:block;width:1px;border-left-style:solid;border-left-width:1px;position:absolute;top:0;z-index:1}.fusion-content-boxes.content-boxes .content-box-column-last .content-box-shortcode-timeline,.fusion-content-boxes.content-boxes .content-box-column-last-in-row .content-box-shortcode-timeline{display:none}.fusion-content-boxes.content-boxes-clean-horizontal.content-boxes .content-box-column-last,.fusion-content-boxes.content-boxes-clean-horizontal.content-boxes .content-box-column-last-in-row,.fusion-content-boxes.content-boxes-clean-vertical.content-boxes .content-box-column-last,.fusion-content-boxes.content-boxes-clean-vertical.content-boxes .content-box-column-last-in-row{border-right-width:1px}.fusion-content-boxes.content-boxes-timeline-horizontal .content-box-column .icon,.fusion-content-boxes.content-boxes-timeline-vertical .content-box-column .icon{opacity:0}.fusion-content-boxes.content-boxes-timeline-horizontal .content-box-column.fusion-appear .icon{animation:fusionExpandAndShow 1s 1 cubic-bezier(.17,.67,.83,.67);opacity:1;transform:scale(1)}.fusion-content-boxes.content-boxes-timeline-horizontal .content-box-column.fusion-appear .content-box-shortcode-timeline{animation:fusionExpandWidth 1s 1 cubic-bezier(.17,.67,.83,.67);width:100%}.fusion-content-boxes.content-boxes-timeline-vertical .content-box-column.fusion-appear .icon{animation:fusionExpandAndShow 1s 1 cubic-bezier(.17,.67,.83,.67);opacity:1;transform:scale(1)}.fusion-content-boxes.content-boxes-timeline-vertical .content-box-column.fusion-appear .content-box-shortcode-timeline-vertical{animation:fusionExpandHeight 1s 1 cubic-bezier(.17,.67,.83,.67);height:calc(100% + 40px)}.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon .icon,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon .image{display:table-cell;vertical-align:middle;float:none}.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon .content-box-heading{display:table-cell;vertical-align:middle;line-height:normal}.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon.icon-right .content-box-heading{float:none!important}.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon.icon-right i,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon.icon-right img{margin-right:0;margin-left:20px}.fusion-content-boxes.content-boxes-icon-on-side .heading{margin-bottom:15px}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon{position:relative;overflow:visible}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon .content-box-heading{vertical-align:top}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right .content-box-heading{float:right}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right .icon,.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right .image{right:0}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right .icon i,.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right .icon img,.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right .image i,.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right .image img{margin-left:20px;margin-right:0}.fusion-content-boxes.content-boxes-icon-on-side .icon,.fusion-content-boxes.content-boxes-icon-on-side .image{position:absolute}.fusion-content-boxes.content-boxes-icon-on-side .content-container.icon-small{padding-left:55px}.fusion-content-boxes.content-boxes-icon-on-side .content-container.icon-medium{padding-left:70px}.fusion-content-boxes.content-boxes-icon-on-side .content-container.icon-large{padding-left:85px}.fusion-content-boxes.content-boxes-icon-on-side.content-right .content-container{padding-left:0!important}.fusion-content-boxes.content-boxes-icon-on-side.content-right .content-container.icon-small{padding-right:45px}.fusion-content-boxes.content-boxes-icon-on-side.content-right .content-container.icon-medium{padding-right:60px}.fusion-content-boxes.content-boxes-icon-on-side.content-right .content-container.icon-large{padding-right:75px}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon{display:table;width:auto}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon .heading-link,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon .heading-link{display:block}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon img,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon img{margin-right:20px;max-width:none}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon .fontawesome-icon,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon .fontawesome-icon{display:block;float:none;margin-right:20px}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon i.small,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon i.small{height:35px;width:35px;line-height:35px;font-size:18px}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon i.medium,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon i.medium{height:50px;width:50px;line-height:50px;font-size:21px}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon i.large,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon i.large{width:65px;height:65px;line-height:65px;font-size:24px}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon.icon-right{float:right!important}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right .icon,.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right .image,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon.icon-right .icon,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon.icon-right .image{float:none}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right .icon i,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon.icon-right .icon i{margin-right:0!important}.fusion-content-boxes.content-boxes-icon-on-side .heading-with-icon.icon-right .content-box-heading,.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon.icon-right .content-box-heading{text-align:right}.fusion-content-boxes.content-boxes-icon-on-side .content-icon-wrapper-yes .heading-with-icon .icon span,.fusion-content-boxes.content-boxes-icon-with-title .content-icon-wrapper-yes .heading-with-icon .icon span{margin-right:20px}.fusion-content-boxes.content-boxes-icon-on-side .content-icon-wrapper-yes .heading-with-icon.icon-right .icon span,.fusion-content-boxes.content-boxes-icon-with-title .content-icon-wrapper-yes .heading-with-icon.icon-right .icon span{margin-left:20px;margin-right:0}.fusion-content-boxes.content-boxes-icon-on-side .content-icon-wrapper-yes .heading-with-icon .fontawesome-icon,.fusion-content-boxes.content-boxes-icon-with-title .content-icon-wrapper-yes .heading-with-icon .fontawesome-icon{margin-right:0}.fusion-content-boxes.content-boxes-icon-on-top .heading{text-align:center}.fusion-content-boxes.content-boxes-icon-on-top .heading .icon{margin-bottom:15px}.fusion-content-boxes.content-boxes-icon-on-top .heading .fontawesome-icon{display:block;float:none;margin:0 auto;height:64px;width:64px;line-height:64px;font-size:24px}.fusion-content-boxes.content-boxes-icon-on-top .heading i.small{height:35px;width:35px;line-height:35px;font-size:18px}.fusion-content-boxes.content-boxes-icon-on-top .heading i.medium{height:50px;width:50px;line-height:50px;font-size:21px}.fusion-content-boxes.content-boxes-icon-on-top .heading i.large{width:65px;height:65px;line-height:65px;font-size:24px}.fusion-content-boxes.content-boxes-icon-on-top .heading img{margin-bottom:20px}.fusion-content-boxes.content-boxes-icon-on-top .content-container,.fusion-content-boxes.content-boxes-icon-on-top .fusion-read-more{text-align:center}.fusion-content-boxes.content-boxes-icon-boxed{overflow:visible}.fusion-content-boxes.content-boxes-icon-boxed .content-wrapper-boxed{overflow:visible;padding:50px 35px 35px;text-align:center}.fusion-content-boxes.content-boxes-icon-boxed .link-type-button-bar .content-container{padding-bottom:50px}.fusion-content-boxes.content-boxes-icon-boxed .heading{overflow:visible;position:relative;text-align:center}.fusion-content-boxes.content-boxes-icon-boxed .heading .fontawesome-icon{display:block;position:absolute;left:50%;top:-80px;float:none;height:64px;width:64px;line-height:64px;font-size:24px}.fusion-content-boxes.content-boxes-icon-boxed .heading i.small{height:35px;width:35px;line-height:35px;font-size:18px;top:-67px;margin-left:-17px}.fusion-content-boxes.content-boxes-icon-boxed .heading i.medium{height:50px;width:50px;line-height:50px;font-size:21px;top:-76px;margin-left:-25px}.fusion-content-boxes.content-boxes-icon-boxed .heading i.large{width:65px;height:65px;line-height:65px;font-size:24px;top:-85px}.fusion-content-boxes.content-boxes-icon-boxed .heading .image{display:block;position:absolute;left:50%}.fusion-content-boxes.content-boxes-icon-boxed .content-container,.fusion-content-boxes.content-boxes-icon-boxed .fusion-read-more{text-align:center}.fusion-content-boxes.content-boxes-timeline-horizontal .icon{position:relative;z-index:2}.fusion-content-boxes.content-boxes-timeline-horizontal .content-box-column .content-box-wrapper{position:static}.fusion-content-boxes.content-boxes-timeline-vertical .heading-with-icon,.fusion-content-boxes.content-boxes-timeline-vertical .heading-with-icon .heading-link{display:flex;align-items:center;overflow:visible}.fusion-content-boxes.content-boxes-timeline-vertical .content-box-column>.col{position:static}.fusion-content-boxes.content-boxes-timeline-vertical .icon{position:relative;z-index:2}.fusion-content-boxes.content-boxes-timeline-vertical .content-box-column-last .content-box-shortcode-timeline-vertical{display:none}.do-animate .fusion-content-boxes .fusion-animated{animation-fill-mode:none;position:relative}.fusion-content-boxes.content-boxes-clean-vertical{margin-left:0;margin-right:0}.fusion-content-boxes.content-boxes-clean-vertical .content-box-column{border-style:solid;border-width:1px;border-right-width:0;padding:0}.fusion-content-boxes.content-boxes-clean-vertical .col{padding:30px}.fusion-content-boxes.content-boxes-clean-vertical .link-type-button{padding-bottom:0}.fusion-content-boxes.content-boxes-clean-vertical .link-type-button-bar .content-container{padding-bottom:60px}.fusion-content-boxes.content-boxes-clean-horizontal{margin-left:0;margin-right:0}.fusion-content-boxes.content-boxes-clean-horizontal .content-box-column{border-style:solid;border-width:1px;border-right-width:0;padding:0}.fusion-content-boxes.content-boxes-clean-horizontal .col{padding:30px}.fusion-content-boxes.content-boxes-clean-horizontal .link-type-button-bar .content-container{padding-bottom:60px}.fusion-content-boxes a{text-decoration:none;box-shadow:none}.content-boxes-icon-on-top .col{text-align:center}.content-boxes-icon-on-top .col .more a{float:none}.content-boxes-icon-on-top .col .heading-and-icon .fontawesome-icon{float:none;width:64px;height:64px;line-height:64px;font-size:24px;margin:0;display:inline-block}.content-boxes-icon-on-top .col .heading-and-icon img{float:none;margin-right:0}.content-boxes-icon-on-top .col .heading-and-icon h2{padding-left:0}.content-boxes-icon-on-side .col-content-container{padding-left:45px}.content-boxes-icon-boxed{overflow:visible}.content-boxes-icon-boxed .col{overflow:visible!important;text-align:center;padding:50px 2% 2%}.content-boxes-icon-boxed .col .more a{float:none}.content-boxes-icon-boxed .col .heading-and-icon{overflow:visible;position:relative}.content-boxes-icon-boxed .col .heading-and-icon .fontawesome-icon,.content-boxes-icon-boxed .col .heading-and-icon img{float:none;position:absolute;top:-80px;width:64px;height:64px;line-height:64px;font-size:24px;margin:0 0 0 -32px;left:50%}.content-boxes-icon-boxed .col .heading-and-icon img{float:none}.content-boxes-icon-boxed .col .heading-and-icon h2{padding-left:0}.fusion-countdown{--awb-background:var(--countdown_background_color, var(--awb-color5));--awb-background-size:auto;--awb-border-radius:0;--awb-counter-box-spacing:calc(var(--countdown_counter_box_spacing, 10px) / 2);--awb-counter-box-color:var(--countdown_counter_box_color, var(--awb-color7));--awb-counter-padding-top:var(--countdown_counter_padding-top, 0.6em);--awb-counter-padding-right:var(--countdown_counter_padding-right, 1.1em);--awb-counter-padding-bottom:var(--countdown_counter_padding-bottom, 0.6em);--awb-counter-padding-left:var(--countdown_counter_padding-left, 1.1em);--awb-counter-border-size:var(--countdown_counter_border_size, 0);--awb-counter-border-color:var(--countdown_counter_border_color, var(--awb-color7));--awb-counter-border-radius:var(--countdown_counter_border_radius, 4px);--awb-counter-font-size:var(--countdown_counter_font_size, 18px);--awb-counter-text-color:var(--countdown_counter_text_color, var(--awb-color1));--awb-label-font-size:var(--countdown_label_font_size, 18px);--awb-label-color:var(--countdown_label_color, var(--awb-color1));--awb-heading-font-size:var(--countdown_heading_font_size, 18px);--awb-heading-text-color:var(--countdown_heading_text_color, var(--awb-color1));--awb-subheading-font-size:var(--countdown_subheading_font_size, 14px);--awb-subheading-text-color:var(--countdown_subheading_text_color, var(--awb-color1));--awb-link-text-color:var(--countdown_link_text_color, var(--awb-color1));--awb-element-margin-top:0;--awb-element-margin-right:0;--awb-element-margin-bottom:0;--awb-element-margin-left:0;padding:30px;background:var(--awb-background);background-size:var(--awb-background-size);border-radius:var(--awb-border-radius);margin-top:var(--awb-element-margin-top);margin-right:var(--awb-element-margin-right);margin-bottom:var(--awb-element-margin-bottom);margin-left:var(--awb-element-margin-left)}.fusion-countdown.fusion-no-bg{padding:0}.fusion-countdown .fusion-countdown-wrapper{display:flex;flex-wrap:nowrap;flex-direction:row;justify-content:space-between;align-items:center;margin:0 -7.5px}.fusion-countdown .fusion-countdown-counter-wrapper,.fusion-countdown .fusion-countdown-heading-wrapper,.fusion-countdown .fusion-countdown-link-wrapper{margin:0 7.5px}.fusion-countdown .fusion-countdown-heading{font-weight:700;letter-spacing:2px;line-height:1.2em;font-size:var(--awb-heading-font-size);color:var(--awb-heading-text-color)}.fusion-countdown .fusion-countdown-subheading{letter-spacing:1px;line-height:1.2em;font-size:var(--awb-subheading-font-size);color:var(--awb-subheading-text-color)}.fusion-countdown .fusion-countdown-counter-wrapper{display:flex;flex-wrap:wrap;justify-content:center;overflow:hidden;text-align:center;margin:0 calc(7.5px - var(--awb-counter-box-spacing));font-size:var(--awb-counter-font-size);color:var(--awb-counter-text-color)}.fusion-countdown .fusion-countdown-counter-wrapper.awb-flex-grow{flex-grow:1}.fusion-countdown .fusion-dash-wrapper{display:inline-block;padding:var(--awb-counter-box-spacing)}.fusion-countdown .fusion-dash{display:flex;align-items:center;justify-content:center;line-height:1;background-color:var(--awb-counter-box-color);padding-top:var(--awb-counter-padding-top);padding-right:var(--awb-counter-padding-right);padding-bottom:var(--awb-counter-padding-bottom);padding-left:var(--awb-counter-padding-left);border:calc(var(--awb-counter-border-size) * 1px) solid var(--awb-counter-border-color);border-radius:var(--awb-counter-border-radius)}.fusion-countdown .fusion-digit-wrapper{display:flex;justify-content:center}.rtl .fusion-countdown .fusion-digit-wrapper{direction:ltr}.fusion-countdown .fusion-digit>div{margin:0 -.21em;width:1em}.fusion-countdown .fusion-hundred-digit,.fusion-countdown .fusion-thousand-digit{display:none}.fusion-countdown .fusion-dash-title{min-width:46px;font-size:var(--awb-label-font-size);color:var(--awb-label-color)}.ltr .fusion-countdown .fusion-dash-title{padding-left:.25em}.rtl .fusion-countdown .fusion-dash-title{padding-right:.25em;direction:rtl}.fusion-countdown .fusion-countdown-link{letter-spacing:2px;color:var(--awb-link-text-color)}.fusion-countdown .fusion-countdown-link:hover{opacity:.7}.fusion-countdown.fusion-countdown-has-heading .fusion-countdown-subheading{margin-bottom:.4em}.fusion-countdown.fusion-countdown-stacked .fusion-countdown-wrapper{flex-direction:column}.fusion-countdown.fusion-countdown-stacked .fusion-countdown-heading-wrapper{text-align:center}.fusion-countdown.fusion-countdown-stacked.fusion-countdown-has-heading .fusion-countdown-counter-wrapper{margin-top:1em}.fusion-countdown.fusion-countdown-stacked.fusion-countdown-has-link .fusion-countdown-counter-wrapper{margin-bottom:1em}.fusion-countdown.fusion-countdown-label-bottom .fusion-dash,.fusion-countdown.fusion-countdown-label-top .fusion-dash{flex-direction:column}.fusion-countdown.fusion-countdown-label-bottom .fusion-dash-title,.fusion-countdown.fusion-countdown-label-top .fusion-dash-title{width:100%}.fusion-countdown.fusion-countdown-label-top .fusion-digit-wrapper{order:2}.fusion-countdown.fusion-countdown-label-top .fusion-dash-title{order:1;padding:0 0 .25em 0}.fusion-countdown.fusion-countdown-label-bottom .fusion-dash-title{padding:.25em 0 0 0}.fusion-counters-box{--awb-icon-size:var(--counter_box_icon_size);--awb-border-color:var(--counter_box_border_color, #e5e4e3);--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-title-size:var(--counter_box_title_size, 50);--awb-color:var(--counter_box_color, #65bc7b);--awb-body-color:var(--counter_box_body_color);--awb-body-size:var(--counter_box_body_size);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-counters-box.row{--awb-margin-left:-7px;--awb-margin-right:-7px;margin-left:var(--awb-margin-left);margin-right:var(--awb-margin-right)}.fusion-counters-box .fusion-counter-box{padding:0 7px;margin-bottom:14px;text-align:center;box-sizing:border-box}.fusion-counters-box .fusion-counter-box .counter-box-container{padding:20px;border:1px solid var(--awb-border-color)}.fusion-counters-box .counter-box-content{color:var(--awb-body-color);font-size:calc(var(--awb-body-size) * 1px)}.fusion-counters-box .content-box-counter{color:var(--awb-color);font-size:calc(var(--awb-title-size) * 1px);line-height:normal}.fusion-counters-box .counter-box-icon{float:none;margin-top:-8px;vertical-align:middle;color:inherit;font-size:calc(var(--awb-icon-size) * 1px)}.fusion-counters-box .fusion-counter-box-icon-top .counter-box-icon{display:block;float:none;margin:0}.fusion-counters-circle{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:20px;--awb-margin-left:0;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);text-align:center}.fusion-counters-circle .counter-circle-wrapper{--awb-font-size:50px;--awb-size:220px;display:inline-block;position:relative;margin:0 7.5px 15px 7.5px;overflow:hidden;text-align:center;height:var(--awb-size);width:var(--awb-size)}.fusion-counters-circle .counter-circle{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;height:var(--awb-size);width:var(--awb-size);font-size:var(--awb-font-size)}.fusion-counters-circle .counter-circle .fusion-counter-circle-content-inner{line-height:1;width:80%}.fusion-counters-circle .counter-circle .fontawesome-icon{float:none;margin:0;font-size:inherit}.fusion-counters-circle .counter-circle canvas{position:absolute;left:0;top:0}.fusion-counters-circle:last-child{margin-right:0}.fusion-body .fusion-dropcap{--awb-color:var(--dropcap_color);display:inline-flex;align-items:center;justify-content:center;position:relative;top:4px;float:left;margin-right:10px;padding:0;height:52px;line-height:52px;color:var(--awb-color);font-size:60px;text-transform:uppercase}.fusion-body .fusion-dropcap.dropcap-boxed{--awb-color:var(--dropcap_text_color, #fff);--awb-background:var(--dropcap_color);--awb-border-radius:8px;height:51px;width:51px;line-height:51px;border-radius:var(--awb-border-radius);background-clip:padding-box;box-shadow:0 1px 1px rgba(0,0,0,.2);color:var(--awb-color);font-size:45px;background-color:var(--awb-background)}.awb-text-path{--awb-path-width:250px;--awb-path-rotation:0;--awb-word-spacing:normal;--awb-text-align:start;--awb-text-font-family:inherit;--awb-text-font-style:inherit;--awb-text-font-weight:inherit;--awb-font-size:inherit;--awb-line-height:inherit;--awb-letter-spacing:inherit;--awb-text-transform:inherit;--awb-text-color:inherit;--awb-text-stroke-width:1px;--awb-text-stroke-color:var(--primary_color);--awb-path-stroke-width:1px;--awb-path-stroke-color:var(--primary_color);--awb-path-fill-color:transparent;--awb-padding-top:0;--awb-padding-right:0;--awb-padding-bottom:0;--awb-padding-left:0;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;text-align:var(--awb-text-align);font-family:var(--awb-text-font-family);font-style:var(--awb-text-font-style);font-weight:var(--awb-text-font-weight);font-size:var(--awb-font-size);line-height:var(--awb-line-height);letter-spacing:var(--awb-letter-spacing);text-transform:var(--awb-text-transform);padding-top:var(--awb-padding-top);padding-right:var(--awb-padding-right);padding-bottom:var(--awb-padding-bottom);padding-left:var(--awb-padding-left);margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.awb-text-path svg{height:auto;max-width:100%;overflow:visible;transform:rotate(var(--awb-path-rotation));width:var(--awb-path-width);word-spacing:var(--awb-word-spacing)}.awb-text-path g{transform-origin:center}.awb-text-path .awb-text-path__path{fill:var(--awb-path-fill-color)}.awb-text-path .awb-text-path__path_yes{stroke-width:var(--awb-path-stroke-width);stroke:var(--awb-path-stroke-color)}.awb-text-path .awb-text-path__text-path{fill:var(--awb-text-color)}.awb-text-path .awb-text-path__text-path_yes{stroke-width:var(--awb-text-stroke-width);stroke:var(--awb-text-stroke-color)}.fusion-flip-boxes{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:25px;--awb-margin-left:0;--awb-flip-duration:var(--flip_boxes_flip_duration);--awb-icon-color:var(--icon_color, inherit);--awb-circle-color:var(--icon_circle_color, transparent);--awb-circle-border-color:var(--icon_border_color, currentColor);--awb-background-color-front:var(--flip_boxes_front_bg);--awb-background-color-back:var(--flip_boxes_back_bg);--awb-background-image-front:transparent;--awb-background-image-back:transparent;--awb-background-front-blend-mode:normal;--awb-background-back-blend-mode:normal;--awb-title-front-color:var(--flip_boxes_front_heading);--awb-title-back-color:var(--flip_boxes_back_heading);--awb-border-color:var(--flip_boxes_border_color);--awb-border-size:var(--flip_boxes_border_size);--awb-border-radius:var(--flip_boxes_border_radius);--awb-text-front-color:var(--flip_boxes_front_text);--awb-text-back-color:var(--flip_boxes_back_text);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-flip-boxes.row{--awb-margin-left:calc(30px / -2);--awb-margin-right:calc(30px / -2);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-flip-boxes .fusion-column{box-sizing:border-box}.fusion-flip-boxes .fusion-flip-box{position:relative;z-index:1;padding:0;margin:0;backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.fusion-flip-boxes .fusion-flip-box .flip-box-inner-wrapper{position:relative;margin-bottom:15px;perspective:1000px}.fusion-flip-boxes .fusion-flip-box .flip-box-back,.fusion-flip-boxes .fusion-flip-box .flip-box-front{display:flex;align-items:center;top:0;right:0;left:0;perspective:1000px;padding:27px 20px;text-align:center;backface-visibility:hidden;background-clip:padding-box;background-position:center;background-repeat:no-repeat;background-size:cover;transition-duration:var(--awb-flip-duration);border:var(--awb-border-size) solid var(--awb-border-color);border-radius:var(--awb-border-radius)}.fusion-flip-boxes .fusion-flip-box .flip-box-front{position:relative;bottom:0;z-index:10;background-color:var(--awb-background-color-front);background-image:var(--awb-background-image-front);background-blend-mode:var(--awb-background-front-blend-mode);color:var(--awb-text-front-color)}.fusion-flip-boxes .fusion-flip-box .flip-box-back{position:absolute;z-index:-1;background-color:var(--awb-background-color-back);background-image:var(--awb-background-image-back);background-blend-mode:var(--awb-background-back-blend-mode);color:var(--awb-text-back-color)}.fusion-flip-boxes .fusion-flip-box .flip-box-back .fusion-button{display:table;margin:20px auto 0}.fusion-flip-boxes .fusion-flip-box .flip-box-back-inner,.fusion-flip-boxes .fusion-flip-box .flip-box-front-inner{width:100%}.fusion-flip-boxes .fusion-flip-box.hover .flip-box-back,.fusion-flip-boxes .fusion-flip-box:focus .flip-box-back,.fusion-flip-boxes .fusion-flip-box:focus-within .flip-box-back,.fusion-flip-boxes .fusion-flip-box:hover .flip-box-back{z-index:1}.fusion-flip-boxes .fusion-flip-box.hover .flip-box-front,.fusion-flip-boxes .fusion-flip-box:focus .flip-box-front,.fusion-flip-boxes .fusion-flip-box:focus-within .flip-box-front,.fusion-flip-boxes .fusion-flip-box:hover .flip-box-front{z-index:-1}.fusion-flip-boxes .fusion-flip-box .flip-box-grafix{display:table;margin:0 auto 10px;color:var(--awb-icon-color)}.fusion-flip-boxes .fusion-flip-box .flip-box-image{table-layout:fixed;width:100%}.fusion-flip-boxes .fusion-flip-box .flip-box-circle{height:64px;width:64px;border:1px solid var(--awb-circle-border-color);border-radius:50%;background-color:var(--awb-circle-color);background-clip:padding-box}.fusion-flip-boxes .fusion-flip-box .flip-box-circle i{display:table-cell;vertical-align:middle;font-size:24px}.fusion-flip-boxes .fusion-flip-box .flip-box-no-circle i{font-size:60px}.fusion-flip-boxes .fusion-flip-box .flip-box-heading{margin-top:0;margin-bottom:9px;padding-top:0;color:var(--awb-title-front-color)}.fusion-flip-boxes .fusion-flip-box .flip-box-heading.without-text{margin-bottom:0}.fusion-flip-boxes .fusion-flip-box .flip-box-heading-back{margin-bottom:9px;margin-top:0;color:var(--awb-title-back-color)}.fusion-flip-boxes .fusion-flip-box .finished-animating{transition:none!important;animation:none!important}.fusion-flip-boxes .fusion-flip-box.flip-right .flip-box-front{transform:rotateY(0)}.fusion-flip-boxes .fusion-flip-box.flip-right .flip-box-back{transform:rotateY(-180deg)}.fusion-flip-boxes .fusion-flip-box.flip-right.hover .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-right:focus .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-right:focus-within .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-right:hover .flip-box-back{transform:rotateY(0)}.fusion-flip-boxes .fusion-flip-box.flip-right.hover .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-right:focus .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-right:focus-within .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-right:hover .flip-box-front{transform:rotateY(180deg)}.fusion-flip-boxes .fusion-flip-box.flip-left .flip-box-front{transform:rotateY(0)}.fusion-flip-boxes .fusion-flip-box.flip-left .flip-box-back{transform:rotateY(180deg)}.fusion-flip-boxes .fusion-flip-box.flip-left.hover .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-left:focus .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-left:focus-within .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-left:hover .flip-box-back{transform:rotateY(0)}.fusion-flip-boxes .fusion-flip-box.flip-left.hover .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-left:focus .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-left:focus-within .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-left:hover .flip-box-front{transform:rotateY(-180deg)}.fusion-flip-boxes .fusion-flip-box.flip-up .flip-box-front{transform:rotateX(0)}.fusion-flip-boxes .fusion-flip-box.flip-up .flip-box-back{transform:rotateX(-180deg)}.fusion-flip-boxes .fusion-flip-box.flip-up.hover .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-up:focus .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-up:focus-within .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-up:hover .flip-box-back{transform:rotateX(0)}.fusion-flip-boxes .fusion-flip-box.flip-up.hover .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-up:focus .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-up:focus-within .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-up:hover .flip-box-front{transform:rotateX(180deg)}.fusion-flip-boxes .fusion-flip-box.flip-down .flip-box-front{transform:rotateX(0)}.fusion-flip-boxes .fusion-flip-box.flip-down .flip-box-back{transform:rotateX(180deg)}.fusion-flip-boxes .fusion-flip-box.flip-down.hover .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-down:focus .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-down:focus-within .flip-box-back,.fusion-flip-boxes .fusion-flip-box.flip-down:hover .flip-box-back{transform:rotateX(0)}.fusion-flip-boxes .fusion-flip-box.flip-down.hover .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-down:focus .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-down:focus-within .flip-box-front,.fusion-flip-boxes .fusion-flip-box.flip-down:hover .flip-box-front{transform:rotateX(-180deg)}.fusion-flip-boxes.flip-effect-classic .flip-box-back,.fusion-flip-boxes.flip-effect-classic .flip-box-front{transition:transform var(--awb-flip-duration) cubic-bezier(.2, .85, .4, 1.275)}.fusion-flip-boxes.flip-effect-classic .fusion-flip-box.hover .flip-box-grafix i:before,.fusion-flip-boxes.flip-effect-classic .fusion-flip-box:focus .flip-box-grafix i:before,.fusion-flip-boxes.flip-effect-classic .fusion-flip-box:focus-within .flip-box-grafix i:before,.fusion-flip-boxes.flip-effect-classic .fusion-flip-box:hover .flip-box-grafix i:before{display:none}.fusion-flip-boxes.flip-effect-3d .flip-box-inner-wrapper{transform-style:preserve-3d}.fusion-flip-boxes.flip-effect-3d .flip-box-back,.fusion-flip-boxes.flip-effect-3d .flip-box-front{transform-style:preserve-3d;transition:transform var(--awb-flip-duration) ease-in-out}.fusion-flip-boxes.flip-effect-3d .flip-box-back-inner,.fusion-flip-boxes.flip-effect-3d .flip-box-front-inner{transform:translateZ(50px) scale(.9)}.ua-edge .fusion-flip-boxes .fusion-flip-box.hover .flip-box-back,.ua-edge .fusion-flip-boxes .fusion-flip-box:focus .flip-box-back,.ua-edge .fusion-flip-boxes .fusion-flip-box:focus-within .flip-box-back,.ua-edge .fusion-flip-boxes .fusion-flip-box:hover .flip-box-back{transform:rotateY(0);z-index:1}.ua-edge .fusion-flip-boxes .fusion-flip-box.hover .flip-box-front,.ua-edge .fusion-flip-boxes .fusion-flip-box:focus .flip-box-front,.ua-edge .fusion-flip-boxes .fusion-flip-box:focus-within .flip-box-front,.ua-edge .fusion-flip-boxes .fusion-flip-box:hover .flip-box-front{transform:rotateY(180deg);z-index:-1}.fontawesome-icon.fb-icon-element{--awb-circlecolor:var(--icon_circle_color);--awb-circlecolor-hover:var(--icon_circle_color_hover);--awb-circlebordercolor:var(--icon_border_color);--awb-circlebordercolor-hover:var(--icon_border_color_hover);--awb-iconcolor:var(--icon_color);--awb-iconcolor-hover:var(--icon_color_hover);--awb-font-size:inherit;--awb-height:auto;--awb-width:auto;--awb-line-height:inherit;--awb-circlebordersize:var(--icon_border_size);--awb-border-radius-top-l:var(--icon_border_top_l_rad);--awb-border-radius-top-r:var(--icon_border_top_r_rad);--awb-border-radius-bot-l:var(--icon_border_bot_l_rad);--awb-border-radius-bot-r:var(--icon_border_bot_r_rad);--awb-margin-top:0;--awb-margin-right:10px;--awb-margin-bottom:0;--awb-margin-left:0;--awb-align-self:auto;color:var(--awb-iconcolor);font-size:var(--awb-font-size);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);align-self:var(--awb-align-self)}.fontawesome-icon.fb-icon-element.hover,.fontawesome-icon.fb-icon-element:hover{color:var(--awb-iconcolor-hover)}.fontawesome-icon.fb-icon-element.circle-yes{--awb-margin-top:2px;height:var(--awb-height);width:var(--awb-width);line-height:var(--awb-line-height);border-color:var(--awb-circlebordercolor);border-width:var(--awb-circlebordersize);border-radius:var(--awb-border-radius-top-l) var(--awb-border-radius-top-r) var(--awb-border-radius-bot-r) var(--awb-border-radius-bot-l);background-color:var(--awb-circlecolor);color:var(--awb-iconcolor);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fontawesome-icon.fb-icon-element.circle-yes.hover,.fontawesome-icon.fb-icon-element.circle-yes:hover{border-color:var(--awb-circlebordercolor-hover);background-color:var(--awb-circlecolor-hover);color:var(--awb-iconcolor-hover)}.fontawesome-icon.fb-icon-element.icon-hover-animation-pulsate,.fontawesome-icon.fb-icon-element.icon-hover-animation-slide{--awb-align-self:flex-start}.fontawesome-icon.fb-icon-element.icon-hover-animation-pulsate:hover:after{box-shadow:0 0 0 2px rgba(255,255,255,.1),0 0 10px 10px var(--awb-circlecolor-hover),0 0 0 10px rgba(255,255,255,.5)}.awb-icon-live-editor-wrapper{display:flex;flex-direction:column}.fontawesome-icon{display:inline-block;float:left;margin-right:10px}.fontawesome-icon:before{transition:none}.fontawesome-icon.circle-yes{border-radius:50%;background-clip:inherit;border-width:1px;border-style:solid;background-color:#333;color:#fff;text-align:center;margin-top:2px}.fontawesome-icon.fusion-link:before{color:inherit}.fontawesome-icon.fusion-text-flow{float:none}.fontawesome-icon.circle-no.size-large{margin-top:2px}.fontawesome-icon.circle-no.size-medium{margin-top:3px}.fontawesome-icon.circle-no.size-small{margin-top:5px}.fontawesome-icon.icon-hover-animation-pulsate{position:relative}.fontawesome-icon.icon-hover-animation-pulsate.hover,.fontawesome-icon.icon-hover-animation-pulsate:hover{transform:scale(.93);transition:all .3s}.fontawesome-icon.icon-hover-animation-pulsate.hover:after,.fontawesome-icon.icon-hover-animation-pulsate:hover:after{pointer-events:none;position:absolute;width:100%;height:100%;border-radius:inherit;content:"";box-sizing:content-box;top:0;left:0;padding:0;z-index:-1;box-shadow:0 0 0 2px rgba(255,255,255,.1);opacity:0;transform:scale(.9);display:inline-block;animation:fusionSonarEffect 1.3s ease-out 75ms}.fontawesome-icon.icon-hover-animation-slide.circle-yes{overflow:hidden;display:inline-flex;justify-content:center}.fontawesome-icon.icon-hover-animation-slide.hover:before,.fontawesome-icon.icon-hover-animation-slide:hover:before{animation:fusionToRightFromLeft .3s forwards}.fontawesome-icon.icon-hover-animation-slide:before{display:block}.fb-icon-element.dashicons,.fontawesome-icon.dashicons,.fusion-li-icon.dashicons{font-size:var(--awb-font-size, inherit);width:auto;height:auto}.fusion-fa-align-left{display:inline;float:left;margin:0}.fusion-fa-align-right{display:inline;float:right;margin:0}.fusion-fa-align-center{display:block;clear:both;margin-left:auto;margin-right:auto;text-align:center}.fusion-body .fusion-fa-align-center .fontawesome-icon{float:none}.fusion-grid-1>.fusion-grid-column,.fusion-grid-one>.fusion-grid-column{width:100%}.fusion-grid-2>.fusion-grid-column,.fusion-grid-two>.fusion-grid-column{width:50%}.fusion-grid-3>.fusion-grid-column,.fusion-grid-three>.fusion-grid-column{width:calc(100% / 3)}.fusion-grid-4>.fusion-grid-column,.fusion-grid-four>.fusion-grid-column{width:25%}.fusion-grid-5>.fusion-grid-column,.fusion-grid-five>.fusion-grid-column{width:20%}.fusion-grid-6>.fusion-grid-column,.fusion-grid-six>.fusion-grid-column{width:calc(100% / 6)}.fusion-gallery{--awb-aspect-ratio:1/1;--awb-object-position:50% 50%;--awb-bordersize:0;--awb-bordercolor:var(--gallery_border_color);--awb-border-radius:var(--gallery_border_radius);--awb-bottom-shadow-color:rgba(0, 0, 0, 0.4);--awb-caption-margin-top:0;--awb-caption-margin-right:0;--awb-caption-margin-bottom:0;--awb-caption-margin-left:0;--awb-caption-border-color:#fff;--awb-caption-overlay-color:var(--primary_color)}.fusion-gallery.fusion-gallery-layout-masonry.fusion-grid-2.fusion-masonry-has-vertical .fusion-element-landscape,.fusion-gallery.fusion-gallery-layout-masonry.fusion-grid-two.fusion-masonry-has-vertical .fusion-element-landscape{width:100%}.fusion-gallery.fusion-gallery-layout-masonry.fusion-grid-3.fusion-masonry-has-vertical .fusion-element-landscape,.fusion-gallery.fusion-gallery-layout-masonry.fusion-grid-three.fusion-masonry-has-vertical .fusion-element-landscape{width:calc(100% / 3 * 2)}.fusion-gallery.fusion-gallery-layout-masonry.fusion-grid-4.fusion-masonry-has-vertical .fusion-element-landscape,.fusion-gallery.fusion-gallery-layout-masonry.fusion-grid-four.fusion-masonry-has-vertical .fusion-element-landscape{width:50%}.fusion-gallery.fusion-gallery-layout-masonry.fusion-grid-5.fusion-masonry-has-vertical .fusion-element-landscape,.fusion-gallery.fusion-gallery-layout-masonry.fusion-grid-five.fusion-masonry-has-vertical .fusion-element-landscape{width:40%}.fusion-gallery.fusion-gallery-layout-masonry.fusion-grid-6.fusion-masonry-has-vertical .fusion-element-landscape,.fusion-gallery.fusion-gallery-layout-masonry.fusion-grid-six.fusion-masonry-has-vertical .fusion-element-landscape{width:calc(100% / 3)}.fusion-gallery.fusion-gallery-layout-masonry .fusion-gallery-column .fusion-gallery-image.fusion-gallery-image-liftup img{display:none}.fusion-gallery .fusion-gallery-column{padding:0;display:none}.fusion-gallery .fusion-gallery-column.awb-gallery-item-hidden{display:none!important}.fusion-gallery .fusion-gallery-column .fusion-gallery-image{overflow:hidden;opacity:1}.fusion-gallery .fusion-gallery-column .fusion-gallery-image.fusion-gallery-image-liftup{display:block;position:relative;max-width:100%;transform:perspective(1000px) scale(1);transition:transform .35s}.fusion-gallery .fusion-gallery-column .fusion-gallery-image.fusion-gallery-image-liftup.hover,.fusion-gallery .fusion-gallery-column .fusion-gallery-image.fusion-gallery-image-liftup:hover{z-index:1;box-shadow:0 3px 15px rgba(0,0,0,.4);transform:perspective(1000px) scale(1.03)}.fusion-gallery .fusion-gallery-column .fusion-gallery-image.fusion-gallery-image-liftup img{display:block}.fusion-gallery .fusion-gallery-column .fusion-gallery-caption{line-height:2.87}.fusion-gallery .fusion-gallery-image{border:var(--awb-bordersize) solid var(--awb-bordercolor);border-radius:var(--awb-border-radius)}.fusion-gallery.has-circle-radius .fusion-gallery-image{-webkit-mask-image:radial-gradient(circle,white,black);mask-image:radial-gradient(circle,white,black)}.fusion-gallery.has-aspect-ratio .fusion-gallery-image img{aspect-ratio:var(--awb-aspect-ratio);object-position:var(--awb-object-position);object-fit:cover;width:100%}.awb-gallery-wrapper{--more-btn-color:var(--awb-color7);--more-btn-bg:var(--awb-color3);--more-btn-hover-color:var(--awb-color1);--more-btn-hover-bg:var(--awb-color5);--more-btn-alignment:center}.awb-gallery-wrapper .awb-gallery-posts-loading-container{display:none}.awb-gallery-wrapper .awb-gallery-buttons{display:flex;align-items:center;justify-content:var(--more-btn-alignment);margin-top:30px}.awb-gallery-wrapper .awb-gallery-buttons .fusion-button:first-child{margin-inline-end:10px}.awb-gallery-wrapper .awb-gallery-load-more-btn{color:var(--more-btn-color);background-color:var(--more-btn-bg)}.awb-gallery-wrapper .awb-gallery-load-more-btn.hover,.awb-gallery-wrapper .awb-gallery-load-more-btn:hover{color:var(--more-btn-hover-color);background-color:var(--more-btn-hover-bg)}.awb-gallery-wrapper.button-span-yes .awb-gallery-load-more-btn{width:100%}@media only screen and (max-width:800px){.fusion-gallery .fusion-column.fusion-gallery-column.fusion-element-landscape{width:100%}}.fusion-google-map{--awb-height:auto;--awb-width:auto;--awb-margin-top:0;--awb-margin-bottom:0;height:var(--awb-height);width:var(--awb-width);margin-top:var(--awb-margin-top);margin-bottom:var(--awb-margin-bottom)}.fusion-google-map.fusion-maps-js-type{--awb-height:300px;--awb-width:100%}.fusion-google-map img{max-width:none}.fusion-google-map .fusion-info-box{padding:5px;border-radius:5px;background-clip:padding-box;box-shadow:0 1px 1px rgba(0,0,0,.3);background-color:#65bc7b;color:#fff;font-size:13px}.fusion-maps-static-type img{max-width:100%}.fusion-highlight{--awb-text-color:inherit;--awb-background-image:none;--gradient_start_color:inherit;color:var(--awb-text-color)}.fusion-highlight.dark{--awb-text-color:#ccc}.fusion-highlight.awb-highlight-background{--awb-color:var(--primary_color);padding:.1em .3em;line-height:1.7em;background:var(--awb-color)}.fusion-highlight.awb-highlight-background.rounded{border-radius:4px;background-clip:padding-box}.fusion-highlight.awb-highlight-marker{--awb-color:var(--primary_color);background:linear-gradient(to top,var(--awb-color) 40%,transparent 40%)}.fusion-highlight.awb-gradient-text{background-color:var(--gradient_start_color);background-image:var(--awb-background-image)}.fusion-highlight.fusion-text-has-stroke{--awb-text-stroke-size:1px;--awb-text-stroke-color:var(--primary_color);-webkit-text-stroke:var(--awb-text-stroke-size) var(--awb-text-stroke-color)}.fusion-image-before-after-wrapper{--awb-handle-color:var(--before_after_handle_color, #fff);--awb-handle-accent-color:#d3d3d3;--awb-handle-transparent-color:#d3d3d3;--awb-font-size:var(--before_after_font_size, inherit);--awb-accent-color:var(--before_after_accent_color, #fff);--awb-handle-bg:var(--before_after_handle_bg, transparent);--awb-accent-color-bg:rgba(255, 255, 255, 0.2);--awb-transition-time:var(--before_after_transition_time, 0.5s);--awb-bordersize:var(--before_after_border_size, 0);--awb-bordercolor:var(--before_after_border_color, currentColor);--awb-borderradius:var(--before_after_border_radius, 0);--awb-element-width:auto;--awb-element-max-width:none;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-image-before-after-wrapper .fusion-image-before-after-element{width:var(--awb-element-width);max-width:var(--awb-element-max-width)}.fusion-image-before-after-wrapper.type-before-after{overflow:hidden}.fusion-image-before-after-wrapper.type-before-after.hover-type-individual .fusion-image-before-after-overlay{pointer-events:none}.fusion-image-before-after-wrapper.type-before-after.hover-type-individual .fusion-image-before-after-after,.fusion-image-before-after-wrapper.type-before-after.hover-type-individual .fusion-image-before-after-before{transition-duration:.5s;transition-property:filter}.fusion-image-before-after-wrapper.type-before-after.hover-type-individual .fusion-image-before-after-before:hover{filter:brightness(50%)}.fusion-image-before-after-wrapper.type-before-after.hover-type-individual .fusion-image-before-after-before:hover~.fusion-image-before-after-overlay .fusion-image-before-after-before-label{opacity:1}.fusion-image-before-after-wrapper.type-before-after.hover-type-individual .fusion-image-before-after-after:hover{filter:brightness(50%)}.fusion-image-before-after-wrapper.type-before-after.hover-type-individual .fusion-image-before-after-after:hover~.fusion-image-before-after-overlay .fusion-image-before-after-after-label{opacity:1}.fusion-image-before-after-wrapper.fusion-image-before-after-vertical .fusion-image-before-after-after-label.before-after-label-out-image-up-down,.fusion-image-before-after-wrapper.fusion-image-before-after-vertical .fusion-image-before-after-before-label.before-after-label-out-image-up-down{text-align:center}.fusion-image-before-after-wrapper.has-alignment{display:flex}.fusion-image-before-after-wrapper.has-alignment .fusion-image-before-after{flex:1}.fusion-image-before-after-wrapper.has-alignment.align-center{justify-content:center}.fusion-image-before-after-wrapper.has-alignment.align-right{justify-content:flex-end}.fusion-image-before-after-wrapper.has-alignment.align-left{justify-content:flex-start}.fusion-image-before-after-horizontal .fusion-image-before-after-handle:before{content:" ";display:block;background:var(--awb-handle-color);position:absolute;z-index:30;width:3px;height:9999px;left:50%;margin-left:-1.5px;bottom:50%;margin-bottom:22px;box-shadow:0 3px 0 var(--awb-handle-color),0 0 12px rgba(51,51,51,.5)}.fusion-image-before-after-horizontal .fusion-image-before-after-handle:after{content:" ";display:block;background:var(--awb-handle-color);position:absolute;z-index:30;width:3px;height:9999px;left:50%;margin-left:-1.5px;top:50%;margin-top:22px;box-shadow:0 -3px 0 var(--awb-handle-color),0 0 12px rgba(51,51,51,.5)}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-rectangle{border-radius:6px;width:15px;height:65px}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-rectangle:before{margin-bottom:36px}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-rectangle:after{margin-top:35px}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-rectangle .fusion-image-before-after-left-arrow{margin:0;transform:translate(-230%,-50%)}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-rectangle .fusion-image-before-after-right-arrow{margin:0;transform:translate(230%,-50%)}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-arrows{border:transparent;box-shadow:none}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-arrows:before{margin-bottom:0}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-arrows:after{margin-top:0}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-arrows .fusion-image-before-after-right-arrow{border-width:9px;border-left-width:9px;margin:0;transform:translate(130%,-50%)}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-arrows .fusion-image-before-after-left-arrow{margin:0;border-width:9px;border-right-width:9px;transform:translate(-130%,-50%)}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond{border:transparent;box-shadow:none}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond:before{margin-bottom:31px}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond:after{margin-top:30px;margin-left:-1.5px}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond .fusion-image-before-after-left-arrow{margin-left:-12px}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond .fusion-image-before-after-left-arrow:before{content:"";width:38px;height:38px;border:3px solid #fff;border-color:var(--awb-handle-color);position:absolute;left:50%;top:50%;border-radius:3px;transform:translate(-36%,-50%) rotate(-45deg);z-index:-1}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond .fusion-image-before-after-right-arrow{margin-right:-12px}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-circle{background:var(--awb-handle-color);border-color:transparent}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-circle:after,.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-circle:before{background:0 0;box-shadow:none}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-circle .fusion-image-before-after-left-arrow{border-right-color:var(--awb-handle-accent-color)}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-circle .fusion-image-before-after-left-arrow:before{content:"";width:42px;height:42px;position:absolute;border:10px solid #d3d3d3;left:50%;top:50%;transform:translate(-32%,-50%);border-radius:100%;border-color:var(--awb-handle-transparent-color)}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-circle .fusion-image-before-after-right-arrow{border-left-color:var(--awb-handle-accent-color)}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-default .fusion-image-before-after-left-arrow{margin:0;transform:translate(-130%,-50%)}.fusion-image-before-after-horizontal .fusion-image-before-after-handle.fusion-image-before-after-handle-default .fusion-image-before-after-right-arrow{margin:0;transform:translate(130%,-50%)}.fusion-image-before-after-horizontal .fusion-image-before-after-before-label:before{top:50%;left:10px;transform:translateY(-50%)}.fusion-image-before-after-horizontal .fusion-image-before-after-after-label:before{top:50%;right:10px;transform:translateY(-50%)}.fusion-image-before-after-horizontal .fusion-image-before-after-overlay.before-after-overlay-image-up-down .fusion-image-before-after-before-label:before{top:0;left:0;margin-top:0;transform:inherit}.fusion-image-before-after-horizontal .fusion-image-before-after-overlay.before-after-overlay-image-up-down .fusion-image-before-after-after-label:before{top:auto;bottom:0;margin-top:0;right:0;transform:inherit}.fusion-image-before-after-vertical .fusion-image-before-after-handle:before{content:" ";display:block;background:var(--awb-handle-color);position:absolute;z-index:30;width:9999px;height:3px;top:50%;margin-top:-1.5px;left:50%;margin-left:22px;box-shadow:3px 0 0 #fff,0 0 12px rgba(51,51,51,.5)}.fusion-image-before-after-vertical .fusion-image-before-after-handle:after{content:" ";display:block;background:var(--awb-handle-color);position:absolute;z-index:30;width:9999px;height:3px;top:50%;margin-top:-1.5px;right:50%;margin-right:22px;box-shadow:-3px 0 0 #fff,0 0 12px rgba(51,51,51,.5)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-rectangle{border-radius:6px;width:65px;height:15px;margin-left:auto;margin-right:auto;left:0;right:0;margin-top:0;transform:translateY(-50%)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-rectangle:before{margin-left:35px}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-rectangle:after{margin-right:35px}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-rectangle .fusion-image-before-after-down-arrow{margin:0;transform:translate(-50%,230%)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-rectangle .fusion-image-before-after-up-arrow{margin:0;transform:translate(-50%,-230%)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-arrows{border:transparent;box-shadow:none}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-arrows:before{margin-left:0}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-arrows:after{margin-right:0}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-arrows .fusion-image-before-after-down-arrow{border-width:9px;border-top-width:9px;margin:0;transform:translate(-50%,130%)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-arrows .fusion-image-before-after-up-arrow{border-width:9px;border-top-width:9px;margin:0;transform:translate(-50%,-130%)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond{border:transparent;box-shadow:none}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond:before{margin-left:29px}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond:after{margin-right:29px}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond .fusion-image-before-after-down-arrow{margin-bottom:-12px}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond .fusion-image-before-after-down-arrow:before{content:"";width:38px;height:38px;border:3px solid var(--awb-handle-color);position:absolute;left:50%;top:50%;border-radius:3px;transform:translate(-50%,-64%) rotate(-45deg);z-index:-1}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-diamond .fusion-image-before-after-up-arrow{margin-top:-12px}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-circle{background:var(--awb-handle-color);border-color:transparent}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-circle:after,.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-circle:before{background:0 0;box-shadow:none}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-circle .fusion-image-before-after-down-arrow{border-top-color:var(--awb-handle-accent-color)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-circle .fusion-image-before-after-down-arrow:before{content:"";width:42px;height:42px;position:absolute;border:10px solid var(--awb-handle-transparent-color);left:50%;top:50%;border-radius:100%;transform:translate(-50%,-67%)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-circle .fusion-image-before-after-up-arrow{border-bottom-color:var(--awb-handle-accent-color)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-square .fusion-image-before-after-down-arrow{margin:0;transform:translate(-50%,130%)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-square .fusion-image-before-after-up-arrow{margin:0;transform:translate(-50%,-130%)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-default .fusion-image-before-after-down-arrow{margin:0;transform:translate(-50%,130%)}.fusion-image-before-after-vertical .fusion-image-before-after-handle.fusion-image-before-after-handle-default .fusion-image-before-after-up-arrow{margin:0;transform:translate(-50%,-130%)}.fusion-image-before-after-vertical .fusion-image-before-after-before-label:before{left:50%;text-align:center;top:10px;transform:translateX(-50%)}.fusion-image-before-after-vertical .fusion-image-before-after-after-label:before{left:50%;text-align:center;bottom:10px;transform:translateX(-50%)}.fusion-image-before-after-vertical .fusion-image-before-after-overlay.before-after-overlay-image-up-down .fusion-image-before-after-before-label:before{left:0;transform:inherit;top:0}.fusion-image-before-after-vertical .fusion-image-before-after-overlay.before-after-overlay-image-up-down .fusion-image-before-after-after-label:before{left:auto;right:0;transform:inherit;bottom:0}.fusion-image-before-after-before-label{position:absolute;top:0;width:100%;height:100%;transition-duration:.5s;transition-property:opacity;opacity:0}.fusion-image-before-after-before-label:before{color:var(--awb-accent-color);letter-spacing:.1em;position:absolute;background:var(--awb-accent-color-bg);line-height:normal;padding:2% 3.8%;border-radius:2px;font-size:var(--awb-font-size);content:attr(data-content)}.fusion-image-before-after-after-label{position:absolute;top:0;width:100%;height:100%;transition-duration:.5s;transition-property:opacity;opacity:0}.fusion-image-before-after-after-label:before{color:var(--awb-accent-color);letter-spacing:.1em;position:absolute;background:var(--awb-accent-color-bg);line-height:normal;padding:2% 3.8%;border-radius:2px;font-size:var(--awb-font-size);content:attr(data-content)}.fusion-image-before-after-after-label.before-after-label-out-image-up-down{text-align:right}.fusion-image-before-after-overlay{position:absolute;top:0;width:100%;height:100%;transition-duration:.5s;transition-property:background;background:0 0;z-index:25}.fusion-image-before-after-overlay:hover{background:rgba(0,0,0,.5)}.fusion-image-before-after-overlay:hover .fusion-image-before-after-after-label{opacity:1}.fusion-image-before-after-overlay:hover .fusion-image-before-after-before-label{opacity:1}.fusion-image-before-after-left-arrow{width:0;height:0;border:6px inset transparent;position:absolute;top:50%;margin-top:-6px;border-right:6px solid var(--awb-handle-color);left:50%;margin-left:-17px}.fusion-image-before-after-left-arrow::before{background:var(--awb-handle-bg)}.fusion-image-before-after-right-arrow{width:0;height:0;border:6px inset transparent;position:absolute;top:50%;margin-top:-6px;border-left:6px solid var(--awb-handle-color);right:50%;margin-right:-17px}.fusion-image-before-after-up-arrow{width:0;height:0;border:6px inset transparent;position:absolute;left:50%;margin-left:-6px;border-bottom:6px solid var(--awb-handle-color);top:50%;margin-top:-17px}.fusion-image-before-after-down-arrow{width:0;height:0;border:6px inset transparent;position:absolute;left:50%;margin-left:-6px;border-top:6px solid var(--awb-handle-color);bottom:50%;margin-bottom:-17px}.fusion-image-before-after-down-arrow::before{background:var(--awb-handle-bg)}.fusion-image-before-after-container{box-sizing:content-box;z-index:0;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.fusion-image-before-after-container img{max-width:100%;position:absolute;top:0;width:100%;display:block}.fusion-image-before-after-container *{box-sizing:content-box}.fusion-image-before-after-container.active .fusion-image-before-after-overlay{background:0 0}.fusion-image-before-after-container.active .fusion-image-before-after-overlay .fusion-image-before-after-before-label{opacity:0}.fusion-image-before-after-container.active .fusion-image-before-after-overlay .fusion-image-before-after-after-label{opacity:0}.fusion-image-before-after-container.active:hover.fusion-image-before-after-overlay{background:0 0}.fusion-image-before-after-container.active:hover.fusion-image-before-after-overlay .fusion-image-before-after-before-label{opacity:0}.fusion-image-before-after-container.active:hover.fusion-image-before-after-overlay .fusion-image-before-after-after-label{opacity:0}.fusion-image-before-after-before{z-index:20}.fusion-image-before-after-after{z-index:10}.fusion-image-before-after-handle{height:38px;width:38px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:3px solid var(--awb-handle-color);border-radius:1000px;box-shadow:0 0 12px rgba(51,51,51,.5);z-index:40;background:var(--awb-handle-bg);cursor:pointer}.fusion-image-before-after-handle.fusion-image-before-after-handle-square{border-radius:0}.fusion-image-before-after-handle.fusion-image-before-after-handle-square .fusion-image-before-after-left-arrow{margin:0;transform:translate(-130%,-50%)}.fusion-image-before-after-handle.fusion-image-before-after-handle-square .fusion-image-before-after-right-arrow{margin:0;transform:translate(130%,-50%)}.fusion-image-before-after-wrapper:not(.fusion-image-switch).initialized{border:var(--awb-bordersize) solid var(--awb-bordercolor);border-radius:var(--awb-borderradius)}.fusion-image-switch{display:inline-block;position:relative}.fusion-image-switch img{transition:var(--awb-transition-time) ease-in-out;border:var(--awb-bordersize) solid var(--awb-bordercolor);border-radius:var(--awb-borderradius)}.fusion-image-switch img:first-child{opacity:1}.fusion-image-switch img:last-child{opacity:0;position:absolute;top:0;left:0}.fusion-image-switch:hover img:first-child{opacity:0}.fusion-image-switch:hover img:last-child{opacity:1}.before-after-label-out-image-up-down{opacity:1;position:relative;padding:0;line-height:normal;visibility:hidden}.before-after-label-out-image-up-down.fusion-image-before-after-before-label{margin-bottom:.5em}.before-after-label-out-image-up-down.fusion-image-before-after-after-label{margin-top:.5em}.before-after-label-out-image-up-down:before{position:static;padding:0;margin:0;letter-spacing:2px;line-height:normal}.before-after-label-out-image-up-down.visible{visibility:visible;height:auto!important}.rtl .fusion-image-before-after-horizontal .fusion-image-before-after-after-label:before{right:auto;left:10px}.rtl .fusion-image-before-after-horizontal .fusion-image-before-after-before-label:before{left:auto;right:10px}.rtl .fusion-image-before-after-after-label.before-after-label-out-image-up-down{text-align:left}.rtl .fusion-image-before-after-wrapper.fusion-image-before-after-horizontal .fusion-image-before-after-overlay.before-after-overlay-image-up-down .fusion-image-before-after-before-label:before{left:auto;right:0}.rtl .fusion-image-before-after-wrapper.fusion-image-before-after-horizontal .fusion-image-before-after-overlay.before-after-overlay-image-up-down .fusion-image-before-after-after-label:before{left:0;right:auto}.rtl .fusion-image-before-after-wrapper.fusion-image-before-after-vertical .fusion-image-before-after-overlay.before-after-overlay-image-up-down .fusion-image-before-after-before-label:before{left:auto;right:0}.rtl .fusion-image-before-after-wrapper.fusion-image-before-after-vertical .fusion-image-before-after-overlay.before-after-overlay-image-up-down .fusion-image-before-after-after-label:before{left:0;right:auto}.awb-carousel{--awb-caption-overlay-color:var(--primary_color)}.fusion-image-carousel{--awb-border-style:solid;--awb-border-width:0;--awb-border-color:var(--awb-color3);--awb-border-radius-top-left:0;--awb-border-radius-top-right:0;--awb-border-radius-bottom-right:0;--awb-border-radius-bottom-left:0;margin-bottom:40px}.fusion-image-carousel .fusion-image-wrapper{border-width:var(--awb-border-width);border-style:var(--awb-border-style);border-color:var(--awb-border-color);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-left) var(--awb-border-radius-bottom-right)}.fusion-carousel-title-below-image .fusion-carousel-meta,.fusion-carousel-title-below-image .fusion-carousel-title{text-align:left}.fusion-carousel-border .awb-carousel{border:none}.fusion-carousel-border .fusion-image-wrapper.hover-type-liftup{box-sizing:content-box}.awb-carousel--marquee .swiper-wrapper{transition-timing-function:linear}.awb-carousel--masked{-webkit-mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent);mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent)}.awb-image-hotspots{--awb-image-max-width:100%;--awb-alignment:initial;--awb-popover-heading-background-color:var(--popover_heading_bg_color, var(--awb-color2));--awb-popover-content-background-color:var(--popover_content_bg_color, var(--awb-color1));--awb-popover-text-color:var(--popover_text_color, var(--awb-color8));--awb-popover-border-color:var(--popover_border_color, var(--awb-color3));--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;display:flex;justify-content:var(--awb-alignment);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.awb-image-hotspots-hotspot{--awb-pos-x:50;--awb-pos-y:50;--awb-font-size:0.925rem;--awb-hotspot-text-color:black;--awb-hotspot-background-color:white;--awb-hotspot-hover-text-color:black;--awb-hotspot-hover-background-color:#e2e2e2;--awb-icon-distance:0;--awb-padding-top:8px;--awb-padding-right:8px;--awb-padding-bottom:8px;--awb-padding-left:8px;--awb-border-radius-top-left:0;--awb-border-radius-top-right:0;--awb-border-radius-bottom-right:0;--awb-border-radius-bottom-left:0;cursor:pointer;position:absolute!important;padding:var(--awb-padding-top) var(--awb-padding-right) var(--awb-padding-bottom) var(--awb-padding-left);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-left) var(--awb-border-radius-bottom-right);background-color:var(--awb-hotspot-background-color);color:var(--awb-hotspot-text-color);font-size:var(--awb-font-size);line-height:1;top:var(--awb-pos-y);left:var(--awb-pos-x);transition:background-color 250ms ease,color 250ms ease}.awb-image-hotspots-hotspot.hover,.awb-image-hotspots-hotspot:focus,.awb-image-hotspots-hotspot:hover{background-color:var(--awb-hotspot-hover-background-color);color:var(--awb-hotspot-hover-text-color)}.awb-image-hotspots-hotspot>i{margin-right:var(--awb-icon-distance)}.rtl .awb-image-hotspots-hotspot>i{margin-right:0;margin-left:var(--awb-icon-distance)}.awb-image-hotspots-wrapper{position:relative;max-width:var(--awb-image-max-width)}.awb-image-hotspots-image{max-width:100%;height:auto}.awb-image-hotspots .popover{background-color:var(--awb-popover-border-color);border-color:var(--awb-popover-border-color)}.awb-image-hotspots .popover .popover-title{background-color:var(--awb-popover-heading-background-color);color:var(--awb-popover-text-color);border-color:var(--awb-popover-border-color)}.awb-image-hotspots .popover .popover-content{background-color:var(--awb-popover-content-background-color);color:var(--awb-popover-text-color);border-color:var(--awb-popover-border-color)}.awb-image-hotspots .popover.bottom .arrow:after{border-bottom-color:var(--awb-popover-heading-background-color)}.awb-image-hotspots .popover.left .arrow:after{border-left-color:var(--awb-popover-content-background-color)}.awb-image-hotspots .popover.right .arrow:after{border-right-color:var(--awb-popover-content-background-color)}.awb-image-hotspots .popover.top .arrow:after{border-top-color:var(--awb-popover-content-background-color)}.awb-image-hotspots-hotspot-anim-pumping{animation:awb-hotspot-pumping 1.2s infinite alternate;animation-timing-function:ease}@keyframes awb-hotspot-pumping{0%{transform:scale(.95)}100%{transform:scale(1.1)}}.awb-image-hotspots-hotspot-anim-pulsating{z-index:1}.awb-image-hotspots-hotspot-anim-pulsating:before{content:"";width:100%;height:100%;top:0;left:0;position:absolute;z-index:-1;opacity:0;animation:awb-hotspot-pulsating 1.9s infinite;background-color:inherit;border-radius:inherit}@keyframes awb-hotspot-pulsating{0%{transform:scale(.7);opacity:1}100%{transform:scale(1.6);opacity:0}}.awb-image-hotspots-hotspot-anim-showing{animation:awb-hotspot-showing 1.5s infinite alternate;animation-timing-function:ease}@keyframes awb-hotspot-showing{0%{opacity:.7}100%{opacity:1}}.awb-image-hotspots-hotspot-anim-pump-showing{animation:awb-hotspot-pump-showing 1.3s infinite alternate;animation-timing-function:ease}@keyframes awb-hotspot-pump-showing{0%{opacity:.8;transform:scale(.95)}100%{opacity:1;transform:scale(1.05)}}.awb-image-hotspots-hotspot-anim-sonar{z-index:1;border-color:var(--awb-hotspot-background-color)}.awb-image-hotspots-hotspot-anim-sonar:focus,.awb-image-hotspots-hotspot-anim-sonar:hover{border-color:var(--awb-hotspot-hover-background-color)}.awb-image-hotspots-hotspot-anim-sonar:after,.awb-image-hotspots-hotspot-anim-sonar:before{content:"";width:100%;height:100%;top:-1px;left:-1px;position:absolute;z-index:-1;opacity:0;animation:awb-hotspot-sonar 2.3s infinite;background-color:transparent;border:1px solid;border-color:inherit;border-radius:inherit}.awb-image-hotspots-hotspot-anim-sonar:after{animation-delay:.6s}@keyframes awb-hotspot-sonar{0%{transform:scale(1);opacity:1}100%{transform:scale(1.4);opacity:0}}.fusion-image-element{--awb-aspect-ratio:1/1;--awb-object-position:50% 50%;--awb-mask-url:"";--awb-mask-size:contain;--awb-mask-position:center;--awb-mask-repeat:no-repeat;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-liftup-border-radius:0;--awb-bottom-shadow-color:rgba(0, 0, 0, 0.4);--awb-caption-margin-top:0;--awb-caption-margin-right:0;--awb-caption-margin-bottom:0;--awb-caption-margin-left:0;--awb-caption-border-color:#fff;--awb-caption-overlay-color:var(--primary_color);--awb-filter:none;--awb-filter-hover:none;--awb-filter-transition:all;--awb-max-width:100%;--awb-sticky-max-width:var(--awb-max-width);--awb-title-text-color:inherit;--awb-caption-text-color:inherit;--awb-caption-text-size:inherit;--awb-caption-text-font-family:var(--body_typography-font-family);--awb-caption-text-font-weight:var(--body_typography-font-weight);--awb-caption-text-font-style:var(--body_typography-font-style);--awb-caption-text-line-height:var(--body_typography-line-height);--awb-caption-text-letter-spacing:var(--body_typography-letter-spacing);--awb-caption-text-transform:inherit;margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left);line-height:1}.awb-image-frame.awb-bottomshadow{display:inline-block;position:relative}.awb-image-frame.awb-bottomshadow svg{position:absolute;top:99.5%;left:0;transition:transform .35s}.awb-image-frame.awb-bottomshadow svg g g path{fill:var(--awb-bottom-shadow-color)}.awb-image-frame.awb-bottomshadow.imageframe-liftup:hover svg{transform:scale(1.03) translateY(15%)}.fusion-imageframe{display:inline-block;z-index:1;overflow:hidden;position:relative;vertical-align:middle;max-width:var(--awb-max-width);line-height:1;filter:var(--awb-filter);transition:var(--awb-filter-transition)}.fusion-imageframe:hover{filter:var(--awb-filter-hover)}.fusion-imageframe img{vertical-align:top;box-shadow:none!important}.fusion-imageframe img.fusion-mobile-logo,.fusion-imageframe img.fusion-sticky-logo{display:none}.fusion-imageframe.hover-type-magnify .has-image-magnify.fusion-lightbox{display:block}.fusion-imageframe.hover-type-magnify .has-image-magnify.fusion-no-lightbox{display:block}.fusion-imageframe.has-mask:not(.wrapper-mask) img{-webkit-mask-image:var(--awb-mask-url);-webkit-mask-size:var(--awb-mask-size);-webkit-mask-position:var(--awb-mask-position);-webkit-mask-repeat:var(--awb-mask-repeat);mask-image:var(--awb-mask-url);mask-size:var(--awb-mask-size);mask-position:var(--awb-mask-position);mask-repeat:var(--awb-mask-repeat)}.fusion-imageframe.has-mask.wrapper-mask{-webkit-mask-image:var(--awb-mask-url);-webkit-mask-size:var(--awb-mask-size);-webkit-mask-position:var(--awb-mask-position);-webkit-mask-repeat:var(--awb-mask-repeat);mask-image:var(--awb-mask-url);mask-size:var(--awb-mask-size);mask-position:var(--awb-mask-position);mask-repeat:var(--awb-mask-repeat)}.fusion-imageframe.has-aspect-ratio{position:relative}.fusion-imageframe.has-aspect-ratio img{aspect-ratio:var(--awb-aspect-ratio);object-position:var(--awb-object-position);object-fit:cover;width:100%}.awb-image-frame.imageframe-liftup:before{border-radius:var(--awb-liftup-border-radius)}.awb-image-frame.imageframe-liftup.hover-with-mask:before{background-image:var(--awb-mask-url);background-size:var(--awb-mask-size);background-position:var(--awb-mask-position);background-repeat:var(--awb-mask-repeat);box-shadow:none;filter:drop-shadow(0 4px 5px #000) opacity(.4)}.awb-imageframe-caption-container .awb-imageframe-caption-title{color:var(--awb-caption-title-color);font-size:var(--awb-caption-title-size);font-family:var(--awb-caption-title-font-family);font-weight:var(--awb-caption-title-font-weight);font-style:var(--awb-caption-title-font-style);line-height:var(--awb-caption-title-line-height);letter-spacing:var(--awb-caption-title-letter-spacing);text-transform:var(--awb-caption-title-transform)}.awb-imageframe-caption-container .awb-imageframe-caption-text{color:var(--awb-caption-text-color);font-size:var(--awb-caption-text-size);font-family:var(--awb-caption-text-font-family);font-weight:var(--awb-caption-text-font-weight);font-style:var(--awb-caption-text-font-style);line-height:var(--awb-caption-text-line-height);letter-spacing:var(--awb-caption-text-letter-spacing);text-transform:var(--awb-caption-text-transform)}.awb-imageframe-style{position:relative}.awb-imageframe-style .awb-imageframe-caption-text,.awb-imageframe-style .awb-imageframe-caption-title{margin:0}.awb-imageframe-style .fusion-masonry-element-container{background-repeat:no-repeat}.awb-imageframe-style-above .awb-imageframe-caption-container,.awb-imageframe-style-below .awb-imageframe-caption-container{margin-top:var(--awb-caption-margin-top);margin-right:var(--awb-caption-margin-right);margin-bottom:var(--awb-caption-margin-bottom);margin-left:var(--awb-caption-margin-left)}.awb-imageframe-style-above .awb-imageframe-caption-container .awb-imageframe-caption-text,.awb-imageframe-style-below .awb-imageframe-caption-container .awb-imageframe-caption-text{margin-top:.5em}.awb-imageframe-style-dany,.awb-imageframe-style-dario,.awb-imageframe-style-navin,.awb-imageframe-style-resa,.awb-imageframe-style-schantel{background-color:var(--awb-caption-overlay-color)}.awb-imageframe-style-dany .awb-imageframe-caption-container,.awb-imageframe-style-dario .awb-imageframe-caption-container,.awb-imageframe-style-navin .awb-imageframe-caption-container,.awb-imageframe-style-resa .awb-imageframe-caption-container,.awb-imageframe-style-schantel .awb-imageframe-caption-container{padding:2em;color:#fff;text-transform:uppercase;font-size:1rem;backface-visibility:hidden;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center}.awb-imageframe-style-dany .awb-imageframe-caption-container:after,.awb-imageframe-style-dany .awb-imageframe-caption-container:before,.awb-imageframe-style-dario .awb-imageframe-caption-container:after,.awb-imageframe-style-dario .awb-imageframe-caption-container:before,.awb-imageframe-style-navin .awb-imageframe-caption-container:after,.awb-imageframe-style-navin .awb-imageframe-caption-container:before,.awb-imageframe-style-resa .awb-imageframe-caption-container:after,.awb-imageframe-style-resa .awb-imageframe-caption-container:before,.awb-imageframe-style-schantel .awb-imageframe-caption-container:after,.awb-imageframe-style-schantel .awb-imageframe-caption-container:before{pointer-events:none}.awb-imageframe-style-dany img,.awb-imageframe-style-dario img,.awb-imageframe-style-navin img,.awb-imageframe-style-resa img,.awb-imageframe-style-schantel img{position:relative;display:block;min-height:100%;max-width:100%;opacity:.8}.awb-imageframe-style-dany .fusion-masonry-element-container,.awb-imageframe-style-dario .fusion-masonry-element-container,.awb-imageframe-style-navin .fusion-masonry-element-container,.awb-imageframe-style-resa .fusion-masonry-element-container,.awb-imageframe-style-schantel .fusion-masonry-element-container{opacity:.8}.awb-imageframe-style-navin img{max-width:none;width:calc(100% + 50px)!important;opacity:.7;transition:opacity .35s,transform .35s;transform:translate3d(-40px,0,0)}.rtl .awb-imageframe-style-navin img{transform:translate3d(40px,0,0)}.awb-imageframe-style-navin.has-aspect-ratio img{width:calc(100% + 50px)}.awb-imageframe-style-navin .fusion-masonry-element-container{transition:opacity .35s,background-position .35s;background-position-x:-40px;width:calc(100% + 50px)}.awb-imageframe-style-navin .awb-imageframe-caption{position:absolute;bottom:0;left:0;padding:2em 2em 4em 2em;width:100%;text-align:left}.awb-imageframe-style-navin .awb-imageframe-caption .awb-imageframe-caption-text,.awb-imageframe-style-navin .awb-imageframe-caption .awb-imageframe-caption-title{transform:translate3d(0,100%,0)}.awb-imageframe-style-navin .awb-imageframe-caption .awb-imageframe-caption-title{transition:transform .35s}.awb-imageframe-style-navin .awb-imageframe-caption .awb-imageframe-caption-text{color:var(--awb-caption-text-color,rgba(255,255,255,.8));opacity:0;transition:opacity .2s,transform .35s}.awb-imageframe-style-navin:hover .awb-imageframe-caption-text,.awb-imageframe-style-navin:hover .fusion-masonry-element-container,.awb-imageframe-style-navin:hover img{opacity:1}.awb-imageframe-style-navin:hover .fusion-masonry-element-container{background-position-x:0}.awb-imageframe-style-navin:hover .awb-imageframe-caption-text,.awb-imageframe-style-navin:hover .awb-imageframe-caption-title,.awb-imageframe-style-navin:hover img{transform:translate3d(0,0,0)}.awb-imageframe-style-navin:hover .awb-imageframe-caption-text{transition-delay:50ms;transition-duration:.35s}.awb-imageframe-style-dario img{max-width:none;width:calc(100% + 20px);transition:opacity .35s,transform .35s;transform:translate3d(-10px,0,0);backface-visibility:hidden}.rtl .awb-imageframe-style-dario img{transform:translate3d(10px,0,0)}.awb-imageframe-style-dario.has-aspect-ratio img{width:calc(100% + 20px)}.awb-imageframe-style-dario .fusion-masonry-element-container{transition:opacity .35s,background-position .35s;background-position-x:-10px;width:calc(100% + 20px)}.awb-imageframe-style-dario:hover img{opacity:.4;transform:translate3d(0,0,0)}.awb-imageframe-style-dario:hover .fusion-masonry-element-container{opacity:.4;background-position-x:0}.awb-imageframe-style-dario:hover .awb-imageframe-caption .awb-imageframe-caption-title:after{transform:translate3d(0,0,0)}.awb-imageframe-style-dario:hover .awb-imageframe-caption .awb-imageframe-caption-text{opacity:1;transform:translate3d(0,0,0)}.awb-imageframe-style-dario .awb-imageframe-caption{text-align:left}.awb-imageframe-style-dario .awb-imageframe-caption .awb-imageframe-caption-title{position:relative;overflow:hidden;padding:.5em 0;opacity:.99}.awb-imageframe-style-dario .awb-imageframe-caption .awb-imageframe-caption-title:after{position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--awb-caption-border-color,var(--awb-color1));content:"";transition:transform .35s;transform:translate3d(-100%,0,0)}.awb-imageframe-style-dario .awb-imageframe-caption .awb-imageframe-caption-text{padding:1em 0;opacity:0;transition:opacity .35s,transform .35s;transform:translate3d(100%,0,0)}.awb-imageframe-style-resa .fusion-masonry-element-container,.awb-imageframe-style-resa img{opacity:.7;transition:opacity .35s}.awb-imageframe-style-resa:hover .fusion-masonry-element-container,.awb-imageframe-style-resa:hover img{opacity:.4}.awb-imageframe-style-resa:hover .awb-imageframe-caption-container:after,.awb-imageframe-style-resa:hover .awb-imageframe-caption-container:before{opacity:1;transform:scale(1)}.awb-imageframe-style-resa:hover .awb-imageframe-caption-container .awb-imageframe-caption-text,.awb-imageframe-style-resa:hover .awb-imageframe-caption-container .awb-imageframe-caption-title{margin:0;opacity:1;transform:translate3d(0,0,0)}.awb-imageframe-style-resa:hover .awb-imageframe-caption-container .awb-imageframe-caption-title{padding:0 0 .5em 0}.awb-imageframe-style-resa .awb-imageframe-caption-container:after,.awb-imageframe-style-resa .awb-imageframe-caption-container:before{position:absolute;top:30px;right:30px;bottom:30px;left:30px;content:"";opacity:0;transition:opacity .35s,transform .35s}.awb-imageframe-style-resa .awb-imageframe-caption-container:before{border-top:1px solid var(--awb-caption-border-color,var(--awb-color1));border-bottom:1px solid var(--awb-caption-border-color,var(--awb-color1));transform:scale(0,1)}.awb-imageframe-style-resa .awb-imageframe-caption-container:after{border-right:1px solid var(--awb-caption-border-color,var(--awb-color1));border-left:1px solid var(--awb-caption-border-color,var(--awb-color1));transform:scale(1,0)}.awb-imageframe-style-resa .awb-imageframe-caption-container .awb-imageframe-caption-title{padding:0;transition:padding .25s ease-in-out}.awb-imageframe-style-resa .awb-imageframe-caption-container .awb-imageframe-caption-text{margin-top:-1em;padding:0;opacity:0;transform:translate3d(0,100px,0);transition:opacity .35s,transform .35s,margin .35s ease-in-out}.awb-imageframe-style-resa .awb-imageframe-caption-container .awb-imageframe-caption-text,.awb-imageframe-style-resa .awb-imageframe-caption-container .awb-imageframe-caption-title{text-align:center}.awb-imageframe-style-resa .awb-imageframe-caption{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:0 2em}.awb-imageframe-style-schantel .fusion-masonry-element-container,.awb-imageframe-style-schantel img{transition:opacity 1s,transform 1s}.awb-imageframe-style-schantel .awb-imageframe-caption-container{text-align:left}.awb-imageframe-style-schantel .awb-imageframe-caption-container .awb-imageframe-caption-title{position:relative;padding:.5em 0}.awb-imageframe-style-schantel .awb-imageframe-caption-container .awb-imageframe-caption-text{display:inline-block;margin:0 0 .25em;padding:.4em 1em;color:var(--awb-caption-text-color,#2f3238);text-transform:none;font-weight:500;transition:opacity .35s,transform .35s;transform:translate3d(calc(-100% - 100%),0,0);background-color:var(--awb-caption-background-color,rgba(255,255,255,.9))}.awb-imageframe-style-schantel .awb-imageframe-caption-container .awb-imageframe-caption-text:first-child{transition-delay:0.15s}.awb-imageframe-style-schantel .awb-imageframe-caption-container .awb-imageframe-caption-text:nth-of-type(2){transition-delay:0.1s}.awb-imageframe-style-schantel .awb-imageframe-caption-container .awb-imageframe-caption-text:nth-of-type(3){transition-delay:50ms}.awb-imageframe-style-schantel:hover .awb-imageframe-caption-text{opacity:1;transform:translate3d(0,0,0)}.awb-imageframe-style-schantel:hover .awb-imageframe-caption-text:first-child{transition-delay:0s}.awb-imageframe-style-schantel:hover .awb-imageframe-caption-text:nth-of-type(2){transition-delay:50ms}.awb-imageframe-style-schantel:hover .awb-imageframe-caption-text:nth-of-type(3){transition-delay:0.1s}.awb-imageframe-style-schantel:hover .fusion-masonry-element-container,.awb-imageframe-style-schantel:hover img{opacity:.4;transform:scale3d(1.1,1.1,1)}.awb-imageframe-style-dany img{transition:transform .35s;backface-visibility:hidden}.awb-imageframe-style-dany .fusion-masonry-element-container{transition:background-position .35s}.awb-imageframe-style-dany .awb-imageframe-caption-container{text-align:left;padding:0}.awb-imageframe-style-dany .awb-imageframe-caption-container .awb-imageframe-caption-title{padding:1.66666667em}.awb-imageframe-style-dany .awb-imageframe-caption-container .awb-imageframe-caption-text{line-height:0;opacity:0;padding:0 1.66666667em;transition:line-height .35s ease,padding .35s,margin .35s ease,opacity .35s;background-color:var(--awb-caption-background-color,var(--awb-caption-overlay-color))}.awb-imageframe-style-dany .awb-imageframe-caption{display:flex;flex-direction:column;height:100%;justify-content:flex-end}.awb-imageframe-style-dany:hover img{transform:translate3d(0,-60px,0)}.awb-imageframe-style-dany:hover .awb-imageframe-caption-container .awb-imageframe-caption-text{line-height:inherit;opacity:1;padding:1.66666667em 1.66666667em;transition:line-height .35s ease,padding .35s,margin .35s ease}.awb-imageframe-style-dany:hover .fusion-masonry-element-container{background-position-y:-74px}.fusion-sticky-container.fusion-sticky-transition .fusion-imageframe{max-width:var(--awb-sticky-max-width)}.fusion-tb-header .fusion-sticky-container.fusion-sticky-transition .fusion-imageframe.has-fusion-sticky-logo img.fusion-mobile-logo,.fusion-tb-header .fusion-sticky-container.fusion-sticky-transition .fusion-imageframe.has-fusion-sticky-logo img.fusion-standard-logo{display:none}.fusion-tb-header .fusion-sticky-container.fusion-sticky-transition .fusion-imageframe.has-fusion-sticky-logo img.fusion-sticky-logo{display:inline-block}.imageframe-align-center{text-align:center}.fusion-lottie{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-width:auto;--awb-max-width:none;--awb-filter:none;--awb-filter-hover:none;--awb-filter-transition:all;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);filter:var(--awb-filter);transition:var(--awb-filter-transition)}.fusion-lottie:hover{filter:var(--awb-filter-hover)}.fusion-lottie-animation{width:var(--awb-width);max-width:var(--awb-max-width);display:block}lottie-player{width:100%;height:auto}.awb-menu,.awb-submenu{--awb-font-size:16px;--awb-margin-top:0px;--awb-margin-bottom:0px;--awb-transition-time:300;--awb-align-item:stretch;--awb-justify-content:flex-start;--awb-fusion-font-family-typography:inherit;--awb-fusion-font-style-typography:inherit;--awb-fusion-font-weight-typography:400;--awb-text-transform:none;--awb-min-height:4em;--awb-gap:0px;--awb-bg:rgba(0, 0, 0, 0);--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-left:0px;--awb-border-radius-bottom-right:0px;--awb-color:#212934;--awb-line-height:var(--body_typography-line-height);--awb-letter-spacing:var(--body_typography-letter-spacing);--awb-items-padding-top:0px;--awb-items-padding-right:0px;--awb-items-padding-bottom:0px;--awb-items-padding-left:0px;--awb-border-top:0px;--awb-border-right:0px;--awb-border-bottom:0px;--awb-border-left:0px;--awb-border-color:rgba(0, 0, 0, 0);--awb-active-bg:rgba(0, 0, 0, 0);--awb-active-border-top:0px;--awb-active-border-right:0px;--awb-active-border-bottom:0px;--awb-active-border-left:0px;--awb-active-border-color:rgba(0, 0, 0, 0);--awb-active-color:#65bc7b;--awb-submenu-items-padding-top:12px;--awb-submenu-items-padding-right:20px;--awb-submenu-items-padding-bottom:12px;--awb-submenu-items-padding-left:20px;--awb-submenu-font-size:14px;--awb-submenu-text-transform:none;--awb-box-shadow:none;--awb-submenu-border-radius-top-left:0px;--awb-submenu-border-radius-top-right:0px;--awb-submenu-border-radius-bottom-left:0px;--awb-submenu-border-radius-bottom-right:0px;--awb-submenu-space:0px;--awb-submenu-max-width:100%;--awb-submenu-sep-color:#e2e2e2;--awb-submenu-bg:#fff;--awb-sub-justify-content:space-between;--awb-submenu-color:#212934;--awb-fusion-font-family-submenu-typography:inherit;--awb-fusion-font-style-submenu-typography:inherit;--awb-fusion-font-weight-submenu-typography:400;--awb-submenu-line-height:inherit;--awb-submenu-letter-spacing:inherit;--awb-submenu-active-bg:#f9f9fb;--awb-submenu-active-color:#212934;--awb-icons-size:16;--awb-icons-color:#212934;--awb-icons-hover-color:var(--awb-active-color);--awb-thumbnail-size-width:26px;--awb-thumbnail-size-width:14px}.awb-menu{margin-top:var(--awb-margin-top);margin-bottom:var(--awb-margin-bottom);width:100%;opacity:1;transition:opacity calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);font-size:var(--awb-font-size)}.awb-menu_loading{opacity:0}.awb-menu .awb-menu__main-ul{font-size:var(--awb-font-size)}.awb-menu__main-ul{display:flex;flex-wrap:wrap;list-style:none;align-items:var(--awb-align-items);justify-content:var(--awb-justify-content);padding:0;font-family:var(--awb-fusion-font-family-typography);font-style:var(--awb-fusion-font-style-typography);font-weight:var(--awb-fusion-font-weight-typography);text-transform:var(--awb-text-transform);margin-block-start:0;margin-block-end:0;min-height:var(--awb-min-height);position:relative;transition:min-height calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.fusion-sticky-container.fusion-sticky-transition .awb-menu__main-ul{min-height:var(--awb-sticky-min-height,var(--awb-min-height))}.awb-menu__main-ul_row{flex-direction:row}.awb-menu__main-li{position:relative;display:flex;justify-content:center;margin-left:calc(var(--awb-gap)/ 2);margin-right:calc(var(--awb-gap)/ 2);line-height:var(--awb-line-height, inherit);letter-spacing:var(--awb-letter-spacing)}.awb-menu__main-li>*{z-index:10}.awb-menu__main-li:first-child{margin-inline-start:0}.awb-menu__main-li:last-child{margin-inline-end:0}.awb-menu__main-li_regular{background-color:var(--awb-bg);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-right) var(--awb-border-radius-bottom-left)}.awb-menu__main-a{color:var(--awb-color)!important;display:flex;align-items:center;justify-content:center;width:100%;transition:color calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1),background-color calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu__open-nav-submenu_click{color:var(--awb-color)}.awb-menu__main-a_regular{padding-top:calc(var(--awb-items-padding-top) + var(--awb-border-top));padding-right:calc(var(--awb-items-padding-right) + var(--awb-border-right));padding-bottom:calc(var(--awb-items-padding-bottom) + var(--awb-border-bottom));padding-left:calc(var(--awb-items-padding-left) + var(--awb-border-left))}.awb-menu__main-background-active,.awb-menu__main-background-default{position:absolute;top:0;width:100%;height:100%;z-index:1;background-color:var(--awb-bg);border-top-width:var(--awb-border-top);border-right-width:var(--awb-border-right);border-bottom-width:var(--awb-border-bottom);border-left-width:var(--awb-border-left);border-color:var(--awb-border-color);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-right) var(--awb-border-radius-bottom-left);border-style:solid;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu__main-background-active_fade,.awb-menu__main-background-default_fade{left:0;opacity:1;transition-property:opacity}.awb-menu__main-background-active_left,.awb-menu__main-background-default_left{left:0;opacity:1;width:100%}.awb-menu__main-background-active_right,.awb-menu__main-background-default_right{right:0;opacity:1;width:100%}.awb-menu__main-background-active_center,.awb-menu__main-background-default_center{transform:scaleX(1)}.awb-menu__main-background-active{background-color:var(--awb-active-bg);border-top-width:var(--awb-active-border-top);border-right-width:var(--awb-active-border-right);border-bottom-width:var(--awb-active-border-bottom);border-left-width:var(--awb-active-border-left);border-color:var(--awb-active-border-color)}.awb-menu__main-background-active_fade,.awb-menu__main-background-active_left,.awb-menu__main-background-active_right{opacity:0}.awb-menu__main-background-active_left{width:0;left:0}.awb-menu__main-background-active_right{width:0;right:0}.awb-menu__main-background-active_center{transform:scaleX(0)}.awb-menu__main-background-active_center-vertical{bottom:0;left:0;right:0;top:0;transform:scaleY(0)}.awb-menu__main-background-active_bottom-vertical{height:auto;bottom:0;top:100%;opacity:0}.awb-menu__main-background-active_top-vertical{height:auto;bottom:100%;top:0;opacity:0}.awb-menu__main-background-active_center-grow{top:50%;left:50%;opacity:0;transform:translateX(-50%) translateY(-50%) scale(0)}.awb-menu__open-nav-submenu{padding-bottom:calc(var(--awb-items-padding-bottom) + var(--awb-border-bottom))}.awb-menu__description{transition-duration:inherit;line-height:1;font-family:var(--body_typography-font-family);font-style:var(--body_typography-font-style);font-weight:var(--body_typography-font-weight);letter-spacing:var(--body_typography-letter-spacing);display:block;font-size:.8em}.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-a_regular,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-a_regular,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-a_regular,.awb-menu__main-li_regular.expanded .awb-menu__main-a_regular,.awb-menu__main-li_regular.hover .awb-menu__main-a_regular,.awb-menu__main-li_regular:active .awb-menu__main-a_regular,.awb-menu__main-li_regular:focus .awb-menu__main-a_regular,.awb-menu__main-li_regular:focus-within .awb-menu__main-a_regular,.awb-menu__main-li_regular:hover .awb-menu__main-a_regular{color:var(--awb-active-color)!important;padding-top:calc(var(--awb-items-padding-top) + var(--awb-active-border-top));padding-right:calc(var(--awb-items-padding-right) + var(--awb-active-border-right));padding-bottom:calc(var(--awb-items-padding-bottom) + var(--awb-active-border-bottom));padding-left:calc(var(--awb-items-padding-left) + var(--awb-active-border-left))}.awb-menu__main-li_regular.current-menu-ancestor>.awb-menu__open-nav-submenu-hover,.awb-menu__main-li_regular.current-menu-ancestor>.awb-menu__open-nav-submenu_click,.awb-menu__main-li_regular.current-menu-item>.awb-menu__open-nav-submenu-hover,.awb-menu__main-li_regular.current-menu-item>.awb-menu__open-nav-submenu_click,.awb-menu__main-li_regular.current-menu-parent>.awb-menu__open-nav-submenu-hover,.awb-menu__main-li_regular.current-menu-parent>.awb-menu__open-nav-submenu_click,.awb-menu__main-li_regular.expanded>.awb-menu__open-nav-submenu-hover,.awb-menu__main-li_regular.expanded>.awb-menu__open-nav-submenu_click,.awb-menu__main-li_regular.hover>.awb-menu__open-nav-submenu-hover,.awb-menu__main-li_regular.hover>.awb-menu__open-nav-submenu_click,.awb-menu__main-li_regular:active>.awb-menu__open-nav-submenu-hover,.awb-menu__main-li_regular:active>.awb-menu__open-nav-submenu_click,.awb-menu__main-li_regular:focus-within>.awb-menu__open-nav-submenu-hover,.awb-menu__main-li_regular:focus-within>.awb-menu__open-nav-submenu_click,.awb-menu__main-li_regular:focus>.awb-menu__open-nav-submenu-hover,.awb-menu__main-li_regular:focus>.awb-menu__open-nav-submenu_click,.awb-menu__main-li_regular:hover>.awb-menu__open-nav-submenu-hover,.awb-menu__main-li_regular:hover>.awb-menu__open-nav-submenu_click{color:var(--awb-active-color)!important;padding-top:calc(var(--awb-items-padding-top) + var(--awb-active-border-top));padding-bottom:calc(var(--awb-items-padding-bottom) + var(--awb-active-border-bottom))}.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-default_fade,.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-default_left,.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-default_right,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-default_fade,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-default_left,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-default_right,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-default_fade,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-default_left,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-default_right,.awb-menu__main-li_regular.expanded .awb-menu__main-background-default_fade,.awb-menu__main-li_regular.expanded .awb-menu__main-background-default_left,.awb-menu__main-li_regular.expanded .awb-menu__main-background-default_right,.awb-menu__main-li_regular.hover .awb-menu__main-background-default_fade,.awb-menu__main-li_regular.hover .awb-menu__main-background-default_left,.awb-menu__main-li_regular.hover .awb-menu__main-background-default_right,.awb-menu__main-li_regular:active .awb-menu__main-background-default_fade,.awb-menu__main-li_regular:active .awb-menu__main-background-default_left,.awb-menu__main-li_regular:active .awb-menu__main-background-default_right,.awb-menu__main-li_regular:focus .awb-menu__main-background-default_fade,.awb-menu__main-li_regular:focus .awb-menu__main-background-default_left,.awb-menu__main-li_regular:focus .awb-menu__main-background-default_right,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-default_fade,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-default_left,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-default_right,.awb-menu__main-li_regular:hover .awb-menu__main-background-default_fade,.awb-menu__main-li_regular:hover .awb-menu__main-background-default_left,.awb-menu__main-li_regular:hover .awb-menu__main-background-default_right{opacity:0}.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-default_left,.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-default_right,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-default_left,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-default_right,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-default_left,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-default_right,.awb-menu__main-li_regular.expanded .awb-menu__main-background-default_left,.awb-menu__main-li_regular.expanded .awb-menu__main-background-default_right,.awb-menu__main-li_regular.hover .awb-menu__main-background-default_left,.awb-menu__main-li_regular.hover .awb-menu__main-background-default_right,.awb-menu__main-li_regular:active .awb-menu__main-background-default_left,.awb-menu__main-li_regular:active .awb-menu__main-background-default_right,.awb-menu__main-li_regular:focus .awb-menu__main-background-default_left,.awb-menu__main-li_regular:focus .awb-menu__main-background-default_right,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-default_left,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-default_right,.awb-menu__main-li_regular:hover .awb-menu__main-background-default_left,.awb-menu__main-li_regular:hover .awb-menu__main-background-default_right{width:0}.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-default_center,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-default_center,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-default_center,.awb-menu__main-li_regular.expanded .awb-menu__main-background-default_center,.awb-menu__main-li_regular.hover .awb-menu__main-background-default_center,.awb-menu__main-li_regular:active .awb-menu__main-background-default_center,.awb-menu__main-li_regular:focus .awb-menu__main-background-default_center,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-default_center,.awb-menu__main-li_regular:hover .awb-menu__main-background-default_center{transform:scaleX(0)}.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-active_fade,.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-active_left,.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-active_right,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-active_fade,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-active_left,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-active_right,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-active_fade,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-active_left,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-active_right,.awb-menu__main-li_regular.expanded .awb-menu__main-background-active_fade,.awb-menu__main-li_regular.expanded .awb-menu__main-background-active_left,.awb-menu__main-li_regular.expanded .awb-menu__main-background-active_right,.awb-menu__main-li_regular.hover .awb-menu__main-background-active_fade,.awb-menu__main-li_regular.hover .awb-menu__main-background-active_left,.awb-menu__main-li_regular.hover .awb-menu__main-background-active_right,.awb-menu__main-li_regular:active .awb-menu__main-background-active_fade,.awb-menu__main-li_regular:active .awb-menu__main-background-active_left,.awb-menu__main-li_regular:active .awb-menu__main-background-active_right,.awb-menu__main-li_regular:focus .awb-menu__main-background-active_fade,.awb-menu__main-li_regular:focus .awb-menu__main-background-active_left,.awb-menu__main-li_regular:focus .awb-menu__main-background-active_right,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-active_fade,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-active_left,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-active_right,.awb-menu__main-li_regular:hover .awb-menu__main-background-active_fade,.awb-menu__main-li_regular:hover .awb-menu__main-background-active_left,.awb-menu__main-li_regular:hover .awb-menu__main-background-active_right{opacity:1}.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-active_left,.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-active_right,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-active_left,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-active_right,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-active_left,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-active_right,.awb-menu__main-li_regular.expanded .awb-menu__main-background-active_left,.awb-menu__main-li_regular.expanded .awb-menu__main-background-active_right,.awb-menu__main-li_regular.hover .awb-menu__main-background-active_left,.awb-menu__main-li_regular.hover .awb-menu__main-background-active_right,.awb-menu__main-li_regular:active .awb-menu__main-background-active_left,.awb-menu__main-li_regular:active .awb-menu__main-background-active_right,.awb-menu__main-li_regular:focus .awb-menu__main-background-active_left,.awb-menu__main-li_regular:focus .awb-menu__main-background-active_right,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-active_left,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-active_right,.awb-menu__main-li_regular:hover .awb-menu__main-background-active_left,.awb-menu__main-li_regular:hover .awb-menu__main-background-active_right{width:100%}.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-active_center-vertical,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-active_center-vertical,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-active_center-vertical,.awb-menu__main-li_regular.expanded .awb-menu__main-background-active_center-vertical,.awb-menu__main-li_regular.hover .awb-menu__main-background-active_center-vertical,.awb-menu__main-li_regular:active .awb-menu__main-background-active_center-vertical,.awb-menu__main-li_regular:focus .awb-menu__main-background-active_center-vertical,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-active_center-vertical,.awb-menu__main-li_regular:hover .awb-menu__main-background-active_center-vertical{transform:scaleY(1)}.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-active_bottom-vertical,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-active_bottom-vertical,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-active_bottom-vertical,.awb-menu__main-li_regular.expanded .awb-menu__main-background-active_bottom-vertical,.awb-menu__main-li_regular.hover .awb-menu__main-background-active_bottom-vertical,.awb-menu__main-li_regular:active .awb-menu__main-background-active_bottom-vertical,.awb-menu__main-li_regular:focus .awb-menu__main-background-active_bottom-vertical,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-active_bottom-vertical,.awb-menu__main-li_regular:hover .awb-menu__main-background-active_bottom-vertical{top:0;opacity:1}.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-active_top-vertical,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-active_top-vertical,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-active_top-vertical,.awb-menu__main-li_regular.expanded .awb-menu__main-background-active_top-vertical,.awb-menu__main-li_regular.hover .awb-menu__main-background-active_top-vertical,.awb-menu__main-li_regular:active .awb-menu__main-background-active_top-vertical,.awb-menu__main-li_regular:focus .awb-menu__main-background-active_top-vertical,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-active_top-vertical,.awb-menu__main-li_regular:hover .awb-menu__main-background-active_top-vertical{bottom:0;opacity:1}.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-active_center-grow,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-active_center-grow,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-active_center-grow,.awb-menu__main-li_regular.expanded .awb-menu__main-background-active_center-grow,.awb-menu__main-li_regular.hover .awb-menu__main-background-active_center-grow,.awb-menu__main-li_regular:active .awb-menu__main-background-active_center-grow,.awb-menu__main-li_regular:focus .awb-menu__main-background-active_center-grow,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-active_center-grow,.awb-menu__main-li_regular:hover .awb-menu__main-background-active_center-grow{opacity:1;transform:translateX(-50%) translateY(-50%) scale(1)}.awb-menu__main-li_regular.current-menu-ancestor .awb-menu__main-background-active_center,.awb-menu__main-li_regular.current-menu-item .awb-menu__main-background-active_center,.awb-menu__main-li_regular.current-menu-parent .awb-menu__main-background-active_center,.awb-menu__main-li_regular.expanded .awb-menu__main-background-active_center,.awb-menu__main-li_regular.hover .awb-menu__main-background-active_center,.awb-menu__main-li_regular:active .awb-menu__main-background-active_center,.awb-menu__main-li_regular:focus .awb-menu__main-background-active_center,.awb-menu__main-li_regular:focus-within .awb-menu__main-background-active_center,.awb-menu__main-li_regular:hover .awb-menu__main-background-active_center{transform:scaleX(1)}.awb-menu__open-nav-submenu-hover,.awb-menu__open-nav-submenu_click,.awb-menu__open-nav-submenu_mobile{display:none;justify-content:center;align-items:center;background:0 0;border:0;box-shadow:none;box-sizing:border-box;padding:0;cursor:pointer;font-size:var(--awb-font-size)}.awb-menu__open-nav-submenu-hover:focus,.awb-menu__open-nav-submenu_click:focus,.awb-menu__open-nav-submenu_mobile:focus{outline:revert}.awb-menu__open-nav-submenu-hover:before,.awb-menu__open-nav-submenu_click:before,.awb-menu__open-nav-submenu_mobile:before{content:"\f107";font-family:awb-icons;line-height:1}.awb-menu__open-nav-submenu-hover{transition:none}.awb-menu__open-nav-submenu_click{transition:color calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu__open-nav-submenu_mobile{box-sizing:content-box}.awb-menu__open-nav-submenu-hover{padding-inline-start:0.5em}.awb-menu__open-nav-submenu_click.awb-menu__open-nav-submenu_main{padding-inline-end:var(--awb-items-padding-left)}.awb-menu__open-nav-submenu_click.awb-menu__open-nav-submenu_sub{padding-inline-end:var(--awb-submenu-items-padding-left)}.awb-menu__open-nav-submenu_needs-spacing.awb-menu__open-nav-submenu_click.awb-menu__open-nav-submenu_main{padding-inline-start:0.5em}.awb-menu_dc-yes.awb-menu_em-click .awb-menu__open-nav-submenu_click{display:flex}.awb-menu_dc-yes.awb-menu_em-hover .awb-menu__open-nav-submenu-hover{display:flex}.awb-menu__main-a_icon-only .awb-menu__i_main{padding-left:0!important;padding-right:0!important}.awb-menu_desktop .menu-text_no-desktop,.awb-menu_desktop .menu-title_no-desktop{display:none!important}.awb-menu__highlight{padding:.35em .55em;line-height:1;margin-inline-start:.75em;font-size:.7em;border:.1em solid transparent;border-radius:var(--main_nav_highlight_radius)}.awb-menu__sub-ul{margin:0;list-style:none;padding:0}.awb-menu__sub-ul{font-size:var(--awb-submenu-font-size);text-transform:var(--awb-submenu-text-transform);border-top-left-radius:var(--awb-submenu-border-radius-top-left);border-top-right-radius:var(--awb-submenu-border-radius-top-right);border-bottom-left-radius:var(--awb-submenu-border-radius-bottom-left);border-bottom-right-radius:var(--awb-submenu-border-radius-bottom-right)}.awb-menu_dropdown .awb-menu__sub-ul{z-index:-10;flex-direction:column;display:table;visibility:hidden;opacity:0;position:absolute;box-shadow:var(--awb-box-shadow);transition:opacity calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);top:100%;width:max-content}.awb-menu_dropdown.awb-menu_row .awb-menu__sub-ul_main{margin-top:var(--awb-submenu-space)}.awb-menu__sub-ul .awb-menu__open-nav-submenu_click:before{padding-left:var(--awb-submenu-items-padding-left);padding-right:var(--awb-submenu-items-padding-right)}.awb-menu__sub-li{width:var(--awb-submenu-max-width);border-bottom:1px solid var(--awb-submenu-sep-color);background-color:var(--awb-submenu-bg);transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);position:relative}.awb-menu__sub-li:first-child{border-top-left-radius:var(--awb-submenu-border-radius-top-left);border-top-right-radius:var(--awb-submenu-border-radius-top-right)}.awb-menu__sub-li:last-child{border-bottom-width:0;border-bottom-left-radius:var(--awb-submenu-border-radius-bottom-left);border-bottom-right-radius:var(--awb-submenu-border-radius-bottom-right)}.awb-menu__sub-a{display:flex;justify-content:var(--awb-sub-justify-content);align-items:center;color:var(--awb-submenu-color)!important;padding-top:var(--awb-submenu-items-padding-top);padding-bottom:var(--awb-submenu-items-padding-bottom);padding-left:var(--awb-submenu-items-padding-left);padding-right:var(--awb-submenu-items-padding-right);font-family:var(--awb-fusion-font-family-submenu-typography);font-weight:var(--awb-fusion-font-weight-submenu-typography);font-style:var(--awb-fusion-font-style-submenu-typography);width:100%;font-size:var(--awb-submenu-font-size);text-transform:var(--awb-submenu-text-transform);line-height:var(--awb-submenu-line-height);letter-spacing:var(--awb-submenu-letter-spacing)}.awb-menu__sub-li .awb-menu__open-nav-submenu_click{color:var(--awb-submenu-color)}.awb-menu__sub-a,.awb-menu__sub-a:hover{transition:inherit}.awb-menu__sub-li.current-menu-item,.awb-menu__sub-li.expanded,.awb-menu__sub-li.hover,.awb-menu__sub-li:focus-within,.awb-menu__sub-li:hover{background-color:var(--awb-submenu-active-bg)}.awb-menu__sub-li.current-menu-item>.awb-menu__open-nav-submenu_click,.awb-menu__sub-li.current-menu-item>.awb-menu__sub-a,.awb-menu__sub-li.expanded>.awb-menu__open-nav-submenu_click,.awb-menu__sub-li.expanded>.awb-menu__sub-a,.awb-menu__sub-li.hover>.awb-menu__open-nav-submenu_click,.awb-menu__sub-li.hover>.awb-menu__sub-a,.awb-menu__sub-li:focus-within>.awb-menu__open-nav-submenu_click,.awb-menu__sub-li:focus-within>.awb-menu__sub-a,.awb-menu__sub-li:hover>.awb-menu__open-nav-submenu_click,.awb-menu__sub-li:hover>.awb-menu__sub-a{color:var(--awb-submenu-active-color)!important}.awb-menu_em-click .awb-menu__open-nav-submenu_click[aria-expanded=true]~.awb-menu__sub-ul,.awb-menu_em-hover .awb-menu__li.hover>.awb-menu__sub-ul,.awb-menu_em-hover .awb-menu__li:focus-within>.awb-menu__sub-ul,.awb-menu_em-hover .awb-menu__li:hover>.awb-menu__sub-ul{visibility:visible;opacity:1;z-index:999999998}.awb-menu_row.awb-menu_em-hover .awb-menu__main-li:hover:before{content:" ";position:absolute;bottom:calc(0px - var(--awb-submenu-space));width:100%;height:var(--awb-submenu-space);background:0 0;z-index:30}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__sub-ul,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__sub-ul{transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__sub-ul,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__sub-ul{transform:translateY(20px)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children.hover>.awb-menu__sub-ul,.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children:focus-within>.awb-menu__sub-ul,.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children:hover>.awb-menu__sub-ul,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children.hover>.awb-menu__sub-ul,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children:focus-within>.awb-menu__sub-ul,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children:hover>.awb-menu__sub-ul{transform:translateY(0)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__sub-ul{transform:translateY(-20px)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__sub-ul,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__sub-ul{transition:opacity calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1),transform calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__sub-ul,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__sub-ul{transform:translateY(20px)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__open-nav-submenu_click[aria-expanded=true]~.awb-menu__sub-ul,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__open-nav-submenu_click[aria-expanded=true]~.awb-menu__sub-ul{transform:translateY(0)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__sub-ul{transform:translateY(-20px)}.awb-menu_expand-right .awb-menu__sub-ul_main{left:0}.awb-menu_expand-right .awb-menu__sub-ul_grand,.ltr .awb-menu_expand-center .awb-menu__sub-ul_grand{top:0;left:100%}.awb-menu_expand-right .awb-menu__sub-ul .awb-menu__open-nav-submenu-hover:before,.awb-menu_expand-right .awb-menu__sub-ul .awb-menu__open-nav-submenu_click:before,.ltr .awb-menu_expand-center .awb-menu__sub-ul .awb-menu__open-nav-submenu-hover:before,.ltr .awb-menu_expand-center .awb-menu__sub-ul .awb-menu__open-nav-submenu_click:before{transform:rotate(270deg)}.awb-menu_expand-left .awb-menu__sub-ul_main{right:0}.awb-menu_expand-left .awb-menu__sub-ul_grand,.rtl .awb-menu_expand-center .awb-menu__sub-ul_grand{top:0;right:100%}.awb-menu_expand-left .awb-menu__sub-ul .awb-menu__open-nav-submenu-hover:before,.awb-menu_expand-left .awb-menu__sub-ul .awb-menu__open-nav-submenu_click:before,.rtl .awb-menu_expand-center .awb-menu__sub-ul .awb-menu__open-nav-submenu-hover:before,.rtl .awb-menu_expand-center .awb-menu__sub-ul .awb-menu__open-nav-submenu_click:before{transform:rotate(90deg)}.awb-menu_desktop.awb-menu_dc-yes.awb-menu_row.awb-menu_em-click .awb-menu__sub-li .awb-menu__open-nav-submenu_click{padding-left:0!important;padding-right:0!important}.awb-menu_dc-yes.awb-menu_row.awb-menu_em-click .awb-menu__sub-li .awb-menu__open-nav-submenu_click{width:calc(1em + var(--awb-submenu-items-padding-left)/ 2 + var(--awb-submenu-items-padding-right)/ 2);padding-top:var(--awb-submenu-items-padding-top);padding-bottom:var(--awb-submenu-items-padding-bottom);display:flex}.awb-menu_dc-yes.awb-menu_em-click .awb-menu__sub-li.menu-item-has-children{display:flex}.awb-menu_row .menu-text{display:flex;align-items:center;text-align:center}.awb-menu_row .menu-text_with-desc{flex-direction:column;justify-content:center}.awb-menu_row .awb-menu__has-description .menu-text{flex-direction:column;justify-content:center}.awb-menu__i_main{width:auto;transition:color calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);position:relative;font-size:calc(var(--awb-icons-size) * 1px);line-height:inherit;color:var(--awb-icons-color);display:flex;align-items:center;justify-content:center;padding:0 .5em}.awb-menu__i_main img{margin-top:-2px;max-height:1em;vertical-align:middle}.awb-menu__i_main i{line-height:inherit}.awb-menu__main-li.current-menu-ancestor .awb-menu__i_main,.awb-menu__main-li.current-menu-item .awb-menu__i_main,.awb-menu__main-li.current-menu-parent .awb-menu__i_main,.awb-menu__main-li.expanded .awb-menu__i_main,.awb-menu__main-li.hover .awb-menu__i_main,.awb-menu__main-li:focus-within .awb-menu__i_main,.awb-menu__main-li:hover .awb-menu__i_main{color:var(--awb-icons-hover-color)}.awb-menu_icons-bottom .awb-menu__main-a,.awb-menu_icons-top .awb-menu__main-a{flex-wrap:wrap;align-content:center}.awb-menu_icons-bottom .awb-menu__i_main,.awb-menu_icons-top .awb-menu__i_main{width:100%;line-height:1;justify-content:center}.awb-menu_icons-bottom .awb-menu__i_main{order:5}.awb-menu_icons-left .awb-menu__main-a{flex-direction:row}.awb-menu_icons-left.awb-menu_row .awb-menu__main-i,.awb-menu_icons-right.awb-menu_row .awb-menu__main-i{width:1.5em;box-sizing:content-box}.awb-menu__i_sub{padding-inline-end:1em;display:inline-flex}.awb-menu.no-wrapper-transition{--awb-transition-time:0!important}.fusion-row.fusion-row-on-top{z-index:99999999!important}.fusion-content-layout-row:not(.fusion-content-nowrap)>.awb-menu{width:auto}.awb-menu .menu-item-object-wpml_ls_menu_item .menu-text,.awb-menu .menu-item-type-wpml_ls_menu_item .menu-text,.awb-menu .wpml-ls-item .menu-text,.awb-menu .wpml-ls-menu-item .menu-text{display:block}.awb-menu_desktop .awb-menu__sub-li .fusion-megamenu-image>img,.awb-menu_desktop .awb-menu__sub-li .fusion-megamenu-thumbnail>img{width:var(--awb-thumbnail-size-width);height:var(--awb-thumbnail-size-width);max-width:inherit}.awb-menu{--awb-arrows-size-height:12px;--awb-arrows-size-width:23px}.awb-menu__main-li_with-main-arrow:after,.awb-menu__sub-arrow{content:" ";position:absolute;width:0;border-color:transparent;z-index:999999999;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1),transform calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);border-style:solid;border-top-width:var(--awb-arrows-size-height);border-bottom-width:var(--awb-arrows-size-height);border-left-width:var(--awb-arrows-size-width);border-right-width:var(--awb-arrows-size-width);opacity:0;pointer-events:none;box-sizing:border-box;top:100%}.awb-menu__main-li_with-main-arrow{--arrow-color:var(--awb-active-bg)}.awb-menu__main-li_with-main-arrow.awb-menu__main-li_active-arrow-border{--arrow-color:var(--awb-active-border-color)}.awb-menu_row .awb-menu__main-li_with-main-arrow:after{border-top-color:var(--arrow-color)}.awb-menu_row .alt-arrow-child-color .awb-menu__sub-arrow{border-bottom-color:var(--awb-submenu-active-bg)}.awb-menu_column.awb-menu_expand-right .alt-arrow-child-color .awb-menu__sub-arrow{border-right-color:var(--awb-submenu-active-bg)}.awb-menu_column.awb-menu_expand-left .alt-arrow-child-color .awb-menu__sub-arrow{border-left-color:var(--awb-submenu-active-bg)}.awb-menu_column .awb-menu__main-li_with-main-arrow:after{top:calc(50% - var(--awb-arrows-size-height))}.awb-menu_column.awb-menu_expand-right .awb-menu__main-li_with-main-arrow:after{left:100%;border-left-color:var(--arrow-color)}.awb-menu_column.awb-menu_expand-left .awb-menu__main-li_with-main-arrow:after{right:100%;left:auto;border-right-color:var(--arrow-color)}.awb-menu_row .awb-menu__sub-arrow{border-bottom-color:var(--awb-submenu-bg);bottom:calc(-1 * var(--awb-submenu-space,0))}.awb-menu_column.awb-menu_expand-right .awb-menu__sub-arrow{border-right-color:var(--awb-submenu-bg);left:calc(100% + var(--awb-submenu-space) - (var(--awb-arrows-size-width) * 2));top:calc(50% - var(--awb-arrows-size-height))}.awb-menu_column.awb-menu_expand-left .awb-menu__sub-arrow{border-left-color:var(--awb-submenu-bg);right:calc(100% + var(--awb-submenu-space) - (var(--awb-arrows-size-width) * 2));top:calc(50% - var(--awb-arrows-size-height));left:auto}.awb-menu_desktop .awb-menu__main-li_with-main-arrow:focus-within:after,.awb-menu_desktop .awb-menu__main-li_with-main-arrow:hover:after{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.awb-menu_desktop.awb-menu_em-hover .awb-menu__main-li_with-sub-arrow:focus-within .awb-menu__sub-arrow,.awb-menu_desktop.awb-menu_em-hover .awb-menu__main-li_with-sub-arrow:hover .awb-menu__sub-arrow{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.awb-menu_desktop.awb-menu_em-click .awb-menu__main-li_with-main-arrow.expanded:after,.awb-menu_desktop.awb-menu_em-click .awb-menu__main-li_with-sub-arrow.expanded .awb-menu__sub-arrow{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.awb-menu_transition-slide_up .awb-menu__sub-arrow{transform:translateY(20px)}.awb-menu_transition-slide_down .awb-menu__sub-arrow{transform:translateY(-20px)}.awb-menu__main-li_with-active-arrow.current-menu-ancestor:after,.awb-menu__main-li_with-active-arrow.current-menu-item:after,.awb-menu__main-li_with-active-arrow.current-menu-parent:after,.awb-menu__main-li_with-active-arrow:active:after{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.awb-menu_desktop .awb-menu__main-li_with-main-arrow.reposition-arrows:after,.awb-menu_desktop .awb-menu__main-li_with-sub-arrow.reposition-arrows .awb-menu__sub-arrow{inset-inline-start:1em}.awb-menu,.awb-submenu{--awb-main-justify-content:flex-start}.awb-menu__main-ul_column{flex-direction:column}.awb-menu__main-ul_column .awb-menu__main-li{margin:0 0 var(--awb-gap) 0;width:100%}.awb-menu__main-ul_column .awb-menu__main-li:last-child{margin-bottom:0}.awb-menu__main-ul_column .awb-menu__main-a{justify-content:var(--awb-main-justify-content)}.awb-menu__main-ul_column .awb-menu__main-li>.awb-menu__open-nav-submenu-hover,.awb-menu__main-ul_column .awb-menu__main-li>.awb-menu__open-nav-submenu_click{padding-top:calc(var(--awb-items-padding-top) + var(--awb-border-top));padding-bottom:calc(var(--awb-items-padding-bottom) + var(--awb-border-bottom))}.awb-menu__main-ul_column .awb-menu__open-nav-submenu-hover:before,.awb-menu__main-ul_column .awb-menu__open-nav-submenu_click:before,.awb-menu__main-ul_column .awb-menu__open-nav-submenu_mobile:before{padding-left:0;padding-right:0}.awb-menu__main-ul_column .awb-menu__sub-ul{top:0}.awb-menu_expand-right .awb-menu__main-ul_column .awb-menu__sub-ul{right:auto;left:100%}.awb-menu_expand-right .awb-menu__main-ul_column .awb-menu__sub-ul_main{margin-left:var(--awb-submenu-space)}.awb-menu_expand-right .awb-menu__main-ul_column .awb-menu__open-nav-submenu-hover:before,.awb-menu_expand-right .awb-menu__main-ul_column .awb-menu__open-nav-submenu_click:before,.awb-menu_expand-right .awb-menu__main-ul_column .awb-menu__open-nav-submenu_mobile:before{transform:rotate(270deg)}.rtl .awb-menu_expand-right .awb-menu__main-ul_column .awb-menu__main-a,.rtl .awb-menu_expand-right .awb-menu__main-ul_column .awb-menu__sub-a,.rtl .awb-menu_expand-right.awb-menu_em-click .awb-menu__main-ul_column .menu-item-has-children{text-align:left;flex-direction:row-reverse}.awb-menu_expand-left .awb-menu__main-ul_column .awb-menu__sub-ul{left:auto;right:100%}.awb-menu_expand-left .awb-menu__main-ul_column .awb-menu__sub-ul_main{margin-right:var(--awb-submenu-space)}.ltr .awb-menu_expand-left .awb-menu__main-ul_column .awb-menu__main-a,.ltr .awb-menu_expand-left .awb-menu__main-ul_column .awb-menu__sub-a,.ltr .awb-menu_expand-left.awb-menu_em-click .awb-menu__main-ul_column .menu-item-has-children{text-align:right;flex-direction:row-reverse}.awb-menu_expand-left .awb-menu__main-ul_column .awb-menu__open-nav-submenu_click.awb-menu__open-nav-submenu_main,.awb-menu_expand-left .awb-menu__main-ul_column .awb-menu__open-nav-submenu_mobile{padding-left:calc(var(--awb-items-padding-left) + var(--awb-active-border-left));padding-right:0}.awb-menu_expand-left .awb-menu__main-ul_column .awb-menu__open-nav-submenu_click.awb-menu__open-nav-submenu_sub{padding-left:var(--awb-submenu-items-padding-left)}.awb-menu_expand-left .awb-menu__main-ul_column .awb-menu__open-nav-submenu-hover{padding-right:.5em;padding-left:0}.awb-menu_expand-left .awb-menu__main-ul_column .awb-menu__open-nav-submenu-hover:before,.awb-menu_expand-left .awb-menu__main-ul_column .awb-menu__open-nav-submenu_click:before,.awb-menu_expand-left .awb-menu__main-ul_column .awb-menu__open-nav-submenu_mobile:before{transform:rotate(90deg)}.awb-menu_column .awb-menu__main-li.menu-item-has-children:before{content:" ";position:absolute;width:var(--awb-submenu-space);height:100%;display:none;left:100%;z-index:10}.awb-menu_column.awb-menu_em-hover .awb-menu__main-li.menu-item-has-children:hover:before{display:block}.awb-menu_column.awb-menu_em-hover .awb-menu__main-li.menu-item-has-children.expanded:before{display:block}.awb-menu_column.awb-menu_expand-left .awb-menu__main-li.menu-item-has-children:before{left:auto;right:100%}.awb-menu__main-ul_column .awb-menu__i_main.fusion-megamenu-image{width:1.5em;box-sizing:content-box}.awb-menu_v-stacked .awb-menu__i_main{padding-inline-start:0}.awb-menu_v-stacked .awb-menu__open-nav-submenu_click.awb-menu__open-nav-submenu_sub{padding-inline-end:0}.awb-menu_v-stacked .awb-menu__main-li{padding-bottom:2px}.awb-menu_v-stacked .awb-menu__sub-ul{display:none}.awb-menu_v-stacked .awb-menu__sub-ul.is-opened{display:block;visibility:inherit!important}.awb-menu_v-stacked .awb-menu__sub-ul_grand{margin-inline-start:var(--awb-stacked-submenu-indent,0)}.awb-menu_v-stacked .awb-menu__sub-li{width:100%}.awb-menu_v-stacked.awb-menu_em-always .awb-menu__sub-ul{display:block}.awb-menu_v-stacked .awb-menu__sub-a{padding-top:var(--awb-submenu-items-padding-top,calc(var(--awb-items-padding-top) + var(--awb-active-border-top)));padding-right:var(--awb-submenu-items-padding-right,calc(var(--awb-items-padding-right) + var(--awb-active-border-right)));padding-bottom:var(--awb-submenu-items-padding-bottom,calc(var(--awb-items-padding-bottom) + var(--awb-active-border-bottom)));padding-left:var(--awb-submenu-items-padding-left,calc(var(--awb-items-padding-left) + var(--awb-active-border-left)))}.awb-menu_v-stacked .menu-item-has-children{display:grid!important;grid-template-columns:1fr auto;grid-template-areas:"link caret" "submenu submenu"}.awb-menu_v-stacked .menu-item-has-children .awb-menu__sub-a{grid-area:link}.awb-menu_v-stacked .menu-item-has-children .awb-menu__open-nav-submenu_click{grid-area:caret}.awb-menu_v-stacked .menu-item-has-children .awb-menu__sub-ul{grid-area:submenu}.awb-menu_v-stacked .awb-menu__open-nav-submenu-hover[aria-expanded=true]:before,.awb-menu_v-stacked .awb-menu__open-nav-submenu_mobile[aria-expanded=true]:before{transform:rotate(180deg)!important}.awb-menu{--awb-mobile-text-transform:none;--awb-mobile-trigger-background-color:#fff;--awb-mobile-trigger-color:#4a4e57;--awb-trigger-padding-top:12px;--awb-trigger-padding-right:20px;--awb-trigger-padding-bottom:12px;--awb-trigger-padding-left:20px;--awb-mobile-trigger-font-size:1em;--awb-mobile-nav-button-align-hor:flex-start;--awb-fusion-font-family-mobile-typography:inherit;--awb-fusion-font-style-mobile-typography:inherit;--awb-fusion-font-weight-mobile-typography:400;--awb-mobile-nav-trigger-bottom-margin:0;--awb-mobile-bg:#fff;--awb-mobile-nav-items-height:65;--awb-mobile-color:#4a4e57;--awb-mobile-justify:flex-start;--awb-mobile-line-height:inherit;--awb-mobile-letter-spacing:inherit;--awb-mobile-active-bg:#f9f9fb;--awb-mobile-active-color:#4a4e57;--awb-mobile-caret-left:auto;--awb-mobile-caret-right:0;--awb-mobile-sep-color:rgba(0, 0, 0, 0.1);--awb-mobile-sticky-max-height:340px}.awb-menu__m-toggle{background-color:var(--awb-mobile-trigger-background-color);color:var(--awb-mobile-trigger-color);padding-top:var(--awb-trigger-padding-top);padding-right:var(--awb-trigger-padding-right);padding-bottom:var(--awb-trigger-padding-bottom);padding-left:var(--awb-trigger-padding-left);box-sizing:content-box;font-family:var(--awb-fusion-font-family-typography);font-style:var(--awb-fusion-font-style-typography);font-weight:var(--awb-fusion-font-weight-typography);font-size:var(--awb-mobile-trigger-font-size);border:none!important;box-shadow:none!important;cursor:pointer;display:none}.awb-menu__m-toggle-inner{display:flex;justify-content:flex-start;align-items:center}.awb-menu__m-collapse-icon{position:relative;width:1em;height:1em;margin-inline-start:.5em}.awb-menu__m-collapse-icon-close,.awb-menu__m-collapse-icon-open{width:1em;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);position:absolute;left:0;opacity:0;transform:rotate(0)}.awb-menu__m-collapse-icon-open{opacity:1}.awb-menu__m-collapse-icon-close_no-text,.awb-menu__m-collapse-icon-open_no-text{left:0}.awb-menu__m-collapse-icon_no-text{margin-left:0;margin-right:0}.awb-menu_mt-fullwidth .awb-menu__m-toggle{width:100%}.awb-menu_mt-fullwidth .awb-menu__m-toggle-inner{justify-content:var(--awb-mobile-nav-button-align-hor)}.awb-menu_mt-fullwidth.collapse-enabled.mobile-mode-collapse-to-button:has(.awb-menu__m-trigger-icons) .awb-menu__m-toggle{width:auto;flex:1 1 0;min-width:0}.awb-menu.expanded .awb-menu__m-collapse-icon-close,.awb-menu.expanded .awb-menu__m-collapse-icon-open{transform:rotate(360deg)}.awb-menu.expanded .awb-menu__m-collapse-icon-open{opacity:0}.awb-menu.expanded .awb-menu__m-collapse-icon-close{opacity:1}.awb-menu.collapse-enabled{display:flex;justify-content:var(--awb-mobile-nav-button-align-hor);align-items:center;flex-wrap:wrap;position:relative;font-family:var(--awb-fusion-font-family-mobile-typography);font-style:var(--awb-fusion-font-style-mobile-typography);font-weight:var(--awb-fusion-font-weight-mobile-typography)}.awb-menu.collapse-enabled .awb-menu__m-search-panel,.awb-menu.collapse-enabled .awb-menu__main-ul{margin-top:var(--awb-mobile-nav-trigger-bottom-margin)}.awb-menu.collapse-enabled .fusion-button-text-left,.awb-menu.collapse-enabled .fusion-button-text-right{padding-left:0;padding-right:0}.awb-menu.collapse-enabled .fusion-megamenu-icon{display:none!important}.awb-menu.collapse-enabled.mobile-mode-collapse-to-button .awb-menu__main-ul{display:block;max-height:0;min-height:0;overflow:hidden;opacity:0;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);z-index:-1}.awb-menu.collapse-enabled.mobile-mode-collapse-to-button.expanded .awb-menu__main-ul{max-height:100vh;max-height:max-content;overflow-y:auto;opacity:1;z-index:10}.awb-menu.collapse-enabled.mobile-mode-collapse-to-button .awb-menu__m-toggle{display:block;outline:0}.awb-menu.collapse-enabled.mobile-size-column-absolute .awb-menu__main-ul,.awb-menu.collapse-enabled.mobile-size-full-absolute .awb-menu__main-ul{position:absolute;left:0;top:100%;z-index:-1;max-width:100vw;pointer-events:none}.awb-menu.collapse-enabled.mobile-size-full-absolute .awb-menu__main-ul{width:100vw}.awb-menu.collapse-enabled.mobile-size-column-absolute.expanded .awb-menu__main-ul,.awb-menu.collapse-enabled.mobile-size-full-absolute.expanded .awb-menu__main-ul{z-index:99999999999999;pointer-events:auto}.awb-menu.collapse-enabled.mobile-mode-always-expanded .awb-menu__main-ul{display:flex}.awb-menu.collapse-enabled ul{flex-direction:column!important;max-width:100%;width:100%;border-radius:0!important;background:var(--awb-mobile-bg);list-style:none;padding:0;margin:0}.awb-menu.collapse-enabled a{width:100%!important;background:var(--awb-mobile-bg)!important;color:var(--awb-mobile-color)!important;font-family:var(--awb-fusion-font-family-mobile-typography);font-style:var(--awb-fusion-font-style-mobile-typography);font-weight:var(--awb-fusion-font-weight-mobile-typography);border-radius:0!important}.awb-menu.collapse-enabled a:not(.fusion-search-result){border:none!important;min-height:calc(var(--awb-mobile-nav-items-height) * 1px);padding:0 1.5em!important;justify-content:var(--awb-mobile-justify)}.awb-menu.collapse-enabled,.awb-menu.collapse-enabled .awb-menu__open-nav-submenu_mobile:before,.awb-menu.collapse-enabled li a,.awb-menu.collapse-enabled li a .fusion-button{font-size:var(--awb-mobile-font-size, var(--awb-font-size));text-transform:var(--awb-mobile-text-transform,none);line-height:var(--awb-mobile-line-height, inherit);letter-spacing:var(--awb-mobile-letter-spacing, inherit)}.awb-menu.collapse-enabled .awb-menu__main-li,.awb-menu.collapse-enabled .awb-menu__sub-li{background:var(--awb-mobile-bg)}.awb-menu.collapse-enabled li{width:100%;margin:0!important;border-radius:0!important;box-shadow:none;flex-direction:column!important;position:relative}.awb-menu.collapse-enabled .awb-menu__description,.awb-menu.collapse-enabled .awb-menu__i,.awb-menu.collapse-enabled .awb-menu__main-background-active,.awb-menu.collapse-enabled .awb-menu__main-background-default,.awb-menu.collapse-enabled .awb-menu__open-nav-submenu-hover,.awb-menu.collapse-enabled li:after{display:none!important}.awb-menu.collapse-enabled .awb-menu__open-nav-submenu_mobile:before{color:var(--awb-mobile-color)!important}.awb-menu.collapse-enabled .awb-menu__li_button{background:var(--awb-mobile-bg)!important;color:var(--awb-mobile-color)!important}.awb-menu.collapse-enabled .awb-menu__main-a_button{background-color:transparent!important}.awb-menu.collapse-enabled .fusion-button{color:inherit!important;font-family:var(--awb-fusion-font-family-mobile-typography);font-style:var(--awb-fusion-font-style-mobile-typography);font-weight:var(--awb-fusion-font-weight-mobile-typography);font-size:1em;background:0 0!important;padding:0!important;border:none!important;box-shadow:none!important;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu.collapse-enabled li.current-menu-ancestor>a,.awb-menu.collapse-enabled li.current-menu-item>a,.awb-menu.collapse-enabled li.expanded>a,.awb-menu.collapse-enabled li:hover>a{background:var(--awb-mobile-active-bg)!important;color:var(--awb-mobile-active-color)!important}.awb-menu.collapse-enabled li.current-menu-ancestor>a .fusion-button,.awb-menu.collapse-enabled li.current-menu-item>a .fusion-button,.awb-menu.collapse-enabled li.expanded>a .fusion-button,.awb-menu.collapse-enabled li:hover>a .fusion-button{color:var(--awb-mobile-active-color)!important}.awb-menu.collapse-enabled li.current-menu-ancestor>.awb-menu__open-nav-submenu_mobile:before,.awb-menu.collapse-enabled li.current-menu-item>.awb-menu__open-nav-submenu_mobile:before,.awb-menu.collapse-enabled li.expanded>.awb-menu__open-nav-submenu_mobile:before,.awb-menu.collapse-enabled li:hover>.awb-menu__open-nav-submenu_mobile:before{color:var(--awb-mobile-active-color)!important}.awb-menu.collapse-enabled .awb-menu__sub-ul{display:none;position:relative;box-shadow:none;overflow:hidden;opacity:1;visibility:visible;top:0;margin:0!important;z-index:auto;left:0!important;right:0!important;padding:0!important}.awb-menu.collapse-enabled [aria-expanded=true]~.awb-menu__sub-ul{overflow:hidden}.awb-menu.collapse-enabled .awb-menu__open-nav-submenu_mobile{display:flex!important;position:absolute;top:0;padding:0!important;width:auto!important;background:0 0!important;left:var(--awb-mobile-caret-left);right:var(--awb-mobile-caret-right)}.awb-menu.collapse-enabled .awb-menu__open-nav-submenu_mobile:before{display:flex;align-items:center;transform:none!important;min-height:calc(var(--awb-mobile-nav-items-height) * 1px);padding:0 2em!important}.awb-menu.collapse-enabled .awb-menu__open-nav-submenu_mobile[aria-expanded=true]:before{transform:rotate(180deg)!important}.awb-menu.collapse-enabled.awb-menu_indent-left ul ul a{padding-left:2.5em!important}.awb-menu.collapse-enabled.awb-menu_indent-left ul ul ul a{padding-left:3.5em!important}.awb-menu.collapse-enabled.awb-menu_indent-left ul ul ul ul a{padding-left:4.5em!important}.awb-menu.collapse-enabled.awb-menu_indent-left ul ul ul ul ul a{padding-left:5.5em!important}.awb-menu.collapse-enabled.awb-menu_indent-right ul ul a{padding-right:2.5em!important}.awb-menu.collapse-enabled.awb-menu_indent-right ul ul ul a{padding-right:3.5em!important}.awb-menu.collapse-enabled.awb-menu_indent-right ul ul ul ul a{padding-right:4.5em!important}.awb-menu.collapse-enabled.awb-menu_indent-right ul ul ul ul ul a{padding-right:5.5em!important}.awb-menu.collapse-enabled li{border-bottom:1px solid var(--awb-mobile-sep-color)}.awb-menu.collapse-enabled .awb-menu__sub-li:last-child{border-bottom:none}.fusion-sticky-transition .collapse-enabled.mobile-size-column-absolute:not(.mobile-mode-always-expanded) .awb-menu__main-ul,.fusion-sticky-transition .collapse-enabled.mobile-size-full-absolute:not(.mobile-mode-always-expanded) .awb-menu__main-ul{max-height:var(--awb-mobile-sticky-max-height)}.collapse-enabled .awb-menu__open-nav-submenu_mobile{display:flex}.collapse-enabled .awb-menu__main-a_icon-only{font-family:var(--awb-fusion-font-family-mobile-typography);font-style:var(--awb-fusion-font-style-mobile-typography);font-weight:var(--awb-fusion-font-weight-mobile-typography);text-transform:var(--awb-mobile-text-transform,none);line-height:inherit}.awb-menu.collapse-enabled .awb-menu__li_hide-on-collapse{display:none!important}.awb-menu__m-search-panel,.awb-menu__m-trigger-icons{display:none}.awb-menu.collapse-enabled.mobile-mode-collapse-to-button .awb-menu__m-trigger-icons{display:flex;align-items:center;gap:1em;padding-inline-start:1em;background-color:var(--awb-mobile-trigger-background-color);font-size:var(--awb-mobile-trigger-font-size)}.awb-menu.collapse-enabled .awb-menu__m-toggle:has(+ .awb-menu__m-trigger-icons){padding-right:0}.awb-menu.collapse-enabled .awb-menu__m-trigger-icons .awb-menu__m-trigger-icon{display:inline-flex;align-items:center;justify-content:center;background-color:var(--awb-mobile-trigger-background-color)!important;color:var(--awb-mobile-trigger-color)!important;padding:var(--awb-trigger-padding-top) 0 var(--awb-trigger-padding-bottom) 0!important;box-sizing:content-box;font-family:var(--awb-fusion-font-family-typography);font-style:var(--awb-fusion-font-style-typography);font-weight:var(--awb-fusion-font-weight-typography);font-size:var(--awb-mobile-trigger-font-size);border:none!important;box-shadow:none!important;cursor:pointer;line-height:1;min-width:0;width:auto!important;min-height:0!important;text-decoration:none}.awb-menu.collapse-enabled .awb-menu__m-trigger-icons>.awb-menu__m-trigger-icon:last-child{padding-right:var(--awb-trigger-padding-right)!important}.awb-menu_mt-pos-after.collapse-enabled.mobile-mode-collapse-to-button .awb-menu__m-toggle{padding-left:0}.awb-menu_mt-pos-after.collapse-enabled.mobile-mode-collapse-to-button .awb-menu__m-trigger-icons{padding-inline-start:0;padding-inline-end:1em}.awb-menu_mt-pos-after.collapse-enabled .awb-menu__m-trigger-icons>.awb-menu__m-trigger-icon:first-child{padding-left:var(--awb-trigger-padding-left)!important}.awb-menu_mt-pos-after.collapse-enabled .awb-menu__m-trigger-icons>.awb-menu__m-trigger-icon:last-child{padding-right:0!important}.awb-menu_mt-align-space-between.collapse-enabled.mobile-mode-collapse-to-button .awb-menu__m-trigger-icons{display:contents}.awb-menu_mt-align-space-between.collapse-enabled.mobile-mode-collapse-to-button:has(.awb-menu__m-trigger-icons),.awb-menu_mt-fullwidth.awb-menu_mt-align-center.collapse-enabled.mobile-mode-collapse-to-button:has(.awb-menu__m-trigger-icons),.awb-menu_mt-fullwidth.awb-menu_mt-align-flex-end.collapse-enabled.mobile-mode-collapse-to-button:has(.awb-menu__m-trigger-icons){background-color:var(--awb-mobile-trigger-background-color)}.awb-menu_mt-align-space-between.collapse-enabled.mobile-mode-collapse-to-button:has(.awb-menu__m-trigger-icons) .awb-menu__m-toggle{flex:0 0 auto;width:auto}.awb-menu_mt-align-space-between.collapse-enabled.mobile-mode-collapse-to-button:has(.awb-menu__m-trigger-icons) .awb-menu__m-toggle .awb-menu__m-toggle-inner{justify-content:flex-start}.awb-menu_mt-fullwidth.awb-menu_mt-align-center.collapse-enabled.mobile-mode-collapse-to-button:has(.awb-menu__m-trigger-icons) .awb-menu__m-toggle,.awb-menu_mt-fullwidth.awb-menu_mt-align-flex-end.collapse-enabled.mobile-mode-collapse-to-button:has(.awb-menu__m-trigger-icons) .awb-menu__m-toggle{flex:0 0 auto}.awb-menu.collapse-enabled .awb-menu__m-trigger-icon .glyphicon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1}.awb-menu.collapse-enabled .awb-menu__m-cart-icon-inner{position:relative;display:flex;align-items:center}.fusion-widget-cart-number[data-cart-count="0"] .awb-menu.collapse-enabled .awb-menu__m-cart-icon.awb-show-counter .awb-menu__m-cart-icon-inner{width:2.8em}.awb-menu.collapse-enabled .awb-menu__m-cart-icon.fusion-counter-badge .awb-menu__m-cart-icon-inner{width:2.125em}.awb-menu.collapse-enabled .awb-menu__m-cart-icon.fusion-menu-cart-hide-empty-counter .awb-menu__m-cart-icon-inner:has(.fusion-widget-cart-number[data-cart-count="0"]){width:auto}.awb-menu.collapse-enabled .awb-menu__m-cart-icon .fusion-widget-cart-number{position:absolute!important;inset-inline-start:100%;transform:translateX(-1.8em)}.awb-menu.collapse-enabled .awb-menu__m-cart-icon.fusion-counter-badge .fusion-widget-cart-number{transform:translate(50%,-40%) scale(.75);inset-inline-start:0}.awb-menu.collapse-enabled.mobile-mode-collapse-to-button .awb-menu__m-search-panel{display:block;width:100%;max-width:100vw;max-height:0;min-height:0;overflow:hidden;opacity:0;background:var(--awb-mobile-bg);box-sizing:border-box;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);z-index:-1;pointer-events:none}.awb-menu.collapse-enabled.mobile-size-column-absolute .awb-menu__m-search-panel,.awb-menu.collapse-enabled.mobile-size-full-absolute .awb-menu__m-search-panel{position:absolute;left:0;top:100%}.awb-menu.collapse-enabled.mobile-size-full-absolute .awb-menu__m-search-panel{width:100vw}.awb-menu.collapse-enabled.mobile-mode-collapse-to-button .awb-menu__m-search-panel.is-open{max-height:50vh;opacity:1;overflow:visible;z-index:99999999999999;pointer-events:auto}.awb-menu.collapse-enabled .awb-menu__m-search-panel-inner{padding:.75em 1em}.awb-menu.collapse-enabled .awb-menu__m-search-panel form{margin:0}.fusion-menu-cart .awb-menu__sub-ul_main{background-color:var(--awb-submenu-bg)}.fusion-menu-cart .awb-menu__sub-li{width:100%}.fusion-menu-cart .awb-menu__sub-ul_main a{padding-top:var(--awb-submenu-items-padding-top);padding-bottom:var(--awb-submenu-items-padding-bottom);padding-left:var(--awb-submenu-items-padding-left);padding-right:var(--awb-submenu-items-padding-right)}.fusion-menu-cart .awb-menu__sub-ul_main>.fusion-main-menu-icon{display:none}.awb-menu .fusion-menu-cart-checkout{display:flex;justify-content:space-between;flex-direction:row!important;padding-top:var(--awb-submenu-items-padding-top);padding-bottom:var(--awb-submenu-items-padding-bottom);padding-left:var(--awb-submenu-items-padding-left);padding-right:var(--awb-submenu-items-padding-right);width:100%;background-color:var(--awb-submenu-bg);transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);border-bottom-width:0;border-bottom-left-radius:var(--awb-submenu-border-radius-bottom-left);border-bottom-right-radius:var(--awb-submenu-border-radius-bottom-right)}.awb-menu .fusion-menu-cart-checkout a,.awb-menu .fusion-menu-cart-checkout a:before{color:var(--awb-submenu-color);transition:color calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu .fusion-menu-cart-checkout:hover{background-color:var(--awb-submenu-active-bg);color:var(--awb-submenu-active-color)}.awb-menu .fusion-menu-cart-checkout:hover a,.awb-menu .fusion-menu-cart-checkout:hover a:before{color:var(--awb-submenu-active-color)}.awb-menu .fusion-menu-cart-items{min-width:var(--awb-submenu-max-width);width:max-content}.awb-menu .fusion-menu-cart:hover .fusion-custom-menu-item-contents-empty{visibility:hidden!important;opacity:0!important}.empty-cart .awb-menu__open-nav-submenu-hover,.empty-cart .awb-menu__open-nav-submenu_main,.empty-cart .awb-menu__sub-arrow{display:none!important}.awb-menu .awb-menu__woo-wrap{display:flex}.awb-menu .awb-menu__woo-wrap a{margin:0 -.25em;min-width:max-content;padding:0}.awb-menu .awb-menu__woo-wrap a:before{padding:0 .25em;font-family:awb-icons;line-height:inherit}.awb-menu .awb-menu__woo-wrap a span{padding:0 .25em}.awb-menu__woo-wrap.fusion-menu-cart-link a:before{content:"\f07a"}.awb-menu__woo-wrap.fusion-menu-cart-checkout-link a:before{content:"\f046"}.awb-menu__woo-wrap.fusion-menu-cart-checkout-link{padding-inline-start:var(--awb-submenu-items-padding-left)}.awb-menu__sub-li.fusion-menu-cart-item a{justify-content:space-between!important}.awb-menu__sub-li.fusion-menu-cart-item img{display:inline-block;max-width:36px;margin-inline-end:13px}.awb-menu__sub-li.fusion-menu-cart-item .amount{display:inline-block}.awb-menu__sub-li .fusion-menu-cart-item-details{display:inline-block;max-width:calc(100% - 49px);text-align:left}.awb-menu__sub-li .fusion-menu-cart-item-title{margin-bottom:.25em}.awb-menu__sub-li .fusion-menu-cart-item-quantity,.awb-menu__sub-li .fusion-menu-cart-item-title{display:block;line-height:normal;text-align:end}.awb-menu .fusion-widget-cart-number{display:inline-flex;margin-inline-start:.25em;padding:.25em;box-sizing:content-box;width:1em;height:1em;line-height:0;border:.1em solid transparent;align-items:center;justify-content:center}.awb-menu_expand-left .fusion-widget-cart-number{margin-inline-start:0;margin-inline-end:.25em}.awb-menu .fusion-widget-cart-number[data-digits="2"]{font-size:.88em}.awb-menu .fusion-widget-cart-number[data-digits="3"]{font-size:.69em}.awb-menu .fusion-counter-badge .fusion-widget-cart-number{position:absolute;transform:translate(50%,-50%) scale(.75);margin-inline-start:0}.rtl .awb-menu .fusion-counter-badge .fusion-widget-cart-number{transform:translate(-50%,-50%) scale(.75)}.awb-menu .fusion-menu-cart-hide-empty-counter .fusion-widget-cart-number[data-cart-count="0"]{visibility:hidden}.fusion-menu-cart-item .awb-menu__sub-a,.fusion-menu-cart-item .awb-menu__sub-a:hover{background:0 0}.awb-menu__account-li{width:var(--awb-submenu-max-width);border-bottom:none;background-color:var(--awb-submenu-bg);border-top-left-radius:var(--awb-submenu-border-radius-top-left);border-top-right-radius:var(--awb-submenu-border-radius-top-right);border-bottom-left-radius:var(--awb-submenu-border-radius-bottom-left);border-bottom-right-radius:var(--awb-submenu-border-radius-bottom-right);color:var(--awb-submenu-color);padding-top:var(--awb-submenu-items-padding-top);padding-bottom:var(--awb-submenu-items-padding-bottom);padding-left:var(--awb-submenu-items-padding-left);padding-right:var(--awb-submenu-items-padding-right);font-family:var(--awb-fusion-font-family-submenu-typography);font-style:var(--awb-fusion-font-style-submenu-typography);font-weight:var(--awb-fusion-font-weight-submenu-typography);font-size:var(--awb-submenu-font-size);text-transform:var(--awb-submenu-text-transform);line-height:var(--awb-submenu-line-height);letter-spacing:var(--awb-submenu-letter-spacing)}.awb-menu__input-wrap{margin-bottom:1.2em}.awb-menu__login-remember{display:flex;align-items:center;font-size:.7em}.awb-menu__login-links{display:flex;justify-content:flex-end;margin-top:1.2em}.awb-menu__login-reg{display:flex;justify-content:flex-end;margin-top:.6em}.awb-menu__login-reg a,.awb-menu__login-reg a:hover{color:var(--awb-submenu-color)}.awb-menu__search-inline{display:flex;padding-top:var(--awb-submenu-items-padding-top);padding-bottom:var(--awb-submenu-items-padding-bottom);padding-left:var(--awb-submenu-items-padding-left);padding-right:var(--awb-submenu-items-padding-right);width:100%}.awb-menu__main-li>.awb-menu__search-inline{padding-top:calc(var(--awb-items-padding-top) + var(--awb-border-top));padding-right:calc(var(--awb-items-padding-right) + var(--awb-border-right));padding-bottom:calc(var(--awb-items-padding-bottom) + var(--awb-border-bottom));padding-left:calc(var(--awb-items-padding-left) + var(--awb-border-left))}.awb-menu .searchform{width:100%;display:inherit;flex-wrap:wrap}.awb-menu .searchform .fusion-search-field,.awb-menu .searchform .fusion-search-form-content,.awb-menu .searchform .fusion-search-form-content .fusion-search-field input,.awb-menu .searchform .fusion-search-results-wrapper,.awb-menu .searchform .search-field,.awb-menu .searchform input{width:100%}.collapse-enabled .awb-menu__li_search-dropdown{display:none}.awb-menu__li_search-dropdown .fusion-search-form-content{display:flex;align-items:stretch;padding-top:var(--awb-submenu-items-padding-top);padding-bottom:var(--awb-submenu-items-padding-bottom);padding-left:var(--awb-submenu-items-padding-left);padding-right:var(--awb-submenu-items-padding-right);border-top-left-radius:var(--awb-submenu-border-radius-top-left)!important;border-top-right-radius:var(--awb-submenu-border-radius-top-right)!important;border-bottom-left-radius:var(--awb-submenu-border-radius-bottom-left)!important;border-bottom-right-radius:var(--awb-submenu-border-radius-bottom-right)!important;box-shadow:var(--awb-box-shadow);background-color:var(--awb-submenu-bg);overflow:hidden}.awb-menu__li_search-dropdown .search-field input{line-height:var(--form_input_height)}.awb-menu__li_search-dropdown .fusion-main-menu-icon[aria-expanded=true]~ul,.awb-menu__li_search-dropdown.expanded>ul{visibility:visible;opacity:1;z-index:999999999}.awb-menu__overlay-search-trigger:before{content:"\f002";font-family:awb-icons;color:currentColor!important;font-size:calc(var(--awb-icons-size) * 1px)}.awb-menu__main-li:hover .awb-menu__overlay-search-trigger:before{color:var(--awb-icons-hover-color)!important}.awb-menu__search-overlay{display:flex;position:absolute;left:0;width:100%;max-width:100%;height:100%;z-index:9999;align-items:center;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);padding:0;background-color:transparent;color:var(--awb-color)}.awb-menu__search-overlay .fusion-close-search{width:1.5em;height:1.5em;position:relative;margin-inline-start:1em}.awb-menu_desktop .awb-menu__search-inline_no-desktop{display:none}.awb-menu__search-overlay .fusion-close-search:after,.awb-menu__search-overlay .fusion-close-search:before{content:"";position:absolute;top:50%;left:0;height:2px;width:100%;margin-top:-1px;background:var(--awb-color)}.awb-menu__search-overlay .fusion-close-search:before{transform:rotate(45deg)}.awb-menu__search-overlay .fusion-close-search:after{transform:rotate(-45deg)}.awb-menu__main-li{transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu.has-search-overlay{position:relative}.awb-menu.has-search-overlay .awb-menu__li{transform:translateY(100%);opacity:0;visibility:hidden;pointer-events:none}.awb-menu.has-search-overlay .awb-menu__search-overlay{opacity:1;visibility:visible;transform:translateY(0)}.awb-menu__overlay-search-trigger{color:var(--awb-color);transition:none}.awb-menu.menu-element-search-transition{position:relative;overflow:hidden!important}.awb-menu.menu-element-search-transition .awb-menu__search-overlay{visibility:visible!important}.collapse-enabled .awb-menu__overlay-search-trigger{display:none}.collapse-enabled .awb-menu__search-inline{padding-top:.7em;padding-bottom:.7em;padding-left:1.5em;padding-right:1.5em}.collapse-enabled .fusion-close-search{display:none}.awb-menu{--awb-flyout-active-close-color:#212934;--awb-flyout-close-color:#212934}.awb-menu__flyout-close{position:fixed;top:2em;right:2em;width:var(--awb-submenu-font-size,1.5em);height:var(--awb-submenu-font-size,1.5em);z-index:9999999999;border:none;background-color:transparent;cursor:pointer;display:none}.rtl .awb-menu__flyout-close{left:2em;right:auto}.awb-menu__flyout-close:after,.awb-menu__flyout-close:before{content:"";position:absolute;top:50%;left:0;height:2px;width:100%;margin-top:-1px;background-color:var(--awb-flyout-close-color);transition:background-color calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu__flyout-close:hover:after,.awb-menu__flyout-close:hover:before{background-color:var(--awb-flyout-active-close-color)!important}.awb-menu__flyout-close:before{transform:rotate(45deg)}.awb-menu__flyout-close:after{transform:rotate(-45deg)}.admin-bar .awb-menu__flyout-close{top:calc(2em + 32px)}.fusion-disable-outline .awb-menu__flyout-close,.fusion-disable-outline .awb-menu__flyout-close:focus{outline:0}.awb-menu_flyout .awb-menu__sub-ul{visibility:hidden}.awb-menu_flyout .awb-menu__sub-arrow{display:none}.awb-menu_desktop.awb-menu_flyout .awb-menu__sub-a{padding-inline-end:var(--awb-submenu-items-padding-right);justify-content:center}.rtl .awb-menu_desktop.awb-menu_flyout .awb-menu__sub-a{padding-inline-end:var(--awb-submenu-items-padding-left)}.awb-menu_desktop.awb-menu_flyout .awb-menu__open-nav-submenu_sub{display:none!important}.awb-menu_desktop.awb-menu_flyout .awb-menu__sub-li{width:100%;--awb-submenu-bg:transparent}.awb-menu_desktop.awb-menu_flyout .awb-menu__sub-a span{display:inline-block;text-align:center}.flyout-submenu-expanded .awb-menu__main-li:after,.flyout-submenu-expanded .awb-menu__sub-arrow{display:none}.awb-menu_desktop.awb-menu_flyout .awb-menu__sub-ul{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-color:var(--awb-submenu-bg);transform:translateX(-100%);opacity:0;z-index:9999;overflow:hidden;margin:0;padding:2em;overflow-y:auto;display:flex!important;flex-direction:column;align-items:center;justify-content:center;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu_flyout .awb-menu__sub-li:first-child{border-top-left-radius:0;border-top-right-radius:0}.awb-menu_flyout .awb-menu__sub-li:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.awb-menu_desktop.awb-menu_flyout .awb-menu__sub-ul_grand{display:none!important}.fusion-disable-outline .awb-menu_desktop.awb-menu_flyout a,.fusion-disable-outline .awb-menu_desktop.awb-menu_flyout a:focus{outline:0}.awb-menu_desktop.awb-menu_flyout .expanded>.awb-menu__sub-ul{transform:translateX(0);visibility:visible;opacity:1;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu_desktop.awb-menu_flyout__left .awb-menu__sub-ul,.awb-menu_desktop.awb-menu_flyout__left .fusion-flyout-menu-backgrounds{transform:translateX(-100%)}.awb-menu_desktop.awb-menu_flyout__right .awb-menu__sub-ul,.awb-menu_desktop.awb-menu_flyout__right .fusion-flyout-menu-backgrounds{transform:translateX(100%)}.awb-menu_desktop.awb-menu_flyout__top .awb-menu__sub-ul,.awb-menu_desktop.awb-menu_flyout__top .fusion-flyout-menu-backgrounds{transform:translateY(-100%)}.awb-menu_desktop.awb-menu_flyout__bottom .awb-menu__sub-ul,.awb-menu_desktop.awb-menu_flyout__bottom .fusion-flyout-menu-backgrounds{transform:translateY(100%)}.awb-menu_desktop.awb-menu_flyout__left .expanded .awb-menu__sub-ul,.awb-menu_desktop.awb-menu_flyout__left.flyout-submenu-expanded .fusion-flyout-menu-backgrounds,.awb-menu_desktop.awb-menu_flyout__right .expanded .awb-menu__sub-ul,.awb-menu_desktop.awb-menu_flyout__right.flyout-submenu-expanded .fusion-flyout-menu-backgrounds{transform:translateX(0)}.awb-menu_desktop.awb-menu_flyout__bottom .expanded .awb-menu__sub-ul,.awb-menu_desktop.awb-menu_flyout__bottom.flyout-submenu-expanded .fusion-flyout-menu-backgrounds,.awb-menu_desktop.awb-menu_flyout__top .expanded .awb-menu__sub-ul,.awb-menu_desktop.awb-menu_flyout__top.flyout-submenu-expanded .fusion-flyout-menu-backgrounds{transform:translateY(0)}.awb-menu_desktop.awb-menu_flyout__fade .awb-menu__sub-ul,.awb-menu_desktop.awb-menu_flyout__fade .fusion-flyout-menu-backgrounds{transform:initial;visibility:hidden;opacity:0;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1) 0s}.awb-menu_desktop.awb-menu_flyout__fade .expanded .awb-menu__sub-ul,.awb-menu_desktop.awb-menu_flyout__fade.flyout-submenu-expanded .fusion-flyout-menu-backgrounds{transform:initial;visibility:visible;opacity:1;transition:opacity calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1),transform calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu_desktop.awb-menu_flyout .fusion-flyout-menu-backgrounds{z-index:-1;position:fixed;top:0;right:0;bottom:0;left:0;padding:0;margin-left:0!important;margin-right:0!important;background-color:var(--awb-submenu-bg);transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu_desktop.awb-menu_flyout .fusion-flyout-menu-backgrounds-active{z-index:999999997!important}.awb-menu_desktop.awb-menu_flyout .fusion-flyout-menu-item-bg{opacity:0;position:absolute;top:0;left:0;height:100vh;width:100%;background-repeat:no-repeat;background-size:cover;background-position:center center;transition:opacity calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-menu_desktop.awb-menu_flyout .fusion-flyout-menu-item-bg.active{opacity:1}.flyout-submenu-expanded .awb-menu__flyout-close{display:block}.flyout-submenu-expanded .awb-menu__main-li:not(.expanded){z-index:-1}.flyout-submenu-expanded .fusion-flyout-menu-backgrounds{display:block;background-color:var(--awb-submenu-bg)}.flyout-submenu-expanded .fusion-transparent-bg{background-color:transparent!important}.fusion-builder-live .awb-menu:not(.awb-menu_flyout) .awb-menu__flyout-close{display:none}.fusion-builder-live.avada-flyout-submenu-active.avada-footer-fx-parallax-effect #main{z-index:1}.awb-menu_flyout .fusion-menu-searchform-dropdown .awb-menu__sub-li:hover{background:inherit}.awb-menu_desktop.awb-menu_flyout .awb-menu__li_search-dropdown .awb-menu__sub-li{background:0 0}.awb-menu__mega-wrap{z-index:-10;visibility:hidden;pointer-events:none;opacity:0;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);position:absolute;--awb-megamenu-width:var(--site_width);--awb-megamenu-maxwidth:calc(100vw - var(--awb-scrollbar-width, 10px));width:var(--awb-megamenu-width);max-width:var(--awb-megamenu-maxwidth)}.awb-menu .awb-menu__mega-wrap{font-family:var(--body_typography-font-family);font-weight:var(--body_typography-font-weight);letter-spacing:var(--body_typography-letter-spacing);font-style:var(--body_typography-font-style,normal);font-size:var(--body_typography-font-size);line-height:var(--body_typography-line-height);text-transform:none}.awb-menu_column .awb-menu__mega-wrap{top:0;margin-left:var(--awb-submenu-space)}.awb-menu_row .awb-menu__mega-wrap{top:100%;margin-top:var(--awb-submenu-space)}.awb-menu_em-click .awb-menu__open-nav-submenu_click[aria-expanded=true]~.awb-menu__mega-wrap,.awb-menu_em-hover .awb-menu__li.hover>.awb-menu__mega-wrap,.awb-menu_em-hover .awb-menu__li:focus-within>.awb-menu__mega-wrap,.awb-menu_em-hover .awb-menu__li:hover>.awb-menu__mega-wrap{visibility:visible;opacity:1;z-index:999999998;pointer-events:auto}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__mega-wrap,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__mega-wrap{transform:translateY(20px)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children.hover>.awb-menu__mega-wrap,.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children:focus-within>.awb-menu__mega-wrap,.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children:hover>.awb-menu__mega-wrap,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children.hover>.awb-menu__mega-wrap,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children:focus-within>.awb-menu__mega-wrap,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__li.menu-item-has-children:hover>.awb-menu__mega-wrap{transform:translateY(0)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-hover.awb-menu_row .awb-menu__mega-wrap{transform:translateY(-20px)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__mega-wrap,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__mega-wrap{transform:translateY(20px)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__open-nav-submenu_click[aria-expanded=true]~.awb-menu__mega-wrap,.awb-menu_transition-slide_up.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__open-nav-submenu_click[aria-expanded=true]~.awb-menu__mega-wrap{transform:translateY(0)}.awb-menu_transition-slide_down.awb-menu_desktop.awb-menu_em-click.awb-menu_row .awb-menu__mega-wrap{transform:translateY(-20px)}.awb-menu_desktop .awb-menu__mega-wrap+.awb-menu__sub-ul{display:none}.awb-menu.collapse-enabled .awb-menu__mega-wrap{display:none}.awb-menu.collapse-enabled .awb-menu__open-nav-submenu_mobile.awb-menu__open-nav-submenu_main.awb-menu__megamenu_no_children{display:none!important}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;-webkit-overflow-scrolling:touch}.modal.fade .modal-dialog{transform:translate(0,-25%);transition:transform .3s ease-out}.modal.in .modal-dialog{transform:translate(0,0)}.fusion-disable-outline .modal{outline:0}.modal-dialog{position:relative;width:auto;margin:10px;margin-top:60px}.modal-content{position:relative;background-color:var(--awb-background,#fff);border:1px solid rgba(0,0,0,.2);box-shadow:0 3px 9px rgba(0,0,0,.5);border-radius:5px;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99998;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.5}.modal-header{padding:15px 20px;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:var(--awb-border-color,#e5e5e5);min-height:16.53846154px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;padding:0;line-height:1.53846154}.modal-body{position:relative;padding:20px}.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top-width:1px;border-top-style:solid;border-color:var(--awb-border-color,#e5e5e5)}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media (min-width:900px){.modal-dialog{width:600px;margin-right:auto;margin-left:auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}.modal-lg{width:900px}}.fusion-modal{-webkit-overflow-scrolling:auto!important}.fusion-modal .modal-header{min-height:54px;box-sizing:border-box}.fusion-modal .modal-header .modal-title{clear:left}.fusion-modal .modal-header .close{font-size:30px;margin-top:-5px;text-shadow:none}.fusion-modal .modal-dialog{-webkit-overflow-scrolling:touch;overflow-y:auto;max-height:calc(100% - 90px)}.fusion-modal .fusion-separator{width:100%!important}.fusion-modal.has-light-close .close{color:#fff;opacity:.35}.ua-mobile .modal-open{overflow:hidden}.ua-mobile .modal-open .fusion-modal .modal-dialog{height:90%}.awb-news-ticker{--awb-font-family:inherit;--awb-font-style:inherit;--awb-font-weight:inherit;--awb-font-size:1rem;--awb-line-height:2.5;--awb-letter-spacing:inherit;--awb-text-transform:normal;--awb-ticker-height:calc(var(--awb-font-size) * var(--awb-line-height));--awb-title-font-color:#111;--awb-title-background-color:var(--primary_color);--awb-ticker-font-color:#eaeaea;--awb-ticker-hover-font-color:#aaa;--awb-ticker-background-color:#111;--awb-ticker-background-hover-color:var(--awb-ticker-background-color);--awb-ticker-indicators-color:var(--primary_color);--awb-ticker-indicators-hover-color:#aaa;--awb-posts-distance:20px;--awb-title-padding-right:12px;--awb-title-padding-left:12px;--awb-carousel-btn-border-radius:0;--awb-carousel-bar-height:3px;--awb-btn-padding-top:0;--awb-btn-padding-right:0;--awb-btn-padding-bottom:0;--awb-btn-padding-left:0;--awb-ticker-padding-left:12px;--awb-ticker-padding-right:6px;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-border-radius-top-left:0;--awb-border-radius-top-right:0;--awb-border-radius-bottom-left:0;--awb-border-radius-bottom-right:0;--awb-carousel-display-time:6s;--awb-box-shadow:none;--awb-news-ticker-b-radius:calc(var(--awb-font-size) * 1.5);max-width:100%;display:flex;overflow:hidden;background-color:var(--awb-ticker-background-color);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-left) var(--awb-border-radius-bottom-right);box-shadow:var(--awb-box-shadow)}.awb-news-ticker.hover,.awb-news-ticker:hover{background-color:var(--awb-ticker-background-hover-color)}.awb-news-ticker-title{display:flex;align-items:center;position:relative;padding:0 var(--awb-title-padding-right) 0 var(--awb-title-padding-left);font-family:var(--awb-font-family);font-style:var(--awb-font-style);font-weight:var(--awb-font-weight);font-size:var(--awb-font-size);line-height:var(--awb-line-height);letter-spacing:var(--awb-letter-spacing);text-transform:var(--awb-text-transform);color:var(--awb-title-font-color);background-color:var(--awb-title-background-color);z-index:1}.awb-news-ticker-title-rounded{border-radius:0 var(--awb-news-ticker-b-radius) var(--awb-news-ticker-b-radius) 0}.awb-news-ticker-title-date{font-weight:700}.awb-news-ticker-bar{position:relative;height:var(--awb-ticker-height);flex-grow:1}.awb-news-ticker-item-list{position:absolute;left:0;top:0;bottom:0;display:flex;height:100%;align-items:center}.awb-news-ticker-item,.awb-news-ticker-item-separator{flex-shrink:0}.awb-news-ticker-item-separator,.awb-news-ticker-link{display:inline-block;white-space:nowrap;color:var(--awb-ticker-font-color)!important;font-family:var(--awb-font-family);font-style:var(--awb-font-style);font-weight:var(--awb-font-weight);font-size:var(--awb-font-size);line-height:var(--awb-line-height);letter-spacing:var(--awb-letter-spacing);text-transform:var(--awb-text-transform)}.awb-news-ticker-link.hover,.awb-news-ticker-link:focus,.awb-news-ticker-link:hover{color:var(--awb-ticker-hover-font-color)!important}.awb-news-ticker-item-separator{padding:0 var(--awb-posts-distance)}.awb-news-ticker-title-decorator{position:absolute;top:0;bottom:0;left:100%}.awb-news-ticker-title-decorator-triangle{top:50%;bottom:auto;height:0;width:0;border-left:10px solid currentColor;border-bottom:10px solid transparent!important;border-top:10px solid transparent!important;color:var(--awb-title-background-color);transform:translateY(-50%)}.awb-news-ticker-item-list-run{left:100%;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes awb-run-news-ticker{from{left:100%;transform:translateX(0)}to{left:0;transform:translateX(-100%)}}.awb-news-ticker-item-list-carousel{padding-left:var(--awb-ticker-padding-left)}.awb-news-ticker-item-list-carousel>.awb-news-ticker-item{display:none}.awb-news-ticker-item-list-carousel>.awb-news-ticker-item-active{display:block}.awb-news-ticker-item-list-carousel>.awb-news-ticker-item-showing{position:absolute;animation:awb-news-ticker-showing .5s ease 0s 1 normal forwards}@keyframes awb-news-ticker-showing{0%{opacity:0}1%{display:block}100%{opacity:1}}.awb-news-ticker-items-buttons{position:absolute;display:flex;top:0;right:0;bottom:0;padding:0 var(--awb-ticker-padding-right) 0 6px;background-color:var(--awb-ticker-background-color)}.awb-news-ticker:hover .awb-news-ticker-items-buttons{background-color:var(--awb-ticker-background-hover-color)}.awb-news-ticker-btn-wrapper{display:flex;align-items:center}.awb-news-ticker-btn-wrapper:first-child{margin-right:8px}.awb-news-ticker-next-btn,.awb-news-ticker-prev-btn{cursor:pointer;font-family:awb-icons;padding:var(--awb-btn-padding-top) var(--awb-btn-padding-right) var(--awb-btn-padding-bottom) var(--awb-btn-padding-left);font-size:calc(var(--awb-font-size) * 1.2);margin:0;appearance:none;color:var(--awb-ticker-indicators-color);border:none;border-radius:var(--awb-carousel-btn-border-radius);line-height:1;background-color:inherit;transition:color 250ms ease,border-color 250ms ease}.awb-news-ticker-next-btn.hover,.awb-news-ticker-next-btn:focus,.awb-news-ticker-next-btn:hover,.awb-news-ticker-prev-btn.hover,.awb-news-ticker-prev-btn:focus,.awb-news-ticker-prev-btn:hover{color:var(--awb-ticker-indicators-hover-color)}.awb-news-ticker-btn-arrow{padding:0 .4em .07em .35em;display:block}.awb-news-ticker-next-btn .awb-news-ticker-btn-arrow{padding-right:.35em;padding-left:.4em}.awb-news-ticker-btn-border{border:1px solid}.awb-news-ticker-carousel-indicator{position:absolute;bottom:0;left:0;right:0;height:var(--awb-carousel-bar-height);background-color:var(--awb-ticker-indicators-color);animation-duration:var(--awb-carousel-display-time);animation-timing-function:linear;animation-iteration-count:1;animation-fill-mode:forwards}.awb-news-ticker-carousel-indicator::after{content:"";position:absolute;bottom:0;left:0;transform:translateX(-100%);width:var(--awb-news-ticker-b-radius);height:inherit;background-color:inherit}@keyframes awb-news-ticker-indicator{0%{width:0%}100%{width:100%}}.rtl .awb-news-ticker-title-decorator{right:100%;left:auto}.rtl .awb-news-ticker-title-decorator-triangle{border-left:none;border-right:10px solid currentColor}.rtl .awb-news-ticker-title-rounded{border-radius:var(--awb-news-ticker-b-radius) 0 0 var(--awb-news-ticker-b-radius)}.rtl .awb-news-ticker-item-list-run{animation-direction:reverse}.rtl .awb-news-ticker-items-buttons{direction:ltr;left:0;right:auto;padding-left:var(--awb-ticker-padding-left)}.rtl .awb-news-ticker-item-list-carousel{left:auto;right:0;padding-right:var(--awb-ticker-padding-right);padding-left:0}.rtl .awb-news-ticker-carousel-indicator::after{left:auto;right:0;transform:translateX(100%)}.fusion-person{--awb-pic-style-color:rgba(0, 0, 0, 0.3);--awb-pic-borderradius:0;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-social-box-border-top:0;--awb-social-box-border-right:0;--awb-social-box-border-bottom:0;--awb-social-box-border-left:0;text-align:center;margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.fusion-person .person-shortcode-image-wrapper img{vertical-align:top;box-shadow:none;max-width:100%}.fusion-person .person-image-container{display:inline-block;z-index:1;max-width:100%;vertical-align:bottom}.fusion-person .person-image-container.glow{box-shadow:0 0 3px rgba(0,0,0,.3)}.fusion-person .person-image-container.dropshadow{box-shadow:2px 3px 7px rgba(0,0,0,.3)}.fusion-person .person-image-container.person-rounded-overflow{overflow:hidden}.fusion-person .person-desc{margin-top:25px}.fusion-person .person-desc .person-author{display:table;width:100%}.fusion-person .person-desc .person-author .fusion-social-networks,.fusion-person .person-desc .person-author .person-author-wrapper{display:table-cell;vertical-align:middle;float:none}.fusion-person .person-desc .person-author .person-author-wrapper{min-width:50%}.fusion-person .person-desc .person-author .fusion-social-networks{max-width:50%;text-align:right}.fusion-person .person-desc .person-author .person-name,.fusion-person .person-desc .person-author .person-title{display:block}.fusion-person .person-content{margin-top:25px}.fusion-person a{box-shadow:none!important}.fusion-person .element-bottomshadow::after,.fusion-person .element-bottomshadow::before{box-shadow:0 17px 10px var(--awb-pic-style-color)}.fusion-person .imageframe-liftup::before{border-radius:var(--awb-pic-borderradius)}.fusion-person .fusion-social-network-icon.custom.hover,.fusion-person .fusion-social-network-icon.custom:hover{color:var(--awb-social-icon-colors-hover)!important}.fusion-person .fusion-social-networks.boxed-icons .fusion-social-network-icon{border-width:var(--awb-social-box-border-top) var(--awb-social-box-border-right) var(--awb-social-box-border-bottom) var(--awb-social-box-border-left);border-color:var(--awb-social-box-border-color)}.fusion-person .fusion-social-networks.boxed-icons .fusion-social-network-icon.custom.hover,.fusion-person .fusion-social-networks.boxed-icons .fusion-social-network-icon.custom:hover{background-color:var(--awb-social-box-colors-hover)!important;border-color:var(--awb-social-box-border-color-hover)!important}.fusion-person-left .person-desc{text-align:left}.fusion-person-left .person-desc .fusion-person .fusion-social-network-icon:hover .person-author .fusion-social-networks{text-align:right}.fusion-person-left .person-desc .fusion-social-networks{text-align:left}.fusion-person-center .person-desc{text-align:center}.fusion-person-center .person-desc .person-author{display:block;width:100%}.fusion-person-center .person-desc .person-author .person-author-wrapper{display:block;width:100%}.fusion-person-center .person-desc .person-author .fusion-social-networks{display:block;width:100%;max-width:none;text-align:center;margin:20px auto 0}.fusion-person-center .person-desc .fusion-social-networks{text-align:center}.fusion-person-center .person-content{margin-top:25px}.fusion-person-right .person-desc{text-align:right}.fusion-person-right .person-desc .person-author .fusion-social-networks{text-align:left}.fusion-person-right .person-desc .fusion-social-networks{text-align:right}.fusion-person-icon-bottom .fusion-social-networks{margin-top:35px}.popover{--awb-title-bg-color:var(--popover_heading_bg_color);--awb-textcolor:var(--popover_text_color);--awb-bordercolor:var(--popover_border_color);--awb-content-bg-color:var(--popover_content_bg_color);--awb-arrowcolor:var(--popover_border_color);position:absolute;top:0;left:0;z-index:99999;display:none;max-width:276px;padding:0;text-align:left;background-color:#fff;border-radius:5px;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);border-color:var(--awb-bordercolor);white-space:normal}.popover .arrow{border-width:11px;position:absolute}.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;border-width:10px;content:""}.popover.top{margin-top:-10px}.popover.top .arrow{left:50%;margin-left:0;border-bottom-width:0;bottom:-11px;border-top-color:var(--awb-bordercolor)}.popover.top .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:var(--awb-arrowcolor)}.popover.right{margin-left:10px}.popover.right .arrow{top:50%;left:-11px;margin-top:0;border-left-width:0;border-right-color:var(--awb-bordercolor)}.popover.right .arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:var(--awb-arrowcolor)}.popover.bottom{margin-top:10px}.popover.bottom .arrow{left:50%;margin-left:0;border-top-width:0;top:-11px;border-bottom-color:var(--awb-bordercolor)}.popover.bottom .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:var(--awb-arrowcolor)}.popover.left{margin-left:-10px}.popover.left .arrow{top:50%;right:-11px;margin-top:0;border-right-width:0;border-left-color:var(--awb-bordercolor)}.popover.left .arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:var(--awb-arrowcolor);bottom:-10px}.popover .popover-title{margin:0;padding:8px 14px;border-radius:5px 5px 0 0;background-color:var(--awb-title-bg-color);color:var(--awb-textcolor);border-color:var(--awb-bordercolor)}.popover .popover-content{background-color:var(--awb-content-bg-color);color:var(--awb-textcolor);padding:9px 14px;border-radius:0 0 5px 5px}.fusion-popover{display:inline-block;max-width:100%;cursor:pointer}.fusion-pricing-table{margin:0 0 20px;box-sizing:border-box}.fusion-pricing-table *{box-sizing:border-box}.fusion-pricing-table .fusion-panel{overflow:hidden;margin:0;background-color:#fff;box-shadow:none;border-radius:0;background-clip:padding-box;border:1px solid #e5e4e3}.fusion-pricing-table .panel-heading{padding:15px;border-radius:0;background-clip:padding-box;border-bottom:1px solid #e5e4e3;text-align:center}.fusion-pricing-table .panel-heading h3{margin:0}.fusion-pricing-table .panel-body{padding:15px;background-color:#f8f8f8;text-align:center}.fusion-pricing-table .panel-body .price{position:relative}.fusion-pricing-table .panel-body .price .currency{position:relative;color:#505050}.fusion-pricing-table .panel-body .price .currency.pos-right{top:0;margin-left:-12px;font-size:32px}.fusion-pricing-table .panel-body .price .currency.pos-right.price-without-decimal{margin-left:0}.fusion-pricing-table .panel-body .price .integer-part{display:inline;font-weight:700;color:var(--pricing_box_color,#65bc7b);line-height:normal}.fusion-pricing-table .panel-body .price .decimal-part{position:relative;top:-30px;font-weight:700;color:var(--pricing_box_color,#65bc7b)}.fusion-pricing-table .panel-body .price .time{position:relative;font-style:italic;color:#888;margin-left:-14px}.fusion-pricing-table .panel-body .price .time.price-without-decimal{margin-left:0}.fusion-pricing-table .panel-body .price .time.pos-right{margin-left:12px}.fusion-pricing-table .list-group{margin:0;padding:0}.fusion-pricing-table .list-group-item{display:block;position:relative;padding:15px;margin:0;background:0 0;border-radius:0;border-top:1px solid #e5e4e3;text-align:center}.fusion-pricing-table .list-group-item:last-child{border-bottom:1px solid #e5e4e3}.fusion-pricing-table .panel-footer{padding:15px;background-color:#f8f8f8;border-radius:0;background-clip:padding-box;border-color:#e5e4e3;text-align:center}.fusion-pricing-table .panel-wrapper:hover{cursor:pointer}.fusion-pricing-table .panel-wrapper:hover .fusion-panel{background-color:#f8f8f8}#wrapper .full-boxed-pricing .panel-wrapper{padding:0}.full-boxed-pricing .panel-wrapper{padding:0}.full-boxed-pricing .panel-container{padding:9px;background-color:#f8f8f8}.full-boxed-pricing .panel-wrapper:last-child .fusion-panel{border-right:1px solid #e5e4e3}.full-boxed-pricing .panel-body .price .currency{top:-20px;font-size:21px}.full-boxed-pricing .panel-body .price .integer-part{font-size:55px}.full-boxed-pricing .panel-body .price .decimal-part{top:-20px;font-size:17px}.full-boxed-pricing .panel-body .price .time{font-size:11px}.full-boxed-pricing .panel-wrapper:hover .panel-heading{background-color:#f8f8f8}.full-boxed-pricing.fusion-pricing-table .standout .panel-heading h3{color:var(--pricing_box_color)}.sep-boxed-pricing .panel-wrapper{margin-bottom:10px;padding:0}.sep-boxed-pricing .panel-container{padding:9px;background-color:#f8f8f8}.sep-boxed-pricing .panel-heading{background-color:var(--pricing_box_color,#65bc7b);border-radius:0;background-clip:padding-box;border-bottom:1px solid #e5e4e3;text-align:center;border-color:var(--pricing_box_color)}.sep-boxed-pricing .panel-heading h3{margin:0}.sep-boxed-pricing .panel-body .price .currency{top:-30px;font-size:28px}.sep-boxed-pricing .panel-body .price .integer-part{font-size:75px}.sep-boxed-pricing .panel-body .price .decimal-part{font-size:23px}.sep-boxed-pricing .panel-body .price .time{font-size:20px}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.fusion-progressbar{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:10px;--awb-margin-left:0;--awb-font-family:inherit;--awb-font-style:inherit;--awb-font-weight:inherit;--awb-text-font-size:inherit;--awb-text-line-height:inherit;--awb-text-letter-spacing:inherit;--awb-text-text-transform:inherit;--awb-text-align:initial;--awb-textcolor:var(--progressbar_text_color);--awb-maximum-value-wrapper-width:auto;--awb-maximum-value-font-family:inherit;--awb-maximum-value-font-style:inherit;--awb-maximum-value-font-weight:inherit;--awb-maximum-value-font-size:inherit;--awb-maximum-value-line-height:inherit;--awb-maximum-value-letter-spacing:inherit;--awb-maximum-value-text-transform:inherit;--awb-maximum-value-color:var(--progressbar_maximum_value_color);--awb-maximum-value-text-align:initial;--awb-filling-speed:600ms;--awb-height:var(--progressbar_height);--awb-filledcolor:var(--progressbar_filled_color);--awb-fully-filled-color:var(--progressbar_fully_filled_color, var(--awb-filledcolor));--awb-unfilledcolor:var(--progressbar_unfilled_color);--awb-border-radius-top-left:0;--awb-border-radius-top-right:0;--awb-border-radius-bottom-right:0;--awb-border-radius-bottom-left:0;--awb-filledbordersize:var(--progressbar_filled_border_size);--awb-filledbordercolor:var(--progressbar_filled_border_color);position:relative;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-progressbar *{box-sizing:border-box}.fusion-progressbar .progress-title{font-family:var(--awb-font-family);font-style:var(--awb-font-style);font-weight:var(--awb-font-weight);font-size:var(--awb-text-font-size);line-height:var(--awb-text-line-height);letter-spacing:var(--awb-text-letter-spacing);text-transform:var(--awb-text-text-transform);color:var(--awb-textcolor);text-align:var(--awb-text-align)}.fusion-progressbar .progress-title.awb-on-bar{flex-grow:1}.fusion-progressbar .awb-pb-max-value-wrap{font-family:var(--awb-maximum-value-font-family);font-style:var(--awb-maximum-value-font-style);font-weight:var(--awb-maximum-value-font-weight);font-size:var(--awb-maximum-value-font-size);line-height:var(--awb-maximum-value-line-height);letter-spacing:var(--awb-maximum-value-letter-spacing);text-transform:var(--awb-maximum-value-text-transform);color:var(--awb-maximum-value-color);text-align:var(--awb-maximum-value-text-align)}.fusion-progressbar .awb-pb-max-value-wrap.awb-on-bar{width:var(--awb-maximum-value-wrapper-width)}.fusion-progressbar .awb-fully-filled+.awb-pb-max-value-wrap.awb-on-bar{width:100%;position:absolute;display:flex;justify-content:flex-end}.fusion-progressbar .awb-above-bar{margin-bottom:.3em}.fusion-progressbar .awb-on-bar{padding:0 1em}.fusion-progressbar .awb-below-bar{margin-top:.3em}.fusion-progressbar .awb-pb-texts-wrap{display:flex}.fusion-progressbar .awb-space-between{justify-content:space-between}.fusion-progressbar .awb-flow-row-reverse{flex-flow:row-reverse}.fusion-progressbar .awb-direction-column{flex-direction:column}.fusion-progressbar .awb-align-start{align-self:flex-start}.fusion-progressbar .awb-align-center{align-self:center}.fusion-progressbar .awb-align-end{align-self:flex-end}.progress-bar{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:5px;background-clip:padding-box;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress{display:flex;align-items:center;width:0%;height:100%;background-color:#65bc7b;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width var(--awb-filling-speed) ease,background-color .25s ease}.progress.not-animated{overflow:hidden;white-space:nowrap}.progress-striped .progress{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active .progress{animation:progress-bar-stripes 2s linear infinite}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.fusion-progressbar-bar{display:flex;align-items:center;margin:0;height:var(--awb-height);width:100%;background-color:var(--awb-unfilledcolor);background-clip:padding-box;box-shadow:none;border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-right) var(--awb-border-radius-bottom-left)}.fusion-progressbar-bar .progress{background-color:var(--awb-filledcolor);box-shadow:none;border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-right) var(--awb-border-radius-bottom-left);border:var(--awb-filledbordersize) solid var(--awb-filledbordercolor)}.fusion-progressbar-bar .awb-fully-filled{background-color:var(--awb-fully-filled-color)}.awb-stars-rating{--awb-icon-font-size:1.1rem;--awb-active-color:#fb0;--awb-inactive-color:#444;--awb-icons-distance:0.25em;--awb-text-font-size:1rem;--awb-text-font-color:inherit;--awb-icons-text-distance:0.5em;--awb-alignment:initial;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;display:flex;align-items:center;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);justify-content:var(--awb-alignment)}.awb-stars-rating-icons-wrapper{font-size:var(--awb-icon-font-size);margin-right:var(--awb-icons-text-distance);color:var(--awb-inactive-color);display:inline-block}.awb-stars-rating-text{font-size:var(--awb-text-font-size);color:var(--awb-text-font-color);display:inline-block}.awb-stars-rating-empty-icon,.awb-stars-rating-filled-icon,.awb-stars-rating-partial-icon-wrapper{margin-right:var(--awb-icons-distance)}.awb-stars-rating-icons-wrapper>i:last-of-type{margin-right:0}.awb-stars-rating-filled-icon,.awb-stars-rating-partial-icon{color:var(--awb-active-color)}.awb-stars-rating-partial-icon-wrapper{position:relative}.awb-stars-rating-partial-icon{left:0;top:0;position:absolute;overflow:hidden}.rtl .awb-stars-rating-partial-icon{right:0;left:auto}.rtl .awb-stars-rating-icons-wrapper{margin-right:0;margin-left:var(--awb-icons-text-distance)}.awb-stars-rating-no-text .awb-stars-rating-icons-wrapper{margin-left:0;margin-right:0}.fusion-recent-posts{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:50px;--awb-margin-left:0;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-recent-posts .columns{overflow:hidden}.fusion-recent-posts .columns .post{margin-bottom:0}.fusion-recent-posts .columns .column{overflow:hidden;box-sizing:border-box}.fusion-recent-posts .columns .column .fusion-flexslider{margin-bottom:0}.fusion-recent-posts .columns .column .fusion-flexslider:after{content:" ";display:table;clear:both}.fusion-recent-posts .columns .column .fusion-flexslider .slides{width:100%}.fusion-recent-posts .columns .column .entry-title{margin:15px 0 3px;clear:none}.fusion-recent-posts .columns .column a{text-decoration:none}.fusion-recent-posts .columns .column .meta{overflow:hidden;margin-bottom:13px;padding:0}.fusion-recent-posts .columns .column .meta .date{font-style:normal}.fusion-recent-posts .columns .column .meta .meta-separator{padding:0 5px}.fusion-recent-posts .columns .password{width:auto}.fusion-recent-posts.fusion-recent-posts-left{text-align:left}.fusion-recent-posts.fusion-recent-posts-center{text-align:center}.fusion-recent-posts.fusion-recent-posts-right{text-align:right}.fusion-recent-posts.layout-thumbnails-on-side .columns .column{margin-bottom:20px}.fusion-recent-posts.layout-thumbnails-on-side .columns .column .floated-slideshow{overflow:hidden;float:left;margin:0 20px 5px 0;width:144px}.fusion-recent-posts.layout-thumbnails-on-side .columns .column .entry-title{margin-top:0}.fusion-recent-posts.layout-date-on-side .date-and-formats{overflow:hidden;float:left;margin:0 20px 5px 0;width:82px}.fusion-recent-posts.layout-date-on-side .date-and-formats .date-box{padding:8px 0 5px;color:#fff}.fusion-recent-posts.layout-date-on-side .date-and-formats .date-box .date{display:block;font-size:29px;font-weight:700;line-height:29px}.fusion-recent-posts.layout-date-on-side .date-and-formats .format-box{margin-top:3px;background-color:#eef0f2}.fusion-recent-posts.layout-date-on-side .columns .column{margin-bottom:20px}.fusion-recent-posts.layout-date-on-side .columns .column .entry-title{margin-top:0}.fusion-scroll-progress{--awb-z-index:auto;--awb-height:10px;--awb-background-color:var(--awb-color2);--awb-progress-color:var(--awb-color4);--awb-border-size:0;--awb-border-color:transparent;--awb-border-radius:none;width:100%;pointer-events:none;appearance:none;border:0;z-index:var(--awb-z-index)!important;height:var(--awb-height);background-color:var(--awb-background-color);border-radius:var(--awb-border-radius)}.fusion-scroll-progress::-moz-progress-bar{height:var(--awb-height);border-radius:var(--awb-border-radius);background-color:var(--awb-progress-color);border:var(--awb-border-size) solid var(--awb-border-color)}.fusion-scroll-progress::-webkit-progress-bar{height:var(--awb-height);border-radius:var(--awb-border-radius);background-color:var(--awb-background-color)}.fusion-scroll-progress::-webkit-progress-value{height:var(--awb-height);border-radius:var(--awb-border-radius);background-color:var(--awb-progress-color);border:var(--awb-border-size) solid var(--awb-border-color)}.fusion-scroll-progress:focus{outline:0}.fusion-scroll-progress.fusion-fixed-bottom,.fusion-scroll-progress.fusion-fixed-top{position:fixed;z-index:99998;left:0;right:0}.fusion-scroll-progress.fusion-fixed-top{top:0}.admin-bar .fusion-scroll-progress.fusion-fixed-top{top:32px}.fusion-scroll-progress.fusion-fixed-bottom{bottom:0}@media screen and (max-width:782px){.admin-bar .fusion-scroll-progress.fusion-fixed-top{top:46px}}.fusion-section-separator{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-sep-padding:0;--awb-sep-font-size:inherit;--awb-sep-line-height:inherit;--awb-svg-padding:0;--awb-svg-tag-margin-bottom:0;--awb-svg-display:inline;--awb-border:0 none currentColor;--awb-border-top:var(--awb-border);--awb-border-right:var(--awb-border);--awb-border-bottom:var(--awb-border);--awb-border-left:var(--awb-border);--awb-icon-top:-10px;--awb-icon-bottom:auto;--awb-spacer-display:block;--awb-spacer-height:auto;--awb-spacer-padding-top:0;--awb-svg-margin-top:0;--awb-svg-margin-right:0;--awb-svg-margin-bottom:0;--awb-svg-margin-left:0;--awb-svg-wrapper-margin:0;--awb-section-separator-pos:absolute;--awb-divider-height:auto;--awb-bg-size:auto;--awb-icon-color:var(--icon_color);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-section-separator .fusion-section-separator-svg-wrapper{margin:var(--awb-svg-wrapper-margin)}.fusion-section-separator .fusion-section-separator-svg{border-top:var(--awb-border-top);border-right:var(--awb-border-right);border-bottom:var(--awb-border-bottom);border-left:var(--awb-border-left);margin:var(--awb-svg-margin-top) var(--awb-svg-margin-right) var(--awb-svg-margin-bottom) var(--awb-svg-margin-left);padding:var(--awb-sep-padding);font-size:var(--awb-sep-font-size);line-height:var(--awb-sep-line-height);position:var(--awb-section-separator-pos);left:0;right:0}.fusion-section-separator .fusion-section-separator-svg svg{display:var(--awb-svg-display);height:var(--awb-divider-height);padding:var(--awb-svg-padding);margin-bottom:var(--awb-svg-tag-margin-bottom)}.fusion-section-separator .fusion-section-separator-spacer.fusion-section-separator-fullwidth,.fusion-section-separator .fusion-section-separator-svg.fusion-section-separator-fullwidth{width:100vw}.ltr .fusion-section-separator .fusion-section-separator-spacer.fusion-section-separator-fullwidth,.ltr .fusion-section-separator .fusion-section-separator-svg.fusion-section-separator-fullwidth{left:50%;transform:translateX(-50%)}.rtl .fusion-section-separator .fusion-section-separator-spacer.fusion-section-separator-fullwidth,.rtl .fusion-section-separator .fusion-section-separator-svg.fusion-section-separator-fullwidth{right:50%;transform:translateX(50%)}.fusion-section-separator .fusion-section-separator-spacer{display:var(--awb-spacer-display)}.fusion-section-separator .fusion-section-separator-spacer.fusion-section-separator-fullwidth{position:relative}.fusion-section-separator .fusion-section-separator-spacer-height{height:calc(var(--awb-spacer-height) - 1px);padding-top:var(--awb-spacer-padding-top)}.fusion-section-separator .fusion-big-half-circle-candy,.fusion-section-separator .fusion-big-triangle-candy,.fusion-section-separator .fusion-clouds-candy,.fusion-section-separator .fusion-curved-candy,.fusion-section-separator .fusion-slant-candy{transform:scale(1,1)}.fusion-section-separator .divider-candy{z-index:100;position:absolute;left:50%;margin-left:-20px;height:40px;width:40px;border-bottom:1px solid #e6e5e6;border-left:1px solid #e6e5e6;background-color:transparent;content:""}.fusion-section-separator .divider-candy.bottom{bottom:-21px;transform:rotate(-45deg)}.fusion-section-separator .divider-candy.top{top:-21px;transform:rotate(135deg)}.fusion-section-separator .divider-candy.both{top:-21px;transform:rotate(135deg)}.fusion-section-separator .divider-candy-arrow{z-index:2;position:absolute;left:50%;margin-left:-29px;height:0;width:0;border-color:transparent;border-style:solid}.fusion-section-separator .divider-candy-arrow.bottom{border-width:29px 29px 0 29px}.fusion-section-separator .divider-candy-arrow.top{bottom:0;border-width:0 29px 29px}.fusion-section-separator .section-separator-icon{z-index:200;position:absolute;left:50%;top:var(--awb-icon-top);bottom:var(--awb-icon-bottom);margin-left:-20px;width:40px;font-size:20px;text-align:center;color:var(--awb-icon-color)}.fusion-section-separator .section-separator-icon:after{display:block;text-align:center}.fusion-section-separator .rounded-split.top::before{content:"";position:absolute;pointer-events:none;top:0;left:0;z-index:10;width:50%;height:71px;background:inherit;border-radius:0 0 80px 0}.fusion-section-separator .rounded-split.top::after{content:"";position:absolute;pointer-events:none;top:0;z-index:10;width:50%;height:71px;background:inherit;left:50%;border-radius:0 0 0 80px}.fusion-section-separator .rounded-split.bottom::before{content:"";position:absolute;pointer-events:none;top:0;left:0;z-index:10;width:50%;height:71px;background:inherit;border-radius:0 80px 0 0}.fusion-section-separator .rounded-split.bottom::after{content:"";position:absolute;pointer-events:none;top:0;z-index:10;width:50%;height:71px;background:inherit;left:50%;border-radius:80px 0 0 0}.fusion-section-separator .fusion-big-half-circle-candy,.fusion-section-separator .fusion-big-triangle-candy,.fusion-section-separator .fusion-clouds-candy,.fusion-section-separator .fusion-curved-candy{--awb-svg-display:block}.fusion-section-separator .fusion-hills-opacity-candy path:first-child,.fusion-section-separator .fusion-horizon-candy path:first-child,.fusion-section-separator .fusion-waves-opacity-candy path:first-child{opacity:.12}.fusion-section-separator .fusion-hills-opacity-candy path:nth-child(2),.fusion-section-separator .fusion-horizon-candy path:nth-child(2),.fusion-section-separator .fusion-waves-opacity-candy path:nth-child(2){opacity:.18}.fusion-section-separator .fusion-hills-opacity-candy path:nth-child(3),.fusion-section-separator .fusion-horizon-candy path:nth-child(3),.fusion-section-separator .fusion-waves-opacity-candy path:nth-child(3){opacity:.24}.fusion-section-separator .fusion-hills-opacity-candy path:nth-child(4){opacity:.3}.fusion-section-separator .fusion-section-separator-svg-bg{background-position:bottom;height:var(--awb-divider-height);background-size:var(--awb-bg-size)}.ua-edge .fusion-section-separator svg{transform:scale(1.01)}.fusion-sep-clear{clear:both;display:block;height:1px;font-size:0;line-height:0;width:100%;overflow:hidden}.fusion-separator{clear:both;position:relative;z-index:11}.fusion-absolute-separator{position:absolute;bottom:0}.fusion-absolute-separator.fusion-align-center{left:50%}.fusion-absolute-separator.fusion-align-center.fusion-single-px{transform:translateX(-50%)}.fusion-absolute-separator.fusion-align-center:not(.fusion-single-px){transform:translate(-50%,50%)}.fusion-absolute-separator.fusion-align-left{left:0;right:auto}.fusion-absolute-separator.fusion-align-left:not(.fusion-single-px){transform:translateY(50%)}.fusion-absolute-separator.fusion-align-right{right:0;left:auto}.fusion-absolute-separator.fusion-align-right:not(.fusion-single-px){transform:translateY(50%)}.fusion-body .fusion-separator{display:flex;align-items:center}.fusion-body .fusion-separator .fusion-separator-border{flex-grow:2;border:0 solid #e7e6e6}.fusion-body .fusion-separator .sep-none,.fusion-body .fusion-separator.sep-none{height:1px;border-color:transparent}.fusion-body .fusion-separator.fusion-has-icon .sep-shadow:first-of-type:after{background:radial-gradient(ellipse at 70% -50%,rgba(0,0,0,.5) 0,rgba(255,255,255,0) 75%)}.rtl.fusion-body .fusion-separator.fusion-has-icon .sep-shadow:first-of-type:after{background:radial-gradient(ellipse at 30% -50%,rgba(0,0,0,.5) 0,rgba(255,255,255,0) 75%)}.fusion-body .fusion-separator.fusion-has-icon .sep-shadow:nth-of-type(2):after{background:radial-gradient(ellipse at 30% -50%,rgba(0,0,0,.5) 0,rgba(255,255,255,0) 75%)}.rtl.fusion-body .fusion-separator.fusion-has-icon .sep-shadow:nth-of-type(2):after{background:radial-gradient(ellipse at 70% -50%,rgba(0,0,0,.5) 0,rgba(255,255,255,0) 75%)}.fusion-body .fusion-content-sep.sep-none{display:none}.fusion-body .fusion-content-sep,.fusion-body .fusion-separator,.fusion-body .fusion-separator-border{--awb-separator-pattern-url:none;--awb-sep-color:var(--sep_color);--awb-height:20px;--awb-amount:20px}.fusion-body .fusion-content-sep.sep-double,.fusion-body .fusion-separator-border.sep-double,.fusion-body .fusion-separator.sep-double{height:6px;border-bottom-width:1px;border-top-width:1px;box-sizing:content-box}.fusion-body .fusion-content-sep.sep-single,.fusion-body .fusion-separator-border.sep-single,.fusion-body .fusion-separator.sep-single{height:auto;border-top-width:1px;border-bottom-width:0}.fusion-body .fusion-content-sep.sep-solid,.fusion-body .fusion-separator-border.sep-solid,.fusion-body .fusion-separator.sep-solid{border-bottom-style:solid;border-top-style:solid}.fusion-body .fusion-content-sep.sep-dashed,.fusion-body .fusion-separator-border.sep-dashed,.fusion-body .fusion-separator.sep-dashed{border-bottom-style:dashed;border-top-style:dashed}.fusion-body .fusion-content-sep.sep-dotted,.fusion-body .fusion-separator-border.sep-dotted,.fusion-body .fusion-separator.sep-dotted{border-bottom-style:dotted;border-top-style:dotted}.fusion-body .fusion-content-sep.sep-transparent,.fusion-body .fusion-separator-border.sep-transparent,.fusion-body .fusion-separator.sep-transparent{border:none}.fusion-body .fusion-content-sep.sep-shadow,.fusion-body .fusion-separator-border.sep-shadow,.fusion-body .fusion-separator.sep-shadow{height:1px;overflow:visible;border:none;background:linear-gradient(to left,rgba(150,150,150,0) 0,rgba(150,150,150,0) 15%,rgba(150,150,150,.65) 50%,rgba(150,150,150,0) 85%,rgba(150,150,150,0) 100%)}.fusion-body .fusion-content-sep.sep-shadow:after,.fusion-body .fusion-separator-border.sep-shadow:after,.fusion-body .fusion-separator.sep-shadow:after{display:block;height:6px;width:100%;content:"";background:radial-gradient(ellipse at 50% -50%,rgba(0,0,0,.5) 0,rgba(255,255,255,0) 65%)}.fusion-body .fusion-content-sep.sep-wavy,.fusion-body .fusion-separator-border.sep-wavy,.fusion-body .fusion-separator.sep-wavy{background-color:var(--awb-sep-color);-webkit-mask-image:var(--awb-separator-pattern-url);mask-image:var(--awb-separator-pattern-url);-webkit-mask-size:var(--awb-amount) 100%;mask-size:var(--awb-amount) 100%;-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;min-height:var(--awb-height)}.fusion-body .fusion-content-sep .icon-wrapper,.fusion-body .fusion-separator .icon-wrapper{display:flex;align-items:center;justify-content:center;height:calc(var(--body_typography-font-size,16px) * 1.63);width:calc(var(--body_typography-font-size,16px) * 1.63);border:1px solid #aaa;border-radius:50%;background-clip:padding-box;text-align:center}.fusion-body .fusion-content-sep .icon-wrapper i,.fusion-body .fusion-separator .icon-wrapper i{display:block}body:not(:-moz-handler-blocked) .fusion-separator.sep-shadow:after{background:radial-gradient(ellipse at 50% -50%,rgba(0,0,0,.5) 0,rgba(255,255,255,0) 80%)}.fusion-sharing-box{--awb-layout:row;--awb-alignment:flex-end;--awb-stacked-align:flex-start;--awb-wrapper-padding-top:var(--social_sharing_padding-top);--awb-wrapper-padding-right:var(--social_sharing_padding-right);--awb-wrapper-padding-bottom:var(--social_sharing_padding-bottom);--awb-wrapper-padding-left:var(--social_sharing_padding-left);--awb-margin-top:60px;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-padding-top:0;--awb-padding-right:0;--awb-padding-bottom:0;--awb-padding-left:0;--awb-border-top:0;--awb-border-right:0;--awb-border-bottom:0;--awb-border-left:0;--awb-border-radius-top-left:0;--awb-border-radius-top-right:0;--awb-border-radius-bottom-right:0;--awb-border-radius-bottom-left:0;--awb-icon-tagline-color:var(--link_color);--awb-icon-tagline-color-hover:var(--link_color);--awb-tagline-text-size:var(--sharing_social_links_font_size, var(--awb-typography4-font-size));--awb-icon-size:var(--sharing_social_links_font_size, var(--awb-typography4-font-size));--awb-separator-border-color:var(--body_typography-color);--awb-separator-border-sizes:0;display:flex;flex-direction:var(--awb-layout);min-height:70px;width:100%;background-color:var(--social_bg_color,#f6f6f6);box-sizing:border-box;margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left);padding-top:var(--awb-wrapper-padding-top);padding-right:var(--awb-wrapper-padding-right);padding-bottom:var(--awb-wrapper-padding-bottom);padding-left:var(--awb-wrapper-padding-left);align-items:center;border-style:solid;border-top-width:var(--awb-border-top);border-right-width:var(--awb-border-right);border-bottom-width:var(--awb-border-bottom);border-left-width:var(--awb-border-left);border-top-left-radius:var(--awb-border-radius-top-left);border-top-right-radius:var(--awb-border-radius-top-right);border-bottom-right-radius:var(--awb-border-radius-bottom-right);border-bottom-left-radius:var(--awb-border-radius-bottom-left)}.fusion-sharing-box .tagline{margin-left:0;margin-top:0}.fusion-sharing-box .fusion-social-networks{text-align:right}.fusion-sharing-box .fusion-social-networks .fusion-social-network-icon{margin:5px 10px;text-decoration:none}.fusion-sharing-box .fusion-social-networks a:hover .fusion-social-network-icon{opacity:.8}.fusion-sharing-box .fusion-social-networks.boxed-icons .fusion-social-network-icon{margin:5px;padding:var(--sharing_social_links_boxed_padding)}.fusion-sharing-box .fusion-social-networks a,.fusion-sharing-box .fusion-social-networks i{font-size:var(--awb-icon-size)}.fusion-sharing-box a{box-shadow:none!important}.fusion-sharing-box .sharingbox-shortcode-icon-wrapper{justify-content:var(--awb-alignment);flex-grow:100;display:flex;flex-wrap:wrap;flex-direction:row}.fusion-sharing-box .sharingbox-shortcode-icon-wrapper span{border-style:solid;border-width:0;justify-content:space-between;display:inline-flex}.fusion-sharing-box .sharingbox-shortcode-icon-wrapper span.sharingbox-shortcode-icon-separator{border-width:0;border-style:solid;border-right-width:var(--awb-separator-border-sizes);border-color:var(--awb-separator-border-color)}.fusion-sharing-box .sharingbox-shortcode-icon-wrapper span:not(.sharingbox-shortcode-icon-separator){padding-top:var(--awb-padding-top);padding-right:var(--awb-padding-right);padding-bottom:var(--awb-padding-bottom);padding-left:var(--awb-padding-left)}.fusion-sharing-box .sharingbox-shortcode-icon-wrapper a{color:var(--awb-icon-tagline-color);font-size:var(--awb-tagline-text-size)}.fusion-sharing-box .sharingbox-shortcode-icon-wrapper a :hover{color:var(--awb-icon-tagline-color-hover)}.fusion-sharing-box .fusion-social-network-icon-tagline{display:inline;transition:inherit}.fusion-sharing-box.has-icon-taglines span a{display:flex;align-items:center}.fusion-sharing-box.has-icon-taglines.icon-taglines-placement-before .fusion-social-network-icon-tagline{margin-right:.5em}.fusion-sharing-box.has-icon-taglines.icon-taglines-placement-after .fusion-social-network-icon-tagline{margin-left:.5em}.fusion-sharing-box.layout-floated .tagline{margin-bottom:0}.fusion-sharing-box.layout-stacked{align-items:var(--awb-stacked-align);justify-content:space-around;width:100%}.fusion-slider-sc{--awb-arrow-position-vertical:50%;--awb-arrow-position-horizontal:0;--awb-arrow-size:var(--slider_arrow_size);--awb-arrow-bgcolor:var(--carousel_nav_color);--awb-arrow-color:#fff;--awb-arrow-hover-bgcolor:var(--carousel_hover_color);--awb-arrow-hover-color:var(--awb-arrow-color);--awb-arrow-border-sizes-top:0;--awb-arrow-border-sizes-right:0;--awb-arrow-border-sizes-bottom:0;--awb-arrow-border-sizes-left:0;--awb-arrow-border-color:transparent;--awb-arrow-border-radius-top-left:0;--awb-arrow-border-radius-top-right:0;--awb-arrow-border-radius-bottom-right:0;--awb-arrow-border-radius-bottom-left:0;--awb-arrow-border-style:none;--awb-arrow-border-hover-color:var(--awb-arrow-border-color);--awb-dots-color:#000;--awb-dots-active-color:var(--carousel_nav_color);--awb-dots-align:center;--awb-dots-size:8px;--awb-dots-active-size:8px;--awb-dots-position-vertical:0;--awb-dots-spacing:4px}.fusion-slider-sc .slides>li.fusion-flex-column{display:none}.fusion-slider-sc .slides>li.fusion-flex-column:first-child{display:block}.fusion-slider-sc .slides>li:first-child{display:block}.fusion-slider-sc .flex-direction-nav a{position:absolute;top:var(--awb-arrow-position-vertical);z-index:100;margin:-20px 0 0;height:var(--slider_nav_box_dimensions-height,30px);width:var(--slider_nav_box_dimensions-width,30px);opacity:0;overflow:hidden;color:var(--awb-arrow-color);background-color:var(--awb-arrow-bgcolor);background-repeat:no-repeat;border-width:var(--awb-arrow-border-sizes-top) var(--awb-arrow-border-sizes-right) var(--awb-arrow-border-sizes-bottom) var(--awb-arrow-border-sizes-left);border-style:var(--awb-arrow-border-style);border-color:var(--awb-arrow-border-color);border-radius:var(--awb-arrow-border-radius-top-left) var(--awb-arrow-border-radius-top-right) var(--awb-arrow-border-radius-bottom-right) var(--awb-arrow-border-radius-bottom-left);cursor:pointer;font-size:var(--awb-arrow-size);font-weight:400;font-family:awb-icons;-webkit-font-smoothing:none}.fusion-slider-sc:hover .flex-next:hover,.fusion-slider-sc:hover .flex-prev:hover{background-color:var(--awb-arrow-hover-bgcolor);border-color:var(--awb-arrow-border-hover-color);color:var(--awb-arrow-hover-color);opacity:1}.fusion-slider-sc .fusion-aligncenter{margin-left:auto;margin-right:auto}.fusion-slider-sc .fusion-slider-sc-cover .fusion-image-hover-element,.fusion-slider-sc .fusion-slider-sc-cover .image,.fusion-slider-sc .fusion-slider-sc-cover .slides,.fusion-slider-sc .fusion-slider-sc-cover img{height:100%}.fusion-slider-sc .fusion-slider-sc-cover .slides .image img{object-fit:cover}.fusion-social-networks .fusion-social-networks-wrapper{margin:0 -10px}.fusion-social-networks .fusion-social-network-icon{display:inline-block;margin:0 10px 10px;font-size:16px;color:#46494a;text-decoration:none;box-shadow:none!important;line-height:1}.fusion-social-networks .fusion-social-network-icon:before{color:inherit}.fusion-social-networks.boxed-icons .fusion-social-networks-wrapper{margin:0 -5px}.fusion-social-networks.boxed-icons .fusion-social-network-icon{margin:0 5px 10px;padding:8px;background-color:#46494a;border-radius:3px;background-clip:inherit;border:1px solid #46494a;color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.fusion-social-links{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-alignment:inherit;--awb-box-border-top:0;--awb-box-border-right:0;--awb-box-border-bottom:0;--awb-box-border-left:0;--awb-box-padding-top:var(--social_links_boxed_padding, 8px);--awb-box-padding-right:var(--social_links_boxed_padding, 8px);--awb-box-padding-bottom:var(--social_links_boxed_padding, 8px);--awb-box-padding-left:var(--social_links_boxed_padding, 8px);margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left);text-align:var(--awb-alignment)}.fusion-social-links .fusion-social-networks a{font-size:var(--social_links_font_size)}.fusion-social-links .fusion-social-networks .fusion-social-networks-wrapper{margin:-10px}.fusion-social-links .fusion-social-networks .fusion-social-networks-wrapper .fusion-social-network-icon{margin:10px}.fusion-social-links .fusion-social-networks.boxed-icons .fusion-social-network-icon{padding-top:var(--awb-box-padding-top);padding-right:var(--awb-box-padding-right);padding-bottom:var(--awb-box-padding-bottom);padding-left:var(--awb-box-padding-left);background-color:#46494a;border:1px solid #46494a;color:#fff}.fusion-social-links .fusion-social-networks.boxed-icons .fusion-social-networks-wrapper{margin:-5px}.fusion-social-links .fusion-social-networks.boxed-icons .fusion-social-networks-wrapper .fusion-social-network-icon{margin:5px}.fusion-social-links .fusion-social-networks.color-type-custom.boxed-icons .fusion-social-network-icon{border-top-width:var(--awb-box-border-top);border-right-width:var(--awb-box-border-right);border-bottom-width:var(--awb-box-border-bottom);border-left-width:var(--awb-box-border-left);border-color:var(--awb-box-border-color)!important}.fusion-social-links .fusion-social-networks.color-type-custom.boxed-icons .fusion-social-network-icon.hover,.fusion-social-links .fusion-social-networks.color-type-custom.boxed-icons .fusion-social-network-icon:hover{background-color:var(--awb-box-colors-hover)!important;border-color:var(--awb-box-border-color-hover)!important}.fusion-social-links .fusion-social-networks.color-type-custom .fusion-social-network-icon.hover,.fusion-social-links .fusion-social-networks.color-type-custom .fusion-social-network-icon:hover{color:var(--awb-icon-colors-hover)!important}.fusion-social-links .boxed-icons .fusion-social-networks-wrapper .fusion-social-network-icon{box-sizing:content-box;width:var(--social_links_font_size)}.fusion-social-links-footer{display:table-cell;vertical-align:middle;width:40%;text-align:right}.fusion-social-links-footer .fusion-social-networks{margin-top:10px}.widget .fusion-social-networks .fusion-social-networks-wrapper{margin:0 -5.5px}.widget .fusion-social-networks .fusion-social-network-icon{margin:0 5.5px 14px}.widget .fusion-social-networks.boxed-icons .fusion-social-networks-wrapper{margin:0 -3.5px}.widget .fusion-social-networks.boxed-icons .fusion-social-network-icon{margin:0 3.5px 10px}.fusion-syntax-highlighter-container{position:relative}.fusion-syntax-highlighter-container .syntax-highlighter-copy-code{text-align:right;display:inline-block;opacity:0;position:absolute;right:0;top:0;z-index:999;transition:.2s opacity}.fusion-syntax-highlighter-container .syntax-highlighter-copy-code .syntax-highlighter-copy-code-title{cursor:pointer;padding:5px 10px;display:inline-block}.fusion-syntax-highlighter-container:hover .syntax-highlighter-copy-code{opacity:1;transition:.2s opacity}.fusion-syntax-highlighter-container.fusion-syntax-highlighter-theme-dark .syntax-highlighter-copy-code{background:rgba(255,255,255,.15);color:#fff;transition:background .2s ease-in-out}.fusion-syntax-highlighter-container.fusion-syntax-highlighter-theme-dark .syntax-highlighter-copy-code.syntax-highlighter-copying{background:rgba(255,255,255,.25)!important}.fusion-syntax-highlighter-container.fusion-syntax-highlighter-theme-dark .syntax-highlighter-copy-code:hover{background:rgba(255,255,255,.2)}.fusion-syntax-highlighter-container.fusion-syntax-highlighter-theme-light .syntax-highlighter-copy-code{background:rgba(0,0,0,.1);color:#333;transition:background .2s ease-in-out}.fusion-syntax-highlighter-container.fusion-syntax-highlighter-theme-light .syntax-highlighter-copy-code.syntax-highlighter-copying{background:rgba(0,0,0,.25)!important}.fusion-syntax-highlighter-container.fusion-syntax-highlighter-theme-light .syntax-highlighter-copy-code:hover{background:rgba(0,0,0,.15)}.fusion-syntax-highlighter-container .CodeMirror-code{padding-top:5px;padding-bottom:5px}.fusion-syntax-highlighter-container .CodeMirror pre{padding-left:20px;padding-right:20px}.fusion-syntax-highlighter-container .CodeMirror .CodeMirror-gutters{border:none}.cm-s-elegant span.cm-atom,.cm-s-elegant span.cm-number,.cm-s-elegant span.cm-string{color:#762}.cm-s-elegant span.cm-comment{color:#262;font-style:italic;line-height:1em}.cm-s-elegant span.cm-meta{color:#555;font-style:italic;line-height:1em}.cm-s-elegant span.cm-variable{color:#000}.cm-s-elegant span.cm-variable-2{color:#b11}.cm-s-elegant span.cm-qualifier{color:#555}.cm-s-elegant span.cm-keyword{color:#730}.cm-s-elegant span.cm-builtin{color:#30a}.cm-s-elegant span.cm-link{color:#762}.cm-s-elegant span.cm-error{background-color:#fdd}.cm-s-elegant .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-elegant .CodeMirror-matchingbracket{outline:1px solid grey;color:#000!important}.cm-s-hopscotch.CodeMirror{background:#322931;color:#d5d3d5}.cm-s-hopscotch div.CodeMirror-selected{background:#433b42!important}.cm-s-hopscotch .CodeMirror-gutters{background:#322931;border-right:0}.cm-s-hopscotch .CodeMirror-linenumber{color:#797379}.cm-s-hopscotch .CodeMirror-cursor{border-left:1px solid #989498!important}.cm-s-hopscotch span.cm-comment{color:#b33508}.cm-s-hopscotch span.cm-atom{color:#c85e7c}.cm-s-hopscotch span.cm-number{color:#c85e7c}.cm-s-hopscotch span.cm-attribute,.cm-s-hopscotch span.cm-property{color:#8fc13e}.cm-s-hopscotch span.cm-keyword{color:#dd464c}.cm-s-hopscotch span.cm-string{color:#fdcc59}.cm-s-hopscotch span.cm-variable{color:#8fc13e}.cm-s-hopscotch span.cm-variable-2{color:#1290bf}.cm-s-hopscotch span.cm-def{color:#fd8b19}.cm-s-hopscotch span.cm-error{background:#dd464c;color:#989498}.cm-s-hopscotch span.cm-bracket{color:#d5d3d5}.cm-s-hopscotch span.cm-tag{color:#dd464c}.cm-s-hopscotch span.cm-link{color:#c85e7c}.cm-s-hopscotch .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-hopscotch .CodeMirror-activeline-background{background:#302020}.cm-s-oceanic-next.CodeMirror{background:#304148;color:#f8f8f2}.cm-s-oceanic-next div.CodeMirror-selected{background:rgba(101,115,126,.33)}.cm-s-oceanic-next .CodeMirror-line::selection,.cm-s-oceanic-next .CodeMirror-line>span::selection,.cm-s-oceanic-next .CodeMirror-line>span>span::selection{background:rgba(101,115,126,.33)}.cm-s-oceanic-next .CodeMirror-line::-moz-selection,.cm-s-oceanic-next .CodeMirror-line>span::-moz-selection,.cm-s-oceanic-next .CodeMirror-line>span>span::-moz-selection{background:rgba(101,115,126,.33)}.cm-s-oceanic-next .CodeMirror-gutters{background:#304148;border-right:10px}.cm-s-oceanic-next .CodeMirror-guttermarker{color:#fff}.cm-s-oceanic-next .CodeMirror-guttermarker-subtle{color:#d0d0d0}.cm-s-oceanic-next .CodeMirror-linenumber{color:#d0d0d0}.cm-s-oceanic-next .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-oceanic-next span.cm-comment{color:#65737e}.cm-s-oceanic-next span.cm-atom{color:#c594c5}.cm-s-oceanic-next span.cm-number{color:#f99157}.cm-s-oceanic-next span.cm-property{color:#99c794}.cm-s-oceanic-next span.cm-attribute,.cm-s-oceanic-next span.cm-keyword{color:#c594c5}.cm-s-oceanic-next span.cm-builtin{color:#66d9ef}.cm-s-oceanic-next span.cm-string{color:#99c794}.cm-s-oceanic-next span.cm-variable,.cm-s-oceanic-next span.cm-variable-2,.cm-s-oceanic-next span.cm-variable-3{color:#f8f8f2}.cm-s-oceanic-next span.cm-def{color:#69c}.cm-s-oceanic-next span.cm-bracket{color:#5fb3b3}.cm-s-oceanic-next span.cm-tag{color:#c594c5}.cm-s-oceanic-next span.cm-header{color:#c594c5}.cm-s-oceanic-next span.cm-link{color:#c594c5}.cm-s-oceanic-next span.cm-error{background:#c594c5;color:#f8f8f0}.cm-s-oceanic-next .CodeMirror-activeline-background{background:rgba(101,115,126,.33)}.cm-s-oceanic-next .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.fusion-search-element{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-input-height:var(--form_input_height);--awb-text-color:var(--form_text_color);--awb-focus-border-color:var(--form_focus_border_color);--awb-bg-color:var(--form_bg_color);--awb-border-size-top:var(--form_border_width-top);--awb-border-size-right:var(--form_border_width-right);--awb-border-size-bottom:var(--form_border_width-bottom);--awb-border-size-left:var(--form_border_width-left);--awb-border-color:var(--form_border_color);--awb-text-size:var(--form_text_size);--awb-border-radius:var(--form_border_radius);--awb-live-results-bg-color:var(--form_bg_color);--awb-live-results-link-color:var(--link_color);--awb-live-results-meta-color:var(--link_color);--awb-live-results-height:var(--live_search_results_height);--awb-live-results-scrollbar-bg:var(--scrollbar_background);--awb-live-results-scrollbar-handle:var(--scrollbar_handle);--awb-results-border-top:var(--form_border_width-top);--awb-results-border-right:var(--form_border_width-right);--awb-results-border-bottom:var(--form_border_width-bottom);--awb-results-border-left:var(--form_border_width-left);--awb-live-results-border-color:var(--form_border_color);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-search-element .searchform .fusion-search-form-content .fusion-search-field input{height:var(--awb-input-height);font-size:var(--awb-text-size);background-color:var(--awb-bg-color);border-top-width:var(--awb-border-size-top);border-right-width:var(--awb-border-size-right);border-bottom-width:var(--awb-border-size-bottom);border-left-width:var(--awb-border-size-left);border-color:var(--awb-border-color);color:var(--awb-text-color)}.fusion-search-element .searchform .fusion-search-form-content .fusion-search-button input[type=submit]{height:var(--awb-input-height);width:var(--awb-input-height);line-height:var(--awb-input-height)}.fusion-search-element.fusion-search-form-clean .searchform .fusion-search-form-content .fusion-search-field input{padding-left:var(--awb-input-height)}.fusion-search-element .searchform .fusion-search-form-content .fusion-search-field input::placeholder,.fusion-search-element.fusion-search-form-clean .searchform .fusion-search-form-content .fusion-search-button input[type=submit]{color:var(--awb-text-color);font-size:var(--awb-text-size)}.fusion-search-element .searchform .fusion-search-form-content .fusion-search-field input:focus{border-color:var(--awb-focus-border-color)}.fusion-search-element .fusion-search-form-classic .searchform:not(.fusion-search-form-clean) .fusion-search-form-content,.fusion-search-element .searchform.fusion-search-form-classic .fusion-search-form-content{border-radius:var(--awb-border-radius);overflow:hidden}.fusion-search-element .fusion-search-form-content input.s{border-radius:var(--awb-border-radius)}.fusion-search-element .fusion-live-search .fusion-search-results{max-height:var(--awb-live-results-height);transition:.3s opacity,.3s margin;background-color:var(--awb-live-results-bg-color);border-color:var(--awb-live-results-border-color);border-width:var(--awb-results-border-top) var(--awb-results-border-right) var(--awb-results-border-bottom) var(--awb-results-border-left);border-radius:var(--awb-border-radius)}.fusion-search-element .fusion-live-search .fusion-search-results.live-results-scrollbar-custom{overflow-y:auto;overflow-x:hidden}.fusion-search-element .fusion-live-search .fusion-search-results.live-results-scrollbar-custom.live-results-scrollbar-custom::-webkit-scrollbar{width:8px}.fusion-search-element .fusion-live-search .fusion-search-results.live-results-scrollbar-custom.live-results-scrollbar-custom::-webkit-scrollbar-track{background:var(--awb-live-results-scrollbar-bg)}.fusion-search-element .fusion-live-search .fusion-search-results.live-results-scrollbar-custom.live-results-scrollbar-custom::-webkit-scrollbar-thumb{background-color:var(--awb-live-results-scrollbar-handle);border-radius:5px}.fusion-search-element .fusion-live-search .fusion-search-results.live-results-scrollbar-default{overflow-y:auto;overflow-x:hidden}.fusion-search-element .fusion-live-search .fusion-search-results .fusion-search-result{color:var(--awb-live-results-link-color);border-color:var(--awb-live-results-border-color);border-width:var(--awb-results-border-top) var(--awb-results-border-right) var(--awb-results-border-bottom) var(--awb-results-border-left)}.fusion-search-element .fusion-live-search .fusion-search-results .fusion-search-result .fusion-search-post-type{color:var(--awb-live-results-meta-color)}table{max-width:100%;background-color:transparent}.table{width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.53846154;vertical-align:top;border-top:1px solid #e5e4e3}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #e5e4e3}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #e5e4e3}.table .table{background-color:#fff}@media (max-width:-1px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;border:1px solid #e5e4e3;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}}table{border-collapse:collapse;border-spacing:0}.table{border-color:#e5e4e3}.table>tbody>tr>th,.table>thead>tr>th{padding:20px;font-weight:700}.table>tbody>tr>td,.table>tfoot>tr>td,.table>thead>tr>td{padding:10px 20px}.table>tfoot>tr>td{font-weight:700}.table-1,.table-2{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.table-1 table,.tkt-slctr-tbl-wrap-dv table{border:1px solid #dcdcdc;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08),inset 0 0 0 1px rgba(255,255,255,.5)}.table-1 table th,.tkt-slctr-tbl-wrap-dv table th{border:1px solid #dcdcdc;background:#f6f6f6;padding:20px;text-align:left}.table-1 tr:nth-child(2n),.tkt-slctr-tbl-wrap-dv tr:nth-child(2n){background:#f6f6f6}.table-1 tr td,.tkt-slctr-tbl-wrap-dv tr td{border:1px solid #dcdcdc;padding:10px 20px}.table-2 table thead{border:1px solid #d3d3d3;text-align:left}.table-2 table th{padding:20px;color:#fff}.table-2 tr td{border-bottom:1px solid #dcdcdc;padding:10px 20px}.fusion-tabs{--awb-sticky-tabs-offset:var(--adminbar-height);--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:50px;--awb-margin-left:0;--awb-title-border-radius-top-left:0;--awb-title-border-radius-top-right:0;--awb-title-border-radius-bottom-right:0;--awb-title-border-radius-bottom-left:0;--awb-title-text-color:var(--h4_typography-color);--awb-title-active-text-color:var(--awb-title-text-color);--awb-title-font-size:var(--h4_typography-font-size);--awb-title-font-family:var(--h4_typography-font-family);--awb-title-font-style:var(--h4_typography-font-style, normal);--awb-title-font-weight:var(--h4_typography-font-weight);--awb-title-text-transform:var(--h4_typography-text-transform);--awb-title-line-height:var(--h4_typography-line-height);--awb-title-letter-spacing:var(--h4_typography-letter-spacing);--awb-inactive-color:#F1F2F2;--awb-title-padding-top:11px;--awb-title-padding-right:0px;--awb-title-padding-bottom:11px;--awb-title-padding-left:0px;--awb-content-padding-top:15px;--awb-content-padding-right:15px;--awb-content-padding-bottom:15px;--awb-content-padding-left:15px;margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.fusion-tabs .nav{display:none;border-color:var(--awb-border-color)!important}.fusion-tabs .nav a{text-decoration:none;box-shadow:none!important}.fusion-tabs .fusion-mobile-tab-nav{display:block}.fusion-tabs.clean{--awb-title-padding-top:14px;--awb-title-padding-right:15px;--awb-title-padding-bottom:14px;--awb-title-padding-left:15px;--awb-content-padding-top:0;--awb-content-padding-right:0;--awb-content-padding-bottom:0;--awb-content-padding-left:0}.fusion-tabs.clean .tab-pane{margin:20px 0}.fusion-tabs.clean .nav-tabs{background:0 0;border:none}.fusion-tabs.clean .nav-tabs li{margin-bottom:10px}.fusion-tabs.clean .nav-tabs li .tab-link{padding-top:var(--awb-title-padding-top);padding-right:var(--awb-title-padding-right);padding-bottom:var(--awb-title-padding-bottom);padding-left:var(--awb-title-padding-left);border:1px solid;border-color:var(--awb-border-color)!important;border-radius:var(--awb-title-border-radius-top-left) var(--awb-title-border-radius-top-right) var(--awb-title-border-radius-bottom-right) var(--awb-title-border-radius-bottom-left);background-color:var(--awb-inactive-color)}.fusion-tabs.clean .nav-tabs li .tab-link:focus,.fusion-tabs.clean .nav-tabs li .tab-link:hover{border:1px solid;border-color:var(--awb-background-color)}.fusion-tabs.clean .tab-content{margin-top:20px}.fusion-tabs.clean .tab-content .tab-pane{padding-top:var(--awb-content-padding-top);padding-right:var(--awb-content-padding-right);padding-bottom:var(--awb-content-padding-bottom);padding-left:var(--awb-content-padding-left);background:0 0;border:none}.fusion-tabs .nav-tabs{display:block;list-style:none outside none;margin:0;padding:0;border:1px solid #f1f2f2;border-bottom:none;border-color:var(--awb-border-color)!important;background-color:var(--awb-background-color,#fff)}.fusion-tabs .nav-tabs:after,.fusion-tabs .nav-tabs:before{content:" ";display:table}.fusion-tabs .nav-tabs:after{clear:both}.fusion-tabs .nav-tabs.nav-justified{width:100%;border-bottom:0 none}.fusion-tabs .nav-tabs li{display:block;position:relative;float:none;text-align:center;margin:0}.fusion-tabs .nav-tabs li .fusion-tab-heading{margin:0;display:flex;justify-content:center;align-items:center;font-family:var(--awb-title-font-family);font-style:var(--awb-title-font-style);font-weight:var(--awb-title-font-weight);font-size:var(--awb-title-font-size);line-height:var(--awb-title-line-height);text-transform:var(--awb-title-text-transform);letter-spacing:var(--awb-title-letter-spacing);color:var(--awb-title-text-color)}.fusion-tabs .nav-tabs li.active .fusion-tab-heading,.fusion-tabs .nav-tabs li:hover .fusion-tab-heading{color:var(--awb-title-active-text-color)}.fusion-tabs .nav-tabs li .tab-link{display:block;position:relative;margin:0;padding-top:var(--awb-title-padding-top);padding-right:var(--awb-title-padding-right);padding-bottom:var(--awb-title-padding-bottom);padding-left:var(--awb-title-padding-left);line-height:normal;border:none;border-top:3px solid var(--awb-inactive-color);background-color:var(--awb-inactive-color);color:#747474;cursor:pointer;transition:all .2s;--icon-color:inherit;--icon-active-color:inherit;border-radius:var(--awb-title-border-radius-top-left) var(--awb-title-border-radius-top-right) var(--awb-title-border-radius-bottom-right) var(--awb-title-border-radius-bottom-left)}.fusion-tabs .nav-tabs li .tab-link .fontawesome-icon{float:none;color:var(--icon-color)}.fusion-tabs .nav-tabs li .tab-link:focus,.fusion-tabs .nav-tabs li .tab-link:hover{background-color:var(--awb-background-color);border-top-color:var(--awb-background-color)}.fusion-tabs .nav-tabs li .tab-link:focus .fontawesome-icon,.fusion-tabs .nav-tabs li .tab-link:hover .fontawesome-icon{color:var(--icon-active-color)}.fusion-tabs .nav-tabs li.active .tab-link{background-color:var(--awb-background-color)}.fusion-tabs .nav-tabs li.active .tab-link:focus,.fusion-tabs .nav-tabs li.active .tab-link:hover{background-color:var(--awb-background-color)}.fusion-tabs .nav-tabs li.active .fontawesome-icon{color:var(--icon-active-color)}.fusion-tabs .nav-tabs>.active>.tab-link{border:none;background-color:#fff;cursor:pointer}.fusion-body .fusion-tabs .nav-tabs>.active>.tab-link{border-top-color:#65bc7b}.fusion-body .fusion-tabs .nav-tabs>.active>.tab-link:focus,.fusion-body .fusion-tabs .nav-tabs>.active>.tab-link:hover{border-top-color:#65bc7b}.fusion-tabs .tab-content>.active{display:block}.fusion-tabs .tab-pane{display:none;padding-top:var(--awb-content-padding-top);padding-right:var(--awb-content-padding-right);padding-bottom:var(--awb-content-padding-bottom);padding-left:var(--awb-content-padding-left);max-width:100%;border:1px solid #f1f2f2;border-top:none;background-color:var(--awb-background-color);border-color:var(--awb-border-color)!important;min-height:var(--awb-content-height,0);max-height:var(--awb-content-height,none);overflow-y:auto;overflow-x:hidden}.fusion-tabs.nav-not-justified{--awb-title-padding-top:11px;--awb-title-padding-right:15px;--awb-title-padding-bottom:11px;--awb-title-padding-left:15px}.fusion-tabs.nav-not-justified .nav-tabs .tab-link{padding-top:var(--awb-title-padding-top);padding-right:var(--awb-title-padding-right);padding-bottom:var(--awb-title-padding-bottom);padding-left:var(--awb-title-padding-left)}.fusion-tabs.classic .nav-tabs li.active .tab-link,.fusion-tabs.classic .nav-tabs li.active .tab-link:focus,.fusion-tabs.classic .nav-tabs li.active .tab-link:hover{border-right-color:var(--awb-background-color)}.fusion-tabs.classic .nav-tabs>li.active .tab-link,.fusion-tabs.classic .nav-tabs>li.active .tab-link:hover{border-color:var(--awb-active-border-color)!important}.fusion-tabs.classic.horizontal-tabs .nav-tabs>.active>.tab-link{border-top-width:3px;border-top-style:solid}.fusion-tabs.classic .tab-content .fusion-mobile-tab-nav:nth-last-child(2) .nav-tabs li:not(.active){border-bottom-width:1px;border-bottom-style:solid;border-color:inherit}.fusion-tabs.sticky-tabs>.nav{position:sticky;top:var(--awb-sticky-tabs-offset);z-index:100}.fusion-tabs.horizontal-tabs.nav-not-justified .nav:not(.fusion-mobile-tab-nav){display:flex}.fusion-tabs.horizontal-tabs.nav-not-justified.classic .nav:not(.fusion-mobile-tab-nav){justify-content:var(--awb-alignment,start)}.fusion-tabs.horizontal-tabs.nav-not-justified.clean .nav:not(.fusion-mobile-tab-nav){justify-content:var(--awb-alignment,center)}.fusion-tabs.vertical-tabs{--awb-title-padding-top:10px;--awb-title-padding-right:35px;--awb-title-padding-bottom:10px;--awb-title-padding-left:35px;--awb-content-padding-top:30px;--awb-content-padding-right:30px;--awb-content-padding-bottom:30px;--awb-content-padding-left:30px}.fusion-tabs.vertical-tabs.clean{--awb-content-padding-top:0;--awb-content-padding-right:0;--awb-content-padding-bottom:0;--awb-content-padding-left:0}.fusion-tabs.vertical-tabs .nav-tabs>li .tab-link{padding-top:var(--awb-title-padding-top);padding-right:var(--awb-title-padding-right);padding-bottom:var(--awb-title-padding-bottom);padding-left:var(--awb-title-padding-left)}.fusion-tabs.vertical-tabs .tab-pane{padding-top:var(--awb-content-padding-top);padding-right:var(--awb-content-padding-right);padding-bottom:var(--awb-content-padding-bottom);padding-left:var(--awb-content-padding-left)}.fusion-disable-outline .fusion-tabs .nav-tabs li .tab-link{outline:0}.fusion-tabs.vertical-tabs .nav-tabs li .fusion-tab-heading{justify-content:flex-start}.fusion-tabs.icon-position-right .nav-tabs li .tab-link .fontawesome-icon{margin-right:0;margin-left:10px}.fusion-tabs.icon-position-top .nav-tabs li .fusion-tab-heading{display:block}.fusion-tabs.icon-position-top .nav-tabs li .tab-link .fontawesome-icon{display:block;margin:0 auto;margin-bottom:10px;text-align:center}.fusion-builder-live-preview .fusion-tabs.mobile-mode-carousel .nav ::-webkit-scrollbar{height:8px}.fusion-builder-live-preview .fusion-tabs.mobile-mode-carousel .nav ::-webkit-scrollbar-thumb{background:#7c7c7c}.fusion-builder-live-preview .fusion-tabs.mobile-mode-carousel .nav ::-webkit-scrollbar-thumb:hover{background:#373737}.fusion-builder-live-preview .fusion-tabs.mobile-mode-carousel .nav .nav-tabs{overflow:hidden}.fusion-builder-live-preview .fusion-tabs.mobile-mode-carousel .nav:hover .nav-tabs{overflow-x:auto}.fusion-reading-box-container{--awb-title-font-family:var(--h2_typography-font-family);--awb-title-font-style:var(--h2_typography-font-style, normal);--awb-title-font-weight:var(--h2_typography-font-weight);--awb-title-color:var(--h2_typography-color);--awb-title-font-size:var(--h2_typography-font-size);--awb-title-line-height:var(--h2_typography-line-height);--awb-title-letter-spacing:var(--h2_typography-letter-spacing);--awb-title-text-transform:var(--h2_typography-text-transform);--awb-description-font-size:var(--body_typography-font-size);--awb-content-font-size:var(--body_typography-font-size);--awb-margin-top:0;--awb-margin-bottom:84px;z-index:1;position:relative;margin-bottom:var(--awb-margin-bottom);margin-top:var(--awb-margin-top)}.fusion-reading-box-container .reading-box{padding:28px 28px 27px 31px;background-color:#f2efef;border-left:3px solid #65bc7b}.fusion-reading-box-container .reading-box.reading-box-center{text-align:center}.fusion-reading-box-container .reading-box.reading-box-right{text-align:right}.fusion-reading-box-container .reading-box h2{margin:0;padding-top:0;font-family:var(--awb-title-font-family);font-weight:var(--awb-title-font-weight);font-size:var(--awb-title-font-size);letter-spacing:var(--awb-title-letter-spacing);line-height:var(--awb-title-line-height);text-transform:var(--awb-title-text-transform);color:var(--awb-title-color)}.fusion-reading-box-container .fusion-reading-box-flex{display:flex;align-items:center;justify-content:space-between}.fusion-reading-box-container .fusion-reading-box-flex .fusion-desktop-button{flex-shrink:0}.fusion-reading-box-container .fusion-reading-box-additional{margin-top:.42em;font-size:var(--awb-description-font-size)}.fusion-reading-box-container .reading-box-additional{font-size:var(--awb-content-font-size)}.fusion-reading-box-container .reading-box-additional p:last-child{margin-bottom:0}.fusion-reading-box-container .fusion-desktop-button{display:block}.fusion-reading-box-container .fusion-desktop-button-margin{margin-bottom:10px}.fusion-reading-box-container .continue-center{display:inline-block;float:none;margin:15px auto 0}.fusion-reading-box-container .continue-left{float:left;margin-right:10px}.fusion-reading-box-container .continue-right{float:right;margin-left:10px}.fusion-reading-box-container .fusion-mobile-button{display:none;float:none;margin:15px 0 0}.fusion-reading-box-container .fusion-mobile-button.continue-center{display:inline-block}.fusion-reading-box-container>svg{position:absolute;top:99.5%;left:0}.fusion-testimonials{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-backgroundcolor:var(--testimonial_bg_color);--awb-textcolor:var(--testimonial_text_color);--awb-testimonial-text-transform:inherit;--awb-testimonial-text-font-family:inherit;--awb-testimonial-text-font-style:italic;--awb-testimonial-text-font-weight:inherit;--awb-name-company-text-color:var(--awb-textcolor);--awb-name-company-font-size:inherit;--awb-name-company-line-height:inherit;--awb-name-company-text-transform:inherit;--awb-name-company-font-family:inherit;--awb-name-company-font-style:inherit;--awb-name-company-font-weight:inherit;--awb-testimonial-border-width:var(--testimonial-border-width-top) var(--testimonial-border-width-right) var(--testimonial-border-width-bottom) var(--testimonial-border-width-left);--awb-testimonial-border-style:var(--awb-testimonial-border-style-default, solid);--awb-testimonial-border-color:var(--awb-testimonial-border-color-default, #222);--awb-border-top-left-radius:var(--awb-testimonial-border-top-left-radius-default, 0);--awb-border-top-right-radius:var(--awb-testimonial-border-top-right-radius-default, 0);--awb-border-bottom-right-radius:var(--awb-testimonial-border-bottom-right-radius-default, 0);--awb-border-bottom-left-radius:var(--awb-testimonial-border-bottom-left-radius-default, 0);--awb-navigation-size:12px;--awb-navigation-color:var(--awb-textcolor);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);border:none}.fusion-testimonials .reviews{position:relative;width:100%;transition:height ease-in-out .5s}.fusion-testimonials .reviews .review{position:absolute}.fusion-testimonials .reviews .active-testimonial{position:relative}.fusion-testimonials .author{color:var(--awb-name-company-text-color)}.fusion-testimonials .review{top:0;opacity:0;transition:opacity ease-in-out .5s;pointer-events:none}.fusion-testimonials .active-testimonial{z-index:1;opacity:1;pointer-events:auto}.fusion-testimonials blockquote{margin:0;padding:0}.fusion-testimonials blockquote.has-transparent-color .awb-quote{padding:0}.fusion-testimonials blockquote .awb-quote{float:none;padding:1.25em 1.5em;text-transform:var(--awb-testimonial-text-text-transform);font-family:var(--awb-testimonial-text-font-family);font-weight:var(--awb-testimonial-text-font-weight);font-style:var(--awb-testimonial-text-font-style);color:var(--awb-textcolor);background-color:var(--awb-backgroundcolor);border-width:var(--awb-testimonial-border-width);border-style:var(--awb-testimonial-border-style);border-color:var(--awb-testimonial-border-color);border-top-left-radius:var(--awb-border-top-left-radius);border-top-right-radius:var(--awb-border-top-right-radius);border-bottom-right-radius:var(--awb-border-bottom-right-radius);border-bottom-left-radius:var(--awb-border-bottom-left-radius)}.fusion-testimonials blockquote .awb-quote.awb-testimonial-icon{display:flex;align-items:center;box-sizing:content-box;position:relative;min-height:2em}.fusion-testimonials blockquote .awb-quote-content{z-index:1;width:100%;color:inherit}.rtl .fusion-testimonials blockquote .awb-quote-content{direction:rtl}.fusion-testimonials blockquote .awb-t-icon-left,.fusion-testimonials blockquote .awb-t-icon-right{position:absolute;top:.6125em;opacity:.2;font-size:2em;line-height:1}.fusion-testimonials blockquote .awb-t-icon-left{left:.75em;transform:translate(-25%,-25%)}.fusion-testimonials blockquote .awb-t-icon-right{right:.75em;transform:translate(25%,-25%)}.fusion-testimonials .company-name{font-family:var(--awb-name-company-font-family);font-weight:var(--awb-name-company-font-weight);font-style:var(--awb-name-company-font-style);font-size:var(--awb-name-company-font-size);line-height:var(--awb-name-company-line-height);letter-spacing:var(--awb-name-company-letter-spacing);text-transform:var(--awb-name-company-text-transform);color:var(--awb-name-company-text-color)}.fusion-testimonials .doe{position:relative;text-align:center;color:var(--awb-name-company-text-color)}.fusion-testimonials .doe:before{line-height:40px;font-family:awb-icons;font-size:28px}.fusion-testimonials .testimonial-image{--awb-border-radius:0;border-radius:var(--awb-border-radius)}.fusion-testimonials .female .doe:before{content:"\e61b"}.fusion-testimonials .male .doe:before{content:"\e61a"}.fusion-testimonials .testimonial-pagination{display:flex;align-items:center;justify-content:center;margin-top:calc(1.1rem + var(--awb-navigation-size) * .4)}.fusion-testimonials .testimonial-pagination a{display:inline-block;margin:0 calc(var(--awb-navigation-size) * .4);height:var(--awb-navigation-size);width:var(--awb-navigation-size);border-radius:50%;border:1px solid var(--awb-navigation-color)}.fusion-testimonials .testimonial-pagination a.activeSlide,.fusion-testimonials .testimonial-pagination a:hover{background-color:var(--awb-navigation-color)}.fusion-testimonials.classic .alignment-left{direction:ltr;display:flex;flex-flow:column}.fusion-testimonials.classic .alignment-left blockquote{justify-content:left}.fusion-testimonials.classic .alignment-left .awb-quote-content{text-align:left}.fusion-testimonials.classic .alignment-left .author{flex-flow:row}.fusion-testimonials.classic .alignment-left .company-name{flex-flow:row}.fusion-testimonials.classic .alignment-left .company-name>span{padding-inline:0 0.25em}.fusion-testimonials.classic .alignment-right{direction:ltr;display:flex;flex-flow:column}.fusion-testimonials.classic .alignment-right blockquote{justify-content:right}.fusion-testimonials.classic .alignment-right .awb-quote-content{text-align:right}.fusion-testimonials.classic .alignment-right .author{flex-flow:row-reverse}.fusion-testimonials.classic .alignment-right .company-name{flex-flow:row-reverse}.fusion-testimonials.classic .alignment-right .company-name>span{padding-inline:0.25em 0}.fusion-testimonials.classic .alignment-right .awb-triangle{margin:0 calc(var(--awb-avatar-size,40px) * .75 + var(--testimonial-border-width-right)/ 2)}.fusion-testimonials.classic.awb-speech-bubble-hide .author{margin-top:1em}.fusion-testimonials.classic blockquote{display:flex;flex-wrap:wrap;position:relative;border:none;background-color:transparent}.fusion-testimonials.classic blockquote .awb-quote{width:100%;font-size:var(--awb-testimonial-text-font-size, inherit);line-height:var(--awb-testimonial-text-line-height, normal);letter-spacing:var(--awb-testimonial-text-letter-spacing, inherit)}.fusion-testimonials.classic .awb-triangle{display:flex;overflow:hidden;position:absolute;top:100%;margin:0 calc(var(--awb-avatar-size,40px) * .75 + var(--testimonial-border-width-left)/ 2);transform:translate(0,calc(-50% - var(--testimonial-border-width-bottom)));font-size:var(--awb-testimonial-text-font-size, inherit)}.fusion-testimonials.classic .awb-triangle:before{content:"";display:block;box-sizing:content-box;width:1.25em;height:1.25em;transform:rotate(45deg) scale(70.710678%);background-color:var(--awb-backgroundcolor);border:calc(var(--testimonial-border-width-bottom) * 1.41421356237) var(--awb-testimonial-border-style) var(--awb-testimonial-border-color);border-top-color:transparent;border-left-color:transparent;font-size:inherit;clip-path:polygon(0% 100%,100% 0,100% 100%)}.fusion-testimonials.classic .avatar-image .awb-triangle{position:relative;margin:0 var(--awb-avatar-size,40px)}.fusion-testimonials.classic .author{display:flex;align-items:center;position:relative;margin:.5em -.5em 0 -.5em;font-size:var(--awb-name-company-font-size)}.fusion-testimonials.classic .author a{text-decoration:none}.fusion-testimonials.classic .testimonial-thumbnail{box-sizing:content-box;padding:0 .5em;width:var(--awb-avatar-size,40px)}.fusion-testimonials.classic .testimonial-image{width:100%}.fusion-testimonials.classic .company-name{display:flex;padding:0 .5em}.fusion-testimonials.classic .company-name>span{padding-inline:0 0.25em}.fusion-testimonials.classic .doe{width:calc((var(--awb-avatar-size,40px)) * .75)}.fusion-testimonials.classic .doe:before{line-height:var(--awb-avatar-size, 40px);font-size:calc((var(--awb-avatar-size, 40px)) * .75)}.fusion-testimonials.clean .testimonial-thumbnail{margin:0 auto;width:var(--awb-avatar-size,150px);text-align:center}.fusion-testimonials.clean .testimonial-image{width:100%}.fusion-testimonials.clean .doe:before{line-height:calc((var(--awb-avatar-size, 150px)) * .75 + 10px);font-size:calc((var(--awb-avatar-size, 150px)) * .75)}.fusion-testimonials.clean blockquote{border:none;background-color:transparent}.fusion-testimonials.clean blockquote .awb-quote{font-size:var(--awb-testimonial-text-font-size, 18px);line-height:var(--awb-testimonial-text-line-height, 30px);letter-spacing:var(--awb-testimonial-text-letter-spacing, 2px);text-align:center}.fusion-testimonials.clean .author{margin-top:1.5rem;font-size:18px;text-align:center;letter-spacing:2px}.fusion-testimonials.clean .author a{text-decoration:none}.fusion-testimonials.clean .avatar-above .testimonial-thumbnail{margin-bottom:1.5rem}.fusion-testimonials.clean .avatar-below .testimonial-thumbnail{margin-top:1.5rem}.fusion-text{--awb-content-alignment:initial;--awb-font-size:inherit;--awb-line-height:inherit;--awb-letter-spacing:inherit;--awb-text-transform:inherit;--awb-text-color:inherit;--awb-text-font-family:inherit;--awb-text-font-style:inherit;--awb-text-font-weight:inherit;--awb-columns:var(--text_columns, auto);--awb-column-spacing:var(--text_column_spacing, normal);--awb-column-min-width:var(--text_column_min_width, auto);--awb-rule-style:var(--text_rule_style, initial);--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-user-select:var(--text_user_select, auto);--awb-width:auto;--awb-min-width:auto;--awb-max-width:none;text-align:var(--awb-content-alignment);font-size:var(--awb-font-size);line-height:var(--awb-line-height);letter-spacing:var(--awb-letter-spacing);text-transform:var(--awb-text-transform);color:var(--awb-text-color);font-family:var(--awb-text-font-family);font-weight:var(--awb-text-font-weight);font-style:var(--awb-text-font-style);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);-webkit-user-select:var(--awb-user-select);user-select:var(--awb-user-select);width:var(--awb-width);min-width:var(--awb-min-width);max-width:var(--awb-max-width)}.awb-text-cols{column-count:var(--awb-columns);column-gap:var(--awb-column-spacing);column-width:var(--awb-column-min-width);column-rule:var(--awb-rule-style)}.fusion-body .fusion-title{--awb-highlight-color:var(--primary_color, #65bc7b);--awb-highlight-top-margin:0;--awb-highlight-animation-duration:1500;--awb-highlight-width:9;--awb-text-color:var(--body_typography-color);--awb-animated-text-color:var(--awb-text-color);--awb-margin-top:var(--title_margin-top);--awb-margin-right:var(--title_margin-right);--awb-margin-bottom:var(--title_margin-bottom);--awb-margin-left:var(--title_margin-left);--awb-link-color:var(--link_color);--awb-link-hover-color:var(--link_hover_color);--awb-sep-color:var(--title_border_color);--awb-font-size:var(--body_typography-font-size);--awb-marquee-direction:normal;--awb-marquee-speed:5000ms;--awb-marquee-translate-x:100%;--awb-marquee-translate-y:0%;margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left);display:flex;flex-wrap:nowrap;align-items:center;border-bottom-color:var(--awb-sep-color);font-size:var(--awb-font-size)}.fusion-body .fusion-title a{color:var(--awb-link-color)}.fusion-body .fusion-title a:hover{color:var(--awb-link-hover-color)}.fusion-body .fusion-title.fusion-title-size-one{--awb-font-size:var(--h1_typography-font-size);--awb-text-color:var(--h1_typography-color)}.fusion-body .fusion-title.fusion-title-size-two{--awb-font-size:var(--h2_typography-font-size);--awb-text-color:var(--h2_typography-color)}.fusion-body .fusion-title.fusion-title-size-three{--awb-font-size:var(--h3_typography-font-size);--awb-text-color:var(--h3_typography-color)}.fusion-body .fusion-title.fusion-title-size-four{--awb-font-size:var(--h4_typography-font-size);--awb-text-color:var(--h4_typography-color)}.fusion-body .fusion-title.fusion-title-size-five{--awb-font-size:var(--h5_typography-font-size);--awb-text-color:var(--h5_typography-color)}.fusion-body .fusion-title.fusion-title-size-six{--awb-font-size:var(--h6_typography-font-size);--awb-text-color:var(--h6_typography-color)}.fusion-body .fusion-title h1>p:last-of-type,.fusion-body .fusion-title h2>p:last-of-type,.fusion-body .fusion-title h3>p:last-of-type,.fusion-body .fusion-title h4>p:last-of-type,.fusion-body .fusion-title h5>p:last-of-type,.fusion-body .fusion-title h6>p:last-of-type{margin-bottom:0}.fusion-body .fusion-title .comment-reply-title{margin:0}.fusion-body .fusion-title .comment-reply-title.title-heading-left,.fusion-body .fusion-title div.title-heading-tag.title-heading-left,.fusion-body .fusion-title h1.title-heading-left,.fusion-body .fusion-title h2.title-heading-left,.fusion-body .fusion-title h3.title-heading-left,.fusion-body .fusion-title h4.title-heading-left,.fusion-body .fusion-title h5.title-heading-left,.fusion-body .fusion-title h6.title-heading-left,.fusion-body .fusion-title p.title-heading-tag.title-heading-left{text-align:left}.fusion-body .fusion-title .comment-reply-title.title-heading-left .fontawesome-icon,.fusion-body .fusion-title div.title-heading-tag.title-heading-left .fontawesome-icon,.fusion-body .fusion-title h1.title-heading-left .fontawesome-icon,.fusion-body .fusion-title h2.title-heading-left .fontawesome-icon,.fusion-body .fusion-title h3.title-heading-left .fontawesome-icon,.fusion-body .fusion-title h4.title-heading-left .fontawesome-icon,.fusion-body .fusion-title h5.title-heading-left .fontawesome-icon,.fusion-body .fusion-title h6.title-heading-left .fontawesome-icon,.fusion-body .fusion-title p.title-heading-tag.title-heading-left .fontawesome-icon{margin-right:10px}.fusion-body .fusion-title .comment-reply-title.title-heading-right,.fusion-body .fusion-title div.title-heading-tag.title-heading-right,.fusion-body .fusion-title h1.title-heading-right,.fusion-body .fusion-title h2.title-heading-right,.fusion-body .fusion-title h3.title-heading-right,.fusion-body .fusion-title h4.title-heading-right,.fusion-body .fusion-title h5.title-heading-right,.fusion-body .fusion-title h6.title-heading-right,.fusion-body .fusion-title p.title-heading-tag.title-heading-right{text-align:right}.fusion-body .fusion-title .comment-reply-title.title-heading-right .fontawesome-icon,.fusion-body .fusion-title .comment-reply-title.title-heading-right img,.fusion-body .fusion-title div.title-heading-tag.title-heading-right .fontawesome-icon,.fusion-body .fusion-title div.title-heading-tag.title-heading-right img,.fusion-body .fusion-title h1.title-heading-right .fontawesome-icon,.fusion-body .fusion-title h1.title-heading-right img,.fusion-body .fusion-title h2.title-heading-right .fontawesome-icon,.fusion-body .fusion-title h2.title-heading-right img,.fusion-body .fusion-title h3.title-heading-right .fontawesome-icon,.fusion-body .fusion-title h3.title-heading-right img,.fusion-body .fusion-title h4.title-heading-right .fontawesome-icon,.fusion-body .fusion-title h4.title-heading-right img,.fusion-body .fusion-title h5.title-heading-right .fontawesome-icon,.fusion-body .fusion-title h5.title-heading-right img,.fusion-body .fusion-title h6.title-heading-right .fontawesome-icon,.fusion-body .fusion-title h6.title-heading-right img,.fusion-body .fusion-title p.title-heading-tag.title-heading-right .fontawesome-icon,.fusion-body .fusion-title p.title-heading-tag.title-heading-right img{margin-left:10px;margin-right:0}.fusion-body .fusion-title .comment-reply-title img,.fusion-body .fusion-title div.title-heading-tag img,.fusion-body .fusion-title h1 img,.fusion-body .fusion-title h2 img,.fusion-body .fusion-title h3 img,.fusion-body .fusion-title h4 img,.fusion-body .fusion-title h5 img,.fusion-body .fusion-title h6 img,.fusion-body .fusion-title p.title-heading-tag img{margin-right:10px}.fusion-body .fusion-title .comment-reply-title .fontawesome-icon,.fusion-body .fusion-title div.title-heading-tag .fontawesome-icon,.fusion-body .fusion-title h1 .fontawesome-icon,.fusion-body .fusion-title h2 .fontawesome-icon,.fusion-body .fusion-title h3 .fontawesome-icon,.fusion-body .fusion-title h4 .fontawesome-icon,.fusion-body .fusion-title h5 .fontawesome-icon,.fusion-body .fusion-title h6 .fontawesome-icon,.fusion-body .fusion-title p.title-heading-tag .fontawesome-icon{display:inline-block;float:none;vertical-align:middle;margin-left:0;margin-top:0}.fusion-body .fusion-title .awb-title-spacer{max-width:.3em;flex-grow:1}.fusion-body .fusion-title.fusion-title-center{text-align:center}.fusion-body .fusion-title.fusion-title-center.fusion-sep-none .title-heading-center,.fusion-body .fusion-title.fusion-title-center.sep-underline .title-heading-center{padding:0;text-align:center}.fusion-body .fusion-title.fusion-sep-none{display:block}.fusion-body .fusion-title.fusion-sep-none .title-heading-left{padding:0;text-align:left}.fusion-body .fusion-title.fusion-sep-none .title-heading-right{padding:0;text-align:right}.fusion-body .fusion-title .title-sep-container{position:relative;height:6px;flex-grow:1}.fusion-body .fusion-title.sep-underline{display:block;padding-bottom:10px;width:100%;border-bottom:1px solid var(--awb-sep-color)}.fusion-body .fusion-title.sep-underline.sep-dashed{border-bottom-style:dashed}.fusion-body .fusion-title.sep-underline.sep-dotted{border-bottom-style:dotted}.fusion-body .fusion-title.sep-underline .title-heading-right{margin:0}.fusion-body .fusion-title.sep-underline .title-heading-left,.fusion-body .fusion-title.sep-underline .title-heading-right{padding:0}.fusion-body .fusion-title .title-sep{position:relative;display:block;width:100%;border-style:solid;border:0 solid var(--awb-sep-color);box-sizing:content-box}.fusion-body .fusion-title .title-sep.sep-double{height:6px;border-bottom-width:1px;border-top-width:1px}.fusion-body .fusion-title .title-sep.sep-single{border-bottom-width:1px}.fusion-body .fusion-title .title-sep.sep-dashed{border-bottom-style:dashed;border-top-style:dashed}.fusion-body .fusion-title .title-sep.sep-dotted{border-bottom-style:dotted;border-top-style:dotted}.fusion-body .fusion-title .fusion-animated-texts{visibility:hidden}.fusion-body .fusion-title .fusion-animated-texts-wrapper{position:relative;display:inline-block;white-space:nowrap;width:0;text-align:initial}.fusion-body .fusion-title .fusion-animated-text{opacity:0;position:absolute}.fusion-body .fusion-title.fusion-title-typeIn .fusion-animated-texts-wrapper:before{content:"";position:absolute;left:auto;right:0;top:50%;transform:translateY(-50%);height:90%;width:1px;background-color:var(--awb-text-color);animation:typeInCursor 1s infinite}.fusion-body .fusion-title.fusion-title-clipIn span[class^=line]{overflow:hidden;display:inline-flex!important;width:0}.fusion-body .fusion-title.fusion-title-clipIn .fusion-animated-texts-wrapper:before{content:"";position:absolute;top:0;left:auto;right:0;width:2px;height:100%;background-color:var(--awb-text-color)}.fusion-body .fusion-title.fusion-title-highlight{overflow:visible}.fusion-body .fusion-title.fusion-title-highlight .fusion-highlighted-text{position:relative;display:inline-block}.fusion-body .fusion-title.fusion-title-highlight .fusion-highlighted-text-wrapper{position:relative;display:inline-block}.fusion-body .fusion-title.fusion-title-highlight .fusion-highlighted-text-wrapper svg{display:none;margin-top:var(--awb-highlight-top-margin);position:absolute;top:50%;left:50%;width:calc(100% + .75em);height:calc(100% + .75em);transform:translate(-50%,-50%);overflow:visible}.fusion-body .fusion-title.fusion-title-highlight .fusion-highlighted-text-wrapper svg path{stroke:var(--awb-highlight-color);stroke-width:var(--awb-highlight-width);fill:none;stroke-dasharray:1500;stroke-linecap:round;stroke-linejoin:round;animation-duration:calc(var(--awb-highlight-animation-duration) * 5.26ms)}.fusion-body .fusion-title.fusion-title-highlight .fusion-highlighted-text-wrapper .awb-animate{display:block}.fusion-body .fusion-title.fusion-title-highlight.fusion-animate-loop.fusion-highlight-double .fusion-highlighted-text-wrapper svg path:last-child,.fusion-body .fusion-title.fusion-title-highlight.fusion-animate-loop.fusion-highlight-double_underline .fusion-highlighted-text-wrapper svg path:last-child,.fusion-body .fusion-title.fusion-title-highlight.fusion-animate-loop.fusion-highlight-x .fusion-highlighted-text-wrapper svg path:last-child{opacity:0;animation-delay:calc(var(--awb-highlight-animation-duration) * 5.26ms / 22)}.fusion-body .fusion-title.fusion-title-highlight.fusion-animate-loop .fusion-highlighted-text-wrapper svg.awb-animate path{animation-iteration-count:infinite;animation-name:fusion-title-highlight-loop}.fusion-body .fusion-title.fusion-title-highlight.fusion-animate-once .fusion-highlighted-text-wrapper svg.awb-animate path{animation-name:fusion-title-highlight-once}.fusion-body .fusion-title.fusion-title-highlight.fusion-animate-none .fusion-highlighted-text-wrapper svg{display:block}.fusion-body .fusion-title.fusion-title-highlight.fusion-highlight-circle .fusion-highlighted-text-wrapper svg{height:calc(100% + 1.3em)}.fusion-body .fusion-title.fusion-highlight-marker .fusion-highlighted-text-wrapper{margin:-.075em -.15em}.fusion-body .fusion-title.fusion-highlight-marker .fusion-highlighted-text{background-image:linear-gradient(to right,var(--awb-highlight-color-trans,var(--awb-highlight-color)),var(--awb-highlight-color-min,var(--awb-highlight-color)) 1%,var(--awb-highlight-color-max,var(--awb-highlight-color)) 5%,var(--awb-highlight-color-inter,var(--awb-highlight-color)) 99%,var(--awb-highlight-color-trans,var(--awb-highlight-color)) 100%);background-size:0 calc(var(--awb-highlight-width) * 1%);background-position:left bottom;background-repeat:no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.075em .15em}.fusion-body .fusion-title.fusion-highlight-marker.fusion-animate-loop .awb-animate{animation-iteration-count:infinite;animation-name:fusion-title-highlight-marker-loop;animation-duration:calc(var(--awb-highlight-animation-duration) * 5.26ms)}.fusion-body .fusion-title.fusion-highlight-marker.fusion-animate-once .awb-animate{animation-fill-mode:forwards;animation-name:fusion-title-highlight-marker-once;animation-duration:calc(var(--awb-highlight-animation-duration) * 5.26ms)}.fusion-body .fusion-title.fusion-highlight-marker.fusion-animate-none .fusion-highlighted-text{background-size:100% calc(var(--awb-highlight-width) * 1%)}.fusion-body .fusion-title.fusion-title-slideInDown{overflow:hidden}.fusion-body .fusion-title.fusion-title-blurIn .fusion-animated-texts-wrapper{transition:width var(--awb-blur-duration, .5s) cubic-bezier(.76, 0, .24, 1);will-change:width;transform:translate3d(0,0,0);backface-visibility:hidden}.fusion-body .fusion-title.fusion-title-blurIn .fusion-animated-text{animation:blurOut var(--awb-blur-duration,.5s) cubic-bezier(.76,0,.24,1) both;position:absolute;top:0;left:0;will-change:filter,opacity;opacity:1}.fusion-body .fusion-title.fusion-title-blurIn .fusion-animated-text.is-active{animation:blurIn var(--awb-blur-duration,.5s) cubic-bezier(.76,0,.24,1) both;position:relative}.fusion-body .fusion-title.fusion-title-carouselInDown .fusion-animated-texts-wrapper,.fusion-body .fusion-title.fusion-title-carouselInUp .fusion-animated-texts-wrapper{overflow:hidden;vertical-align:bottom;transition:width var(--awb-carousel-duration, .8s) cubic-bezier(.66, 0, .24, 1)}.fusion-body .fusion-title.fusion-title-carouselInDown .fusion-animated-texts,.fusion-body .fusion-title.fusion-title-carouselInUp .fusion-animated-texts{display:block;transition:transform var(--awb-carousel-duration, .8s) cubic-bezier(.66, 0, .24, 1);will-change:transform}.fusion-body .fusion-title.fusion-title-carouselInDown .fusion-animated-text,.fusion-body .fusion-title.fusion-title-carouselInUp .fusion-animated-text{display:block;position:static;opacity:1;width:max-content}@media (prefers-reduced-motion:reduce){.fusion-body .fusion-title.fusion-title-carouselInDown .fusion-animated-texts,.fusion-body .fusion-title.fusion-title-carouselInDown .fusion-animated-texts-wrapper,.fusion-body .fusion-title.fusion-title-carouselInUp .fusion-animated-texts,.fusion-body .fusion-title.fusion-title-carouselInUp .fusion-animated-texts-wrapper{transition:none}}.fusion-body .fusion-title.fusion-text-has-stroke{--awb-text-stroke-size:1px;--awb-text-stroke-color:var(--primary_color)}.fusion-body .fusion-title.fusion-text-has-stroke .fusion-title-heading{-webkit-text-stroke:var(--awb-text-stroke-size) var(--awb-text-stroke-color)}.fusion-body .fusion-title.fusion-has-text-overflow{--awb-text-overflow:"ellipsis"}.fusion-body .fusion-title.fusion-has-text-overflow .fusion-title-heading{overflow:hidden;white-space:nowrap;text-overflow:var(--awb-text-overflow)}.fusion-body #wrapper .fusion-title .comment-reply-title,.fusion-body #wrapper .fusion-title div.title-heading-tag,.fusion-body #wrapper .fusion-title h1,.fusion-body #wrapper .fusion-title h2,.fusion-body #wrapper .fusion-title h3,.fusion-body #wrapper .fusion-title h4,.fusion-body #wrapper .fusion-title h5,.fusion-body #wrapper .fusion-title h6,.fusion-body #wrapper .fusion-title p.title-heading-tag,.fusion-body .awb-off-canvas-wrap .fusion-title .comment-reply-title,.fusion-body .awb-off-canvas-wrap .fusion-title div.title-heading-tag,.fusion-body .awb-off-canvas-wrap .fusion-title h1,.fusion-body .awb-off-canvas-wrap .fusion-title h2,.fusion-body .awb-off-canvas-wrap .fusion-title h3,.fusion-body .awb-off-canvas-wrap .fusion-title h4,.fusion-body .awb-off-canvas-wrap .fusion-title h5,.fusion-body .awb-off-canvas-wrap .fusion-title h6,.fusion-body .awb-off-canvas-wrap .fusion-title p.title-heading-tag,.fusion-body .fusion-modal .fusion-title .comment-reply-title,.fusion-body .fusion-modal .fusion-title div.title-heading-tag,.fusion-body .fusion-modal .fusion-title h1,.fusion-body .fusion-modal .fusion-title h2,.fusion-body .fusion-modal .fusion-title h3,.fusion-body .fusion-modal .fusion-title h4,.fusion-body .fusion-modal .fusion-title h5,.fusion-body .fusion-modal .fusion-title h6,.fusion-body .fusion-modal .fusion-title p.title-heading-tag{flex-grow:0;padding:0;font-size:1em;color:var(--awb-text-color)}.awb-gradient-text{background-size:100%;-webkit-background-clip:text;-moz-background-clip:text;-webkit-text-fill-color:transparent;-moz-text-fill-color:transparent}.fusion-border-below-title{display:block}#main .post-content .fusion-border-below-title h1,#main .post-content .fusion-border-below-title h2,#main .post-content .fusion-border-below-title h3,#main .post-content .fusion-border-below-title h4,#main .post-content .fusion-border-below-title h5,#main .post-content .fusion-border-below-title h6{padding-left:0;padding-right:0}.fusion-border-below-title .title-sep-container{display:none;height:8px}@keyframes fusion-title-highlight-loop{0%{stroke-dasharray:0 1500;opacity:1}19%{stroke-dasharray:1500 1500;opacity:1}95%{stroke-dasharray:1500 1500;opacity:1}100%{stroke-dasharray:1500 1500;opacity:0}}@keyframes fusion-title-highlight-once{0%{stroke-dasharray:0 1500;opacity:1}19%{stroke-dasharray:1500 1500;opacity:1}95%{stroke-dasharray:1500 1500;opacity:1}100%{stroke-dasharray:1500 1500;opacity:1}}@keyframes fusion-title-highlight-marker-loop{0%{background-size:0 calc(var(--awb-highlight-width) * 1%);background-position-x:left}19%{background-size:100% calc(var(--awb-highlight-width) * 1%);background-position-x:left}95%{background-size:100% calc(var(--awb-highlight-width) * 1%);background-position-x:right}100%{background-size:0 calc(var(--awb-highlight-width) * 1%);background-position-x:right}}@keyframes fusion-title-highlight-marker-once{0%{background-size:0 calc(var(--awb-highlight-width) * 1%);background-position-x:left}19%{background-size:100% calc(var(--awb-highlight-width) * 1%);background-position-x:left}100%{background-size:100% calc(var(--awb-highlight-width) * 1%);background-position-x:left}}@keyframes typeIn{from{display:none}to{display:inline-block}}@keyframes typeOut{from{display:inline-block}to{display:none}}@keyframes typeInCursor{0%{transform:translateY(-50%) scale(1);opacity:1}40%{transform:translateY(-50%) scale(.9);opacity:0}100%{transform:translateY(-50%) scale(0);opacity:0}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}100%{transform:scale(1)}}@keyframes bounceOut{0%{transform:scale(1)}25%{transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(.3)}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes flipInX{from{transform:perspective(400px) rotate3d(1,0,0,90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1,0,0,-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{transform:perspective(400px)}}@keyframes flipOutX{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes lightSpeedIn{0%{transform:translateX(100%) skewX(-30deg);opacity:0}60%{transform:translateX(-20%) skewX(30deg);opacity:1}80%{transform:translateX(0) skewX(-15deg);opacity:1}100%{transform:translateX(0) skewX(0);opacity:1}}@keyframes lightSpeedOut{0%{transform:translateX(0) skewX(0);opacity:1}100%{transform:translateX(100%) skewX(-30deg);opacity:0}}@keyframes rollIn{from{opacity:0;transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes rollOut{from{opacity:1}to{opacity:0;transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes blurIn{0%{filter:blur(.5em);opacity:0}100%{transform:translateY(0);filter:blur(0);opacity:1}}@keyframes blurOut{0%{transform:translateY(0);filter:blur(0);opacity:1}100%{filter:blur(.5em);opacity:0}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-2000px)}100%{transform:translateY(0)}}@keyframes slideOutUpTitle{0%{transform:translate3d(0,0,0)}100%{visibility:hidden;transform:translate3d(0,-100%,0)}}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}100%{opacity:0}}.fusion-title-animated{visibility:hidden;animation-fill-mode:both;animation-duration:1s}.fusion-title-animated.typeIn,.fusion-title-animated.typeOut{animation-duration:.1s}.fusion-title-animated.bounceIn{animation-name:bounceIn}.fusion-title-animated.bounceOut{animation-name:bounceOut}.fusion-title-animated.fadeIn{animation-name:fadeIn}.fusion-title-animated.fadeOut{animation-name:fadeOut}.fusion-title-animated.flipInX{animation-name:flipInX}.fusion-title-animated.flipOutX{animation-name:flipOutX}.fusion-title-animated.lightSpeedIn{animation-name:lightSpeedIn;animation-timing-function:ease-out}.fusion-title-animated.lightSpeedOut{animation-name:lightSpeedOut;animation-timing-function:ease-in}.fusion-title-animated.rollIn{animation-name:rollIn}.fusion-title-animated.rollOut{animation-name:rollOut}.fusion-title-animated.typeIn{animation-name:typeIn}.fusion-title-animated.typeOut{animation-name:typeOut}.fusion-animated-text.slideInDown{animation-name:slideInDown}.fusion-animated-text.slideOutUp{animation-name:slideOutUpTitle!important}.fusion-animated-text.zoomIn{animation-name:zoomIn}.fusion-animated-text.zoomOut{animation-name:zoomOut}.fusion-title-marquee .fusion-title-heading{display:flex;overflow:hidden;white-space:nowrap}.fusion-title-marquee .awb-marquee-masked{-webkit-mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent);mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent)}.fusion-title-marquee .awb-marquee-content{padding:0 .2em;animation:marquee var(--awb-marquee-speed) linear infinite}@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(var(--awb-marquee-translate-x))}}.awb-title__scroll-reveal--color_change{--awb-animation-base-color:var(--awb-text-color)}.awb-title__scroll-reveal--color_change a{--awb-animation-base-color:var(--awb-link-color)}.awb-title__scroll-reveal--color_change[data-scroll-reveal-basis=chars] a:hover .char,.awb-title__scroll-reveal--color_change[data-scroll-reveal-basis=lines] a:hover .line,.awb-title__scroll-reveal--color_change[data-scroll-reveal-basis=words] a:hover .word{color:inherit}.awb-title__scroll-reveal--color_change[data-scroll-reveal-basis=chars] .char,.awb-title__scroll-reveal--color_change[data-scroll-reveal-basis=lines] .line,.awb-title__scroll-reveal--color_change[data-scroll-reveal-basis=words] .word{color:transparent;background-image:linear-gradient(to right,var(--awb-animated-text-color) 50%,var(--awb-animation-base-color) 50%);background-size:200% 100%;background-position-x:100%;background-clip:text;transition:color .2s}.fusion-accordian{--awb-margin-top:0;--awb-margin-bottom:0;--awb-padding-top:0;--awb-padding-right:0;--awb-padding-bottom:0;--awb-padding-left:0;--awb-border-size:1px;--awb-icon-size:13px;--awb-title-color:var(--link_color, var(--h4_typography-color));--awb-title-font-weight:normal;--awb-title-font-style:normal;--awb-title-line-height:22px;--awb-title-font-size:16px;--awb-title-letter-spacing:var(--h4_typography-letter-spacing);--awb-title-text-transform:var(--h4_typography-text-transform);--awb-content-color:var(--body_typography-color);--awb-content-font-size:var(--body_typography-font-size);--awb-content-line-height:var(--body_typography-line-height);--awb-content-letter-spacing:var(--body_typography-letter-spacing);--awb-content-text-transform:none;--awb-content-font-family:inherit;--awb-content-font-weight:400;--awb-content-font-style:var(--body_typography-font-style, normal);--awb-icon-box-color:var(--accordian_inactive_color, #333);--awb-toggle-hover-accent-color:var(--primary_color);width:100%;margin-top:var(--awb-margin-top);margin-bottom:var(--awb-margin-bottom)}.fusion-accordian .fusion-panel{box-shadow:none;border:none;border-bottom:1px solid var(--accordion_divider_color);border-radius:0;background-clip:padding-box;padding:var(--awb-padding-top) var(--awb-padding-right) var(--awb-padding-bottom) var(--awb-padding-left)}.fusion-accordian .fusion-panel:hover{border-bottom:1px solid var(--accordion_divider_hover_color)}.fusion-accordian .panel-heading{padding:0;background:0 0}.fusion-accordian .panel-heading .panel-title{margin:0}.fusion-accordian .panel-heading .panel-title a{display:flex;align-items:baseline;color:var(--awb-title-color)}.fusion-accordian .panel-heading .panel-title a:not(.active) .fusion-toggle-icon-wrapper .active-icon{display:none}.fusion-accordian .panel-heading .panel-title a.active .fusion-toggle-icon-wrapper .inactive-icon{display:none}.fusion-body .fusion-accordian .panel-title{font-family:var(--awb-title-font-family);font-weight:var(--awb-title-font-weight);font-style:var(--awb-title-font-style);line-height:var(--awb-title-line-height);font-size:var(--awb-title-font-size);letter-spacing:var(--awb-title-letter-spacing);text-transform:var(--awb-title-text-transform)}.fusion-accordian .panel-title{position:relative;color:inherit}.fusion-accordian .panel-title a{display:block;padding:10px 0;text-decoration:none;box-shadow:none!important}.fusion-accordian .panel-title a.hover,.fusion-accordian .panel-title a:hover{color:var(--awb-toggle-hover-accent-color,var(--primary_color))}.fusion-accordian .panel-title a.hover .fa-fusion-box,.fusion-accordian .panel-title a:hover .fa-fusion-box{background-color:var(--awb-toggle-hover-accent-color,var(--primary_color))}.fusion-accordian .panel-title a .fa.pull-left{margin-left:1px}.fusion-accordian .panel-title a .fa-fusion-box{display:inline-block;vertical-align:middle;background-color:var(--awb-icon-box-color)!important;border-color:var(--awb-icon-box-color)!important;color:var(--awb-icon-color);text-align:center;padding:4.5px;-webkit-font-smoothing:subpixel-antialiased}.fusion-accordian .panel-title a .fa-fusion-box:before{font-style:normal;line-height:1;font-size:var(--awb-icon-size);width:var(--awb-icon-size);display:grid}.fusion-accordian .panel-title a:not(.active).hover .fa-fusion-box,.fusion-accordian .panel-title a:not(.active):hover .fa-fusion-box{background-color:var(--awb-toggle-hover-accent-color)!important;border-color:var(--awb-toggle-hover-accent-color)!important}.fusion-accordian .panel-title a.active{color:var(--awb-toggle-active-accent-color,var(--awb-title-color))!important}.fusion-accordian .panel-title a.active .fa-fusion-box{background-color:var(--awb-toggle-active-accent-color,var(--awb-toggle-hover-accent-color))!important;border-color:var(--awb-toggle-active-accent-color,var(--awb-toggle-hover-accent-color))!important}.fusion-accordian .panel-title .fusion-toggle-heading{margin-left:18px}.fusion-accordian .panel-body{padding:10px 0 15px;border:none;line-height:var(--body_typography-line-height)}.fusion-accordian .toggle-content{color:var(--awb-content-color);font-family:var(--awb-content-font-family);font-weight:var(--awb-content-font-weight);font-style:var(--awb-content-font-style);font-size:var(--awb-content-font-size);text-transform:var(--awb-content-text-transform);line-height:var(--awb-content-line-height);letter-spacing:var(--awb-content-letter-spacing)}.fusion-accordian .fusion-toggle-boxed-mode:hover .panel-title a{color:var(--awb-toggle-hover-accent-color)}.fusion-accordian .fusion-panel.fusion-toggle-no-divider.fusion-toggle-boxed-mode{margin-bottom:10px;border-style:solid;cursor:pointer}.fusion-accordian .fusion-panel.fusion-toggle-no-divider.fusion-toggle-boxed-mode .panel-body{padding-left:25px;padding-right:25px}.fusion-accordian .fusion-panel.fusion-toggle-no-divider.fusion-toggle-boxed-mode .panel-title a{padding:15px 25px}.fusion-accordian .fusion-panel.fusion-toggle-no-divider{border-bottom:none}.fusion-accordian .fusion-panel.fusion-toggle-no-divider .panel-title a{padding:10px 0}.fusion-accordian .fusion-toggle-icon-unboxed .panel-title a .fa-fusion-box{background-color:transparent!important;padding:0}.fusion-accordian .fusion-toggle-icon-unboxed .panel-title a.hover .fa-fusion-box,.fusion-accordian .fusion-toggle-icon-unboxed .panel-title a:hover .fa-fusion-box{background-color:transparent!important}.fusion-accordian .fusion-toggle-icon-unboxed .panel-title a.hover:not(.active) .fa-fusion-box,.fusion-accordian .fusion-toggle-icon-unboxed .panel-title a:hover:not(.active) .fa-fusion-box{color:var(--awb-toggle-hover-accent-color)!important}.fusion-accordian .fusion-toggle-icon-unboxed .panel-title a.active .fa-fusion-box{color:var(--awb-toggle-active-accent-color,var(--awb-toggle-hover-accent-color))!important}.fusion-accordian .fusion-toggle-icon-unboxed .panel-heading .fusion-toggle-icon-wrapper{left:0}.fusion-accordian .fusion-toggle-icon-right .fusion-toggle-heading{margin-left:0;width:100%;margin-right:calc(var(--awb-icon-size) + 18px)}.fusion-accordian .fusion-toggle-icon-right.fusion-toggle-icon-unboxed .fusion-toggle-icon-wrapper{left:auto}.fusion-accordian .fusion-toggle-icon-right .panel-heading a{flex-direction:row-reverse}.fusion-accordian .fusion-panel.fusion-toggle-boxed-mode{border-color:var(--awb-border-color);border-width:var(--awb-border-size);background-color:var(--awb-background-color)}.fusion-accordian .fusion-panel.fusion-toggle-boxed-mode.hover,.fusion-accordian .fusion-panel.fusion-toggle-boxed-mode:hover{background-color:var(--awb-hover-color)}.fusion-accordian .fusion-panel.fusion-toggle-has-divider{border-color:var(--awb-divider-color)}.fusion-accordian .fusion-panel.fusion-toggle-has-divider.hover,.fusion-accordian .fusion-panel.fusion-toggle-has-divider:hover{border-color:var(--awb-divider-hover-color)}.fusion-faq-shortcode .fusion-accordian{--awb-title-font-family:var(--faq_accordion_title_typography-font-family);--awb-title-font-weight:var(--faq_accordion_title_typography-font-weight);--awb-title-font-style:var(--faq_accordion_title_typography-font-style);--awb-title-line-height:var(--faq_accordion_title_typography-line-height);--awb-title-font-size:var(--faq_accordion_title_typography-font-size);--awb-title-letter-spacing:var(--faq_accordion_title_typography-letter-spacing);--awb-title-text-transform:var(--faq_accordion_title_typography-text-transform);--awb-title-color:var(--faq_accordion_title_typography-color);--awb-icon-size:16px;--awb-icon-color:var(--faq_accordian_icon_color);--awb-icon-box-color:var(--faq_accordian_inactive_color)}.fusion-single-accordian{margin-bottom:0}.tooltip{position:absolute;z-index:2030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0}.tooltip.in{opacity:.9}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:rgba(33,33,33,.97)}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:rgba(33,33,33,.97)}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:rgba(33,33,33,.97)}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:rgba(33,33,33,.97)}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:rgba(33,33,33,.97)}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:rgba(33,33,33,.97)}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:rgba(33,33,33,.97)}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:rgba(33,33,33,.97)}.tooltip-inner{max-width:200px;padding:3px 8px;color:#d1d1d2;text-align:center;text-decoration:none;background-color:rgba(33,33,33,.97);border-radius:4px;background-clip:padding-box}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.fusion-tooltip{cursor:pointer}.fusion-login-box{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-heading-color:var(--h3_typography-color);--awb-caption-color:var(--body_typography-color);--awb-link-color:var(--link_color);--awb-form-background-color:#f6f6f6;--awb-form-padding:25px;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-login-box .fusion-login-heading{color:var(--awb-heading-color)}.fusion-login-box .fusion-login-caption{margin-bottom:20px;color:var(--awb-caption-color)}.fusion-login-box a{color:var(--awb-link-color)}.fusion-login-box .fusion-login-form{padding:var(--awb-form-padding);background-color:var(--awb-form-background-color)}.fusion-login-box .fusion-login-form input[type=password],.fusion-login-box .fusion-login-form input[type=text]{margin:0;width:100%;box-sizing:border-box;vertical-align:middle;-webkit-appearance:none}.fusion-login-box .fusion-login-form a{text-decoration:none}.fusion-login-box .fusion-login-button{float:none;width:100%}.fusion-login-box .fusion-login-button-no-fullwidth{width:auto}.fusion-login-box .fusion-login-input-wrapper{margin-bottom:20px}.fusion-login-box .fusion-login-links{margin:0 -10px}.fusion-login-box .fusion-login-links .fusion-login-remember-me,.fusion-login-box .fusion-login-links>a{padding:0 10px}.fusion-login-box .fusion-login-links .fusion-login-remember-me{display:inline-block}.fusion-login-box .fusion-login-loggedin-links{display:inline-block;list-style:outside none none;margin:0;padding:0;text-align:initial}.fusion-login-box .fusion-login-avatar{display:inline-block;vertical-align:top;margin-right:10px}.fusion-login-box .fusion-login-box-error{margin-bottom:20px;color:#d04544}.fusion-login-box.fusion-login-box-login .fusion-login-submit-wrapper{margin-bottom:20px}.fusion-login-box.fusion-login-align-center{text-align:center}.fusion-login-box.fusion-login-field-layout-floated .fusion-login-fields{display:flex;justify-content:space-between;margin:0 -10px}.fusion-login-box.fusion-login-field-layout-floated .fusion-login-fields .fusion-login-input-wrapper{flex-grow:1;padding:0 10px}.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-login .fusion-login-additional-content,.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-register .fusion-login-additional-content{display:flex;align-items:center}.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-login .fusion-login-registration-confirm,.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-register .fusion-login-registration-confirm{order:1;margin:0 15px}.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-login .fusion-login-submit-wrapper,.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-register .fusion-login-submit-wrapper{margin-bottom:0}.fusion-login-box.fusion-login-field-layout-floated .fusion-login-links{margin:0 5px}.fusion-login-box .awb-user-pw-reveal{position:relative}.fusion-login-box .awb-user-pw-reveal-icon{left:auto;right:1em;cursor:pointer;position:absolute;text-align:center;z-index:99;top:50%;transform:translateY(-50%)}.fusion-hidden-content{overflow:hidden;position:absolute;left:-10000px;top:auto;width:1px;height:1px}lite-vimeo{font-size:10px;background-color:#000;position:relative;display:block;contain:content;background-position:center center;background-size:cover;background-image:none;cursor:pointer}lite-vimeo.awb-lite-vimeo-no-background{background-image:none}lite-vimeo::after{content:"";display:block;padding-bottom:calc(100% / (16 / 9))}lite-vimeo.portrait::after{padding-bottom:calc(100% / (9 / 16))}lite-vimeo>iframe{width:100%;height:100%;position:absolute;top:0;left:0}lite-vimeo>.ltv-playbtn{width:6.5em;height:4em;background:rgba(23,35,34,.75);z-index:1;opacity:.8;border-radius:.5em;transition:all .2s cubic-bezier(0, 0, .2, 1);outline:0;border:0;cursor:pointer}lite-vimeo:hover>.ltv-playbtn{background-color:#00adef;opacity:1}lite-vimeo>.ltv-playbtn::before{content:'';border-style:solid;border-width:10px 0 10px 20px;border-color:transparent transparent transparent #fff}lite-vimeo>.ltv-playbtn,lite-vimeo>.ltv-playbtn::before{position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0)}lite-vimeo.ltv-activated{cursor:unset}lite-vimeo.ltv-activated::before,lite-vimeo.ltv-activated>.ltv-playbtn{opacity:0;pointer-events:none}.fusion-selfhosted-video{font-size:0;width:100%}.fusion-selfhosted-video .video-wrapper{width:100%;display:inline-block;overflow:hidden;position:relative}.fusion-selfhosted-video .video-wrapper.fusion-video-overlay:after{content:"";display:block;background-color:inherit;position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.fusion-selfhosted-video video{max-width:var(--fusion-video-max-width,var(--fusion-video-max-width-default,100%));height:auto;display:block}.awb-views-counter{--awb-color:inherit;--awb-background:transparent;--awb-font-size:inherit;--awb-alignment-floated:flex-start;--awb-alignment-stacked:stretch;--awb-padding-top:0;--awb-padding-right:0;--awb-padding-bottom:0;--awb-padding-left:0;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-border-radius-top-left:0;--awb-border-radius-top-right:0;--awb-border-radius-bottom-right:0;--awb-border-radius-bottom-left:0;--awb-box-shadow:none;background-color:var(--awb-background);padding:var(--awb-padding-top) var(--awb-padding-right) var(--awb-padding-bottom) var(--awb-padding-left);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-right) var(--awb-border-radius-bottom-left);box-shadow:var(--awb-box-shadow)}.awb-views-counter-separator{padding:0 5px}.awb-views-counter-content{display:flex;flex-wrap:wrap;color:var(--awb-color);font-size:var(--awb-font-size);justify-content:var(--awb-alignment-floated)}.awb-views-counter-content-stacked{flex-direction:column;align-items:var(--awb-alignment-stacked)}.awb-views-counter-content-stacked .awb-views-counter-separator{display:none}.fusion-vimeo,.fusion-youtube{--awb-max-width:600px;--awb-max-height:360px;--awb-align-self:auto;--awb-width:auto;--awb-margin-top:0;--awb-margin-bottom:0;max-width:var(--awb-max-width);max-height:var(--awb-max-height);align-self:var(--awb-align-self);width:var(--awb-width);margin-top:var(--awb-margin-top);margin-bottom:var(--awb-margin-bottom)}.fusion-vimeo.center-video .video-shortcode,.fusion-youtube.center-video .video-shortcode{margin:0 auto}.fusion-vimeo .video-shortcode,.fusion-youtube .video-shortcode{max-width:var(--awb-max-width);max-height:var(--awb-max-height)}lite-youtube{background-color:#000;position:relative;display:block;contain:content;background-position:center center;background-size:cover;cursor:pointer;max-width:100%}lite-youtube::before{content:'';display:block;position:absolute;top:0;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);background-position:top;background-repeat:repeat-x;height:60px;padding-bottom:50px;width:100%;transition:all .2s cubic-bezier(0, 0, .2, 1)}lite-youtube::after{content:"";display:block;padding-bottom:calc(100% / (16 / 9))}lite-youtube.portrait::after{padding-bottom:calc(100% / (9 / 16))}lite-youtube>iframe{width:100%;height:100%;position:absolute;top:0;left:0;border:0}lite-youtube>.lty-playbtn{width:68px;height:48px;position:absolute;cursor:pointer;z-index:1;background-color:red;filter:grayscale(100%);transition:filter .1s cubic-bezier(0, 0, .2, 1);border:none;border-radius:.5em}lite-youtube .lty-playbtn:focus,lite-youtube:hover>.lty-playbtn{filter:none}lite-youtube>.lty-playbtn::before{content:'';border-style:solid;border-width:10px 0 10px 20px;border-color:transparent transparent transparent #fff}lite-youtube>.lty-playbtn,lite-youtube>.lty-playbtn::before{position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0)}lite-youtube.lyt-activated{cursor:unset}lite-youtube.lyt-activated::before,lite-youtube.lyt-activated>.lty-playbtn{opacity:0;pointer-events:none}.lyt-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.fusion-post-card-image{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-crossfade-bg-color:inherit;--awb-swap-nav-color:var(--awb-color3);--awb-swap-nav-color-hover:var(--awb-color4);--awb-border-radius-top-left:0;--awb-border-radius-top-right:0;--awb-border-radius-bottom-right:0;--awb-border-radius-bottom-left:0;--awb-aspect-ratio:1/1;--awb-aspect-ratio-position:50% 50%;--awb-swap-nav-height:3px;--awb-arrow-position-vertical:50%;--awb-arrow-position-horizontal:0;--awb-arrow-position-vertical-transform:translateY(-50%);--awb-arrow-size:var(--slider_arrow_size);--awb-arrow-box-width:var(--slider_nav_box_dimensions-width);--awb-arrow-box-height:var(--slider_nav_box_dimensions-height);--awb-arrow-bgcolor:var(--carousel_nav_color);--awb-arrow-color:#fff;--awb-arrow-hover-bgcolor:var(--carousel_hover_color);--awb-arrow-hover-color:var(--awb-arrow-color);overflow:hidden;margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left);border-top-left-radius:var(--awb-border-radius-top-left);border-top-right-radius:var(--awb-border-radius-top-right);border-bottom-right-radius:var(--awb-border-radius-bottom-right);border-bottom-left-radius:var(--awb-border-radius-bottom-left)}.fusion-post-card-image .cart-loading .view-cart{display:none}.fusion-post-card-image .fusion-rollover-content .star-rating{margin-top:.5em}.fusion-post-card-image .fusion-rollover-content .price{display:block;margin-top:3px}.fusion-post-card-image .fusion-rollover-content .price .amount,.fusion-post-card-image .fusion-rollover-content .price del{font-size:25px}.fusion-post-card-image .fusion-rollover-content .fusion-rollover-title{margin:0;line-height:normal}.fusion-post-card-image .fusion-product-buttons{position:relative;z-index:9}.fusion-post-card-image.fusion-classic-product-image-wrapper .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons{position:absolute;bottom:15px;left:0;right:0;padding:0 10%;height:40px;width:100%}.fusion-post-card-image.fusion-clean-product-image-wrapper .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons{margin-top:6px;text-transform:uppercase}.fusion-post-card-image.fusion-clean-product-image-wrapper .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons a{display:inline;float:none;padding:0;letter-spacing:1px}.fusion-post-card-image.fusion-clean-product-image-wrapper .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons a:hover{opacity:.6}.fusion-post-card-image.fusion-clean-product-image-wrapper .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons a:after,.fusion-post-card-image.fusion-clean-product-image-wrapper .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons a:before{display:none}.fusion-post-card-image.fusion-clean-product-image-wrapper .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons .wc-forward{display:none}.fusion-post-card-image.fusion-clean-product-image-wrapper .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons .fusion-rollover-linebreak{display:inline-block;margin:0 10px;color:var(--image_rollover_text_color)}.fusion-post-card-image.fusion-clean-product-image-wrapper .fusion-rollover-linebreak{display:none}.post-card.product .fusion-post-card-image[data-layout=rollover] .fusion-rollover{z-index:4}.post-card.product .fusion-post-card-image[data-layout=rollover] .fusion-woo-badges-wrapper{z-index:3}.fusion-post-card-image.fusion-disable-link[data-layout=rollover] .fusion-link-wrapper,.fusion-post-card-image.fusion-disable-link[data-layout=rollover] .fusion-rollover-title-link{pointer-events:none}.fusion-post-card-image.has-aspect-ratio{position:relative}.fusion-post-card-image.has-aspect-ratio img{aspect-ratio:var(--awb-aspect-ratio);width:100%;object-fit:cover;object-position:var(--awb-aspect-ratio-position)}.fusion-post-card-image .crossfade-images{background-color:var(--awb-crossfade-bg-color)}.fusion-post-card-image .awb-pc-image__swap-images .cart-loading{pointer-events:none}.fusion-post-card-image .awb-pc-image__swap-grid{display:flex;position:absolute;inset:0}.fusion-post-card-image .awb-pc-image__swap-image{flex-grow:1}.fusion-post-card-image .awb-pc-image__swap-images .awb-pc-image__thumb-image{min-width:100%}.fusion-post-card-image .awb-pc-image__swap-nav{display:flex;position:absolute;bottom:0;inset-inline:0;align-items:center;justify-content:center;gap:calc(var(--awb-swap-nav-height) + 2px);transition:opacity .15s cubic-bezier(.21, .6, .35, 1),transform .15s cubic-bezier(.21, .6, .35, 1);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(var(--awb-swap-nav-height)/ 2))}.fusion-post-card-image:hover .awb-pc-image__swap-nav{visibility:visible;opacity:1;transform:translateY(0)}.fusion-post-card-image .awb-pc-image__swap-nav-item{flex-grow:1;height:var(--awb-swap-nav-height);background-color:var(--awb-swap-nav-color);transition:background-color .15s cubic-bezier(.21, .6, .35, 1)}.fusion-post-card-image .awb-pc-image__swap-nav-item--active{background-color:var(--awb-swap-nav-color-hover)}.fusion-post-card-image .awb-pc-image__swap-nav-mobile{display:none;justify-content:space-between;align-items:center;position:absolute;inset:0}.fusion-post-card-image .awb-pc-image__next,.fusion-post-card-image .awb-pc-image__prev{align-items:center;cursor:pointer;display:flex;font-size:var(--awb-arrow-size);width:var(--awb-arrow-box-width);height:var(--awb-arrow-box-height);z-index:10;justify-content:center;color:var(--awb-arrow-color);background-color:var(--awb-arrow-bgcolor);transition:all .3s ease;opacity:.8}.fusion-post-card-image .awb-pc-image__next:hover,.fusion-post-card-image .awb-pc-image__prev:hover{background-color:var(--awb-arrow-hover-bgcolor);color:var(--awb-arrow-hover-color);opacity:1}.fusion-post-card-image .awb-pc-image__prev{left:var(--awb-arrow-position-horizontal);right:auto}.fusion-post-card-image .awb-pc-image__next{right:var(--awb-arrow-position-horizontal);left:auto}.fusion-post-card-cart{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-flex-direction:row;--awb-justify-content:flex-start;--awb-align-items:flex-start;--awb-button-flex-direction:row;--awb-button-align-items:flex-start;--awb-button-justify-content:flex-start;--awb-button-a-justify-content:flex-start;--awb-button-flex:none;--awb-button-a-flex:none;--awb-quantity-margin-top:0;--awb-quantity-margin-right:0;--awb-quantity-margin-bottom:0;--awb-quantity-margin-left:0;--awb-quantity-height:var(--qty_size-height);--awb-quantity-width:var(--qty_size-height);--awb-quantity-wrapper-width:calc(var(--awb-quantity-width) + var(--awb-quantity-height) + var(--awb-quantity-height));--awb-quantity-radius-top-left:0;--awb-quantity-radius-top-right:0;--awb-quantity-radius-bottom-right:0;--awb-quantity-radius-bottom-left:0;--awb-quantity-font-size:var(--qty_font_size);--awb-quantity-color:var(--form_text_color);--awb-quantity-background:var(--form_bg_color);--awb-quantity-border-sizes-top:var(--form_border_width-top);--awb-quantity-border-sizes-right:0;--awb-quantity-border-sizes-bottom:var(--form_border_width-bottom);--awb-quantity-border-sizes-left:0;--awb-quantity-border-color:var(--sep_color);--awb-qbutton-border-sizes-top:var(--form_border_width-top);--awb-qbutton-border-sizes-right:var(--form_border_width-right);--awb-qbutton-border-sizes-bottom:var(--form_border_width-bottom);--awb-qbutton-border-sizes-left:var(--form_border_width-left);--awb-qbutton-color:var(--form_text_color);--awb-qbutton-background:var(--qty_bg_color);--awb-qbutton-border-color:var(--sep_color);--awb-qbutton-color-hover:var(--form_text_color);--awb-qbutton-background-hover:var(--qty_bg_hover_color);--awb-qbutton-border-color-hover:var(--sep_color);--awb-button-margin-top:0;--awb-button-margin-right:0;--awb-button-margin-bottom:0;--awb-button-margin-left:0;--awb-button-padding:var(--button_padding-top) var(--button_padding-right) var(--button_padding-bottom) var(--button_padding-left);--awb-button-line-height:var(--button_line_height);--awb-button-font-size:var(--button_font_size);--awb-button-border-top:var(--button_border_width-top);--awb-button-border-right:var(--button_border_width-right);--awb-button-border-bottom:var(--button_border_width-bottom);--awb-button-border-left:var(--button_border_width-left);--awb-button-color:var(--button_accent_color);--awb-button-gradient-top:var(--button_gradient_top_color);--awb-button-gradient-bottom:var(--button_gradient_bottom_color);--awb-button-border-color:var(--button_border_color);--awb-button-color-hover:var(--button_accent_hover_color);--awb-button-gradient-top-hover:var(--button_gradient_top_color_hover);--awb-button-gradient-bottom-hover:var(--button_gradient_bottom_color_hover);--awb-button-border-color-hover:var(--button_border_hover_color);--awb-link-color:var(--link_color);--awb-link-hover-color:var(--link_hover_color);--awb-link-font-size:var(--body_typography-font-size);--awb-button-details-margin-top:0;--awb-button-details-margin-right:0;--awb-button-details-margin-bottom:0;--awb-button-details-margin-left:0;--awb-button-details-padding:var(--button_padding-top) var(--button_padding-right) var(--button_padding-bottom) var(--button_padding-left);--awb-button-details-line-height:var(--button_line_height);--awb-button-details-font-size:var(--button_font_size);--awb-button-details-border-top:var(--button_border_width-top);--awb-button-details-border-right:var(--button_border_width-right);--awb-button-details-border-bottom:var(--button_border_width-bottom);--awb-button-details-border-left:var(--button_border_width-left);--awb-button-details-color:var(--button_accent_color);--awb-button-details-gradient-top:var(--button_gradient_top_color);--awb-button-details-gradient-bottom:var(--button_gradient_bottom_color);--awb-button-details-gradient-top-hover:var(--button_gradient_top_color_hover);--awb-button-details-gradient-bottom-hover:var(--button_gradient_bottom_color_hover);--awb-button-details-border-color:var(--button_border_color);--awb-button-details-color-hover:var(--button_accent_hover_color);--awb-button-details-border-color-hover:var(--button_border_hover_color);--awb-product-link-color:var(--link_color);--awb-product-link-hover-color:var(--link_hover_color);--awb-product-link-font-size:var(--body_typography-font-size);--awb-variation-label-area-width:auto;--awb-label-color:var(--body_typography-color);--awb-label-font-size:var(--body_typography-font-size);--awb-label-line-height:var(--body_typography-line-height);--awb-label-letter-spacing:var(--body_typography-letter-spacing);--awb-label-text-transform:var(--body_typography-text-transform);--awb-label-typography-font-family:var(--body_typography-font-family);--awb-label-typography-font-weight:var(--body_typography-font-weight);--awb-label-typography-font-style:var(--body_typography-font-style);--awb-select-height:var(--form_input_height);--awb-select-font-size:var(--form_text_size);--awb-select-line-height:var(--body_typography-line-height);--awb-select-letter-spacing:var(--body_typography-letter-spacing);--awb-select-text-transform:var(--body_typography-text-transform);--awb-select-typography-font-family:var(--body_typography-font-family);--awb-select-typography-font-weight:var(--body_typography-font-weight);--awb-select-typography-font-style:var(--body_typography-font-style);--awb-select-color:var(--form_text_color);--awb-select-background:var(--form_bg_color);--awb-select-border-color:var(--form_border_color);--awb-select-border-sizes-top:var(--form_border_width-top);--awb-select-border-sizes-right:var(--form_border_width-right);--awb-select-border-sizes-bottom:var(--form_border_width-bottom);--awb-select-border-sizes-left:var(--form_border_width-left);--awb-arrow-border-left:none;--awb-border-radius-top-left:var(--form_border_radius);--awb-border-radius-top-right:var(--form_border_radius);--awb-border-radius-bottom-right:var(--form_border_radius);--awb-border-radius-bottom-left:var(--form_border_radius);--awb-swatch-margin-top:0;--awb-swatch-margin-right:5px;--awb-swatch-margin-bottom:0;--awb-swatch-margin-left:0;--awb-swatch-background-color:var(--form_bg_color);--awb-swatch-background-color-active:var(--form_bg_color);--awb-swatch-border-sizes-top:var(--form_border_width-top);--awb-swatch-border-sizes-right:var(--form_border_width-right);--awb-swatch-border-sizes-bottom:var(--form_border_width-bottom);--awb-swatch-border-sizes-left:var(--form_border_width-left);--awb-swatch-border-color:var(--form_border_color);--awb-swatch-border-color-active:var(--form_focus_border_color);--awb-swatch-border-color-hover:var(--form_focus_border_color-5a);--awb-color-swatch-height:var(--form_input_height);--awb-color-swatch-width:var(--form_input_height);--awb-color-swatch-padding-top:5px;--awb-color-swatch-padding-right:5px;--awb-color-swatch-padding-bottom:5px;--awb-color-swatch-padding-left:5px;--awb-color-swatch-border-radius-top-left:var(--form_border_radius);--awb-color-swatch-border-radius-top-right:var(--form_border_radius);--awb-color-swatch-border-radius-bottom-right:var(--form_border_radius);--awb-color-swatch-border-radius-bottom-left:var(--form_border_radius);--awb-image-swatch-height:var(--form_input_height);--awb-image-swatch-image-width:auto;--awb-image-swatch-padding-top:5px;--awb-image-swatch-padding-right:5px;--awb-image-swatch-padding-bottom:5px;--awb-image-swatch-padding-left:5px;--awb-image-swatch-border-radius-top-left:var(--form_border_radius);--awb-image-swatch-border-radius-top-right:var(--form_border_radius);--awb-image-swatch-border-radius-bottom-right:var(--form_border_radius);--awb-image-swatch-border-radius-bottom-left:var(--form_border_radius);--awb-button-swatch-height:auto;--awb-button-swatch-width:auto;--awb-button-swatch-padding-top:5px;--awb-button-swatch-padding-right:15px;--awb-button-swatch-padding-bottom:5px;--awb-button-swatch-padding-left:15px;--awb-button-swatch-border-radius-top-left:var(--form_border_radius);--awb-button-swatch-border-radius-top-right:var(--form_border_radius);--awb-button-swatch-border-radius-bottom-right:var(--form_border_radius);--awb-button-swatch-border-radius-bottom-left:var(--form_border_radius);--awb-button-swatch-font-size:var(--body_typography-font-size);--awb-button-swatch-color:var(--link_color);--awb-button-swatch-color-active:var(--link_hover_color);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-post-card-cart .fusion-post-card-cart-add-to-cart{margin:var(--awb-button-margin-top) var(--awb-button-margin-right) var(--awb-button-margin-bottom) var(--awb-button-margin-left)}.fusion-post-card-cart .fusion-post-card-cart-product-link{margin:var(--awb-button-details-margin-top) var(--awb-button-details-margin-right) var(--awb-button-details-margin-bottom) var(--awb-button-details-margin-left)}.fusion-post-card-cart .awb-post-card-cart-cart-wrapper{display:flex;flex-direction:var(--awb-flex-direction);justify-content:var(--awb-justify-content);align-items:var(--awb-align-items)}.fusion-post-card-cart .fusion-post-card-cart-button-wrapper{display:flex;flex:var(--awb-button-flex);flex-direction:var(--awb-button-flex-direction);align-items:var(--awb-button-align-items);justify-content:var(--awb-button-justify-content);width:100%}.fusion-post-card-cart .fusion-post-card-cart-button-wrapper a{justify-content:var(--awb-button-a-justify-content);flex:var(--awb-button-a-flex)}.fusion-post-card-cart div.quantity{margin-right:0}.fusion-post-card-cart .fusion-post-card-cart-quantity{display:flex;flex-direction:var(--awb-flex-direction);justify-content:var(--awb-justify-content);align-items:var(--awb-align-items);margin:var(--awb-quantity-margin-top) var(--awb-quantity-margin-right) var(--awb-quantity-margin-bottom) var(--awb-quantity-margin-left)}.fusion-post-card-cart .fusion-post-card-cart-add-to-cart,.fusion-post-card-cart .fusion-post-card-cart-product-link{display:inline-flex;align-items:center;border-style:solid;border-width:0}.fusion-post-card-cart .buttons_added input[type=button],.fusion-post-card-cart .buttons_added input[type=number]{border-style:solid;border-color:transparent}.fusion-post-card-cart .buttons_added input[type=number].qty{-moz-appearance:textfield}.fusion-post-card-cart .buttons_added input[type=number].qty::-webkit-inner-spin-button,.fusion-post-card-cart .buttons_added input[type=number].qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fusion-post-card-cart .quantity{border:none!important;margin-right:1.2em;border-radius:0!important;width:var(--awb-quantity-wrapper-width);font-size:var(--awb-quantity-font-size)}.fusion-post-card-cart .quantity input[type=button].minus,.fusion-post-card-cart .quantity input[type=button].plus{background-color:var(--qty_bg_color);border-width:var(--form_border_width-top) var(--form_border_width-right) var(--form_border_width-bottom) var(--form_border_width-left);border-style:solid;border-color:var(--sep_color)}.fusion-post-card-cart .quantity input[type=button].minus:hover,.fusion-post-card-cart .quantity input[type=button].plus:hover{background-color:var(--qty_bg_hover_color)}.fusion-post-card-cart .quantity .minus{border-top-left-radius:var(--awb-quantity-radius-top-left);border-bottom-left-radius:var(--awb-quantity-radius-bottom-left)}.fusion-post-card-cart .quantity .plus{border-top-right-radius:var(--awb-quantity-radius-top-right);border-bottom-right-radius:var(--awb-quantity-radius-bottom-right)}.fusion-post-card-cart.awb-variation-layout-floated .variations{table-layout:auto}.fusion-post-card-cart.awb-variation-layout-floated .variations .label{width:50%}.fusion-post-card-cart.awb-variation-layout-stacked .variations .label,.fusion-post-card-cart.awb-variation-layout-stacked .variations .value{display:block}.fusion-post-card-cart.awb-variation-text-align-left .label{text-align:left}.fusion-post-card-cart.awb-variation-text-align-left .avada-select-wrapper{justify-content:flex-start}.rtl .fusion-post-card-cart.awb-variation-text-align-left .avada-select-wrapper{justify-content:flex-end}.fusion-post-card-cart.awb-variation-text-align-center .label,.fusion-post-card-cart.awb-variation-text-align-center .value{text-align:center}.fusion-post-card-cart.awb-variation-text-align-center .avada-select-wrapper,.fusion-post-card-cart.awb-variation-text-align-center .single_variation_price_reset{justify-content:center}.fusion-post-card-cart.awb-variation-text-align-right .label,.fusion-post-card-cart.awb-variation-text-align-right .value{text-align:right}.fusion-post-card-cart.awb-variation-text-align-right .avada-select-wrapper,.fusion-post-card-cart.awb-variation-text-align-right .single_variation_price_reset{justify-content:flex-end}.rtl .fusion-post-card-cart.awb-variation-text-align-right .avada-select-wrapper,.rtl .fusion-post-card-cart.awb-variation-text-align-right .single_variation_price_reset{justify-content:flex-start}.fusion-post-card-cart.awb-variation-text-align-center .single_variation_price_reset,.fusion-post-card-cart.awb-variation-text-align-right .single_variation_price_reset{display:flex}.fusion-post-card-cart.awb-product-style-button .fusion-post-card-cart-product-link{padding:var(--awb-button-details-padding);line-height:var(--awb-button-details-line-height);font-size:var(--awb-button-details-font-size);border-top-width:var(--awb-button-details-border-top);border-right-width:var(--awb-button-details-border-right);border-bottom-width:var(--awb-button-details-border-bottom);border-left-width:var(--awb-button-details-border-left);border-color:var(--awb-button-details-border-color);color:var(--awb-button-details-color);background:var(--awb-button-details-gradient-top);background-image:linear-gradient(to top,var(--awb-button-details-gradient-bottom),var(--awb-button-details-gradient-top))}.fusion-post-card-cart.awb-product-style-button .fusion-post-card-cart-product-link.hover,.fusion-post-card-cart.awb-product-style-button .fusion-post-card-cart-product-link:focus,.fusion-post-card-cart.awb-product-style-button .fusion-post-card-cart-product-link:hover{background:var(--awb-button-details-gradient-top-hover);background-image:linear-gradient(to top,var(--awb-button-details-gradient-bottom-hover),var(--awb-button-details-gradient-top-hover));color:var(--awb-button-details-color-hover);border-color:var(--awb-button-details-border-color-hover)}.fusion-post-card-cart.awb-add-to-cart-style-button .fusion-post-card-cart-add-to-cart{padding:var(--awb-button-padding);line-height:var(--awb-button-line-height);font-size:var(--awb-button-font-size);border-top-width:var(--awb-button-border-top);border-right-width:var(--awb-button-border-right);border-bottom-width:var(--awb-button-border-bottom);border-left-width:var(--awb-button-border-left);color:var(--awb-button-color);background:var(--awb-button-gradient-top);background-image:linear-gradient(to top,var(--awb-button-gradient-bottom),var(--awb-button-gradient-top));border-color:var(--awb-button-border-color)}.fusion-post-card-cart.awb-add-to-cart-style-button .fusion-post-card-cart-add-to-cart.hover,.fusion-post-card-cart.awb-add-to-cart-style-button .fusion-post-card-cart-add-to-cart:focus,.fusion-post-card-cart.awb-add-to-cart-style-button .fusion-post-card-cart-add-to-cart:hover{color:var(--awb-button-color-hover);background:var(--awb-button-gradient-top-hover);background-image:linear-gradient(to top,var(--awb-button-gradient-bottom-hover),var(--awb-button-gradient-top-hover));border-color:var(--awb-button-border-color-hover)}.fusion-post-card-cart.awb-add-to-cart-style-link .fusion-post-card-cart-add-to-cart{background:0 0;color:var(--awb-link-color);font-size:var(--awb-link-font-size)}.fusion-post-card-cart.awb-add-to-cart-style-link .fusion-post-card-cart-add-to-cart.hover,.fusion-post-card-cart.awb-add-to-cart-style-link .fusion-post-card-cart-add-to-cart:hover{background:0 0;color:var(--awb-link-hover-color)}.fusion-post-card-cart.awb-product-style-link .fusion-post-card-cart-product-link{background:0 0;color:var(--awb-product-link-color);font-size:var(--awb-product-link-font-size)}.fusion-post-card-cart.awb-product-style-link .fusion-post-card-cart-product-link.hover,.fusion-post-card-cart.awb-product-style-link .fusion-post-card-cart-product-link:hover{background:0 0;color:var(--awb-product-link-hover-color)}.fusion-post-card-cart .avada-button-select{height:auto}.fusion-post-card-cart .awb-hide-element{display:none}.fusion-post-card-cart.awb-variation-clear-inline .reset_variations{display:inline-block;position:static}.fusion-post-card-cart.awb-variation-clear-hide .reset_variations{display:none!important}.fusion-post-card-cart.awb-variation-layout-floated .variations tr .label{width:var(--awb-variation-label-area-width)}.fusion-post-card-cart.awb-label-no .variations .label{display:none}.fusion-post-card-cart .variations .label{color:var(--awb-label-color);font-size:var(--awb-label-font-size);line-height:var(--awb-label-line-height);letter-spacing:var(--awb-label-letter-spacing);text-transform:var(--awb-label-text-transform);font-family:var(--awb-label-typography-font-family);font-weight:var(--awb-label-typography-font-weight);font-style:var(--awb-label-typography-font-style)}.fusion-post-card-cart .variations select{height:var(--awb-select-height);font-size:var(--awb-select-font-size);line-height:var(--awb-select-line-height);letter-spacing:var(--awb-select-letter-spacing);text-transform:var(--awb-select-text-transform);font-family:var(--awb-select-typography-font-family);font-weight:var(--awb-select-typography-font-weight);font-style:var(--awb-select-typography-font-style);color:var(--awb-select-color);background-color:var(--awb-select-background);border-color:var(--awb-select-border-color);border-top-width:var(--awb-select-border-sizes-top);border-right-width:var(--awb-select-border-sizes-right);border-bottom-width:var(--awb-select-border-sizes-bottom);border-left-width:var(--awb-select-border-sizes-left);border-top-left-radius:var(--awb-border-radius-top-left);border-top-right-radius:var(--awb-border-radius-top-right);border-bottom-right-radius:var(--awb-border-radius-bottom-right);border-bottom-left-radius:var(--awb-border-radius-bottom-left)}.fusion-post-card-cart .variations select:focus{--awb-select-border-color:var(--form_focus_border_color);border-color:var(--awb-select-border-color)}.fusion-post-card-cart .select-arrow{--awb-select-color:var(--form_border_color);font-size:calc(var(--awb-select-font-size) * .75);color:var(--awb-select-color);top:var(--awb-select-border-sizes-top);bottom:var(--awb-select-border-sizes-bottom);border-left:var(--awb-arrow-border-left)}.fusion-post-card-cart .variations .avada-image-select{height:var(--awb-image-swatch-height);width:var(--awb-image-swatch-width);padding-top:var(--awb-image-swatch-padding-top);padding-right:var(--awb-image-swatch-padding-right);padding-bottom:var(--awb-image-swatch-padding-bottom);padding-left:var(--awb-image-swatch-padding-left)}.fusion-post-card-cart .variations .avada-image-select img{--awb-image-swatch-height:100%;height:var(--awb-image-swatch-height);width:var(--awb-image-swatch-image-width)}.fusion-post-card-cart .variations .avada-image-select,.fusion-post-card-cart .variations .avada-image-select img{border-top-left-radius:var(--awb-image-swatch-border-radius-top-left);border-top-right-radius:var(--awb-image-swatch-border-radius-top-right);border-bottom-right-radius:var(--awb-image-swatch-border-radius-bottom-right);border-bottom-left-radius:var(--awb-image-swatch-border-radius-bottom-left)}.fusion-post-card-cart .variations .avada-color-select{height:var(--awb-color-swatch-height);width:var(--awb-color-swatch-width);padding-top:var(--awb-color-swatch-padding-top);padding-right:var(--awb-color-swatch-padding-right);padding-bottom:var(--awb-color-swatch-padding-bottom);padding-left:var(--awb-color-swatch-padding-left)}.fusion-post-card-cart .variations .avada-color-select,.fusion-post-card-cart .variations .avada-color-select span{border-top-left-radius:var(--awb-color-swatch-border-radius-top-left);border-top-right-radius:var(--awb-color-swatch-border-radius-top-right);border-bottom-right-radius:var(--awb-color-swatch-border-radius-bottom-right);border-bottom-left-radius:var(--awb-color-swatch-border-radius-bottom-left)}.fusion-post-card-cart .variations .avada-button-select{height:var(--awb-button-swatch-height);width:var(--awb-button-swatch-width);padding-top:var(--awb-button-swatch-padding-top);padding-right:var(--awb-button-swatch-padding-right);padding-bottom:var(--awb-button-swatch-padding-bottom);padding-left:var(--awb-button-swatch-padding-left);border-top-left-radius:var(--awb-button-swatch-border-radius-top-left);border-top-right-radius:var(--awb-button-swatch-border-radius-top-right);border-bottom-right-radius:var(--awb-button-swatch-border-radius-bottom-right);border-bottom-left-radius:var(--awb-button-swatch-border-radius-bottom-left);font-size:var(--awb-button-swatch-font-size);color:var(--awb-button-swatch-color)}.fusion-post-card-cart .variations .avada-button-select,.fusion-post-card-cart .variations .avada-color-select,.fusion-post-card-cart .variations .avada-image-select{margin:var(--awb-swatch-margin-top) var(--awb-swatch-margin-right) var(--awb-swatch-margin-bottom) var(--awb-swatch-margin-left);background-color:var(--awb-swatch-background-color);border-top-width:var(--awb-swatch-border-sizes-top);border-right-width:var(--awb-swatch-border-sizes-right);border-bottom-width:var(--awb-swatch-border-sizes-bottom);border-left-width:var(--awb-swatch-border-sizes-left);border-color:var(--awb-swatch-border-color)}.fusion-post-card-cart .variations .avada-button-select[data-checked],.fusion-post-card-cart .variations .avada-color-select[data-checked],.fusion-post-card-cart .variations .avada-image-select[data-checked]{background-color:var(--awb-swatch-background-color-active);border-color:var(--awb-swatch-border-color-active);color:var(--awb-button-swatch-color-active)}.fusion-post-card-cart .variations .avada-button-select:focus:not([data-checked]),.fusion-post-card-cart .variations .avada-button-select:hover:not([data-checked]),.fusion-post-card-cart .variations .avada-color-select:focus:not([data-checked]),.fusion-post-card-cart .variations .avada-color-select:hover:not([data-checked]),.fusion-post-card-cart .variations .avada-image-select:focus:not([data-checked]),.fusion-post-card-cart .variations .avada-image-select:hover:not([data-checked]){border-color:var(--awb-swatch-border-color-hover);color:var(--awb-button-swatch-color-active)}.fusion-post-card-cart form.cart{margin-top:0;margin-bottom:0}.fusion-body #main .fusion-post-card-cart .quantity input[type=button],.fusion-body #main .fusion-post-card-cart .quantity input[type=number].qty{height:var(--awb-quantity-height);font-size:var(--awb-quantity-font-size)}.fusion-body #main .fusion-post-card-cart .quantity input[type=button]{width:var(--awb-quantity-height);border-top-width:var(--awb-qbutton-border-sizes-top);border-right-width:var(--awb-qbutton-border-sizes-right);border-bottom-width:var(--awb-qbutton-border-sizes-bottom);border-left-width:var(--awb-qbutton-border-sizes-left);color:var(--awb-qbutton-color);background-color:var(--awb-qbutton-background);border-color:var(--awb-qbutton-border-color)}.fusion-body #main .fusion-post-card-cart .quantity input[type=button].hover,.fusion-body #main .fusion-post-card-cart .quantity input[type=button]:focus,.fusion-body #main .fusion-post-card-cart .quantity input[type=button]:hover{color:var(--awb-qbutton-color-hover);background-color:var(--awb-qbutton-background-hover);border-color:var(--awb-qbutton-border-color-hover)}.fusion-body #main .fusion-post-card-cart .quantity input[type=number].qty{width:var(--awb-quantity-width);color:var(--awb-quantity-color);background-color:var(--awb-quantity-background);border-top-width:var(--awb-quantity-border-sizes-top);border-right-width:var(--awb-quantity-border-sizes-right);border-bottom-width:var(--awb-quantity-border-sizes-bottom);border-left-width:var(--awb-quantity-border-sizes-left);border-color:var(--awb-quantity-border-color)}.fusion-post-cards{--awb-filters-font-size:inherit;--awb-filters-line-height:inherit;--awb-filters-letter-spacing:inherit;--awb-filters-text-transform:inherit;--awb-filters-color:var(--link_color);--awb-filters-font-family:inherit;--awb-filters-font-style:inherit;--awb-filters-font-weight:inherit;--awb-filters-hover-color:var(--link_hover_color);--awb-filters-active-color:var(--primary_color);--awb-active-filter-border-size:3px;--awb-active-filter-border-color:var(--primary_color);--awb-filters-border-bottom:1px;--awb-filters-border-top:1px;--awb-filters-border-left-style:none;--awb-filters-border-right:0;--awb-filters-border-right-style:none;--awb-filters-border-left:0;--awb-filters-border-color:var(--sep_color);--awb-filters-height:36px;--awb-filters-alignment:flex-start;--awb-column-spacing:40px;--awb-row-spacing:40px;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-load-more-btn-color:var(--awb-color8);--awb-load-more-btn-bg-color:var(--awb-color3);--awb-load-more-btn-hover-color:var(--awb-color1);--awb-load-more-btn-hover-bg-color:var(--awb-color5);--awb-stacking-offset:0px;margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.fusion-post-cards.fusion-grid-archive.fusion-grid-flex-grow.fusion-grid-columns-1{display:flex;flex-grow:1}.fusion-post-cards.fusion-grid-archive.fusion-grid-flex-grow.fusion-grid-columns-1>.fusion-grid{flex-grow:1;max-width:100%}.fusion-post-cards .fusion-grid{display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding:0;margin-right:calc(var(--awb-column-spacing)/ -2);margin-left:calc(var(--awb-column-spacing)/ -2);margin-top:calc(var(--awb-row-spacing)/ -2)}.fusion-post-cards .fusion-grid .product-list-view{width:100%}.fusion-post-cards .fusion-grid>li:last-child>.fusion-absolute-separator{display:none}.fusion-post-cards .fusion-grid.fusion-flex-align-items-stretch>.fusion-grid-column>.fusion-column-wrapper>.fusion-builder-row-inner:first-of-type:last-of-type{flex:1}.fusion-post-cards .fusion-grid>.fusion-grid-column{padding-right:calc(var(--awb-column-spacing)/ 2);padding-left:calc(var(--awb-column-spacing)/ 2);padding-top:calc(var(--awb-row-spacing)/ 2);padding-bottom:calc(var(--awb-row-spacing)/ 2)}.fusion-post-cards .fusion-grid>.fusion-grid-column>.fusion-column-inner-bg{margin-right:calc(var(--awb-column-spacing)/ 2);margin-left:calc(var(--awb-column-spacing)/ 2);margin-top:calc(var(--awb-row-spacing)/ 2);margin-bottom:calc(var(--awb-row-spacing)/ 2)}.fusion-post-cards .fusion-grid-column{margin-bottom:0!important;margin-top:0}.fusion-post-cards .fusion-load-more-button{color:var(--awb-load-more-btn-color);background-color:var(--awb-load-more-btn-bg-color)}.fusion-post-cards .fusion-load-more-button:focus,.fusion-post-cards .fusion-load-more-button:hover{color:var(--awb-load-more-btn-hover-color);background-color:var(--awb-load-more-btn-hover-bg-color)}.fusion-post-cards .fusion-filters{flex-flow:wrap;border-bottom-width:var(--awb-filters-border-bottom);border-top-width:var(--awb-filters-border-top);border-left-width:var(--awb-filters-border-left);border-left-style:var(--awb-filters-border-left-style);border-right-width:var(--awb-filters-border-right);border-right-style:var(--awb-filters-border-right-style);border-color:var(--awb-filters-border-color);min-height:var(--awb-filters-height);justify-content:var(--awb-filters-alignment)}.fusion-post-cards .fusion-filters li a{color:var(--awb-filters-color);font-size:var(--awb-filters-font-size);font-family:var(--awb-filters-font-family);font-style:var(--awb-filters-font-style);font-weight:var(--awb-filters-font-weight);line-height:var(--awb-filters-line-height);letter-spacing:var(--awb-filters-letter-spacing);text-transform:var(--awb-filters-text-transform)}.fusion-post-cards .fusion-filters li a:hover{color:var(--awb-filters-hover-color)}.fusion-post-cards .fusion-filters li.fusion-active a{border-color:var(--awb-active-filter-border-color);border-top-width:var(--awb-active-filter-border-size);color:var(--awb-filters-active-color)}.fusion-post-cards.awb-swiper-marquee .swiper-wrapper{transition-timing-function:linear}.fusion-post-cards.awb-swiper-masked{-webkit-mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent);mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent)}.fusion-post-cards .fusion-stacking-posts-cards li{position:sticky;top:calc(var(--awb-stacking-offset) - (var(--awb-row-spacing)/ 2));animation:awb-stacking-cards;animation-timeline:view(auto calc(100% - var(--awb-stacking-offset)))}@keyframes awb-stacking-cards{to{scale:0.7;filter:blur(8px);opacity:0}}.fusion-post-cards .awb-post-card-off-canvas-add-content,.fusion-post-cards .awb-post-card-off-canvas-content{display:none}.fusion-post-cards-archives-tb{transition:opacity .25s ease,transform .25s ease}.fusion-post-cards-archives-tb.awb-disabled{position:relative}.fusion-post-cards-archives-tb.awb-disabled .fusion-slider-loading{top:5em}.fusion-post-cards-archives-tb.is-leaving{opacity:0;transform:translateY(8px)}.fusion-post-cards-archives-tb.is-entering{opacity:0;transform:translateY(-8px)}.fusion-facebook-page{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-iframe-visibility:visible;margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.fusion-facebook-page iframe{visibility:var(--awb-iframe-visibility)!important}.fusion-twitter-timeline{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-iframe-visibility:visible;margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.fusion-twitter-timeline iframe{visibility:var(--awb-iframe-visibility)!important}.fusion-flickr-element{--awb-aspect-ratio:1/1;--awb-object-position:50% 50%;--awb-column-width:25%;--awb-column-space:10;--awb-md-column-width:var(--awb-column-width);--awb-md-column-space:var(--awb-column-space);--awb-sm-column-width:var(--awb-column-width);--awb-sm-column-space:var(--awb-column-space);--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.fusion-flickr-element .flickr-images{display:flex;flex-wrap:wrap;margin:0 calc(-1 * var(--awb-column-space)/ 2 * 1px)}.fusion-flickr-element .flickr-image{width:var(--awb-column-width);padding:0 calc(var(--awb-column-space)/ 2 * 1px);margin-bottom:calc(var(--awb-column-space) * 1px);position:relative}.fusion-flickr-element .flickr-image img{aspect-ratio:var(--awb-aspect-ratio);object-position:var(--awb-object-position);object-fit:cover}.fusion-flickr-element.hover-zoomin .flickr-image{overflow:hidden;transform:translate3d(0,0,0)}.fusion-flickr-element.hover-zoomin .flickr-image img{transition:opacity 1s,transform 1s}.fusion-flickr-element.hover-zoomin .flickr-image img:hover{opacity:.9;transform:scale3d(1.1,1.1,1)}.fusion-flickr-element.hover-zoomout .flickr-image{overflow:hidden;transform:translate3d(0,0,0)}.fusion-flickr-element.hover-zoomout .flickr-image img{transform:scale(1.12);transition:opacity 1s,transform 1s}.fusion-flickr-element.hover-zoomout .flickr-image img:hover{opacity:.9;transform:scale(1)}.fusion-flickr-element.hover-liftup .flickr-image{position:relative}.fusion-flickr-element.hover-liftup .flickr-image img{transform:perspective(1000px) scale(1);transition:transform .35s}.fusion-flickr-element.hover-liftup .flickr-image::before{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;content:"";transition:opacity .35s,transform .35s;box-shadow:0 3px 15px rgba(0,0,0,.4);opacity:0;pointer-events:none}.fusion-flickr-element.hover-liftup .flickr-image:hover img{transform:perspective(1000px) scale(1.03)}.fusion-flickr-element.hover-liftup .flickr-image:hover::before{opacity:1;transform:scale(1.02)}.fusion-flickr-element.loading{min-height:250px;display:flex;align-items:center;justify-content:center}.fusion-flickr-element.loading .fusion-loading-container{margin:0}.fusion-tagcloud-element{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-alignment:flex-start;--awb-tags-spacing:10px;--awb-letter-spacing:0;--awb-padding-top:0.75em;--awb-padding-right:1em;--awb-padding-bottom:0.75em;--awb-padding-left:1em;--awb-border-top:1px;--awb-border-right:1px;--awb-border-bottom:1px;--awb-border-left:1px;--awb-border-radius-top-left:0;--awb-border-radius-top-right:0;--awb-border-radius-bottom-left:0;--awb-border-radius-bottom-right:0;--awb-arrows-border-radius-top-right:0;--awb-arrows-border-radius-bottom-right:0;--tag-color:rgba(255, 255, 255, 0);--tag-color-hover:var(--footer_link_color_hover);--tag-text-color:var(--footer_link_color);--tag-text-color-hover:#fff;--tag-border-color:var(--footer_divider_color);--tag-border-color-hover:var(--link_hover_color);flex-wrap:wrap;display:flex;align-items:center;justify-content:var(--awb-alignment);gap:var(--awb-tags-spacing);margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.fusion-tagcloud-element a.tag-cloud-link{display:flex;margin:0;padding-top:var(--awb-padding-top);padding-right:var(--awb-padding-right);padding-bottom:var(--awb-padding-bottom);padding-left:var(--awb-padding-left);font-size:var(--awb-font-size, 14px);letter-spacing:var(--awb-letter-spacing);min-height:40px;line-height:1;align-items:center;border-top-width:var(--awb-border-top);border-right-width:var(--awb-border-right);border-bottom-width:var(--awb-border-bottom);border-left-width:var(--awb-border-left);border-style:solid;background-color:var(--tag-color);color:var(--tag-text-color)!important;border-color:var(--tag-border-color);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-right) var(--awb-border-radius-bottom-left)}.fusion-tagcloud-element a.tag-cloud-link.hover,.fusion-tagcloud-element a.tag-cloud-link:hover{background-color:var(--tag-color-hover)!important;color:var(--tag-text-color-hover)!important;border-color:var(--tag-border-color-hover)!important}.fusion-tagcloud-element a.tag-cloud-link .tag-link-count{margin-inline-start:.25em}.fusion-tagcloud-element.style-arrows{--awb-padding-top:0;--awb-padding-right:0.5em;--awb-padding-bottom:0;--awb-padding-left:0.65em}.fusion-tagcloud-element.style-arrows a.tag-cloud-link{background:0 0!important;border:none;overflow:hidden;padding:0;cursor:pointer;display:flex;align-items:stretch;transition:.24s;line-height:1.7;height:calc(2.4em + var(--awb-padding-top,0px) + var(--awb-padding-bottom,0px));font-size:var(--awb-font-size, 15px);border-radius:0 var(--awb-arrows-border-radius-top-right,0) var(--awb-arrows-border-radius-bottom-right,0) 0}.fusion-tagcloud-element.style-arrows a.tag-cloud-link .text{background-color:var(--tag-color);color:var(--tag-text-color);padding-top:var(--awb-padding-top);padding-right:var(--awb-padding-right);padding-bottom:var(--awb-padding-bottom);padding-left:var(--awb-padding-left);display:flex;align-items:center}.fusion-tagcloud-element.style-arrows a.tag-cloud-link .arrow{height:100%}.fusion-tagcloud-element.style-arrows a.tag-cloud-link .arrow svg{height:100%;width:auto;display:block;transform:translate(.1px,.1px);color:var(--tag-color)}.fusion-tagcloud-element.style-arrows a.tag-cloud-link:hover .text{background-color:var(--tag-color-hover);color:var(--tag-text-color-hover)}.fusion-tagcloud-element.style-arrows a.tag-cloud-link:hover svg{color:var(--tag-color-hover)}.fusion-tagcloud-element.variable-font-size a.tag-cloud-link[data-size="1"]{--size:1}.fusion-tagcloud-element.variable-font-size a.tag-cloud-link[data-size="2"]{--size:2}.fusion-tagcloud-element.variable-font-size a.tag-cloud-link[data-size="3"]{--size:3}.fusion-tagcloud-element.variable-font-size a.tag-cloud-link[data-size="4"]{--size:4}.fusion-tagcloud-element.variable-font-size a.tag-cloud-link[data-size="5"]{--size:5}.fusion-tagcloud-element.variable-font-size a.tag-cloud-link[data-size="6"]{--size:6}.fusion-tagcloud-element.variable-font-size a.tag-cloud-link[data-size="7"]{--size:7}.fusion-tagcloud-element.variable-font-size a.tag-cloud-link[data-size="8"]{--size:8}.fusion-tagcloud-element.variable-font-size a.tag-cloud-link[data-size="9"]{--size:9}.fusion-tagcloud-element.variable-font-size a.tag-cloud-link{--size:4;font-size:calc(var(--size) * .2rem + .5rem)}.awb-instagram-element{--awb-aspect-ratio:1/1;--awb-object-position:50% 50%;--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-column-width:25%;--awb-column-space:10;--awb-md-column-width:var(--awb-column-width);--awb-md-column-space:var(--awb-column-space);--awb-sm-column-width:var(--awb-column-width);--awb-sm-column-space:var(--awb-column-space);--awb-bd-width:0;--awb-bd-style:solid;--awb-bd-color:"";--awb-bd-radius:0;--awb-buttons-alignment:center;--awb-more-btn-color:var(--awb-color8);--awb-more-btn-bg:var(--awb-color3);--awb-more-btn-hover-color:var(--awb-color1);--awb-more-btn-hover-bg:var(--awb-color5);--awb-follow-btn-color:var(--awb-color1);--awb-follow-btn-bg:var(--awb-color7);--awb-follow-btn-hover-color:var(--awb-color1);--awb-follow-btn-hover-bg:var(--awb-color5);margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.awb-instagram-element .instagram-posts{display:flex;flex-wrap:wrap;margin:0 calc(-1 * var(--awb-column-space)/ 2 * 1px)}.awb-instagram-element .instagram-post{width:var(--awb-column-width);padding:0 calc(var(--awb-column-space)/ 2 * 1px);margin-bottom:calc(var(--awb-column-space) * 1px);position:relative;transition:opacity .5s}.awb-instagram-element .instagram-post a{display:block;position:relative;border-radius:var(--awb-bd-radius)}.awb-instagram-element .instagram-post img{width:100%;border-width:var(--awb-bd-width);border-style:var(--awb-bd-style);border-color:var(--awb-bd-color);border-radius:var(--awb-bd-radius)}.awb-instagram-element .instagram-post span.instagram-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-shadow:0 0 5px rgba(0,0,0,.3);z-index:1;color:#fff;font-size:26px}.awb-instagram-element.layout-grid .instagram-post img{aspect-ratio:var(--awb-aspect-ratio);object-position:var(--awb-object-position);object-fit:cover}.awb-instagram-element .instagram-post-children{display:none!important}.awb-instagram-element.hover-zoomin .instagram-post a{overflow:hidden;transform:translate3d(0,0,0)}.awb-instagram-element.hover-zoomin .instagram-post a img{transition:opacity 1s,transform 1s}.awb-instagram-element.hover-zoomin .instagram-post a img:hover{opacity:.9;transform:scale3d(1.1,1.1,1)}.awb-instagram-element.hover-zoomout .instagram-post a{overflow:hidden;transform:translate3d(0,0,0)}.awb-instagram-element.hover-zoomout .instagram-post a img{transform:scale(1.12);transition:opacity 1s,transform 1s}.awb-instagram-element.hover-zoomout .instagram-post a img:hover{opacity:.9;transform:scale(1)}.awb-instagram-element.hover-liftup .instagram-post a{position:relative}.awb-instagram-element.hover-liftup .instagram-post a img{transform:perspective(1000px) scale(1);transition:transform .35s}.awb-instagram-element.hover-liftup .instagram-post a::before{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;content:"";transition:opacity .35s,transform .35s;box-shadow:0 3px 15px rgba(0,0,0,.4);opacity:0;pointer-events:none;border-radius:inherit}.awb-instagram-element.hover-liftup .instagram-post a:hover img{transform:perspective(1000px) scale(1.03)}.awb-instagram-element.hover-liftup .instagram-post a:hover::before{opacity:1;transform:scale(1.02)}.awb-instagram-element.loading .instagram-posts{min-height:250px;display:flex;align-items:center;justify-content:center}.awb-instagram-element.loading .instagram-posts .fusion-loading-container{margin:0}.awb-instagram-element.loading .instagram-posts.fusion-hidden{display:none}.awb-instagram-element .instagram-posts.fusion-hidden{display:none}.awb-instagram-element .instagram-posts-loading-container{display:none}.awb-instagram-element .awb-instagram-buttons{margin-top:30px;display:flex}.awb-instagram-element .awb-instagram-buttons .fusion-button-span-yes{flex:1}.awb-instagram-element .awb-instagram-buttons .awb-has-bg,.awb-instagram-element .awb-instagram-buttons .awb-has-hover-bg{background-image:none}.awb-instagram-element.buttons-layout-floated .awb-instagram-buttons{flex-direction:row;align-items:center;justify-content:var(--awb-buttons-alignment)}.awb-instagram-element.buttons-layout-floated .awb-instagram-buttons .fusion-button{text-align:center;width:auto}.awb-instagram-element.buttons-layout-floated .awb-instagram-buttons .fusion-button:first-child{margin-inline-end:10px}.awb-instagram-element.buttons-layout-floated .awb-instagram-buttons .fusion-button.awb-instagram-follow-btn{margin-top:0}.awb-instagram-element.buttons-layout-stacked .awb-instagram-buttons{flex-direction:column}.awb-instagram-element.buttons-layout-stacked .awb-instagram-buttons .fusion-button{text-align:center;width:100%}.awb-instagram-element.buttons-layout-stacked .awb-instagram-buttons .fusion-button:first-child{margin-inline-end:0}.awb-instagram-element.buttons-layout-stacked .awb-instagram-buttons .fusion-button.awb-instagram-follow-btn{margin-top:15px}.awb-instagram-element .awb-instagram-load-more-btn{color:var(--awb-more-btn-color);background-color:var(--awb-more-btn-bg)}.awb-instagram-element .awb-instagram-load-more-btn.hover,.awb-instagram-element .awb-instagram-load-more-btn:hover{color:var(--awb-more-btn-hover-color);background-color:var(--awb-more-btn-hover-bg)}.awb-instagram-element .awb-instagram-follow-btn{color:var(--awb-follow-btn-color);background-color:var(--awb-follow-btn-bg)}.awb-instagram-element .awb-instagram-follow-btn i{color:var(--awb-follow-btn-color)}.awb-instagram-element .awb-instagram-follow-btn.hover,.awb-instagram-element .awb-instagram-follow-btn:hover{color:var(--awb-follow-btn-hover-color);background-color:var(--awb-follow-btn-hover-bg)}.awb-instagram-element .awb-instagram-follow-btn.hover i,.awb-instagram-element .awb-instagram-follow-btn:hover i{color:var(--awb-follow-btn-hover-color)}.awb-toc-el{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-padding-top:0;--awb-padding-right:0;--awb-padding-bottom:0;--awb-padding-left:0;--awb-list-indent:20px;--awb-item-font-family:var(--body_typography-font-family);--awb-item-font-weight:var(--body_typography-font-weight);--awb-item-font-style:var(--body_typography-font-style);--awb-item-font-size:var(--body_typography-font-size);--awb-item-line-height:var(--body_typography-line-height);--awb-item-letter-spacing:var(--body_typography-letter-spacing);--awb-item-text-transform:normal;--awb-item-color:var(--link_color);--awb-item-color-hover:var(--link_hover_color);--awb-counter-color:inherit;--awb-hover-counter-color:inherit;--awb-item-bg-color-hover:transparent;--awb-item-highlighted-bg-color:var(--primary_color);--awb-item-hover-highlighted-bg-color:var(--link_hover_color);--awb-item-highlighted-color:var(--awb-color1);--awb-item-hover-highlighted-color:var(--awb-color2);--awb-highlighted-counter-color:inherit;--awb-highlighted-hover-counter-color:inherit;--awb-counter-type:"";--awb-item-padding-top:0;--awb-item-padding-right:10px;--awb-item-padding-bottom:0;--awb-item-padding-left:10px;--awb-item-radius-top-left:0;--awb-item-radius-top-right:0;--awb-item-radius-bottom-left:0;--awb-item-radius-bottom-right:0;--awb-item-margin-top:2px;--awb-item-margin-bottom:2px;--awb-item-overflow:initial;--awb-item-white-space:initial;--awb-item-text-overflow:initial;margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);padding:var(--awb-padding-top) var(--awb-padding-right) var(--awb-padding-bottom) var(--awb-padding-left);overflow:hidden}.awb-toc-el .awb-toc-el__list{display:block;list-style-type:none;counter-reset:awb-toc;padding:0;margin:0}.awb-toc-el .awb-toc-el__item-icon{transition-property:color;transition-duration:inherit;transition-timing-function:inherit;color:var(--awb-counter-color);margin-inline-end:.4em}.awb-toc-el .awb-toc-el__item-anchor{display:block;margin:var(--awb-item-margin-top) 0 var(--awb-item-margin-bottom) 0;padding:var(--awb-item-padding-top) var(--awb-item-padding-right) var(--awb-item-padding-bottom) var(--awb-item-padding-left);border-radius:var(--awb-item-radius-top-left) var(--awb-item-radius-top-right) var(--awb-item-radius-bottom-right) var(--awb-item-radius-bottom-left);font-family:var(--awb-item-font-family);font-weight:var(--awb-item-font-weight);font-style:var(--awb-item-font-style);font-size:var(--awb-item-font-size);line-height:var(--awb-item-line-height);letter-spacing:var(--awb-item-letter-spacing);text-transform:var(--awb-item-text-transform);color:var(--awb-item-color);overflow:var(--awb-item-overflow);white-space:var(--awb-item-white-space);text-overflow:var(--awb-item-text-overflow)}.awb-toc-el .awb-toc-el__item-anchor:before{content:var(--awb-counter-type);counter-increment:awb-toc;text-transform:none;transition-property:color;transition-duration:inherit;transition-timing-function:inherit;color:var(--awb-counter-color)}.awb-toc-el .awb-toc-el__item-anchor:focus,.awb-toc-el .awb-toc-el__item-anchor:hover{color:var(--awb-item-color-hover);background-color:var(--awb-item-bg-color-hover)}.awb-toc-el .awb-toc-el__item-anchor:focus:before,.awb-toc-el .awb-toc-el__item-anchor:hover:before{color:var(--awb-hover-counter-color)}.awb-toc-el .awb-toc-el__item-anchor:focus .awb-toc-el__item-icon,.awb-toc-el .awb-toc-el__item-anchor:hover .awb-toc-el__item-icon{color:var(--awb-hover-counter-color)}.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor{color:var(--awb-item-highlighted-color);background-color:var(--awb-item-highlighted-bg-color)}.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor:before{color:var(--awb-highlighted-counter-color)}.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor:focus,.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor:hover{color:var(--awb-item-hover-highlighted-color);background-color:var(--awb-item-hover-highlighted-bg-color)}.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor:focus:before,.awb-toc-el .awb-toc-el__list-item--highlighted>.awb-toc-el__item-anchor:hover:before{color:var(--awb-highlighted-hover-counter-color)}.awb-toc-el .awb-toc-el__list:not(.awb-toc-el__list--0){padding-inline-start:var(--awb-list-indent)}.awb-toc-el.awb-toc-el--default-list-type .awb-toc-el__item-anchor:before{content:"\2022";margin-inline-end:.4em}.awb-toc-el.awb-toc-el--default-list-type .awb-toc-el__list-item .awb-toc-el__list-item .awb-toc-el__item-anchor:before{content:"\25CB"}.awb-toc-el.awb-toc-el--default-list-type .awb-toc-el__list-item .awb-toc-el__list-item .awb-toc-el__list-item .awb-toc-el__item-anchor:before{content:"\25AA"}.awb-circles-info{--awb-max-width:500px;--awb-margin-top:0;--awb-margin-right:auto;--awb-margin-bottom:0;--awb-margin-left:auto;--awb-box-shadow-horizontal:2px;--awb-box-shadow-vertical:2px;--awb-box-shadow-blur:5px;--awb-box-shadow-spread:1px;--awb-box-shadow-color:var(--awb-color3);--awb-content-padding:7%;--awb-icon-circle-size:1px;--awb-icon-circle-border-style:solid;--awb-icon-circle-color:var(--awb-color3);--awb-content-circle-size:1px;--awb-content-circle-border-style:solid;--awb-content-circle-color:var(--awb-color3);--awb-title-font-family:var(--h3_typography-font-family);--awb-title-font-weight:var(--h3_typography-font-weight);--awb-title-font-size:var(--h3_typography-font-style);--awb-title-letter-spacing:var(--h3_typography-letter-spacing);--awb-title-line-height:var(--h3_typography-line-height);--awb-title-text-transform:var(--h3_typography-text-transform);--awb-title-color:var(--awb-color8);--awb-title-hover-color:var(--awb-color4);--awb-content-font-family:var(--body_typography-font-family);--awb-content-font-weight:var(--body_typography-font-weight);--awb-content-font-size:var(--body_typography-font-size);--awb-content-letter-spacing:var(--body_typography-letter-spacing);--awb-content-line-height:var(--body_typography-line-height);--awb-content-text-transform:none;--awb-content-color:var(--awb-color8);--awb-icon-size:16px;--awb-icon-bg-color:var(--awb-color4);--awb-icon-border-size:0;--awb-icon-border-style:solid;--awb-icon-border-color:var(--awb-color3);--awb-icon-color:var(--awb-color1);--awb-icon-bg-active-color:var(--awb-color8);--awb-icon-active-color:var(--awb-color1);--awb-icon-active-border-size:0;--awb-icon-active-border-style:solid;--awb-icon-border-active-color:var(--awb-color8);--awb-linear-angle:180deg;--awb-gradient-start-position:0%;--awb-gradient-end-position:100%;--awb-radial-direction:"circle at center center";--awb-background-blend-mode:"normal";max-width:var(--awb-max-width);max-height:var(--awb-max-width);width:80vw;height:80vw;border-radius:100%;position:relative;margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.awb-circles-info.has-box-shadow .awb-circles-info-tab-link{box-shadow:var(--awb-box-shadow-horizontal) var(--awb-box-shadow-vertical) var(--awb-box-shadow-blur) var(--awb-box-shadow-spread) var(--awb-box-shadow-color)}.awb-circles-info .awb-circles-info-wrapper{width:100%;height:100%;padding:var(--awb-content-padding);border:var(--awb-icon-circle-size) var(--awb-icon-circle-border-style) var(--awb-icon-circle-color);border-radius:100%;margin:0 auto;position:relative;box-sizing:border-box}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-content-wrapper{width:100%;height:100%;border-radius:inherit;overflow:hidden;position:relative;border:var(--awb-content-circle-size) var(--awb-content-circle-border-style) var(--awb-content-circle-color)}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-content-wrapper .awb-circles-info-title{font-family:var(--awb-title-font-family);font-weight:var(--awb-title-font-weight);font-size:var(--awb-title-font-size);letter-spacing:var(--awb-title-letter-spacing);line-height:var(--awb-title-line-height);text-transform:var(--awb-title-text-transform);color:var(--awb-title-color)}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-content-wrapper .awb-circles-info-title a{font-family:inherit;font-weight:inherit;font-size:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;color:inherit}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-content-wrapper .awb-circles-info-title a:hover{color:var(--awb-title-hover-color)}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-content-wrapper .awb-circles-info-title:hover{color:var(--awb-title-hover-color)}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-content-wrapper .awb-circles-info-text{font-family:var(--awb-content-font-family);font-weight:var(--awb-content-font-weight);font-size:var(--awb-content-font-size);letter-spacing:var(--awb-content-letter-spacing);line-height:var(--awb-content-line-height);text-transform:var(--awb-content-text-transform);color:var(--awb-content-color);margin-top:.5em}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-content-wrapper .awb-circles-info-content-area{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;flex-flow:column;align-items:center;justify-content:center;text-align:center;padding:var(--awb-content-padding);box-sizing:border-box;opacity:0;visibility:hidden}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-content-wrapper .awb-circles-info-content-area.link-area-box:hover{cursor:pointer}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-content-wrapper .awb-circles-info-content-area.link-area-box .awb-circles-info-title{pointer-events:none}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-content-wrapper .awb-circles-info-content-area.active{opacity:1;visibility:visible}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-icons-wrapper{position:absolute;left:0;right:0;top:50%;z-index:1;transition:1s transform ease-in-out}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-icons-wrapper .awb-circles-info-tab-link{width:calc(30px + var(--awb-icon-size));height:calc(30px + var(--awb-icon-size));background-color:var(--awb-icon-bg-color);border-radius:100%;cursor:pointer;left:0;right:0;top:0;bottom:0;position:absolute;z-index:9;border:var(--awb-icon-border-size) var(--awb-icon-border-style) var(--awb-icon-border-color);color:var(--awb-icon-color);display:flex;justify-content:center;align-items:center;margin:auto;transition:.5s background ease-in-out,.5s border-color ease-in-out,.7s transform ease-in-out;font-size:var(--awb-icon-size)}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-icons-wrapper .awb-circles-info-tab-link span{color:inherit;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-icons-wrapper .awb-circles-info-tab-link i{transition:2s transform ease-in-out}.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-icons-wrapper .awb-circles-info-tab-link.active,.awb-circles-info .awb-circles-info-wrapper .awb-circles-info-icons-wrapper .awb-circles-info-tab-link:hover{background-color:var(--awb-icon-bg-active-color);color:var(--awb-icon-active-color);border:var(--awb-icon-active-border-size) var(--awb-icon-active-border-style) var(--awb-icon-border-active-color)}.awb-circles-info.has-bg-color .awb-circles-info-content-area:not(.has-bg-color){background-color:var(--awb-background-color)}.awb-circles-info.has-bg-gradient .awb-circles-info-content-area:not(.has-bg-color){background:linear-gradient(var(--awb-linear-angle),var(--awb-gradient-start-color) var(--awb-gradient-start-position),var(--awb-gradient-end-color) var(--awb-gradient-end-position))}.awb-circles-info.has-bg-gradient.gradient-type-radial .awb-circles-info-content-area:not(.has-bg-color){background:radial-gradient(var(--awb-radial-direction),var(--awb-gradient-start-color) var(--awb-gradient-start-position),var(--awb-gradient-end-color) var(--awb-gradient-end-position))}.awb-circles-info.has-bg-gradient.has-bg-image.gradient-type-radial .awb-circles-info-content-area:not(.has-bg-color){background-image:radial-gradient(var(--awb-radial-direction),var(--awb-gradient-start-color) var(--awb-gradient-start-position),var(--awb-gradient-end-color) var(--awb-gradient-end-position)),var(--awb-background-image)!important}.awb-circles-info.has-bg-gradient.has-bg-image.gradient-type-linear .awb-circles-info-content-area:not(.has-bg-color){background-image:linear-gradient(var(--awb-gradient-start-color) var(--awb-gradient-start-position),var(--awb-gradient-end-color) var(--awb-gradient-end-position)),var(--awb-background-image)!important}.awb-circles-info.has-bg-image .awb-circles-info-content-area:not(.has-bg-color){background-image:var(--awb-background-image)!important;background-size:cover!important;background-position:var(--awb-background-position)!important;background-blend-mode:var(--awb-background-blend-mode)!important}.awb-circles-info .awb-circles-info-content-wrapper .fusion-builder-live-child-element{height:inherit;position:initial}.awb-circles-info .awb-circles-info-content-wrapper .fusion-builder-live-child-element .fusion-builder-child-element-content{height:inherit;position:initial}.awb-circles-info .awb-circles-info-content-wrapper .awb-circles-info-content-area.has-bg-color{background-color:var(--awb-background-color)}.awb-circles-info .awb-circles-info-content-wrapper .awb-circles-info-content-area.has-bg-gradient.gradient-type-linear{background:linear-gradient(var(--awb-linear-angle),var(--awb-gradient-start-color) var(--awb-gradient-start-position),var(--awb-gradient-end-color) var(--awb-gradient-end-position))}.awb-circles-info .awb-circles-info-content-wrapper .awb-circles-info-content-area.has-bg-gradient.gradient-type-radial{background:radial-gradient(var(--awb-radial-direction),var(--awb-gradient-start-color) var(--awb-gradient-start-position),var(--awb-gradient-end-color) var(--awb-gradient-end-position))}.awb-circles-info .awb-circles-info-content-wrapper .awb-circles-info-content-area.has-bg-gradient.has-bg-image.gradient-type-linear{background-image:linear-gradient(var(--awb-gradient-start-color) var(--awb-gradient-start-position),var(--awb-gradient-end-color) var(--awb-gradient-end-position)),var(--awb-background-image)!important}.awb-circles-info .awb-circles-info-content-wrapper .awb-circles-info-content-area.has-bg-gradient.has-bg-image.gradient-type-radial{background-image:radial-gradient(var(--awb-radial-direction),var(--awb-gradient-start-color) var(--awb-gradient-start-position),var(--awb-gradient-end-color) var(--awb-gradient-end-position)),var(--awb-background-image)!important}.awb-circles-info .awb-circles-info-content-wrapper .awb-circles-info-content-area.has-bg-image{background-image:var(--awb-background-image)!important;background-size:cover!important;background-position:var(--awb-background-position)!important;background-blend-mode:var(--awb-background-blend-mode)!important}.awb-submenu{font-size:var(--awb-font-size);margin-top:var(--awb-margin-top);margin-bottom:var(--awb-margin-bottom);width:100%;opacity:1;transition:opacity calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-submenu_loading{opacity:0}.awb-submenu__main-ul{display:flex;flex-wrap:wrap;list-style:none;align-items:var(--awb-align-items);justify-content:var(--awb-justify-content);padding:0;font-family:var(--awb-fusion-font-family-typography);font-style:var(--awb-fusion-font-style-typography);font-weight:var(--awb-fusion-font-weight-typography);text-transform:var(--awb-text-transform);margin-block-start:0;margin-block-end:0;min-height:var(--awb-min-height);position:relative;transition:min-height calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.fusion-sticky-container.fusion-sticky-transition .awb-submenu__main-ul{min-height:var(--awb-sticky-min-height,var(--awb-min-height))}.awb-submenu__main-ul_row{flex-direction:row}.awb-submenu__main-li{position:relative;display:flex;justify-content:center;margin-left:calc(var(--awb-gap)/ 2);margin-right:calc(var(--awb-gap)/ 2);line-height:var(--awb-line-height)}.awb-submenu__main-li>*{z-index:10}.awb-submenu__main-li:first-child{margin-inline-start:0}.awb-submenu__main-li:last-child{margin-inline-end:0}.awb-submenu__main-li_regular{background-color:var(--awb-bg);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-right) var(--awb-border-radius-bottom-left)}.awb-submenu__main-a{color:var(--awb-color)!important;display:flex;align-items:center;justify-content:center;width:100%;transition:color calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1),background-color calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-submenu__open-nav-submenu_click{color:var(--awb-color)}.awb-submenu__main-a_regular{padding-top:calc(var(--awb-items-padding-top) + var(--awb-border-top));padding-right:calc(var(--awb-items-padding-right) + var(--awb-border-right));padding-bottom:calc(var(--awb-items-padding-bottom) + var(--awb-border-bottom));padding-left:calc(var(--awb-items-padding-left) + var(--awb-border-left))}.awb-submenu__main-background-active,.awb-submenu__main-background-default{position:absolute;top:0;width:100%;height:100%;z-index:1;background-color:var(--awb-bg);border-top-width:var(--awb-border-top);border-right-width:var(--awb-border-right);border-bottom-width:var(--awb-border-bottom);border-left-width:var(--awb-border-left);border-color:var(--awb-border-color);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-right) var(--awb-border-radius-bottom-left);border-style:solid;transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-submenu__main-background-active_fade,.awb-submenu__main-background-default_fade{left:0;opacity:1;transition-property:opacity}.awb-submenu__main-background-active_left,.awb-submenu__main-background-default_left{left:0;opacity:1;width:100%}.awb-submenu__main-background-active_right,.awb-submenu__main-background-default_right{right:0;opacity:1;width:100%}.awb-submenu__main-background-active_center,.awb-submenu__main-background-default_center{transform:scaleX(1)}.awb-submenu__main-background-active{background-color:var(--awb-active-bg);border-top-width:var(--awb-active-border-top);border-right-width:var(--awb-active-border-right);border-bottom-width:var(--awb-active-border-bottom);border-left-width:var(--awb-active-border-left);border-color:var(--awb-active-border-color)}.awb-submenu__main-background-active_fade,.awb-submenu__main-background-active_left,.awb-submenu__main-background-active_right{opacity:0}.awb-submenu__main-background-active_left{width:0;left:0}.awb-submenu__main-background-active_right{width:0;right:0}.awb-submenu__main-background-active_center{transform:scaleX(0)}.awb-submenu__main-background-active_center-vertical{bottom:0;left:0;right:0;top:0;transform:scaleY(0)}.awb-submenu__main-background-active_bottom-vertical{height:auto;bottom:0;top:100%;opacity:0}.awb-submenu__main-background-active_top-vertical{height:auto;bottom:100%;top:0;opacity:0}.awb-submenu__main-background-active_center-grow{top:50%;left:50%;opacity:0;transform:translateX(-50%) translateY(-50%) scale(0)}.awb-submenu__open-nav-submenu{padding-bottom:calc(var(--awb-items-padding-bottom) + var(--awb-border-bottom))}.awb-submenu__description{transition-duration:inherit;line-height:1;font-family:var(--body_typography-font-family);font-style:var(--body_typography-font-style);font-weight:var(--body_typography-font-weight);letter-spacing:var(--body_typography-letter-spacing);display:block;font-size:.8em}.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-a_regular,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-a_regular,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-a_regular,.awb-submenu__main-li_regular.expanded .awb-submenu__main-a_regular,.awb-submenu__main-li_regular.hover .awb-submenu__main-a_regular,.awb-submenu__main-li_regular:active .awb-submenu__main-a_regular,.awb-submenu__main-li_regular:focus .awb-submenu__main-a_regular,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-a_regular,.awb-submenu__main-li_regular:hover .awb-submenu__main-a_regular{color:var(--awb-active-color)!important;padding-top:calc(var(--awb-items-padding-top) + var(--awb-active-border-top));padding-right:calc(var(--awb-items-padding-right) + var(--awb-active-border-right));padding-bottom:calc(var(--awb-items-padding-bottom) + var(--awb-active-border-bottom));padding-left:calc(var(--awb-items-padding-left) + var(--awb-active-border-left))}.awb-submenu__main-li_regular.current-menu-ancestor>.awb-submenu__open-nav-submenu-hover,.awb-submenu__main-li_regular.current-menu-ancestor>.awb-submenu__open-nav-submenu_click,.awb-submenu__main-li_regular.current-menu-item>.awb-submenu__open-nav-submenu-hover,.awb-submenu__main-li_regular.current-menu-item>.awb-submenu__open-nav-submenu_click,.awb-submenu__main-li_regular.current-menu-parent>.awb-submenu__open-nav-submenu-hover,.awb-submenu__main-li_regular.current-menu-parent>.awb-submenu__open-nav-submenu_click,.awb-submenu__main-li_regular.expanded>.awb-submenu__open-nav-submenu-hover,.awb-submenu__main-li_regular.expanded>.awb-submenu__open-nav-submenu_click,.awb-submenu__main-li_regular.hover>.awb-submenu__open-nav-submenu-hover,.awb-submenu__main-li_regular.hover>.awb-submenu__open-nav-submenu_click,.awb-submenu__main-li_regular:active>.awb-submenu__open-nav-submenu-hover,.awb-submenu__main-li_regular:active>.awb-submenu__open-nav-submenu_click,.awb-submenu__main-li_regular:focus-within>.awb-submenu__open-nav-submenu-hover,.awb-submenu__main-li_regular:focus-within>.awb-submenu__open-nav-submenu_click,.awb-submenu__main-li_regular:focus>.awb-submenu__open-nav-submenu-hover,.awb-submenu__main-li_regular:focus>.awb-submenu__open-nav-submenu_click,.awb-submenu__main-li_regular:hover>.awb-submenu__open-nav-submenu-hover,.awb-submenu__main-li_regular:hover>.awb-submenu__open-nav-submenu_click{color:var(--awb-active-color)!important;padding-top:calc(var(--awb-items-padding-top) + var(--awb-active-border-top));padding-bottom:calc(var(--awb-items-padding-bottom) + var(--awb-active-border-bottom))}.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-default_fade,.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-default_fade,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-default_fade,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-default_fade,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-default_fade,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular:active .awb-submenu__main-background-default_fade,.awb-submenu__main-li_regular:active .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular:active .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-default_fade,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-default_fade,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-default_fade,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-default_right{opacity:0}.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular:active .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular:active .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-default_right,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-default_left,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-default_right{width:0}.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-default_center,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-default_center,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-default_center,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-default_center,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-default_center,.awb-submenu__main-li_regular:active .awb-submenu__main-background-default_center,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-default_center,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-default_center,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-default_center{transform:scaleX(0)}.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-active_fade,.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-active_fade,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-active_fade,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-active_fade,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-active_fade,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular:active .awb-submenu__main-background-active_fade,.awb-submenu__main-li_regular:active .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular:active .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-active_fade,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-active_fade,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-active_fade,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-active_right{opacity:1}.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular:active .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular:active .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-active_right,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-active_left,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-active_right{width:100%}.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-active_center-vertical,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-active_center-vertical,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-active_center-vertical,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-active_center-vertical,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-active_center-vertical,.awb-submenu__main-li_regular:active .awb-submenu__main-background-active_center-vertical,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-active_center-vertical,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-active_center-vertical,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-active_center-vertical{transform:scaleY(1)}.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-active_bottom-vertical,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-active_bottom-vertical,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-active_bottom-vertical,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-active_bottom-vertical,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-active_bottom-vertical,.awb-submenu__main-li_regular:active .awb-submenu__main-background-active_bottom-vertical,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-active_bottom-vertical,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-active_bottom-vertical,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-active_bottom-vertical{top:0;opacity:1}.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-active_top-vertical,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-active_top-vertical,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-active_top-vertical,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-active_top-vertical,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-active_top-vertical,.awb-submenu__main-li_regular:active .awb-submenu__main-background-active_top-vertical,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-active_top-vertical,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-active_top-vertical,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-active_top-vertical{bottom:0;opacity:1}.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-active_center-grow,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-active_center-grow,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-active_center-grow,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-active_center-grow,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-active_center-grow,.awb-submenu__main-li_regular:active .awb-submenu__main-background-active_center-grow,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-active_center-grow,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-active_center-grow,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-active_center-grow{opacity:1;transform:translateX(-50%) translateY(-50%) scale(1)}.awb-submenu__main-li_regular.current-menu-ancestor .awb-submenu__main-background-active_center,.awb-submenu__main-li_regular.current-menu-item .awb-submenu__main-background-active_center,.awb-submenu__main-li_regular.current-menu-parent .awb-submenu__main-background-active_center,.awb-submenu__main-li_regular.expanded .awb-submenu__main-background-active_center,.awb-submenu__main-li_regular.hover .awb-submenu__main-background-active_center,.awb-submenu__main-li_regular:active .awb-submenu__main-background-active_center,.awb-submenu__main-li_regular:focus .awb-submenu__main-background-active_center,.awb-submenu__main-li_regular:focus-within .awb-submenu__main-background-active_center,.awb-submenu__main-li_regular:hover .awb-submenu__main-background-active_center{transform:scaleX(1)}.awb-submenu__open-nav-submenu-hover,.awb-submenu__open-nav-submenu_click,.awb-submenu__open-nav-submenu_mobile{display:none;justify-content:center;align-items:center;background:0 0;border:0;box-shadow:none;box-sizing:border-box;padding:0;cursor:pointer;font-size:var(--awb-font-size)}.awb-submenu__open-nav-submenu-hover:focus,.awb-submenu__open-nav-submenu_click:focus,.awb-submenu__open-nav-submenu_mobile:focus{outline:revert}.awb-submenu__open-nav-submenu-hover:before,.awb-submenu__open-nav-submenu_click:before,.awb-submenu__open-nav-submenu_mobile:before{content:"\f107";font-family:awb-icons;line-height:1}.awb-submenu__open-nav-submenu-hover{transition:none}.awb-submenu__open-nav-submenu_click{transition:color calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-submenu__open-nav-submenu_mobile{box-sizing:content-box}.awb-submenu__open-nav-submenu-hover{padding-inline-start:0.5em}.awb-submenu__open-nav-submenu_click.awb-submenu__open-nav-submenu_main{padding-inline-end:var(--awb-items-padding-left)}.awb-submenu__open-nav-submenu_click.awb-submenu__open-nav-submenu_sub{padding-inline-end:var(--awb-submenu-items-padding-left)}.awb-submenu__open-nav-submenu_needs-spacing.awb-submenu__open-nav-submenu_click.awb-submenu__open-nav-submenu_main{padding-inline-start:0.5em}.awb-submenu_dc-yes.awb-submenu_em-click .awb-submenu__open-nav-submenu_click{display:flex}.awb-submenu_dc-yes.awb-submenu_em-hover .awb-submenu__open-nav-submenu-hover{display:flex}.awb-submenu__main-a_icon-only .awb-submenu__i_main{padding-left:0!important;padding-right:0!important}.awb-submenu_desktop .menu-title_no-desktop{display:none!important}.awb-submenu__highlight{padding:.35em .55em;line-height:1;margin-inline-start:.75em;font-size:.7em;border:.1em solid transparent;border-radius:var(--main_nav_highlight_radius)}.awb-submenu__sub-ul{margin:0;list-style:none;padding:0;font-size:var(--awb-submenu-font-size);text-transform:var(--awb-submenu-text-transform);border-top-left-radius:var(--awb-submenu-border-radius-top-left);border-top-right-radius:var(--awb-submenu-border-radius-top-right);border-bottom-left-radius:var(--awb-submenu-border-radius-bottom-left);border-bottom-right-radius:var(--awb-submenu-border-radius-bottom-right)}.awb-submenu_dropdown .awb-submenu__sub-ul{flex-direction:column;z-index:-10;display:table;visibility:hidden;opacity:0;transition:opacity calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);position:absolute;top:100%;box-shadow:var(--awb-box-shadow);padding:0;width:max-content}.awb-submenu_dropdown .awb-submenu_row .awb-submenu__sub-ul_main{margin-top:var(--awb-submenu-space)}.rtl .awb-submenu__sub-ul{right:0}.ltr .awb-submenu__sub-ul{left:0}.awb-submenu__sub-ul .awb-submenu__open-nav-submenu_click:before{padding-left:var(--awb-submenu-items-padding-left);padding-right:var(--awb-submenu-items-padding-right)}.awb-submenu__sub-li{width:var(--awb-submenu-max-width);border-bottom:1px solid var(--awb-submenu-sep-color);background-color:var(--awb-submenu-bg);transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);position:relative}.awb-submenu__sub-li:first-child{border-top-left-radius:var(--awb-submenu-border-radius-top-left);border-top-right-radius:var(--awb-submenu-border-radius-top-right)}.awb-submenu__sub-li:last-child{border-bottom-width:0;border-bottom-left-radius:var(--awb-submenu-border-radius-bottom-left);border-bottom-right-radius:var(--awb-submenu-border-radius-bottom-right)}.awb-submenu__sub-a{display:flex;justify-content:var(--awb-sub-justify-content);align-items:center;color:var(--awb-submenu-color)!important;padding-top:var(--awb-submenu-items-padding-top);padding-bottom:var(--awb-submenu-items-padding-bottom);padding-left:var(--awb-submenu-items-padding-left);padding-right:var(--awb-submenu-items-padding-right);font-family:var(--awb-fusion-font-family-submenu-typography);font-style:var(--awb-fusion-font-style-submenu-typography);font-weight:var(--awb-fusion-font-weight-submenu-typography);width:100%;font-size:var(--awb-submenu-font-size);text-transform:var(--awb-submenu-text-transform);line-height:var(--awb-submenu-line-height);letter-spacing:var(--awb-submenu-letter-spacing)}.awb-submenu__sub-li .awb-submenu__open-nav-submenu_click{color:var(--awb-submenu-color)}.awb-submenu__sub-a,.awb-submenu__sub-a:hover{transition:inherit}.awb-submenu__sub-li.expanded,.awb-submenu__sub-li.hover,.awb-submenu__sub-li:focus-within,.awb-submenu__sub-li:hover{background-color:var(--awb-submenu-active-bg)}.awb-submenu__sub-li.expanded>.awb-submenu__open-nav-submenu_click,.awb-submenu__sub-li.expanded>.awb-submenu__sub-a,.awb-submenu__sub-li.hover>.awb-submenu__open-nav-submenu_click,.awb-submenu__sub-li.hover>.awb-submenu__sub-a,.awb-submenu__sub-li:focus-within>.awb-submenu__open-nav-submenu_click,.awb-submenu__sub-li:focus-within>.awb-submenu__sub-a,.awb-submenu__sub-li:hover>.awb-submenu__open-nav-submenu_click,.awb-submenu__sub-li:hover>.awb-submenu__sub-a{color:var(--awb-submenu-active-color)!important}.awb-submenu_em-click .awb-submenu__open-nav-submenu_click[aria-expanded=true]~.awb-submenu__sub-ul,.awb-submenu_em-hover .awb-submenu__li.hover>.awb-submenu__sub-ul,.awb-submenu_em-hover .awb-submenu__li:focus-within>.awb-submenu__sub-ul,.awb-submenu_em-hover .awb-submenu__li:hover>.awb-submenu__sub-ul{visibility:visible;opacity:1;z-index:999999998}.awb-submenu_row.awb-submenu_em-hover .awb-submenu__main-li:hover:before{content:" ";position:absolute;bottom:calc(0px - var(--awb-submenu-space));width:100%;height:var(--awb-submenu-space);background:0 0;z-index:30}.awb-submenu_transition-slide_down.awb-submenu_desktop.awb-submenu_em-hover.awb-submenu_row .awb-submenu__sub-ul,.awb-submenu_transition-slide_up.awb-submenu_desktop.awb-submenu_em-hover.awb-submenu_row .awb-submenu__sub-ul{transition:all calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-submenu_transition-slide_down.awb-submenu_desktop.awb-submenu_em-hover.awb-submenu_row .awb-submenu__sub-ul,.awb-submenu_transition-slide_up.awb-submenu_desktop.awb-submenu_em-hover.awb-submenu_row .awb-submenu__sub-ul{transform:translateY(20px)}.awb-submenu_transition-slide_down.awb-submenu_desktop.awb-submenu_em-hover.awb-submenu_row .awb-submenu__li.menu-item-has-children.hover>.awb-submenu__sub-ul,.awb-submenu_transition-slide_down.awb-submenu_desktop.awb-submenu_em-hover.awb-submenu_row .awb-submenu__li.menu-item-has-children:focus-within>.awb-submenu__sub-ul,.awb-submenu_transition-slide_down.awb-submenu_desktop.awb-submenu_em-hover.awb-submenu_row .awb-submenu__li.menu-item-has-children:hover>.awb-submenu__sub-ul,.awb-submenu_transition-slide_up.awb-submenu_desktop.awb-submenu_em-hover.awb-submenu_row .awb-submenu__li.menu-item-has-children.hover>.awb-submenu__sub-ul,.awb-submenu_transition-slide_up.awb-submenu_desktop.awb-submenu_em-hover.awb-submenu_row .awb-submenu__li.menu-item-has-children:focus-within>.awb-submenu__sub-ul,.awb-submenu_transition-slide_up.awb-submenu_desktop.awb-submenu_em-hover.awb-submenu_row .awb-submenu__li.menu-item-has-children:hover>.awb-submenu__sub-ul{transform:translateY(0)}.awb-submenu_transition-slide_down.awb-submenu_desktop.awb-submenu_em-hover.awb-submenu_row .awb-submenu__sub-ul{transform:translateY(-20px)}.awb-submenu_transition-slide_down.awb-submenu_desktop.awb-submenu_em-click.awb-submenu_row .awb-submenu__sub-ul,.awb-submenu_transition-slide_up.awb-submenu_desktop.awb-submenu_em-click.awb-submenu_row .awb-submenu__sub-ul{transition:opacity calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1),transform calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1)}.awb-submenu_transition-slide_down.awb-submenu_desktop.awb-submenu_em-click.awb-submenu_row .awb-submenu__sub-ul,.awb-submenu_transition-slide_up.awb-submenu_desktop.awb-submenu_em-click.awb-submenu_row .awb-submenu__sub-ul{transform:translateY(20px)}.awb-submenu_transition-slide_down.awb-submenu_desktop.awb-submenu_em-click.awb-submenu_row .awb-submenu__open-nav-submenu_click[aria-expanded=true]~.awb-submenu__sub-ul,.awb-submenu_transition-slide_up.awb-submenu_desktop.awb-submenu_em-click.awb-submenu_row .awb-submenu__open-nav-submenu_click[aria-expanded=true]~.awb-submenu__sub-ul{transform:translateY(0)}.awb-submenu_transition-slide_down.awb-submenu_desktop.awb-submenu_em-click.awb-submenu_row .awb-submenu__sub-ul{transform:translateY(-20px)}.rtl .awb-submenu__sub-ul_grand{left:0;right:100%}.ltr .awb-submenu__sub-ul_grand{top:0;left:100%}.awb-submenu_expand-right .awb-submenu__sub-ul_grand{left:100%;right:auto}.awb-submenu_expand-right .awb-submenu__sub-ul .awb-submenu__open-nav-submenu-hover:before,.awb-submenu_expand-right .awb-submenu__sub-ul .awb-submenu__open-nav-submenu_click:before{transform:rotate(270deg)}.awb-submenu_expand-left .awb-submenu__sub-ul_grand{left:auto;right:100%}.awb-submenu_expand-left .awb-submenu__sub-ul .awb-submenu__open-nav-submenu-hover:before,.awb-submenu_expand-left .awb-submenu__sub-ul .awb-submenu__open-nav-submenu_click:before{transform:rotate(90deg)}.awb-submenu_desktop.awb-submenu_dc-yes.awb-submenu_row.awb-submenu_em-click .awb-submenu__sub-li .awb-submenu__open-nav-submenu_click{padding-left:0!important;padding-right:0!important}.awb-submenu_dc-yes.awb-submenu_row.awb-submenu_em-click .awb-submenu__sub-li .awb-submenu__open-nav-submenu_click{width:calc(1em + var(--awb-submenu-items-padding-left)/ 2 + var(--awb-submenu-items-padding-right)/ 2);padding-top:var(--awb-submenu-items-padding-top);padding-bottom:var(--awb-submenu-items-padding-bottom);display:flex}.awb-submenu_dc-yes.awb-submenu_em-click .awb-submenu__sub-li.menu-item-has-children{display:flex}.awb-submenu_row .menu-text{display:flex;align-items:center;text-align:center}.awb-submenu_row .menu-text_with-desc{flex-direction:column;justify-content:center}.awb-submenu_row .awb-submenu__has-description .menu-text{flex-direction:column;justify-content:center}.awb-submenu__i_main{width:auto;transition:color calc(var(--awb-transition-time) * 1ms) cubic-bezier(.42, .01, .58, 1);position:relative;font-size:calc(var(--awb-icons-size) * 1px);line-height:inherit;color:var(--awb-icons-color);display:flex;align-items:center;justify-content:center;padding:0 .5em}.awb-submenu__i_main img{margin-top:-2px;max-height:1em;vertical-align:middle}.awb-submenu__i_main i{line-height:inherit}.awb-submenu__main-li.current-menu-ancestor .awb-submenu__i_main,.awb-submenu__main-li.current-menu-item .awb-submenu__i_main,.awb-submenu__main-li.expanded .awb-submenu__i_main,.awb-submenu__main-li:focus-within .awb-submenu__i_main,.awb-submenu__main-li:hover .awb-submenu__i_main{color:var(--awb-icons-hover-color,var(--awb-active-color))}.awb-submenu_icons-bottom .awb-submenu__main-a,.awb-submenu_icons-top .awb-submenu__main-a{flex-wrap:wrap;align-content:center}.awb-submenu_icons-bottom .awb-submenu__i_main,.awb-submenu_icons-top .awb-submenu__i_main{width:100%;line-height:1;justify-content:center}.awb-submenu_icons-bottom .awb-submenu__i_main{order:5}.awb-submenu_icons-left .awb-submenu__main-a{flex-direction:row}.awb-submenu_icons-left.awb-submenu_row .awb-submenu__main-i,.awb-submenu_icons-right.awb-submenu_row .awb-submenu__main-i{width:1.5em;box-sizing:content-box}.awb-submenu__i_sub{padding-inline-end:1em;display:inline-flex}.awb-submenu.no-wrapper-transition{--awb-transition-time:0!important}.awb-submenu_desktop .awb-submenu__sub-li .fusion-megamenu-image>img,.awb-submenu_desktop .awb-submenu__sub-li .fusion-megamenu-thumbnail>img{width:var(--awb-thumbnail-size-width);height:var(--awb-thumbnail-size-width);max-width:inherit}.awb-submenu{--awb-gap:0}.awb-submenu__main-ul_column{flex-direction:column}.awb-submenu__main-ul_column .awb-submenu__main-li{margin:0 0 var(--awb-gap) 0;width:100%}.awb-submenu__main-ul_column .awb-submenu__main-li:last-child{margin-bottom:0}.awb-submenu__main-ul_column .awb-submenu__main-a{justify-content:var(--awb-main-justify-content,flex-start)}.awb-submenu__main-ul_column .awb-submenu__main-li>.awb-submenu__open-nav-submenu-hover,.awb-submenu__main-ul_column .awb-submenu__main-li>.awb-submenu__open-nav-submenu_click{padding-top:calc(var(--awb-items-padding-top,0) + var(--awb-border-top,0));padding-bottom:calc(var(--awb-items-padding-bottom,0) + var(--awb-border-bottom,0))}.awb-submenu__main-ul_column .awb-submenu__open-nav-submenu-hover:before,.awb-submenu__main-ul_column .awb-submenu__open-nav-submenu_click:before,.awb-submenu__main-ul_column .awb-submenu__open-nav-submenu_mobile:before{padding-left:0;padding-right:0}.awb-submenu__main-ul_column .awb-submenu__sub-ul{top:0}.awb-submenu_expand-right .awb-submenu__main-ul_column .awb-submenu__sub-ul{right:auto;left:100%}.awb-submenu_expand-right .awb-submenu__main-ul_column .awb-submenu__sub-ul_main{margin-left:var(--awb-submenu-space,0)}.awb-submenu_expand-right .awb-submenu__main-ul_column .awb-submenu__open-nav-submenu-hover:before,.awb-submenu_expand-right .awb-submenu__main-ul_column .awb-submenu__open-nav-submenu_click:before,.awb-submenu_expand-right .awb-submenu__main-ul_column .awb-submenu__open-nav-submenu_mobile:before{transform:rotate(270deg)}.rtl .awb-submenu_expand-right .awb-submenu__main-ul_column .awb-submenu__main-a,.rtl .awb-submenu_expand-right .awb-submenu__main-ul_column .awb-submenu__sub-a,.rtl .awb-submenu_expand-right.awb-submenu_em-click .awb-submenu__main-ul_column .menu-item-has-children{text-align:left;flex-direction:row-reverse}.awb-submenu_expand-left .awb-submenu__main-ul_column .awb-submenu__sub-ul{left:auto;right:100%}.awb-submenu_expand-left .awb-submenu__main-ul_column .awb-submenu__sub-ul_main{margin-right:var(--awb-submenu-space,0)}.ltr .awb-submenu_expand-left .awb-submenu__main-ul_column .awb-submenu__main-a,.ltr .awb-submenu_expand-left .awb-submenu__main-ul_column .awb-submenu__sub-a,.ltr .awb-submenu_expand-left.awb-submenu_em-click .awb-submenu__main-ul_column .menu-item-has-children{text-align:right;flex-direction:row-reverse}.awb-submenu_expand-left .awb-submenu__main-ul_column .awb-submenu__open-nav-submenu_click.awb-submenu__open-nav-submenu_main,.awb-submenu_expand-left .awb-submenu__main-ul_column .awb-submenu__open-nav-submenu_mobile{padding-left:calc(var(--awb-items-padding-left,0) + var(--awb-active-border-left,0));padding-right:0}.awb-submenu_expand-left .awb-submenu__main-ul_column .awb-submenu__open-nav-submenu_click.awb-submenu__open-nav-submenu_sub{padding-left:var(--awb-submenu-items-padding-left,20px)}.awb-submenu_expand-left .awb-submenu__main-ul_column .awb-submenu__open-nav-submenu-hover{padding-right:.5em;padding-left:0}.awb-submenu_expand-left .awb-submenu__main-ul_column .awb-submenu__open-nav-submenu-hover:before,.awb-submenu_expand-left .awb-submenu__main-ul_column .awb-submenu__open-nav-submenu_click:before,.awb-submenu_expand-left .awb-submenu__main-ul_column .awb-submenu__open-nav-submenu_mobile:before{transform:rotate(90deg)}.awb-submenu_column .awb-submenu__main-li.menu-item-has-children:before{content:" ";position:absolute;width:var(--awb-submenu-space,0);height:100%;display:none;left:100%;z-index:10}.awb-submenu_column.awb-submenu_em-hover .awb-submenu__main-li.menu-item-has-children:hover:before{display:block}.awb-submenu_column.awb-submenu_em-hover .awb-submenu__main-li.menu-item-has-children.expanded:before{display:block}.awb-submenu_column.awb-submenu_expand-left .awb-submenu__main-li.menu-item-has-children:before{left:auto;right:100%}.awb-submenu__main-ul_column .awb-submenu__i_main.fusion-megamenu-image{width:1.5em;box-sizing:content-box}.awb-submenu_v-stacked .awb-menu__i_main{padding-inline-start:0}.awb-submenu_v-stacked .awb-menu__open-nav-submenu_click.awb-menu__open-nav-submenu_sub{padding-inline-end:0}.awb-submenu_v-stacked .awb-submenu__sub-ul{display:none}.awb-submenu_v-stacked .awb-submenu__sub-ul_grand{margin-inline-start:var(--awb-stacked-submenu-indent,0)}.awb-submenu_v-stacked .awb-submenu__sub-li{width:100%}.awb-submenu_v-stacked.awb-submenu_em-always .awb-submenu__sub-ul{display:block}.awb-submenu_v-stacked .awb-submenu__sub-a{padding-top:var(--awb-submenu-items-padding-top,calc(var(--awb-items-padding-top) + var(--awb-active-border-top)));padding-right:var(--awb-submenu-items-padding-right,calc(var(--awb-items-padding-right) + var(--awb-active-border-right)));padding-bottom:var(--awb-submenu-items-padding-bottom,calc(var(--awb-items-padding-bottom) + var(--awb-active-border-bottom)));padding-left:var(--awb-submenu-items-padding-left,calc(var(--awb-items-padding-left) + var(--awb-active-border-left)))}.awb-submenu_v-stacked .menu-item-has-children{display:grid!important;grid-template-columns:1fr auto;grid-template-areas:"link caret" "submenu submenu"}.awb-submenu_v-stacked .menu-item-has-children .awb-submenu__sub-a{grid-area:link}.awb-submenu_v-stacked .menu-item-has-children .awb-submenu__open-nav-submenu_click{grid-area:caret}.awb-submenu_v-stacked .menu-item-has-children .awb-submenu__sub-ul{grid-area:submenu}.awb-submenu_v-stacked .awb-submenu__open-nav-submenu-hover[aria-expanded=true]:before,.awb-submenu_v-stacked .awb-submenu__open-nav-submenu_mobile[aria-expanded=true]:before{transform:rotate(180deg)!important}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;-webkit-tap-highlight-color:transparent;background:#ddd;outline-offset:1px;font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container a{color:#0078a8;-webkit-tap-highlight-color:rgba(51,181,229,0.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800;border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;float:left;clear:both;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-right .leaflet-control{float:right;margin-right:10px}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0, 0, .25, 1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:bold 18px "Lucida Console",Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC");width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=");background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=")}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:17px 0;margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:0 0}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:0 0;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.awb-openstreet-map{--awb-width:100%;--awb-height:300px;--awb-margin-top:0px;--awb-margin-right:0px;--awb-margin-bottom:0px;--awb-margin-left:0px;--awb-popup-background-color:var(--awb-color1);--awb-popup-close-btn-color:var(--awb-color7);--awb-popup-title-font-family:var(--h5_typography-font-family);--awb-popup-title-font-style:var(--h5_typography-font-style);--awb-popup-title-font-weight:var(--h5_typography-font-weight);--awb-popup-title-font-size:var(--h5_typography-font-size);--awb-popup-title-line-height:var(--h5_typography-line-height);--awb-popup-title-letter-spacing:var(--h5_typography-letter-spacing);--awb-popup-title-text-transform:var(--h5_typography-text-transform);--awb-popup-title-color:var(--h5_typography-color);--awb-popup-title-margin-top:var(--h5_typography-margin-top);--awb-popup-title-margin-bottom:var(--h5_typography-margin-bottom);--awb-popup-title-alignment:inherit;--awb-popup-content-font-family:var(--body_typography-font-family);--awb-popup-content-font-style:var(--body_typography-font-style);--awb-popup-content-font-weight:var(--body_typography-font-weight);--awb-popup-content-font-size:var(--body_typography-font-size);--awb-popup-content-line-height:var(--body_typography-line-height);--awb-popup-content-letter-spacing:var(--body_typography-letter-spacing);--awb-popup-content-text-transform:var(--body_typography-text-transform);--awb-popup-content-color:var(--body_typography-color);--awb-popup-content-alignment:inherit;--awb-popup-padding-top:13px;--awb-popup-padding-right:24px;--awb-popup-padding-bottom:13px;--awb-popup-padding-left:24px;width:var(--awb-width);height:var(--awb-height);margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left)}.awb-openstreet-map .awb-openstreet-map-marker-title{margin-top:var(--awb-popup-title-margin-top);margin-bottom:var(--awb-popup-title-margin-bottom);font-family:var(--awb-popup-title-font-family);font-weight:var(--awb-popup-title-font-weight);font-size:var(--awb-popup-title-font-size);font-style:var(--awb-popup-title-font-style);letter-spacing:var(--awb-popup-title-letter-spacing);line-height:var(--awb-popup-title-line-height);text-transform:var(--awb-popup-title-text-transform);color:var(--awb-popup-title-color);text-align:var(--awb-popup-title-alignment)}.awb-openstreet-map .awb-openstreet-map-marker-content{font-family:var(--awb-popup-content-font-family);font-weight:var(--awb-popup-content-font-weight);font-size:var(--awb-popup-content-font-size);font-style:var(--awb-popup-content-font-style);letter-spacing:var(--awb-popup-content-letter-spacing);line-height:var(--awb-popup-content-line-height);text-transform:var(--awb-popup-content-text-transform);color:var(--awb-popup-content-color);text-align:var(--awb-popup-content-alignment)}.awb-openstreet-map .leaflet-popup-content-wrapper,.awb-openstreet-map .leaflet-popup-tip,.awb-openstreet-map .leaflet-tooltip{background:var(--awb-popup-background-color)}.awb-openstreet-map .leaflet-tooltip{border-color:var(--awb-popup-background-color);padding:var(--awb-popup-padding-top) var(--awb-popup-padding-right) var(--awb-popup-padding-bottom) var(--awb-popup-padding-left);border-radius:12px}.awb-openstreet-map .leaflet-popup-content{margin:var(--awb-popup-padding-top) var(--awb-popup-padding-right) var(--awb-popup-padding-bottom) var(--awb-popup-padding-left)}.awb-openstreet-map .leaflet-tooltip-top:before{border-top-color:var(--awb-popup-background-color)}.awb-openstreet-map .leaflet-tooltip-bottom:before{border-bottom-color:var(--awb-popup-background-color)}.awb-openstreet-map.leaflet-container a.leaflet-popup-close-button{color:var(--awb-popup-close-btn-color)}.awb-openstreet-map .awb-openstreet-map-marker-icon-wrapper{--awb-size:22px;--awb-color:var(--icon_color);--awb-background-color:var(--icon_circle_color);--awb-hover-color:var(--icon_color_hover);--awb-hover-background-color:var(--icon_circle_color_hover);--awb-border-radius-top-left:var(--icon_border_top_l_rad);--awb-border-radius-top-right:var(--icon_border_top_r_rad);--awb-border-radius-bottom-right:var(--icon_border_bot_r_rad);--awb-border-radius-bottom-left:var(--icon_border_bot_l_rad);font-size:var(--awb-size);background-color:var(--awb-background-color);color:var(--awb-color);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-left) var(--awb-border-radius-bottom-right);width:calc(var(--awb-size) * 1.76);height:calc(var(--awb-size) * 1.76);line-height:calc(var(--awb-size) * 1.76);position:relative;display:flex;align-items:center;justify-content:center;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:linear}.awb-openstreet-map .awb-openstreet-map-marker-icon-wrapper:hover{background-color:var(--awb-hover-background-color);color:var(--awb-hover-color)}.awb-openstreet-map .awb-openstreet-map-marker{display:none}.awb-openstreet-map-marker-anim-pumping{animation:awb-openstreet-map-pumping 1.2s infinite alternate;animation-timing-function:ease}@keyframes awb-openstreet-map-pumping{0%{transform:scale(.95)}100%{transform:scale(1.1)}}.awb-openstreet-map-marker-anim-pulsating{z-index:1}.awb-openstreet-map-marker-anim-pulsating:after{content:"";width:100%;height:100%;top:0;left:0;position:absolute;z-index:-1;opacity:0;animation:awb-openstreet-map-pulsating 1.9s infinite;background-color:inherit;border-radius:inherit}@keyframes awb-openstreet-map-pulsating{0%{transform:scale(.7);opacity:1}100%{transform:scale(1.6);opacity:0}}.awb-openstreet-map-marker-anim-showing{animation:awb-openstreet-map-showing 1.5s infinite alternate;animation-timing-function:ease}@keyframes awb-openstreet-map-showing{0%{opacity:.7}100%{opacity:1}}.awb-openstreet-map-marker-anim-pump-showing{animation:awb-openstreet-map-pump-showing 1.3s infinite alternate;animation-timing-function:ease}@keyframes awb-openstreet-map-pump-showing{0%{opacity:.8;transform:scale(.95)}100%{opacity:1;transform:scale(1.05)}}.awb-openstreet-map-marker-anim-sonar{z-index:1;border-color:var(--awb-background-color)}.awb-openstreet-map-marker-anim-sonar:focus,.awb-openstreet-map-marker-anim-sonar:hover{border-color:var(--awb-hover-background-color)}.awb-openstreet-map-marker-anim-sonar:after,.awb-openstreet-map-marker-anim-sonar:before{content:"";width:100%;height:100%;top:-1px;left:-1px;position:absolute;z-index:-1;opacity:0;animation:awb-openstreet-map-sonar 2.3s infinite;background-color:transparent;border:1px solid;border-color:inherit;border-radius:inherit}.awb-openstreet-map-marker-anim-sonar:after{animation-delay:.6s}@keyframes awb-openstreet-map-sonar{0%{transform:scale(1);opacity:1}100%{transform:scale(1.4);opacity:0}}.fusion-privacy-element{margin-top:var(--awb-margin-top);margin-right:var(--awb-margin-right);margin-bottom:var(--awb-margin-bottom);margin-left:var(--awb-margin-left);padding-top:var(--awb-padding-top,0);padding-right:var(--awb-padding-right,0);padding-bottom:var(--awb-padding-bottom,0);padding-left:var(--awb-padding-left,0);font-family:var(--awb-text-font-family, inherit);font-size:var(--awb-text-font-size, inherit);font-weight:var(--awb-text-font-weight,inherit);font-style:var(--awb-text-font-style,inherit);line-height:var(--awb-text-line-height, inherit);letter-spacing:var(--awb-text-letter-spacing, inherit);text-transform:var(--awb-text-text-transform,inherit);color:var(--awb-text-color,inherit)}.fusion-privacy-element .fusion-privacy-group-title{font-family:var(--awb-title-font-family, inherit);font-size:var(--awb-title-font-size, inherit);font-weight:var(--awb-title-font-weight,inherit);font-style:var(--awb-title-font-style,inherit);line-height:var(--awb-title-line-height, inherit);letter-spacing:var(--awb-title-letter-spacing, inherit);text-transform:var(--awb-title-text-transform,inherit);color:var(--awb-title-color,inherit)}.fusion-privacy-element .fusion-privacy-form ul{list-style:none;margin:0 0 20px 0;padding:0}.fusion-privacy-element .fusion-privacy-form-floated ul li{display:inline-block}.fusion-privacy-element .fusion-privacy-form-floated ul li input[type=checkbox]{margin-inline-end:.5em}.fusion-privacy-element .fusion-privacy-form-floated ul li .awb-privacy-desc-toggle{margin-inline-start:.5em}.fusion-privacy-element .fusion-privacy-form-floated>ul li{margin-inline-end:1.25em}.fusion-privacy-element .fusion-privacy-form-floated .fusion-privacy-group ul li{width:100%}.fusion-privacy-element .fusion-privacy-form-intro{margin-bottom:.75em}.fusion-privacy-element .fusion-privacy-group-title{margin:0 0 .75em 0}.fusion-privacy-element .fusion-privacy-group-heading{display:flex;align-items:center;justify-content:space-between}.fusion-privacy-element .fusion-privacy-group-heading .fusion-privacy-group-title{margin:0;flex:1 1 auto}.fusion-privacy-element .awb-privacy-group-master-input{flex:0 0 auto;margin-inline-start:.5em;cursor:pointer}.fusion-privacy-element .awb-privacy-group-toggle{flex:0 0 auto;background:0 0;border:none;padding-inline-start:0.5em;cursor:pointer;color:inherit;font-size:calc(var(--awb-title-font-size, var(--h4_typography-font-size)) * .75);line-height:1;transition:transform .2s ease}.fusion-privacy-element .awb-privacy-group-toggle i{display:block;transition:transform .2s ease}.fusion-privacy-element .awb-privacy-group-toggle.awb-rotate i{transform:rotate(-180deg) translateY(-.125em)}.fusion-privacy-element .fusion-privacy-group-body{margin-top:.75em}.fusion-privacy-element .fusion-privacy-group-description{margin-bottom:.75em}.fusion-privacy-element .fusion-privacy-choices>li{display:grid;grid-template-columns:auto 1fr;column-gap:.5em;margin-bottom:.4em}.fusion-privacy-element .fusion-privacy-choices>li:has(.awb-privacy-desc-toggle){grid-template-columns:auto 1fr auto}.fusion-privacy-element .fusion-privacy-choices>li label{display:contents}.fusion-privacy-element .fusion-privacy-choices>li input{grid-column:1;align-self:center}.fusion-privacy-element .fusion-privacy-choices>li .label-text{grid-column:2}.fusion-privacy-element .fusion-privacy-choices>li .awb-cookie-lifespan{grid-column:2;display:inline-block;font-size:.85em;color:var(--awb-lifespan-color,var(--awb-text-color,inherit));margin-inline-start:.3em}.fusion-privacy-element .fusion-privacy-choices>li .awb-cookie-lifespan::before{content:'('}.fusion-privacy-element .fusion-privacy-choices>li .awb-cookie-lifespan::after{content:')'}.fusion-privacy-element .fusion-privacy-choices>li .awb-privacy-desc-toggle{grid-column:3;grid-row:1;align-self:center;justify-self:end;background:0 0;border:none;padding:0;cursor:pointer;color:inherit;font-size:.85em;line-height:1;transition:transform .2s ease}.fusion-privacy-element .fusion-privacy-choices>li .awb-privacy-desc-toggle i{display:block;transition:transform .2s ease}.fusion-privacy-element .fusion-privacy-choices>li .awb-privacy-desc-toggle.awb-rotate i{transform:rotate(-180deg) translateY(-.125em)}.fusion-privacy-element .fusion-privacy-choices>li .awb-cookie-description{grid-column:2;margin:.2em 0;font-size:var(--awb-desc-font-size, .85em);color:var(--awb-desc-color,var(--awb-text-color,inherit))}.fusion-privacy-element .fusion-privacy-choices>li.is-necessary{opacity:var(--awb-necessary-opacity, var(--privacy_necessary_opacity, .7))}.fusion-privacy-element .fusion-privacy-groups--columns{display:flex;flex-wrap:wrap;gap:var(--awb-group-columns-gap,1em)}.fusion-privacy-element .fusion-privacy-groups--columns .fusion-privacy-group{flex:1 1 var(--awb-group-columns-min-width,200px);min-width:0}.fusion-privacy-element .fusion-privacy-element-button-wrapper{display:flex;flex-wrap:wrap;align-items:center;margin-top:1em;gap:.75rem;justify-content:var(--awb-buttons-alignment)}.fusion-privacy-element.awb-desc-collapsed .awb-cookie-description{display:none}.fusion-privacy-element .fusion-privacy-form--toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:inline-block;width:2.2em;height:1.2em;min-width:2.2em;border-radius:1em;background-color:var(--awb-toggle-off-color,var(--awb-color3));transition:background-color .2s ease;cursor:pointer;vertical-align:middle;margin:0;flex-shrink:0}.fusion-privacy-element .fusion-privacy-form--toggle input[type=checkbox]::after{content:'';position:absolute;top:.1em;left:.1em;width:1em;height:1em;border-radius:50%;background-color:var(--awb-toggle-thumb-color,var(--awb-color1));transition:left .2s ease}.fusion-privacy-element .fusion-privacy-form--toggle input[type=checkbox]:checked{background-color:var(--awb-toggle-on-color,var(--awb-color5))}.fusion-privacy-element .fusion-privacy-form--toggle input[type=checkbox]:checked::after{left:1.1em}.fusion-privacy-element .fusion-privacy-form--toggle input[type=checkbox]:indeterminate::after{left:.6em}.fusion-privacy-element .fusion-privacy-form--toggle input[type=checkbox]:focus-visible{outline:2px solid var(--awb-toggle-on-color,var(--awb-color5));outline-offset:2px}.fusion-privacy-element .fusion-privacy-form--toggle input[type=checkbox]:disabled{cursor:not-allowed}.fusion-privacy-element .fusion-privacy-form--toggle .awb-privacy-group-master-input[type=checkbox]{margin-inline-start:.5em;--awb-master-toggle-font-size:var(--awb-text-font-size, 1rem);font-size:max(calc(var(--awb-title-font-size, var(--h4_typography-font-size)) * .65), var(--awb-master-toggle-font-size))}<?php
namespace W3TC;



/**
 * database queries debug log reader - provides data from this logfile
 */
class UsageStatistics_Source_ObjectCacheLog {
	// running values
	private $timestamp_start;
	private $sort_column;

	private $by_group = array();

	/* if need to read more access log chunks */
	private $more_log_needed = true;



	function __construct( $timestamp_start, $sort_column ) {
		$this->timestamp_start = $timestamp_start;
		$this->sort_column = $sort_column;
	}

	/**
	 * Lists entries from log
	 **/
	public function list_entries() {
		$log_filename = Util_Debug::log_filename( 'objectcache-calls' );
		$h = @fopen( $log_filename, 'rb' );
		if ( !$h ) {
			throw new \Exception( 'Failed to open log file' . $log_filename );
		}

		fseek( $h, 0, SEEK_END );
		$pos = ftell( $h );
		$unparsed_head = '';

		while ( $pos >= 0 && $this->more_log_needed ) {
			$pos -= 8192;
			if ( $pos <= 0 ) {
				$pos = 0;
			}
			fseek( $h, $pos );

			$s = fread( $h, 8192 );

			$unparsed_head = $this->parse_string( $s . $unparsed_head, $pos > 0 );
			if ( $pos <= 0 ) {
				$this->more_log_needed = false;
			}
		}

		$output = array();
		foreach ( $this->by_group as $group => $data ) {
			$output[] = array(
				'group' => $group,
				'count_total' => $data['count_total'],
				'count_get_total' => $data['count_get_total'],
				'count_get_hit' => $data['count_get_hit'],
				'count_set' => $data['count_set'],
				'sum_size' => $data['sum_size'],
				'avg_size' => $data['count_total'] ? (int)( $data['sum_size'] / $data['count_total'] ) : 0,
				'sum_time_ms' => (int)$data['sum_time_ms']
			);
		}

		usort( $output, function($a, $b) {
			return (int)($b[$this->sort_column]) - (int)($a[$this->sort_column]);
		});

		$output = array_slice( $output, 0, 200 );

		return $output;
	}



	private function parse_string( $s, $skip_first_line ) {
		$s_length = strlen( $s );
		$unparsed_head = '';

		$n = 0;
		if ( $skip_first_line ) {
			for ( ; $n < $s_length; $n++ ) {
				$c = substr( $s, $n, 1 );
				if ( $c == "\r" || $c == "\n" ) {
					$unparsed_head = substr( $s, 0, $n + 1 );
					break;
				}
			}
		}

		$line_start = $n;
		for ( ; $n < $s_length; $n++ ) {
			$c = substr( $s, $n, 1 );
			if ( $c == "\r" || $c == "\n" ) {
				if ( $n > $line_start ) {
					$this->push_line( substr( $s, $line_start, $n - $line_start ) );
				}

				$line_start = $n + 1;
			}
		}

		return $unparsed_head;
	}



	private function push_line( $line ) {
		$matches = str_getcsv( $line, "\t" );

		if ( !$matches ) {
			return;
		}

		$date_string = $matches[0];
		$op = $matches[1];
		$group = $matches[2];
		$id = $matches[3];
		$reason = $matches[4];
		$size = (int)$matches[5];
		$time_taken_ms = isset( $matches[6] ) ? (float)$matches[6] / 1000 : 0;

		$time = strtotime($date_string);

		// dont read more if we touched entries before timeperiod of collection
		if ( $time < $this->timestamp_start ) {
			$this->more_log_needed = false;
		}

		if ( $reason == 'not tried cache' ||
			substr( $reason, 0, 7 ) == 'not set' ) {
			return;   // it's not cache-related activity
		}

		if ( !isset( $this->by_group[$group] ) ) {
			$this->by_group[$group] = array(
				'count_total' => 0,
				'count_get_total' => 0,
				'count_get_hit' => 0,
				'count_set' => 0,
				'sum_size' => 0,
				'sum_time_ms' => 0
			);
		}

		if ( $op == 'get' ) {
			$this->by_group[$group]['count_total']++;
			$this->by_group[$group]['count_get_total']++;
			if ($reason == 'from persistent cache') {
				$this->by_group[$group]['count_get_hit']++;
			}
		} elseif ( $op == 'set' ) {
			$this->by_group[$group]['count_total']++;
			$this->by_group[$group]['count_set']++;
		}

		$this->by_group[$group]['sum_size'] += $size;
		$this->by_group[$group]['sum_time_ms'] += $time_taken_ms;
	}
}
.fusion-body .fusion-comments-tb{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-text-color:var(--body_typography-color);--awb-border-size:var(--separator_border_size);--awb-border-color:var(--sep_color);--awb-padding:0;--awb-link-color:var(--link_color);--awb-link-hover-color:var(--link_hover_color);--awb-meta-color:var(--body_typography-color);--awb-heading-color:var(--post_titles_extras_typography-color);color:var(--awb-text-color);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-body .fusion-comments-tb .commentlist .the-comment{border-bottom-width:var(--awb-border-size);border-color:var(--awb-border-color)}.fusion-body .fusion-comments-tb .commentlist .children{padding-left:var(--awb-padding)}.fusion-body .fusion-comments-tb .fusion-title h1,.fusion-body .fusion-comments-tb .fusion-title h2,.fusion-body .fusion-comments-tb .fusion-title h3,.fusion-body .fusion-comments-tb .fusion-title h4,.fusion-body .fusion-comments-tb .fusion-title h5,.fusion-body .fusion-comments-tb .fusion-title h6{color:var(--awb-heading-color)!important}.fusion-body .fusion-comments-tb.avatar-circle .the-comment .avatar{border-radius:50%}.fusion-body .fusion-comments-tb.avatar-square .the-comment .avatar{border-radius:0}.fusion-body .fusion-comments-tb.avatar-hide .commentlist .the-comment .avatar{display:none}.fusion-body .fusion-comments-tb.avatar-hide .commentlist .the-comment .comment-text{margin-left:0}.fusion-body .fusion-comments-tb a{color:var(--awb-link-color)}.fusion-body .fusion-comments-tb a.hover,.fusion-body .fusion-comments-tb a:hover{color:var(--awb-link-hover-color)}.fusion-body .fusion-comments-tb .comment-author.meta{color:var(--awb-meta-color)!important}.fusion-body .fusion-comments-tb .comment-author.meta a{color:var(--awb-link-color)!important}.fusion-body .fusion-comments-tb .comment-author.meta a:hover{color:var(--awb-link-hover-color)!important}.fusion-body .fusion-comments-tb.hide-headings .fusion-title{display:none}.fusion-body .fusion-comments-tb.fusion-order-comment-form{display:flex;flex-direction:column}.fusion-body .fusion-comments-tb.fusion-order-comment-form .comments-container{order:2;margin-top:40px}.fusion-body .fusion-comments-tb.fusion-order-comment-form #respond{order:1;margin-top:55px;clear:both}.fusion-body .fusion-content-tb{--awb-text-font-family:var(--body_typography-font-family);--awb-text-font-weight:var(--body_typography-font-weight);--awb-letter-spacing:var(--body_typography-letter-spacing);--awb-text-font-style:var(--body_typography-font-style, normal);--awb-content-alignment:start;--awb-font-size:var(--body_typography-font-size);--awb-line-height:var(--body_typography-line-height);--awb-text-transform:none;--awb-text-color:var(--body_typography-color);--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;font-family:var(--awb-text-font-family);font-weight:var(--awb-text-font-weight);font-style:var(--awb-text-font-style);text-align:var(--awb-content-alignment);font-size:var(--awb-font-size);line-height:var(--awb-line-height);letter-spacing:var(--awb-letter-spacing);text-transform:var(--awb-text-transform);color:var(--awb-text-color);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left)}.fusion-body .fusion-pagination-tb{--awb-font-size:var(--body_typography-font-size);--awb-height:36px;--awb-preview-wrapper-width:500px;--awb-preview-width:20px;--awb-preview-height:90px;--awb-border-color:var(--sep_color);--awb-border-size:1px;--awb-bg-color:transparent;--awb-box-shadow:none;--awb-text-color:var(--link_color);--awb-text-hover-color:var(--link_hover_color);--awb-preview-text-color:var(--link_color);--awb-preview-font-size:var(--body_typography-font-size);--awb-z-index:100;--awb-margin-bottom:0;--awb-margin-left:0;--awb-margin-right:0;--awb-margin-top:0;position:relative;font-size:var(--awb-font-size);margin-top:var(--awb-margin-top);margin-bottom:var(--awb-margin-bottom);margin-right:var(--awb-margin-right);margin-left:var(--awb-margin-left)}.fusion-body .fusion-pagination-tb:not(.layout-sticky){display:flex;justify-content:space-between;line-height:normal;min-height:var(--awb-height)}.fusion-body .fusion-pagination-tb:not(.layout-sticky) a{margin:0}.fusion-body .fusion-pagination-tb:not(.layout-sticky) a[rel=prev]{padding-left:1em}.fusion-body .fusion-pagination-tb:not(.layout-sticky) a[rel=prev]:before{left:0}.fusion-body .fusion-pagination-tb:not(.layout-sticky) a[rel=next]{padding-right:1em}.fusion-body .fusion-pagination-tb:not(.layout-sticky) a[rel=next]:after{right:0}.fusion-body .fusion-pagination-tb:not(.layout-sticky).clearfix:after,.fusion-body .fusion-pagination-tb:not(.layout-sticky).clearfix:before{display:none}.fusion-body .fusion-pagination-tb:not(.layout-sticky).align-left{justify-content:flex-start}.fusion-body .fusion-pagination-tb:not(.layout-sticky).align-left a[rel=prev]{margin-right:1em}.fusion-body .fusion-pagination-tb:not(.layout-sticky).align-right{justify-content:flex-end}.fusion-body .fusion-pagination-tb:not(.layout-sticky).align-right a[rel=next]{margin-left:1em}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-pagination-preview-wrapper{background-color:#fff;position:absolute;z-index:1000;visibility:hidden;opacity:0;top:100%;transition:opacity .1s ease-in .1s,visibility .1s ease-in .1s;animation:fadeOutLeft .1s ease-in .1s both;display:flex;align-items:center;flex-direction:row;pointer-events:none}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-pagination-preview-wrapper .fusion-item-title{padding:.5em .75em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-pagination-preview-wrapper .fusion-item-media img,.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-pagination-preview-wrapper .fusion-item-media svg{max-width:90px}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-pagination-preview-wrapper .fusion-item-media svg{min-width:90px;min-height:90px;background:#eaecef;display:block}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview.has-box-shadow .fusion-pagination-preview-wrapper{box-shadow:0 0 5px rgba(0,0,0,.2)}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-tb-next:hover .fusion-pagination-preview-wrapper,.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-tb-previous:hover .fusion-pagination-preview-wrapper{visibility:visible;opacity:1;transition:opacity .3s ease-out,visibility .3s ease-out;animation:fadeInLeft .3s ease-out both}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-tb-next .fusion-pagination-preview-wrapper{flex-direction:row-reverse;right:0;animation:fadeOutRight .1s ease-out .1s both}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-tb-next .fusion-pagination-preview-wrapper a{flex-direction:row-reverse}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-tb-next .fusion-pagination-preview-wrapper a .fusion-item-title{flex:1;text-align:left}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-tb-next:hover .fusion-pagination-preview-wrapper{animation:fadeInRight .3s ease-out both}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview.align-left .fusion-tb-next .fusion-pagination-preview-wrapper{right:auto}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview.align-right .fusion-tb-previous .fusion-pagination-preview-wrapper{right:auto}.fusion-body .fusion-pagination-tb:not(.layout-sticky).layout-preview.align-right .fusion-pagination-preview-wrapper{right:0!important}.fusion-body .fusion-pagination-tb:not(.layout-sticky).position-top .fusion-pagination-preview-wrapper{top:auto;bottom:100%}.fusion-body .fusion-pagination-tb.layout-sticky{z-index:var(--awb-z-index)}.fusion-body .fusion-pagination-tb.layout-sticky.has-box-shadow .fusion-control-navigation:before{content:"";box-shadow:0 0 5px rgba(0,0,0,.2);position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation{width:auto;max-width:50vw;height:var(--awb-preview-height);min-width:var(--awb-preview-wrapper-width);position:fixed;right:0;top:50%;display:flex;align-items:center;justify-content:space-between;background:#fff}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation .fusion-item-title{text-align:center;flex:1;display:flex;align-items:center;width:min-content;position:relative}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation .fusion-item-title p{margin:0;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation .fusion-item-title i{position:absolute;left:1em;margin:0;top:50%;transform:translateY(-50%)}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation.prev{border-left:0;left:0;right:auto;transform:translate(calc(max(-1 * var(--awb-preview-wrapper-width),-50vw) + var(--awb-preview-width)),-50%);transition:transform .3s ease-in}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation.prev:hover{transform:translate(0,-50%)!important;transition:transform .3s ease-out}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation.prev .fusion-item-title{padding-right:1em;padding-left:2em}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation.next{border-right:0;right:0;transform:translate(calc(min(var(--awb-preview-wrapper-width),50vw) - var(--awb-preview-width)),-50%);transition:transform .3s ease-in}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation.next:before{transform:rotateY(180deg)}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation.next:hover{transform:translate(0,-50%)!important;transition:transform .3s ease-out}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation.next .fusion-item-title{justify-content:flex-end;padding-left:1em;padding-right:2em}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation.next .fusion-item-media img{margin-right:auto;margin-left:0}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation.next i{left:auto;right:1em}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation .fusion-item-media{height:inherit;display:flex}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation .fusion-item-media img,.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation .fusion-item-media svg{display:block;max-width:fit-content;height:inherit;width:auto;margin-left:auto}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation .fusion-item-media svg{max-width:150px;height:inherit;background:#eaecef}.fusion-body .fusion-pagination-tb.layout-sticky .fusion-control-navigation a{display:flex;flex:1;justify-content:space-between;height:inherit}.fusion-body .fusion-pagination-tb .fusion-item-title{transition-property:color;transition-duration:.2s;transition-timing-function:linear}.fusion-body .fusion-pagination-tb .fusion-tb-next,.fusion-body .fusion-pagination-tb .fusion-tb-previous{display:flex;align-items:center}.fusion-body .fusion-pagination-tb.single-navigation:not(.layout-sticky){border-color:var(--awb-border-color);border-width:var(--awb-border-size)}.fusion-body .fusion-pagination-tb.single-navigation.position-top.layout-preview .fusion-pagination-preview-wrapper{margin-bottom:calc(var(--awb-border-size) + 1px)}.fusion-body .fusion-pagination-tb.single-navigation.position-bottom.layout-preview .fusion-pagination-preview-wrapper{margin-top:calc(var(--awb-border-size) + 1px)}.fusion-body .fusion-pagination-tb.layout-sticky:not(.layoout-text) .fusion-control-navigation{background:var(--awb-bg-color)}.fusion-body .fusion-pagination-tb.layout-sticky:not(.layoout-text) .fusion-control-navigation.has-box-shadow .fusion-control-navigation:before{box-shadow:var(--awb-box-shadow)!important}.fusion-body .fusion-pagination-tb:not(.layout-sticky):not(.layoout-text).layout-preview .fusion-pagination-preview-wrapper{background:var(--awb-bg-color)}.fusion-body .fusion-pagination-tb:not(.layout-sticky):not(.layoout-text).layout-preview.has-box-shadow .fusion-pagination-preview-wrapper{box-shadow:var(--awb-box-shadow)!important}.fusion-body .fusion-fullwidth .fusion-builder-row.fusion-row .fusion-pagination-tb.single-navigation:not(.layout-sticky) a{color:var(--awb-text-color)!important}.fusion-body .fusion-fullwidth .fusion-builder-row.fusion-row .fusion-pagination-tb.single-navigation:not(.layout-sticky) a:after,.fusion-body .fusion-fullwidth .fusion-builder-row.fusion-row .fusion-pagination-tb.single-navigation:not(.layout-sticky) a:before{color:var(--awb-text-color)!important}.fusion-body .fusion-fullwidth .fusion-builder-row.fusion-row .fusion-pagination-tb.single-navigation:not(.layout-sticky) a.hover,.fusion-body .fusion-fullwidth .fusion-builder-row.fusion-row .fusion-pagination-tb.single-navigation:not(.layout-sticky) a:hover{color:var(--awb-text-hover-color)!important}.fusion-body .fusion-fullwidth .fusion-builder-row.fusion-row .fusion-pagination-tb.single-navigation:not(.layout-sticky) a.hover:after,.fusion-body .fusion-fullwidth .fusion-builder-row.fusion-row .fusion-pagination-tb.single-navigation:not(.layout-sticky) a.hover:before,.fusion-body .fusion-fullwidth .fusion-builder-row.fusion-row .fusion-pagination-tb.single-navigation:not(.layout-sticky) a:hover:after,.fusion-body .fusion-fullwidth .fusion-builder-row.fusion-row .fusion-pagination-tb.single-navigation:not(.layout-sticky) a:hover:before{color:var(--awb-text-hover-color)!important}.fusion-body .fusion-fullwidth .fusion-builder-row.fusion-row .fusion-pagination-tb.layout-sticky .fusion-control-navigation a{color:var(--awb-preview-text-color);font-size:var(--awb-preview-font-size)}.fusion-body .fusion-fullwidth .fusion-builder-row.fusion-row .fusion-pagination-tb:not(.layout-sticky).layout-preview .fusion-pagination-preview-wrapper .fusion-item-title{color:var(--awb-preview-text-color);font-size:var(--awb-preview-font-size)}.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.align-left) .fusion-tb-previous a,.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.layout-sticky) .fusion-tb-previous a,.fusion-body.rtl .fusion-pagination-tb.text:not(.align-left) .fusion-tb-previous a,.fusion-body.rtl .fusion-pagination-tb.text:not(.layout-sticky) .fusion-tb-previous a{padding-right:1em;padding-left:0}.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.align-left) .fusion-tb-previous a:before,.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.layout-sticky) .fusion-tb-previous a:before,.fusion-body.rtl .fusion-pagination-tb.text:not(.align-left) .fusion-tb-previous a:before,.fusion-body.rtl .fusion-pagination-tb.text:not(.layout-sticky) .fusion-tb-previous a:before{left:auto;right:0}.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.align-left) .fusion-tb-previous .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.layout-sticky) .fusion-tb-previous .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text:not(.align-left) .fusion-tb-previous .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text:not(.layout-sticky) .fusion-tb-previous .fusion-pagination-preview-wrapper{animation:fadeOutRight .1s ease-in .1s both}.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.align-left) .fusion-tb-previous .fusion-pagination-preview-wrapper a,.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.layout-sticky) .fusion-tb-previous .fusion-pagination-preview-wrapper a,.fusion-body.rtl .fusion-pagination-tb.text:not(.align-left) .fusion-tb-previous .fusion-pagination-preview-wrapper a,.fusion-body.rtl .fusion-pagination-tb.text:not(.layout-sticky) .fusion-tb-previous .fusion-pagination-preview-wrapper a{padding-left:1em;padding-right:0;flex-direction:inherit}.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.align-left) .fusion-tb-previous:hover .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.layout-sticky) .fusion-tb-previous:hover .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text:not(.align-left) .fusion-tb-previous:hover .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text:not(.layout-sticky) .fusion-tb-previous:hover .fusion-pagination-preview-wrapper{animation:fadeInRight .1s ease-out .1s both}.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.align-left) .fusion-tb-next .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.layout-sticky) .fusion-tb-next .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text:not(.align-left) .fusion-tb-next .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text:not(.layout-sticky) .fusion-tb-next .fusion-pagination-preview-wrapper{right:auto;left:0;animation:fadeOutLeft .1s ease-in .1s both}.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.align-left) .fusion-tb-next .fusion-pagination-preview-wrapper a,.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.layout-sticky) .fusion-tb-next .fusion-pagination-preview-wrapper a,.fusion-body.rtl .fusion-pagination-tb.text:not(.align-left) .fusion-tb-next .fusion-pagination-preview-wrapper a,.fusion-body.rtl .fusion-pagination-tb.text:not(.layout-sticky) .fusion-tb-next .fusion-pagination-preview-wrapper a{flex-direction:row-reverse;padding-left:0;padding-right:1em}.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.align-left) .fusion-tb-next a,.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.layout-sticky) .fusion-tb-next a,.fusion-body.rtl .fusion-pagination-tb.text:not(.align-left) .fusion-tb-next a,.fusion-body.rtl .fusion-pagination-tb.text:not(.layout-sticky) .fusion-tb-next a{padding-left:1em;padding-right:0}.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.align-left) .fusion-tb-next a:after,.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.layout-sticky) .fusion-tb-next a:after,.fusion-body.rtl .fusion-pagination-tb.text:not(.align-left) .fusion-tb-next a:after,.fusion-body.rtl .fusion-pagination-tb.text:not(.layout-sticky) .fusion-tb-next a:after{left:0}.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.align-left) .fusion-tb-next:hover .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.layout-preview:not(.layout-sticky) .fusion-tb-next:hover .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text:not(.align-left) .fusion-tb-next:hover .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text:not(.layout-sticky) .fusion-tb-next:hover .fusion-pagination-preview-wrapper{animation:fadeInLeft .1s ease-out .1s both}.fusion-body.rtl .fusion-pagination-tb.layout-preview.align-left .fusion-tb-previous a,.fusion-body.rtl .fusion-pagination-tb.text.align-left .fusion-tb-previous a{margin-right:0;margin-left:1em}.fusion-body.rtl .fusion-pagination-tb.layout-preview.align-left .fusion-tb-previous .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text.align-left .fusion-tb-previous .fusion-pagination-preview-wrapper{right:0}.fusion-body.rtl .fusion-pagination-tb.layout-preview.align-left .fusion-tb-next .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text.align-left .fusion-tb-next .fusion-pagination-preview-wrapper{right:0}.fusion-body.rtl .fusion-pagination-tb.layout-preview.align-right .fusion-tb-next a,.fusion-body.rtl .fusion-pagination-tb.text.align-right .fusion-tb-next a{margin-left:0;margin-right:1em}.fusion-body.rtl .fusion-pagination-tb.layout-preview.align-right .fusion-tb-next .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text.align-right .fusion-tb-next .fusion-pagination-preview-wrapper{left:0;right:auto!important}.fusion-body.rtl .fusion-pagination-tb.layout-preview.align-right .fusion-tb-previous .fusion-pagination-preview-wrapper,.fusion-body.rtl .fusion-pagination-tb.text.align-right .fusion-tb-previous .fusion-pagination-preview-wrapper{left:0;right:auto!important}.fusion-body.rtl .fusion-pagination-tb.layout-sticky .fusion-control-navigation.next{left:0;right:auto;transform:translate(calc(max(-1 * var(--awb-preview-wrapper-width),-50vw) + var(--awb-preview-width)),-50%)!important;transition:transform .3s ease-in}.fusion-body.rtl .fusion-pagination-tb.layout-sticky .fusion-control-navigation.next .fusion-item-media img{margin-left:auto;margin-right:0}.fusion-body.rtl .fusion-pagination-tb.layout-sticky .fusion-control-navigation.next:hover{transform:translate(0,-50%)!important;transition:transform .3s ease-in}.fusion-body.rtl .fusion-pagination-tb.layout-sticky .fusion-control-navigation.prev{right:0;left:auto;transform:translate(calc(min(var(--awb-preview-wrapper-width),50vw) - var(--awb-preview-width)),-50%)!important;transition:transform .3s ease-in}.fusion-body.rtl .fusion-pagination-tb.layout-sticky .fusion-control-navigation.prev .fusion-item-media img{margin-right:auto;margin-left:0}.fusion-body.rtl .fusion-pagination-tb.layout-sticky .fusion-control-navigation.prev:hover{transform:translate(0,-50%)!important;transition:transform .3s ease-in}.fusion-body.fusion-builder-live:not(.fusion-builder-preview-mode) .fusion-pagination-tb.layout-sticky:not(.show-live){display:none}.fusion-body .fusion-related-tb .fusion-carousel-title-below-image .fusion-rollover-title{display:none}.fusion-body .fusion-meta-tb{--awb-margin-top:0;--awb-margin-right:0;--awb-margin-bottom:0;--awb-margin-left:0;--awb-padding-top:5px;--awb-padding-right:0;--awb-padding-bottom:5px;--awb-padding-left:0;--awb-font-size:var(--meta_font_size);--awb-background-color:transparent;--awb-height:33;--awb-text-color:var(--link_color);--awb-link-color:inherit;--awb-alignment:flex-start;--awb-stacked-vertical-align:flex-start;--awb-stacked-horizontal-align:flex-start;--awb-text-hover-color:var(--link_hover_color);--awb-border-color:var(--sep_color, #e7e6e6);--awb-border-bottom:1px;--awb-border-top:1px;--awb-border-left:0;--awb-border-right:0;--awb-item-border-color:var(--sep_color);--awb-item-border-bottom:0;--awb-item-border-top:0;--awb-item-border-left:0;--awb-item-border-right:0;--awb-item-border-radius-top-left:0;--awb-item-border-radius-top-right:0;--awb-item-border-radius-bottom-right:0;--awb-item-border-radius-bottom-left:0;--awb-item-background-color:transparent;--awb-item-padding-top:0;--awb-item-padding-bottom:0;--awb-item-padding-left:0;--awb-item-padding-right:0;--awb-item-margin-top:0;--awb-item-margin-bottom:0;--awb-item-margin-left:0;--awb-item-margin-right:0;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;line-height:normal;font-size:var(--awb-font-size);background-color:var(--awb-background-color);border-top:var(--awb-border-top) solid var(--awb-border-color);border-bottom:var(--awb-border-bottom) solid var(--awb-border-color);border-left:var(--awb-border-left) solid var(--awb-border-color);border-right:var(--awb-border-right) solid var(--awb-border-color);color:var(--awb-text-color);min-height:var(--awb-height);margin:var(--awb-margin-top) var(--awb-margin-right) var(--awb-margin-bottom) var(--awb-margin-left);padding:var(--awb-padding-top) var(--awb-padding-right) var(--awb-padding-bottom) var(--awb-padding-left)}.fusion-body .fusion-meta-tb a{color:var(--awb-text-color)}.fusion-body .fusion-meta-tb a.hover,.fusion-body .fusion-meta-tb a:hover{color:var(--awb-text-hover-color)!important}.fusion-body .fusion-meta-tb.stacked{flex-direction:column;align-items:var(--awb-stacked-horizontal-align);justify-content:var(--awb-stacked-vertical-align)}.fusion-body .fusion-meta-tb.stacked .fusion-meta-tb-sep{display:none}.fusion-body .fusion-meta-tb:not(.stacked){justify-content:var(--awb-alignment)}.fusion-body .fusion-meta-tb .fusion-meta-tb-sep{padding:0 5px}.fusion-body .fusion-meta-tb .fusion-meta-tb-sep:last-child{display:none}.fusion-body .fusion-meta-tb span{border:0 solid var(--awb-border-color)}.fusion-body .fusion-meta-tb span a{color:var(--awb-link-color)}.fusion-body .fusion-meta-tb>span:not(.fusion-meta-tb-sep){border-color:var(--awb-item-border-color);border-bottom-width:var(--awb-item-border-bottom);border-top-width:var(--awb-item-border-top);border-left-width:var(--awb-item-border-left);border-right-width:var(--awb-item-border-right);border-radius:var(--awb-item-border-radius-top-left) var(--awb-item-border-radius-top-right) var(--awb-item-border-radius-bottom-left) var(--awb-item-border-radius-bottom-right);background-color:var(--awb-item-background-color);padding:var(--awb-item-padding-top) var(--awb-item-padding-right) var(--awb-item-padding-bottom) var(--awb-item-padding-left);margin:var(--awb-item-margin-top) var(--awb-item-margin-right) var(--awb-item-margin-bottom) var(--awb-item-margin-left)}.fusion-tb-header{background-color:var(--awb_header_bg_color,transparent)}.clearfix,.container,.container-fluid,.row{clear:both}.clearfix,.container,.container-fluid,.fusion-clearfix,.row{clear:both}.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.fusion-clearfix:after,.fusion-clearfix:before,.row:after,.row:before{content:" ";display:table}.clearfix:after,.container-fluid:after,.container:after,.fusion-clearfix:after,.row:after{clear:both}.alignleft,.fusion-alignleft{display:inline;float:left;margin-right:15px}.alignright,.fusion-alignright{display:inline;float:right;margin-left:15px}.aligncenter,.fusion-aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto;text-align:center}.aligncenter .fontawesome-icon,.fusion-aligncenter .fontawesome-icon{float:none}.create-block-format-context{display:inline-block;clear:both;margin-bottom:40px;width:100%}.create-block-format-context:after,.create-block-format-context:before{content:" ";display:table}.create-block-format-context:after{clear:both}.create-block-format-context:after,.create-block-format-context:before{content:" ";display:table}.create-block-format-context:after{clear:both}.fusion-columns{margin:0 -15px}.fusion-columns-5 .col-lg-2,.fusion-columns-5 .col-md-2,.fusion-columns-5 .col-sm-2,.fusion-columns-5 .col-xs-2{width:20%}.fusion-columns-5 .fusion-column:nth-of-type(5n+1),.fusion-columns-5 .fusion-flip-box-wrapper:nth-of-type(5n+1){clear:both}.fusion-columns-6 .fusion-column:nth-of-type(6n+1),.fusion-columns-6 .fusion-flip-box-wrapper:nth-of-type(6n+1){clear:both}.fusion-columns-4 .fusion-column:nth-of-type(4n+1),.fusion-columns-4 .fusion-flip-box-wrapper:nth-of-type(4n+1){clear:both}.fusion-columns-3 .fusion-column:nth-of-type(3n+1),.fusion-columns-3 .fusion-flip-box-wrapper:nth-of-type(3n+1){clear:both}.fusion-columns-2 .fusion-column:nth-of-type(odd),.fusion-columns-2 .fusion-flip-box-wrapper:nth-of-type(odd){clear:both}.fusion-builder-row>p{display:none}.fusion-builder-row{width:100%;margin:0 auto}.fusion-builder-row.fusion-builder-row-inner{max-width:100%!important}.fusion-builder-row:after{clear:both;content:" ";display:table}.row:after{clear:both;content:" ";display:table}.fusion-fullwidth{position:relative}.fusion-fullwidth .fusion-row{position:relative;z-index:10}.fusion-fullwidth .fullwidth-video{position:absolute;top:0;left:0;z-index:1;min-height:100%;min-width:100%;-webkit-transform-style:preserve-3d;overflow:hidden}.fusion-fullwidth .fullwidth-video video{position:absolute;top:0;left:0;z-index:1;min-height:100%;min-width:100%}.fusion-fullwidth .fullwidth-overlay{position:absolute;top:0;left:0;z-index:5;height:100%;width:100%}.fusion-fullwidth.faded-background .fullwidth-faded{position:absolute;top:0;left:0;z-index:1;min-height:100%;min-width:100%}.fullwidth-box.video-background .fullwidth-video-image{display:none}.ua-mobile .fullwidth-box.video-background .fullwidth-video-image{width:100%;height:100%;display:block;z-index:2;background-size:cover;background-position:center center;position:absolute;top:0;left:0}.fusion-overflow-visible{overflow:visible!important}.fusion-column-first{clear:left}.fusion-column-no-min-height .fusion-column-content-centered,.fusion-column-no-min-height .fusion-column-wrapper{min-height:0!important}.fusion-builder-column.fusion-column-last{margin-right:0}.fusion-builder-placeholder,.fusion-builder-placeholder:active,.fusion-builder-placeholder:hover,.fusion-builder-placeholder:visited{display:block;background:rgba(42,48,53,.5);color:rgba(255,255,255,.9);text-align:center;padding:30px;font-size:18px;margin:5px 0}.fusion-image-wrapper{overflow:hidden;z-index:1;position:relative}.fusion-image-wrapper:hover .fusion-rollover{opacity:1;transform:translateX(0)}.no-csstransforms .fusion-image-wrapper:hover .fusion-rollover{display:block}.fusion-image-wrapper.fusion-video{display:block}.fusion-image-size-fixed{display:inline-block;max-width:100%;vertical-align:top}.fusion-rollover{display:flex;align-items:center;justify-content:space-around;opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;line-height:normal;text-align:center;background-image:linear-gradient(to top,#aad75d,#d1e990);transform:translateX(-100%);transition:all .3s ease-in-out;-webkit-transform-style:preserve-3d}.no-csstransforms .fusion-rollover{display:none}.fusion-rollover a{text-decoration:none;box-shadow:none!important}.fusion-rollover-content{padding:10px;width:90%;box-sizing:border-box}.fusion-rollover-content .fusion-rollover-categories,.fusion-rollover-content .fusion-rollover-title{margin:0;line-height:normal;font-size:13px;color:#333}.fusion-rollover-content .fusion-rollover-title{margin-bottom:3px;margin-top:10px;padding-top:0}.fusion-rollover-content .fusion-rollover-categories{z-index:99;position:relative}.fusion-rollover-content .fusion-rollover-categories a{font-size:11px}.fusion-rollover-content .fusion-rollover-categories a:hover{color:#444}.fusion-rollover-content .fusion-link-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;z-index:1}.fusion-rollover-sep{display:inline-block;vertical-align:middle;height:36px;width:5px}.fusion-rollover-gallery,.fusion-rollover-link{display:inline-block;opacity:.9;position:relative;vertical-align:middle;margin:0;height:36px;width:35px;text-indent:-10000px;background-color:#333;border-radius:50%;background-clip:padding-box;z-index:99}.fusion-rollover-gallery:hover,.fusion-rollover-link:hover{opacity:1}.fusion-rollover-gallery:before,.fusion-rollover-link:before{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-indent:0;line-height:normal;text-shadow:none;font-family:awb-icons;font-size:15px;color:#fff;-webkit-font-smoothing:antialiased}.fusion-rollover-link:before{content:"\e619"}.fusion-rollover-gallery:before{content:"\f002"}.fusion-read-more{box-shadow:none!important;position:relative}.fusion-read-more:after{content:"\f105";top:50%;right:-10px;padding-left:5px;font-size:14px;font-family:awb-icons;position:absolute;transform:translateY(-50%)}.fusion-text-no-margin>p{margin-top:0}.fusion-text-no-margin>p:last-child{margin-bottom:0}.fusion-blog-pagination .pagination .pagination-next:hover:after,.fusion-blog-pagination .pagination .pagination-prev:hover:before,.fusion-date-and-formats .fusion-format-box,.fusion-dropcap,.fusion-filters .fusion-filter.fusion-active a,.fusion-login-box a:hover,.fusion-popover,.tooltip-shortcode{color:var(--primary_color)}.fusion-blog-pagination .fusion-hide-pagination-text .pagination-next:hover,.fusion-blog-pagination .fusion-hide-pagination-text .pagination-prev:hover,.fusion-blog-pagination .pagination .current,.fusion-blog-pagination .pagination a.inactive:hover,.fusion-date-and-formats .fusion-date-box,.fusion-filters .fusion-filter.fusion-active a,.fusion-hide-pagination-text .fusion-blog-pagination .pagination .pagination-next:hover,.fusion-hide-pagination-text .fusion-blog-pagination .pagination .pagination-prev:hover,.fusion-login-box a:hover .reading-box,.fusion-tabs.classic .nav-tabs > li.active .tab-link,.fusion-tabs.classic .nav-tabs > li.active .tab-link:focus,.fusion-tabs.classic .nav-tabs > li.active .tab-link:hover,.fusion-tabs.vertical-tabs.classic .nav-tabs > li.active .tab-link,.table-2 table thead{border-color:var(--primary_color)}.fusion-blog-pagination .fusion-hide-pagination-text .pagination-next:hover,.fusion-blog-pagination .fusion-hide-pagination-text .pagination-prev:hover,.fusion-blog-pagination .pagination .current,.fusion-date-and-formats .fusion-date-box,.table-2 table thead{background-color:var(--primary_color)}.products .product-list-view .fusion-product-wrapper{padding-left:var(--timeline_bg_color-20px-transparent);padding-right:var(--timeline_bg_color-20px-transparent)}.products li.product .fusion-product-wrapper{background-color:var(--timeline_bg_color)}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:0px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:0px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}.awb-background-pattern{position:absolute;top:0;left:0;z-index:6;min-height:100%;min-width:100%}.awb-background-mask{position:absolute;top:0;left:0;z-index:6;min-height:100%;min-width:100%;background-size:cover;background-position:center}.awb-background-slider{--awb-image-position:center;position:absolute;top:0;left:0;z-index:6;height:100%;width:100%;overflow:hidden;pointer-events:none}.awb-background-slider img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--awb-image-position)}.fusion-flexslider{--awb-arrow-position-vertical:50%;--awb-arrow-position-horizontal:0;--awb-arrow-size:var(--slider_arrow_size);--awb-arrow-bgcolor:var(--carousel_nav_color);--awb-arrow-color:#fff;--awb-arrow-hover-bgcolor:var(--carousel_hover_color);--awb-arrow-hover-color:var(--awb-arrow-color);--awb-arrow-border-sizes-top:0;--awb-arrow-border-sizes-right:0;--awb-arrow-border-sizes-bottom:0;--awb-arrow-border-sizes-left:0;--awb-arrow-border-color:transparent;--awb-arrow-border-radius-top-left:0;--awb-arrow-border-radius-top-right:0;--awb-arrow-border-radius-bottom-right:0;--awb-arrow-border-radius-bottom-left:0;--awb-arrow-border-style:none;--awb-arrow-border-hover-color:var(--awb-arrow-border-color);--awb-dots-color:#000;--awb-dots-active-color:var(--carousel_nav_color);--awb-dots-align:center;--awb-dots-size:8px;--awb-dots-active-size:8px;--awb-dots-position-vertical:0;--awb-dots-spacing:4px;position:relative;margin-bottom:0;padding:0;background-color:transparent;overflow:hidden}.fusion-flexslider .flex-control-nav,.fusion-flexslider .flex-direction-nav,.fusion-flexslider .slides{z-index:100;margin:0;padding:0;list-style:none}.fusion-flexslider .slides{overflow:hidden;float:left}.fusion-flexslider .slides li{display:none;margin:0}.fusion-flexslider .slides img{display:block;width:100%;box-shadow:none;border-radius:0}.fusion-flexslider.fusion-flexslider-loading .slides>li:first-child{display:block;opacity:1!important}.fusion-flexslider.fusion-post-slideshow .slides{float:none}.woocommerce-container .images .fusion-flexslider.fusion-flexslider-loading .slides>li:first-child{float:left}.fusion-flexslider .flex-control-nav{position:absolute;bottom:0;width:100%;text-align:center}.fusion-flexslider .flex-direction-nav{list-style:none}.fusion-flexslider .flex-direction-nav a{z-index:100;position:absolute;top:50%;overflow:hidden;width:30px;height:30px;text-align:center;line-height:30px;background-color:rgba(0,0,0,.5);background-repeat:no-repeat;cursor:pointer;opacity:0;font-size:14px;font-weight:400;font-family:awb-icons;-webkit-font-smoothing:none;color:#fff;transition:all .3s ease;transform:translateY(-50%)}.fusion-flexslider .flex-direction-nav .flex-next,.fusion-flexslider .flex-direction-nav .flex-prev{background-color:var(--carousel_nav_color)}.fusion-flexslider .flex-direction-nav .flex-next:hover,.fusion-flexslider .flex-direction-nav .flex-prev:hover{background-color:var(--carousel_hover_color)}.fusion-flexslider .flex-direction-nav .flex-next{right:0}.fusion-flexslider .flex-direction-nav .flex-prev{left:0}.fusion-flexslider:hover .flex-direction-nav .flex-next,.fusion-flexslider:hover .flex-direction-nav .flex-prev{opacity:.8}.fusion-flexslider:hover .flex-direction-nav .flex-next:hover,.fusion-flexslider:hover .flex-direction-nav .flex-prev:hover{opacity:1}.fusion-flexslider:hover .flex-direction-nav .flex-disabled{display:none;opacity:0;cursor:default}.fusion-flexslider.flexslider-attachments{overflow:visible}.fusion-flexslider.flexslider-attachments .flex-direction-nav a{width:30px;height:30px;text-align:center;line-height:30px}.fusion-flexslider.flexslider-attachments .flex-direction-nav a:before{color:#fff}.fusion-flexslider.flexslider-attachments .flex-control-thumbs li{width:60px;margin:5px;float:none}.fusion-flexslider.flexslider-default .flex-direction-nav a{width:60px;height:60px;text-align:center;line-height:60px;font-size:30px}.fusion-flexslider.flexslider-posts .flex-direction-nav a{width:30px;height:30px;text-align:center;line-height:30px}.fusion-flexslider.flexslider-posts .slide-excerpt{position:absolute;bottom:20%}.fusion-flexslider.flexslider-posts .slide-excerpt h2{color:#fff;background:rgba(0,0,0,.8);padding:10px 15px;margin:0}.fusion-flexslider.flexslider-posts .slide-excerpt h2 a{color:#fff}.fusion-flexslider.flexslider-posts .slide-excerpt p{color:#fff;background:rgba(0,0,0,.8);padding:15px}.fusion-flexslider.flexslider-posts-with-excerpt .flex-direction-nav a{background-color:rgba(0,0,0,.5);width:30px;height:30px;text-align:center;line-height:30px}.fusion-flexslider.flexslider-posts-with-excerpt .slide-excerpt{position:absolute;left:0;top:0;bottom:0;padding:5%;width:30%;box-sizing:content-box;background:rgba(0,0,0,.7);color:#fff}.fusion-flexslider.flexslider-posts-with-excerpt .slide-excerpt .excerpt-container{overflow:hidden;height:100%}.fusion-flexslider.flexslider-posts-with-excerpt .slide-excerpt h2{color:#fff;padding:10px 15px;margin:0}.fusion-flexslider.flexslider-posts-with-excerpt .slide-excerpt h2 a{color:#fff}.fusion-flexslider.flexslider-posts-with-excerpt .slide-excerpt p{color:#fff;padding:15px}.flexslider-attachments .flex-control-nav{position:relative;margin-top:10px}.page .post-slideshow{margin-bottom:30px}.flex-container a:active,.flex-container a:focus,.flexslider a:active,.flexslider a:focus{outline:0}.flex-control-nav,.flex-direction-nav,.flexslider .slides{margin:0;padding:0;list-style:none;z-index:2}.flexslider{padding:0;background-color:transparent;position:relative}.fusion-slider-sc:not(.fusion-has-margin) .flexslider{margin:0 0 60px}.fusion-slider-sc.fusion-has-margin .flexslider{margin:0}.flexslider .slides{overflow:hidden}.flexslider .slides li{display:none;-webkit-backface-visibility:hidden;margin:0}.flexslider .slides img{width:100%;max-width:100%;display:block;-webkit-user-select:none;user-select:none}.flexslider .slides .video-shortcode{margin-bottom:0}.flex-pauseplay span{text-transform:capitalize}.flexslider .slides:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}html[xmlns] .flexslider .slides{display:block}* html .flexslider .slides{height:1%}.flex-viewport{max-height:2000px;transition:all 1s ease}.loading .flex-viewport{max-height:300px}.carousel li{margin-right:5px}.flex-direction-nav{height:0;list-style:none!important}.flex-direction-nav a{font-family:awb-icons;width:30px;height:30px;margin:0;background-color:rgba(0,0,0,.5);background-repeat:no-repeat;position:absolute;top:50%;transform:translateY(-50%);cursor:pointer;opacity:0;z-index:100;overflow:hidden;text-align:center;line-height:30px;font-size:16px;font-weight:400;-webkit-font-smoothing:none;color:#fff;text-decoration:none}.flex-direction-nav a:hover{color:#fff}.sidebar .widget .flex-direction-nav a,.sidebar .widget .flex-direction-nav a:hover{color:#fff}.no-opacity .flex-direction-nav a{display:none}.no-opacity .flexslider:hover .flex-direction-nav a{display:block}.flex-direction-nav .flex-next{right:0;text-indent:2px}.flex-direction-nav .flex-prev{left:0;text-indent:-2px}.flexslider:hover .flex-next{opacity:.8;right:0}.flexslider:hover .flex-prev{opacity:.8;left:0}.flexslider:hover .flex-next:hover,.flexslider:hover .flex-prev:hover{opacity:1}.flex-direction-nav .flex-disabled,.main-flex:hover .flex-direction-nav .flex-disabled{opacity:0;cursor:default;display:none;visibility:hidden}.flex-control-nav{width:100%;position:absolute;bottom:0;text-align:center}.flex-control-nav li{margin:0 6px;display:inline-block}.flex-control-paging li a{display:block;width:11px;height:11px;background:rgba(0,0,0,.5);cursor:pointer;text-indent:-9999px;border-radius:20px;box-shadow:inset 0 0 3px rgba(0,0,0,.3)}.flex-control-paging li a:hover{background:#333;background:rgba(0,0,0,.7)}.flex-control-paging li a.flex-active{background:var(--awb-dots-active-color);cursor:default}.flex-control-thumbs{margin:5px 0 0;position:static;overflow:hidden}.flex-control-thumbs li{width:25%;float:left;margin:0}.flex-control-thumbs img{width:100%;display:block;opacity:.7;cursor:pointer}.flex-control-thumbs img:hover{opacity:1}.flex-control-thumbs .flex-active{opacity:1;cursor:default}.flex-caption{position:absolute;background:rgba(0,0,0,.6);width:96%;padding:2%;color:#fff;left:0;bottom:0;margin:0}.main-flex{margin-bottom:0}@media screen and (max-width:860px){.flex-direction-nav .flex-prev{opacity:1;left:0}.flex-direction-nav .flex-next{opacity:1;right:0}}.col .flexslider{margin:0}.fusion-flexslider .flex-direction-nav a,.fusion-flexslider.flexslider-attachments .flex-direction-nav a,.fusion-flexslider.flexslider-posts .flex-direction-nav a,.fusion-flexslider.flexslider-posts-with-excerpt .flex-direction-nav a,.fusion-slider-sc .flex-direction-nav a{width:var(--slider_nav_box_dimensions-width);height:var(--slider_nav_box_dimensions-height);line-height:var(--slider_nav_box_dimensions-height);font-size:var(--awb-arrow-size)}.woocommerce-product-gallery .flex-direction-nav a{width:var(--slider_nav_box_dimensions-width)}.fusion-fullwidth{--awb-background-color:var(--full_width_bg_color);--awb-background-image:none;--awb-background-position:center center;--awb-background-size:auto;--awb-background-repeat:no-repeat;--awb-background-blend-mode:none;--awb-background-size:initial;--awb-box-shadow:none;--awb-border-sizes-top:var(--full_width_border_sizes_top);--awb-border-sizes-right:var(--full_width_border_sizes_right);--awb-border-sizes-bottom:var(--full_width_border_sizes_bottom);--awb-border-sizes-left:var(--full_width_border_sizes_left);--awb-border-color:var(--full_width_border_color);--awb-border-style:solid;--awb-border-radius-top-left:0;--awb-border-radius-top-right:0;--awb-border-radius-bottom-left:0;--awb-border-radius-bottom-right:0;--awb-padding-top:var(--container_padding_default_top, 0px);--awb-padding-right:var(--container_padding_default_right, 0px);--awb-padding-bottom:var(--container_padding_default_bottom, 0px);--awb-padding-left:var(--container_padding_default_left, 0px);--awb-margin-top:0;--awb-margin-bottom:0;--awb-min-height:0;--awb-overflow:visible;--awb-z-index:auto;--awb-sticky-background-color:var(--awb-background-color);--awb-sticky-height:var(--awb-min-height);--awb-filter:none;--awb-filter-hover:none;--awb-filter-transition:all;--awb-position-top:auto;--awb-position-right:auto;--awb-position-bottom:auto;--awb-position-left:auto;--awb-cv-intrinsic-size:500px;background-color:var(--awb-background-color);background-image:var(--awb-background-image);background-position:var(--awb-background-position);background-repeat:var(--awb-background-repeat);background-blend-mode:var(--awb-background-blend-mode);background-size:var(--awb-background-size);box-shadow:var(--awb-box-shadow);border-width:var(--awb-border-sizes-top) var(--awb-border-sizes-right) var(--awb-border-sizes-bottom) var(--awb-border-sizes-left);border-color:var(--awb-border-color);border-style:var(--awb-border-style);border-radius:var(--awb-border-radius-top-left) var(--awb-border-radius-top-right) var(--awb-border-radius-bottom-right) var(--awb-border-radius-bottom-left);padding:var(--awb-padding-top) var(--awb-padding-right) var(--awb-padding-bottom) var(--awb-padding-left);margin-top:var(--awb-margin-top);margin-bottom:var(--awb-margin-bottom);min-height:var(--awb-min-height);overflow:var(--awb-overflow);z-index:var(--awb-z-index);top:var(--awb-position-top);right:var(--awb-position-right);bottom:var(--awb-position-bottom);left:var(--awb-position-left);filter:var(--awb-filter);transition:var(--awb-filter-transition)}.fusion-fullwidth:hover{filter:var(--awb-filter-hover)}.awb-off-canvas .fusion-fullwidth,.fusion-tb-footer .fusion-fullwidth,.fusion-tb-header .fusion-fullwidth,.fusion-tb-page-title-bar .fusion-fullwidth,.width-100 .fusion-fullwidth{--awb-padding-top:var(--container_padding_100_top, 0px);--awb-padding-right:var(--container_padding_100_right, var(--hundredp_padding));--awb-padding-bottom:var(--container_padding_100_bottom, 0px);--awb-padding-left:var(--container_padding_100_left, var(--hundredp_padding))}.fusion-fullwidth.fusion-animated{--awb-z-index:2000}.fullwidth-box.video-background{position:relative}.fullwidth-box.video-background .fullwidth-overlay{position:absolute;top:0;left:0;z-index:5;height:100%;width:100%}.fullwidth-box.video-background .fullwidth-video{position:absolute;top:0;left:0;z-index:1;min-height:100%;min-width:100%;-webkit-transform-style:preserve-3d}.fullwidth-box.video-background .fullwidth-video video{position:absolute;top:50%;left:50%;z-index:1;min-height:100%;min-width:100%;height:auto;width:auto;object-fit:cover;transform:translate(-50%,-50%)}.fullwidth-box.video-background .fusion-row{position:relative;z-index:10}.fullwidth-box.video-background .fullwidth-video-image{display:none}.ua-mobile .fullwidth-box.video-background .fullwidth-video-image{width:100%;height:100%;display:block;z-index:2;background-size:cover;background-position:center center;position:absolute;top:0;left:0}.fullwidth-box.faded-background{position:relative;--awb-overflow:hidden}.fullwidth-box.faded-background .fullwidth-faded{position:absolute;top:0;left:0;z-index:1;min-height:100%;min-width:100%;background-color:var(--awb-background-color);background-image:var(--awb-background-image);background-repeat:var(--awb-background-repeat);background-position:var(--awb-background-position);background-blend-mode:var(--awb-background-blend-mode);background-size:var(--awb-background-size)}.fullwidth-box.faded-background .fusion-row{position:relative;z-index:10}.hundred-percent-fullwidth .fusion-row{max-width:none!important}.hundred-percent-fullwidth .fusion-row .nonhundred-percent-fullwidth .fusion-row{max-width:var(--site_width)!important}#wrapper #main .fullwidth-box .fusion-row{padding-left:0;padding-right:0}.ua-safari .fullwidth-box.faded-background .fullwidth-faded{-webkit-transform:translate3d(0,0,0)}.ua-safari.ua-mobile .fullwidth-box.faded-background .fullwidth-faded{-webkit-transform:none}.hundred-percent-height{--awb-z-index:1;--awb-overflow:hidden;height:100vh}.fusion-fullwidth-center-content{display:flex;align-items:center;height:100%}.fusion-scroll-section{position:relative}.fusion-scroll-section.active .fusion-scroll-section-nav{display:block;opacity:1}.fusion-scroll-section-element{opacity:0;transition:opacity .45s ease 0s}.fusion-scroll-section-element.active{--awb-z-index:1;z-index:var(--awb-z-index);opacity:1}.fusion-scroll-section-mobile-disabled .fusion-scroll-section-element{opacity:1!important}.fusion-scroll-section-element .fusion-fullwidth{-webkit-transform:translate3d(0,0,0)}.awb-swiper-full-sections{height:calc(100vh - var(--adminbar-height));margin-left:var(--hundredp_padding-hundred_percent_negative_margin)!important;margin-right:var(--hundredp_padding-hundred_percent_negative_margin)!important;width:auto!important;perspective:0px}.awb-swiper-full-sections .swiper-wrapper{display:none}.awb-swiper-full-sections.swiper-ready .swiper-wrapper{display:flex}.awb-swiper-full-sections.swiper-initialized .fusion-scroll-section-nav{display:block;opacity:1}.awb-swiper-full-sections.fusion-full-scroll-disabled{height:auto}.awb-swiper-full-sections.fusion-full-scroll-disabled>.swiper-wrapper{display:block!important}.awb-swiper-full-sections .fusion-fullwidth{margin-right:0;margin-left:0}.awb-swiper-full-sections .hundred-percent-height{height:calc(100vh - var(--adminbar-height))}.fusion-scroll-section-nav{display:none;opacity:0;--awb-z-index:10000;z-index:var(--awb-z-index);position:fixed;top:50%;transform:translateY(-50%);margin:0;padding:0;background-color:var(--container_scroll_nav_bg_color);border-radius:15px;transition:opacity .4s ease 0s}.fusion-scroll-section-nav.scroll-navigation-left{left:20px}.fusion-scroll-section-nav.scroll-navigation-right{right:20px}.fusion-scroll-section-mobile-disabled .fusion-scroll-section-nav{display:none!important}.fusion-scroll-section-nav ul{list-style:outside none none;margin:10px 0;padding:0}.fusion-scroll-section-link{display:block;box-sizing:content-box;opacity:.35;position:relative;padding:10px 12px;transition:all .2s ease 0s}.fusion-scroll-section-link.active,.fusion-scroll-section-link:hover{opacity:.8}.fusion-scroll-section-link[data-name=""]:before{display:none}.fusion-scroll-section-link:hover:before{pointer-events:auto;opacity:1;transform:translate3d(-22px,-50%,0);transition:all .2s ease 0s}.fusion-scroll-section-link:before{display:inline-block;content:attr(data-name);position:absolute;top:50%;padding:2px 10px;background-color:rgba(0,0,0,.2);border-radius:15px;color:#fff;transition:all .2s ease 0s;white-space:nowrap;opacity:0;pointer-events:none}.scroll-navigation-left .fusion-scroll-section-link:before{left:65px;transform:translate3d(45px,-50%,0)}.scroll-navigation-right .fusion-scroll-section-link:before{right:20px;transform:translate3d(-40px,-50%,0)}.fusion-parallax-fixed{backface-visibility:hidden}.fusion-scroll-section-link-bullet{display:block;height:9px;width:9px;border-radius:50%;background-color:var(--container_scroll_nav_bullet_color)}#boxed-wrapper.safari-overflow{overflow-x:visible}.safari-overflow .fusion-fullwidth{overflow-x:var(--awb-overflow)}.safari-overflow .fusion-fullwidth .fusion-fullwidth,.safari-overflow .fusion-fullwidth.has-sticky{overflow-x:visible}.fusion-fullwidth.awb-cv-visible{content-visibility:visible}.fusion-fullwidth.awb-cv-auto{content-visibility:auto;contain-intrinsic-size:auto var(--awb-cv-intrinsic-size)}.fusion-fullwidth.awb-cv-hidden{content-visibility:hidden}@media print{.fusion-fullwidth.awb-cv-auto{content-visibility:visible}}.post-content:not(.fusion-post-content),.single-fusion_tb_section .fusion-tb-header,body:not(.side-header) #wrapper{position:relative}.fusion-tb-page-title-bar .fusion-fullwidth.fusion-absolute-container:not(.fusion-custom-z-index):not(.fusion-container-stuck){--awb-z-index:11}body.fusion-no-absolute-containers .fusion-absolute-container{position:relative!important}.fusion-flex-container{--awb-content-wrap:var(--awb-flex-wrap, wrap);display:flex;justify-content:center}.fusion-flex-container .fusion-row{flex-wrap:wrap;display:flex;flex:1;width:100%}.fusion-flex-container .fusion-row .fusion-builder-row-inner{flex:auto;flex-grow:initial;flex-shrink:initial;--awb-min-height:auto;--awb-max-height:none;--awb-overflow:visible;--awb-flex-grow:0;--awb-flex-shrink:0;min-height:var(--awb-min-height);max-height:var(--awb-max-height);flex-grow:var(--awb-flex-grow);flex-shrink:var(--awb-flex-shrink);overflow:var(--awb-overflow)}.fusion-flex-container .fusion-row .fusion-builder-row-inner.fusion-flex-content-wrap{flex-wrap:var(--awb-flex-wrap,var(--awb-content-wrap))}.fusion-flex-container .fusion-row:after,.fusion-flex-container .fusion-row:before{content:none}.fusion-flex-container .fusion-row.fusion-flex-content-wrap{flex-wrap:var(--awb-content-wrap)}.fusion-flex-container .fusion-row .fusion-flex-column{display:flex}.fusion-flex-container .fusion-row .fusion-flex-column .fusion-column-wrapper{width:100%}.fusion-flex-container .fusion-row .fusion-flex-column .fusion-column-inner-bg{width:auto;height:auto;left:0;right:0;top:0;bottom:0}.fusion-flex-container .fusion-row .fusion-flex-column .fusion-column-inner-bg .fusion-column-anchor{display:block}.fusion-flex-container .fusion-row .fusion-flex-column .fusion-column-inner-bg .fusion-column-anchor .fusion-column-inner-bg-image{display:block;position:static}.fusion-flex-container .fusion-row .fusion-flex-column .fusion-column-wrapper:not(.fusion-flex-column-wrapper-legacy){display:flex}.fusion-flex-container .fusion-row .fusion-flex-column .fusion-column-wrapper:not(.fusion-flex-column-wrapper-legacy).fusion-content-layout-column{flex-direction:column}.fusion-flex-container .fusion-row .fusion-flex-column .fusion-column-wrapper:not(.fusion-flex-column-wrapper-legacy).fusion-content-layout-row{flex-direction:row;flex-wrap:wrap}.fusion-flex-container .fusion-row .fusion-flex-column .fusion-column-wrapper:not(.fusion-flex-column-wrapper-legacy).fusion-content-layout-row.fusion-content-nowrap{flex-wrap:nowrap}.fusion-flex-container .fusion-row .fusion-flex-column .fusion-column-wrapper:not(.fusion-flex-column-wrapper-legacy).fusion-content-layout-block{display:block}.fusion-flex-container .fusion-flex-align-self-auto{align-self:auto}.fusion-flex-container .fusion-flex-align-self-flex-start{align-self:flex-start}.fusion-flex-container .fusion-flex-align-self-center{align-self:center}.fusion-flex-container .fusion-flex-align-self-flex-end{align-self:flex-end}.fusion-flex-container .fusion-flex-align-self-stretch{align-self:stretch}.fusion-flex-container .fusion-flex-align-self-baseline{align-self:baseline}.fusion-flex-container .fusion-flex-align-items-auto{align-items:auto}.fusion-flex-container .fusion-flex-align-items-flex-start{align-items:flex-start}.fusion-flex-container .fusion-flex-align-items-center{align-items:center}.fusion-flex-container .fusion-flex-align-items-flex-end{align-items:flex-end}.fusion-flex-container .fusion-flex-justify-content-normal{justify-content:normal}.fusion-flex-container .fusion-flex-justify-content-flex-start{justify-content:flex-start}.fusion-flex-container .fusion-flex-justify-content-center{justify-content:center}.fusion-flex-container .fusion-flex-justify-content-flex-end{justify-content:flex-end}.fusion-flex-container .fusion-flex-justify-content-space-between{justify-content:space-between}.fusion-flex-container .fusion-flex-justify-content-space-around{justify-content:space-around}.fusion-flex-container .fusion-flex-justify-content-space-evenly{justify-content:space-evenly}.fusion-flex-container .fusion-flex-align-content-flex-start{align-content:flex-start}.fusion-flex-container .fusion-flex-align-content-center{align-content:center}.fusion-flex-container .fusion-flex-align-content-flex-end{align-content:flex-end}.fusion-flex-container .fusion-flex-align-content-space-between{align-content:space-between}.fusion-flex-container .fusion-flex-align-content-space-around{align-content:space-around}.fusion-flex-container .fusion-flex-align-content-space-evenly{align-content:space-evenly}.fusion-sticky-container:not(.fusion-sticky-spacer){transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,min-height .1s ease-in-out;-webkit-backface-visibility:hidden}.fusion-sticky-container:not(.fusion-sticky-spacer):not(.fusion-custom-z-index){--awb-z-index:10010}.fusion-tb-header .fusion-sticky-container:not(.fusion-sticky-spacer):not(.fusion-custom-z-index){--awb-z-index:10011}.fusion-sticky-container.fusion-sticky-spacer{pointer-events:none;visibility:hidden;opacity:0}.fusion-sticky-container .fusion-imageframe{transition:max-width .1s ease-in-out}.fusion-sticky-container:not(.fusion-sticky-transition) .fusion-display-sticky-only{display:none}.fusion-sticky-container.fusion-sticky-transition{background-color:var(--awb-sticky-background-color);transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,min-height .3s ease-in-out;min-height:var(--awb-sticky-height)}.fusion-scrolling-active .fusion-sticky-container.fusion-sticky-transition{transition:background .3s,border .3s,border-radius .3s,box-shadow .3s ease-in-out}.fusion-sticky-container.fusion-sticky-transition .fusion-menu-element-list{transition:min-height .3s ease-in-out}.fusion-sticky-container.fusion-sticky-transition .fusion-display-normal-only{display:none}.fusion-sticky-container.fusion-sticky-transition .fusion-imageframe{transition:max-width .3s ease-in-out}.fusion-sticky-container.fusion-sticky-scroll-transition.fusion-scrolling-down{opacity:0;transform:translateY(-100%);transition:opacity .3s,transform .3s,background .3s,border .3s,border-radius .3s,box-shadow .3s ease-in-out;pointer-events:none}.fusion-sticky-container.fusion-sticky-scroll-transition.fusion-scrolling-up{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s,background .3s,border .3s,border-radius .3s,box-shadow .3s ease-in-out;pointer-events:normal}.fusion-sticky-container:not(.fusion-container-stuck)+.fusion-sticky-spacer{display:none!important}.fusion-image-hovers .hover-type-zoomin{overflow:hidden;-webkit-transform:translate3d(0,0,0)}.fusion-image-hovers .hover-type-zoomin .fusion-column-inner-bg-image,.fusion-image-hovers .hover-type-zoomin .fusion-masonry-element-container,.fusion-image-hovers .hover-type-zoomin .tribe-events-event-image,.fusion-image-hovers .hover-type-zoomin img{opacity:1;transition:opacity 1s,transform 1s}.fusion-image-hovers .hover-type-zoomin.hover .fusion-column-inner-bg-image,.fusion-image-hovers .hover-type-zoomin.hover .fusion-masonry-element-container,.fusion-image-hovers .hover-type-zoomin.hover .tribe-events-event-image,.fusion-image-hovers .hover-type-zoomin.hover img,.fusion-image-hovers .hover-type-zoomin:hover .fusion-column-inner-bg-image,.fusion-image-hovers .hover-type-zoomin:hover .fusion-masonry-element-container,.fusion-image-hovers .hover-type-zoomin:hover .tribe-events-event-image,.fusion-image-hovers .hover-type-zoomin:hover img{opacity:.9;transform:scale3d(1.1,1.1,1)}.fusion-image-hovers .hover-type-zoomout{overflow:hidden;-webkit-transform:translate3d(0,0,0)}.fusion-image-hovers .hover-type-zoomout .fusion-column-inner-bg-image,.fusion-image-hovers .hover-type-zoomout .fusion-masonry-element-container,.fusion-image-hovers .hover-type-zoomout .tribe-events-event-image,.fusion-image-hovers .hover-type-zoomout img{opacity:1;transform:scale(1.12);transition:opacity 1s,transform 1s}.fusion-image-hovers .hover-type-zoomout.hover .fusion-column-inner-bg-image,.fusion-image-hovers .hover-type-zoomout.hover .fusion-masonry-element-container,.fusion-image-hovers .hover-type-zoomout.hover .tribe-events-event-image,.fusion-image-hovers .hover-type-zoomout.hover img,.fusion-image-hovers .hover-type-zoomout:hover .fusion-column-inner-bg-image,.fusion-image-hovers .hover-type-zoomout:hover .fusion-masonry-element-container,.fusion-image-hovers .hover-type-zoomout:hover .tribe-events-event-image,.fusion-image-hovers .hover-type-zoomout:hover img{opacity:.9;transform:scale(1)}.fusion-image-hovers .element-bottomshadow .hover-type-zoomin.hover img,.fusion-image-hovers .element-bottomshadow .hover-type-zoomin:hover img,.fusion-image-hovers .element-bottomshadow .hover-type-zoomout.hover img,.fusion-image-hovers .element-bottomshadow .hover-type-zoomout:hover img{opacity:1}.fusion-image-hovers .imageframe-liftup{display:inline-block;position:relative;max-width:100%}.fusion-image-hovers .imageframe-liftup.fusion-imageframe-liftup-left{float:left;margin-right:25px}.fusion-image-hovers .imageframe-liftup.fusion-imageframe-liftup-right{float:right;margin-left:25px}.fusion-image-hovers .imageframe-liftup span,.fusion-image-hovers .imageframe-liftup>div{opacity:1;transform:perspective(1000px) scale(1);transition:transform .35s}.fusion-image-hovers .imageframe-liftup span.hover,.fusion-image-hovers .imageframe-liftup span:hover,.fusion-image-hovers .imageframe-liftup>div.hover,.fusion-image-hovers .imageframe-liftup>div:hover{transform:perspective(1000px) scale(1.03)}.fusion-image-hovers .imageframe-liftup .person-image-container{position:relative}.fusion-image-hovers .imageframe-liftup:before{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;content:"";transition:opacity .35s,transform .35s;box-shadow:0 3px 15px rgba(0,0,0,.4);opacity:0}.fusion-image-hovers .imageframe-liftup.hover:before,.fusion-image-hovers .imageframe-liftup:hover:before{opacity:1;transform:scale(1.02)}.fusion-image-hovers .hover-type-liftup{position:relative;display:inline-block;overflow:visible}.fusion-image-hovers .hover-type-liftup .fusion-column-inner-bg-image,.fusion-image-hovers .hover-type-liftup .fusion-masonry-element-container,.fusion-image-hovers .hover-type-liftup .person-image-container.element-bottomshadow,.fusion-image-hovers .hover-type-liftup .tribe-events-event-image,.fusion-image-hovers .hover-type-liftup .tribe-events-list-event-title>a,.fusion-image-hovers .hover-type-liftup img{transform:perspective(1000px) scale(1);transition:transform .35s;position:relative;z-index:1}.fusion-image-hovers .hover-type-liftup .person-image-container.element-bottomshadow img{transform:none;transition:all 0s ease 0s}.fusion-image-hovers .hover-type-liftup.fusion-column-inner-bg{position:absolute}.fusion-image-hovers .hover-type-liftup.fusion-column-inner-bg.hover,.fusion-image-hovers .hover-type-liftup.fusion-column-inner-bg:hover{z-index:2}.fusion-image-hovers .hover-type-liftup.fusion-column-inner-bg .fusion-column-inner-bg-image{position:absolute}.fusion-image-hovers .hover-type-liftup.fusion-column-inner-bg.hover .fusion-column-inner-bg-image,.fusion-image-hovers .hover-type-liftup.fusion-column-inner-bg:hover .fusion-column-inner-bg-image{position:absolute}.fusion-image-hovers .hover-type-liftup.hover .fusion-column-inner-bg-image,.fusion-image-hovers .hover-type-liftup.hover .fusion-masonry-element-container,.fusion-image-hovers .hover-type-liftup.hover .person-image-container.element-bottomshadow,.fusion-image-hovers .hover-type-liftup.hover .tribe-events-event-image,.fusion-image-hovers .hover-type-liftup.hover .tribe-events-list-event-title>a,.fusion-image-hovers .hover-type-liftup.hover img,.fusion-image-hovers .hover-type-liftup:hover .fusion-column-inner-bg-image,.fusion-image-hovers .hover-type-liftup:hover .fusion-masonry-element-container,.fusion-image-hovers .hover-type-liftup:hover .person-image-container.element-bottomshadow,.fusion-image-hovers .hover-type-liftup:hover .tribe-events-event-image,.fusion-image-hovers .hover-type-liftup:hover .tribe-events-list-event-title>a,.fusion-image-hovers .hover-type-liftup:hover img{transform:perspective(1000px) scale(1.03)}.fusion-image-hovers .hover-type-liftup.hover .person-image-container.element-bottomshadow img,.fusion-image-hovers .hover-type-liftup:hover .person-image-container.element-bottomshadow img{transform:none}.fusion-image-hovers .hover-type-liftup:before{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;content:"";transition:opacity .35s,transform .35s;box-shadow:0 3px 15px rgba(0,0,0,.4);opacity:0;pointer-events:none}.fusion-image-hovers .hover-type-liftup.hover:before,.fusion-image-hovers .hover-type-liftup:hover:before{opacity:1;transform:scale(1.03)}.fusion-image-hovers .flexslider-hover-type-liftup{overflow:visible!important}.fusion-image-hovers .flexslider-hover-type-liftup .slides{overflow:visible!important}.fusion-image-hovers .flexslider-hover-type-liftup li{overflow:visible}.isotope-item{z-index:2}.isotope-hidden.isotope-item{z-index:1}.isotope,.isotope .isotope-item{transition-duration:.8s}.isotope{transition-property:height,width}.isotope .isotope-item{transition-property:transform,opacity}.isotope .isotope-item.no-transition,.isotope.no-transition,.isotope.no-transition .isotope-item{transition-duration:0s}#wrapper #posts-container .fusion-grid-sizer,#wrapper .fusion-grid-sizer{margin:0;padding:0;height:0;min-height:0;visibility:hidden}.fusion-masonry-element-container{background-size:cover;background-position:center center}.fusion-element-grid .fusion-masonry-element-container{padding-top:80%}.fusion-element-landscape .fusion-masonry-element-container{padding-top:40%}.fusion-element-portrait .fusion-masonry-element-container{padding-top:160%}.fusion-masonry-element-container .fusion-image-wrapper>img,.fusion-masonry-element-container .fusion-placeholder-image,.fusion-masonry-element-container>img{display:none}.fusion-layout-column.fusion-events-post,.fusion_builder_column,.fusion_builder_column_inner{--awb-z-index:auto;--awb-z-index-hover:var(--awb-z-index);--awb-absolute-top:auto;--awb-absolute-right:auto;--awb-absolute-bottom:auto;--awb-absolute-left:auto;--awb-container-position:relative;--awb-overflow:visible;--awb-inner-bg-overflow:visible;--awb-bg-color:transparent;--awb-bg-color-hover:var(--awb-bg-color);--awb-inner-bg-color:transparent;--awb-bg-position:left top;--awb-inner-bg-position:left top;--awb-bg-image:none;--awb-inner-bg-image:none;--awb-bg-blend:none;--awb-inner-bg-blend:none;--awb-bg-repeat:no-repeat;--awb-inner-bg-repeat:no-repeat;--awb-bg-size:auto auto;--awb-inner-bg-size:auto auto;--awb-border-top:0;--awb-border-right:0;--awb-border-bottom:0;--awb-border-left:0;--awb-border-color:initial;--awb-border-color-hover:var(--awb-border-color);--awb-border-style:solid;--awb-inner-border-top:0;--awb-inner-border-right:0;--awb-inner-border-bottom:0;--awb-inner-border-left:0;--awb-inner-border-color:initial;--awb-inner-border-color-hover:var(--awb-inner-border-color);--awb-inner-border-style:solid;--awb-border-radius:0;--awb-inner-bg-border-radius:0;--awb-liftup-border-radius:0;--awb-box-shadow:none;--awb-inner-bg-box-shadow:none;--awb-padding-top:0;--awb-padding-right:0;--awb-padding-bottom:0;--awb-padding-left:0;--awb-transform:none;--awb-transform-hover:var(--awb-transform);--awb-transform-parent-hover:var(--awb-transform);--awb-transform-origin:50% 50%;--awb-transition:transform 300ms ease,filter 300ms ease,background-color 300ms ease,border-color 300ms ease;--awb-filter:none;--awb-filter-hover:var(--awb-filter);--awb-filter-parent-hover:var(--awb-filter);--awb-col-width:var(--awb-width-large, 33.3333%);--awb-col-order:var(--awb-order-large, 0);--awb-margin-top-large:var(--col_margin-top, 0);--awb-margin-bottom-large:var(--col_margin-bottom, 20px);--awb-spacing-left-large:var(--col_spacing, 4%);--awb-spacing-right-large:var(--col_spacing, 4%);--awb-margin-top:var(--awb-margin-top-large);--awb-margin-bottom:var(--awb-margin-bottom-large);--awb-spacing-left:var(--awb-spacing-left-large);--awb-spacing-right:var(--awb-spacing-right-large);--awb-col-flex-grow:var(--awb-flex-grow, 0);--awb-col-flex-shrink:var(--awb-flex-shrink, 0);--awb-column-gap:var(--awb-column-gap-large);--awb-row-gap:var(--awb-row-gap-large);--awb-max-height:none}.fusion-layout-column.fusion-events-post.fusion-animated,.fusion_builder_column.fusion-animated,.fusion_builder_column_inner.fusion-animated{--awb-z-index:2000}.fusion-layout-column.fusion-events-post{--awb-spacing-left-large:0;--awb-spacing-right-large:0}.fusion-post-cards .fusion_builder_column.post-card,.fusion-post-cards-grid-column.fusion_builder_column,.fusion-post-cards-grid-column.fusion_builder_column_inner{--awb-spacing-left:0;--awb-spacing-right:0}.fusion-layout-column{position:var(--awb-container-position);float:left;margin-top:var(--awb-margin-top);margin-bottom:var(--awb-margin-bottom);z-index:var(--awb-z-index);top:var(--awb-absolute-top);right:var(--awb-absolute-right);bottom:var(--awb-absolute-bottom);left:var(--awb-absolute-left);filter:var(--awb-filter);transition:var(--awb-transition);width:var(--awb-col-width);order:var(--awb-col-order);flex-grow:var(--awb-col-flex-grow);flex-shrink:var(--awb-col-flex-shrink)}.fusion-layout-column:hover{filter:var(--awb-filter-hover);z-index:var(--awb-z-index-hover)}.fusion-layout-column.fusion-column-hover-type-liftup:hover{--awb-z-index:2001}.fusion-layout-column.fusion-column-liftup-border:not(:hover) .fusion-column-inner-bg-image{border-color:transparent!important;transition:transform .35s,border-color 0s linear .35s}.fusion-layout-column.fusion-column-liftup-border .fusion-column-wrapper{transition:border-color 0s linear .35s,border-radius 0s linear .15s}.fusion-layout-column.fusion-column-liftup-border:hover .fusion-column-wrapper{border-color:transparent!important;border-radius:0!important;transition:border-color 0s,border-radius 0s}.fusion-layout-column .fusion-column-wrapper{background-image:var(--awb-bg-image);background-color:var(--awb-bg-color);background-position:var(--awb-bg-position);background-blend-mode:var(--awb-bg-blend);background-repeat:var(--awb-bg-repeat);background-size:var(--awb-bg-size);border-width:var(--awb-border-top) var(--awb-border-right) var(--awb-border-bottom) var(--awb-border-left);border-color:var(--awb-border-color);border-style:var(--awb-border-style);border-radius:var(--awb-border-radius);box-shadow:var(--awb-box-shadow);padding:var(--awb-padding-top) var(--awb-padding-right) var(--awb-padding-bottom) var(--awb-padding-left);overflow:var(--awb-overflow);transition:var(--awb-transition);transform:var(--awb-transform);transform-origin:var(--awb-transform-origin);min-height:1px;min-width:0;margin-left:var(--awb-spacing-left);margin-right:var(--awb-spacing-right);column-gap:var(--awb-column-gap);row-gap:var(--awb-row-gap);max-height:var(--awb-max-height)}.fusion-layout-column .fusion-column-wrapper.hover,.fusion-layout-column .fusion-column-wrapper:hover{background-color:var(--awb-bg-color-hover);border-color:var(--awb-border-color-hover)}.fusion-layout-column .fusion-flex-column-wrapper-legacy{--awb-spacing-left:0;--awb-spacing-right:0}.fusion-layout-column .fusion-column-inner-bg-image{background-color:var(--awb-inner-bg-color);background-image:var(--awb-inner-bg-image);background-position:var(--awb-inner-bg-position);background-blend-mode:var(--awb-inner-bg-blend);background-repeat:var(--awb-inner-bg-repeat);background-size:var(--awb-inner-bg-size);border-width:var(--awb-inner-border-top) var(--awb-inner-border-right) var(--awb-inner-border-bottom) var(--awb-inner-border-left);border-color:var(--awb-inner-border-color);border-style:var(--awb-inner-border-style);border-radius:var(--awb-border-radius);box-shadow:var(--awb-inner-bg-box-shadow);transition:var(--awb-transition)}.fusion-layout-column .fusion-column-inner-bg-image.hover,.fusion-layout-column .fusion-column-inner-bg-image:hover{background-color:var(--awb-inner-bg-color-hover);border-color:var(--awb-inner-border-color-hover)}.fusion-layout-column .fusion-column-inner-bg.hover+.fusion-column-wrapper,.fusion-layout-column .fusion-column-inner-bg:hover+.fusion-column-wrapper{background-color:var(--awb-bg-color-hover);border-color:var(--awb-border-color-hover)}.fusion-layout-column.fusion_builder_column_auto{--awb-col-width:auto}.fusion-layout-column.fusion-one-full{float:none;clear:both;--awb-col-width:100%}.fusion-layout-column.fusion-one-sixth{--awb-col-width:16.6666%}.fusion-layout-column.fusion-five-sixth{--awb-col-width:83.3333%}.fusion-layout-column.fusion-one-fifth{--awb-col-width:20%}.fusion-layout-column.fusion-two-fifth{--awb-col-width:40%}.fusion-layout-column.fusion-three-fifth{--awb-col-width:60%}.fusion-layout-column.fusion-four-fifth{--awb-col-width:80%}.fusion-layout-column.fusion-one-fourth{--awb-col-width:25%}.fusion-layout-column.fusion-three-fourth{--awb-col-width:75%}.fusion-layout-column.fusion-one-third{--awb-col-width:33.3333%}.fusion-layout-column.fusion-two-third{--awb-col-width:66.6666%}.fusion-layout-column.fusion-one-half{--awb-col-width:50%}.fusion-layout-column.fusion-column-last{margin-left:0;margin-right:0}.fusion-layout-column.fusion-spacing-yes{margin-right:4%}.fusion-layout-column.fusion-spacing-yes.fusion-one-sixth{--awb-col-width:13.3333%}.fusion-layout-column.fusion-spacing-yes.fusion-five-sixth{--awb-col-width:82.6666%}.fusion-layout-column.fusion-spacing-yes.fusion-one-fifth{--awb-col-width:16.8%}.fusion-layout-column.fusion-spacing-yes.fusion-two-fifth{--awb-col-width:37.6%}.fusion-layout-column.fusion-spacing-yes.fusion-three-fifth{--awb-col-width:58.4%}.fusion-layout-column.fusion-spacing-yes.fusion-four-fifth{--awb-col-width:79.2%}.fusion-layout-column.fusion-spacing-yes.fusion-one-fourth{--awb-col-width:22%}.fusion-layout-column.fusion-spacing-yes.fusion-three-fourth{--awb-col-width:74%}.fusion-layout-column.fusion-spacing-yes.fusion-one-third{--awb-col-width:30.6666%}.fusion-layout-column.fusion-spacing-yes.fusion-two-third{--awb-col-width:65.3333%}.fusion-layout-column.fusion-spacing-yes.fusion-one-half{--awb-col-width:48%}.fusion-layout-column.fusion-spacing-yes.fusion-column-last{margin-left:0;margin-right:0}.fusion-layout-column .fusion-column-content-centered{display:flex;justify-content:center;align-items:center}.fusion-layout-column .fusion-column-content-centered .fusion-column-content{flex:1;max-width:100%}.fusion-layout-column .fusion-empty-dims-img-placeholder-medium,.fusion-layout-column .fusion-empty-dims-img-placeholder-small{display:none}.fusion-column-inner-bg-wrapper .fusion-column-wrapper{position:relative;z-index:3;pointer-events:none}.fusion-column-inner-bg{width:100%;height:100%;position:absolute;top:0;left:0;border-radius:var(--awb-inner-bg-border-radius);overflow:var(--awb-inner-bg-overflow);transform:var(--awb-transform);transform-origin:var(--awb-transform-origin);transition:var(--awb-transition);margin-left:var(--awb-spacing-left);margin-right:var(--awb-spacing-right)}.fusion-column-inner-bg.hover-type-liftup:before{border-radius:var(--awb-liftup-border-radius)}.fusion-column-inner-bg .fusion-column-anchor{width:100%;height:100%}.fusion-column-inner-bg .fusion-column-anchor span{width:100%;height:100%;position:absolute;top:0;left:0}body:not(.fusion-builder-live-preview) .fusion-column-inner-bg:hover,body:not(.fusion-builder-live-preview) .fusion-column-inner-bg:hover~.fusion-column-wrapper,body:not(.fusion-builder-live-preview) .fusion-column-wrapper:hover{transform:var(--awb-transform-hover)}body:not(.fusion-builder-live-preview) .fusion-builder-row:hover>.fusion_builder_column>.fusion-column-inner-bg,body:not(.fusion-builder-live-preview) .fusion-builder-row:hover>.fusion_builder_column>.fusion-column-wrapper,body:not(.fusion-builder-live-preview) .fusion-column-inner-bg:hover~.fusion-column-wrapper>.fusion-builder-row-inner>.fusion_builder_column_inner>.fusion-column-inner-bg,body:not(.fusion-builder-live-preview) .fusion-column-inner-bg:hover~.fusion-column-wrapper>.fusion-builder-row-inner>.fusion_builder_column_inner>.fusion-column-wrapper,body:not(.fusion-builder-live-preview) .fusion-column-wrapper:hover>.fusion-builder-row-inner>.fusion_builder_column_inner>.fusion-column-inner-bg,body:not(.fusion-builder-live-preview) .fusion-column-wrapper:hover>.fusion-builder-row-inner>.fusion_builder_column_inner>.fusion-column-wrapper{transform:var(--awb-transform-parent-hover)}body:not(.fusion-builder-live-preview) .fusion-builder-row:hover>.fusion_builder_column>.fusion-column-inner-bg:hover,body:not(.fusion-builder-live-preview) .fusion-builder-row:hover>.fusion_builder_column>.fusion-column-wrapper:hover,body:not(.fusion-builder-live-preview) .fusion-column-inner-bg:hover~.fusion-column-wrapper>.fusion-builder-row-inner>.fusion_builder_column_inner>.fusion-column-inner-bg:hover,body:not(.fusion-builder-live-preview) .fusion-column-inner-bg:hover~.fusion-column-wrapper>.fusion-builder-row-inner>.fusion_builder_column_inner>.fusion-column-wrapper:hover,body:not(.fusion-builder-live-preview) .fusion-column-wrapper:hover>.fusion-builder-row-inner>.fusion_builder_column_inner>.fusion-column-inner-bg:hover,body:not(.fusion-builder-live-preview) .fusion-column-wrapper:hover>.fusion-builder-row-inner>.fusion_builder_column_inner>.fusion-column-wrapper:hover{transform:var(--awb-transform-hover)}body:not(.fusion-builder-live-preview) .fusion-builder-row:hover>.fusion_builder_column>.fusion-column-inner-bg:hover~.fusion-column-wrapper,body:not(.fusion-builder-live-preview) .fusion-column-wrapper:hover>.fusion-builder-row-inner>.fusion_builder_column_inner>.fusion-column-inner-bg:hover~.fusion-column-wrapper{transform:var(--awb-transform-hover)}body:not(.fusion-builder-live-preview) .fusion-column-inner-bg:hover+.fusion-column-wrapper>.fusion-builder-row>.fusion_builder_column_inner,body:not(.fusion-builder-live-preview) .fusion-column-wrapper:hover>.fusion-builder-row>.fusion_builder_column_inner{filter:var(--awb-filter-parent-hover)}body:not(.fusion-builder-live-preview) .fusion-column-inner-bg:hover+.fusion-column-wrapper>.fusion-builder-row>.fusion_builder_column_inner:hover,body:not(.fusion-builder-live-preview) .fusion-column-wrapper:hover>.fusion-builder-row>.fusion_builder_column_inner:hover{filter:var(--awb-filter-hover)}.fusion-builder-row:hover>.fusion_builder_column{filter:var(--awb-filter-parent-hover)}.fusion-builder-row:hover>.fusion_builder_column:hover{filter:var(--awb-filter-hover)}.awb-column__background-slider{position:absolute;top:0;left:var(--awb-spacing-left);right:var(--awb-spacing-right);height:100%;z-index:1}.awb-column__background-slider{border-radius:var(--awb-border-radius)}.awb-column__background-slider .awb-background-slider{border-radius:inherit;border-width:var(--awb-border-top) var(--awb-border-right) var(--awb-border-bottom) var(--awb-border-left);border-color:var(--awb-border-color);border-style:var(--awb-border-style)}.awb-column__content{z-index:10}.fusion-column-anchor .awb-column__background-slider{width:100%;left:0}.fusion-column-anchor .awb-background-slider{position:static}.fusion-image-wrapper .fusion-rollover{background-image:linear-gradient(to top,var(--image_gradient_bottom_color) 0,var(--image_gradient_top_color) 100%)}.fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery:before,.fusion-image-wrapper .fusion-rollover .fusion-rollover-link:before{font-size:var(--image_rollover_icon_size);color:var(--image_rollover_icon_color)}.avada-image-rollover-circle-no .fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery,.avada-image-rollover-circle-no .fusion-image-wrapper .fusion-rollover .fusion-rollover-link{width:calc((var(--image_rollover_icon_size)) * 1.5);height:calc((var(--image_rollover_icon_size)) * 1.5);background-color:transparent}.avada-image-rollover-circle-yes .fusion-image-wrapper .fusion-rollover .fusion-rollover-gallery,.avada-image-rollover-circle-yes .fusion-image-wrapper .fusion-rollover .fusion-rollover-link{width:calc((var(--image_rollover_icon_size)) * 2.41);height:calc((var(--image_rollover_icon_size)) * 2.41);background-color:var(--image_rollover_text_color)}.fusion-woo-product-design-clean .products .fusion-rollover-content .fusion-product-buttons,.fusion-woo-product-design-clean .products .fusion-rollover-content .fusion-product-buttons a,.fusion-woo-product-design-clean .products .fusion-rollover-content .fusion-rollover-linebreak,.fusion-woo-slider .fusion-product-buttons,.fusion-woo-slider .fusion-product-buttons .fusion-rollover-linebreak,.fusion-woo-slider .fusion-product-buttons a{color:var(--image_rollover_text_color)}body:not(.avada-image-rollover-direction-left) .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-product-buttons a:before,body:not(.avada-image-rollover-direction-left) .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories,body:not(.avada-image-rollover-direction-left) .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-categories a,body:not(.avada-image-rollover-direction-left) .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .fusion-rollover-title a,body:not(.avada-image-rollover-direction-left) .fusion-image-wrapper .fusion-rollover .fusion-rollover-content .price *,body:not(.avada-image-rollover-direction-left) .fusion-image-wrapper .fusion-rollover .fusion-rollover-content a,body:not(.avada-image-rollover-direction-left) .fusion-rollover .fusion-rollover-content .fusion-rollover-title{color:var(--image_rollover_text_color)}.fusion-woo-product-design-clean .products .fusion-rollover .star-rating span:before,.fusion-woo-product-design-clean .products .fusion-rollover .star-rating:before{color:var(--image_rollover_icon_color)}.awb-swiper{--awb-arrow-position-vertical:50%;--awb-arrow-position-horizontal:0;--awb-arrow-position-vertical-transform:translateY(-50%);--awb-arrow-size:var(--slider_arrow_size);--awb-arrow-box-width:var(--slider_nav_box_dimensions-width);--awb-arrow-box-height:var(--slider_nav_box_dimensions-height);--awb-arrow-bgcolor:var(--carousel_nav_color);--awb-arrow-color:#fff;--awb-arrow-hover-bgcolor:var(--carousel_hover_color);--awb-arrow-hover-color:var(--awb-arrow-color);--awb-arrow-border-radius-top-left:0;--awb-arrow-border-radius-top-right:0;--awb-arrow-border-radius-bottom-right:0;--awb-arrow-border-radius-bottom-left:0;--awb-dots-color:var(--carousel_hover_color);--awb-dots-active-color:var(--carousel_nav_color);--awb-dots-align:center;--awb-dots-size:8px;--awb-dots-active-size:8px;--awb-dots-position-bottom:10px;--awb-progress-bar-size:4px;--awb-dots-spacing:4px;--awb-dots-margin-top:0;--awb-dots-margin-bottom:0;--awb-columns:5;--awb-column-spacing:13px;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;width:100%;min-width:0;min-height:0;z-index:1}.awb-swiper.fusion-post-cards{--awb-columns:4;--awb-column-spacing:40px}.fusion-woo-featured-products-slider .awb-swiper{--awb-column-spacing:10px}.related-posts .awb-swiper{--awb-columns:var(--related_posts_columns);--awb-column-spacing:var(--related_posts_column_spacing)}.awb-swiper.awb-swiper-carousel:not(.swiper-initialized) .swiper-slide,.awb-swiper.awb-swiper-coverflow:not(.swiper-initialized) .swiper-slide,.awb-swiper.awb-swiper-marquee:not(.swiper-initialized) .swiper-slide{margin-right:var(--awb-column-spacing);max-width:calc((100% - ((var(--awb-columns) - 1) * var(--awb-column-spacing)))/ var(--awb-columns))}.fusion-image-carousel-fixed .awb-swiper .fusion-image-wrapper img{max-height:115px;width:auto}.awb-swiper .fusion-carousel-item-wrapper{line-height:normal;vertical-align:middle}.awb-swiper .fusion-carousel-item-wrapper:not(.fusion-column-wrapper){text-align:center}.awb-swiper .fusion-carousel-title{margin:.6818em 0 .1363em}.awb-swiper .fusion-image-wrapper{display:inline-block}.awb-swiper .fusion-image-wrapper.hover-type-none{display:inline-flex}.awb-swiper .has-aspect-ratio .fusion-image-wrapper{display:block}.awb-swiper:not(.swiper-fade):not([data-slide-effect=swipe_vert]):not([data-slide-effect=slide_vert]) .swiper-wrapper{padding:8px 0}.awb-swiper:not(.swiper-fade) .swiper-wrapper .swiper-slide{transition:transform .45s ease,opacity .45s ease}.awb-swiper:not(.swiper-fade) .swiper-wrapper.is-touch-start .swiper-slide{transform:scale(.97)}.awb-swiper.awb-swiper-dots-position-top .swiper-pagination{bottom:auto;top:calc(var(--awb-dots-position-bottom) + 8px)}.awb-swiper.awb-swiper-dots-position-above,.awb-swiper.awb-swiper-dots-position-below{display:flex;flex-direction:column}.awb-swiper.awb-swiper-dots-position-above .swiper-pagination,.awb-swiper.awb-swiper-dots-position-below .swiper-pagination{bottom:auto;position:relative;margin-top:var(--awb-dots-margin-top);margin-bottom:var(--awb-dots-margin-bottom)}.awb-swiper.awb-swiper-dots-position-above .swiper-pagination{order:-1}.awb-swiper .fusion-carousel-price{margin-top:8px}.awb-swiper-slider{--awb-arrow-hover-bgcolor:var(--awb-arrow-bgcolor)}.awb-swiper-slider .swiper-slide img{display:block;width:100%}.awb-swiper-slider .awb-swiper-button{opacity:0}.awb-swiper-slider .awb-swiper-button:hover{background-color:var(--awb-arrow-hover-bgcolor)}.awb-swiper-slider:hover .awb-swiper-button{opacity:.8}.awb-swiper-slider:hover .awb-swiper-button:hover{opacity:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0,0,0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{transition-property:transform,height}.swiper-autoheight:not(.fusion-post-cards) .swiper-wrapper:not(.awb-image-carousel-wrapper){align-items:flex-start}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:"";flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}.awb-swiper-button-next,.awb-swiper-button-prev{align-items:center;cursor:pointer;display:flex;font-size:var(--awb-arrow-size);position:absolute;width:var(--awb-arrow-box-width);height:var(--awb-arrow-box-height);z-index:10;justify-content:center;color:var(--awb-arrow-color);background-color:var(--awb-arrow-bgcolor);top:var(--awb-arrow-position-vertical);transform:var(--awb-arrow-position-vertical-transform);border-radius:var(--awb-arrow-border-radius-top-left) var(--awb-arrow-border-radius-top-right) var(--awb-arrow-border-radius-bottom-right) var(--awb-arrow-border-radius-bottom-left);transition:all .3s ease;opacity:.8}.awb-swiper-button-next:hover,.awb-swiper-button-prev:hover{background-color:var(--awb-arrow-hover-bgcolor);color:var(--awb-arrow-hover-color);opacity:1}.awb-swiper-button-next.swiper-button-disabled,.awb-swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:auto}.awb-swiper-button-next.swiper-button-hidden,.awb-swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .awb-swiper-button-next,.swiper-navigation-disabled .awb-swiper-button-prev{display:none!important}.awb-swiper-button-prev,.swiper-rtl .awb-swiper-button-next{left:var(--awb-arrow-position-horizontal);right:auto}.awb-swiper-button-next,.swiper-rtl .awb-swiper-button-prev{right:var(--awb-arrow-position-horizontal);left:auto}.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:auto}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--awb-dots-position-bottom);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--awb-dots-size);height:var(--awb-dots-size);display:inline-block;border-radius:50%;background:var(--awb-dots-color);transition:width .2s,height .2s,background-color .2s}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{background:var(--awb-dots-active-color);width:var(--awb-dots-active-size);height:var(--awb-dots-active-size)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 calc(var(--awb-dots-spacing)/ 2)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-horizontal.swiper-pagination-bullets{display:flex;align-items:center;justify-content:var(--awb-dots-align)}.swiper-pagination-progressbar{background:var(--awb-dots-color);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--awb-dots-active-color);position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--awb-progress-bar-size);left:0}.awb-swiper-progress-position-above .swiper-horizontal>.swiper-pagination-progressbar,.awb-swiper-progress-position-above .swiper-pagination-progressbar.swiper-pagination-horizontal,.awb-swiper-progress-position-above .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.awb-swiper-progress-position-above .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{order:-1}.awb-swiper-progress-position-top .swiper-horizontal>.swiper-pagination-progressbar,.awb-swiper-progress-position-top .swiper-pagination-progressbar.swiper-pagination-horizontal,.awb-swiper-progress-position-top .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.awb-swiper-progress-position-top .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{top:0}.awb-swiper-progress-position-bottom .swiper-horizontal>.swiper-pagination-progressbar,.awb-swiper-progress-position-bottom .swiper-pagination-progressbar.swiper-pagination-horizontal,.awb-swiper-progress-position-bottom .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.awb-swiper-progress-position-bottom .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{bottom:0}.swiper-coverflow.awb-swiper.awb-swiper-progress-position-top .swiper-horizontal>.swiper-pagination-progressbar,.swiper-coverflow.awb-swiper.awb-swiper-progress-position-top .swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-coverflow.awb-swiper.awb-swiper-progress-position-top .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-coverflow.awb-swiper.awb-swiper-progress-position-top .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{top:1.5%}.swiper-coverflow.awb-swiper.awb-swiper-progress-position-bottom .swiper-horizontal>.swiper-pagination-progressbar,.swiper-coverflow.awb-swiper.awb-swiper-progress-position-bottom .swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-coverflow.awb-swiper.awb-swiper-progress-position-bottom .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-coverflow.awb-swiper.awb-swiper-progress-position-bottom .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{bottom:2%}.awb-swiper-progress-position-above .swiper-horizontal>.swiper-pagination-progressbar,.awb-swiper-progress-position-above .swiper-pagination-progressbar.swiper-pagination-horizontal,.awb-swiper-progress-position-above .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.awb-swiper-progress-position-above .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.awb-swiper-progress-position-below .swiper-horizontal>.swiper-pagination-progressbar,.awb-swiper-progress-position-below .swiper-pagination-progressbar.swiper-pagination-horizontal,.awb-swiper-progress-position-below .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.awb-swiper-progress-position-below .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{position:relative;margin-top:var(--awb-dots-margin-top);margin-bottom:var(--awb-dots-margin-bottom)}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--awb-progress-bar-size);height:100%;left:0;top:0}.awb-swiper.awb-swiper-progress-position-above[data-pagination=progressbar],.fusion-wrapper .awb-swiper.awb-swiper-progress-position-below[data-pagination=progressbar]{display:flex;flex-direction:column}.fusion-wrapper .awb-swiper.awb-swiper-progress-position-above[data-pagination=progressbar] .swiper-wrapper,.fusion-wrapper .awb-swiper.awb-swiper-progress-position-top[data-pagination=progressbar] .swiper-wrapper{padding-top:0}.fusion-wrapper .awb-swiper.awb-swiper-progress-position-below[data-pagination=progressbar] .swiper-wrapper,.fusion-wrapper .awb-swiper.awb-swiper-progress-position-bottom[data-pagination=progressbar] .swiper-wrapper{padding-bottom:0}.awb-swiper[data-pagination=progressbar] .fusion-carousel-item-wrapper{line-height:1}.swiper-pagination-lock{display:none}.awb-swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-creative .swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-coverflow{padding:1% 0}.swiper-cards{overflow:visible;width:85%}.awb-cursor-nav-helper{--awb-cursor-color:#fff;position:fixed;z-index:400;left:-8px;top:-8px;pointer-events:none;width:16px;height:16px;mix-blend-mode:difference;will-change:transform}.awb-cursor-nav-helper.color-custom,.awb-cursor-nav-helper.color-dark,.awb-cursor-nav-helper.color-light{mix-blend-mode:normal}.awb-cursor-nav-helper.color-dark:before{border:2px solid #000}.awb-cursor-nav-helper.color-dark i{color:#000}.awb-cursor-nav-helper:before{border:2px solid var(--awb-cursor-color);width:100%;height:100%;display:block;content:"";position:absolute;left:-2px;top:-2px;opacity:0;border-radius:50%;transition:transform .45s ease,opacity .3s ease}.awb-cursor-nav-helper span{position:absolute;top:50%;left:0;display:block;width:100%;text-align:center;transform:translateY(-50%)}.awb-cursor-nav-helper i{top:0;color:var(--awb-cursor-color);font-size:16px;opacity:0;position:absolute;transition:transform .2s ease,opacity .2s ease}.awb-cursor-nav-helper i.awb-cursor-nav-left{left:-22px;top:-9px}.awb-cursor-nav-helper i.awb-cursor-nav-right{right:-22px;top:-9px}.awb-cursor-nav-helper--visible i{transition:transform .45s ease,opacity .3s ease;transform:scale(1.5)}.awb-cursor-nav-helper--visible i,.awb-cursor-nav-helper--visible:before{opacity:1}.awb-cursor-nav-helper--touch-start:before{background:var(--awb-cursor-color);transform:scale(.6);transition:transform .25s ease-out,opacity .3s ease}.awb-cursor-nav-helper--touch-start .awb-cursor-nav-left{transform:translateX(8px)}.awb-cursor-nav-helper--touch-start .awb-cursor-nav-right{transform:translateX(-8px)}.awb-cursor-nav-helper--touch-start.color-dark:before{background:#000}@keyframes fusionSonarEffect{0%{opacity:.3}40%{opacity:.5}100%{transform:scale(1.5);opacity:0}}@keyframes fusionToRightFromLeft{49%{transform:translate(100%)}50%{opacity:0;transform:translate(-100%)}51%{opacity:1}100%{opacity:1}}@keyframes fusionExpandAndShow{0%{transform:scale(.5);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes fusionExpandWidth{0%{width:0}100%{width:99%}}@keyframes fusionExpandHeight{0%{height:0}100%{height:100%}}.icon-hover-animation-slide .fontawesome-icon.circle-yes{overflow:hidden}.icon-hover-animation-slide .fontawesome-icon:before{display:block;opacity:1}.icon-hover-animation-fade .fontawesome-icon{transition:background-color .3s,color .3s}.link-area-box-hover.icon-hover-animation-fade .fontawesome-icon,.link-area-link-icon-hover.icon-hover-animation-fade .fontawesome-icon{transition:background-color .3s,color .3s}.link-area-box-hover.icon-hover-animation-slide .fontawesome-icon:before,.link-area-link-icon-hover.icon-hover-animation-slide .fontawesome-icon:before{display:block;animation:fusionToRightFromLeft .3s forwards}.fusion-content-boxes .link-area-box-hover.icon-hover-animation-pulsate .heading,.fusion-content-boxes .link-area-link-icon-hover.icon-hover-animation-pulsate .heading{overflow:visible}.link-area-box-hover.icon-hover-animation-pulsate .fontawesome-icon,.link-area-link-icon-hover.icon-hover-animation-pulsate .fontawesome-icon{transition:background-color .3s,color .3s;transform:scale(.93)}.link-area-box-hover.icon-hover-animation-pulsate .fontawesome-icon:after,.link-area-link-icon-hover.icon-hover-animation-pulsate .fontawesome-icon:after{pointer-events:none;position:absolute;width:100%;height:100%;border-radius:inherit;content:"";box-sizing:content-box;top:0;left:0;padding:0;z-index:-1;box-shadow:0 0 0 2px rgba(255,255,255,.1);opacity:0;transform:scale(.9);display:inline-block;animation:fusionSonarEffect 1.3s ease-out 75ms}@-moz-document url-prefix(){.link-area-box-hover.icon-hover-animation-pulsate .fontawesome-icon:after,.link-area-link-icon-hover.icon-hover-animation-pulsate .fontawesome-icon:after{animation-iteration-count:infinite}}.fusion-content-boxes .link-area-box-hover.icon-wrapper-hover-animation-pulsate .heading,.fusion-content-boxes .link-area-link-icon-hover.icon-wrapper-hover-animation-pulsate .heading{overflow:visible}.link-area-box-hover.icon-wrapper-hover-animation-pulsate .fontawesome-icon,.link-area-link-icon-hover.icon-wrapper-hover-animation-pulsate .fontawesome-icon{transition:background-color .3s,color .3s}.link-area-box-hover.icon-wrapper-hover-animation-pulsate .icon span,.link-area-link-icon-hover.icon-wrapper-hover-animation-pulsate .icon span{transform:scale(.93)}.link-area-box-hover.icon-wrapper-hover-animation-pulsate .icon span:after,.link-area-link-icon-hover.icon-wrapper-hover-animation-pulsate .icon span:after{pointer-events:none;position:absolute;width:100%;height:100%;border-radius:inherit;content:"";box-sizing:content-box;top:0;left:0;padding:0;z-index:-1;box-shadow:0 0 0 2px rgba(255,255,255,.1);opacity:0;transform:scale(.9);display:inline-block;animation:fusionSonarEffect 1.3s ease-out 75ms}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}100%{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}100%{opacity:1;transform:translateX(0)}}@keyframes fadeInUpBig{0%{opacity:0;transform:translateY(2000px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;transform:translateY(-2000px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeInLeftBig{0%{opacity:0;transform:translateX(-2000px)}100%{opacity:1;transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;transform:translateX(2000px)}100%{opacity:1;transform:translateX(0)}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-20px)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(20px)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-20px)}}@keyframes fadeOutRight{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(20px)}}@keyframes fadeOutUpBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(2000px)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-2000px)}100%{transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(2000px)}100%{transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-2000px)}100%{transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(2000px)}100%{transform:translateX(0)}}@keyframes slideOutUp{0%{transform:translateY(0)}100%{opacity:0;transform:translateY(-2000px)}}@keyframes slideOutDown{0%{transform:translateY(0)}100%{opacity:0;transform:translateY(2000px)}}@keyframes slideOutLeft{0%{transform:translateX(0)}100%{opacity:0;transform:translateX(-2000px)}}@keyframes slideOutRight{0%{transform:translateX(0)}100%{opacity:0;transform:translateX(2000px)}}@keyframes slideShortInDown{0%{opacity:0;transform:translateY(-100%)}100%{transform:translateY(0)}}@keyframes slideShortInUp{0%{opacity:0;transform:translateY(100%)}100%{transform:translateY(0)}}@keyframes slideShortInLeft{0%{opacity:0;transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes slideShortInRight{0%{opacity:0;transform:translateX(100%)}100%{transform:translateX(0)}}@keyframes slideShortOutUp{0%{transform:translateY(0)}100%{opacity:0;transform:translateY(-100%)}}@keyframes slideShortOutDown{0%{transform:translateY(0)}100%{opacity:0;transform:translateY(100%)}}@keyframes slideShortOutLeft{0%{transform:translateX(0)}100%{opacity:0;transform:translateX(-100%)}}@keyframes slideShortOutRight{0%{transform:translateX(0)}100%{opacity:0;transform:translateX(100%)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}100%{transform:scale(1)}}@keyframes bounceInUp{0%{opacity:0;transform:translateY(2000px)}60%{opacity:1;transform:translateY(-30px)}80%{transform:translateY(10px)}100%{transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;transform:translateY(-2000px)}60%{opacity:1;transform:translateY(30px)}80%{transform:translateY(-10px)}100%{transform:translateY(0)}}@keyframes bounceInLeft{0%{opacity:0;transform:translateX(-2000px)}60%{opacity:1;transform:translateX(30px)}80%{transform:translateX(-10px)}100%{transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;transform:translateX(2000px)}60%{opacity:1;transform:translateX(-30px)}80%{transform:translateX(10px)}100%{transform:translateX(0)}}@keyframes bounceOut{0%{transform:scale(1)}25%{transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(.3)}}@keyframes bounceOutUp{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(20px)}100%{opacity:0;transform:translateY(-2000px)}}@keyframes bounceOutDown{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(-20px)}100%{opacity:0;transform:translateY(2000px)}}@keyframes bounceOutLeft{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(20px)}100%{opacity:0;transform:translateX(-2000px)}}@keyframes bounceOutRight{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(-20px)}100%{opacity:0;transform:translateX(2000px)}}@keyframes lightSpeedIn{0%{transform:translateX(100%) skewX(-30deg);opacity:0}60%{transform:translateX(-20%) skewX(30deg);opacity:1}80%{transform:translateX(0) skewX(-15deg);opacity:1}100%{transform:translateX(0) skewX(0);opacity:1}}@keyframes lightSpeedOut{0%{transform:translateX(0) skewX(0);opacity:1}100%{transform:translateX(100%) skewX(-30deg);opacity:0}}@keyframes rubberBand{0%{transform:scale3d(1,1,1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}100%{transform:scale3d(1,1,1)}}@keyframes zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomInDown{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}@keyframes zoomInLeft{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}@keyframes zoomInRight{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}@keyframes zoomInUp{0%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}60%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}100%{opacity:0}}@keyframes zoomOutDown{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}100%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom;animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}@keyframes zoomOutLeft{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}@keyframes zoomOutRight{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}@keyframes zoomOutUp{40%{opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(0.55,0.055,0.675,0.19)}100%{opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom;animation-timing-function:cubic-bezier(0.175,0.885,0.32,1)}}@keyframes flipInX{from{transform:perspective(400px) rotate3d(1,0,0,90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1,0,0,-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{transform:perspective(400px)}}@keyframes flipInY{from{transform:perspective(400px) rotate3d(0,1,0,90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(0,1,0,-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{transform:perspective(400px)}}@keyframes flipOutX{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutY{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes revealInLeft{0%{left:0;right:auto;width:0%}45%{left:0;right:auto;width:100%}55%{left:auto;right:0;width:100%}100%{left:auto;right:0;width:0%}}@keyframes revealInRight{0%{left:auto;right:0;width:0%}45%{left:auto;right:0;width:100%}55%{left:0;right:auto;width:100%}100%{left:0;right:auto;width:0%}}@keyframes revealInDown{0%{top:0;bottom:auto;height:0%}45%{top:0;bottom:auto;height:100%}55%{top:auto;bottom:0;height:100%}100%{top:auto;bottom:0;height:0%}}@keyframes revealInUp{0%{top:auto;bottom:0;height:0%}45%{top:auto;bottom:0;height:100%}55%{top:0;bottom:auto;height:100%}100%{top:0;bottom:auto;height:0%}}@keyframes revealContent{0%{visibility:hidden}50%{visibility:hidden}50.1%{visibility:visible}}.fusion-animated{visibility:hidden}.dont-animate .fusion-animated{visibility:visible}.do-animate .fusion-animated{animation-fill-mode:both;animation-duration:1s}.do-animate .fusion-animated.hinge{animation-duration:1s}.do-animate .flash{animation-name:flash}.do-animate .flipinx{backface-visibility:visible!important;animation-name:flipInX}.do-animate .flipiny{backface-visibility:visible!important;animation-name:flipInY}.do-animate .flipOutX{animation-name:flipOutX;backface-visibility:visible!important}.do-animate .flipOutY{backface-visibility:visible!important;animation-name:flipOutY}.do-animate .shake{animation-name:shake}.do-animate .bounce{animation-name:bounce}.do-animate .fadeIn{animation-name:fadeIn}.do-animate .fadeInUp{animation-name:fadeInUp}.do-animate .fadeInDown{animation-name:fadeInDown}.do-animate .fadeInLeft{animation-name:fadeInLeft}.do-animate .fadeInRight{animation-name:fadeInRight}.do-animate .fadeInUpBig{animation-name:fadeInUpBig}.do-animate .fadeInDownBig{animation-name:fadeInDownBig}.do-animate .fadeInLeftBig{animation-name:fadeInLeftBig}.do-animate .fadeInRightBig{animation-name:fadeInRightBig}.do-animate .fadeOut{animation-name:fadeOut}.do-animate .fadeOutUp{animation-name:fadeOutUp}.do-animate .fadeOutDown{animation-name:fadeOutDown}.do-animate .fadeOutLeft{animation-name:fadeOutLeft}.do-animate .fadeOutRight{animation-name:fadeOutRight}.do-animate .fadeOutUpBig{animation-name:fadeOutUpBig}.do-animate .fadeOutDownBig{animation-name:fadeOutDownBig}.do-animate .fadeOutLeftBig{animation-name:fadeOutLeftBig}.do-animate .fadeOutRightBig{animation-name:fadeOutRightBig}.do-animate .slideInDown{animation-name:slideInDown}.do-animate .slideInUp{animation-name:slideInUp}.do-animate .slideIn,.do-animate .slideInLeft{animation-name:slideInLeft}.do-animate .slideInRight{animation-name:slideInRight}.do-animate .slideShortInDown{animation-name:slideShortInDown}.do-animate .slideShortInUp{animation-name:slideShortInUp}.do-animate .slideShortInLeft{animation-name:slideShortInLeft}.do-animate .slideShortInRight{animation-name:slideShortInRight}.do-animate .slideOutUp{animation-name:slideOutUp}.do-animate .slideOutDown{animation-name:slideOutDown}.do-animate .slideOut,.do-animate .slideOutLeft{animation-name:slideOutLeft}.do-animate .slideOutRight{animation-name:slideOutRight}.do-animate .slideShortOutUp{animation-name:slideShortOutUp}.do-animate .slideShortOutDown{animation-name:slideShortOutDown}.do-animate .slideShortOutLeft{animation-name:slideShortOutLeft}.do-animate .slideShortOutRight{animation-name:slideShortOutRight}.do-animate .bounceIn{animation-name:bounceIn}.do-animate .bounceInUp{animation-name:bounceInUp}.do-animate .bounceInDown{animation-name:bounceInDown}.do-animate .bounceInLeft{animation-name:bounceInLeft}.do-animate .bounceInRight{animation-name:bounceInRight}.do-animate .bounceOut{animation-name:bounceOut}.do-animate .bounceOutUp{color:red;animation-name:bounceOutUp}.do-animate .bounceOutDown{animation-name:bounceOutDown}.do-animate .bounceOutLeft{animation-name:bounceOutLeft}.do-animate .bounceOutRight{animation-name:bounceOutRight}.do-animate .lightSpeedIn,.do-animate .lightspeedin{animation-name:lightSpeedIn;animation-timing-function:ease-out}.do-animate .lightSpeedOut{animation-name:lightSpeedOut;animation-timing-function:ease-in}.do-animate .rubberBand{animation-name:rubberBand}.do-animate .zoomIn{animation-name:zoomIn}.do-animate .zoomInDown{animation-name:zoomInDown}.do-animate .zoomInLeft{animation-name:zoomInLeft}.do-animate .zoomInRight{animation-name:zoomInRight}.do-animate .zoomInUp{animation-name:zoomInUp}.do-animate .zoomOut{animation-name:zoomOut}.do-animate .zoomOutDown{animation-name:zoomOutDown}.do-animate .zoomOutLeft{animation-name:zoomOutLeft}.do-animate .zoomOutRight{animation-name:zoomOutRight}.do-animate .zoomOutUp{animation-name:zoomOutUp}.do-animate .revealIn,.do-animate .revealInDown,.do-animate .revealInLeft,.do-animate .revealInRight,.do-animate .revealInUp{--awb-animation-color:var(--primary_color);animation-name:revealContent;animation-timing-function:cubic-bezier(0.1,0.5,0.5,0.9)}.do-animate .revealIn *,.do-animate .revealInDown *,.do-animate .revealInLeft *,.do-animate .revealInRight *,.do-animate .revealInUp *{visibility:inherit!important}.do-animate .revealIn:after,.do-animate .revealInDown:after,.do-animate .revealInLeft:after,.do-animate .revealInRight:after,.do-animate .revealInUp:after{content:"";display:block!important;position:absolute;background-color:var(--awb-animation-color);visibility:visible;animation-duration:inherit;animation-delay:inherit;animation-timing-function:inherit;z-index:10}.do-animate .revealIn:after,.do-animate .revealInLeft:after{top:0;bottom:0;animation-name:revealInLeft}.do-animate .revealInRight:after{top:0;bottom:0;animation-name:revealInRight}.do-animate .revealInDown:after{left:0;right:0;animation-name:revealInDown}.do-animate .revealInUp:after{left:0;right:0;animation-name:revealInUp}.ilightbox-holder,.ilightbox-holder .ilightbox-container,.ilightbox-holder .ilightbox-container .ilightbox-caption,.ilightbox-holder .ilightbox-container .ilightbox-social,.ilightbox-holder .ilightbox-container .ilightbox-social *,.ilightbox-holder .ilightbox-container img.ilightbox-image,.ilightbox-loader,.ilightbox-loader *,.ilightbox-overlay,.ilightbox-thumbnails,.ilightbox-thumbnails *,.ilightbox-toolbar,.ilightbox-toolbar *{float:none;margin:0;padding:0;border:0;font-size:100%;line-height:100%;vertical-align:baseline;background:0 0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.fusion-disable-outline .ilightbox-holder,.fusion-disable-outline .ilightbox-holder .ilightbox-container,.fusion-disable-outline .ilightbox-holder .ilightbox-container .ilightbox-caption,.fusion-disable-outline .ilightbox-holder .ilightbox-container .ilightbox-social,.fusion-disable-outline .ilightbox-holder .ilightbox-container .ilightbox-social *,.fusion-disable-outline .ilightbox-holder .ilightbox-container img.ilightbox-image,.fusion-disable-outline .ilightbox-loader,.fusion-disable-outline .ilightbox-loader *,.fusion-disable-outline .ilightbox-overlay,.fusion-disable-outline .ilightbox-thumbnails,.fusion-disable-outline .ilightbox-thumbnails *,.fusion-disable-outline .ilightbox-toolbar,.fusion-disable-outline .ilightbox-toolbar *{outline:0}.ilightbox-holder .ilightbox-container .ilightbox-caption,.ilightbox-holder .ilightbox-container .ilightbox-social,.ilightbox-loader,.ilightbox-loader *,.ilightbox-overlay,.ilightbox-thumbnails,.ilightbox-thumbnails *,.ilightbox-toolbar{-webkit-transform:translateZ(0);-moz-transform:translateZ(0)}.ilightbox-noscroll{overflow:hidden}.ilightbox-closedhand *{cursor:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/closedhand.cur),default!important}.ilightbox-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:100000}.ilightbox-loader{position:fixed;z-index:100005;top:45%;left:-192px;padding-left:30px;opacity:.9;border-radius:0 100px 100px 0}.ilightbox-loader div{width:72px;height:72px;border-radius:0 100px 100px 0}.ilightbox-loader.horizontal{left:45%;top:-192px;padding:0;padding-top:30px;border-radius:0 0 100px 100px}.ilightbox-loader.horizontal div{border-radius:0 0 100px 100px}.ilightbox-toolbar{display:none;position:fixed;z-index:100010}.ilightbox-toolbar a{float:left;cursor:pointer}.ilightbox-toolbar .ilightbox-next-button,.ilightbox-toolbar .ilightbox-prev-button{display:none}.ilightbox-thumbnails{display:block;position:fixed;z-index:100009}.ilightbox-thumbnails.ilightbox-horizontal{bottom:0;left:0;width:100%;height:100px}.ilightbox-thumbnails.ilightbox-vertical{top:0;right:0;width:140px;height:100%;overflow:hidden}.ilightbox-thumbnails .ilightbox-thumbnails-container{display:block;position:relative}.ilightbox-thumbnails.ilightbox-horizontal .ilightbox-thumbnails-container{width:100%;height:100px}.ilightbox-thumbnails.ilightbox-vertical .ilightbox-thumbnails-container{width:140px;height:100%}.ilightbox-thumbnails .ilightbox-thumbnails-grid{display:block;position:absolute;-webkit-transform:translateZ(0);-moz-transform:translateZ(0)}.ilightbox-thumbnails .ilightbox-thumbnails-grid .ilightbox-thumbnail{display:block;cursor:pointer;padding:0;margin:5px;position:relative}.ilightbox-thumbnails .ilightbox-thumbnails-grid .ilightbox-thumbnail img{width:100%;height:100%;border-radius:2px}.ilightbox-thumbnails .ilightbox-thumbnails-grid .ilightbox-thumbnail .ilightbox-thumbnail-icon{width:100%;height:100%;position:absolute;top:0;left:0;opacity:.7}.ilightbox-thumbnails .ilightbox-thumbnails-grid .ilightbox-thumbnail .ilightbox-thumbnail-icon:hover{opacity:1}.ilightbox-holder{display:none;position:fixed;z-index:100003;-webkit-transform:none;-moz-transform:none}.ilightbox-holder.ilightbox-next,.ilightbox-holder.ilightbox-prev{cursor:pointer}.ilightbox-holder div.ilightbox-container{position:relative;width:100%;height:100%;overflow:hidden}.ilightbox-holder.supportTouch div.ilightbox-container{overflow:scroll;-webkit-overflow-scrolling:touch}.ilightbox-holder img.ilightbox-image{width:100%;height:100%;transition:transform .2s ease}.ilightbox-holder .ilightbox-container .ilightbox-caption{display:none;position:absolute;left:30px;right:30px;bottom:0;max-width:100%;padding:5px 10px;margin:0 auto;font-size:12px;line-height:150%;word-wrap:break-word;z-index:20003;box-sizing:border-box;border-radius:3px 3px 0 0}.ilightbox-holder .ilightbox-container .ilightbox-social{display:none;position:absolute;right:10px;top:10px;padding:5px;padding-left:0;z-index:20003;height:26px}.ilightbox-holder .ilightbox-container .ilightbox-social ul{float:left;list-style:none;height:26px}.ilightbox-holder .ilightbox-container .ilightbox-social ul li{display:inline}.ilightbox-holder .ilightbox-container .ilightbox-social ul li a{float:left;margin-left:5px;width:16px;height:16px;line-height:16px;font-size:14px;text-align:center;background-repeat:no-repeat;background-position:50%;color:#fff}.ilightbox-holder .ilightbox-container .ilightbox-social ul li a:before{color:inherit}.ilightbox-holder .ilightbox-alert{display:block;position:absolute;left:0;right:0;top:0;bottom:0;text-align:center;padding-top:100px;margin:auto;width:300px;height:50px}.ilightbox-holder .ilightbox-wrapper{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.ilightbox-holder .ilightbox-inner-toolbar{position:relative;z-index:100}.ilightbox-holder .ilightbox-inner-toolbar .ilightbox-toolbar{position:absolute}.ilightbox-button{position:fixed;z-index:100008;cursor:pointer}.ilightbox-button.ilightbox-next-button.disabled,.ilightbox-button.ilightbox-prev-button.disabled{visibility:hidden;opacity:0}.isMobile .ilightbox-button,.isMobile .ilightbox-thumbnails{display:none!important}.isMobile .ilightbox-toolbar .ilightbox-next-button,.isMobile .ilightbox-toolbar .ilightbox-prev-button{display:block}.ilightbox-title{line-height:20px}.ilightbox-overlay.metro-white{background:#fff}.ilightbox-loader.metro-white{box-shadow:rgba(0,0,0,.3) 0 0 55px}.ilightbox-loader.metro-white div{background:#fff url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/preloader.gif) no-repeat center}.ilightbox-holder.metro-white{padding:3px;background:#fff;box-shadow:0 0 45px rgba(0,0,0,.2)}.ilightbox-holder.metro-white .ilightbox-container .ilightbox-caption{background:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/caption-bg.png) repeat-x bottom;background-size:100% 100%;left:0;right:0;color:#000;text-shadow:0 1px 1px rgba(0,0,0,.3);padding-top:15px}.ilightbox-holder.metro-white .ilightbox-container .ilightbox-social{background:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/social-bg.png);border-radius:2px}.ilightbox-holder.metro-white .ilightbox-alert{background:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/alert.png) no-repeat center top;color:#89949b}.ilightbox-holder.metro-white .ilightbox-container .ilightbox-social ul li a{color:#333}.ilightbox-toolbar.metro-white{top:8px;left:8px;height:25px}.admin-bar:not(.isMobile) .ilightbox-toolbar.metro-white{top:40px}.ilightbox-toolbar.metro-white a{width:27px;height:25px;background:#fff url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/buttons.png) no-repeat 7px 6px}.ilightbox-toolbar.metro-white a:hover{background-color:#51b7ff}.ilightbox-toolbar.metro-white a.disabled{opacity:.2;cursor:default;background-color:#fff}.ilightbox-toolbar.metro-white a.ilightbox-close:hover{background-color:#d94947;background-position:-30px 6px}.ilightbox-toolbar.metro-white a.ilightbox-fullscreen{background-position:6px -31px}.ilightbox-toolbar.metro-white a.ilightbox-fullscreen:hover{background-position:-29px -31px}.ilightbox-toolbar.metro-white a.ilightbox-play{background-position:8px -55px}.ilightbox-toolbar.metro-white a.ilightbox-play:hover{background-position:-30px -55px}.ilightbox-toolbar.metro-white a.ilightbox-pause{background-position:8px -81px}.ilightbox-toolbar.metro-white a.ilightbox-pause:hover{background-position:-30px -81px}.isMobile .ilightbox-toolbar.metro-white{background:#fff;top:auto;bottom:0;left:0;width:100%;height:40px;text-align:center;box-shadow:0 0 25px rgba(0,0,0,.2)}.isMobile .ilightbox-toolbar.metro-white a,.isMobile .ilightbox-toolbar.metro-white a:hover{display:inline-block;float:none;width:50px;height:40px;background-size:50%;background-position:50%}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-fullscreen{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/fullscreen-icon-64.png)}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-fullscreen:hover{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/fullscreen-hover-icon-64.png)}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-close{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/x-mark-icon-64.png)}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-close:hover{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/x-mark-hover-icon-64.png)}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-next-button{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/arrow-next-icon-64.png);background-position:52% 50%}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-next-button:hover{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/arrow-next-hover-icon-64.png)}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-next-button.disabled{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/arrow-next-icon-64.png);background-position:52% 50%}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-prev-button{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/arrow-prev-icon-64.png);background-position:48% 50%}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-prev-button:hover{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/arrow-prev-hover-icon-64.png)}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-prev-button.disabled{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/arrow-prev-icon-64.png);background-position:48% 50%}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-play{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/play-icon-64.png)}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-play:hover{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/play-hover-icon-64.png)}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-pause{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/pause-icon-64.png)}.isMobile .ilightbox-toolbar.metro-white a.ilightbox-pause:hover{background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/pause-hover-icon-64.png)}.ilightbox-thumbnails.metro-white.ilightbox-horizontal{height:104px}.ilightbox-thumbnails.metro-white.ilightbox-horizontal .ilightbox-thumbnails-container{height:104px}.ilightbox-thumbnails.metro-white.ilightbox-vertical{width:144px}.ilightbox-thumbnails.metro-white.ilightbox-vertical .ilightbox-thumbnails-container{width:144px}.ilightbox-thumbnails.metro-white .ilightbox-thumbnails-grid .ilightbox-thumbnail img{border:2px solid #fff;box-shadow:0 0 10px rgba(0,0,0,.2);border-radius:0}.ilightbox-thumbnails.metro-white .ilightbox-thumbnails-grid .ilightbox-thumbnail .ilightbox-thumbnail-video{background:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/thumb-overlay-play.png) no-repeat center}.ilightbox-holder.metro-white .ilightbox-inner-toolbar .ilightbox-title{font-size:18px;padding:10px 12px;padding-right:60px;color:#535352}.ilightbox-holder.metro-white .ilightbox-inner-toolbar .ilightbox-toolbar{left:auto;top:5px;right:5px}.ilightbox-holder.metro-white .ilightbox-inner-toolbar .ilightbox-toolbar a{float:right}.ilightbox-button.metro-white.disabled{opacity:.1;cursor:default}.ilightbox-button.metro-white span{display:block;width:100%;height:100%}.ilightbox-button.ilightbox-next-button.metro-white,.ilightbox-button.ilightbox-prev-button.metro-white{bottom:0;right:0;left:0;width:30%;height:100px;margin:auto;background:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/arrows_vertical.png) no-repeat 50% -100px;background-color:#fff;background-color:rgba(255,255,255,.6)}.ilightbox-button.ilightbox-prev-button.metro-white{top:0;bottom:auto;background-position:50% 0}.ilightbox-button.ilightbox-next-button.metro-white.horizontal,.ilightbox-button.ilightbox-prev-button.metro-white.horizontal{right:0;left:auto;top:0;bottom:0;width:100px;height:30%;background-image:url(https://keepworking.it/francescaghizzardi/wp-content/plugins/fusion-builder/assets/images/iLightbox/metro-white-skin/arrows_horizontal.png);background-position:-93px 50%}.ilightbox-button.ilightbox-prev-button.metro-white.horizontal{right:auto;left:0;background-position:-7px 50%}@media only screen and (max-width: 1024px){.fusion-body .fusion-button-default-size,.fusion-button{--awb-margin-top-medium:var(--awb-margin-top, 0px);--awb-margin-right-medium:var(--awb-margin-right, 0px);--awb-margin-bottom-medium:var(--awb-margin-bottom, 0px);--awb-margin-left-medium:var(--awb-margin-left, 0px);--awb-padding-top-medium:var(--awb-padding-top);--awb-padding-right-medium:var(--awb-padding-right);--awb-padding-bottom-medium:var(--awb-padding-bottom);--awb-padding-left-medium:var(--awb-padding-left);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium);padding-top:var(--awb-padding-top-medium);padding-right:var(--awb-padding-right-medium);padding-bottom:var(--awb-padding-bottom-medium);padding-left:var(--awb-padding-left-medium)}.fusion-button.fusion-button-span-yes-medium{width:calc(100% - var(--awb-margin-left-medium,0px) - var(--awb-margin-right-medium,0px))}.fusion-button.fusion-button-span-no-medium{width:auto}.fusion-button-wrapper.fusion-align-block-medium{display:block}.fusion-button-wrapper.fusion-align-inline-medium{display:inline}}@media only screen and (max-width: 640px){.fusion-body .fusion-button-default-size,.fusion-button{--awb-margin-top-small:var(--awb-margin-top-medium, var(--awb-margin-top, 0px));--awb-margin-right-small:var(--awb-margin-right-medium, var(--awb-margin-right, 0px));--awb-margin-bottom-small:var(--awb-margin-bottom-medium, var(--awb-margin-bottom, 0px));--awb-margin-left-small:var(--awb-margin-left-medium, var(--awb-margin-left, 0px));--awb-padding-top-small:var(--awb-padding-top-medium, var(--awb-padding-top));--awb-padding-right-small:var(--awb-padding-right-medium, var(--awb-padding-right));--awb-padding-bottom-small:var(--awb-padding-bottom-medium, var(--awb-padding-bottom));--awb-padding-left-small:var(--awb-padding-left-medium, var(--awb-padding-left));margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small);padding-top:var(--awb-padding-top-small);padding-right:var(--awb-padding-right-small);padding-bottom:var(--awb-padding-bottom-small);padding-left:var(--awb-padding-left-small)}.fusion-button.fusion-button-span-yes-small{width:calc(100% - var(--awb-margin-left-small,0px) - var(--awb-margin-right-small,0px))}.fusion-button.fusion-button-span-no-small{width:auto}.fusion-button-wrapper.fusion-align-block-small{display:block}.fusion-button-wrapper.fusion-align-inline-small{display:inline}}@media only screen and (max-width: 1024px){.fusion-fullwidth{--awb-padding-top-medium:var(--awb-padding-top);--awb-padding-right-medium:var(--awb-padding-right);--awb-padding-bottom-medium:var(--awb-padding-bottom);--awb-padding-left-medium:var(--awb-padding-left);--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-min-height-medium:var(--awb-min-height);--awb-sticky-height-medium:var(--awb-min-height-medium);--awb-background-image-medium:var(--awb-background-image);--awb-background-color-medium:var(--awb-background-color);--awb-background-position-medium:var(--awb-background-position);--awb-background-repeat-medium:var(--awb-background-repeat);--awb-background-size-medium:var(--awb-background-size);--awb-background-blend-mode-medium:var(--awb-background-blend-mode);--awb-position-top-medium:var(--awb-position-top);--awb-position-right-medium:var(--awb-position-right);--awb-position-bottom-medium:var(--awb-position-bottom);--awb-position-left-medium:var(--awb-position-left);padding:var(--awb-padding-top-medium) var(--awb-padding-right-medium) var(--awb-padding-bottom-medium) var(--awb-padding-left-medium);margin-top:var(--awb-margin-top-medium);margin-bottom:var(--awb-margin-bottom-medium);min-height:var(--awb-min-height-medium);background-image:var(--awb-background-image-medium);background-color:var(--awb-background-color-medium);background-repeat:var(--awb-background-repeat-medium);background-position:var(--awb-background-position-medium);background-size:var(--awb-background-size-medium);background-blend-mode:var(--awb-background-blend-mode-medium);top:var(--awb-position-top-medium);right:var(--awb-position-right-medium);bottom:var(--awb-position-bottom-medium);left:var(--awb-position-left-medium)}.fullwidth-box.faded-background .fullwidth-faded{background-image:var(--awb-background-image-medium);background-color:var(--awb-background-color-medium);background-repeat:var(--awb-background-repeat-medium);background-position:var(--awb-background-position-medium);background-size:var(--awb-background-size-medium);background-blend-mode:var(--awb-background-blend-mode-medium)}.fusion-sticky-container.fusion-sticky-transition{min-height:var(--awb-sticky-height-medium)}.fusion-flex-container .fusion-row.fusion-flex-content-wrap{flex-wrap:var(--awb-flex-wrap-medium,var(--awb-flex-wrap))}.fusion-flex-container .fusion-row.fusion-builder-row-inner{--awb-min-height-medium:var(--awb-min-height);--awb-max-height-medium:var(--awb-min-height);--awb-flex-grow-medium:var(--awb-flex-grow);--awb-flex-shrink-medium:var(--awb-flex-shrink);min-height:var(--awb-min-height-medium);max-height:var(--awb-max-height-medium);flex-grow:var(--awb-flex-grow-medium);flex-shrink:var(--awb-flex-shrink-medium);flex-wrap:var(--awb-flex-wrap-medium,var(--awb-flex-wrap))}.fusion-flex-container .fusion-row.fusion-builder-row-inner.fusion-flex-content-wrap{flex-wrap:var(--awb-flex-wrap-medium,var(--awb-flex-wrap))}}@media only screen and (max-width: 640px){.fusion-fullwidth{--awb-padding-top-small:var(--awb-padding-top-medium);--awb-padding-right-small:var(--awb-padding-right-medium);--awb-padding-bottom-small:var(--awb-padding-bottom-medium);--awb-padding-left-small:var(--awb-padding-left-medium);--awb-margin-top-small:var(--awb-margin-top-medium);--awb-margin-bottom-small:var(--awb-margin-bottom-medium);--awb-min-height-small:var(--awb-min-height-medium);--awb-sticky-height-small:var(--awb-min-height-small);--awb-background-image-small:var(--awb-background-image-medium);--awb-background-color-small:var(--awb-background-color-medium);--awb-background-repeat-small:var(--awb-background-repeat-medium);--awb-background-position-small:var(--awb-background-position-medium);--awb-background-size-small:var(--awb-background-size-medium);--awb-background-blend-mode-small:var(--awb-background-blend-mode-medium);--awb-position-top-small:var(--awb-position-top-medium);--awb-position-right-small:var(--awb-position-right-medium);--awb-position-bottom-small:var(--awb-position-bottom-medium);--awb-position-left-small:var(--awb-position-left-medium);padding:var(--awb-padding-top-small) var(--awb-padding-right-small) var(--awb-padding-bottom-small) var(--awb-padding-left-small);margin-top:var(--awb-margin-top-small);margin-bottom:var(--awb-margin-bottom-small);min-height:var(--awb-min-height-small);background-image:var(--awb-background-image-small);background-color:var(--awb-background-color-small);background-repeat:var(--awb-background-repeat-small);background-position:var(--awb-background-position-small);background-size:var(--awb-background-size-small);background-blend-mode:var(--awb-background-blend-mode-small);top:var(--awb-position-top-small);right:var(--awb-position-right-small);bottom:var(--awb-position-bottom-small);left:var(--awb-position-left-small)}.fullwidth-box.faded-background .fullwidth-faded{background-image:var(--awb-background-image-small);background-color:var(--awb-background-color-small);background-repeat:var(--awb-background-repeat-small);background-position:var(--awb-background-position-small);background-size:var(--awb-background-size-small);background-blend-mode:var(--awb-background-blend-mode-small)}.fusion-sticky-container.fusion-sticky-transition{min-height:var(--awb-sticky-height-small)}.fusion-flex-container .fusion-row.fusion-flex-content-wrap{flex-wrap:var(--awb-flex-wrap-small,var(--awb-flex-wrap-medium,var(--awb-flex-wrap)))}.fusion-flex-container .fusion-row.fusion-builder-row-inner{--awb-min-height-small:var(--awb-min-height-medium);--awb-max-height-small:var(--awb-max-height-medium);--awb-flex-grow-small:var(--awb-flex-grow-medium);--awb-flex-shrink-small:var(--awb-flex-shrink-medium);min-height:var(--awb-min-height-small);max-height:var(--awb-max-height-small);flex-grow:var(--awb-flex-grow-small);flex-shrink:var(--awb-flex-shrink-small)}.fusion-flex-container .fusion-row.fusion-builder-row-inner.fusion-flex-content-wrap{flex-wrap:var(--awb-flex-wrap-small,var(--awb-flex-wrap-medium,var(--awb-flex-wrap)))}}@media only screen and (max-width: 1024px){.awb-text-path{--awb-padding-top-medium:var(--awb-padding-top);--awb-padding-right-medium:var(--awb-padding-right);--awb-padding-bottom-medium:var(--awb-padding-bottom);--awb-padding-left-medium:var(--awb-padding-left);--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);padding-top:var(--awb-padding-top-medium);padding-right:var(--awb-padding-right-medium);padding-bottom:var(--awb-padding-bottom-medium);padding-left:var(--awb-padding-left-medium);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium)}}@media only screen and (max-width: 640px){.awb-text-path{--awb-padding-top-small:var(--awb-padding-top-medium);--awb-padding-right-small:var(--awb-padding-right-medium);--awb-padding-bottom-small:var(--awb-padding-bottom-medium);--awb-padding-left-small:var(--awb-padding-left-medium);--awb-margin-top-small:var(--awb-margin-top-medium);--awb-margin-right-small:var(--awb-margin-right-medium);--awb-margin-bottom-small:var(--awb-margin-bottom-medium);--awb-margin-left-small:var(--awb-margin-left-medium);padding-top:var(--awb-padding-top-small);padding-right:var(--awb-padding-right-small);padding-bottom:var(--awb-padding-bottom-small);padding-left:var(--awb-padding-left-small);margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small)}}@media only screen and (max-width: 1024px){.fontawesome-icon.fb-icon-element{--awb-md-align-self:var(--awb-align-self);align-self:var(--awb-md-align-self)}}@media only screen and (max-width: 640px){.fontawesome-icon.fb-icon-element{--awb-sm-align-self:var(--awb-md-align-self);align-self:var(--awb-sm-align-self)}}@media only screen and (max-width: 1024px){.fusion-post-cards>.fusion-grid>.fusion-grid-column{width:var(--awb-columns-medium,50%)!important}.fusion-post-cards>.fusion-grid-6>.fusion-grid-column{width:var(--awb-columns-medium,33.33333333%)!important}.awb-gallery-wrapper .fusion-gallery>.fusion-grid-column{width:var(--awb-columns-medium,50%)!important}.awb-gallery-wrapper .fusion-gallery.fusion-grid-6>.fusion-grid-column{width:var(--awb-columns-medium,33.33333333%)!important}}@media only screen and (max-width: 640px){.awb-gallery-wrapper .fusion-gallery>.fusion-grid-column,.fusion-post-cards>.fusion-grid>.fusion-grid-column{width:var(--awb-columns-small,100%)!important}.awb-gallery-wrapper .fusion-gallery.fusion-grid-6>.fusion-grid-column,.fusion-post-cards>.fusion-grid-6 .fusion-grid-column{width:var(--awb-columns-small,50%)!important}}@media only screen and (max-width: 1024px){.fusion-image-element{--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium)}}@media only screen and (max-width: 640px){.fusion-image-element{--awb-margin-top-small:var(--awb-margin-top-medium);--awb-margin-right-small:var(--awb-margin-right-medium);--awb-margin-bottom-small:var(--awb-margin-bottom-medium);--awb-margin-left-small:var(--awb-margin-left-medium);margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small)}.fusion-image-element .fusion-imageframe.has-fusion-mobile-logo img.fusion-standard-logo,.fusion-image-element .fusion-imageframe.has-fusion-mobile-logo img.fusion-sticky-logo{display:none!important}.fusion-image-element .fusion-imageframe.has-fusion-mobile-logo img.fusion-mobile-logo{display:inline-block!important}}@media only screen and (max-width: 1024px){.fusion-person{--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium)}}@media only screen and (max-width: 640px){.fusion-person{--awb-margin-top-small:var(--awb-margin-top-medium);--awb-margin-right-small:var(--awb-margin-right-medium);--awb-margin-bottom-small:var(--awb-margin-bottom-medium);--awb-margin-left-small:var(--awb-margin-left-medium);margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small)}}@media only screen and (max-width: 1024px){.fusion-section-separator{--awb-svg-margin-top-medium:var(--awb-svg-margin-top);--awb-svg-margin-right-medium:var(--awb-svg-margin-right);--awb-svg-margin-bottom-medium:var(--awb-svg-margin-bottom);--awb-svg-margin-left-medium:var(--awb-svg-margin-left);--awb-spacer-height-medium:var(--awb-spacer-height);--awb-bg-size-medium:var(--awb-bg-size);--awb-divider-height-medium:var(--awb-divider-height)}.fusion-section-separator .fusion-section-separator-svg{margin:var(--awb-svg-margin-top-medium) var(--awb-svg-margin-right-medium) var(--awb-svg-margin-bottom-medium) var(--awb-svg-margin-left-medium)}.fusion-section-separator .fusion-section-separator-svg svg{height:var(--awb-divider-height-medium)}.fusion-section-separator .fusion-section-separator-spacer-height{height:var(--awb-spacer-height-medium)}.fusion-section-separator .fusion-section-separator-svg-bg{height:var(--awb-divider-height-medium);background-size:var(--awb-bg-size-medium)}}@media only screen and (max-width: 640px){.fusion-section-separator{--awb-svg-margin-top-small:var(--awb-svg-margin-top-medium);--awb-svg-margin-right-small:var(--awb-svg-margin-right-medium);--awb-svg-margin-bottom-small:var(--awb-svg-margin-bottom-medium);--awb-svg-margin-left-small:var(--awb-svg-margin-left-medium);--awb-spacer-height-small:var(--awb-spacer-height-medium);--awb-bg-size-small:var(--awb-bg-size-medium);--awb-divider-height-small:var(--awb-divider-height-medium)}.fusion-section-separator .fusion-section-separator-svg{margin:var(--awb-svg-margin-top-small) var(--awb-svg-margin-right-small) var(--awb-svg-margin-bottom-small) var(--awb-svg-margin-left-small)}.fusion-section-separator .fusion-section-separator-svg svg{height:var(--awb-divider-height-small)}.fusion-section-separator .fusion-section-separator-spacer-height{height:var(--awb-spacer-height-small)}.fusion-section-separator .fusion-section-separator-svg-bg{height:var(--awb-divider-height-small);background-size:var(--awb-bg-size-small)}}@media only screen and (max-width: 1024px){.fusion-sharing-box{--awb-alignment-medium:var(--awb-alignment);--awb-stacked-align-medium:var(--awb-stacked-align)}.fusion-sharing-box .sharingbox-shortcode-icon-wrapper{justify-content:var(--awb-alignment-medium)}.fusion-sharing-box.layout-medium-floated{flex-direction:row}.fusion-sharing-box.layout-medium-floated .tagline{margin-right:.5em;margin-bottom:0}.fusion-sharing-box.layout-medium-floated .sharingbox-shortcode-icon-wrapper{align-items:center;width:auto}.fusion-sharing-box.layout-medium-stacked{align-items:var(--awb-stacked-align-medium);flex-direction:column}.fusion-sharing-box.layout-medium-stacked .tagline{margin-bottom:revert}.fusion-sharing-box.layout-medium-stacked .sharingbox-shortcode-icon-wrapper{width:100%}}@media only screen and (max-width: 640px){.fusion-sharing-box{--awb-alignment-small:var(--awb-alignment);--awb-stacked-align-small:var(--awb-stacked-align)}.fusion-sharing-box .sharingbox-shortcode-icon-wrapper{justify-content:var(--awb-alignment-small)}.fusion-sharing-box.layout-small-floated{flex-direction:row}.fusion-sharing-box.layout-small-floated .tagline{margin-right:.5em;margin-bottom:0}.fusion-sharing-box.layout-small-floated .sharingbox-shortcode-icon-wrapper{align-items:center;width:auto}.fusion-sharing-box.layout-small-stacked{flex-direction:column;align-items:var(--awb-stacked-align-small)}.fusion-sharing-box.layout-small-stacked .tagline{margin-bottom:revert}.fusion-sharing-box.layout-small-stacked .sharingbox-shortcode-icon-wrapper{width:100%}}@media only screen and (max-width: 1024px){.fusion-social-links{--awb-alignment-medium:var(--awb-alignment);--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium);text-align:var(--awb-alignment-medium)}}@media only screen and (max-width: 640px){.fusion-social-links{--awb-alignment-small:var(--awb-alignment-medium);--awb-margin-top-small:var(--awb-margin-top);--awb-margin-right-small:var(--awb-margin-right);--awb-margin-bottom-small:var(--awb-margin-bottom);--awb-margin-left-small:var(--awb-margin-left);margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small);text-align:var(--awb-alignment-small)}}@media only screen and (min-width: 1024px){.fusion-tabs .nav{display:block}.fusion-tabs .fusion-mobile-tab-nav{display:none}.fusion-tabs.clean .tab-pane{margin:0}.fusion-tabs .nav-tabs{display:inline-block;vertical-align:middle}.fusion-tabs .nav-tabs.nav-justified>li{display:table-cell;width:1%}.fusion-tabs .nav-tabs li .tab-link{margin-right:1px}.fusion-tabs .nav-tabs li:last-child .tab-link{margin-right:0}.fusion-tabs.horizontal-tabs .nav-tabs{margin:0 0 -1px}.fusion-tabs.horizontal-tabs .nav{border-bottom:1px solid var(--awb-border-color)}.fusion-tabs.horizontal-tabs.clean .nav{border:none;text-align:center}.fusion-tabs.horizontal-tabs.clean .nav-tabs{border:none}.fusion-tabs.horizontal-tabs.clean .nav-tabs li{margin-bottom:0}.fusion-tabs.horizontal-tabs.clean .nav-tabs li .tab-link{margin-right:-1px}.fusion-tabs.horizontal-tabs.clean .tab-content{margin-top:40px}.fusion-tabs.nav-not-justified{border:none}.fusion-tabs.nav-not-justified .nav-tabs li{display:inline-block}.fusion-tabs.nav-not-justified.clean .nav-tabs li .tab-link{padding:14px 55px}.fusion-tabs.vertical-tabs{display:flex;border:none;clear:both;zoom:1}.fusion-tabs.vertical-tabs::after,.fusion-tabs.vertical-tabs::before{content:" ";display:table}.fusion-tabs.vertical-tabs::after{clear:both}.fusion-tabs.vertical-tabs .nav-tabs{display:block;position:relative;left:1px;border:1px solid var(--awb-border-color);border-inline-end:none}.fusion-tabs.vertical-tabs.classic .nav-tabs>li .tab-link{margin-right:0;margin-bottom:1px;white-space:nowrap;border-top:none;text-align:left;border-inline-start:3px solid transparent}.fusion-tabs.vertical-tabs.classic .nav-tabs>li:last-child .tab-link{margin-bottom:0}.fusion-tabs.vertical-tabs.classic .nav-tabs>li.active>.tab-link{border-bottom:none;border-top:none;cursor:pointer;border-inline-start:3px solid var(--primary_color);border-inline-end:none!important}.fusion-tabs.vertical-tabs .nav{width:auto}.fusion-tabs.vertical-tabs .tab-content{width:84.5%}.fusion-tabs.vertical-tabs .tab-pane{border:1px solid var(--awb-border-color)}.fusion-tabs.vertical-tabs.clean .nav-tabs{background-color:transparent;border:none}.fusion-tabs.vertical-tabs.clean .nav-tabs li .tab-link{margin:0;white-space:nowrap;border-width:1px!important;border-style:solid;text-align:start}.fusion-tabs.vertical-tabs.clean .nav{width:auto}.fusion-tabs.vertical-tabs.clean .tab-content{margin:0;width:75%;padding-inline-start:40px}}@media only screen and (max-width: 1024px){.fusion-tabs:not(.mobile-mode-carousel) .nav:not(.fusion-mobile-tab-nav){display:none!important}.fusion-tabs.mobile-mode-carousel>.nav{display:block!important;position:relative}.fusion-tabs.mobile-mode-carousel.mobile-sticky-tabs>.nav{position:sticky;top:var(--adminbar-height);z-index:100}.fusion-tabs.mobile-mode-carousel .nav-tabs{display:flex;overflow-x:auto}.fusion-tabs.mobile-mode-carousel .nav-tabs li .tab-link{padding-right:var(--awb-title-padding-right,20px);padding-left:var(--awb-title-padding-left,20px);white-space:nowrap}.fusion-tabs.mobile-mode-carousel .nav-tabs.nav-justified li{flex:1}.fusion-tabs.classic.vertical-tabs .nav-tabs>li.active>.tab-link{border-left-width:0!important;border-right-width:0!important;border-top-width:3px;border-top-style:solid}.fusion-tabs.clean.vertical-tabs .nav-tabs>li.active>.tab-link{border-left-width:1px!important}}@media only screen and (max-width: 1024px){.fusion-tabs{--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);--awb-title-padding-top-medium:var(--awb-title-padding-top);--awb-title-padding-right-medium:var(--awb-title-padding-right);--awb-title-padding-bottom-medium:var(--awb-title-padding-bottom);--awb-title-padding-left-medium:var(--awb-title-padding-left);--awb-content-padding-top-medium:var(--awb-content-padding-top);--awb-content-padding-right-medium:var(--awb-content-padding-right);--awb-content-padding-bottom-medium:var(--awb-content-padding-bottom);--awb-content-padding-left-medium:var(--awb-content-padding-left);--awb-content-height-medium:var(--awb-content-height);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium)}.fusion-tabs.vertical-tabs{--awb-title-padding-top:14px;--awb-title-padding-right:15px;--awb-title-padding-bottom:14px;--awb-title-padding-left:15px}.fusion-tabs .nav-tabs>li .tab-link{padding-top:var(--awb-title-padding-top-medium)!important;padding-right:var(--awb-title-padding-right-medium)!important;padding-bottom:var(--awb-title-padding-bottom-medium)!important;padding-left:var(--awb-title-padding-left-medium)!important}.fusion-tabs .tab-pane{padding-top:var(--awb-content-padding-top-medium)!important;padding-right:var(--awb-content-padding-right-medium)!important;padding-bottom:var(--awb-content-padding-bottom-medium)!important;padding-left:var(--awb-content-padding-left-medium)!important;min-height:var(--awb-content-height-medium,0)!important;max-height:var(--awb-content-height-medium,none)!important}}@media only screen and (max-width: 640px){.fusion-tabs{--awb-margin-top-small:var(--awb-margin-top-medium);--awb-margin-right-small:var(--awb-margin-right-medium);--awb-margin-bottom-small:var(--awb-margin-bottom-medium);--awb-margin-left-small:var(--awb-margin-left-medium);--awb-title-padding-top-small:var(--awb-title-padding-top-medium);--awb-title-padding-right-small:var(--awb-title-padding-right-medium);--awb-title-padding-bottom-small:var(--awb-title-padding-bottom-medium);--awb-title-padding-left-small:var(--awb-title-padding-left-medium);--awb-content-padding-top-small:var(--awb-content-padding-top-medium);--awb-content-padding-right-small:var(--awb-content-padding-right-medium);--awb-content-padding-bottom-small:var(--awb-content-padding-bottom-medium);--awb-content-padding-left-small:var(--awb-content-padding-left-medium);--awb-content-height-small:var(--awb-content-height-medium);margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small)}.fusion-tabs .nav-tabs>li .tab-link{padding-top:var(--awb-title-padding-top-small)!important;padding-right:var(--awb-title-padding-right-small)!important;padding-bottom:var(--awb-title-padding-bottom-small)!important;padding-left:var(--awb-title-padding-left-small)!important}.fusion-tabs .tab-pane{padding-top:var(--awb-content-padding-top-small)!important;padding-right:var(--awb-content-padding-right-small)!important;padding-bottom:var(--awb-content-padding-bottom-small)!important;padding-left:var(--awb-content-padding-left-small)!important;min-height:var(--awb-content-height-small,0)!important;max-height:var(--awb-content-height-small,none)!important}}@media only screen and (max-width: 1024px){.fusion-text{--awb-width-medium:var(--awb-width);--awb-min-width-medium:var(--awb-min-width);--awb-max-width-medium:var(--awb-max-width);--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);width:var(--awb-width-medium);min-width:var(--awb-min-width-medium);max-width:var(--awb-max-width-medium);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium)}.fusion-text-no-margin-md>p{margin-top:0}.fusion-text-no-margin-md>p:last-child{margin-bottom:0}}@media only screen and (max-width: 640px){.fusion-text{--awb-width-small:var(--awb-width-medium);--awb-min-width-small:var(--awb-min-width-medium);--awb-max-width-small:var(--awb-max-width-medium);--awb-margin-top-small:var(--awb-margin-top-medium);--awb-margin-right-small:var(--awb-margin-right-medium);--awb-margin-bottom-small:var(--awb-margin-bottom-medium);--awb-margin-left-small:var(--awb-margin-left-medium);width:var(--awb-width-small);min-width:var(--awb-min-width-small);max-width:var(--awb-max-width-small);margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small)}.fusion-text-no-margin-sm>p{margin-top:0}.fusion-text-no-margin-sm>p:last-child{margin-bottom:0}}@media only screen and (max-width: 1024px){.fusion-title{--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);margin-top:var(--awb-margin-top-medium)!important;margin-right:var(--awb-margin-right-medium)!important;margin-bottom:var(--awb-margin-bottom-medium)!important;margin-left:var(--awb-margin-left-medium)!important}}@media only screen and (max-width: 640px){<?php
namespace Elementor;

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

use Elementor\Core\Kits\Documents\Tabs\Global_Colors;

/**
 * Elementor icon widget.
 *
 * Elementor widget that displays an icon from over 600+ icons.
 *
 * @since 1.0.0
 */
class Widget_Icon extends Widget_Base {

	/**
	 * Get widget name.
	 *
	 * Retrieve icon widget name.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @return string Widget name.
	 */
	public function get_name() {
		return 'icon';
	}

	/**
	 * Get widget title.
	 *
	 * Retrieve icon widget title.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @return string Widget title.
	 */
	public function get_title() {
		return esc_html__( 'Icon', 'elementor' );
	}

	/**
	 * Get widget icon.
	 *
	 * Retrieve icon widget icon.
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @return string Widget icon.
	 */
	public function get_icon() {
		return 'eicon-favorite';
	}

	/**
	 * Get widget categories.
	 *
	 * Retrieve the list of categories the icon widget belongs to.
	 *
	 * Used to determine where to display the widget in the editor.
	 *
	 * @since 2.0.0
	 * @access public
	 *
	 * @return array Widget categories.
	 */
	public function get_categories() {
		return [ 'basic' ];
	}

	public function has_widget_inner_wrapper(): bool {
		return ! Plugin::$instance->experiments->is_feature_active( 'e_optimized_markup' );
	}

	/**
	 * Get widget keywords.
	 *
	 * Retrieve the list of keywords the widget belongs to.
	 *
	 * @since 2.1.0
	 * @access public
	 *
	 * @return array Widget keywords.
	 */
	public function get_keywords() {
		return [ 'icon' ];
	}

	protected function is_dynamic_content(): bool {
		return false;
	}

	/**
	 * Register icon widget controls.
	 *
	 * Adds different input fields to allow the user to change and customize the widget settings.
	 *
	 * @since 3.1.0
	 * @access protected
	 */
	protected function register_controls() {
		$this->start_controls_section(
			'section_icon',
			[
				'label' => esc_html__( 'Icon', 'elementor' ),
			]
		);

		$this->add_control(
			'selected_icon',
			[
				'label' => esc_html__( 'Icon', 'elementor' ),
				'type' => Controls_Manager::ICONS,
				'fa4compatibility' => 'icon',
				'default' => [
					'value' => 'fas fa-star',
					'library' => 'fa-solid',
				],
			]
		);

		$this->add_control(
			'view',
			[
				'label' => esc_html__( 'View', 'elementor' ),
				'type' => Controls_Manager::SELECT,
				'options' => [
					'default' => esc_html__( 'Default', 'elementor' ),
					'stacked' => esc_html__( 'Stacked', 'elementor' ),
					'framed' => esc_html__( 'Framed', 'elementor' ),
				],
				'default' => 'default',
				'prefix_class' => 'elementor-view-',
			]
		);

		$this->add_control(
			'shape',
			[
				'label' => esc_html__( 'Shape', 'elementor' ),
				'type' => Controls_Manager::SELECT,
				'options' => [
					'square' => esc_html__( 'Square', 'elementor' ),
					'rounded' => esc_html__( 'Rounded', 'elementor' ),
					'circle' => esc_html__( 'Circle', 'elementor' ),
				],
				'default' => 'circle',
				'condition' => [
					'view!' => 'default',
				],
				'prefix_class' => 'elementor-shape-',
			]
		);

		$this->add_control(
			'link',
			[
				'label' => esc_html__( 'Link', 'elementor' ),
				'type' => Controls_Manager::URL,
				'dynamic' => [
					'active' => true,
				],
			]
		);

		$this->end_controls_section();

		$this->start_controls_section(
			'section_style_icon',
			[
				'label' => esc_html__( 'Icon', 'elementor' ),
				'tab' => Controls_Manager::TAB_STYLE,
			]
		);

		$this->add_responsive_control(
			'align',
			[
				'label' => esc_html__( 'Alignment', 'elementor' ),
				'type' => Controls_Manager::CHOOSE,
				'options' => [
					'left' => [
						'title' => esc_html__( 'Left', 'elementor' ),
						'icon' => 'eicon-text-align-left',
					],
					'center' => [
						'title' => esc_html__( 'Center', 'elementor' ),
						'icon' => 'eicon-text-align-center',
					],
					'right' => [
						'title' => esc_html__( 'Right', 'elementor' ),
						'icon' => 'eicon-text-align-right',
					],
				],
				'default' => 'center',
				'selectors' => [
					'{{WRAPPER}} .elementor-icon-wrapper' => 'text-align: {{VALUE}};',
				],
			]
		);

		$this->start_controls_tabs( 'icon_colors' );

		$this->start_controls_tab(
			'icon_colors_normal',
			[
				'label' => esc_html__( 'Normal', 'elementor' ),
			]
		);

		$this->add_control(
			'primary_color',
			[
				'label' => esc_html__( 'Primary Color', 'elementor' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}}.elementor-view-stacked .elementor-icon' => 'background-color: {{VALUE}};',
					'{{WRAPPER}}.elementor-view-framed .elementor-icon, {{WRAPPER}}.elementor-view-default .elementor-icon' => 'color: {{VALUE}}; border-color: {{VALUE}};',
					'{{WRAPPER}}.elementor-view-framed .elementor-icon, {{WRAPPER}}.elementor-view-default .elementor-icon svg' => 'fill: {{VALUE}};',
				],
				'global' => [
					'default' => Global_Colors::COLOR_PRIMARY,
				],
			]
		);

		$this->add_control(
			'secondary_color',
			[
				'label' => esc_html__( 'Secondary Color', 'elementor' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'condition' => [
					'view!' => 'default',
				],
				'selectors' => [
					'{{WRAPPER}}.elementor-view-framed .elementor-icon' => 'background-color: {{VALUE}};',
					'{{WRAPPER}}.elementor-view-stacked .elementor-icon' => 'color: {{VALUE}};',
					'{{WRAPPER}}.elementor-view-stacked .elementor-icon svg' => 'fill: {{VALUE}};',
				],
			]
		);

		$this->end_controls_tab();

		$this->start_controls_tab(
			'icon_colors_hover',
			[
				'label' => esc_html__( 'Hover', 'elementor' ),
			]
		);

		$this->add_control(
			'hover_primary_color',
			[
				'label' => esc_html__( 'Primary Color', 'elementor' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'selectors' => [
					'{{WRAPPER}}.elementor-view-stacked .elementor-icon:hover' => 'background-color: {{VALUE}};',
					'{{WRAPPER}}.elementor-view-framed .elementor-icon:hover, {{WRAPPER}}.elementor-view-default .elementor-icon:hover' => 'color: {{VALUE}}; border-color: {{VALUE}};',
					'{{WRAPPER}}.elementor-view-framed .elementor-icon:hover, {{WRAPPER}}.elementor-view-default .elementor-icon:hover svg' => 'fill: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'hover_secondary_color',
			[
				'label' => esc_html__( 'Secondary Color', 'elementor' ),
				'type' => Controls_Manager::COLOR,
				'default' => '',
				'condition' => [
					'view!' => 'default',
				],
				'selectors' => [
					'{{WRAPPER}}.elementor-view-framed .elementor-icon:hover' => 'background-color: {{VALUE}};',
					'{{WRAPPER}}.elementor-view-stacked .elementor-icon:hover' => 'color: {{VALUE}};',
					'{{WRAPPER}}.elementor-view-stacked .elementor-icon:hover svg' => 'fill: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'hover_animation',
			[
				'label' => esc_html__( 'Hover Animation', 'elementor' ),
				'type' => Controls_Manager::HOVER_ANIMATION,
			]
		);

		$this->end_controls_tab();

		$this->end_controls_tabs();

		$this->add_responsive_control(
			'size',
			[
				'label' => esc_html__( 'Size', 'elementor' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', '%', 'em', 'rem', 'vw', 'custom' ],
				'range' => [
					'px' => [
						'min' => 6,
						'max' => 300,
					],
				],
				'selectors' => [
					'{{WRAPPER}} .elementor-icon' => 'font-size: {{SIZE}}{{UNIT}};',
					'{{WRAPPER}} .elementor-icon svg' => 'height: {{SIZE}}{{UNIT}};',
				],
				'separator' => 'before',
			]
		);

		$this->add_control(
			'fit_to_size',
			[
				'label' => esc_html__( 'Fit to Size', 'elementor' ),
				'type' => Controls_Manager::SWITCHER,
				'description' => 'Avoid gaps around icons when width and height aren\'t equal',
				'label_off' => esc_html__( 'Off', 'elementor' ),
				'label_on' => esc_html__( 'On', 'elementor' ),
				'condition' => [
					'selected_icon[library]' => 'svg',
				],
				'selectors' => [
					'{{WRAPPER}} .elementor-icon-wrapper svg' => 'width: auto;',
				],
			]
		);

		$this->add_control(
			'icon_padding',
			[
				'label' => esc_html__( 'Padding', 'elementor' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'px', '%', 'em', 'rem', 'custom' ],
				'selectors' => [
					'{{WRAPPER}} .elementor-icon' => 'padding: {{SIZE}}{{UNIT}};',
				],
				'range' => [
					'px' => [
						'max' => 50,
					],
					'em' => [
						'min' => 0,
						'max' => 5,
					],
					'rem' => [
						'min' => 0,
						'max' => 5,
					],
				],
				'condition' => [
					'view!' => 'default',
				],
			]
		);

		$this->add_responsive_control(
			'rotate',
			[
				'label' => esc_html__( 'Rotate', 'elementor' ),
				'type' => Controls_Manager::SLIDER,
				'size_units' => [ 'deg', 'grad', 'rad', 'turn', 'custom' ],
				'default' => [
					'unit' => 'deg',
				],
				'tablet_default' => [
					'unit' => 'deg',
				],
				'mobile_default' => [
					'unit' => 'deg',
				],
				'selectors' => [
					'{{WRAPPER}} .elementor-icon i, {{WRAPPER}} .elementor-icon svg' => 'transform: rotate({{SIZE}}{{UNIT}});',
				],
			]
		);

		$this->add_control(
			'border_width',
			[
				'label' => esc_html__( 'Border Width', 'elementor' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em', 'rem', 'vw', 'custom' ],
				'selectors' => [
					'{{WRAPPER}} .elementor-icon' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
				'condition' => [
					'view' => 'framed',
				],
			]
		);

		$this->add_responsive_control(
			'border_radius',
			[
				'label' => esc_html__( 'Border Radius', 'elementor' ),
				'type' => Controls_Manager::DIMENSIONS,
				'size_units' => [ 'px', '%', 'em', 'rem', 'custom' ],
				'selectors' => [
					'{{WRAPPER}} .elementor-icon' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
				'condition' => [
					'view!' => 'default',
				],
			]
		);

		$this->end_controls_section();
	}

	/**
	 * Render icon widget output on the frontend.
	 *
	 * Written in PHP and used to generate the final HTML.
	 *
	 * @since 1.0.0
	 * @access protected
	 */
	protected function render() {
		$settings = $this->get_settings_for_display();

		if ( empty( $settings['selected_icon']['value'] ) ) {
			return;
		}

		$this->add_render_attribute( 'wrapper', 'class', 'elementor-icon-wrapper' );

		$this->add_render_attribute( 'icon-wrapper', 'class', 'elementor-icon' );

		if ( ! empty( $settings['hover_animation'] ) ) {
			$this->add_render_attribute( 'icon-wrapper', 'class', 'elementor-animation-' . $settings['hover_animation'] );
		}

		$icon_tag = 'div';

		if ( ! empty( $settings['link']['url'] ) ) {
			$this->add_link_attributes( 'icon-wrapper', $settings['link'] );

			$icon_tag = 'a';
		}

		if ( empty( $settings['icon'] ) && ! Icons_Manager::is_migration_allowed() ) {
			// add old default
			$settings['icon'] = 'fa fa-star';
		}

		if ( ! empty( $settings['icon'] ) ) {
			$this->add_render_attribute( 'icon', 'class', $settings['icon'] );
			$this->add_render_attribute( 'icon', 'aria-hidden', 'true' );
		}

		$migrated = isset( $settings['__fa4_migrated']['selected_icon'] );
		$is_new = empty( $settings['icon'] ) && Icons_Manager::is_migration_allowed();

		?>
		<div <?php $this->print_render_attribute_string( 'wrapper' ); ?>>
			<<?php Utils::print_unescaped_internal_string( $icon_tag . ' ' . $this->get_render_attribute_string( 'icon-wrapper' ) ); ?>>
			<?php if ( $is_new || $migrated ) :
				Icons_Manager::render_icon( $settings['selected_icon'], [ 'aria-hidden' => 'true' ] );
			else : ?>
				<i <?php $this->print_render_attribute_string( 'icon' ); ?>></i>
			<?php endif; ?>
			</<?php Utils::print_unescaped_internal_string( $icon_tag ); ?>>
		</div>
		<?php
	}

	/**
	 * Render icon widget output in the editor.
	 *
	 * Written as a Backbone JavaScript template and used to generate the live preview.
	 *
	 * @since 2.9.0
	 * @access protected
	 */
	protected function content_template() {
		?>
		<#
		if ( '' === settings.selected_icon.value ) {
			return;
		}

		if ( settings.link.url ) {
			view.addRenderAttribute( 'link_url', 'href', elementor.helpers.sanitizeUrl( settings.link.url ) );
		}

		const iconHTML = elementor.helpers.renderIcon( view, settings.selected_icon, { 'aria-hidden': true }, 'i' , 'object' ),
			migrated = elementor.helpers.isIconMigrated( settings, 'selected_icon' ),
			iconTag = settings.link.url ? 'a' : 'div';

		view.addRenderAttribute( 'icon', 'class', 'elementor-icon' );

		if ( '' !== settings.hover_animation ) {
			view.addRenderAttribute( 'icon', 'class', 'elementor-animation-' + settings.hover_animation );
		}
		#>
		<div class="elementor-icon-wrapper">
			<{{{ iconTag }}} {{{ view.getRenderAttributeString( 'icon' ) }}}  {{{ view.getRenderAttributeString( 'link_url' ) }}}>
				<# if ( iconHTML && iconHTML.rendered && ( ! settings.icon || migrated ) ) { #>
					{{{ iconHTML.value }}}
				<# } else { #>
					<i class="{{ settings.icon }}" aria-hidden="true"></i>
				<# } #>
			</{{{ iconTag }}}>
		</div>
		<?php
	}
}
}@media only screen and (max-width: 640px){.fusion-post-card-image .awb-pc-image__swap-nav{display:none}.fusion-post-card-image .awb-pc-image__swap-nav-mobile{display:flex}}@media only screen and (max-width: 1024px){.awb-swiper.fusion-post-cards{--awb-columns-medium:3}.awb-swiper.awb-swiper-carousel:not(.swiper-initialized) .swiper-slide{max-width:calc((100% - ((var(--awb-columns-medium) - 1) * var(--awb-column-spacing)))/ var(--awb-columns-medium))}}@media only screen and (max-width: 640px){.awb-swiper.fusion-post-cards{--awb-columns-small:2}.awb-swiper.awb-swiper-carousel:not(.swiper-initialized) .swiper-slide{max-width:calc((100% - ((var(--awb-columns-small) - 1) * var(--awb-column-spacing)))/ var(--awb-columns-small))}}@media only screen and (max-width: 1024px){.fusion-post-cards{--awb-filters-alignment-medium:var(--awb-filters-alignment)}.fusion-post-cards ul.fusion-filters{justify-content:var(--awb-filters-alignment-medium)}}@media only screen and (max-width: 640px){.fusion-post-cards{--awb-filters-alignment-small:var(--awb-filters-alignment-medium, var(--awb-filters-alignment))}.fusion-post-cards ul.fusion-filters{justify-content:var(--awb-filters-alignment-small)}}@media only screen and (max-width: 1024px){.fusion-post-cards>.fusion-grid>.fusion-grid-column{width:var(--awb-columns-medium,50%)!important}.fusion-post-cards>.fusion-grid-6>.fusion-grid-column{width:var(--awb-columns-medium,33.33333333%)!important}.awb-gallery-wrapper .fusion-gallery>.fusion-grid-column{width:var(--awb-columns-medium,50%)!important}.awb-gallery-wrapper .fusion-gallery.fusion-grid-6>.fusion-grid-column{width:var(--awb-columns-medium,33.33333333%)!important}}@media only screen and (max-width: 640px){.awb-gallery-wrapper .fusion-gallery>.fusion-grid-column,.fusion-post-cards>.fusion-grid>.fusion-grid-column{width:var(--awb-columns-small,100%)!important}.awb-gallery-wrapper .fusion-gallery.fusion-grid-6>.fusion-grid-column,.fusion-post-cards>.fusion-grid-6 .fusion-grid-column{width:var(--awb-columns-small,50%)!important}}@media only screen and (max-width: 1024px){.fusion-facebook-page{--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium)}}@media only screen and (max-width: 640px){.fusion-facebook-page{--awb-margin-top-small:var(--awb-margin-top-medium);--awb-margin-right-small:var(--awb-margin-right-medium);--awb-margin-bottom-small:var(--awb-margin-bottom-medium);--awb-margin-left-small:var(--awb-margin-left-medium);margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small)}}@media only screen and (max-width: 1024px){.fusion-twitter-timeline{--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium)}}@media only screen and (max-width: 640px){.fusion-twitter-timeline{--awb-margin-top-small:var(--awb-margin-top-medium);--awb-margin-right-small:var(--awb-margin-right-medium);--awb-margin-bottom-small:var(--awb-margin-bottom-medium);--awb-margin-left-small:var(--awb-margin-left-medium);margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small)}}@media only screen and (max-width: 1024px){.fusion-flickr-element{--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium)}.fusion-flickr-element .flickr-images{margin:0 calc(-1 * var(--awb-md-column-space)/ 2 * 1px)}.fusion-flickr-element .flickr-image{width:var(--awb-md-column-width);padding:0 calc(var(--awb-md-column-space)/ 2 * 1px);margin-bottom:calc(var(--awb-md-column-space) * 1px)}}@media only screen and (max-width: 640px){.fusion-flickr-element{--awb-margin-top-small:var(--awb-margin-top-medium);--awb-margin-right-small:var(--awb-margin-right-medium);--awb-margin-bottom-small:var(--awb-margin-bottom-medium);--awb-margin-left-small:var(--awb-margin-left-medium);margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small)}.fusion-flickr-element .flickr-images{margin:0 calc(-1 * var(--awb-sm-column-space)/ 2 * 1px)}.fusion-flickr-element .flickr-image{width:var(--awb-sm-column-width);padding:0 calc(var(--awb-sm-column-space)/ 2 * 1px);margin-bottom:calc(var(--awb-sm-column-space) * 1px)}}@media only screen and (max-width: 1024px){.fusion-tagcloud-element{--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium)}}@media only screen and (max-width: 640px){.fusion-tagcloud-element{--awb-margin-top-small:var(--awb-margin-top-medium);--awb-margin-right-small:var(--awb-margin-right-medium);--awb-margin-bottom-small:var(--awb-margin-bottom-medium);--awb-margin-left-small:var(--awb-margin-left-medium);margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small)}}@media only screen and (max-width: 1024px){.awb-instagram-element{--awb-md-margin-top:var(--awb-margin-top);--awb-md-margin-right:var(--awb-margin-right);--awb-md-margin-bottom:var(--awb-margin-bottom);--awb-md-margin-left:var(--awb-margin-left);margin-top:var(--awb-md-margin-top);margin-right:var(--awb-md-margin-right);margin-bottom:var(--awb-md-margin-bottom);margin-left:var(--awb-md-margin-left)}.awb-instagram-element .instagram-posts{margin:0 calc(-1 * var(--awb-md-column-space)/ 2 * 1px)}.awb-instagram-element .instagram-post{width:var(--awb-md-column-width);padding:0 calc(var(--awb-md-column-space)/ 2 * 1px);margin-bottom:calc(var(--awb-md-column-space) * 1px)}.awb-instagram-element.buttons-layout-medium-floated .awb-instagram-buttons{flex-direction:row;align-items:center;justify-content:var(--awb-buttons-alignment)}.awb-instagram-element.buttons-layout-medium-floated .awb-instagram-buttons .fusion-button{text-align:center;width:auto}.awb-instagram-element.buttons-layout-medium-floated .awb-instagram-buttons .fusion-button:first-child{margin-inline-end:10px}.awb-instagram-element.buttons-layout-medium-floated .awb-instagram-buttons .fusion-button.awb-instagram-follow-btn{margin-top:0}.awb-instagram-element.buttons-layout-medium-stacked .awb-instagram-buttons{flex-direction:column}.awb-instagram-element.buttons-layout-medium-stacked .awb-instagram-buttons .fusion-button{text-align:center;width:100%}.awb-instagram-element.buttons-layout-medium-stacked .awb-instagram-buttons .fusion-button:first-child{margin-inline-end:0}.awb-instagram-element.buttons-layout-medium-stacked .awb-instagram-buttons .fusion-button.awb-instagram-follow-btn{margin-top:15px}}@media only screen and (max-width: 640px){.awb-instagram-element{--awb-sm-margin-top:var(--awb-md-margin-top);--awb-sm-margin-right:var(--awb-md-margin-right);--awb-sm-margin-bottom:var(--awb-md-margin-bottom);--awb-sm-margin-left:var(--awb-md-margin-left);margin-top:var(--awb-sm-margin-top);margin-right:var(--awb-sm-margin-right);margin-bottom:var(--awb-sm-margin-bottom);margin-left:var(--awb-sm-margin-left)}.awb-instagram-element .instagram-posts{margin:0 calc(-1 * var(--awb-sm-column-space)/ 2 * 1px)}.awb-instagram-element .instagram-post{width:var(--awb-sm-column-width);padding:0 calc(var(--awb-sm-column-space)/ 2 * 1px);margin-bottom:calc(var(--awb-sm-column-space) * 1px)}.awb-instagram-element.buttons-layout-small-floated .awb-instagram-buttons{flex-direction:row;align-items:center;justify-content:var(--awb-buttons-alignment)}.awb-instagram-element.buttons-layout-small-floated .awb-instagram-buttons .fusion-button{text-align:center;width:auto}.awb-instagram-element.buttons-layout-small-floated .awb-instagram-buttons .fusion-button:first-child:not(:last-child){margin-inline-end:10px}.awb-instagram-element.buttons-layout-small-floated .awb-instagram-buttons .fusion-button.awb-instagram-follow-btn{margin-top:0}.awb-instagram-element.buttons-layout-small-stacked .awb-instagram-buttons{flex-direction:column}.awb-instagram-element.buttons-layout-small-stacked .awb-instagram-buttons .fusion-button{text-align:center;width:100%}.awb-instagram-element.buttons-layout-small-stacked .awb-instagram-buttons .fusion-button:first-child{margin-inline-end:0}.awb-instagram-element.buttons-layout-small-stacked .awb-instagram-buttons .fusion-button.awb-instagram-follow-btn{margin-top:15px}}@media only screen and (max-width: 1024px){.fusion-privacy-element{--awb-margin-top-medium:var(--awb-margin-top);--awb-margin-right-medium:var(--awb-margin-right);--awb-margin-bottom-medium:var(--awb-margin-bottom);--awb-margin-left-medium:var(--awb-margin-left);--awb-padding-top-medium:var(--awb-padding-top, 0);--awb-padding-right-medium:var(--awb-padding-right, 0);--awb-padding-bottom-medium:var(--awb-padding-bottom, 0);--awb-padding-left-medium:var(--awb-padding-left, 0);margin-top:var(--awb-margin-top-medium);margin-right:var(--awb-margin-right-medium);margin-bottom:var(--awb-margin-bottom-medium);margin-left:var(--awb-margin-left-medium);padding-top:var(--awb-padding-top-medium);padding-right:var(--awb-padding-right-medium);padding-bottom:var(--awb-padding-bottom-medium);padding-left:var(--awb-padding-left-medium)}}@media only screen and (max-width: 640px){.fusion-privacy-element{--awb-margin-top-small:var(--awb-margin-top-medium);--awb-margin-right-small:var(--awb-margin-right-medium);--awb-margin-bottom-small:var(--awb-margin-bottom-medium);--awb-margin-left-small:var(--awb-margin-left-medium);--awb-padding-top-small:var(--awb-padding-top-medium);--awb-padding-right-small:var(--awb-padding-right-medium);--awb-padding-bottom-small:var(--awb-padding-bottom-medium);--awb-padding-left-small:var(--awb-padding-left-medium);margin-top:var(--awb-margin-top-small);margin-right:var(--awb-margin-right-small);margin-bottom:var(--awb-margin-bottom-small);margin-left:var(--awb-margin-left-small);padding-top:var(--awb-padding-top-small);padding-right:var(--awb-padding-right-small);padding-bottom:var(--awb-padding-bottom-small);padding-left:var(--awb-padding-left-small)}}@media only screen and (max-width: 1024px){.fusion-body .fusion-meta-tb{--awb-alignment-medium:flex-start}.fusion-body .fusion-meta-tb:not(.stacked){justify-content:var(--awb-alignment-medium)}}@media only screen and (max-width: 640px){.fusion-body .fusion-meta-tb{--awb-alignment-small:var(--awb-alignment)}.fusion-body .fusion-meta-tb:not(.stacked){justify-content:var(--awb-alignment-small)}}@media only screen and (max-width: 1024px){.fusion-layout-column.fusion-events-post,.fusion_builder_column,.fusion_builder_column_inner{--awb-padding-top-medium:var(--awb-padding-top);--awb-padding-right-medium:var(--awb-padding-right);--awb-padding-bottom-medium:var(--awb-padding-bottom);--awb-padding-left-medium:var(--awb-padding-left);--awb-col-width:var(--awb-width-medium, var(--medium-col-default));--awb-col-order:var(--awb-order-medium, var(--awb-order-large));--awb-margin-top-medium:var(--awb-margin-top-large, var(--col_margin-top, 0));--awb-margin-bottom-medium:var(--awb-margin-bottom-large, var(--col_margin-bottom, 20px));--awb-spacing-left-medium:var(--awb-spacing-left-large, 4%);--awb-spacing-right-medium:var(--awb-spacing-right-large, 4%);--awb-col-flex-grow:var(--awb-flex-grow-medium, var(--awb-flex-grow, 0));--awb-col-flex-shrink:var(--awb-flex-shrink-medium, var(--awb-flex-shrink, 0));--awb-column-gap-medium:var(--awb-column-gap);--awb-row-gap-medium:var(--awb-row-gap);--awb-margin-top:var(--awb-margin-top-medium);--awb-margin-bottom:var(--awb-margin-bottom-medium);--awb-spacing-left:var(--awb-spacing-left-medium);--awb-spacing-right:var(--awb-spacing-right-medium);--awb-bg-image-medium:var(--awb-bg-image);--awb-bg-color-medium:var(--awb-bg-color);--awb-bg-color-medium-hover:var(--awb-bg-color-hover);--awb-bg-repeat-medium:var(--awb-bg-repeat);--awb-bg-position-medium:var(--awb-bg-position);--awb-bg-size-medium:var(--awb-bg-size);--awb-bg-blend-medium:var(--awb-bg-blend)}.fusion-layout-column.fusion-events-post .fusion-column-wrapper,.fusion_builder_column .fusion-column-wrapper,.fusion_builder_column_inner .fusion-column-wrapper{padding:var(--awb-padding-top-medium) var(--awb-padding-right-medium) var(--awb-padding-bottom-medium) var(--awb-padding-left-medium);column-gap:var(--awb-column-gap-medium);row-gap:var(--awb-row-gap-medium);background-image:var(--awb-bg-image-medium);background-color:var(--awb-bg-color-medium);background-repeat:var(--awb-bg-repeat-medium);background-position:var(--awb-bg-position-medium);background-size:var(--awb-bg-size-medium);background-blend-mode:var(--awb-bg-blend-medium);max-height:var(--awb-max-height-medium,var(--awb-max-height))}.fusion-layout-column.fusion-events-post .fusion-column-wrapper.hover,.fusion-layout-column.fusion-events-post .fusion-column-wrapper:hover,.fusion_builder_column .fusion-column-wrapper.hover,.fusion_builder_column .fusion-column-wrapper:hover,.fusion_builder_column_inner .fusion-column-wrapper.hover,.fusion_builder_column_inner .fusion-column-wrapper:hover{background-color:var(--awb-bg-color-medium-hover)}.fusion-layout-column.fusion-events-post .fusion-column-has-bg-image-medium .fusion-empty-dims-img-placeholder,.fusion-layout-column.fusion-events-post .fusion-column-has-bg-image-small .fusion-empty-dims-img-placeholder,.fusion_builder_column .fusion-column-has-bg-image-medium .fusion-empty-dims-img-placeholder,.fusion_builder_column .fusion-column-has-bg-image-small .fusion-empty-dims-img-placeholder,.fusion_builder_column_inner .fusion-column-has-bg-image-medium .fusion-empty-dims-img-placeholder,.fusion_builder_column_inner .fusion-column-has-bg-image-small .fusion-empty-dims-img-placeholder{display:none}.fusion-layout-column.fusion-events-post .fusion-empty-dims-img-placeholder-medium,.fusion_builder_column .fusion-empty-dims-img-placeholder-medium,.fusion_builder_column_inner .fusion-empty-dims-img-placeholder-medium{display:block}}@media only screen and (max-width: 640px){.fusion-layout-column.fusion-events-post,.fusion_builder_column,.fusion_builder_column_inner{--awb-padding-top-small:var(--awb-padding-top-medium);--awb-padding-right-small:var(--awb-padding-right-medium);--awb-padding-bottom-small:var(--awb-padding-bottom-medium);--awb-padding-left-small:var(--awb-padding-left-medium);--awb-col-width:var(--awb-width-small, var(--small-col-default));--awb-col-order:var(--awb-order-small, var(--awb-order-medium));--awb-spacing-left-small:var(--awb-spacing-left-large, 4%);--awb-spacing-right-small:var(--awb-spacing-right-large, 4%);--awb-margin-top-small:var(--awb-margin-top-medium, var(--awb-margin-top-large, var(--col_margin-top, 0)));--awb-margin-bottom-small:var(--awb-margin-bottom-medium, var(--awb-margin-bottom-large, var(--col_margin-bottom, 20px)));--awb-spacing-left:var(--awb-spacing-left-small);--awb-spacing-right:var(--awb-spacing-right-small);--awb-margin-top:var(--awb-margin-top-small);--awb-margin-bottom:var(--awb-margin-bottom-small);--awb-bg-image-small:var(--awb-bg-image-medium);--awb-bg-color-small:var(--awb-bg-color-medium);--awb-bg-color-small-hover:var(--awb-bg-color-medium-hover);--awb-bg-repeat-small:var(--awb-bg-repeat-medium);--awb-bg-position-small:var(--awb-bg-position-medium);--awb-bg-size-small:var(--awb-bg-size-medium);--awb-bg-blend-small:var(--awb-bg-blend-medium);--awb-col-flex-grow:var(--awb-flex-grow-small, var(--awb-flex-grow, 0));--awb-column-gap-small:var(--awb-column-gap-medium);--awb-row-gap-small:var(--awb-row-gap-medium)}.fusion-layout-column.fusion-events-post .fusion-column-wrapper,.fusion_builder_column .fusion-column-wrapper,.fusion_builder_column_inner .fusion-column-wrapper{padding:var(--awb-padding-top-small) var(--awb-padding-right-small) var(--awb-padding-bottom-small) var(--awb-padding-left-small);column-gap:var(--awb-column-gap-small);row-gap:var(--awb-row-gap-small);background-image:var(--awb-bg-image-small);background-color:var(--awb-bg-color-small);background-repeat:var(--awb-bg-repeat-small);background-position:var(--awb-bg-position-small);background-size:var(--awb-bg-size-small);background-blend-mode:var(--awb-bg-blend-small);max-height:var(--awb-max-height-small,var(--awb-max-height))}.fusion-layout-column.fusion-events-post .fusion-column-wrapper.hover,.fusion-layout-column.fusion-events-post .fusion-column-wrapper:hover,.fusion_builder_column .fusion-column-wrapper.hover,.fusion_builder_column .fusion-column-wrapper:hover,.fusion_builder_column_inner .fusion-column-wrapper.hover,.fusion_builder_column_inner .fusion-column-wrapper:hover{background-color:var(--awb-bg-color-small-hover)}.fusion-layout-column.fusion-events-post .fusion-empty-dims-img-placeholder-medium,.fusion_builder_column .fusion-empty-dims-img-placeholder-medium,.fusion_builder_column_inner .fusion-empty-dims-img-placeholder-medium{display:none}.fusion-layout-column.fusion-events-post .fusion-empty-dims-img-placeholder-small,.fusion_builder_column .fusion-empty-dims-img-placeholder-small,.fusion_builder_column_inner .fusion-empty-dims-img-placeholder-small{display:block}}@media only screen and (max-width: 640px){.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.products.products-6 .product-grid-view{width:100%!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape .fusion-masonry-element-container,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape .fusion-masonry-element-container,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape .fusion-masonry-element-container,.products.products-6 .product-grid-view.fusion-element-landscape .fusion-masonry-element-container{padding-top:65%!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-grid .fusion-masonry-element-container,.fusion-grid-6 .fusion-grid-column.fusion-element-grid .fusion-masonry-element-container,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-grid .fusion-masonry-element-container,.products.products-6 .product-grid-view.fusion-element-grid .fusion-masonry-element-container{padding-top:100%!important}}@media only screen and (max-width: 712px){.fusion-blog-layout-grid .fusion-post-grid,.fusion-grid-column,.fusion-portfolio-post,.products li.product-grid-view{width:var(--awb-columns-small,100%)!important}.fusion-blog-layout-grid .fusion-post-grid.fusion-element-landscape .fusion-masonry-element-container,.fusion-grid-column.fusion-element-landscape .fusion-masonry-element-container,.fusion-portfolio-post.fusion-element-landscape .fusion-masonry-element-container,.products li.product-grid-view.fusion-element-landscape .fusion-masonry-element-container{padding-top:65%!important}.fusion-blog-layout-grid .fusion-post-grid.fusion-element-grid .fusion-masonry-element-container,.fusion-grid-column.fusion-element-grid .fusion-masonry-element-container,.fusion-portfolio-post.fusion-element-grid .fusion-masonry-element-container,.products li.product-grid-view.fusion-element-grid .fusion-masonry-element-container{padding-top:100%!important}.fusion-portfolio-grid:not(.fusion-portfolio-text) .fusion-portfolio-post .fusion-image-wrapper{display:block;text-align:center}.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.products.products-6 .product-grid-view{width:var(--awb-columns-small,50%)!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape,.products.products-6 .product-grid-view.fusion-element-landscape{width:100%!important}}@media only screen and (min-width: 712px) and (max-width: 784px){.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.products.products-6 .product-grid-view{width:33.33333333%!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape,.products.products-6 .product-grid-view.fusion-element-landscape{width:66.66666667%!important}.fusion-blog-layout-grid-3 .fusion-post-grid,.fusion-blog-layout-grid-4 .fusion-post-grid,.fusion-blog-layout-grid-5 .fusion-post-grid,.fusion-grid-3 .fusion-grid-column,.fusion-grid-4 .fusion-grid-column,.fusion-grid-5 .fusion-grid-column,.fusion-portfolio-five .fusion-portfolio-post,.fusion-portfolio-four .fusion-portfolio-post,.fusion-portfolio-masonry .fusion-portfolio-post,.fusion-portfolio-three .fusion-portfolio-post,.products.products-3 .product-grid-view,.products.products-4 .product-grid-view,.products.products-5 .product-grid-view{width:50%!important}.fusion-blog-layout-grid-3 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-4 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape,.fusion-grid-3 .fusion-grid-column.fusion-element-landscape,.fusion-grid-4 .fusion-grid-column.fusion-element-landscape,.fusion-grid-5 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-five .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-four .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-masonry .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-three .fusion-portfolio-post.fusion-element-landscape,.products.products-3 .product-grid-view.fusion-element-landscape,.products.products-4 .product-grid-view.fusion-element-landscape,.products.products-5 .product-grid-view.fusion-element-landscape{width:100%!important}}@media only screen and (min-width: 784px) and (max-width: 856px){.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.products.products-6 .product-grid-view{width:25%!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape,.products.products-6 .product-grid-view.fusion-element-landscape{width:50%!important}.fusion-blog-layout-grid-3 .fusion-post-grid,.fusion-blog-layout-grid-4 .fusion-post-grid,.fusion-blog-layout-grid-5 .fusion-post-grid,.fusion-grid-3 .fusion-grid-column,.fusion-grid-4 .fusion-grid-column,.fusion-grid-5 .fusion-grid-column,.fusion-portfolio-five .fusion-portfolio-post,.fusion-portfolio-four .fusion-portfolio-post,.fusion-portfolio-three .fusion-portfolio-post,.products.products-3 .product-grid-view,.products.products-4 .product-grid-view,.products.products-5 .product-grid-view{width:50%!important}.fusion-blog-layout-grid-3 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-4 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape,.fusion-grid-3 .fusion-grid-column.fusion-element-landscape,.fusion-grid-4 .fusion-grid-column.fusion-element-landscape,.fusion-grid-5 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-five .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-four .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-three .fusion-portfolio-post.fusion-element-landscape,.products.products-3 .product-grid-view.fusion-element-landscape,.products.products-4 .product-grid-view.fusion-element-landscape,.products.products-5 .product-grid-view.fusion-element-landscape{width:100%!important}}@media only screen and (min-width: 856px) and (max-width: 928px){.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post .products.products-6 .product-grid-view{width:20%!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post .products.products-6 .product-grid-view.fusion-element-landscape{width:40%!important}.fusion-blog-layout-grid-4 .fusion-post-grid,.fusion-blog-layout-grid-5 .fusion-post-grid,.fusion-grid-4 .fusion-grid-column,.fusion-grid-5 .fusion-grid-column,.fusion-portfolio-five .fusion-portfolio-post,.fusion-portfolio-four .fusion-portfolio-post,.products.products-4 .product-grid-view,.products.products-5 .product-grid-view{width:33.33333333%!important}.fusion-blog-layout-grid-4 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape,.fusion-grid-4 .fusion-grid-column.fusion-element-landscape,.fusion-grid-5 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-five .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-four .fusion-portfolio-post.fusion-element-landscape,.products.products-4 .product-grid-view.fusion-element-landscape,.products.products-5 .product-grid-view.fusion-element-landscape{width:66.66666667%!important}}@media only screen and (min-width: 928px) and (max-width: 1000px){.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.grid-layout-6 .fusion-post-grid,.products.products-6 .product-grid-view{width:20%!important}.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape,.grid-layout-6 .fusion-post-grid.fusion-element-landscape,.products.products-6 .product-grid-view.fusion-element-landscape{width:40%!important}.fusion-blog-layout-grid-5 .fusion-post-grid,.fusion-grid-5 .fusion-grid-column,.fusion-portfolio-five .fusion-portfolio-post,.products.products-5 .product-grid-view{width:25%!important}.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape,.fusion-grid-5 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-five .fusion-portfolio-post.fusion-element-landscape,.products.products-5 .product-grid-view.fusion-element-landscape{width:50%!important}}@media only screen and (min-width: 801px){.fusion-icon-only-link .menu-title{display:none}}@media only screen and (max-width: 800px){.width-100 .fusion-section-separator-with-offset{margin-left:calc((100vw - 100%)/ -2)!important;margin-right:calc((100vw - 100%)/ -2)!important}}@media only screen and (max-width: 800px){.fusion-footer-copyright-area>.fusion-row,.fusion-footer-widget-area>.fusion-row{padding-left:0;padding-right:0}}@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait){.fusion-blog-layout-grid-6 .fusion-post-grid,.fusion-grid-6 .fusion-grid-column,.fusion-portfolio-six .fusion-portfolio-post,.products.products-6 .product-grid-view{width:var(--awb-columns-medium,33.33333333%)!important}.fusion-blog-layout-grid-6 .fusion-post-grid.fusion-element-landscape,.fusion-grid-6 .fusion-grid-column.fusion-element-landscape,.fusion-portfolio-six .fusion-portfolio-post.fusion-element-landscape,.products.products-6 .product-grid-view.fusion-element-landscape{width:66.66666667%!important}.fusion-blog-layout-grid-3 .fusion-post-grid,.fusion-blog-layout-grid-4 .fusion-post-grid,.fusion-blog-layout-grid-5 .fusion-post-grid,.fusion-grid-2>.fusion-grid-column,.fusion-grid-3 .fusion-grid-column,.fusion-grid-4 .fusion-grid-column,.fusion-grid-5 .fusion-grid-column,.fusion-grid-two>.fusion-grid-column,.fusion-portfolio-five .fusion-portfolio-post,.fusion-portfolio-four .fusion-portfolio-post,.fusion-portfolio-masonry .fusion-portfolio-post,.fusion-portfolio-three .fusion-portfolio-post,.products.products-3 .product-grid-view,.products.products-4 .product-grid-view,.products.products-5 .product-grid-view{width:var(--awb-columns-medium,50%)!important}.fusion-blog-layout-grid-3 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-4 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape,.fusion-grid-2>.fusion-grid-column.fusion-element-landscape,.fusion-grid-3 .fusion-grid-column.fusion-element-landscape,.fusion-grid-4 .fusion-grid-column.fusion-element-landscape,.fusion-grid-5 .fusion-grid-column.fusion-element-landscape,.fusion-grid-two>.fusion-grid-column.fusion-element-landscape,.fusion-portfolio-five .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-four .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-masonry .fusion-portfolio-post.fusion-element-landscape,.fusion-portfolio-three .fusion-portfolio-post.fusion-element-landscape,.products.products-3 .product-grid-view.fusion-element-landscape,.products.products-4 .product-grid-view.fusion-element-landscape,.products.products-5 .product-grid-view.fusion-element-landscape{width:100%!important}.fusion-columns-1 .fusion-column:first-child,.fusion-columns-2 .fusion-column:first-child,.fusion-columns-3 .fusion-column:first-child,.fusion-columns-4 .fusion-column:first-child,.fusion-columns-5 .fusion-column:first-child{margin-left:0}.fusion-column,.fusion-column:nth-child(2n),.fusion-column:nth-child(3n),.fusion-column:nth-child(4n),.fusion-column:nth-child(5n){margin-right:0}#wrapper{width:auto!important}#wrapper .ei-slider{width:100%!important;height:200px!important}.create-block-format-context{display:none}.columns .col{float:none;width:100%!important;margin:0;box-sizing:border-box}.fullwidth-box{background-attachment:scroll!important}.fullwidth-box .fullwidth-faded{background-attachment:scroll!important}.review{float:none;width:100%}.fusion-social-links-footer{width:auto}.fusion-social-links-footer .fusion-social-networks{display:inline-block;float:none}.fusion-author .fusion-author-ssocial .fusion-author-tagline{float:none;text-align:center;max-width:100%}.fusion-author .fusion-author-ssocial .fusion-social-networks{text-align:center}.fusion-author .fusion-author-ssocial .fusion-social-networks .fusion-social-network-icon:first-child{margin-left:0}.fusion-page-title-wrapper{display:block}.fusion-page-title-bar-left .fusion-page-title-captions,.fusion-page-title-bar-left .fusion-page-title-secondary,.fusion-page-title-bar-right .fusion-page-title-captions,.fusion-page-title-bar-right .fusion-page-title-secondary{display:block;float:none;width:100%;line-height:normal}.fusion-page-title-bar-left .fusion-page-title-secondary{text-align:left}.fusion-page-title-bar-left .searchform{display:block;max-width:100%}.fusion-page-title-bar .fusion-page-title-secondary{margin:2px 0 0}.fusion-page-title-bar-right .fusion-page-title-secondary{text-align:right}.fusion-page-title-bar-right .searchform{max-width:100%}.sidebar .social_links .social li{width:auto;margin-right:5px}#comment-input{margin-bottom:0}#comment-input input{width:90%;float:none!important;margin-bottom:10px}#comment-textarea textarea{width:90%}.pagination{margin-top:40px}.portfolio-one .portfolio-item .image{float:none;width:auto;height:auto;margin-bottom:20px}h5.toggle span.toggle-title{width:80%}.project-content .project-description{float:none!important}.project-content .fusion-project-description-details{margin-bottom:50px}.project-content .project-description,.project-content .project-info{width:100%!important}.portfolio-half .flexslider{width:100%}.portfolio-half .project-content{width:100%!important}#style_selector{display:none}.faq-tabs,.portfolio-tabs{height:auto;border-bottom-width:1px;border-bottom-style:solid}.faq-tabs li,.portfolio-tabs li{float:left;margin-right:30px;border-bottom:0}.ls-avada .ls-nav-next,.ls-avada .ls-nav-prev{display:none!important}nav#nav,nav#sticky-nav{margin-right:0}#footer .social-networks{width:100%;margin:0 auto;position:relative;left:-11px}.tab-holder .tabs{height:auto!important;width:100%!important}.shortcode-tabs .tab-hold .tabs li{width:100%!important}body .shortcode-tabs .tab-hold .tabs li,body.dark .sidebar .tab-hold .tabs li{border-right:none!important}body #small-nav{visibility:visible!important}.error_page .useful_links{width:100%;padding-left:0}.fusion-google-map{width:100%!important}.fusion-blog-layout-medium-alternate .fusion-post-content{flex:1 0 100%;width:100%;padding-top:20px}.gform_wrapper .gfield input[type=text],.gform_wrapper .gfield textarea,.gform_wrapper .ginput_complex .ginput_left,.gform_wrapper .ginput_complex .ginput_right,.wpcf7-form .wpcf7-number,.wpcf7-form .wpcf7-quiz,.wpcf7-form .wpcf7-text,.wpcf7-form textarea{float:none!important;width:100%!important;box-sizing:border-box}#toTop{bottom:30px;border-radius:4px;height:40px}#toTop:before{line-height:38px}#toTop:hover{background-color:#333}.no-mobile-totop .to-top-container{display:none}.no-mobile-slidingbar #slidingbar-area{display:none}.no-mobile-slidingbar .fusion-flyout-sliding-bar-toggle{display:none!important}.tfs-slider .slide-content-container .btn{min-height:0!important;padding-left:20px;padding-right:20px!important;height:26px!important;line-height:26px!important}.fusion-soundcloud iframe{width:100%}.fusion-columns-2 .fusion-column,.fusion-columns-2 .fusion-flip-box-wrapper,.fusion-columns-4 .fusion-column,.fusion-columns-4 .fusion-flip-box-wrapper{width:50%!important;float:left!important}.fusion-columns-2 .fusion-column:nth-of-type(odd),.fusion-columns-2 .fusion-flip-box-wrapper:nth-of-type(odd),.fusion-columns-4 .fusion-column:nth-of-type(odd){clear:both}.fusion-columns-3 .fusion-column,.fusion-columns-3 .fusion-flip-box-wrapper,.fusion-columns-5 .col-lg-2,.fusion-columns-5 .col-md-2,.fusion-columns-5 .col-sm-2,.fusion-columns-5 .fusion-column,.fusion-columns-5 .fusion-flip-box-wrapper,.fusion-columns-6 .fusion-column,.fusion-columns-6 .fusion-flip-box-wrapper{width:33.33%!important;float:left!important}.fusion-columns-3 .fusion-column:nth-of-type(3n+1),.fusion-columns-3 .fusion-flip-box-wrapper:nth-of-type(3n+1),.fusion-columns-5 .fusion-column:nth-of-type(3n+1),.fusion-columns-5 .fusion-flip-box-wrapper:nth-of-type(3n+1),.fusion-columns-6 .fusion-column:nth-of-type(3n+1),.fusion-columns-6 .fusion-flip-box-wrapper:nth-of-type(3n+1){clear:both}.footer-area .fusion-column,.fusion-sliding-bar-position-bottom .fusion-column,.fusion-sliding-bar-position-top .fusion-column{margin-bottom:40px}.fusion-layout-column.fusion-five-sixth,.fusion-layout-column.fusion-four-fifth,.fusion-layout-column.fusion-one-fifth,.fusion-layout-column.fusion-one-fourth,.fusion-layout-column.fusion-one-half,.fusion-layout-column.fusion-one-sixth,.fusion-layout-column.fusion-one-third,.fusion-layout-column.fusion-three-fifth,.fusion-layout-column.fusion-three-fourth,.fusion-layout-column.fusion-two-fifth,.fusion-layout-column.fusion-two-third{position:relative;margin-bottom:20px;float:left;margin-right:4%}.rtl .fusion-layout-column.fusion-five-sixth,.rtl .fusion-layout-column.fusion-four-fifth,.rtl .fusion-layout-column.fusion-one-fifth,.rtl .fusion-layout-column.fusion-one-fourth,.rtl .fusion-layout-column.fusion-one-half,.rtl .fusion-layout-column.fusion-one-sixth,.rtl .fusion-layout-column.fusion-one-third,.rtl .fusion-layout-column.fusion-three-fifth,.rtl .fusion-layout-column.fusion-three-fourth,.rtl .fusion-layout-column.fusion-two-fifth,.rtl .fusion-layout-column.fusion-two-third{float:right;margin-left:4%;margin-right:0}.fusion-layout-column.fusion-one-sixth{width:13.3333%}.fusion-layout-column.fusion-five-sixth{width:82.6666%}.fusion-layout-column.fusion-one-fifth{width:16.8%}.fusion-layout-column.fusion-two-fifth{width:37.6%}.fusion-layout-column.fusion-three-fifth{width:58.4%}.fusion-layout-column.fusion-four-fifth{width:79.2%}.fusion-layout-column.fusion-one-fourth{width:22%}.fusion-layout-column.fusion-three-fourth{width:74%}.fusion-layout-column.fusion-one-third{width:30.6666%}.fusion-layout-column.fusion-two-third{width:65.3333%}.fusion-layout-column.fusion-one-half{width:48%}.fusion-layout-column.fusion-one-full{clear:both}.fusion-layout-column.fusion-spacing-no{margin-left:0;margin-right:0}.fusion-layout-column.fusion-spacing-no.fusion-one-sixth{width:16.66666667%}.fusion-layout-column.fusion-spacing-no.fusion-five-sixth{width:83.33333333%}.fusion-layout-column.fusion-spacing-no.fusion-one-fifth{width:20%}.fusion-layout-column.fusion-spacing-no.fusion-two-fifth{width:40%}.fusion-layout-column.fusion-spacing-no.fusion-three-fifth{width:60%}.fusion-layout-column.fusion-spacing-no.fusion-four-fifth{width:80%}.fusion-layout-column.fusion-spacing-no.fusion-one-fourth{width:25%}.fusion-layout-column.fusion-spacing-no.fusion-three-fourth{width:75%}.fusion-layout-column.fusion-spacing-no.fusion-one-third{width:33.33333333%}.fusion-layout-column.fusion-spacing-no.fusion-two-third{width:66.66666667%}.fusion-layout-column.fusion-spacing-no.fusion-one-half{width:50%}.fusion-layout-column.fusion-column-last{clear:right;zoom:1;margin-left:0;margin-right:0}.rtl .fusion-layout-column.fusion-column-last{clear:left;margin-left:0}.fusion-layout-column.fusion-column-last.fusion-one-full{clear:both}.avada-footer-fx-bg-parallax .fusion-footer-widget-area{background-attachment:initial;margin:0}.avada-footer-fx-bg-parallax #main{margin-bottom:0}.fusion-column.fusion-spacing-no{margin-bottom:0;width:100%!important}.ua-mobile #main,.ua-mobile .fusion-footer-widget-area,.ua-mobile .page-title-bar,.ua-mobile body{background-attachment:scroll!important}#footer>.fusion-row,.footer-area>.fusion-row{padding-left:0!important;padding-right:0!important}#main,.fullwidth-box,.fusion-footer-widget-area,.page-title-bar,body{background-attachment:scroll!important}#customer_login_box .button{float:left;margin-bottom:15px}#customer_login_box .remember-box{clear:both;display:block;padding:0;width:125px;float:left}#customer_login_box .lost_password{float:left}.fusion-body .fusion-page-title-bar:not(.fusion-tb-page-title-bar){padding-top:5px;padding-bottom:5px}.fusion-body.avada-has-page-title-mobile-height-auto .fusion-page-title-bar{padding-top:10px;padding-bottom:10px;height:auto}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-bar:not(.fusion-tb-page-title-bar){min-height:calc(var(--page_title_mobile_height) - 10px)}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-bar{height:auto}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-row{display:flex;align-items:center;width:100%;min-height:calc(var(--page_title_mobile_height) - 10px)}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-bar-center .fusion-page-title-row{width:auto}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-captions{width:100%}.avada-has-breadcrumb-mobile-hidden.fusion-body .avada-page-titlebar-wrapper .fusion-breadcrumbs{display:none}.avada-has-slider-fallback-image #sliders-container{display:none}.avada-has-slider-fallback-image #fallback-slide{display:block}}@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape){.fullwidth-box{background-attachment:scroll!important}.fullwidth-box .fullwidth-faded{background-attachment:scroll!important}.avada-footer-fx-bg-parallax .fusion-footer-widget-area{background-attachment:initial;margin:0}.avada-footer-fx-bg-parallax #main{margin-bottom:0}#main,.fullwidth-box,.fusion-footer-widget-area,.page-title-bar,body{background-attachment:scroll!important}}@media only screen and (max-width: 800px){.fusion-layout-column{margin-left:0!important;margin-right:0!important}.fusion-layout-column.fusion-spacing-no{margin-bottom:0}.fusion-body .fusion-layout-column:not(.fusion-flex-column){width:100%!important}.fusion-body .fusion-footer-widget-area-center .widget.tweets:not(.fusion-widget-mobile-align-left):not(.fusion-widget-mobile-align-right) .jtwt .jtwt_tweet{padding:0}.fusion-body .fusion-footer-widget-area-center .widget.tweets:not(.fusion-widget-mobile-align-left):not(.fusion-widget-mobile-align-right) .jtwt .jtwt_tweet::before{top:0}.fusion-body .fusion-footer-widget-area-center .widget.tweets:not(.fusion-widget-mobile-align-left):not(.fusion-widget-mobile-align-right) .jtwt .jtwt_tweet:before{position:relative;margin:0}.fusion-body .fusion-blog-layout-medium-alternate .fusion-post-content,.fusion-body .fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-post-content{margin:0;padding-top:20px;flex:1 0 100%}.fusion-body .fusion-author .fusion-social-networks{text-align:center}.fusion-columns-1 .fusion-column:first-child,.fusion-columns-2 .fusion-column:first-child,.fusion-columns-3 .fusion-column:first-child,.fusion-columns-4 .fusion-column:first-child,.fusion-columns-5 .fusion-column:first-child{margin-left:0}.fusion-columns .fusion-column{width:100%!important;float:none;box-sizing:border-box}.fusion-columns .fusion-column:not(.fusion-column-last){margin:0 0 50px}.fusion-privacy-bar .fusion-privacy-bar-main{flex-wrap:wrap}.fusion-privacy-bar .fusion-privacy-bar-main>span{display:flex;width:100%;margin-inline-end:0}.fusion-privacy-bar .fusion-privacy-bar-main>span .fusion-privacy-bar-learn-more{flex-shrink:0}.fusion-privacy-bar .fusion-privacy-bar-main>.fusion-privacy-bar-accept-all,.fusion-privacy-bar .fusion-privacy-bar-main>.fusion-privacy-bar-acceptance,.fusion-privacy-bar .fusion-privacy-bar-main>.fusion-privacy-bar-learn-more,.fusion-privacy-bar .fusion-privacy-bar-main>.fusion-privacy-bar-reject{width:100%;margin-inline-start:0;margin-top:.75em}.fusion-privacy-bar .fusion-privacy-bar-full .fusion-row{--privacy_bar_content_max_width:100%}.widget.tweets.fusion-widget-mobile-align-center .jtwt .jtwt_tweet{padding:0}.widget.tweets.fusion-widget-mobile-align-center .jtwt .jtwt_tweet:before{top:0;position:relative;margin:0}.widget.tweets.fusion-widget-mobile-align-right .jtwt .jtwt_tweet{padding-left:0;padding-right:45px}.widget.tweets.fusion-widget-mobile-align-right .jtwt .jtwt_tweet:before{margin-left:0;right:0}.widget.tribe-events-list-widget.fusion-widget-align-right .tribe-events-list-widget-events{justify-content:end}.widget.tribe-events-list-widget.fusion-widget-align-center .tribe-events-list-widget-events{justify-content:center}.widget.facebook_like iframe{width:100%!important;max-width:none!important}.rtl .fusion-column{float:none}.rtl .no-mobile-slidingbar.mobile-logo-pos-right .mobile-menu-icons{margin-left:0}#slidingbar-area .columns .col,.avada-container .columns .col,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-6,.footer-area .fusion-columns .fusion-column,.fusion-columns-5 .col-lg-2,.fusion-columns-5 .col-md-2,.fusion-columns-5 .col-sm-2{float:none;width:100%}.fusion-portfolio-text-floated .fusion-portfolio-content-wrapper{display:block}.fusion-portfolio-text-floated .fusion-image-wrapper{max-width:none}.fusion-secondary-menu-icon{min-width:100%}.fusion-page-title-row{height:auto}.fusion-page-title-wrapper{flex-wrap:wrap}.fusion-page-title-bar-left .fusion-page-title-captions,.fusion-page-title-bar-left .fusion-page-title-secondary,.fusion-page-title-bar-right .fusion-page-title-captions,.fusion-page-title-bar-right .fusion-page-title-secondary{display:block;float:none;width:100%;line-height:normal}.fusion-page-title-bar-left .fusion-page-title-secondary{text-align:left}.fusion-page-title-bar-left .fusion-page-title-secondary{margin:2px 0 0}.fusion-page-title-bar-left .searchform{display:block;max-width:100%}.fusion-page-title-bar-right .fusion-page-title-secondary{text-align:right}.fusion-page-title-bar-right .searchform{max-width:100%}.fusion-contact-info{padding:.6em 30px;line-height:1.5em}.fusion-author .fusion-social-networks{display:block;margin-top:10px}.fusion-author-tagline{display:block;float:none;text-align:center;max-width:100%}#wrapper{width:auto!important}#wrapper .ei-slider{width:100%!important;height:200px!important}.create-block-format-context{display:none}.review{float:none;width:100%}.fusion-body .fusion-social-links-footer,.fusion-copyright-notice{display:block;text-align:center}.fusion-social-links-footer{width:auto}.fusion-social-links-footer .fusion-social-networks{display:inline-block;float:none;margin-top:0}.fusion-copyright-notice{padding:0 0 15px}.fusion-copyright-notice:after,.fusion-social-networks:after{content:"";display:block;clear:both}.fusion-copyright-notice li,.fusion-social-networks li{float:none;display:inline-block}.tfs-slider .slide-content-container .btn{min-height:0!important;padding-left:30px;padding-right:30px!important;height:26px!important;line-height:26px!important}#main .wc-empty-cart-message{float:none;justify-content:center;border-top-width:1px;border-top-style:solid;border-bottom:none;width:100%;line-height:normal!important;height:auto!important;margin-bottom:10px;padding-top:10px}#main .return-to-shop{float:none;border-top:none;border-bottom-width:1px;border-bottom-style:solid;width:100%;text-align:center;line-height:normal!important;height:auto!important;padding-bottom:10px}#content.full-width{margin-bottom:0}.sidebar .social_links .social li{width:auto;margin-right:5px}#comment-input{margin-bottom:0}#comment-input input{width:100%;float:none!important;margin-bottom:10px}#comment-textarea textarea{width:100%}.pagination{margin-top:40px}.portfolio-one .portfolio-item .image{float:none;width:auto;height:auto;margin-bottom:20px}h5.toggle span.toggle-title{width:80%}.project-content .project-description{float:none!important}.project-content .fusion-project-description-details{margin-bottom:50px}.project-content .project-description,.project-content .project-info{width:100%!important}.single-avada_portfolio .portfolio-half .project-content .project-description h3{margin-top:24px}.portfolio-half .flexslider{width:100%!important}.portfolio-half .project-content{width:100%!important}#style_selector{display:none}.ls-avada .ls-nav-next,.ls-avada .ls-nav-prev{display:none!important}#footer .social-networks{width:100%;margin:0 auto;position:relative;left:-11px}.tab-holder .tabs{height:auto!important;width:100%!important}.shortcode-tabs .tab-hold .tabs li{width:100%!important}body .shortcode-tabs .tab-hold .tabs li,body.dark .sidebar .tab-hold .tabs li{border-right:none!important}.error_page .useful_links{width:100%}.error-page .useful_links{padding-left:0}.fusion-google-map{width:100%!important}.fullwidth-box{background-attachment:scroll!important}.fullwidth-box .fullwidth-faded{background-attachment:scroll!important}#toTop{bottom:30px;border-radius:4px;height:44px;width:44px}#toTop:before{line-height:42px}.to-top-container #toTop{border-radius:var(--totop_border_radius)}.no-mobile-totop .to-top-container{display:none}.no-mobile-slidingbar #slidingbar-area,.no-mobile-slidingbar .fusion-flyout-sliding-bar-toggle{display:none!important}.no-mobile-slidingbar.mobile-logo-pos-left .mobile-menu-icons{margin-right:0}.fusion-soundcloud iframe{width:100%}.ua-mobile #main,.ua-mobile .footer-area,.ua-mobile .fusion-header,.ua-mobile .fusion-page-title-bar,.ua-mobile body{background-attachment:scroll!important}.fusion-footer footer .fusion-row .fusion-columns .fusion-column{border-right:none;border-left:none}.flex-direction-nav .flex-prev{opacity:1;left:0}.flex-direction-nav .flex-next{opacity:1;right:0}.rtl .shop_table_responsive .product-remove{left:0}.ltr .shop_table_responsive .product-remove{right:0}.fusion-body .fusion-page-title-bar{height:auto}.fusion-body .fusion-page-title-bar:not(.fusion-tb-page-title-bar){padding-top:5px;padding-bottom:5px}.fusion-body.avada-has-page-title-mobile-height-auto .fusion-page-title-bar{padding-top:10px;padding-bottom:10px}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-row{display:flex;align-items:center;width:100%;min-height:calc(var(--page_title_mobile_height) - 10px)}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-bar-center .fusion-page-title-row,.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-captions{width:100%}.fusion-body:not(.avada-has-page-title-mobile-height-auto) .fusion-page-title-bar:not(.fusion-tb-page-title-bar){min-height:calc(var(--page_title_mobile_height) - 10px)}.avada-has-breadcrumb-mobile-hidden.fusion-body .avada-page-titlebar-wrapper .fusion-breadcrumbs{display:none}}@media only screen and (max-width: 800px){#content{width:100%!important;margin-left:0!important}.sidebar{width:100%!important;float:none!important;margin-left:0!important;clear:both}#main>.fusion-row{display:flex;flex-wrap:wrap}}@media only screen and (max-width: 640px){.fusion-body .fusion-page-title-bar{max-height:none}.fusion-body .fusion-page-title-bar h1{margin:0}.fusion-body .fusion-blog-layout-medium .fusion-post-slideshow{float:none;margin:0 0 20px;width:auto;height:auto;flex:0 1 100%}.fusion-body .fusion-blog-layout-medium .fusion-post-content{flex:0 1 100%}.fusion-body .fusion-blog-layout-large-alternate .fusion-post-content{margin:0}.fusion-blog-layout-large .fusion-meta-info .fusion-alignleft,.fusion-blog-layout-large .fusion-meta-info .fusion-alignright,.fusion-blog-layout-medium .fusion-meta-info .fusion-alignleft,.fusion-blog-layout-medium .fusion-meta-info .fusion-alignright{display:block;float:none;margin:0;width:100%}.fusion-blog-layout-large-alternate .fusion-date-and-formats{margin-bottom:35px}.fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-post-slideshow{display:inline-block;float:none;margin-right:0;max-width:197px}.fusion-blog-layout-grid .fusion-post-grid{position:static;width:100%}.flex-direction-nav,.wooslider-direction-nav,.wooslider-pauseplay{display:none}.buttons a{margin-right:5px}.ls-avada .ls-nav-next,.ls-avada .ls-nav-prev{display:none!important}#wrapper .ei-slider{width:100%!important;height:200px!important}.page-template-contact-php .fusion-google-map{height:270px!important}.timeline-icon{display:none!important}.timeline-layout{padding-top:0!important}.portfolio-masonry .portfolio-item{width:100%!important}.table-1 table,.tkt-slctr-tbl-wrap-dv table{border-collapse:collapse;border-spacing:0;width:100%}.table-1 td,.table-1 th,.tkt-slctr-tbl-wrap-dv td,.tkt-slctr-tbl-wrap-dv th{white-space:nowrap}.table-2 table{border-collapse:collapse;border-spacing:0;width:100%}.table-2 td,.table-2 th{white-space:nowrap}#main,.footer-area,.page-title-bar,body{background-attachment:scroll!important}.tfs-slider[data-animation=slide]{height:auto!important}#content{width:100%!important;margin-left:0!important}.sidebar{width:100%!important;float:none!important;margin-left:0!important;clear:both}.fusion-hide-on-mobile{display:none}.fusion-blog-layout-timeline{padding-top:0}.fusion-blog-layout-timeline .fusion-post-timeline{float:none;width:100%}.fusion-blog-layout-timeline .fusion-timeline-date{margin-bottom:0;margin-top:2px}.fusion-timeline-arrow,.fusion-timeline-circle,.fusion-timeline-icon,.fusion-timeline-line{display:none}}@media only screen and (max-width: 782px){.admin-bar p.woocommerce-store-notice,body.admin-bar #wrapper .fusion-sliding-bar-position-top,body.layout-boxed-mode.side-header-right .fusion-sliding-bar-position-top{top:46px}body.fusion-blank-page.admin-bar{top:45px}html #wpadminbar{z-index:99999!important;position:fixed!important}}@media only screen and (max-width: 768px){.fusion-tabs.vertical-tabs .tab-pane{max-width:none!important}}@media only screen and (min-width: 800px){.ilightbox-holder.supportTouch div.ilightbox-container{overflow:visible}.widget.tweets.fusion-widget-align-right .jtwt .jtwt_tweet{padding-left:0;padding-right:45px}.widget.tweets.fusion-widget-align-right .jtwt .jtwt_tweet:before{margin-left:0;right:0}.widget.tweets.fusion-widget-align-center .jtwt .jtwt_tweet{padding:0}.widget.tweets.fusion-widget-align-center .jtwt .jtwt_tweet:before{top:0;position:relative;margin:0}.widget.tribe-events-list-widget.fusion-widget-align-right .tribe-events-list-widget-events{justify-content:end}.widget.tribe-events-list-widget.fusion-widget-align-center .tribe-events-list-widget-events{justify-content:center}.fusion-body .fusion-footer-widget-area-center .widget.tweets:not(.fusion-widget-align-left):not(.fusion-widget-align-right) .jtwt .jtwt_tweet{padding:0}.fusion-body .fusion-footer-widget-area-center .widget.tweets:not(.fusion-widget-align-left):not(.fusion-widget-align-right) .jtwt .jtwt_tweet:before{top:0;position:relative;margin:0}.no-desktop-totop .to-top-container{display:none}}@media only screen and (max-device-width: 640px){#wrapper{width:auto!important}#wrapper .ei-slider{width:100%!important;height:200px!important}.fusion-columns .fusion-column{float:none;width:100%!important;margin:0 0 50px;box-sizing:border-box}.footer-area .fusion-columns .fusion-column,.fusion-sliding-bar-position-bottom .fusion-columns .fusion-column,.fusion-sliding-bar-position-top .fusion-columns .fusion-column{float:left;width:98%!important}.fullwidth-box{background-attachment:scroll!important}.fullwidth-box .fullwidth-faded{background-attachment:scroll!important}.no-mobile-slidingbar #slidingbar-area,.no-mobile-slidingbar .fusion-flyout-sliding-bar-toggle{display:none!important}.review{float:none;width:100%}.copyright,.social-networks{float:none;padding:0 0 15px;text-align:center}.copyright:after,.social-networks:after{content:"";display:block;clear:both}.copyright li,.social-networks li{float:none;display:inline-block}.continue{display:none}.mobile-button{display:block!important;float:none}.title{margin-top:0;margin-bottom:20px}#content{width:100%!important;float:none!important;margin-left:0!important;margin-bottom:50px}#content.full-width{margin-bottom:0}.sidebar{width:100%!important;float:none!important;margin-left:0!important;clear:both}.sidebar .social_links .social li{width:auto;margin-right:5px}#comment-input{margin-bottom:0}.widget.facebook_like iframe{width:100%!important;max-width:none!important}.pagination{margin-top:40px}.portfolio-one .portfolio-item .image{float:none;width:auto;height:auto;margin-bottom:20px}h5.toggle span.toggle-title{width:80%}.project-content .project-description{float:none!important}.project-content .fusion-project-description-details{margin-bottom:50px}.project-content .project-description,.project-content .project-info{width:100%!important}.portfolio-half .flexslider{width:100%!important}.portfolio-half .project-content{width:100%!important}#style_selector{display:none}.ls-avada .ls-nav-next,.ls-avada .ls-nav-prev{display:none!important}#footer .social-networks{width:100%;margin:0 auto;position:relative;left:-11px}.recent-works-items a{max-width:64px}#slidingbar-area .flickr_badge_image img,.footer-area .flickr_badge_image img{max-width:64px;padding:3px!important}.tab-holder .tabs{height:auto!important;width:100%!important}.shortcode-tabs .tab-hold .tabs li{width:100%!important}body .shortcode-tabs .tab-hold .tabs li,body.dark .sidebar .tab-hold .tabs li{border-right:none!important}.error_page .useful_links{width:100%;padding-left:0}.fusion-google-map{width:100%!important}#cloudsCandy{height:40px}#cloudsCandy>path:nth-child(2n+2){opacity:0}.ltr .fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-date-and-formats{margin-right:12px}.rtl .fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-date-and-formats{margin-left:12px}.fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-post-slideshow{max-width:166px}}@media only screen and (max-width: 1000px){.fusion-responsive-typography-calculated{--minFontSize:calc(var(--typography_factor) * var(--base-font-size));--minViewportSize:360;--maxViewportSize:var(--grid_main_break_point);font-size:calc((var(--fontSize) * 1px) - (var(--typography_sensitivity) * (var(--fontSize) - var(--minFontSize)) * (var(--minViewportSize) * 1px - 100vw)) / (var(--maxViewportSize) - var(--minViewportSize)) - (var(--fontSize) - var(--minFontSize)) * var(--typography_sensitivity) * 1px)!important}.fusion-top-header .fusion-responsive-typography-calculated{--side_header_width:0;--side_header_width-int:0}}@media only screen and (max-width: 800px){.fusion-responsive-typography-calculated{--maxViewportSize:var(--content_break_point)!important}}@media only screen and (max-width: 800px){.wpcf7-form .wpcf7-number,.wpcf7-form .wpcf7-quiz,.wpcf7-form .wpcf7-text,.wpcf7-form textarea{float:none!important;width:100%!important;box-sizing:border-box}}@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait){}@media only screen and (max-width: 640px){}@media only screen and (max-device-width: 640px){}@media only screen and (max-width: 800px){.fusion-theme-sharing-box{flex-direction:column;align-items:center}.fusion-theme-sharing-box h4{margin-bottom:.5em;text-align:center}.fusion-theme-sharing-box .fusion-social-networks .fusion-social-networks-wrapper{justify-content:center}}@media only screen and (max-width: 800px){.fusion-layout-column:not(.fusion-flex-column){margin-left:0!important;margin-right:0!important;width:100%!important}.fusion-layout-column:not(.fusion-flex-column).fusion-spacing-no{margin-bottom:0}.fusion-columns-1 .fusion-column:first-child,.fusion-columns-2 .fusion-column:first-child,.fusion-columns-3 .fusion-column:first-child,.fusion-columns-4 .fusion-column:first-child,.fusion-columns-5 .fusion-column:first-child{margin-left:0}.fusion-columns .fusion-column{width:100%!important;float:none;box-sizing:border-box}.fusion-columns .fusion-column:not(.fusion-column-last){margin:0 0 50px}.rtl .fusion-columns{float:none}.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-6,.fusion-columns-5 .col-lg-2,.fusion-columns-5 .col-md-2,.fusion-columns-5 .col-sm-2{float:none;width:100%}.fusion-blog-layout-medium-alternate .fusion-post-content,.fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-post-content{margin:0;padding-top:20px;flex:1 0 100%}.fusion-chart.legend-left .fusion-chart-inner,.fusion-chart.legend-right .fusion-chart-inner{flex-direction:column}.fusion-chart.legend-left .fusion-chart-inner .fusion-chart-legend-wrap li,.fusion-chart.legend-right .fusion-chart-inner .fusion-chart-legend-wrap li{display:inline-block}.fusion-chart.legend-left .fusion-chart-legend-wrap,.fusion-chart.legend-right .fusion-chart-legend-wrap{padding-top:20px}.fusion-chart.legend-right .fusion-chart-legend-wrap{padding-left:0}.fusion-chart.legend-left .fusion-chart-legend-wrap{padding-right:0;order:2}.fusion-content-boxes{--awb-item-margin-bottom:55px}.fusion-content-boxes .fusion-read-more-button{margin-top:8px}.fusion-tabs.vertical-tabs .nav-tabs>li.active>.tab-link{border-left:3px solid var(--primary_color)}.fusion-woocommerce-shipping-calculator .fusion-layout-column.fusion-column-last:last-of-type{margin-bottom:0!important}.fusion-woocommerce-shipping-calculator .fusion-layout-column.fusion-shipping-update-totals{margin-top:20px}}@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait){.fusion-columns-1 .fusion-column:first-child,.fusion-columns-2 .fusion-column:first-child,.fusion-columns-3 .fusion-column:first-child,.fusion-columns-4 .fusion-column:first-child,.fusion-columns-5 .fusion-column:first-child{margin-left:0}.fusion-column,.fusion-column:nth-child(2n),.fusion-column:nth-child(3n),.fusion-column:nth-child(4n),.fusion-column:nth-child(5n){margin-right:0}.columns .col{float:none;width:100%!important;margin:0 0 20px;box-sizing:border-box}.fusion-columns-2 .fusion-column,.fusion-columns-2 .fusion-flip-box-wrapper,.fusion-columns-4 .fusion-column,.fusion-columns-4 .fusion-flip-box-wrapper{width:50%!important;float:left!important}.fusion-columns-2 .fusion-column:nth-of-type(odd),.fusion-columns-2 .fusion-flip-box-wrapper:nth-of-type(odd),.fusion-columns-4 .fusion-column:nth-of-type(odd){clear:both}.fusion-columns-3 .fusion-column,.fusion-columns-3 .fusion-flip-box-wrapper,.fusion-columns-5 .col-lg-2,.fusion-columns-5 .col-md-2,.fusion-columns-5 .col-sm-2,.fusion-columns-5 .fusion-column,.fusion-columns-5 .fusion-flip-box-wrapper,.fusion-columns-6 .fusion-column,.fusion-columns-6 .fusion-flip-box-wrapper{width:33.33%!important;float:left!important}.fusion-columns-3 .fusion-column:nth-of-type(3n+1),.fusion-columns-3 .fusion-flip-box-wrapper:nth-of-type(3n+1),.fusion-columns-5 .fusion-column:nth-of-type(3n+1),.fusion-columns-5 .fusion-flip-box-wrapper:nth-of-type(3n+1),.fusion-columns-6 .fusion-column:nth-of-type(3n+1),.fusion-columns-6 .fusion-flip-box-wrapper:nth-of-type(3n+1){clear:both}.fusion-columns-5 .fusion-column:nth-of-type(5n+1),.fusion-columns-5 .fusion-flip-box-wrapper:nth-of-type(5n+1){clear:none}.fusion-layout-column.fusion-five-sixth,.fusion-layout-column.fusion-four-fifth,.fusion-layout-column.fusion-one-fifth,.fusion-layout-column.fusion-one-fourth,.fusion-layout-column.fusion-one-half,.fusion-layout-column.fusion-one-sixth,.fusion-layout-column.fusion-one-third,.fusion-layout-column.fusion-three-fifth,.fusion-layout-column.fusion-three-fourth,.fusion-layout-column.fusion-two-fifth,.fusion-layout-column.fusion-two-third{position:relative;float:left;margin-right:4%;margin-bottom:20px}.rtl .fusion-layout-column.fusion-five-sixth,.rtl .fusion-layout-column.fusion-four-fifth,.rtl .fusion-layout-column.fusion-one-fifth,.rtl .fusion-layout-column.fusion-one-fourth,.rtl .fusion-layout-column.fusion-one-half,.rtl .fusion-layout-column.fusion-one-sixth,.rtl .fusion-layout-column.fusion-one-third,.rtl .fusion-layout-column.fusion-three-fifth,.rtl .fusion-layout-column.fusion-three-fourth,.rtl .fusion-layout-column.fusion-two-fifth,.rtl .fusion-layout-column.fusion-two-third{position:relative;float:right;margin-left:4%;margin-right:0;margin-bottom:20px}.fusion-layout-column.fusion-one-sixth{width:13.3333%}.fusion-layout-column.fusion-one-sixth.fusion-spacing-no{width:16.66666667%}.fusion-layout-column.fusion-one-fifth{width:16.8%}.fusion-layout-column.fusion-one-fifthfusion-spacing-no{width:20%}.fusion-layout-column.fusion-one-fourth{width:22%}.fusion-layout-column.fusion-one-fourth.fusion-spacing-no{width:25%}.fusion-layout-column.fusion-one-third{width:30.6666%}.fusion-layout-column.fusion-one-third.fusion-spacing-no{width:33.33333333%}.fusion-layout-column.fusion-two-fifth{width:37.6%}.fusion-layout-column.fusion-two-fifth.fusion-spacing-no{width:40%}.fusion-layout-column.fusion-one-half{width:48%}.fusion-layout-column.fusion-one-half.fusion-spacing-no{width:50%}.fusion-layout-column.fusion-three-fifth{width:58.4%}.fusion-layout-column.fusion-three-fifth.fusion-spacing-no{width:60%}.fusion-layout-column.fusion-two-third{width:65.3333%}.fusion-layout-column.fusion-two-third.fusion-spacing-no{width:66.66666667%}.fusion-layout-column.fusion-three-fourth{width:74%}.fusion-layout-column.fusion-three-fourth.fusion-spacing-no{width:75%}.fusion-layout-column.fusion-four-fifth{width:79.2%}.fusion-layout-column.fusion-four-fifth.fusion-spacing-no{width:80%}.fusion-layout-column.fusion-five-sixth{width:82.6666%}.fusion-layout-column.fusion-five-sixth.fusion-spacing-no{width:83.33333333%}.fusion-layout-column.fusion-spacing-no{margin-left:0;margin-right:0}.fusion-layout-column.fusion-column-last{zoom:1;margin-left:0;margin-right:0;clear:right}.rtl .fusion-layout-column.fusion-column-last{clear:left}.fusion-layout-column.fusion-one-full{clear:both}.fusion-column.fusion-spacing-no{margin-bottom:0;width:100%!important}.fusion-blog-layout-grid-6 .fusion-post-grid{width:33.33333333%!important}.fusion-blog-layout-grid-6 .fusion-element-landscape{width:66.66666667%!important}.fusion-blog-layout-grid-3 .fusion-post-grid,.fusion-blog-layout-grid-4 .fusion-post-grid,.fusion-blog-layout-grid-5 .fusion-post-grid{width:50%!important}.fusion-blog-layout-grid-3 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-4 .fusion-post-grid.fusion-element-landscape,.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape{width:100%!important}.fusion-blog-layout-medium-alternate .fusion-post-content{flex:1 0 100%;width:100%;margin-top:20px}}@media only screen and (max-device-width: 640px){.fusion-columns .fusion-column{float:none;width:100%!important;margin:0 0 50px;box-sizing:border-box}.fusion-blog-layout-large .fusion-meta-info .fusion-alignleft,.fusion-blog-layout-large .fusion-meta-info .fusion-alignright,.fusion-blog-layout-medium .fusion-meta-info .fusion-alignleft,.fusion-blog-layout-medium .fusion-meta-info .fusion-alignright{display:block;float:none;margin:0;width:100%}.fusion-blog-layout-medium .fusion-post-slideshow{margin:0 0 20px 0;height:auto;width:auto;flex:1 0 100%}.fusion-blog-layout-medium .fusion-post-content{flex:0 1 100%}.fusion-blog-layout-large-alternate .fusion-date-and-formats{margin-bottom:35px}.fusion-blog-layout-large-alternate .fusion-post-content{margin:0}.fusion-blog-layout-medium-alternate .has-post-thumbnail .fusion-post-slideshow{display:inline-block;margin-right:0;max-width:197px}.fusion-blog-layout-grid .fusion-post-grid{position:static;width:100%}.fusion-blog-layout-timeline{padding-top:0}.fusion-blog-layout-timeline .fusion-post-timeline{float:none;width:100%}.fusion-blog-layout-timeline .fusion-timeline-date{margin-bottom:0;margin-top:2px}.fusion-timeline-arrow,.fusion-timeline-circle,.fusion-timeline-icon,.fusion-timeline-line{display:none}}@media only screen and (max-width: 640px){.fusion-blog-layout-grid-6 .fusion-post-grid {
  width: 100% !important;
}
}@media only screen and (max-width: 712px){.fusion-blog-layout-grid .fusion-post-grid {
  width: 100% !important;
}
.fusion-blog-layout-grid-6 .fusion-post-grid {
  width: 50% !important;
}
.fusion-blog-layout-grid-6 .fusion-element-landscape {
  width: 100% !important;
}
}@media only screen and (min-width: 712px) and (max-width: 784px){.fusion-blog-layout-grid-6 .fusion-post-grid {
  width: 33.33333333% !important;
}
.fusion-blog-layout-grid-6 .fusion-element-landscape {
  width: 66.66666667% !important;
}
.fusion-blog-layout-grid-3 .fusion-post-grid,
.fusion-blog-layout-grid-4 .fusion-post-grid,
.fusion-blog-layout-grid-5 .fusion-post-grid {
  width: 50% !important;
}
.fusion-blog-layout-grid-3 .fusion-post-grid.fusion-element-landscape,
.fusion-blog-layout-grid-4 .fusion-post-grid.fusion-element-landscape,
.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape {
  width: 100% !important;
}
}@media only screen and (min-width: 784px) and (max-width: 856px){.fusion-blog-layout-grid-6 .fusion-post-grid {
  width: 25% !important;
}
.fusion-blog-layout-grid-6 .fusion-element-landscape {
  width: 50% !important;
}
.fusion-blog-layout-grid-3 .fusion-post-grid,
.fusion-blog-layout-grid-4 .fusion-post-grid,
.fusion-blog-layout-grid-5 .fusion-post-grid {
  width: 50% !important;
}
.fusion-blog-layout-grid-3 .fusion-post-grid.fusion-element-landscape,
.fusion-blog-layout-grid-4 .fusion-post-grid.fusion-element-landscape,
.fusion-blog-layout-grid-5 .fusion-post-grid.fusion-element-landscape {
  width: 100% !important;
}
}@media only screen and (min-width: 856px) and (max-width: 928px){.fusion-blog-layout-grid-6 .fusion-post-grid {
  width: 20% !important;
}
.fusion-blog-layout-grid-6 .fusion-element-landscape {
  width: 40% !important;
}
.fusion-blog-layout-grid-5 .fusion-post-grid {
  width: 33.33333333% !important;
}
.fusion-blog-layout-grid-5 .fusion-element-landscape {
  width: 66.66666667% !important;
}
.fusion-blog-layout-grid-4 .fusion-post-grid {
  width: 33.33333333% !important;
}
.fusion-blog-layout-grid-4 .fusion-element-landscape {
  width: 66.66666667% !important;
}
}@media only screen and (min-width: 928px) and (max-width: 1000px){.fusion-blog-layout-grid-6 .fusion-post-grid {
  width: 20% !important;
}
.fusion-blog-layout-grid-6 .fusion-element-landscape {
  width: 40% !important;
}
.fusion-blog-layout-grid-5 .fusion-post-grid {
  width: 25% !important;
}
.fusion-blog-layout-grid-5 .fusion-element-landscape {
  width: 50% !important;
}
}.wpcf7-list-item {
    display: inline-block;
    margin: 0 0 0 0em;
}

table-1 tr:nth-child(2n), .tkt-slctr-tbl-wrap-dv tr:nth-child(2n) {
    background: #F2F0FF!important;
}#posts-container.fusion-blog-layout-grid{margin:-20px -20px 0 -20px;}#posts-container.fusion-blog-layout-grid .fusion-post-grid{padding:20px;}.fusion-builder-row.fusion-row{max-width:var(--site_width);}.fusion-content-boxes .link-type-button-bar .fusion-read-more{background:var(--awb-color5);color:var(--awb-color1);}.fusion-content-boxes .link-type-button-bar .fusion-read-more:after,.fusion-content-boxes .link-type-button-bar .fusion-read-more:before{color:var(--awb-color1);}.fusion-content-boxes .link-type-button-bar .fusion-read-more:hover,.fusion-content-boxes .link-type-button-bar.link-area-box:hover .fusion-read-more{background:hsla(var(--awb-color5-h),calc(var(--awb-color5-s) - 5%),calc(var(--awb-color5-l) - 10%),var(--awb-color5-a));color:var(--awb-color1)!important;}.fusion-content-boxes .link-type-button-bar .fusion-read-more:hover:after,.fusion-content-boxes .link-type-button-bar .fusion-read-more:hover:before,.fusion-content-boxes .link-type-button-bar.link-area-box:hover .fusion-read-more:after,.fusion-content-boxes .link-type-button-bar.link-area-box:hover .fusion-read-more:before{color:var(--awb-color1)!important;}.full-boxed-pricing.fusion-pricing-table .panel-heading h3{color:var(--awb-color8);}.sep-boxed-pricing .panel-heading h3{color:var(--awb-color8);}.fusion-separator.sep-dashed,.fusion-separator.sep-dotted,.fusion-separator.sep-double,.fusion-separator.sep-single{border-color:var(--awb-color3);}.fusion-body .fusion-content-sep:not([class*="sep-"]){border-top-width:1px;border-bottom-width:1px;}.fusion-reading-box-container .reading-box{background-color:var(--awb-color2);}.fusion-faq-shortcode .fusion-accordian .panel-title a .fa-fusion-box{background-color:var(--awb-color7);}.fusion-faq-shortcode .fusion-accordian .panel-title .active .fa-fusion-box{background-color:var(--awb-color4);}.fusion-faq-shortcode .fusion-accordian .panel-title a:hover .fa-fusion-box{background-color:var(--awb-color4) !important;}.fusion-faq-shortcode .fusion-accordian .fusion-toggle-boxed-mode:hover .panel-title a,.fusion-faq-shortcode .fusion-accordian .panel-title a:hover{color:var(--awb-color4);}.fusion-filters .fusion-filter.fusion-active a{color:var(--primary_color);border-color:var(--primary_color);}@media only screen and (max-width: 800px){.fusion-content-boxes.content-boxes-clean-horizontal .content-box-column,.fusion-content-boxes.content-boxes-clean-vertical .content-box-column{border-right-width:1px;}.fusion-content-boxes .content-box-shortcode-timeline{display:none;}.fusion-content-boxes.content-boxes-icon-boxed .content-wrapper-boxed{padding-bottom:20px;padding-left:3%;padding-right:3%;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column,.fusion-content-boxes.content-boxes-icon-on-top .content-box-column{margin-bottom:55px;}.fusion-countdown .fusion-countdown-heading-wrapper,.fusion-countdown .fusion-countdown-link-wrapper,.fusion-countdown .fusion-countdown-wrapper{display:block;}.fusion-countdown .fusion-countdown-heading-wrapper{text-align:center;}.fusion-countdown.fusion-countdown-has-heading .fusion-countdown-counter-wrapper{margin-top:1em;}.fusion-countdown.fusion-countdown-has-link .fusion-countdown-counter-wrapper{margin-bottom:1em;}.fusion-countdown .fusion-countdown-link-wrapper{text-align:center;}.fusion-counters-box .fusion-counter-box{margin-bottom:20px;padding:0 15px;}.fusion-counters-box .fusion-counter-box:last-child{margin-bottom:0;}.fusion-google-map{width:100% !important;}.fusion-progressbar{margin-bottom:10px !important;}.fusion-reading-box-container .fusion-reading-box-flex{display:block;}.fusion-reading-box-container .fusion-desktop-button{display:none;}.fusion-reading-box-container .fusion-mobile-button{display:block;}.fusion-reading-box-container .fusion-mobile-button.continue-center{display:block;}.fusion-login-box.fusion-login-field-layout-floated .fusion-login-fields,.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-login .fusion-login-additional-content,.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-register .fusion-login-additional-content{display:block;}.fusion-login-box.fusion-login-field-layout-floated .fusion-login-links{margin:0 -10px;}.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-register .fusion-login-registration-confirm{margin:0 0 20px 0;}.fusion-login-box.fusion-login-field-layout-floated.fusion-login-align-textflow.fusion-login-box-login .fusion-login-submit-wrapper{margin-bottom:20px;}.fusion-post-cards .fusion-filters{display:block !important;}.fusion-filters{border-bottom:0;}.fusion-filter{float:none;margin:0;border-bottom:1px solid var(--awb-color3);}}@media only screen and (max-width: 640px){.fusion-content-boxes.content-boxes-icon-boxed .content-wrapper-boxed{min-height:inherit !important;padding-bottom:20px;padding-left:3% !important;padding-right:3% !important;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column,.fusion-content-boxes.content-boxes-icon-on-top .content-box-column{margin-bottom:55px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h1{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h2{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h3{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h4{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h5{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .heading h6{margin-top:-5px;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column .more{margin-top:12px;}.fusion-content-boxes.content-boxes-icon-boxed .col{box-sizing:border-box;}.fusion-counters-circle .counter-circle-wrapper{display:block;margin-right:auto;margin-left:auto;}.full-boxed-pricing .column,.sep-boxed-pricing .column{float:none;margin-bottom:10px;margin-left:0;width:100%;}.fusion-progressbar{margin-bottom:10px !important;}}@media only screen and (min-device-width: 320px) and (max-device-width: 640px){.fusion-content-boxes.content-boxes-icon-boxed .content-wrapper-boxed{min-height:inherit !important;padding-bottom:20px;padding-left:3% !important;padding-right:3% !important;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column,.fusion-content-boxes.content-boxes-icon-on-top .content-box-column{margin-bottom:55px;}.fusion-google-map{width:100% !important;}#wrapper .sep-boxed-pricing .panel-wrapper{padding:0;}.full-boxed-pricing .column,.sep-boxed-pricing .column{float:none;margin-bottom:10px;margin-left:0;width:100%;}.fusion-progressbar{margin-bottom:10px !important;}}@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait){.fusion-content-boxes.content-boxes-icon-boxed .content-wrapper-boxed{padding-bottom:20px;padding-left:3%;padding-right:3%;}.fusion-content-boxes.content-boxes-icon-boxed .content-box-column,.fusion-content-boxes.content-boxes-icon-on-top .content-box-column{margin-bottom:55px;}.fusion-counters-box .fusion-counter-box{margin-bottom:20px;padding:0 15px;}.fusion-counters-box .fusion-counter-box:last-child{margin-bottom:0;}.fusion-google-map{width:100% !important;}#wrapper .sep-boxed-pricing .panel-wrapper{padding:0;}.full-boxed-pricing .column,.sep-boxed-pricing .column{float:none;margin-bottom:10px;margin-left:0;width:100%;}.fusion-progressbar{margin-bottom:10px !important;}.fusion-reading-box-container .fusion-mobile-button{display:none;float:none;}.fusion-reading-box-container .continue{display:block;}}@media only screen and (min-width: 800px){.sep-boxed-pricing .panel-wrapper{padding:0 12px;margin:0;}.fusion-pricing-table .standout .panel-container{z-index:1000;}.fusion-pricing-table .standout .panel-footer, .fusion-pricing-table .standout .panel-heading{padding:20px;}.full-boxed-pricing{padding:0 9px;background-color:#F8F8F8;}.full-boxed-pricing .panel-container{padding:9px 0;}.full-boxed-pricing .panel-wrapper:last-child .fusion-panel{border-right:1px solid #E5E4E3;}.full-boxed-pricing .fusion-panel{border-right:none;}.full-boxed-pricing .standout .panel-container{position:relative;box-sizing:content-box;margin:-10px -9px;padding:9px;box-shadow:0 0 6px 6px rgba(0, 0, 0, 0.08);background-color:#F8F8F8;}.full-boxed-pricing .standout .fusion-panel{border-right:1px solid #E5E4E3;}.full-boxed-pricing .standout .panel-heading h3{color:#65bc7b;}.sep-boxed-pricing{margin:0 -15px 20px;}.sep-boxed-pricing .standout .panel-container{margin:-10px;box-shadow:0 0 15px 5px rgba(0, 0, 0, 0.16);}.fusion-reading-box-container .fusion-desktop-button{display:block;}.fusion-reading-box-container .fusion-mobile-button{display:none;}.fusion-reading-box-container .continue-center{display:inline-block;}.fusion-reading-box-container .reading-box.reading-box-center{text-align:center;}.fusion-reading-box-container .reading-box.reading-box-right{text-align:right;}}