*:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)){all:unset;display:revert}*,*::before,*::after{box-sizing:border-box}a,button{cursor:revert}ol,ul,menu{list-style:none}img{max-width:100%}table{border-collapse:collapse}input,textarea{-webkit-user-select:auto}textarea{white-space:revert}meter{-webkit-appearance:revert;appearance:revert}::placeholder{color:unset}:where([hidden]){display:none}:where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}:where([draggable="true"]){-webkit-user-drag:element}
/* cyrillic-ext */
@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWV0ewIMUdjFXmSU_.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
  }
  /* cyrillic */
  @font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVQewIMUdjFXmSU_.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  }
  /* greek-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVwewIMUdjFXmSU_.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
  }
  /* greek */
  @font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVMewIMUdjFXmSU_.woff2) format('woff2');
    unicode-range: U+0370-03FF;
  }
  /* hebrew */
  @font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVIewIMUdjFXmSU_.woff2) format('woff2');
    unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
  }
  /* math */
  @font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWSwewIMUdjFXmSU_.woff2) format('woff2');
    unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
  }
  /* symbols */
  @font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWT4ewIMUdjFXmSU_.woff2) format('woff2');
    unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F10C, U+1F110-1F16C, U+1F170-1F190, U+1F19B-1F1AC, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F579, U+1F57B-1F594, U+1F597-1F5A3, U+1F5A5-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CB, U+1F6CD-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA74, U+1FA78-1FA7A, U+1FA80-1FA86, U+1FA90-1FAA8, U+1FAB0-1FAB6, U+1FAC0-1FAC2, U+1FAD0-1FAD6, U+1FB00-1FBFF;
  }
  /* vietnamese */
  @font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWV8ewIMUdjFXmSU_.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: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWV4ewIMUdjFXmSU_.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face { 
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAewIMUdjFXmQ.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* cyrillic-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
  }
  /* cyrillic */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  }
  /* greek-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
  }
  /* greek */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0370-03FF;
  }
  /* hebrew */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
  }
  /* math */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
  }
  /* symbols */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F10C, U+1F110-1F16C, U+1F170-1F190, U+1F19B-1F1AC, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F579, U+1F57B-1F594, U+1F597-1F5A3, U+1F5A5-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CB, U+1F6CD-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA74, U+1FA78-1FA7A, U+1FA80-1FA86, U+1FA90-1FAA8, U+1FAB0-1FAB6, U+1FAC0-1FAC2, U+1FAD0-1FAD6, U+1FB00-1FBFF;
  }
  /* vietnamese */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.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: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* cyrillic-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
  }
  /* cyrillic */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  }
  /* greek-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
  }
  /* greek */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0370-03FF;
  }
  /* hebrew */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
  }
  /* math */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
  }
  /* symbols */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F10C, U+1F110-1F16C, U+1F170-1F190, U+1F19B-1F1AC, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F579, U+1F57B-1F594, U+1F597-1F5A3, U+1F5A5-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CB, U+1F6CD-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA74, U+1FA78-1FA7A, U+1FA80-1FA86, U+1FA90-1FAA8, U+1FAB0-1FAB6, U+1FAC0-1FAC2, U+1FAD0-1FAD6, U+1FB00-1FBFF;
  }
  /* vietnamese */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.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: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* cyrillic-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
  }
  /* cyrillic */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  }
  /* greek-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
  }
  /* greek */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0370-03FF;
  }
  /* hebrew */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
  }
  /* math */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
  }
  /* symbols */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F10C, U+1F110-1F16C, U+1F170-1F190, U+1F19B-1F1AC, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F579, U+1F57B-1F594, U+1F597-1F5A3, U+1F5A5-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CB, U+1F6CD-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA74, U+1FA78-1FA7A, U+1FA80-1FA86, U+1FA90-1FAA8, U+1FAB0-1FAB6, U+1FAC0-1FAC2, U+1FAD0-1FAD6, U+1FB00-1FBFF;
  }
  /* vietnamese */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.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: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* cyrillic-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
  }
  /* cyrillic */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  }
  /* greek-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
  }
  /* greek */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0370-03FF;
  }
  /* hebrew */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
  }
  /* math */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
  }
  /* symbols */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F10C, U+1F110-1F16C, U+1F170-1F190, U+1F19B-1F1AC, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F579, U+1F57B-1F594, U+1F597-1F5A3, U+1F5A5-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CB, U+1F6CD-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA74, U+1FA78-1FA7A, U+1FA80-1FA86, U+1FA90-1FAA8, U+1FAB0-1FAB6, U+1FAC0-1FAC2, U+1FAD0-1FAD6, U+1FB00-1FBFF;
  }
  /* vietnamese */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.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: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* cyrillic-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
  }
  /* cyrillic */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  }
  /* greek-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
  }
  /* greek */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0370-03FF;
  }
  /* hebrew */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
  }
  /* math */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
  }
  /* symbols */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F10C, U+1F110-1F16C, U+1F170-1F190, U+1F19B-1F1AC, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F579, U+1F57B-1F594, U+1F597-1F5A3, U+1F5A5-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CB, U+1F6CD-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA74, U+1FA78-1FA7A, U+1FA80-1FA86, U+1FA90-1FAA8, U+1FAB0-1FAB6, U+1FAC0-1FAC2, U+1FAD0-1FAD6, U+1FB00-1FBFF;
  }
  /* vietnamese */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.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: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
  /* cyrillic-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
  }
  /* cyrillic */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
  }
  /* greek-ext */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
  }
  /* greek */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0370-03FF;
  }
  /* hebrew */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
  }
  /* math */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0330, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2034-2037, U+2057, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2102, U+210A-210E, U+2110-2112, U+2115, U+2119-211D, U+2124, U+2128, U+212C-212D, U+212F-2131, U+2133-2138, U+213C-2140, U+2145-2149, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B6, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
  }
  /* symbols */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F10C, U+1F110-1F16C, U+1F170-1F190, U+1F19B-1F1AC, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F579, U+1F57B-1F594, U+1F597-1F5A3, U+1F5A5-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CB, U+1F6CD-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8B1, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA74, U+1FA78-1FA7A, U+1FA80-1FA86, U+1FA90-1FAA8, U+1FAB0-1FAB6, U+1FAC0-1FAC2, U+1FAD0-1FAD6, U+1FB00-1FBFF;
  }
  /* vietnamese */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu0SC55K5gw.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: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
  }
  /* latin */
  @font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    font-stretch: 100%;
    font-display: swap;
    src: url(../../asset/font/google-fonts-opensans/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  }
@charset "utf-8";.fa{font-family:var(--fa-style-family,"Font Awesome 6 Pro");font-weight:var(--fa-style,900)}.fas,.fass,.far,.fasr,.fal,.fasl,.fat,.fast,.fad,.fadr,.fadl,.fadt,.fasds,.fasdr,.fasdl,.fasdt,.fab,.fa-solid,.fa-regular,.fa-light,.fa-thin,.fa-brands,.fa-classic,.fa-duotone,.fa-sharp,.fa-sharp-duotone,.fa{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-variant:normal;text-rendering:auto;font-style:normal;line-height:1}.fas:before,.fass:before,.far:before,.fasr:before,.fal:before,.fasl:before,.fat:before,.fast:before,.fad:before,.fadr:before,.fadl:before,.fadt:before,.fasds:before,.fasdr:before,.fasdl:before,.fasdt:before,.fab:before,.fa-solid:before,.fa-regular:before,.fa-light:before,.fa-thin:before,.fa-brands:before,.fa-classic:before,.fa-duotone:before,.fa-sharp:before,.fa-sharp-duotone:before,.fa:before{content:var(--fa)}.fad:after,.fa-duotone.fa-solid:after,.fa-duotone:after,.fadr:after,.fa-duotone.fa-regular:after,.fadl:after,.fa-duotone.fa-light:after,.fadt:after,.fa-duotone.fa-thin:after,.fasds:after,.fa-sharp-duotone.fa-solid:after,.fa-sharp-duotone:after,.fasdr:after,.fa-sharp-duotone.fa-regular:after,.fasdl:after,.fa-sharp-duotone.fa-light:after,.fasdt:after,.fa-sharp-duotone.fa-thin:after{content:var(--fa--fa)}.fa-classic.fa-duotone{font-family:"Font Awesome 6 Duotone"}.fass,.fa-sharp,.fad,.fa-duotone,.fasds,.fa-sharp-duotone{font-weight:900}.fa-classic,.fas,.fa-solid,.far,.fa-regular,.fal,.fa-light,.fat,.fa-thin{font-family:"Font Awesome 6 Pro"}.fa-duotone,.fad,.fadr,.fadl,.fadt{font-family:"Font Awesome 6 Duotone"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-sharp,.fass,.fasr,.fasl,.fast{font-family:"Font Awesome 6 Sharp"}.fa-sharp-duotone,.fasds,.fasdr,.fasdl,.fasdt{font-family:"Font Awesome 6 Sharp Duotone"}.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-2xs{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.08333em}.fa-sm{vertical-align:.05357em;font-size:.875em;line-height:.07143em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.04167em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-fw{text-align:center;width:1.25em}.fa-ul{margin-left:var(--fa-li-margin,2.5em);padding-left:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{left:calc(-1*var(--fa-li-width,2em));text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-transition-duration:0s;transition-duration:0s;-webkit-transition-delay:0s;transition-delay:0s;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-delay:-1ms;animation-delay:-1ms}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:matrix(1,0,0,1,0,0);transform:matrix(1,0,0,1,0,0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9))translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9))translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1))translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1))translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95))translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95))translateY(0)}57%{-webkit-transform:scale(1,1)translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1,1)translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:matrix(1,0,0,1,0,0);transform:matrix(1,0,0,1,0,0)}to{-webkit-transform:matrix(1,0,0,1,0,0);transform:matrix(1,0,0,1,0,0)}}@keyframes fa-bounce{0%{-webkit-transform:matrix(1,0,0,1,0,0);transform:matrix(1,0,0,1,0,0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9))translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9))translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1))translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1))translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95))translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95))translateY(0)}57%{-webkit-transform:scale(1,1)translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1,1)translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:matrix(1,0,0,1,0,0);transform:matrix(1,0,0,1,0,0)}to{-webkit-transform:matrix(1,0,0,1,0,0);transform:matrix(1,0,0,1,0,0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-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:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,0));transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{vertical-align:middle;width:2.5em;height:2em;line-height:2em;display:inline-block;position:relative}.fa-stack-1x,.fa-stack-2x{text-align:center;z-index:var(--fa-stack-z-index,auto);width:100%;position:absolute;left:0}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-check{--fa:"";--fa--fa:""}.fa-close{--fa:"";--fa--fa:""}.fa-exclamation{--fa:"!";--fa--fa:"!!"}.fa-info{--fa:"";--fa--fa:""}.fa-multiply{--fa:"";--fa--fa:""}.fa-question{--fa:"?";--fa--fa:"??"}.fa-remove{--fa:"";--fa--fa:""}.fa-spinner-third{--fa:"";--fa--fa:""}.fa-times,.fa-xmark{--fa:"";--fa--fa:""}.sr-only,.fa-sr-only,.sr-only-focusable:not(:focus),.fa-sr-only-focusable:not(:focus){clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Pro"}:host{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:300;font-display:block;src:url(../../asset/font/fontawesome-signup/fa-light-300.woff2)format("woff2"),url(../../asset/font/fontawesome-signup/fa-light-300.ttf)format("truetype")}.fal,.fa-light{font-weight:300}:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Pro"}:host{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:900;font-display:block;src:url(../../asset/font/fontawesome-signup/fa-solid-900.woff2)format("woff2"),url(../../asset/font/fontawesome-signup/fa-solid-900.ttf)format("truetype")}.fas,.fa-solid{font-weight:900}
html, body { height: auto; width: 100%; }
img, canvas, svg, object { display: block; max-width: 100%; }
:where(:root) { overflow-wrap: break-word; -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: none; text-size-adjust: none; }
:where(iframe) { border-style: none; }
:where(table) { border-collapse: collapse; text-indent: 0; }
:where(textarea) { resize: vertical; }
input, button, textarea, select { font: inherit; }
select { appearance: revert; }
a { cursor: pointer; }
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
dialog { all: revert; }
input[type="checkbox"], input[type="radio"] { appearance: auto; -webkit-appearance: auto; }
:root {

    --light-blue-rgb: 89, 163, 252; /* #59A3FC */
    --light-blue-colour: rgb(var(--light-blue-rgb));
    --blue-colour: #6080DC; 
    --green-rgb: 102, 198, 168; /* #66c6a8 */ 
    --green-colour: rgb(var(--green-rgb));    
    --red-rgb: 231, 81, 96; /* #e75160 */
    --red-colour: rgb(var(--red-rgb));    
    --orange-rgb: 255, 181, 108; /* #ffb56c */
    --orange-colour: rgb(var(--orange-rgb));

    --grey-50:  #FAFAFA;
    --grey-100: #F5F5F5;
    --grey-200: #E5E5E5;
    --grey-300: #D4D4D4;
    --grey-400: #A3A3A3;
    --grey-500: #737373;
    --grey-600: #525252;
    --grey-700: #404040;
    --grey-800: #262626;
    --grey-900: #171717;
    --grey-950: #0A0A0A;

    --font-size-3xs: 0.625rem;  /* 10px - tiny, use sparingly */
    --font-size-2xs: 0.6875rem; /* 11px - badges, small labels */
    --font-size-xs: 0.75rem;    /* 12px - subheaders, captions */
    --font-size-sm: 0.8125rem;  /* 13px - secondary text */
    --font-size-md: 0.875rem;   /* 14px - base body */
    --font-size-lg: 1rem;       /* 16px - card titles */
    --font-size-xl: 1.25rem;    /* 20px - page titles */
    --font-size-2xl: 1.5rem;    /* 24px - large numbers */
    --font-size-3xl: 2rem;      /* 32px - hero stats, rare */   

    --space-3xs: 0.125rem;  /* 2px */
    --space-2xs: 0.25rem;   /* 4px */
    --space-xs: 0.5rem;     /* 8px */
    --space-sm: 0.75rem;    /* 12px */
    --space-md: 1rem;       /* 16px */
    --space-lg: 1.5rem;     /* 24px */
    --space-xl: 2rem;       /* 32px */
    --space-2xl: 2.5rem;    /* 40px */
    --space-3xl: 3rem;      /* 48px */

    --border-radius-sm: 4px;
    --border-radius-md: 6px;
    --border-radius-lg: 8px;

    --text-primary-colour: var(--grey-900);
    --text-secondary-colour: var(--grey-600);
    --text-muted-colour: var(--grey-400);
    
    --border-colour: var(--grey-200);

    --link-colour: #6080DC;
    --link-hover-colour: var(--grey-700);

    --button-background-colour: #6080DC;
    --button-text-colour: #ffffff;
    --button-hover-background-colour: var(--grey-700);
    --button-hover-text-colour: #ffffff;

    --page-background-colour: var(--grey-50);
    --card-background-colour: #ffffff;

    --chart-data-colour: #1ab3a5;

    --input-background-colour: #ffffff;
    --input-border-colour: var(--grey-300);
    --input-text-colour: var(--text-primary-colour);

}

html { 
    height: 100%; 
    width: 100%; 
} 

body { 
    width: 100%; 
    height: 100%; 
    font-family: 'Open Sans', sans-serif; 
    line-height: 1.5;
    font-size: var(--font-size-md);
}

p {
    line-height: 1.5;
    color: var(--text-primary-colour);
    font-size: var(--font-size-md);
}

a { 
    color: var(--link-colour); 
    cursor: pointer; 
    text-decoration: none; 
}

a:hover { 
    color: var(--link-hover-colour); 
}

a:focus-visible {
    outline: 1px solid var(--grey-500);
    outline-offset: 2px;
}

hr {
    border: none;
    border-top: 1px solid var(--border-colour);
}

strong { 
    font-weight: 700; 
}

strike { 
    text-decoration: line-through; 
}

code { 
    font-family: Courier; 
    white-space: pre; 
    word-wrap: break-word; 
}

.text-colour-primary {
    color: var(--text-primary-colour);
}

.text-colour-secondary {
    color: var(--text-secondary-colour);
}

.text-colour-muted {
    color: var(--text-muted-colour);
}

.text-colour-positive {
    color: var(--green-colour);
}

.text-colour-negative {
    color: var(--red-colour);
}

.text-colour-warning {
    color: var(--orange-colour);
}

.text-weight-medium {
    font-weight: 500;
}

.text-weight-semibold {
    font-weight: 600;
}

.text-weight-bold {
    font-weight: 700;
}

.text-size-sm {
    font-size: var(--font-size-sm);
}

.text-size-md {
    font-size: var(--font-size-md);
}

.text-size-lg {
    font-size: var(--font-size-lg);
}

.text-size-xl {
    font-size: var(--font-size-xl);
}

.text-align-left {
    text-align: left;
}

.text-align-center {
    text-align: center;
}

.text-align-right {
    text-align: right;
}

.ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    display: block;
}

.grabbable {
    cursor: grab;
    user-select: none;
}

.grabbable:active {
    cursor: grabbing;
}

.wrap { 
    word-break: break-word; 
    overflow-wrap: break-word;
}

.no-wrap { 
    white-space: nowrap; 
}

.align-top { 
    align-items: flex-start !important; 
}

/* Future possibility for tooltip
.hint {
    text-decoration: underline dotted;
    text-underline-offset: 2px;
    cursor: help;
} 
*/

[hidden] {
    display: none !important;
}

.progress-message { 
    color: var(--text-secondary-colour);
}

.help-icon {
    color: var(--light-blue-colour);
}

.chip-cluster {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2xs);
}

.chip {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-3xs) var(--space-xs);
    font-size: var(--font-size-2xs);
    line-height: 1.3;
    color: var(--text-secondary-colour);
    border: 1px solid var(--border-colour);
    border-radius: var(--border-radius-lg);
    text-decoration: none;
    user-select: none;
    transition: border-color 0.15s, color 0.15s, background-color 0.15s;
}

.chip i {
    font-size: var(--font-size-xs);
    color: var(--text-muted-colour);
}

.icon-group {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
}

.icon-group[data-gap="xs"] {
    gap: var(--space-xs);
}

.icon-group[data-tone="positive"] {
    color: var(--green-colour);
}

.icon-group[data-tone="negative"] {
    color: var(--red-colour);
}

.icon-group i {
    margin-right: 0;
}

.icon-group img {
    height: 1.4em;
    display: inline-block;
    width: auto;
}

i.fa-youtube,
i.fa-youtube-square {
    color: #FF0000;
}

i.fa-vimeo-v,
i.fa-vimeo,
i.fa-vimeo-square {
    color: #1AB7EA;
}

.icon-list li {
    position: relative;
    padding-left: var(--space-md);
}

.icon-list li + li {
    margin-top: var(--space-2xs);
}

.icon-list li::before {
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 1px;
}

.icon-list li.tick::before {
    content: "\f00c";
}

.icon-list li.cross::before {
    content: "\f00d";
}

.icon-list li[data-tone="positive"]::before {
    color: var(--green-colour);
}

.icon-list li[data-tone="negative"]::before {
    color: var(--red-colour);
}

.icon-list-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2xs) var(--space-lg);
}

.video { 
    position: relative; 
    padding-bottom: 56.25%; 
    height: 0; 
    overflow: hidden; 
}

.video iframe { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
}

.layout {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.layout-body {
    display: flex;
    flex-direction: row;
    flex: 1;
    min-height: 0;
}

.top-bar {
    flex-shrink: 0;
    display: flex; 
    flex-direction: row; 
    justify-content: space-between;
    width: 100%;
    background: var(--grey-950);
    min-width: 1024px;
    align-items: center; 
}

.top-bar-left { 
    display: flex; 
    flex-direction: row; 
    align-items: center; 
}

.top-bar-logo { 
    padding: 10px var(--space-md); 
    flex-shrink: 0;
}

.top-bar-logo img { 
    height: 25px; 
} 

.top-bar-navigation {
    display: flex;
    flex-direction: row;
}

.top-bar-navigation-link {
    color: #fff;
    font-size: var(--font-size-md);
    display: flex;
    flex-direction: row;
    gap: var(--space-xs);
    align-items: center;    
    padding: var(--space-sm) var(--space-sm); 
    white-space: nowrap;
    user-select: none;
    transition: background-color 0.15s;
}

.top-bar-navigation-link:hover {
    background: var(--grey-700);
    color: #fff;
}

.top-bar-navigation-link[aria-current] {
    background: var(--grey-700);
}

.top-bar-navigation-dropdown {
    position: relative;
    display: inline-flex;
}

.top-bar-navigation-dropdown:hover a { 
    background: var(--grey-700); 
    box-shadow: none;
    color: #fff;    
}  

.top-bar-navigation-dropdown ul { 
    margin: 0; 
    padding: 0; 
    display: none; 
    position: absolute; 
    top: 100%;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.top-bar-navigation-dropdown:hover ul { 
    z-index: 100; 
    visibility: visible; 
    opacity: 1; 
    display: block; 
}

.top-bar-navigation-dropdown ul li { 
    margin: 0; 
    padding: 0;
    width: 100%; 
    white-space: nowrap; 
}

.top-bar-navigation-dropdown ul li a { 
    display: flex;
    align-items: center;
    gap: var(--space-xs); 
    padding: var(--space-xs) var(--space-sm); 
    text-decoration: none;
    color: #fff;
    font-size: var(--font-size-md);
    user-select: none;
}

.top-bar-navigation-dropdown ul li a:hover { 
    background: color-mix(in oklab, var(--grey-700) 85%, white);
}

body[data-layout="boxed"] {
    background: var(--blue-colour);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
}

body[data-layout="boxed"] .layout {
    width: 600px;
    min-height: 0;
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}

body[data-layout="boxed"] .top-bar {
    min-width: 0;
}

body[data-layout="boxed"] .layout-body {
    flex: 0 0 auto;
}

body[data-layout="boxed"] .version { 
    position: absolute; 
    color: #fff; 
    bottom: 0; 
    right: 0; 
    padding: 0 10px 10px 0;
}

body[data-layout="narrow"] .top-bar {
    min-width: 0;
    justify-content: center;
}

body[data-layout="narrow"] .page > * {
    max-width: 600px;
    width: 100%;
    margin-inline: auto;
}

body[data-layout="narrow"] .page-header {
    justify-content: center;
}

body[data-layout="narrow"] .page-title {
    text-align: center;
}

.side-bar {
    flex-shrink: 0;
    background: var(--blue-colour); 
    min-width: 150px;
}

.side-bar-title {
    color: #fff; 
    text-transform: uppercase; 
    font-weight: 700;
    font-size: var(--font-size-md);
    padding: var(--space-md) var(--space-md) var(--space-xs) var(--space-md);
}

.side-bar-navigation {
    display: flex;
    flex-direction: column;
}

.side-bar-navigation-link {
    color: #fff;
    font-size: var(--font-size-md);
    display: flex;
    flex-direction: row;
    gap: var(--space-xs);
    align-items: center;    
    padding: var(--space-xs) var(--space-lg) var(--space-xs) var(--space-md); 
    white-space: nowrap;
    user-select: none;
    transition: background-color 0.15s;
}

.side-bar-navigation-link:hover {
    background: color-mix(in oklab, var(--blue-colour) 85%, white);
    color: #fff;
}

.side-bar-navigation-link[aria-current] {
    background: color-mix(in oklab, var(--blue-colour) 85%, black);
    color: #fff;
}

.page {
    flex: 1;
    display: flex;
    flex-direction: column;
    background-color: var(--page-background-colour);
}

.page-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-lg) var(--space-lg) 0;
    flex-shrink: 0;
}

.page-breadcrumbs {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--font-size-md);
    color: var(--text-secondary-colour);
    padding: var(--space-lg) var(--space-lg) 0;
    flex-shrink: 0;
    flex-wrap: wrap;
}

.page-breadcrumbs + .page-header {
    padding-top: var(--space-sm);
}

a.page-breadcrumb-item {
    color: var(--link-colour);
    text-decoration: none;
}

a.page-breadcrumb-item:hover {
    color: var(--link-hover-colour);
}

.page-breadcrumb-separator::after {
    font-family: 'Font Awesome 6 Pro';
    content: '\f105';
    font-weight: 300;
    font-size: var(--font-size-xs);
}

.page-title {
    color: var(--text-primary-colour);
    font-size: var(--font-size-2xl);
    font-weight: 600; 
    line-height: 1.2;
}

.page-title:has(.archived) {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.page-title .archived {
    align-items: center;
    color: var(--text-muted-colour);
    font-weight: 300;
}

.page-title .archived::before {
    font-family: "Font Awesome 6 Pro";
    content: "\f187";
}

.page-subtitle {
    margin-top: var(--space-xs);
    font-size: var(--font-size-sm);
    color: var(--text-secondary-colour);
    font-weight: 400;
    line-height: 1.4;
}

.page-tab-navigation { 
    border-bottom: 1px solid var(--border-colour); 
    display: flex;
    gap: var(--space-lg);
}

.page-tab-navigation-link {
    font-size: var(--font-size-md);
    color: var(--link-colour);
    text-decoration: none;
    border-bottom: 3px solid transparent;
    padding: 0 0 var(--space-sm) 0;
    margin-bottom: -1px;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);    
    user-select: none;
    transition: color 0.15s, border-color 0.15s;
    white-space: nowrap;
}

.page-tab-navigation-link[aria-current] { 
    color: var(--text-primary-colour);
    font-weight: 500;
    border-bottom-color: var(--text-primary-colour);    
}

.page-tab-navigation-link:hover {
    color: var(--text-primary-colour);
}

.page-tab-navigation-link .count {
    color: var(--text-muted-colour);
}

.page-tab-navigation-dropdown {
    position: relative;
    display: inline-flex;
}

.page-tab-navigation-dropdown > .page-tab-navigation-link {
    cursor: default;
}

.page-tab-navigation-dropdown:has(ul a[aria-current]) > .page-tab-navigation-link {
    color: var(--text-primary-colour);
    font-weight: 500;
    border-bottom-color: var(--text-primary-colour);
}

.page-tab-navigation-dropdown ul {
    margin: 0;
    padding: 0;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: calc(-1 * var(--space-xs));
    background: var(--card-background-colour);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    font-size: var(--font-size-md);
}

.page-tab-navigation-dropdown:hover ul {
    z-index: 100;
    display: block;
}

.page-tab-navigation-dropdown ul li {
    list-style: none;
    margin: 0;
    padding: 0;
    white-space: nowrap;
}

.page-tab-navigation-dropdown ul li a {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    color: var(--link-colour);
    text-decoration: none;
    user-select: none;
}

.page-tab-navigation-dropdown ul li a:hover {
    color: var(--text-primary-colour);
}

.page-tab-navigation-dropdown ul li a[aria-current] {
    color: var(--text-primary-colour);
    font-weight: 500;
}

.page-tab-navigation-dropdown ul li a .count {
    color: var(--text-muted-colour);
}

.page-alerts {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-lg) var(--space-lg) 0 var(--space-lg);
}

.page-alerts:empty {
    display: none;
}

.page-body {
    padding: var(--space-lg);
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.page-footer {
    position: sticky;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-lg) var(--space-lg);
    background: var(--card-background-colour);
    border-top: 1px solid var(--border-colour);
    z-index: 10;
    box-shadow: none;
}

.is-scrollable .page-footer {
    box-shadow: 0 -8px 16px -8px rgba(0, 0, 0, 0.1);
    animation: hide-footer-shadow linear;
    animation-timeline: scroll(root);
    animation-range: 99% 100%;
}

@keyframes hide-footer-shadow {
    to {
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
}

.page:has(.page-footer) .page-body {
    padding-bottom: var(--space-lg);
}

.grid {
    display: grid;
    gap: var(--grid-gap, var(--space-md));
}

.grid > * {
    min-width: 0;
}

.grid[data-cols="1"] {
    grid-template-columns: 1fr;
}

.grid[data-cols="2"] {
    grid-template-columns: repeat(2, 1fr);
}

.grid[data-cols="3"] {
    grid-template-columns: repeat(3, 1fr);
}

.grid[data-cols="4"] {
    grid-template-columns: repeat(4, 1fr);
}

.grid[data-cols="5"] {
    grid-template-columns: repeat(5, 1fr);
}

.grid[data-cols="auto"] {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}

.grid[data-layout="2-1"] {
    grid-template-columns: 2fr 1fr;
}

.grid[data-layout="1-2"] {
    grid-template-columns: 1fr 2fr;
}

.grid[data-layout="3-1"] {
    grid-template-columns: 3fr 1fr;
}

.grid[data-layout="1-3"] {
    grid-template-columns: 1fr 3fr;
}

.grid[data-layout="1-1-2"] {
    grid-template-columns: 1fr 1fr 2fr;
}

.stack {
    display: flex;
    flex-direction: column;
    gap: var(--stack-gap, var(--space-md));
}

.stack[data-gap="lg"] {
    gap: var(--space-lg);
}

.stack[data-gap="xl"] {
    gap: var(--space-xl);
}

.card {
    background-color: var(--card-background-colour);
    border: 1px solid var(--border-colour);
    border-radius: var(--border-radius-lg);
    --card-padding: var(--space-md);
}

.card[data-padding="lg"] { 
    --card-padding: var(--space-lg); 
}

.card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md);
    border-bottom: 1px solid var(--border-colour);
}

.card-header[data-border="none"] {
    border-bottom: none;
    padding-bottom: 0;
}

.card[data-padding="lg"] .card-header {
    padding: var(--card-padding);
}

.card-title {
    font-size: var(--font-size-lg);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.card-title .optional {
    display: inline-block;
    padding: var(--space-3xs) var(--space-2xs);
    font-size: var(--font-size-3xs);
    font-weight: 400;
    color: var(--grey-500);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--grey-300);
    line-height: 1;
    text-transform: uppercase;
    position: relative;
    top: 1px;    
    user-select: none;
}

.card-subtitle {
    font-size: var(--font-size-sm);
    color: var(--text-secondary-colour);
    margin-top: var(--space-xs);
    line-height: 1;
}

.card-tab-navigation {
    display: flex;
    gap: var(--space-lg);
    padding-top: var(--space-md);
    margin-bottom: calc(var(--space-md) * -1 - 1px);
}

.card-tab-navigation-link {
    font-size: var(--font-size-xs);
    color: var(--link-colour);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    padding: 0 0 var(--space-xs) 0;
    user-select: none;
    transition: color 0.15s, border-color 0.15s;
}

.card-tab-navigation-link:hover {
    color: var(--text-primary-colour);
}

.card-tab-navigation-link[aria-current] {
    color: var(--text-primary-colour);
    font-weight: 500;
    border-bottom-color: var(--text-primary-colour);
}

.card-body {
    padding: var(--card-padding);
}

.card-body[data-padding="none"] {
    padding: 0;
}

.card-body[data-padding="none"]:first-child {
    border-top-left-radius: var(--border-radius-lg);
    border-top-right-radius: var(--border-radius-lg);
    overflow: hidden;
}

.card-body[data-padding="none"]:last-child {
    border-bottom-left-radius: var(--border-radius-lg);
    border-bottom-right-radius: var(--border-radius-lg);
    overflow: hidden;
}

.card-body[data-layout="split"] {
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
}

.card-body[data-layout="split"] > * {
    padding: var(--card-padding);
}

.card-body[data-layout="split"] > [data-padding="none"] {
    padding: 0;
    overflow: hidden;
}

.card-body[data-layout="split"]:first-child > [data-padding="none"]:first-child {
    border-top-left-radius: var(--border-radius-lg);
}

.card-body[data-layout="split"]:first-child > [data-padding="none"]:last-child {
    border-top-right-radius: var(--border-radius-lg);
}

.card-body[data-layout="split"]:last-child > [data-padding="none"]:first-child {
    border-bottom-left-radius: var(--border-radius-lg);
}

.card-body[data-layout="split"]:last-child > [data-padding="none"]:last-child {
    border-bottom-right-radius: var(--border-radius-lg);
}

.card-body[data-layout="split"] > :first-child:has(+ :not([hidden])) {
    border-right: 1px solid var(--border-colour);
}

.card-body[data-layout="split"] > [data-sticky] {
    flex: 1;
    position: sticky;
    top: 0;
    align-self: flex-start;
}

.card-body-breakout {
    margin-left: calc(var(--card-padding) * -1);
    margin-right: calc(var(--card-padding) * -1);
}

.card-body-breakout th:first-child,
.card-body-breakout td:first-child {
    padding-left: var(--card-padding);
}

.card-body-breakout th:last-child,
.card-body-breakout td:last-child {
    padding-right: var(--card-padding);
}

.card-body-breakout .dataTables_filter {
    padding-left: var(--card-padding);
    padding-right: var(--card-padding);
}

.card-body-breakout .dataTables_footer {
    padding-left: var(--card-padding);
    padding-right: var(--card-padding);
}

.card-footer {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-md);
    padding: var(--card-padding);
    border-top: 1px solid var(--border-colour);
}

.empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-md);
}

.empty i {
    font-size: 6em;
    color: var(--grey-200);
}

.empty p {
    font-size: var(--font-size-lg);
    color: var(--grey-300);
}

.cluster {
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--cluster-gap, var(--space-lg));
    row-gap: calc(var(--cluster-gap, var(--space-lg)) / 2);
}

.list {
    display: flex;
    flex-direction: column;
}

.list-item {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    font-size: var(--font-size-md);
    border-bottom: 1px solid var(--border-colour);
    color: var(--text-primary-colour);
    text-decoration: none;
    transition: background 0.1s;
}

.list-item:last-child {
    border-bottom: none;
}

a.list-item:hover {
    background: var(--page-background-colour);
}

.list-item-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-3xs);
    min-width: 0;
}

.list-item-icon {
    flex-shrink: 0;
    line-height: 1.5;
}

.list-item-title {
    font-size: var(--font-size-md);
    color: var(--text-primary-colour);
}

.list-item-subtitle {
    font-size: var(--font-size-xs);
    color: var(--text-muted-colour);
}

.statistic-cluster {
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--space-xl);
    row-gap: calc(var(--space-xl) / 2);
}

.statistic {
    display: flex;
    flex-direction: column;
    gap: var(--space-3xs);
}

.statistic-label {
    font-size: var(--font-size-xs);
    color: var(--text-secondary-colour);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.statistic-value {
    font-size: var(--font-size-2xl);
    font-weight: 600; 
    line-height: 1.2; 
    color: var(--text-primary-colour);
}

.data-item-cluster {
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--space-2xl);
    row-gap: calc(var(--space-2xl) / 2);
}

.data-item-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.data-item-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    width: fit-content;
}

.data-item-list .data-item {
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-lg);
}

.data-item-list .data-item-value {
    text-align: right;
}

.data-item {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
}

.data-item-label {
    font-size: var(--font-size-xs);
    color: var(--text-muted-colour);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.data-item-value {
    font-size: var(--font-size-sm);
    color: var(--text-primary-colour);
    line-height: 1.5;
}

.button-stack {
    display: flex;
    flex-direction: column;
    row-gap: var(--space-sm);
    align-items: center;
}

.button-stack .button {
    width: 100%;
    justify-content: center;
}

.button-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: var(--space-xs);
    row-gap: calc(var(--space-xs) / 2);
}

.button-stack .cancel,
.button-cluster .cancel {
    font-size: var(--font-size-md);
}

.button-stack .cancel::before,
.button-cluster .cancel::before {
    content: "or ";
    color: var(--text-muted-colour);
    margin-right: var(--space-3xs);
    font-size: var(--font-size-md);
}

.button,
.form-field-file-input::file-selector-button {
    display: inline-flex;
    flex-direction: row;
    gap: var(--space-xs);
    align-items: center;
    font-size: var(--font-size-md);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--border-radius-sm);
    background: var(--button-background-colour);
    color: var(--button-text-colour);
    line-height: 1.3;
    user-select: none;
    white-space: nowrap;
    cursor: pointer;
    border: none;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.button:focus-visible{ 
    outline: 1px solid var(--grey-500);     
}

.button:hover,
.form-field-file-input::file-selector-button:hover { 
    background: var(--button-hover-background-colour); 
    color: var(--button-text-colour); 
}

.button.disabled,
.button:disabled { 
    opacity: 0.5; 
    cursor: not-allowed;
    pointer-events: none;    
}

.button:active,
.form-field-file-input::file-selector-button:active {
    box-shadow: inset 0 0 5px var(--grey-500);
}

.button[data-size="xs"] {
    padding: var(--space-2xs) calc(var(--space-3xs) + var(--space-2xs));
    font-size: var(--font-size-xs);
    line-height: 1.2;
    gap: var(--space-3xs);
}

.button[data-size="xs"] i {
    line-height: 1.2;
}

.button[data-size="sm"],
.form-field-file-input::file-selector-button {
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--font-size-sm);
    line-height: 1;
}

.button[data-size="lg"] {
    padding: var(--space-sm) var(--space-md);
}

.button[data-tone="negative"] {
    --button-background-colour: var(--red-colour);
}

.button[data-tone="neutral"] {
    --button-background-colour: var(--grey-400);
}

.button[data-tone="positive"] {
    --button-background-colour: var(--green-colour);
}

.button[data-variant="secondary"],
.form-field-file-input::file-selector-button {
    background: #fff;
    color: var(--button-background-colour);
    box-shadow: inset 0 0 0 1px var(--button-background-colour);
}

.button[data-variant="secondary"]:hover,
.form-field-file-input::file-selector-button:hover {
    background: var(--button-hover-background-colour);
    color: var(--button-hover-text-colour);
    box-shadow: none;
}

.button-dropdown {
    position: relative;
    display: inline-flex;
    padding-bottom: 5px;
    margin-bottom: -5px;
}

.button-dropdown:hover a { 
    background: var(--button-hover-background-colour); 
    box-shadow: none;
    color: var(--button-text-colour);    
}  

.button-dropdown ul {
    margin: 0;
    padding: 0;
    display: none;
    position: absolute;
    top: 100%;
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    font-size: var(--font-size-md);
}

.button-dropdown[data-align="right"] ul {
    right: 0;
}

.button-dropdown:hover ul {
    z-index: 100; 
    visibility: visible; 
    opacity: 1; 
    display: block; 
}

.button-dropdown ul li { 
    margin: 0; 
    padding: 0;
    width: 100%; 
    white-space: nowrap; 
}

.button-dropdown ul li a { 
    display: flex;
    align-items: center;
    gap: var(--space-xs); 
    padding: var(--space-xs) var(--space-sm); 
    text-decoration: none;
    color: var(--button-hover-text-colour);
    user-select: none;
}

.button-dropdown ul li a:hover { 
    background: color-mix(in oklab, var(--button-hover-background-colour) 85%, white);
}

.button-dropdown:has(.button[data-size="xs"]) {
    padding-bottom: 3px;
    margin-bottom: -3px;
}

.button-dropdown:has(.button[data-size="xs"]) ul { 
    font-size: var(--font-size-2xs);
    border-radius: var(--border-radius-sm);
}

.button-dropdown:has(.button[data-size="xs"]) ul li a { 
    gap: var(--space-2xs); 
    padding: var(--space-2xs) var(--space-xs);
}

.datatable-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.datatable-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.datatable-title {
    font-size: var(--font-size-lg);
    font-weight: 500;
}

.datatable-search {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-xs);
}

.dataTables_wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--space-md); 
}

.dataTables_filter input {
    width: 100%;
}

.datatable { 
    width: 100%;
}

.datatable[data-sticky-head] thead {
    position: sticky;
    top: 0;
    z-index: 1;
}

.datatable[data-sticky-head] thead tr {
    border-top: none;
    border-bottom: none;
}

.datatable[data-sticky-head] thead th {
    box-shadow: 
        inset 0 1px 0 var(--border-colour),
        inset 0 -1px 0 var(--border-colour);
}

.datatable thead tr {
    border-bottom: 1px solid var(--border-colour);
    border-top: 1px solid var(--border-colour);
}

.datatable thead th { 
    background: var(--grey-50);
    text-transform: uppercase; 
    font-size: var(--font-size-sm);
    color: var(--text-secondary-colour);
    letter-spacing: 0.05em;
    font-weight: 700;
    padding: var(--space-xs) var(--space-sm); 
    vertical-align: middle;     
    position: relative; 
    user-select: none; 
}

.datatable thead th .form-field-checkbox-input { 
    margin: 0; 
}

.datatable thead th.sorting_asc, 
.datatable thead th.sorting_desc, 
.datatable thead th.sorting { 
    cursor: pointer; 
}

.datatable thead th.sorting:after, 
.datatable thead th.sorting_asc:after, 
.datatable thead th.sorting_desc:after { 
    margin-left: var(--space-2xs); 
    display: inline-block; 
    font-family: "Font Awesome 6 Pro"; 
}

.datatable thead th.sorting:after { 
    content: "\f0dc";
    color: var(--text-muted-colour);
}

.datatable thead th.sorting_asc:after { 
    content: "\f0de"; 
}

.datatable thead th.sorting_desc:after { 
    content: "\f0dd"; 
}

.datatable th.no-side-padding,
.datatable td.no-side-padding { 
    padding-left: 0; 
    padding-right: 0; 
} 

.datatable td.no-side-padding + td.no-side-padding { 
    padding-left: var(--space-2xs);
}

.datatable tbody tr {
    border-bottom: 1px solid var(--border-colour);
    background: #fff;
    transition: background-color 0.1s;
}

.datatable tbody tr:hover { 
    background: var(--grey-50); 
}

.datatable tbody tr[data-id] { 
    cursor: pointer; 
}

.datatable tbody tr.not-clickable { 
    cursor: initial; 
}

.datatable tbody td .loading { 
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    padding: var(--space-sm) 0;
    gap: var(--space-xs);    
}

.datatable tbody tr[data-state="highlighted"] td:first-child {
    box-shadow: inset 4px 0 0 var(--green-colour);
}

.datatable td { 
    padding: var(--space-xs) var(--space-sm); 
    vertical-align: top; 
    color: var(--grey-700); 
    font-size: var(--font-size-md);
}

.datatable td.no-click { 
    cursor: default; 
}

.datatable td.grabbable { 
    color: var(--text-muted-colour); 
}

.datatable td.if-empty-na:empty::before { 
    color: var(--text-muted-colour); 
    content: "n/a"; 
}

.datatable td.if-empty-empty:empty::before { 
    color: var(--text-muted-colour); 
    content: "Empty"; 
}

.datatable td.if-empty-none-negative:empty::before { 
    color:var(--red-colour); 
    content: "None"; 
}

.datatable td.if-empty-unlimited:empty::before { 
    color: var(--text-muted-colour); 
    content: "Unlimited"; 
}

.datatable td.if-empty-unknown:empty::before { 
    color: var(--text-muted-colour); 
    content: "Unknown"; 
}

.datatable td .xero-logo { 
    width: 18px;
    margin-top: 2px; 
    max-width: none;
}

.datatable td .status-cluster { 
    margin-top: 2px;
}

.datatable td .button-cluster {
    flex-wrap: nowrap;
}

.datatable tfoot td.border { 
    border-bottom: 1px solid var(--border-colour);  
} 

.datatable tfoot td.double-border { 
    border-bottom: 4px double var(--border-colour); 
}

.datatable tfoot td.bold-border { 
    border-bottom: 1px solid var(--border-colour); 
}

.datatable tfoot td.bold-border-top { 
    border-top: 1px solid var(--border-colour); 
}

.dataTables_footer { 
    display: flex; 
    flex-direction: row; 
    justify-content: space-between; 
    align-items: center; 
}

.dataTables_actions {
    display: flex;
    flex-direction: row;
    gap: var(--space-2xs);
    align-items: center;
}

.dataTables_actions .form-field-select-input { 
    width: 200px; 
} 

.dataTables_footer .right { 
    display: flex; 
    flex-direction: row; 
    align-items: center; 
    gap: var(--space-xl);
}

.dataTables_info { 
    font-size: var(--font-size-sm);
    color: var(--text-secondary-colour);
}

.dataTables_length { 
    display: flex; 
    flex-direction: row; 
    align-items: center;
    font-size: var(--font-size-sm);
    color: var(--text-secondary-colour);
}

.dataTables_paginate { 
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-xs);
}

.dataTables_paginate a.paginate_button { 
    display: inline-block; 
    font-weight: bold; 
    position: relative; 
    font-size: var(--font-size-2xl); 
    color: var(--link-colour); 
    line-height: 1;
    cursor: pointer;
    user-select: none;
}

.dataTables_paginate a.paginate_button.disabled { 
    color: var(--text-muted-colour); 
    cursor: initial; 
}

.dataTables_paginate a.previous:before,
.dataTables_paginate a.next:after { 
    display: block; 
    font-family: "Font Awesome 6 Pro"; 
}

.dataTables_paginate a.previous:before { 
    content: "\f355"; 
}

.dataTables_paginate a.next:after { 
    content: "\f356"; 
}

.dataTables_paginate a:hover { 
    color: var(--link-hover-colour); 
}

table.dt-rowReorder-float { 
    position: absolute !important;
    opacity: 0.8; 
    table-layout: fixed;
    outline: 2px solid var(--grey-500);
    outline-offset: -2px;
    z-index: 2001; 
}

.datatable tbody tr.dt-rowReorder-moving { 
    outline: 2px solid var(--grey-500);
    outline-offset: -2px;
    background: var(--grey-100);
}

body.dt-rowReorder-noOverflow {
    overflow-x: hidden;
}

table.dataTable td.reorder { 
    cursor: move; 
}

.dtfh-floatingparent thead th { 
    border-top: none; 
}

.dtfh-floatingparent { 
    height: auto !important; 
}

.table-cell-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.table-cell-note {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    font-size: var(--font-size-sm);
    color: var(--text-secondary-colour);
    padding-left: var(--space-sm);
    border-left: 3px solid var(--border-colour);
}

.table-cell-note-label {
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
}

.table-cell-note-body {
    font-size: var(--font-size-sm);
    font-style: italic;
}

.price-note {
    display: block;
    font-size: var(--font-size-2xs);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--text-muted-colour);
    margin-top: 2px;
}

.status-cluster {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
}

.status {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    font-size: var(--font-size-2xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: var(--space-2xs) calc(var(--space-3xs) + var(--space-2xs));
    border-radius: var(--border-radius-sm);
    line-height: 1;
}

.status[data-tone="positive"] {
    background-color: var(--green-colour);
    color: #fff;
}

.status[data-tone="warning"] {
    background-color: var(--orange-colour);
    color: #fff;
}

.status[data-tone="negative"] {
    background-color: var(--red-colour);
    color: #fff;
}

.status[data-tone="neutral"] {
    background-color: var(--grey-400);
    color: #fff;
}

.status[data-tone="info"] {
    background-color: var(--light-blue-colour);
    color: #fff;
}

.status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    line-height: 1;
    user-select: none;
}

.status-dot[data-tone="positive"] {
    background-color: var(--green-colour);
    box-shadow: 0 0 0 0 var(--green-colour);
}

.status-dot[data-tone="warning"] {
    background-color: var(--orange-colour);
    box-shadow: 0 0 0 0 var(--orange-colour);
}

.status-dot[data-tone="negative"] {
    background-color: var(--red-colour);
    box-shadow: 0 0 0 0 var(--red-colour);
}

.status-dot[data-tone="warning"][data-animated="true"] {
    animation: status-dot-pulse-warning 2s infinite;
}

.status-dot[data-tone="negative"][data-animated="true"] {
    animation: status-dot-pulse-negative 2s infinite;
}

@keyframes status-dot-pulse-warning {
    0%  { box-shadow: 0 0 0 0 rgba(var(--orange-rgb), 0.6); }
    70% { box-shadow: 0 0 0 8px rgba(var(--orange-rgb), 0); }
    100%{ box-shadow: 0 0 0 0 rgba(var(--orange-rgb), 0); }
}

@keyframes status-dot-pulse-negative {
    0%  { box-shadow: 0 0 0 0 rgba(var(--red-rgb), 0.6); }
    70% { box-shadow: 0 0 0 8px rgba(var(--red-rgb), 0); }
    100%{ box-shadow: 0 0 0 0 rgba(var(--red-rgb), 0); }
}

@media (prefers-reduced-motion: reduce) {
    .status-dot[data-animated="true"] {
        animation: none;
    }
}

.highlight[data-tone="positive"] {
    color: var(--green-colour);
    font-weight: 600;
}

.highlight[data-tone="negative"] {
    color: var(--red-colour);
    font-weight: 600;
}

.highlight[data-tone="warning"] {
    color: var(--orange-colour);
    font-weight: 600;
}

.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-xs);
    font-weight: 500;
    line-height: 1;
    padding: var(--space-2xs) calc(var(--space-3xs) + var(--space-2xs));
    border-radius: var(--border-radius-sm);
}

.badge[data-tone="positive"] {
    background-color: var(--green-colour);
    color: #fff;
}

.badge[data-tone="warning"] {
    background-color: var(--orange-colour);
    color: #fff;
}

.badge[data-tone="negative"] {
    background-color: var(--red-colour);
    color: #fff;
}

.badge[data-tone="neutral"] {
    background-color: var(--grey-400);
    color: #fff;
}

.panel {
    padding: var(--space-md);
    border-radius: var(--border-radius-md);
}

.panel[data-tone="subtle"] {
    background: var(--grey-50);
}

.filters {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

.filters-heading {
    color: var(--text-secondary-colour);
    font-weight: 500;
    font-size: var(--font-size-sm);
}

.filter {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-2xs) var(--space-xs);
    background: var(--grey-100);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-xs);
    line-height: 1.2;
}

.filter-name {
    color: var(--text-secondary-colour);
}

.filter-name::after {
    content: ":";
    color: var(--text-secondary-colour);
}

.filter-value {
    color: var(--text-primary-colour);
    font-weight: 500;
}

.filter a {
    display: inline-flex;
    align-items: center;
    color: var(--text-muted-colour);
    text-decoration: none;
    user-select: none;
}

.filter a:hover {
    color: var(--text-primary-colour);
}

.filter a i {
    font-size: var(--font-size-xs);
}

.filters-clear-all {
    color: var(--text-muted-colour);
    font-size: var(--font-size-sm);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    text-decoration: none;
    user-select: none;
}

.filters-clear-all i {
    font-size: var(--font-size-xs);
}

.filters-clear-all:hover {
    color: var(--text-primary-colour);
}

.form-section {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: var(--space-3xl);
}

.form-section-header {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.form-section-title {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--text-primary-colour);
    display: flex;
    align-items: center;
    gap: var(--space-xs);    
    line-height: 1.2;
}

.form-section-title .optional {
    display: inline-block;
    padding: var(--space-3xs) var(--space-2xs);
    font-size: var(--font-size-3xs);
    font-weight: 400;
    color: var(--grey-500);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--grey-300);
    line-height: 1;
    text-transform: uppercase;
    position: relative;
    top: 1px;   
    user-select: none; 
}

.form-section-subtitle {
    font-size: var(--font-size-md);
    color: var(--text-muted-colour);
    line-height: 1.5;
}

.form-field-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.form-field-stack[data-gap="sm"] {
    gap: var(--space-sm);
}

.form-field-stack[data-gap="md"] {
    gap: var(--space-md);
}

.form-field-stack[data-gap="lg"] {
    gap: var(--space-lg);
}

.form-field-cluster {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    align-items: flex-start;
}

.form-field[data-orientation="horizontal"] {
    flex-direction: row;
    align-items: center;
    gap: var(--space-sm);
}

.form-field:has(.form-field-value),
.form-field:has(.form-field-help) {
    gap: var(--space-xs);
}

.form-field-label {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--font-size-md);
    font-weight: 600;
    color: var(--text-primary-colour);
    line-height: 1;
    cursor: default;
}

.form-field[data-orientation="horizontal"] .form-field-label {
    font-size: var(--font-size-md);
    color: var(--text-primary-colour);
    font-weight: 400;
    line-height: 1.5;
}

.form-field .optional {
    display: inline-block;
    padding: var(--space-3xs) var(--space-2xs);
    font-size: var(--font-size-3xs);
    font-weight: 400;
    color: var(--grey-500);
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--grey-300);
    line-height: 1;
    text-transform: uppercase;
    position: relative;
    top: 1px;    
    user-select: none;
}

.form-field-help {
    font-size: var(--font-size-sm);
    color: var(--text-muted-colour);
    line-height: 1.5;
}

input[type="search"]::-webkit-search-cancel-button {
    filter: grayscale(100%);
}

.dataTables_filter input,
.form-field-text-input {
    padding: calc(var(--space-3xs) + var(--space-xs)) var(--space-sm);
    font-size: var(--font-size-md);
    font-family: 'Open Sans', sans-serif;
    color: var(--input-text-colour);
    background: var(--input-background-colour);
    border: 1px solid var(--input-border-colour);
    border-radius: var(--border-radius-sm);
    line-height: 1.5;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.dataTables_filter input::placeholder,
.form-field-text-input::placeholder {
    color: var(--text-muted-colour);
}

.form-field-text-input:hover {
    border-color: var(--grey-500);
}

.form-field-text-input:focus {
    border-color: var(--grey-500); 
    outline: none;
}

.form-field-text-input:disabled {
    background: var(--grey-100);
    color: var(--text-muted-colour);
    cursor: not-allowed;
}

.form-field-text-input[aria-invalid="true"] {
    border: 2px solid var(--red-colour); 
}

.form-field-text-input[aria-invalid="true"]:focus {
    border: 2px solid var(--red-colour); 
}

.form-field-textarea-input {
    padding: var(--space-xs);
    font-size: var(--font-size-md);
    font-family: 'Open Sans', sans-serif;
    color: var(--input-text-colour);
    background: var(--input-background-colour);
    border: 1px solid var(--input-border-colour);
    border-radius: var(--border-radius-sm);
    line-height: 1.5;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
    min-height: 80px;
    resize: vertical;
}

.form-field-textarea-input::placeholder {
    color: var(--text-muted-colour);
}

.form-field-textarea-input:hover {
    border-color: var(--grey-500);
}

.form-field-textarea-input:focus {
    border-color: var(--grey-500);
    outline: none;
}

.form-field-textarea-input:disabled {
    background: var(--grey-100);
    color: var(--text-muted-colour);
    cursor: not-allowed;
    resize: none;
}

.form-field-textarea-input[aria-invalid="true"] {
    border: 2px solid var(--red-colour);
}

.form-field-textarea-input[aria-invalid="true"]:focus {
    border: 2px solid var(--red-colour);
}

.dataTables_length select,
.form-field-select-input {
    padding: calc(var(--space-3xs) + var(--space-xs));
    font-size: var(--font-size-md);
    font-family: 'Open Sans', sans-serif;
    color: var(--input-text-colour);
    background: var(--input-background-colour);
    border: 1px solid var(--input-border-colour);
    border-radius: var(--border-radius-sm);
    transition: border-color 0.15s, box-shadow 0.15s;
    cursor: pointer;
}

.dataTables_length select,
.form-field-select-input[data-size="sm"] {
    padding: var(--space-2xs);
    font-size: var(--font-size-sm);
}

.form-field-select-input:hover {
    border-color: var(--grey-500);
}

.form-field-select-input:focus {
    border-color: var(--grey-500);
    outline: none;
}

.form-field-select-input:disabled {
    background: var(--grey-100);
    color: var(--text-muted-colour);
    cursor: not-allowed;
}

.form-field-select-input::placeholder {
    color: var(--text-muted-colour);
}

.form-field-select-input[aria-invalid="true"] {
    border: 2px solid var(--red-colour);
}

.form-field-select-input[aria-invalid="true"]:focus {
    border: 2px solid var(--red-colour);
}

.select2-selection[aria-invalid="true"] {
    border: 2px solid var(--red-colour);
}

.form-field-checkbox-cluster {
    display: flex;
    flex-direction: row;
    gap: var(--space-lg);
}

.form-field-checkbox-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.form-field-checkbox-stack:empty {
    display: none;
}

.form-field-checkbox {
    display: flex;
    align-items: flex-start;
    gap: var(--space-xs);
}

.form-field-checkbox-input {
    accent-color: var(--grey-600);
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    cursor: pointer;
    margin-top: 2px;
    display: block;
}

.form-field-checkbox-input:disabled {
    cursor: not-allowed;
}

.form-field-checkbox-input:focus-visible {
    outline: 1px solid var(--grey-500);
    outline-offset: 2px;
}

.form-field-checkbox-input[aria-invalid="true"] {
    outline: 2px solid var(--red-colour);
    outline-offset: 2px;
}

.form-field-checkbox-label {
    font-size: var(--font-size-md);
    color: var(--text-primary-colour);
    line-height: 1.5;
    cursor: pointer;
    user-select: none;
}

.form-field-checkbox-label:has(.optional) {
    display: flex;
    flex-direction: row;
    gap: var(--space-xs);
    align-items: center;
}

.form-field-checkbox-input:disabled ~ * .form-field-checkbox-label,
.form-field-checkbox-input:disabled + .form-field-checkbox-label {
    color: var(--text-muted-colour);
    cursor: not-allowed;
}

.form-field-checkbox-help {
    font-size: var(--font-size-sm);
    color: var(--text-muted-colour);
    line-height: 1.5;
    margin-top: 2px;
}

.form-field-radio-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.form-field-radio-stack:empty {
    display: none;
}

.form-field-radio-cluster {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: var(--space-md);
}

.form-field-radio {
    display: flex;
    align-items: flex-start;
    gap: var(--space-xs);
}

.form-field-radio-input {
    accent-color: var(--grey-600);
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    cursor: pointer;
    margin-top: 2px;
    display: block;
}

.form-field-radio-input:disabled {
    cursor: not-allowed;
}

.form-field-radio-input:focus-visible {
    outline: 1px solid var(--grey-500);
    outline-offset: 2px;
}

.form-field-radio-input[aria-invalid="true"] {
    outline: 2px solid var(--red-colour);
    outline-offset: 2px;
}

.form-field-radio-label {
    font-size: var(--font-size-md);
    color: var(--text-primary-colour);
    line-height: 1.5;
    cursor: pointer;
    user-select: none;
}

.form-field-radio-input:disabled ~ * .form-field-radio-label,
.form-field-radio-input:disabled + .form-field-radio-label {
    color: var(--text-muted-colour);
    cursor: not-allowed;
}

.form-field-radio-help {
    font-size: var(--font-size-sm);
    color: var(--text-muted-colour);
    line-height: 1.5;
    margin-top: 2px;
}

.form-field-input-group {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.form-field-input-prefix,
.form-field-input-suffix {
    color: var(--text-secondary-colour);
    font-size: var(--font-size-md);
    flex-shrink: 0;
}

.form-field-input-group[data-variant="bordered"] {
    gap: 0;
    align-items: stretch;
    border: 1px solid var(--input-border-colour);
    border-radius: var(--border-radius-sm);
    background: var(--input-background-colour);
    overflow: hidden;
    transition: border-color 0.15s;
}

.form-field-input-group[data-variant="bordered"]:hover,
.form-field-input-group[data-variant="bordered"]:focus-within {
    border-color: var(--grey-500);
}

.form-field-input-group[data-variant="bordered"]:has([aria-invalid="true"]) {
    border: 2px solid var(--red-colour);
}

.form-field-input-group[data-variant="bordered"] .form-field-text-input,
.form-field-input-group[data-variant="bordered"] .form-field-select-input {
    border: none;
    border-radius: 0;
    background: transparent;
    flex: 1;
    min-width: 0;
}

.form-field-input-group[data-variant="bordered"] .form-field-text-input:hover,
.form-field-input-group[data-variant="bordered"] .form-field-text-input:focus,
.form-field-input-group[data-variant="bordered"] .form-field-select-input:hover,
.form-field-input-group[data-variant="bordered"] .form-field-select-input:focus {
    border: none;
}

.form-field-input-group[data-variant="bordered"] .form-field-text-input[aria-invalid="true"],
.form-field-input-group[data-variant="bordered"] .form-field-select-input[aria-invalid="true"] {
    border: none;
}

.form-field-input-group[data-variant="bordered"]:has(.form-field-input-prefix) .form-field-text-input,
.form-field-input-group[data-variant="bordered"]:has(.form-field-input-prefix) .form-field-select-input {
    padding-left: 0;
}

.form-field-input-group[data-variant="bordered"]:has(.form-field-input-suffix) .form-field-text-input,
.form-field-input-group[data-variant="bordered"]:has(.form-field-input-suffix) .form-field-select-input {
    padding-right: 0;
}

.form-field-input-group[data-variant="bordered"] .form-field-input-prefix,
.form-field-input-group[data-variant="bordered"] .form-field-input-suffix {
    display: flex;
    align-items: center;
    padding: 0 var(--space-xs);
    user-select: none;
}

.form-field-input-group[data-variant="bordered"] .form-field-input-prefix[data-style="shaded"],
.form-field-input-group[data-variant="bordered"] .form-field-input-suffix[data-style="shaded"] {
    background: var(--grey-50);
}

.form-field-input-group[data-variant="bordered"] .form-field-input-prefix[data-style="shaded"] {
    border-right: 1px solid var(--input-border-colour);
}

.form-field-input-group[data-variant="bordered"] .form-field-input-suffix[data-style="shaded"] {
    border-left: 1px solid var(--input-border-colour);
}

.form-field-value { 
    font-size: var(--font-size-md);
    color: var(--text-secondary-colour);
    line-height: 1.5;
}

.form-field-focal-point td { 
    cursor: pointer; 
    border: 1px solid var(--input-border-colour); 
    width: 150px; height: 50px; 
    vertical-align: middle; 
    text-align:center; 
    color: var(--text-secondary-colour); 
    font-size: var(--font-size-sm);
}

.form-field-focal-point td[aria-selected],
.form-field-focal-point td[aria-selected]:hover { 
    background-color: var(--blue-colour); 
    color: #fff; 
}

.form-field-focal-point td:hover { 
    background-color: var(--grey-100); 
}

.form-field-file {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.form-field-file-preview {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    border-radius: var(--border-radius-sm);
    border: 1px solid var(--input-border-colour);
    height: 70px;
    width: 120px;
    padding: var(--space-2xs);
    align-items: center;
    justify-content: center;
}

.form-field-file-preview img, 
.form-field-file-preview video {
    display: block;
    max-height: 100%;
    height: auto;

}

.form-field-file-controls {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    min-width: 0;
}

.form-field-file-input {
    font-size: var(--font-size-md);
    white-space: nowrap;
    width: auto;
    max-width: 100%;
}

.form-field-file-input:focus-visible {
    outline: 1px solid var(--grey-500);
    border-radius: var(--border-radius-sm);
}

.form-field-file-input::file-selector-button {
    margin-right: var(--space-xs);
}

.form-field-matrix th,
.form-field-matrix td {
    vertical-align: middle;
}

.form-field-matrix thead th {
    padding: 0 var(--space-sm) var(--space-2xs); 
    font-size: var(--font-size-sm);
    color: var(--text-secondary-colour);
}

.form-field-matrix tbody th {
    padding: 0 var(--space-sm) 0 0; 
    font-size: var(--font-size-sm);
    color: var(--text-secondary-colour);
}

.form-field-matrix tbody td {
    padding: var(--space-2xs) var(--space-2xs); 
}

.form-field-matrix[data-variant="bordered"],
.form-field-matrix[data-variant="spreadsheet"] {
    border: 1px solid var(--border-colour);
    border-radius: var(--border-radius-md);
    border-collapse: separate;
    border-spacing: 0;
}

.form-field-matrix[data-variant="bordered"] thead th,
.form-field-matrix[data-variant="spreadsheet"] thead th {
    background: var(--grey-50);
    border-bottom: 1px solid var(--border-colour);
    padding: var(--space-2xs) var(--space-sm);
}

.form-field-matrix[data-variant="bordered"] thead th:not(:first-child),
.form-field-matrix[data-variant="bordered"] tbody td:not(:first-child),
.form-field-matrix[data-variant="spreadsheet"] thead th:not(:first-child),
.form-field-matrix[data-variant="spreadsheet"] tbody td:not(:first-child) {
    border-left: 1px solid var(--border-colour);
}

.form-field-matrix[data-variant="bordered"] tbody th,
.form-field-matrix[data-variant="spreadsheet"] tbody th {
    padding: var(--space-2xs) var(--space-sm);
    background: var(--grey-50);
}

.form-field-matrix[data-variant="bordered"] tbody td {
    padding: var(--space-xs);
}

.form-field-matrix[data-variant="bordered"] tbody tr + tr th,
.form-field-matrix[data-variant="bordered"] tbody tr + tr td,
.form-field-matrix[data-variant="spreadsheet"] tbody tr + tr th,
.form-field-matrix[data-variant="spreadsheet"] tbody tr + tr td {
    border-top: 1px solid var(--border-colour);
}

/* Spreadsheet variant: like "bordered", but cells are filled edge-to-edge by their
   inputs, with tighter spacing and a focus ring drawn inside the cell. */
.form-field-matrix[data-variant="spreadsheet"] tbody td {
    padding: 0;
}

.form-field-matrix[data-variant="spreadsheet"] tbody td .form-field-text-input {
    width: 100%;
    padding: var(--space-xs) var(--space-sm);
    border: none;
    border-radius: 0;
    background: transparent;
}

.form-field-matrix[data-variant="spreadsheet"] tbody td .form-field-text-input:hover,
.form-field-matrix[data-variant="spreadsheet"] tbody td .form-field-text-input:focus,
.form-field-matrix[data-variant="spreadsheet"] tbody td .form-field-text-input[aria-invalid="true"] {
    border: none;
}

.form-field-matrix[data-variant="bordered"] thead th:first-child,
.form-field-matrix[data-variant="spreadsheet"] thead th:first-child,
.form-field-matrix[data-variant="bordered"]:not(:has(thead)) tbody tr:first-child > :first-child,
.form-field-matrix[data-variant="spreadsheet"]:not(:has(thead)) tbody tr:first-child > :first-child {
    border-top-left-radius: calc(var(--border-radius-md) - 1px);
}

.form-field-matrix[data-variant="bordered"] thead th:last-child,
.form-field-matrix[data-variant="spreadsheet"] thead th:last-child,
.form-field-matrix[data-variant="bordered"]:not(:has(thead)) tbody tr:first-child > :last-child,
.form-field-matrix[data-variant="spreadsheet"]:not(:has(thead)) tbody tr:first-child > :last-child {
    border-top-right-radius: calc(var(--border-radius-md) - 1px);
}

.form-field-matrix[data-variant="bordered"] tbody tr:last-child > :first-child,
.form-field-matrix[data-variant="spreadsheet"] tbody tr:last-child > :first-child {
    border-bottom-left-radius: calc(var(--border-radius-md) - 1px);
}

.form-field-matrix[data-variant="bordered"] tbody tr:last-child > :last-child,
.form-field-matrix[data-variant="spreadsheet"] tbody tr:last-child > :last-child {
    border-bottom-right-radius: calc(var(--border-radius-md) - 1px);
}

.form-field-matrix[data-variant="spreadsheet"] tbody td:has(.form-field-text-input:focus) {
    box-shadow: inset 0 0 0 1px var(--grey-500);
}

.form-field-matrix[data-variant="spreadsheet"] tbody td:has(.form-field-text-input[aria-invalid="true"]) {
    box-shadow: inset 0 0 0 2px var(--red-colour);
}

.form-field-image-picker { 
    display: flex; 
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.form-field-image-picker .image { 
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    height: 120px; 
    border-radius: var(--border-radius-sm); 
    border: 1px solid var(--input-border-colour);
    cursor: pointer; 
}

.form-field-image-picker .image .empty { 
    background: var(--grey-50); 
    height: 100%; 
    width: 100%; 
    display: flex; 
    text-align: center; 
    justify-content: center; 
    color: var(--text-secondary-colour);
}

.form-field-image-picker .image img { 
    height: 100%; 
    user-select: none;
    -webkit-user-drag: none;    
}

.form-field-image-picker .image:hover { 
    border-color: var(--grey-500); 
}

.form-field-image-picker .image[aria-checked="true"] {
    border-color: var(--blue-colour);
} 

.form-field-image-picker .image[aria-checked="true"]::after {
    content: "\f00c";
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    position: absolute;
    top: var(--space-2xs);
    right: var(--space-2xs);
    width: var(--space-lg);
    height: var(--space-lg);
    border-radius: 50%;
    background: var(--blue-colour);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-sm);
}

.select2-container .select2-selection--single { 
    height: 43px !important; 
}

.select2-container .select2-selection--single .select2-selection__rendered { 
    padding: 5px 25px 5px var(--space-sm) !important; 
    color: var(--input-text-colour) !important; 
    line-height: 29px !important; 
    font-size: var(--font-size-md);
}

.select2-container--default .select2-selection--single {
    border-color: var(--input-border-colour) !important;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.select2-container--default:not(.select2-container--open) .select2-selection--single:hover {
    border-color: var(--grey-500) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered { 
    color: var(--input-text-colour); 
}

.select2-dropdown { 
    margin-top: -1px; 
    border:1px solid var(--input-border-colour) !important; 
}

.select2-search--dropdown { 
    padding: var(--space-xs) !important; 
}

.select2-container--default .select2-search--dropdown .select2-search__field { 
    padding: calc(var(--space-3xs) + var(--space-xs)) var(--space-sm);
    font-size: var(--font-size-md);
    font-family: 'Open Sans', sans-serif;
    color: var(--input-text-colour);
    border: 1px solid var(--input-border-colour) !important;
    border-radius: var(--border-radius-sm);  
    line-height: 1.5;
    transition: border-color 0.15s, box-shadow 0.15s;      
}

.select2-results__option { 
    padding: var(--space-xs) var(--space-sm) !important; 
}

.select2-container--default .select2-results__option--highlighted { 
    background-color: var(--blue-colour) !important; 
}

.select2-container--default .select2-results__option[aria-selected=true] { 
    color: var(--input-text-colour) !important; 
    background-color: var(--grey-100) !important; 
}

.select2-container--default .select2-selection--single .select2-selection__arrow { 
    height: 40px !important; 
}

.select2-selection__clear { 
    font-size: var(--font-size-xl) !important; 
    padding-left: var(--space-md) !important; 
}

.select2-container--default .select2-selection--single .select2-selection__arrow b { 
    border-color: var(--input-text-colour) transparent transparent transparent !important; 
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { 
    border-color:transparent transparent var(--input-text-colour) transparent !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--grey-500) !important; 
}

.select2-container *:focus { 
    border-color: var(--grey-500) !important; 
    outline: none; 
}  

.select2-container--default .select2-search--inline {
    padding-left: 5px;
}

.select2-container--default .select2-search--inline .select2-search__field { 
    border: none !important; 
    padding: 5px 0; 
    font-size: var(--font-size-md);
    color: var(--input-text-colour);
    line-height: 1.5;
}

.select2-container--default .select2-selection--multiple { 
    color: var(--input-text-colour);
    background: var(--input-background-colour);
    border-color: var(--input-border-colour) !important;
    border-radius: var(--border-radius-sm);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { 
    float: right; 
    margin-right: 0; 
    margin-left: 4px; 
}

.select2-container--default .select2-selection--multiple .select2-selection__choice { 
    padding: 0px 8px; 
    color: var(--input-text-colour) !important; 
    background-color: var(--grey-100) !important; 
    border: none !important;
    border-radius: var(--border-radius-sm);
    font-size: var(--font-size-sm);
    margin-right: 6px;
    margin-top: 6px;
}

.select2-container--default .select2-selection--multiple { 
    min-height:41px !important; 
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered { 
    line-height:29px !important; 
}

.select2-container .select2-selection--single[aria-invalid="true"] { 
    border: 2px solid var(--red-colour) !important; 
}

.select2-results__option.select2-results__message {
    color: var(--text-muted-colour) !important;
}

.sp-replacer {
    padding: var(--space-xs);
    background: var(--input-background-colour);
    border: 1px solid var(--input-border-colour);
    border-radius: var(--border-radius-sm);
    color: var(--input-text-colour);
    transition: border-color 0.15s, box-shadow 0.15s;
}

.sp-replacer:hover,
.sp-replacer.sp-active {
    border-color: var(--grey-500);
}

.sp-replacer.sp-disabled {
    background: var(--grey-100);
    color: var(--text-muted-colour);
    cursor: not-allowed;
    border-color: var(--input-border-colour);
}

.sp-preview {
    border: 1px solid var(--input-border-colour);
}

.sp-dd {
    color: var(--text-muted-colour);
}

.sp-container {
    background: var(--input-background-colour);
    border: 1px solid var(--input-border-colour);
    border-radius: var(--border-radius-sm);
}

.sp-container button,
.sp-container input {
    border-radius: var(--border-radius-sm);
    cursor: pointer;
}

.dropzone { 
    border: 2px dashed var(--input-border-colour);
    border-radius: var(--border-radius-sm);
}

.dropzone-default-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
}

.dropzone-default-message i {
    font-size: 6em;
    color: var(--grey-200);
}

.dropzone-default-message p {
    font-size: var(--font-size-lg);
    color: var(--grey-300);
}

#dropzone-processing { color: var(--text-secondary-colour); }

.dropzone .dz-preview {
    margin: var(--space-sm);
}

.dropzone .dz-preview .dz-image { 
    border-radius: var(--border-radius-lg);
}

.dz-error-mark { 
    background: var(--red-colour) !important; 
}

.dz-success-mark { 
    background: var(--green-colour) !important; 
}

.cke_chrome {
    border: 1px solid var(--input-border-colour) !important;
    border-radius: var(--border-radius-sm) !important;
    overflow: hidden;
}

.cke_focus {
    border-color: var(--grey-500) !important;
}

.cke_top,
.cke_bottom {
    background: var(--page-background-colour) !important;
    border-color: var(--input-border-colour) !important;
}

.cke_toolgroup {
    background: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
}

a.cke_combo_button,
.cke_combo_on a.cke_combo_button,
.cke_combo_off a.cke_combo_button:hover,
.cke_combo_off a.cke_combo_button:focus,
.cke_combo_off a.cke_combo_button:active {
    padding: 1px !important;
    margin: 0 !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    box-shadow: none !important;
}

.cke_combo_on a.cke_combo_button,
.cke_combo_off a.cke_combo_button:hover,
.cke_combo_off a.cke_combo_button:focus {
    background: var(--grey-100) !important;
    border-color: var(--input-border-colour) !important;
}

.cke[aria-invalid="true"] { 
    border:2px solid var(--red-colour) !important; 
} 

.cke_dialog_ui_button { 
    background-color: var(--button-background-colour) !important; 
    border-color: var(--button-background-colour) !important; 
    color: var(--button-text-colour) !important; 
    border-radius: var(--border-radius-sm) !important;
}

.cke_dialog_ui_button:hover { 
    background: var(--button-hover-background-colour) !important; 
    text-decoration: none !important;  
    border-color: var(--button-hover-background-colour) !important; 
    color: var(--button-hover-text-colour) !important; 
}

.cke_dialog_ui_button:hover span { 
    background: var(--button-hover-background-colour) !important; 
    text-decoration: none !important;  
    border-color: var(--button-hover-background-colour) !important; 
    color: var(--button-hover-text-colour) !important; 
}

.cke_dialog_ui_button_cancel { 
    background: none !important; 
    border: 1px solid var(--button-background-colour) !important; 
}

.cke_dialog_ui_button_cancel span { 
    background: none !important; 
    color: var(--button-background-colour) !important; 
}

.cke_combopanel__styles { 
    width: 400px !important; 
    height: 250px !important; 
}

.cke_combopanel__format { 
    width:200px !important; 
    height: 250px !important; 
}

.CodeMirror {
    border: 1px solid var(--input-border-colour);
    align-self: stretch;
    border-radius: var(--border-radius-sm);
}

.CodeMirror-gutters {
    background-color: var(--grey-50) !important;
    border-right: 1px solid var(--input-border-colour) !important;
}

.CodeMirror-linenumber {
    box-sizing: content-box;
    min-width: 25px !important;
    color: var(--text-secondary-colour);
}

.alert-box {
    --alert-colour: var(--light-blue-colour);
    --alert-bg-mix: 15%;
    --alert-icon: "\f129";
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);   
    border-radius: var(--border-radius-sm);
    border-left: 5px solid var(--alert-colour);
    background-color: color-mix(in oklab, var(--alert-colour) var(--alert-bg-mix), white);
    padding: var(--space-md) var(--space-md) var(--space-md) calc(var(--space-md) + var(--space-xs));
    position: relative;
}

.alert-box:has(.close) {
    padding-right: var(--space-2xl);
}

.alert-box::before {
    display: block;
    content: var(--alert-icon);
    position: absolute;
    top: 50%;
    margin-left: -39px;
    transform: translateY(-50%);
    font-weight: bold;
    font-family: "Font Awesome 6 Pro";
    background: var(--alert-colour);
    padding: var(--space-2xs);
    border-radius: 50%;
    width: var(--space-lg);
    height: var(--space-lg);
    line-height: var(--space-md);
    text-align: center;
    color: #fff;
    font-size: var(--font-size-md);
}

.alert-box p,
.alert-box ul {
    color: var(--text-primary-colour);
}

.alert-box ul { 
    line-height: 1.5; 
    list-style-type: disc; 
    font-size: var(--font-size-md);
    color: var(--text-primary-colour);
    padding-left: var(--space-sm);
}

.alert-box ul li + li {
    padding-top: var(--space-2xs);
}

.alert-box a {
    color: color-mix(in oklab, var(--alert-colour) 80%, black);
}

.alert-box a:hover {
    color: var(--text-primary-colour);
}

.alert-box ul:has(li:only-child) {
    list-style-type: none;
    padding-left: 0;
}

.alert-box[data-tone="positive"] {
    --alert-colour: var(--green-colour);
    --alert-bg-mix: 20%;
    --alert-icon: "\f00c";
}

.alert-box[data-tone="negative"] {
    --alert-colour: var(--red-colour);
    --alert-bg-mix: 20%;
    --alert-icon: "\21";
}

.alert-box[data-tone="warning"] {
    --alert-colour: var(--orange-colour);
    --alert-bg-mix: 20%;
    --alert-icon: "\21";
}

.alert-box[data-tone="info"] {
    --alert-colour: var(--light-blue-colour);
    --alert-bg-mix: 15%;
    --alert-icon: "\f129";
}

.alert-box .close { 
    position: absolute; 
    top: 0; 
    right: 0; 
    padding: var(--space-sm) var(--space-md); 
    display: inline-flex;
    align-items: center;
    justify-content: center;
    user-select: none;
}

.alert-box .close i { 
   line-height: 1;
}

.alert-box[data-tone="negative"] .dataTables_paginate a.paginate_button { 
    color: var(--red-colour); 
}

.alert-box[data-tone="negative"] .dataTables_paginate a.paginate_button.disabled { 
    color: var(--text-muted-colour); 
}

.details-list {
    display: flex;
    flex-direction: column;
}

.details-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    font-size: var(--font-size-md);
    font-weight: 600;
    color: var(--text-primary-colour);
    cursor: pointer;
    user-select: none;
    border-bottom: 1px solid var(--border-colour);
}

.details-header::-webkit-details-marker {
    display: none;
}

.details-header:hover,
.details[open] > .details-header:hover {
    background: var(--grey-100);
}

.details[open] > .details-header {
    background: var(--grey-50);
}

.details-header:focus-visible {
    outline: 1px solid var(--grey-500);
    outline-offset: -1px;
}

.details-header::after {
    font-family: "Font Awesome 6 Pro";
    content: "\f107";
    font-weight: 300;
    color: var(--text-muted-colour);
    transition: transform 0.15s;
    flex-shrink: 0;
}

.details[open] > .details-header::after {
    transform: rotate(180deg);
}

.details-body {
    padding: var(--space-md);
    border-bottom: 1px solid var(--border-colour);
}

.details-list .details:last-child .details-body {
    border-bottom: none;
}

.drilldown {
    display: flex;
    flex-direction: column;
}

.drilldown-rail {
    display: flex;
    width: 200%;
    transition: transform 0.28s cubic-bezier(0.32, 0.72, 0.35, 1);
}

.drilldown[data-view="detail"] .drilldown-rail {
    transform: translateX(-50%);
}

@media (prefers-reduced-motion: reduce) {
    .drilldown-rail {
        transition: none;
    }
}

.drilldown-panel {
    width: 50%;
    flex-shrink: 0;
}

.drilldown-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-bottom: 1px solid var(--border-colour);
    font-size: var(--font-size-md);
    font-weight: 600;
    color: var(--text-primary-colour);
    text-decoration: none;
    user-select: none;
}

.drilldown-list-item:hover {
    background: var(--grey-50);
}

.drilldown-list-item:focus-visible {
    outline: 1px solid var(--grey-500);
    outline-offset: -1px;
}

.drilldown-list-item::after {
    font-family: "Font Awesome 6 Pro";
    content: "\f105";
    font-weight: 300;
    color: var(--text-muted-colour);
    font-size: var(--font-size-md);
    flex-shrink: 0;
}

.drilldown-detail-header {
    display: none;
    border-bottom: 1px solid var(--border-colour);
}

.drilldown[data-view="detail"] .drilldown-detail-header {
    display: block;
}

.drilldown-detail-back {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    color: var(--text-primary-colour);
    text-decoration: none;
    user-select: none;
}

.drilldown-detail-back:hover {
    background: var(--grey-50);
}

.drilldown-detail-back:focus-visible {
    outline: 1px solid var(--grey-500);
    outline-offset: -1px;
}

.drilldown-detail-back::before {
    font-family: "Font Awesome 6 Pro";
    content: "\f104";
    font-weight: 300;
    color: var(--text-muted-colour);
    font-size: var(--font-size-md);
    flex-shrink: 0;
}

.drilldown-detail-title {
    font-size: var(--font-size-md);
    font-weight: 600;
}

.drilldown-detail-body {
    padding: var(--space-md);
}

.preview {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.preview-title {
    font-size: var(--font-size-md);
    font-weight: 600;
    color: var(--text-primary-colour);
    line-height: 1;
}

.preview-subtitle {
    font-size: var(--font-size-sm);
    font-weight: 400;
    color: var(--text-muted-colour);
    line-height: 1;
}

.preview iframe,
.preview .iframe {
    border: 1px solid var(--input-border-colour);
    padding: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    border-radius: var(--border-radius-sm);
}

.website-preview { 
    min-height: 700px; 
    height: 100%; 
    margin: 0 auto; 
    display: flex; 
    flex-direction: column; 
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    position: relative; 
    border: 1px solid var(--border-colour);
    border-radius: var(--border-radius-sm);
}

.website-preview.mobile { 
    max-width: 428px; 
}

.website-preview.tablet-portrait { 
    max-width: 768px; 
}

.website-preview.tablet-landscape { 
    max-width: 1024px; 
}

.website-preview-header {
    background: var(--grey-50);
    width: 100%;
    position: relative;
    border-bottom: 1px solid var(--border-colour);
    border-radius: var(--border-radius-sm) var(--border-radius-sm) 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-xs) var(--space-md);
}

.website-preview-title { 
    font-weight: bold; 
    font-size: var(--font-size-md);
    color: var(--text-secondary-colour);
}

.website-preview-device-picker { 
    display: flex; 
    flex-direction: row;
    gap: var(--space-md);
}

.website-preview-device-picker a {
    user-select: none;
}

.website-preview-device-picker a i { 
    color: var(--text-muted-colour); 
    font-weight: 300;
}

.website-preview-device-picker a:hover i, 
.website-preview-device-picker a[aria-current] i{ 
    color: var(--text-primary-colour); 
    font-weight: bold; 
}

.website-preview-body {
    flex-grow: 1;
    border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
    overflow: hidden;
}

.website-preview-body iframe {
    border: 0;
    width: 100%;
    min-height: 100%;
    display: block;
}

.content-layout {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.content-layout-row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--space-xs);
}

.content-layout-row-column {
    background: white;
    border: 1px solid var(--border-colour);
    border-radius: var(--border-radius-sm);
    padding: var(--space-md);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    grid-column: span 12;
    color: var(--text-secondary-colour);
}

.content-layout-row-column[data-has-content] {
    background: var(--grey-100);
}

.content-layout-row-column[data-span="1"] {
    grid-column: span 1;
}

.content-layout-row-column[data-span="2"] {
    grid-column: span 2;
}

.content-layout-row-column[data-span="3"] {
    grid-column: span 3;
}

.content-layout-row-column[data-span="4"] {
    grid-column: span 4;
}

.content-layout-row-column[data-span="5"] {
    grid-column: span 5;
}

.content-layout-row-column[data-span="6"] {
    grid-column: span 6;
}

.content-layout-row-column[data-span="7"] {
    grid-column: span 7;
}

.content-layout-row-column[data-span="8"] {
    grid-column: span 8;
}

.content-layout-row-column[data-span="9"] {
    grid-column: span 9;
}

.content-layout-row-column[data-span="10"] {
    grid-column: span 10;
}

.content-layout-row-column[data-span="11"] {
    grid-column: span 11;
}

.content-layout-row-column[data-span="12"] {
    grid-column: span 12;
}

a.content-layout-row-column:hover {
    color: var(--text-primary-colour);
    background: var(--grey-200);
}

[data-tooltip] { 
    position: relative; 
}

[data-tooltip]:before { 
    z-index: 1001; 
    white-space: initial; 
    content: attr(data-tooltip); 
    max-width: 250px;
    width: max-content;
    font-size: var(--font-size-xs); 
    position: absolute; 
    top: 50%; 
    left: 100%; 
    margin-left: 12px; 
    visibility: hidden; 
    transform: translateY(-50%); 
    padding: var(--space-xs) var(--space-sm); 
    color: white; 
    background: rgba(0, 0, 0, 0.75); 
    border-radius: var(--border-radius-sm); 
    text-align: left; 
    opacity: 0; 
    transition: .5s opacity; 

}

[data-tooltip]:hover:before { 
    opacity: 1; 
    visibility: visible; 
}

[data-tooltip]:after { 
    content: ""; 
    position: absolute; 
    left: 100%; 
    margin-left: -4px; 
    top: 50%; 
    transform: translateY(-50%); 
    border: 8px solid rgba(0, 0, 0, 0.75); 
    border-color: transparent rgba(0, 0, 0, 0.75) transparent transparent; 
    visibility: hidden; 
    opacity: 0; 
    transition: .5s opacity; 
}

[data-tooltip]:hover:after { 
    opacity: 1; 
    visibility: visible; 
}

body:has(dialog[open]) { 
    overflow: hidden; 
}

dialog::backdrop { 
    background: rgba(40, 40, 40, 0.75); 
}

dialog { 
    border: 0; 
    box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px; 
    padding: 0; 
    background: #fff; 
    border-radius: var(--border-radius-sm); 
    outline: none; 
}        

dialog iframe { 
    height: 100%; 
    width: 100%; 
    padding: 0; 
    margin: 0; 
    display: block; 
    border: 0; 
}

.dialog { 
    display: flex;
    flex-direction: column;
    height: 100%;
}

.dialog-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-lg) var(--space-lg) 0;
    flex-shrink: 0;
}

.dialog-title {
    color: var(--text-primary-colour);
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    font-size: var(--font-size-2xl);
    font-weight: 600; 
    line-height: 1.2;
}

.dialog-close a {
    user-select: none;
}

.dialog-close a i { 
    font-size: var(--font-size-xl); 
}

.dialog-body {
    padding: var(--space-lg);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.intercom-launcher { 
    z-index:1000; 
}

.intercom-launcher-button { 
    border:0px !important; 
    background-color: var(--light-blue-colour) !important; 
}

body[data-layout="full"] .page-body {
    padding-bottom: calc(var(--space-lg) + 65px); /* Extra space for Intercom widget */
}

@media (max-width: 1279px) {
  .min-width-1280 { display: none !important; }
}

@media (max-width: 1439px) {
  .min-width-1440 { display: none !important; }
}

@media (max-width: 1919px) {
  .min-width-1920 { display: none !important; }
}