
/*#region @import */

@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Sharp:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');

/*#endregion*/

/*#region @material icons */

.material-symbols-outlined{
    font-family: 'Material Symbols Outlined', sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    display: inline-block;
    white-space: nowrap;
    direction: ltr;
    font-variation-settings:
            'FILL' 0,
            'wght' 400,
            'GRAD' 0,
            'opsz' 24
}
.material-symbols-rounded{
    font-variation-settings:
            'FILL' 0,
            'wght' 400,
            'GRAD' 0,
            'opsz' 24
}
.material-symbols-sharp{
    font-variation-settings:
            'FILL' 0,
            'wght' 400,
            'GRAD' 0,
            'opsz' 24
}
.material-symbols-fill{
    font-variation-settings:
            'FILL' 1,
            'wght' 400,
            'GRAD' 0,
            'opsz' 24
}

[class*="material-symbols"]{
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
    vertical-align: -4px;
    color: rgba(0, 0, 0, .54);
}
[class*="material-symbols"].md-14 {font-size: 14px;vertical-align: -2px;}
[class*="material-symbols"].md-18 {font-size: 18px;vertical-align: -4px;}
[class*="material-symbols"].md-22 {font-size: 22px;vertical-align: -6px;}
[class*="material-symbols"].md-24 {font-size: 24px;vertical-align: -8px;}
[class*="material-symbols"].md-32 {font-size: 30px;vertical-align: -14px;}
[class*="material-symbols"].md-36 {font-size: 36px;vertical-align: -16px;}
[class*="material-symbols"].md-48 {font-size: 48px;vertical-align: -24px;}
[class*="material-symbols"].md-light {
    color: #fff;
}
[class*="material-symbols"].md-light.md-inactive {
    color: rgba(255, 255, 255, .3);
}
[class*="material-symbols"].md-icon {
    font-size: 24px;
    line-height: 32px!important;
    height: 32px!important;
    width: 32px!important;
    color: #727272;
    border-radius: 50%;
    cursor: pointer;
    -webkit-transition: background 280ms ease-out, color 280ms ease-out;
    transition: background 280ms ease-out, color 280ms ease-out;
    text-align: center;
    -webkit-tap-highlight-color: transparent;
}
[class*="material-symbols"].md-icon.active,
[class*="material-symbols"].md-icon:focus,
[class*="material-symbols"].md-icon:hover {
    color: #212121;
    background: rgba(0, 0, 0, .08);
}
[class*="material-symbols"].md-icon.md-icon-18 {
    font-size: 18px;
    line-height: 22px!important;
    height: 22px!important;
    width: 22px!important;
}
[class*="material-symbols"].md-icon.md-icon-22 {
    font-size: 22px;
    line-height: 26px!important;
    height: 26px!important;
    width: 26px!important;
}
[class*="material-symbols"].md-icon.md-icon-white{
    color: #fff;
}
[class*="material-symbols"].md-icon.md-icon-white.active,
[class*="material-symbols"].md-icon.md-icon-white:focus,
[class*="material-symbols"].md-icon.md-icon-white:hover {
    color: #e3e3e3;
}
[class*="material-symbols"].md-bold{
    font-variation-settings:
            'FILL' 0,
            'wght' 600,
            'GRAD' 0,
            'opsz' 24
}
[class*="material-symbols"].md-extra-bold{
    font-variation-settings:
            'FILL' 0,
            'wght' 800,
            'GRAD' 0,
            'opsz' 24
}
[class*="material-symbols"].md-fill{
    font-variation-settings:
            'FILL' 1,
            'wght' 400,
            'GRAD' 0,
            'opsz' 24
}
/*#endregion*/


/* ============================================================
RESET
============================================================ */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: #142b2e;
    background: #f6f5f0;

    font-family:
            Inter,
            ui-sans-serif,
            -apple-system,
            BlinkMacSystemFont,
            "Segoe UI",
            sans-serif;

    font-size: 16px;
    line-height: 1.5;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

button,
input,
textarea,
select {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

a {
    color: inherit;
    text-decoration: none;
}

img,
svg {
    display: block;
    max-width: 100%;
}


/* ============================================================
   TOKENS
   ============================================================ */

:root {

    --background: #f6f5f0;
    --surface: #ffffff;
    --surface-soft: #efeee8;

    --ink: #142b2e;
    --ink-soft: #5d6c6d;
    --ink-muted: #839091;

    --primary: #19585f;
    --primary-dark: #123f44;
    --primary-soft: #dcebea;

    --accent: #dce45b;

    --line: rgba(20, 43, 46, .10);
    --line-strong: rgba(20, 43, 46, .16);

    --shadow:
            0 30px 80px rgba(30, 56, 58, .10);

    --radius-sm: 14px;
    --radius-md: 22px;
    --radius-lg: 34px;
    --radius-xl: 46px;

    --container: 1280px;
}



/*#region -- @framework */


.wrapper { margin: 0 auto; width: 100%; max-width: 800px; } .\!wrapper { margin: 0 auto; width: 100%; max-width: 800px; }
.wrapper-100 { max-width: 100px; } .\!wrapper-100 { max-width: 100px !important; }
.wrapper-200 { max-width: 200px; } .\!wrapper-200 { max-width: 200px !important; }
.wrapper-300 { max-width: 300px; } .\!wrapper-300 { max-width: 300px !important; }
.wrapper-400 { max-width: 400px; } .\!wrapper-400 { max-width: 400px !important; }
.wrapper-450 { max-width: 450px; } .\!wrapper-450 { max-width: 450px !important; }
.wrapper-500 { max-width: 500px; } .\!wrapper-500 { max-width: 500px !important; }
.wrapper-600 { max-width: 600px; } .\!wrapper-600 { max-width: 600px !important; }
.wrapper-700 { max-width: 700px; } .\!wrapper-700 { max-width: 700px !important; }
.wrapper-800 { max-width: 800px; } .\!wrapper-800 { max-width: 800px !important; }
.wrapper-900 { max-width: 900px; } .\!wrapper-900 { max-width: 900px !important; }
.wrapper-1000 { max-width: 1000px; } .\!wrapper-1000 { max-width: 1000px !important; }
.wrapper-1100 { max-width: 1100px; } .\!wrapper-1100 { max-width: 1100px !important; }
.wrapper-1200 { max-width: 1200px; } .\!wrapper-1200 { max-width: 1200px !important; }
.wrapper-1300 { max-width: 1300px; } .\!wrapper-1300 { max-width: 1300px !important; }
.wrapper-1400 { max-width: 1400px; } .\!wrapper-1400 { max-width: 1400px !important; }
.wrapper-1500 { max-width: 1500px; } .\!wrapper-1500 { max-width: 1500px !important; }
.wrapper-1600 { max-width: 1600px; } .\!wrapper-1600 { max-width: 1600px !important; }
.wrapper-1700 { max-width: 1700px; } .\!wrapper-1700 { max-width: 1700px !important; }
.wrapper-1800 { max-width: 1800px; } .\!wrapper-1800 { max-width: 1800px !important; }
.wrapper-full { max-width: 100%; } .\!wrapper-full { max-width: 100% !important; }
.wrapper-full-scroll {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.left-0 { left: 0; } .\!left-0 { left: 0 !important; }
.left-5 { left: 5px; } .\!left-5 { left: 5px !important; }
.left-10 { left: 10px; } .\!left-10 { left: 10px !important; }
.left-15 { left: 15px; } .\!left-15 { left: 15px !important; }
.left-20 { left: 20px; } .\!left-20 { left: 20px !important; }
.left-25 { left: 25px; } .\!left-25 { left: 25px !important; }
.left-30 { left: 30px; } .\!left-30 { left: 30px !important; }
.left-35 { left: 35px; } .\!left-35 { left: 35px !important; }
.left-40 { left: 40px; } .\!left-40 { left: 40px !important; }
.left-45 { left: 45px; } .\!left-45 { left: 45px !important; }
.left-50 { left: 50px; } .\!left-50 { left: 50px !important; }
.left-55 { left: 55px; } .\!left-55 { left: 55px !important; }
.left-60 { left: 60px; } .\!left-60 { left: 60px !important; }
.left-65 { left: 65px; } .\!left-65 { left: 65px !important; }
.left-70 { left: 70px; } .\!left-70 { left: 70px !important; }
.left-75 { left: 75px; } .\!left-75 { left: 75px !important; }
.left-80 { left: 80px; } .\!left-80 { left: 80px !important; }
.left-85 { left: 85px; } .\!left-85 { left: 85px !important; }
.left-90 { left: 90px; } .\!left-90 { left: 90px !important; }
.left-95 { left: 95px; } .\!left-95 { left: 95px !important; }
.left-100 { left: 100px; } .\!left-100 { left: 100px !important; }

.top-0 { top: 0; } .\!top-0 { top: 0 !important; }
.top-5 { top: 5px; } .\!top-5 { top: 5px !important; }
.top-10 { top: 10px; } .\!top-10 { top: 10px !important; }
.top-15 { top: 15px; } .\!top-15 { top: 15px !important; }
.top-20 { top: 20px; } .\!top-20 { top: 20px !important; }
.top-25 { top: 25px; } .\!top-25 { top: 25px !important; }
.top-30 { top: 30px; } .\!top-30 { top: 30px !important; }
.top-35 { top: 35px; } .\!top-35 { top: 35px !important; }
.top-40 { top: 40px; } .\!top-40 { top: 40px !important; }
.top-45 { top: 45px; } .\!top-45 { top: 45px !important; }
.top-50 { top: 50px; } .\!top-50 { top: 50px !important; }
.top-55 { top: 55px; } .\!top-55 { top: 55px !important; }
.top-60 { top: 60px; } .\!top-60 { top: 60px !important; }
.top-65 { top: 65px; } .\!top-65 { top: 65px !important; }
.top-70 { top: 70px; } .\!top-70 { top: 70px !important; }
.top-75 { top: 75px; } .\!top-75 { top: 75px !important; }
.top-80 { top: 80px; } .\!top-80 { top: 80px !important; }
.top-85 { top: 85px; } .\!top-85 { top: 85px !important; }
.top-90 { top: 90px; } .\!top-90 { top: 90px !important; }
.top-95 { top: 95px; } .\!top-95 { top: 95px !important; }
.top-100 { top: 100px; } .\!top-100 { top: 100px !important; }

.right-0 { right: 0; } .\!right-0 { right: 0 !important; }
.right-5 { right: 5px; } .\!right-5 { right: 5px !important; }
.right-10 { right: 10px; } .\!right-10 { right: 10px !important; }
.right-15 { right: 15px; } .\!right-15 { right: 15px !important; }
.right-20 { right: 20px; } .\!right-20 { right: 20px !important; }
.right-25 { right: 25px; } .\!right-25 { right: 25px !important; }
.right-30 { right: 30px; } .\!right-30 { right: 30px !important; }
.right-35 { right: 35px; } .\!right-35 { right: 35px !important; }
.right-40 { right: 40px; } .\!right-40 { right: 40px !important; }
.right-45 { right: 45px; } .\!right-45 { right: 45px !important; }
.right-50 { right: 50px; } .\!right-50 { right: 50px !important; }
.right-55 { right: 55px; } .\!right-55 { right: 55px !important; }
.right-60 { right: 60px; } .\!right-60 { right: 60px !important; }
.right-65 { right: 65px; } .\!right-65 { right: 65px !important; }
.right-70 { right: 70px; } .\!right-70 { right: 70px !important; }
.right-75 { right: 75px; } .\!right-75 { right: 75px !important; }
.right-80 { right: 80px; } .\!right-80 { right: 80px !important; }
.right-85 { right: 85px; } .\!right-85 { right: 85px !important; }
.right-90 { right: 90px; } .\!right-90 { right: 90px !important; }
.right-95 { right: 95px; } .\!right-95 { right: 95px !important; }
.right-100 { right: 100px; } .\!right-100 { right: 100px !important; }

.bottom-0 { bottom: 0; } .\!bottom-0 { bottom: 0 !important; }
.bottom-5 { bottom: 5px; } .\!bottom-5 { bottom: 5px !important; }
.bottom-10 { bottom: 10px; } .\!bottom-10 { bottom: 10px !important; }
.bottom-15 { bottom: 15px; } .\!bottom-15 { bottom: 15px !important; }
.bottom-20 { bottom: 20px; } .\!bottom-20 { bottom: 20px !important; }
.bottom-25 { bottom: 25px; } .\!bottom-25 { bottom: 25px !important; }
.bottom-30 { bottom: 30px; } .\!bottom-30 { bottom: 30px !important; }
.bottom-35 { bottom: 35px; } .\!bottom-35 { bottom: 35px !important; }
.bottom-40 { bottom: 40px; } .\!bottom-40 { bottom: 40px !important; }
.bottom-45 { bottom: 45px; } .\!bottom-45 { bottom: 45px !important; }
.bottom-50 { bottom: 50px; } .\!bottom-50 { bottom: 50px !important; }
.bottom-55 { bottom: 55px; } .\!bottom-55 { bottom: 55px !important; }
.bottom-60 { bottom: 60px; } .\!bottom-60 { bottom: 60px !important; }
.bottom-65 { bottom: 65px; } .\!bottom-65 { bottom: 65px !important; }
.bottom-70 { bottom: 70px; } .\!bottom-70 { bottom: 70px !important; }
.bottom-75 { bottom: 75px; } .\!bottom-75 { bottom: 75px !important; }
.bottom-80 { bottom: 80px; } .\!bottom-80 { bottom: 80px !important; }
.bottom-85 { bottom: 85px; } .\!bottom-85 { bottom: 85px !important; }
.bottom-90 { bottom: 90px; } .\!bottom-90 { bottom: 90px !important; }
.bottom-95 { bottom: 95px; } .\!bottom-95 { bottom: 95px !important; }
.bottom-100 { bottom: 100px; } .\!bottom-100 { bottom: 100px !important; }

.gap-0 { gap: 0; } .\!gap-0 { gap: 0 !important; }
.gap-5 { gap: 5px; } .\!gap-5 { gap: 5px !important; }
.gap-10 { gap: 10px; } .\!gap-10 { gap: 10px !important; }
.gap-15 { gap: 15px; } .\!gap-15 { gap: 15px !important; }
.gap-20 { gap: 20px; } .\!gap-20 { gap: 20px !important; }
.gap-25 { gap: 25px; } .\!gap-25 { gap: 25px !important; }
.gap-30 { gap: 30px; } .\!gap-30 { gap: 30px !important; }
.gap-35 { gap: 35px; } .\!gap-35 { gap: 35px !important; }
.gap-40 { gap: 40px; } .\!gap-40 { gap: 40px !important; }
.gap-45 { gap: 45px; } .\!gap-45 { gap: 45px !important; }
.gap-50 { gap: 50px; } .\!gap-50 { gap: 50px !important; }
.gap-55 { gap: 55px; } .\!gap-55 { gap: 55px !important; }
.gap-60 { gap: 60px; } .\!gap-60 { gap: 60px !important; }
.gap-65 { gap: 65px; } .\!gap-65 { gap: 65px !important; }
.gap-70 { gap: 70px; } .\!gap-70 { gap: 70px !important; }
.gap-75 { gap: 75px; } .\!gap-75 { gap: 75px !important; }
.gap-80 { gap: 80px; } .\!gap-80 { gap: 80px !important; }
.gap-85 { gap: 85px; } .\!gap-85 { gap: 85px !important; }
.gap-90 { gap: 90px; } .\!gap-90 { gap: 90px !important; }
.gap-95 { gap: 95px; } .\!gap-95 { gap: 95px !important; }
.gap-100 { gap: 100px; } .\!gap-100 { gap: 100px !important; }

.m-0 { margin: 0; } .\!m-0 { margin: 0 !important; }
.m-1 { margin: 1px; } .\!m-1 { margin: 1px !important; }
.m-2 { margin: 2px; } .\!m-2 { margin: 2px !important; }
.m-3 { margin: 3px; } .\!m-3 { margin: 3px !important; }
.m-4 { margin: 4px; } .\!m-4 { margin: 4px !important; }
.m-5 { margin: 5px; } .\!m-5 { margin: 5px !important; }
.m-10 { margin: 10px; } .\!m-10 { margin: 10px !important; }
.m-15 { margin: 15px; } .\!m-15 { margin: 15px !important; }
.m-20 { margin: 20px; } .\!m-20 { margin: 20px !important; }
.m-25 { margin: 25px; } .\!m-25 { margin: 25px !important; }
.m-30 { margin: 30px; } .\!m-30 { margin: 30px !important; }
.m-35 { margin: 35px; } .\!m-35 { margin: 35px !important; }
.m-40 { margin: 40px; } .\!m-40 { margin: 40px !important; }
.m-45 { margin: 45px; } .\!m-45 { margin: 45px !important; }
.m-50 { margin: 50px; } .\!m-50 { margin: 50px !important; }
.m-55 { margin: 55px; } .\!m-55 { margin: 55px !important; }
.m-60 { margin: 60px; } .\!m-60 { margin: 60px !important; }
.m-65 { margin: 65px; } .\!m-65 { margin: 65px !important; }
.m-70 { margin: 70px; } .\!m-70 { margin: 70px !important; }
.m-75 { margin: 75px; } .\!m-75 { margin: 75px !important; }
.m-80 { margin: 80px; } .\!m-80 { margin: 80px !important; }
.m-85 { margin: 85px; } .\!m-85 { margin: 85px !important; }
.m-90 { margin: 90px; } .\!m-90 { margin: 90px !important; }
.m-95 { margin: 95px; } .\!m-95 { margin: 95px !important; }
.m-100 { margin: 100px; } .\!m-100 { margin: 100px !important; }

.ml-0 { margin-left: 0; } .\!ml-0 { margin-left: 0 !important; }
.ml-5 { margin-left: 5px; } .\!ml-5 { margin-left: 5px !important; }
.ml-10 { margin-left: 10px; } .\!ml-10 { margin-left: 10px !important; }
.ml-15 { margin-left: 15px; } .\!ml-15 { margin-left: 15px !important; }
.ml-20 { margin-left: 20px; } .\!ml-20 { margin-left: 20px !important; }
.ml-25 { margin-left: 25px; } .\!ml-25 { margin-left: 25px !important; }
.ml-30 { margin-left: 30px; } .\!ml-30 { margin-left: 30px !important; }
.ml-35 { margin-left: 35px; } .\!ml-35 { margin-left: 35px !important; }
.ml-40 { margin-left: 40px; } .\!ml-40 { margin-left: 40px !important; }
.ml-45 { margin-left: 45px; } .\!ml-45 { margin-left: 45px !important; }
.ml-50 { margin-left: 50px; } .\!ml-50 { margin-left: 50px !important; }
.ml-55 { margin-left: 55px; } .\!ml-55 { margin-left: 55px !important; }
.ml-60 { margin-left: 60px; } .\!ml-60 { margin-left: 60px !important; }
.ml-65 { margin-left: 65px; } .\!ml-65 { margin-left: 65px !important; }
.ml-70 { margin-left: 70px; } .\!ml-70 { margin-left: 70px !important; }
.ml-75 { margin-left: 75px; } .\!ml-75 { margin-left: 75px !important; }
.ml-80 { margin-left: 80px; } .\!ml-80 { margin-left: 80px !important; }
.ml-85 { margin-left: 85px; } .\!ml-85 { margin-left: 85px !important; }
.ml-90 { margin-left: 90px; } .\!ml-90 { margin-left: 90px !important; }
.ml-95 { margin-left: 95px; } .\!ml-95 { margin-left: 95px !important; }
.ml-100 { margin-left: 100px; } .\!ml-100 { margin-left: 100px !important; }
.ml-230{ margin-left: 230px; } .ml-230 { margin-left: 230px !important; }

.mr-0 { margin-right: 0; } .\!mr-0 { margin-right: 0 !important; }
.mr-5 { margin-right: 5px; } .\!mr-5 { margin-right: 5px !important; }
.mr-10 { margin-right: 10px; } .\!mr-10 { margin-right: 10px !important; }
.mr-15 { margin-right: 15px; } .\!mr-15 { margin-right: 15px !important; }
.mr-20 { margin-right: 20px; } .\!mr-20 { margin-right: 20px !important; }
.mr-25 { margin-right: 25px; } .\!mr-25 { margin-right: 25px !important; }
.mr-30 { margin-right: 30px; } .\!mr-30 { margin-right: 30px !important; }
.mr-35 { margin-right: 35px; } .\!mr-35 { margin-right: 35px !important; }
.mr-40 { margin-right: 40px; } .\!mr-40 { margin-right: 40px !important; }
.mr-45 { margin-right: 45px; } .\!mr-45 { margin-right: 45px !important; }
.mr-50 { margin-right: 50px; } .\!mr-50 { margin-right: 50px !important; }
.mr-55 { margin-right: 55px; } .\!mr-55 { margin-right: 55px !important; }
.mr-60 { margin-right: 60px; } .\!mr-60 { margin-right: 60px !important; }
.mr-65 { margin-right: 65px; } .\!mr-65 { margin-right: 65px !important; }
.mr-70 { margin-right: 70px; } .\!mr-70 { margin-right: 70px !important; }
.mr-75 { margin-right: 75px; } .\!mr-75 { margin-right: 75px !important; }
.mr-80 { margin-right: 80px; } .\!mr-80 { margin-right: 80px !important; }
.mr-85 { margin-right: 85px; } .\!mr-85 { margin-right: 85px !important; }
.mr-90 { margin-right: 90px; } .\!mr-90 { margin-right: 90px !important; }
.mr-95 { margin-right: 95px; } .\!mr-95 { margin-right: 95px !important; }
.mr-100 { margin-right: 100px; } .\!mr-100 { margin-right: 100px !important; }

.mt-0 { margin-top: 0; } .\!mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: 1px; } .\!mt-1 { margin-top: 1px !important; }
.mt-2 { margin-top: 2px; } .\!mt-2 { margin-top: 2px !important; }
.mt-3 { margin-top: 3px; } .\!mt-3 { margin-top: 3px !important; }
.mt-4 { margin-top: 4px; } .\!mt-4 { margin-top: 4px !important; }
.mt-5 { margin-top: 5px; } .\!mt-5 { margin-top: 5px !important; }
.mt-10 { margin-top: 10px; } .\!mt-10 { margin-top: 10px !important; }
.mt-15 { margin-top: 15px; } .\!mt-15 { margin-top: 15px !important; }
.mt-20 { margin-top: 20px; } .\!mt-20 { margin-top: 20px !important; }
.mt-25 { margin-top: 25px; } .\!mt-25 { margin-top: 25px !important; }
.mt-30 { margin-top: 30px; } .\!mt-30 { margin-top: 30px !important; }
.mt-35 { margin-top: 35px; } .\!mt-35 { margin-top: 35px !important; }
.mt-40 { margin-top: 40px; } .\!mt-40 { margin-top: 40px !important; }
.mt-45 { margin-top: 45px; } .\!mt-45 { margin-top: 45px !important; }
.mt-50 { margin-top: 50px; } .\!mt-50 { margin-top: 50px !important; }
.mt-55 { margin-top: 55px; } .\!mt-55 { margin-top: 55px !important; }
.mt-60 { margin-top: 60px; } .\!mt-60 { margin-top: 60px !important; }
.mt-65 { margin-top: 65px; } .\!mt-65 { margin-top: 65px !important; }
.mt-70 { margin-top: 70px; } .\!mt-70 { margin-top: 70px !important; }
.mt-75 { margin-top: 75px; } .\!mt-75 { margin-top: 75px !important; }
.mt-80 { margin-top: 80px; } .\!mt-80 { margin-top: 80px !important; }
.mt-85 { margin-top: 85px; } .\!mt-85 { margin-top: 85px !important; }
.mt-90 { margin-top: 90px; } .\!mt-90 { margin-top: 90px !important; }
.mt-95 { margin-top: 95px; } .\!mt-95 { margin-top: 95px !important; }
.mt-100 { margin-top: 100px; } .\!mt-100 { margin-top: 100px !important; }

.mb-0 { margin-bottom: 0; } .\!mb-0 { margin-bottom: 0 !important; }
.mb-5 { margin-bottom: 5px; } .\!mb-5 { margin-bottom: 5px !important; }
.mb-10 { margin-bottom: 10px; } .\!mb-10 { margin-bottom: 10px !important; }
.mb-15 { margin-bottom: 15px; } .\!mb-15 { margin-bottom: 15px !important; }
.mb-20 { margin-bottom: 20px; } .\!mb-20 { margin-bottom: 20px !important; }
.mb-25 { margin-bottom: 25px; } .\!mb-25 { margin-bottom: 25px !important; }
.mb-30 { margin-bottom: 30px; } .\!mb-30 { margin-bottom: 30px !important; }
.mb-35 { margin-bottom: 35px; } .\!mb-35 { margin-bottom: 35px !important; }
.mb-40 { margin-bottom: 40px; } .\!mb-40 { margin-bottom: 40px !important; }
.mb-45 { margin-bottom: 45px; } .\!mb-45 { margin-bottom: 45px !important; }
.mb-50 { margin-bottom: 50px; } .\!mb-50 { margin-bottom: 50px !important; }
.mb-55 { margin-bottom: 55px; } .\!mb-55 { margin-bottom: 55px !important; }
.mb-60 { margin-bottom: 60px; } .\!mb-60 { margin-bottom: 60px !important; }
.mb-65 { margin-bottom: 65px; } .\!mb-65 { margin-bottom: 65px !important; }
.mb-70 { margin-bottom: 70px; } .\!mb-70 { margin-bottom: 70px !important; }
.mb-75 { margin-bottom: 75px; } .\!mb-75 { margin-bottom: 75px !important; }
.mb-80 { margin-bottom: 80px; } .\!mb-80 { margin-bottom: 80px !important; }
.mb-85 { margin-bottom: 85px; } .\!mb-85 { margin-bottom: 85px !important; }
.mb-90 { margin-bottom: 90px; } .\!mb-90 { margin-bottom: 90px !important; }
.mb-95 { margin-bottom: 95px; } .\!mb-95 { margin-bottom: 95px !important; }
.mb-100 { margin-bottom: 100px; } .\!mb-100 { margin-bottom: 100px !important; }

.p-0 { padding: 0; } .\!p-0 { padding: 0 !important; }
.p-1 { padding: 1px; } .\!p-1 { padding: 1px !important; }
.p-2 { padding: 2px; } .\!p-2 { padding: 2px !important; }
.p-3 { padding: 3px; } .\!p-3 { padding: 3px !important; }
.p-4 { padding: 4px; } .\!p-4 { padding: 4px !important; }
.p-5 { padding: 5px; } .\!p-5 { padding: 5px !important; }
.p-6 { padding: 6px; } .\!p-6 { padding: 6px !important; }
.p-10 { padding: 10px; } .\!p-10 { padding: 10px !important; }
.p-12 { padding: 12px; } .\!p-12 { padding: 12px !important; }
.p-13 { padding: 13px; } .\!p-13 { padding: 13px !important; }
.p-15 { padding: 15px; } .\!p-15 { padding: 15px !important; }
.p-20 { padding: 20px; } .\!p-20 { padding: 20px !important; }
.p-25 { padding: 25px; } .\!p-25 { padding: 25px !important; }
.p-30 { padding: 30px; } .\!p-30 { padding: 30px !important; }
.p-35 { padding: 35px; } .\!p-35 { padding: 35px !important; }
.p-40 { padding: 40px; } .\!p-40 { padding: 40px !important; }
.p-45 { padding: 45px; } .\!p-45 { padding: 45px !important; }
.p-50 { padding: 50px; } .\!p-50 { padding: 50px !important; }
.p-55 { padding: 55px; } .\!p-55 { padding: 55px !important; }
.p-60 { padding: 60px; } .\!p-60 { padding: 60px !important; }
.p-65 { padding: 65px; } .\!p-65 { padding: 65px !important; }
.p-70 { padding: 70px; } .\!p-70 { padding: 70px !important; }
.p-75 { padding: 75px; } .\!p-75 { padding: 75px !important; }
.p-80 { padding: 80px; } .\!p-80 { padding: 80px !important; }
.p-85 { padding: 85px; } .\!p-85 { padding: 85px !important; }
.p-90 { padding: 90px; } .\!p-90 { padding: 90px !important; }
.p-95 { padding: 95px; } .\!p-95 { padding: 95px !important; }
.p-100 { padding: 100px; } .\!p-100 { padding: 100px !important; }

.pl-0 { padding-left: 0; } .\!pl-0 { padding-left: 0 !important; }
.pl-5 { padding-left: 5px; } .\!pl-5 { padding-left: 5px !important; }
.pl-10 { padding-left: 10px; } .\!pl-10 { padding-left: 10px !important; }
.pl-15 { padding-left: 15px; } .\!pl-15 { padding-left: 15px !important; }
.pl-20 { padding-left: 20px; } .\!pl-20 { padding-left: 20px !important; }
.pl-25 { padding-left: 25px; } .\!pl-25 { padding-left: 25px !important; }
.pl-30 { padding-left: 30px; } .\!pl-30 { padding-left: 30px !important; }
.pl-35 { padding-left: 35px; } .\!pl-35 { padding-left: 35px !important; }
.pl-40 { padding-left: 40px; } .\!pl-40 { padding-left: 40px !important; }
.pl-45 { padding-left: 45px; } .\!pl-45 { padding-left: 45px !important; }
.pl-50 { padding-left: 50px; } .\!pl-50 { padding-left: 50px !important; }
.pl-55 { padding-left: 55px; } .\!pl-55 { padding-left: 55px !important; }
.pl-60 { padding-left: 60px; } .\!pl-60 { padding-left: 60px !important; }
.pl-65 { padding-left: 65px; } .\!pl-65 { padding-left: 65px !important; }
.pl-70 { padding-left: 70px; } .\!pl-70 { padding-left: 70px !important; }
.pl-75 { padding-left: 75px; } .\!pl-75 { padding-left: 75px !important; }
.pl-80 { padding-left: 80px; } .\!pl-80 { padding-left: 80px !important; }
.pl-85 { padding-left: 85px; } .\!pl-85 { padding-left: 85px !important; }
.pl-90 { padding-left: 90px; } .\!pl-90 { padding-left: 90px !important; }
.pl-95 { padding-left: 95px; } .\!pl-95 { padding-left: 95px !important; }
.pl-100 { padding-left: 100px; } .\!pl-100 { padding-left: 100px !important; }
.pl-230 { padding-left: 230px; } .\!pl-230 { padding-left: 230px !important; }
.pl-250 { padding-left: 250px; } .\!pl-250 { padding-left: 250px !important; }

.pr-0 { padding-right: 0; } .\!pr-0 { padding-right: 0 !important; }
.pr-5 { padding-right: 5px; } .\!pr-5 { padding-right: 5px !important; }
.pr-10 { padding-right: 10px; } .\!pr-10 { padding-right: 10px !important; }
.pr-15 { padding-right: 15px; } .\!pr-15 { padding-right: 15px !important; }
.pr-20 { padding-right: 20px; } .\!pr-20 { padding-right: 20px !important; }
.pr-25 { padding-right: 25px; } .\!pr-25 { padding-right: 25px !important; }
.pr-30 { padding-right: 30px; } .\!pr-30 { padding-right: 30px !important; }
.pr-35 { padding-right: 35px; } .\!pr-35 { padding-right: 35px !important; }
.pr-40 { padding-right: 40px; } .\!pr-40 { padding-right: 40px !important; }
.pr-45 { padding-right: 45px; } .\!pr-45 { padding-right: 45px !important; }
.pr-50 { padding-right: 50px; } .\!pr-50 { padding-right: 50px !important; }
.pr-55 { padding-right: 55px; } .\!pr-55 { padding-right: 55px !important; }
.pr-60 { padding-right: 60px; } .\!pr-60 { padding-right: 60px !important; }
.pr-65 { padding-right: 65px; } .\!pr-65 { padding-right: 65px !important; }
.pr-70 { padding-right: 70px; } .\!pr-70 { padding-right: 70px !important; }
.pr-75 { padding-right: 75px; } .\!pr-75 { padding-right: 75px !important; }
.pr-80 { padding-right: 80px; } .\!pr-80 { padding-right: 80px !important; }
.pr-85 { padding-right: 85px; } .\!pr-85 { padding-right: 85px !important; }
.pr-90 { padding-right: 90px; } .\!pr-90 { padding-right: 90px !important; }
.pr-95 { padding-right: 95px; } .\!pr-95 { padding-right: 95px !important; }
.pr-100 { padding-right: 100px; } .\!pr-100 { padding-right: 100px !important; }

.pt-0 { padding-top: 0; } .\!pt-0 { padding-top: 0 !important; }
.pt-5 { padding-top: 5px; } .\!pt-5 { padding-top: 5px !important; }
.pt-10 { padding-top: 10px; } .\!pt-10 { padding-top: 10px !important; }
.pt-15 { padding-top: 15px; } .\!pt-15 { padding-top: 15px !important; }
.pt-20 { padding-top: 20px; } .\!pt-20 { padding-top: 20px !important; }
.pt-25 { padding-top: 25px; } .\!pt-25 { padding-top: 25px !important; }
.pt-30 { padding-top: 30px; } .\!pt-30 { padding-top: 30px !important; }
.pt-35 { padding-top: 35px; } .\!pt-35 { padding-top: 35px !important; }
.pt-40 { padding-top: 40px; } .\!pt-40 { padding-top: 40px !important; }
.pt-45 { padding-top: 45px; } .\!pt-45 { padding-top: 45px !important; }
.pt-50 { padding-top: 50px; } .\!pt-50 { padding-top: 50px !important; }
.pt-55 { padding-top: 55px; } .\!pt-55 { padding-top: 55px !important; }
.pt-60 { padding-top: 60px; } .\!pt-60 { padding-top: 60px !important; }
.pt-65 { padding-top: 65px; } .\!pt-65 { padding-top: 65px !important; }
.pt-70 { padding-top: 70px; } .\!pt-70 { padding-top: 70px !important; }
.pt-75 { padding-top: 75px; } .\!pt-75 { padding-top: 75px !important; }
.pt-80 { padding-top: 80px; } .\!pt-80 { padding-top: 80px !important; }
.pt-85 { padding-top: 85px; } .\!pt-85 { padding-top: 85px !important; }
.pt-90 { padding-top: 90px; } .\!pt-90 { padding-top: 90px !important; }
.pt-95 { padding-top: 95px; } .\!pt-95 { padding-top: 95px !important; }
.pt-100 { padding-top: 100px; } .\!pt-100 { padding-top: 100px !important; }

.pb-0 { padding-bottom: 0; } .\!pb-0 { padding-bottom: 0 !important; }
.pb-5 { padding-bottom: 5px; } .\!pb-5 { padding-bottom: 5px !important; }
.pb-10 { padding-bottom: 10px; } .\!pb-10 { padding-bottom: 10px !important; }
.pb-15 { padding-bottom: 15px; } .\!pb-15 { padding-bottom: 15px !important; }
.pb-20 { padding-bottom: 20px; } .\!pb-20 { padding-bottom: 20px !important; }
.pb-25 { padding-bottom: 25px; } .\!pb-25 { padding-bottom: 25px !important; }
.pb-30 { padding-bottom: 30px; } .\!pb-30 { padding-bottom: 30px !important; }
.pb-35 { padding-bottom: 35px; } .\!pb-35 { padding-bottom: 35px !important; }
.pb-40 { padding-bottom: 40px; } .\!pb-40 { padding-bottom: 40px !important; }
.pb-45 { padding-bottom: 45px; } .\!pb-45 { padding-bottom: 45px !important; }
.pb-50 { padding-bottom: 50px; } .\!pb-50 { padding-bottom: 50px !important; }
.pb-55 { padding-bottom: 55px; } .\!pb-55 { padding-bottom: 55px !important; }
.pb-60 { padding-bottom: 60px; } .\!pb-60 { padding-bottom: 60px !important; }
.pb-65 { padding-bottom: 65px; } .\!pb-65 { padding-bottom: 65px !important; }
.pb-70 { padding-bottom: 70px; } .\!pb-70 { padding-bottom: 70px !important; }
.pb-75 { padding-bottom: 75px; } .\!pb-75 { padding-bottom: 75px !important; }
.pb-80 { padding-bottom: 80px; } .\!pb-80 { padding-bottom: 80px !important; }
.pb-85 { padding-bottom: 85px; } .\!pb-85 { padding-bottom: 85px !important; }
.pb-90 { padding-bottom: 90px; } .\!pb-90 { padding-bottom: 90px !important; }
.pb-95 { padding-bottom: 95px; } .\!pb-95 { padding-bottom: 95px !important; }
.pb-100 { padding-bottom: 100px; } .\!pb-100 { padding-bottom: 100px !important; }
.pb-150 { padding-bottom: 150px; } .\!pb-150 { padding-bottom: 150px !important; }

.ph-10 { padding-left: 10px; padding-right: 10px; } .\!ph-10 { padding-left: 10px !important; padding-right: 10px !important; }
.ph-20 { padding-left: 20px; padding-right: 20px; } .\!ph-20 { padding-left: 20px !important; padding-right: 20px !important; }
.ph-30 { padding-left: 30px; padding-right: 30px; } .\!ph-30 { padding-left: 30px !important; padding-right: 30px !important; }
.ph-40 { padding-left: 40px; padding-right: 40px; } .\!ph-40 { padding-left: 40px !important; padding-right: 40px !important; }
.ph-50 { padding-left: 50px; padding-right: 50px; } .\!ph-50 { padding-left: 50px !important; padding-right: 50px !important; }
.ph-60 { padding-left: 60px; padding-right: 60px; } .\!ph-60 { padding-left: 60px !important; padding-right: 60px !important; }
.ph-70 { padding-left: 70px; padding-right: 70px; } .\!ph-70 { padding-left: 70px !important; padding-right: 70px !important; }
.ph-80 { padding-left: 80px; padding-right: 80px; } .\!ph-80 { padding-left: 80px !important; padding-right: 80px !important; }
.ph-90 { padding-left: 90px; padding-right: 90px; } .\!ph-90 { padding-left: 90px !important; padding-right: 90px !important; }
.ph-100 { padding-left: 100px; padding-right: 100px; } .\!ph-100 { padding-left: 100px !important; padding-right: 100px !important; }
.ph-150 { padding-left: 150px; padding-right: 150px; } .\!ph-150 { padding-left: 150px !important; padding-right: 150px !important; }
.ph-200 { padding-left: 200px; padding-right: 200px; } .\!ph-200 { padding-left: 200px !important; padding-right: 200px !important; }
.ph-250 { padding-left: 250px; padding-right: 250px; } .\!ph-250 { padding-left: 250px !important; padding-right: 250px !important; }
.ph-300 { padding-left: 300px; padding-right: 300px; } .\!ph-300 { padding-left: 300px !important; padding-right: 300px !important; }

.pv-10 { padding-top: 10px; padding-bottom: 10px; } .\!pv-10 { padding-top: 10px !important; padding-bottom: 10px !important; }
.pv-20 { padding-top: 20px; padding-bottom: 20px; } .\!pv-20 { padding-top: 20px !important; padding-bottom: 20px !important; }
.pv-30 { padding-top: 30px; padding-bottom: 30px; } .\!pv-30 { padding-top: 30px !important; padding-bottom: 30px !important; }
.pv-40 { padding-top: 40px; padding-bottom: 40px; } .\!pv-40 { padding-top: 40px !important; padding-bottom: 40px !important; }
.pv-50 { padding-top: 50px; padding-bottom: 50px; } .\!pv-50 { padding-top: 50px !important; padding-bottom: 50px !important; }
.pv-60 { padding-top: 60px; padding-bottom: 60px; } .\!pv-60 { padding-top: 60px !important; padding-bottom: 60px !important; }
.pv-70 { padding-top: 70px; padding-bottom: 70px; } .\!pv-70 { padding-top: 70px !important; padding-bottom: 70px !important; }
.pv-80 { padding-top: 80px; padding-bottom: 80px; } .\!pv-80 { padding-top: 80px !important; padding-bottom: 80px !important; }
.pv-90 { padding-top: 90px; padding-bottom: 90px; } .\!pv-90 { padding-top: 90px !important; padding-bottom: 90px !important; }
.pv-100 { padding-top: 100px; padding-bottom: 100px; } .\!pv-100 { padding-top: 100px !important; padding-bottom: 100px !important; }
.pv-150 { padding-top: 150px; padding-bottom: 150px; } .\!pv-150 { padding-top: 150px !important; padding-bottom: 150px !important; }
.pv-200 { padding-top: 200px; padding-bottom: 200px; } .\!pv-200 { padding-top: 200px !important; padding-bottom: 200px !important; }
.pv-250 { padding-top: 250px; padding-bottom: 250px; } .\!pv-250 { padding-top: 250px !important; padding-bottom: 250px !important; }
.pv-300 { padding-top: 300px; padding-bottom: 300px; } .\!pv-300 { padding-top: 300px !important; padding-bottom: 300px !important; }

.fw-100 { font-weight: 100; } .\!fw-100 { font-weight: 100 !important; }
.fw-200 { font-weight: 200; } .\!fw-200 { font-weight: 200 !important; }
.fw-300 { font-weight: 300; } .\!fw-300 { font-weight: 300 !important; }
.fw-400 { font-weight: 400; } .\!fw-400 { font-weight: 400 !important; }
.fw-500 { font-weight: 500; } .\!fw-500 { font-weight: 500 !important; }
.fw-600 { font-weight: 600; } .\!fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700; } .\!fw-700 { font-weight: 700 !important; }
.fw-800 { font-weight: 800; } .\!fw-800 { font-weight: 800 !important; }
.fw-900 { font-weight: 900; } .\!fw-900 { font-weight: 900 !important; }

.fs-0\.10 { font-size: 0.10em; } .\!fs-0\.10 { font-size: 0.10em !important; }
.fs-0\.15 { font-size: 0.15em; } .\!fs-0\.15 { font-size: 0.15em !important; }
.fs-0\.20 { font-size: 0.20em; } .\!fs-0\.20 { font-size: 0.20em !important; }
.fs-0\.25 { font-size: 0.25em; } .\!fs-0\.25 { font-size: 0.25em !important; }
.fs-0\.30 { font-size: 0.30em; } .\!fs-0\.30 { font-size: 0.30em !important; }
.fs-0\.35 { font-size: 0.35em; } .\!fs-0\.35 { font-size: 0.35em !important; }
.fs-0\.40 { font-size: 0.40em; } .\!fs-0\.40 { font-size: 0.40em !important; }
.fs-0\.45 { font-size: 0.45em; } .\!fs-0\.45 { font-size: 0.45em !important; }
.fs-0\.50 { font-size: 0.50em; } .\!fs-0\.50 { font-size: 0.50em !important; }
.fs-0\.55 { font-size: 0.55em; } .\!fs-0\.55 { font-size: 0.55em !important; }
.fs-0\.60 { font-size: 0.60em; } .\!fs-0\.60 { font-size: 0.60em !important; }
.fs-0\.65 { font-size: 0.65em; } .\!fs-0\.65 { font-size: 0.65em !important; }
.fs-0\.70 { font-size: 0.70em; } .\!fs-0\.70 { font-size: 0.70em !important; }
.fs-0\.75 { font-size: 0.75em; } .\!fs-0\.75 { font-size: 0.75em !important; }
.fs-0\.80 { font-size: 0.80em; } .\!fs-0\.80 { font-size: 0.80em !important; }
.fs-0\.85 { font-size: 0.85em; } .\!fs-0\.85 { font-size: 0.85em !important; }
.fs-0\.90 { font-size: 0.90em; } .\!fs-0\.90 { font-size: 0.90em !important; }
.fs-0\.95 { font-size: 0.95em; } .\!fs-0\.95 { font-size: 0.95em !important; }
.fs-1\.00 { font-size: 1.00em; } .\!fs-1\.00 { font-size: 1.00em !important; }
.fs-1\.05 { font-size: 1.05em; } .\!fs-1\.05 { font-size: 1.05em !important; }
.fs-1\.10 { font-size: 1.10em; } .\!fs-1\.10 { font-size: 1.10em !important; }
.fs-1\.15 { font-size: 1.15em; } .\!fs-1\.15 { font-size: 1.15em !important; }
.fs-1\.20 { font-size: 1.20em; } .\!fs-1\.20 { font-size: 1.20em !important; }
.fs-1\.25 { font-size: 1.25em; } .\!fs-1\.25 { font-size: 1.25em !important; }
.fs-1\.30 { font-size: 1.30em; } .\!fs-1\.30 { font-size: 1.30em !important; }
.fs-1\.35 { font-size: 1.35em; } .\!fs-1\.35 { font-size: 1.35em !important; }
.fs-1\.40 { font-size: 1.40em; } .\!fs-1\.40 { font-size: 1.40em !important; }
.fs-1\.45 { font-size: 1.45em; } .\!fs-1\.45 { font-size: 1.45em !important; }
.fs-1\.50 { font-size: 1.50em; } .\!fs-1\.50 { font-size: 1.50em !important; }
.fs-1\.55 { font-size: 1.55em; } .\!fs-1\.55 { font-size: 1.55em !important; }
.fs-1\.60 { font-size: 1.60em; } .\!fs-1\.60 { font-size: 1.60em !important; }
.fs-1\.65 { font-size: 1.65em; } .\!fs-1\.65 { font-size: 1.65em !important; }
.fs-1\.70 { font-size: 1.70em; } .\!fs-1\.70 { font-size: 1.70em !important; }
.fs-1\.75 { font-size: 1.75em; } .\!fs-1\.75 { font-size: 1.75em !important; }
.fs-1\.80 { font-size: 1.80em; } .\!fs-1\.80 { font-size: 1.80em !important; }
.fs-1\.85 { font-size: 1.85em; } .\!fs-1\.85 { font-size: 1.85em !important; }
.fs-1\.90 { font-size: 1.90em; } .\!fs-1\.90 { font-size: 1.90em !important; }
.fs-1\.95 { font-size: 1.95em; } .\!fs-1\.95 { font-size: 1.95em !important; }
.fs-2\.00 { font-size: 2.00em; } .\!fs-2\.00 { font-size: 2.00em !important; }
.fs-2\.05 { font-size: 2.05em; } .\!fs-2\.05 { font-size: 2.05em !important; }
.fs-2\.10 { font-size: 2.10em; } .\!fs-2\.10 { font-size: 2.10em !important; }
.fs-2\.15 { font-size: 2.15em; } .\!fs-2\.15 { font-size: 2.15em !important; }
.fs-2\.20 { font-size: 2.20em; } .\!fs-2\.20 { font-size: 2.20em !important; }
.fs-2\.25 { font-size: 2.25em; } .\!fs-2\.25 { font-size: 2.25em !important; }
.fs-2\.30 { font-size: 2.30em; } .\!fs-2\.30 { font-size: 2.30em !important; }
.fs-2\.35 { font-size: 2.35em; } .\!fs-2\.35 { font-size: 2.35em !important; }
.fs-2\.40 { font-size: 2.40em; } .\!fs-2\.40 { font-size: 2.40em !important; }
.fs-2\.45 { font-size: 2.45em; } .\!fs-2\.45 { font-size: 2.45em !important; }
.fs-2\.50 { font-size: 2.50em; } .\!fs-2\.50 { font-size: 2.50em !important; }
.fs-2\.55 { font-size: 2.55em; } .\!fs-2\.55 { font-size: 2.55em !important; }
.fs-2\.60 { font-size: 2.60em; } .\!fs-2\.60 { font-size: 2.60em !important; }
.fs-2\.65 { font-size: 2.65em; } .\!fs-2\.65 { font-size: 2.65em !important; }
.fs-2\.70 { font-size: 2.70em; } .\!fs-2\.70 { font-size: 2.70em !important; }
.fs-2\.75 { font-size: 2.75em; } .\!fs-2\.75 { font-size: 2.75em !important; }
.fs-2\.80 { font-size: 2.80em; } .\!fs-2\.80 { font-size: 2.80em !important; }
.fs-2\.85 { font-size: 2.85em; } .\!fs-2\.85 { font-size: 2.85em !important; }
.fs-2\.90 { font-size: 2.90em; } .\!fs-2\.90 { font-size: 2.90em !important; }
.fs-2\.95 { font-size: 2.95em; } .\!fs-2\.95 { font-size: 2.95em !important; }
.fs-3\.00 { font-size: 3.00em; } .\!fs-3\.00 { font-size: 3.00em !important; }

.fc-primary { color: var(--primary); } .\!fc-primary { color: var(--primary) !important; }
.fc-secondary { color: var(--secondary); } .\!fc-secondary { color: var(--secondary) !important; }
.fc-\#ffffff { color: #ffffff; } .\!fc-\#ffffff { color: #ffffff !important; }
.fc-\#444444 { color: #444444; } .\!fc-\#444444 { color: #444444 !important; }
.fc-\#555555 { color: #555555; } .\!fc-\#555555 { color: #555555 !important; }
.fc-\#60697B { color: #60697B; } .\!fc-\#60697B { color: #60697B !important; }
.fc-\#666666 { color: #666666; } .\!fc-\#666666 { color: #666666 !important; }
.fc-\#777777 { color: #777777; } .\!fc-\#777777 { color: #777777 !important; }
.fc-\#888888 { color: #888888; } .\!fc-\#888888 { color: #888888 !important; }
.fc-\#999999 { color: #999999; } .\!fc-\#999999 { color: #999999 !important; }
.fc-\#a1a1a1 { color: #a1a1a1; } .\!fc-\#a1a1a1 { color: #a1a1a1 !important; }
.fc-\#e3e3e3 { color: #e3e3e3; } .\!fc-\#e3e3e3 { color: #e3e3e3 !important; }
.fc-\#f1f1f1 { color: #f1f1f1; } .\!fc-\#f1f1f1 { color: #f1f1f1 !important; }
.fc-\#f7f7f7 { color: #f7f7f7; } .\!fc-\#f7f7f7 { color: #f7f7f7 !important; }
.fc-orange { color: var(--color-orange); } .\!fc-orange { color: var(--color-orange) !important; }
.fc-error { color: #ff5252; } .\!fc-error  { color: #ff5252 !important; }
.fc-accent{ color: var(--accent); } .\!fc-accent  { color: var(--accent) !important; }
.fc-active{ color: var(--active); } .\!fc-active  { color: var(--active) !important; }
.fc-deep-black{ color: var(--deep-black); } .\!fc-deep-black { color: var(--deep-black) !important; }
.fc-navy-black{ color: var(--navy-black); } .\!fc-navy-black { color: var(--navy-black) !important; }
.fc-success{ color: #4caf50; } .\!fc-success  { color: #4caf50 !important; }

.w-0\% { width: 0; } .\!w-0\% { width: 0 !important; }
.w-5\% { width: 5%; } .\!w-5\% { width: 5% !important; }
.w-10\% { width: 10%; } .\!w-10\% { width: 10% !important; }
.w-15\% { width: 15%; } .\!w-15\% { width: 15% !important; }
.w-20\% { width: 20%; } .\!w-20\% { width: 20% !important; }
.w-25\% { width: 25%; } .\!w-25\% { width: 25% !important; }
.w-30\% { width: 30%; } .\!w-30\% { width: 30% !important; }
.w-35\% { width: 35%; } .\!w-35\% { width: 35% !important; }
.w-40\% { width: 40%; } .\!w-40\% { width: 40% !important; }
.w-45\% { width: 45%; } .\!w-45\% { width: 45% !important; }
.w-50\% { width: 50%; } .\!w-50\% { width: 50% !important; }
.w-55\% { width: 55%; } .\!w-55\% { width: 55% !important; }
.w-60\% { width: 60%; } .\!w-60\% { width: 60% !important; }
.w-65\% { width: 65%; } .\!w-65\% { width: 65% !important; }
.w-70\% { width: 70%; } .\!w-70\% { width: 70% !important; }
.w-75\% { width: 75%; } .\!w-75\% { width: 75% !important; }
.w-80\% { width: 80%; } .\!w-80\% { width: 80% !important; }
.w-85\% { width: 85%; } .\!w-85\% { width: 85% !important; }
.w-90\% { width: 90%; } .\!w-90\% { width: 90% !important; }
.w-95\% { width: 95%; } .\!w-95\% { width: 95% !important; }
.w-100\% { width: 100%; } .\!w-100\% { width: 100% !important; }

.w-10px { width: 10px; } .\!w-10px { width: 10px !important; }
.w-20px { width: 20px; } .\!w-20px { width: 20px !important; }
.w-30px { width: 30px; } .\!w-30px { width: 30px !important; }
.w-40px { width: 40px; } .\!w-40px { width: 40px !important; }
.w-50px { width: 50px; } .\!w-50px { width: 50px !important; }
.w-60px { width: 60px; } .\!w-60px { width: 60px !important; }
.w-70px { width: 70px; } .\!w-70px { width: 70px !important; }
.w-80px { width: 80px; } .\!w-80px { width: 80px !important; }
.w-90px { width: 90px; } .\!w-90px { width: 90px !important; }
.w-100px { width: 100px; } .\!w-100px { width: 100px !important; }
.w-110px { width: 110px; } .\!w-110px { width: 110px !important; }
.w-120px { width: 120px; } .\!w-120px { width: 120px !important; }
.w-130px { width: 130px; } .\!w-130px { width: 130px !important; }
.w-140px { width: 140px; } .\!w-140px { width: 140px !important; }
.w-150px { width: 150px; } .\!w-150px { width: 150px !important; }
.w-160px { width: 160px; } .\!w-160px { width: 160px !important; }
.w-170px { width: 170px; } .\!w-170px { width: 170px !important; }
.w-180px { width: 180px; } .\!w-180px { width: 180px !important; }
.w-190px { width: 190px; } .\!w-190px { width: 190px !important; }
.w-200px { width: 200px; } .\!w-200px { width: 200px !important; }
.w-210px { width: 210px; } .\!w-210px { width: 210px !important; }
.w-220px { width: 220px; } .\!w-220px { width: 220px !important; }
.w-230px { width: 230px; } .\!w-230px { width: 230px !important; }
.w-240px { width: 240px; } .\!w-240px { width: 240px !important; }
.w-250px { width: 250px; } .\!w-250px { width: 250px !important; }
.w-260px { width: 260px; } .\!w-260px { width: 260px !important; }
.w-270px { width: 270px; } .\!w-270px { width: 270px !important; }
.w-280px { width: 280px; } .\!w-280px { width: 280px !important; }
.w-290px { width: 290px; } .\!w-290px { width: 290px !important; }
.w-300px { width: 300px; } .\!w-300px { width: 300px !important; }
.w-310px { width: 310px; } .\!w-310px { width: 310px !important; }
.w-320px { width: 320px; } .\!w-320px { width: 320px !important; }
.w-330px { width: 330px; } .\!w-330px { width: 330px !important; }
.w-340px { width: 340px; } .\!w-340px { width: 340px !important; }
.w-350px { width: 350px; } .\!w-350px { width: 350px !important; }
.w-360px { width: 360px; } .\!w-360px { width: 360px !important; }
.w-370px { width: 370px; } .\!w-370px { width: 370px !important; }
.w-380px { width: 380px; } .\!w-380px { width: 380px !important; }
.w-390px { width: 390px; } .\!w-390px { width: 390px !important; }
.w-400px { width: 400px; } .\!w-400px { width: 400px !important; }
/***/
.w-500px { width: 500px; } .\!w-500px { width: 500px !important; }
/***/
.w-600px { width: 600px; } .\!w-600px { width: 600px !important; }
/***/
.w-700px { width: 700px; } .\!w-700px { width: 700px !important; }



.min-h-0 { min-height: 0; } .\!min-h-0  { min-height: 0 !important; }

.min-w-200px { min-width: 200px; } .\!min-w-200px { min-width: 200px !important; }
.min-w-250px { min-width: 250px; } .\!min-w-250px { min-width: 250px !important; }
.min-w-350px { min-width: 350px; } .\!min-w-350px { min-width: 350px !important; }




.text-italic{ font-style: italic; }
.text-upper{ text-transform: uppercase; }
.text-block{ display: block }
.text-left { text-align: left } .\!text-left { text-align: left !important; }
.text-center { text-align: center } .\!text-center { text-align: center !important; }
.text-right { text-align: right }
.text-justify { text-align: justify }
.text-justify-all { text-align: justify-all }
.text-shadow { text-shadow: 0 2px 5px rgba(0,0,0,0.6); }
.text-underline { text-decoration: underline; }
.text-underline-none,
.text-underline-none:hover,
.text-underline-none:focus,
.text-underline-none:active {
    -webkit-tap-highlight-color: transparent;
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.text-clamp {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.text-clamp.required-rows {
    text-overflow: ellipsis;
    line-height: 1.5;
    height: calc(1.5em * 3);
}
.text-clamp.clamp-1 { -webkit-line-clamp: 1 }
.text-clamp.clamp-1.required-rows { height: calc(1.5em * 1); }
.text-clamp.clamp-2 { -webkit-line-clamp: 2 }
.text-clamp.clamp-2.required-rows { height: calc(1.5em * 2);}

.text-break-slash {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.fit-content { width: fit-content }

.unselectable{ user-select: none; }

.pointer {cursor: pointer}


.hidden { display: none !important; visibility: hidden !important;}

.sync {
    animation: rotate 1s linear infinite;
}
.sync-slow {
    animation: rotate 2s linear infinite;
}
@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}


/*#endregion*/

/*#region btn */

.btn{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    border: none;
    outline: none;

    display: inline-block;
    padding: 15px 22px;
    margin: 0;
    width: max-content;

    background: var(--primary);
    border-radius: 25px;

    color: #fff;
    font-family: var(--font-family);
    font-weight: 500;
    text-align: center;

    cursor: pointer;
    transition: background 0.2s ease, transform 0.05s ease;
}
.btn:hover{
    background: var(--secondary);
    color: #fff;
}
.btn.btn-dark{
    background: var(--secondary);
}
.btn.btn-dark:hover{
    background: rgba(57, 57, 57, 0.8);
    color: #fff;
}
.btn.btn-light{
    background: #e3e3e3;
    color: var(--secondary);
}
.btn.btn-light:hover{
    background: rgba(200, 200, 200, 0.8);
    color: var(--secondary);
}
.btn.btn-orange{
    background: var(--color-orange);
    color: #fff;
    transition: background-color 0.3s;
}
.btn.btn-orange:hover{
    background: #FF704399;
}
.btn.btn-white{
    background: var(--white);
    color: var(--navy-black);
    transition: background-color 0.3s;
}
.btn.btn-white:hover{
    background: #f6f6f6;
}
.btn.btn-error{
    background: var(--error);
    color: #fff;
    transition: background-color 0.3s;
}
.btn.btn-error:hover{
    background: #c6282899;
}
.btn.btn-transparent{
    background: transparent;
    color: var(--primary);
}
.btn.btn-transparent i{
    color: var(--primary);
}
.btn.btn-transparent:hover{
    background: rgba(57, 57, 57, 0.8);
    color: #fff;
}
.btn.btn-transparent:hover i{
    color: #fff;
}
.btn.btn-transparent-light,
.btn.btn-transparent-light i{
    transition: color 0.1s ease-in-out;
}
.btn.btn-transparent-light:hover{
    background: rgba(57, 57, 57, 0.01);
    color: #777;
}
.btn.btn-transparent-light:hover i{
    color: #777;
}
.btn.btn-muted,
.btn.btn-muted i {
    color: inherit;
}

.btn.btn-muted:hover {
    background: transparent;
    color: inherit;
}
.btn.btn-muted:hover i {
    color: inherit;
}


.btn-full{
    width: 100% !important;
    box-sizing: border-box;
}
.btn-medium,
.btn-medium-full{
    padding: 8px 20px;
    font-size: 14px;
}
.btn-small,
.btn-small-full{
    padding: 6px 15px;
    font-size: 12px;
}
.btn-small-full{
    width: calc(100% - 30px);
}
.btn-ultra-small{
    padding: 3px 12px;
}
.btn-inline{
    display: inline-block;
}
.btn i{
    color: var(--white);
}
.btn-light i{
    color: var(--secondary);
}
/****/
.btn-uploader{
    position: relative;
    cursor: pointer !important;
}
.btn-uploader input[type=file]{
    position: absolute;
    top: 0;
    z-index: 1;
    opacity: 0;
    cursor: pointer !important;
    left: 0;
    background: transparent;
    font-size: 500px;
    height: 100% !important;
    width: 100% !important;
}


[data-btn-icon]{
    padding: 8px !important;
}
[data-btn-icon] i{
    color: #b5b5b5;
}
[data-btn-icon]:hover i{
    color: #FFF;
}
[data-btn-icon]::before{
    content: attr(data-btn-icon);
    opacity: 0;
    display: none;
    transition: opacity 0.3s ease-in-out;
    padding: 0 5px;
}
[data-btn-icon]:hover::before{
    display: inline-block;
    opacity: 1;
}
[data-btn-icon]:hover i[class*="fc-"]{
    color: #FFF !important;
}


/*#endregion*/

/*#region listview */

[data-entity-view]{
    display: flex;
    flex: 1;
    flex-direction: column;
    height: 100%;
}

.listview{

    flex: 1;
    min-height: 0;
    margin: 20px;
    padding: 20px;
    display: flex;
    flex-direction: column;

    /*height: 100%;*/
    box-sizing: border-box;
    background: #fff;
    border-radius: 8px;
}

.listview-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.listview-tabs {
    display: flex;
    gap: 10px;
    /*margin-bottom: 15px;*/
}
.listview-tabs .tab {
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 20px;
    background: #f5f7fa;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
}
.listview-tabs .tab span {
    /*background: #e3e3e3;*/
    /*border-radius: 10px;*/
    /*padding: 2px 6px;*/
    /*font-size: 11px;*/
    text-transform: uppercase;
    font-size: .9em;
}
.listview-tabs .tab span sup {
    text-transform: none;
}
.listview-tabs .tab span u {
    text-transform: none;
    text-decoration: none;
}
.listview-tabs .tab:hover {
    background: #e9eef5;
}
.listview-tabs .tab.active {
    background: #19585f;
    color: #fff;
}
.listview-tabs .tab.active i{
    color: #fff;
}
.listview-tabs .tab.active span {
    /*background: rgba(255,255,255,0.2);*/
}
.listview-tabs .tab.tab-add{
    padding: 6px;
    background: #e3e3e3;
}
.listview-tabs .tab.tab-add i{
}
.listview-tabs .tab.tab-add:hover{
    background: var(--primary);
}
.listview-tabs .tab.tab-add:hover i{
    color: #fff;
}




.listview-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}
.listview-actions .search {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f5f7fa;
    padding: 6px 10px;
    border-radius: 8px;
    border: 2px solid #e3e3e3;
}
.listview-actions .search:focus,
.listview-actions .search:hover {
    border: 2px solid var(--primary);
}
.listview-actions .search input {
    border: none;
    outline: none;
    background: transparent;
    font-size: 13px;
    font-weight: 600;
    min-width: 220px;
}
.listview-actions .search i {
    font-size: 18px;
    color: #666;
}







.listview-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    box-sizing: border-box;
}
/*.listview-container > table {
    table-layout: fixed;
    width: 100%;
}*/


.listview-bulkbar {
    display: flex;
    flex-direction: row;
    align-items: center;
    min-height: 0;
    box-sizing: border-box;
    border: 1px solid #e3e3e3;
    background: #f8f8f8;
    margin-bottom: 10px;
    border-radius: 3px;
    padding: 10px;
    font-size: .9em;
    font-weight: 500;
}
.listview-bulkbar .actions{
    display: flex;
    align-items: center;
    margin-left: auto;
    gap: 6px;
}
.listview-bulkbar .btn{
    font-weight: 600;
}


.listview-body {
    display: flex;
    /*flex-direction: column;*/
    height: 100%;
    /*min-height: 0;*/
    /*box-sizing: border-box;*/
    overflow: hidden;
}
/*
.listview-body > table {
    table-layout: fixed;
    width: 100%;
}*/

/***************/


.gridview-root {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    min-height: 0;
    box-sizing: border-box;
}
.gridview-root > table {
    table-layout: fixed;
    width: 100%;
}

.gridview-body {
    flex: 1;
    overflow: auto;
    /*overflow-y: auto;*/
    min-height: 0;
    /*border-radius: 8px;*/
    border-left: 1px solid #e3e3e3;
    border-right: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
}
.gridview-body::-webkit-scrollbar-thumb:hover{background: #19585f99;}
.gridview-body::-webkit-scrollbar-thumb{background: #19585f;border-radius: 4px;border: 1px solid #19585f90; border-bottom-right-radius: 12px;}
.gridview-body::-webkit-scrollbar{width:10px!important;height:10px!important;}
.gridview-body::-webkit-scrollbar-track{right: 15px; background: #f1f1f1 !important; border-bottom-right-radius: 12px;}


.gridview-body table {
    table-layout: fixed;
    width: 100%;
}
.gridview tbody td {
    height: 35px;
    max-height: 35px;
    overflow: hidden;
}


.gridview {
    /*width: 100%;*/
    width: max-content;
    min-width: 100%;
    table-layout: fixed;
    font-family: var(--font-family);
    color: #333;
    text-align: left;
    background-color: #fff;
    border-collapse: separate;
    border-spacing: 0;
}

/* header */
.gridview thead tr th:first-child {
    border-top-left-radius: 12px;
}
.gridview thead tr th:last-child {
    border-top-right-radius: 12px;
}
.gridview thead tr th{
    position: sticky !important;
    /*background-color: #FFF; !*#f0f9ff;*!*/
    background-color: #19585f30;
    border-color: #E3E3E3 #e7f2fb #E3E3E3;
    border-style: solid;
    border-width: 1px;
    padding: 3px 6px;
    font-size: .8em;
    font-weight: 600;
    line-height: normal;
    height: 35px;
    color: #212121;
    /*color: #fff;*/
    text-align: left;
    z-index: 555;
}

/** sort **/
.gridview thead th.sortable {
    cursor: pointer;
    user-select: none;
}
.gridview thead th .sort-icon {
    opacity: 0;
    font-size: 16px;
    margin-left: 4px;
    vertical-align: middle;
    transition: opacity 0.15s ease;
}
.gridview thead th.sortable:hover .sort-icon {
    opacity: 0.6;
}
.gridview thead th.sorted .sort-icon {
    opacity: 1;
}


/* tbody */
.gridview tbody td {
    font-family: var(--font-family);
    font-size: .8em;
    padding: 5px 6px;
    line-height: 25px;
    vertical-align: middle;
    color: #333;
    text-align: left;
    border-top: 1px solid #edf1f5;
    border-bottom: 1px solid #edf1f5;

    /*max-width: 150px;*/
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.gridview.gridview-table tbody td:first-child{
    border-left: 1px solid #edf1f5;
}
.gridview.gridview-table tbody td:last-child{
    border-right: 1px solid #edf1f5;
}
.gridview tbody td i {
    cursor: pointer;
}
.gridview tbody > tr.hover > td,
.gridview tbody > tr:hover > td,
.gridview tbody > tr.even:hover > td,
.gridview tbody > tr.odd:hover > td {
    background-color: #19585f20;
    border-right: 0;
    border-left: 0;
    border-color: #19585f50;
    border-style: double;
}

.gridview tbody tr:nth-child(even) {
    background: #f8f8f8;
}



.gridview-footer {
    position: relative;
    height: 40px;
    /*border-top: 1px solid #E3E3E3;*/
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 10px 0;
    box-sizing: border-box;
    z-index: 10;
}
.gridview-footer .pagination {
    display: flex;
    gap: 5px;
    user-select: none;
}

.gridview-footer .pagination > a {
    position: relative;
    border: 1px solid #ddd;
    background: #fff;
    padding: 4px 8px;
    font-size: 12px;
    cursor: pointer;
    color: var(--secondary);
    font-weight: 600;
}

/*.gridview-footer .pagination > a.pagination-prev::before {
    font-family: "Material Symbols Outlined", system-ui, sans-serif;
    content: "keyboard_arrow_left";
    position: absolute;
    left: -10px;
    top: 0;
    transform: translateX(50%);
}
.gridview-footer .pagination > a.pagination-next {

}*/

.gridview-footer .pagination > a:hover {
    background: #19585f20;
}

.gridview-footer .pagination > a.active {
    background: #19585f;
    color: #fff;
    border-color: #19585f;
}



.gridview .chk {
    width: 16px;
    height: 16px;
    accent-color: #19585f;
    transform: scale(1.1);
}
.gridview .col-checkbox {
    width: 42px;
    min-width: 42px;
    max-width: 42px;
    text-align: center;
    vertical-align: middle;
    padding: 3px 0 0 0;
}
.gridview .col-checkbox input {
    margin: 0;
}
.gridview td {
    position: relative !important;
}
/*
.gridview tr td a {
    position: absolute !important;
    right: 5px;
    top: 4px;
    padding: 1px 8px !important;
    font-size: .8em !important;
    opacity: 0;
}
.gridview tr:hover a {
    opacity: 1;
}*/


/*#endregion*/

/*#region form */

.form{
    position: relative;
    display: flex;
    width: 100%;
    box-sizing: border-box;
    padding: 1px;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
}
.form.form-with-radius{
    border-radius: var(--border-radius);
}
.form.form-with-footer{
    padding-bottom: 64px;
}
.form .form-header{
    background: #f7f7f7;
    padding: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    color: var(--primary);
    font-weight: 400;
    border-bottom: 2px solid var(--primary);
    margin: 10px 0;
    display: flex;
}
.form input{
    outline: none;
    position: relative;
}
.form input[type="date"],
.form input[type="time"] {
    -webkit-appearance: none;
    appearance: none;
}
.form input[type="date"]::-webkit-inner-spin-button,
.form input[type="time"]::-webkit-inner-spin-button {
    color: red;
}
/* placeholder text style */
.form input[type="date"]::-webkit-datetime-edit-text,
.form input[type="date"]::-webkit-datetime-edit-month-field,
.form input[type="date"]::-webkit-datetime-edit-day-field,
.form input[type="date"]::-webkit-datetime-edit-year-field {
    color: red;
}
/* regular text style */
.form input[type="date"].date-input--has-value::-webkit-datetime-edit-text,
.form input[type="date"].date-input--has-value::-webkit-datetime-edit-month-field,
.form input[type="date"].date-input--has-value::-webkit-datetime-edit-day-field,
.form input[type="date"].date-input--has-value::-webkit-datetime-edit-year-field {
    color: red;
}
.form input[type="text"],
.form input[type="password"],
.form input[type="email"],
.form input[type="tel"],
.form input[type="date"],
.form input[type="time"],
.form input[type="number"]{
    /*margin: 1px;*/
    background: #fff;
    padding: 12px 10px;
    border: 1px solid #d1d1d1;
    border-radius: 4px;
    width: 100%;
    font-family: var(--font-family);
    font-weight: 400;
    box-sizing: border-box;
    font-size: 14px;
    transition: box-shadow 0.2s ease;
}
.form input[type="text"]:hover,
.form input[type="password"]:hover,
.form input[type="email"]:hover,
.form input[type="tel"]:hover,
.form input[type="date"]:hover,
.form input[type="time"]:hover,
.form input[type="number"]:hover{
    outline: 2px solid var(--secondary);
}
.form input[type="text"]:focus,
.form input[type="password"]:focus,
.form input[type="email"]:focus,
.form input[type="tel"]:focus,
.form input[type="date"]:focus,
.form input[type="time"]:focus,
.form input[type="number"]:focus{
    outline: 2px solid var(--secondary);
}
.form input[type="text"].error,
.form input[type="password"].error,
.form input[type="email"].error,
.form input[type="tel"].error,
.form input[type="date"].error,
.form input[type="time"].error,
.form input[type="number"].error{
    outline: 2px solid var(--error);
}
.form input[type="text"]:disabled,
.form input[type="email"]:disabled{
    border-color: #dfdfdf;
    color: #9f9f9f;
}
.form input[data-icon]{
    padding-left: 38px;
}
.form .input-icon{
    display: flex;
    position: relative;
    width: fit-content;
    /*height: fit-content;*/
    min-width: 250px;
    height: calc(100% - 1px);
}
.form .input-icon i{
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    color: #888;
}

.form label{
    display: block;
    padding: 4px 0 !important;
    font-weight: 400;
    font-family: var(--font-family);
    font-size: .8em;
    color: #666;
}
.form label.error{
    color: var(--error);
    font-weight: 500;
}
.form textarea{
    outline: none;
    display: block;
    padding: 12px;
    border: 1px solid #d1d1d1;
    border-radius: 4px;
    min-width: 100%;
    max-width: 100%;
    width: 100%;
    min-height: 40px;
    font-family: var(--font-family);
    font-size: 13px;
    box-sizing: border-box;
    transition: box-shadow 0.2s ease;
    resize: vertical;
    overflow-y: auto;
}
.form textarea:hover{
    outline: 2px solid var(--secondary);
}
.form textarea:focus{
    outline: 2px solid var(--secondary);
}
.form textarea.error,
.form textarea.error:hover{
    margin: 0 !important;
    box-shadow: 0 0 0 1px var(--error);
}
/*
.form .textarea[contenteditable]{
    min-height: 80px;
}
.form .textarea[contenteditable=true]:empty:not(:focus):before{
    content:attr(data-placeholder);
    color:grey;
    font-weight: 100;
}
.form .textarea[contenteditable]:focus{
    margin: 0 !important;
    outline: 0 solid #4b8cf8;
}*/
.form select{
    /*margin: 1px;*/
    display: block;
    padding: 11px 10px 10px;
    border: 1px solid #d1d1d1;
    /*outline: 1px solid #d1d1d1;*/
    border-radius: 4px;
    width: 100%;
    /*min-height: 40px;*/
    font-family: var(--font-family);
    font-size: 14px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    transition: box-shadow 0.2s ease;
}
.form select:hover{
    outline: 2px solid var(--secondary);
}
.form select:focus{
    outline: 2px solid var(--secondary);
}
.form select:disabled{
    background: #fafafa !important;
    /*border-color: #d1d1d1 !important;*/
    /*color: #7a7a7a !important;*/
}
.form select * {
    font-family: var(--font-family);
    font-size: 14px;
}
.form select.error{
    box-shadow: 0 0 0 1px var(--error);
}
.form select {
    color: var(--navy-black);
}
.form select:disabled {
    color: #a1a1a1;
}
.select {
    /*height: 100%;*/
}
.form select.select {
    display: flex;
    align-items: center;
    height: 49px;
    min-width: 70px;
    margin: 0;
    padding: 10px 36px 10px 10px; /* + d’espace pour la flèche */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 2px solid var(--navy-black);
    border-radius: 5px;
    background-color: #fff;
    font-size: 14px;
    font-weight: bold;
    color: var(--navy-black);
    text-align: center;
    text-align-last: center;

    background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' fill='%23000000'>\
<path d='M7 9l5 6 5-6z'/>\
</svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 24px 24px;
}


.form .input-length{
    position: absolute;
    right: 0;
    top: 0;
    font-size: 10px;
    font-weight: 500;
    color: #999;
}
.form.form-column{}
.form.form-column .flex{ position: relative; }
.form.form-column .input-length{ top: -18px; }
.form .help{
    font-weight: 400;
    font-size: .8em;
    color: #666;
}






.form span.form-help{
    /*float: left;*/
    display: block;
    font-size: 11px;
    width: 100%;
    /*width: calc(100% - 60px);*/
    padding: 4px;
    font-family: var(--font-family);
    font-weight: 400;
    color: #555;
}
.form .form-length{
    float: right;
    font-size: 11px;
}
.form .form-footer{
    position: absolute;
    bottom: 0;
    left: 0;
    background: #f7f7f7;
    border-top: 1px solid #e3e3e3;
    display: block;
    width: calc(100% - 30px);
    height: 36px;
    padding: 12px 15px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}


.form .form-row {
    position: relative;
    display: block;
    clear: both;
    margin: 20px 0;
}
.form .form-row-small {
    margin: 10px 0;
}

.form .form-block{
    background: #f3f3f3;
    border-radius: var(--border-radius);
    padding: 20px;
}
.form .form-block .form-block-header{
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
}
.form .form-block a{
    font-size: 12px;
    font-weight: 500;
}
.form .form-block a:hover{
    text-decoration: underline;
}


/*.form input[type="radio"] {*/
/*    appearance: none;*/
/*    -webkit-appearance: none;*/
/*    width: 22px;*/
/*    height: 22px;*/
/*    margin: 0;*/
/*    border: 2px solid #c5c5c5;*/
/*    border-radius: 50%;*/
/*    background: #fff;*/
/*    cursor: pointer;*/
/*    position: relative;*/
/*    transition: border-color .15s ease, box-shadow .15s ease;*/
/*}*/
/*.form input[type="radio"]::before {*/
/*    content: '';*/
/*    position: absolute;*/
/*    width: 12px;*/
/*    height: 12px;*/
/*    top: 50%;*/
/*    left: 50%;*/
/*    transform: translate(-50%, -50%) scale(0);*/
/*    border-radius: 50%;*/
/*    background: #19585f;*/
/*    transition: transform .15s ease;*/
/*}*/
/*.form input[type="radio"]:checked {*/
/*    border-color: #19585f;*/
/*}*/
/*.form input[type="radio"]:checked::before {*/
/*    transform: translate(-50%, -50%) scale(1);*/
/*}*/
/*.form input[type="radio"]:hover {*/
/*    border-color: #19585f;*/
/*    box-shadow: 0 0 0 4px rgba(25, 88, 95, .08);*/
/*}*/
/*.form input[type="radio"]:focus-visible {*/
/*    outline: none;*/
/*    box-shadow: 0 0 0 4px rgba(25, 88, 95, .15);*/
/*}*/




.form .form-radio input[type="radio"] {
    opacity: 0;
    position: absolute;
}
.form .form-radio label {
    position: relative;
    /*padding-left: 30px;*/
    cursor: pointer;
    font-size: 16px;
    user-select: none;
}
.form .form-radio label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border: 2px solid var(--primary);
    border-radius: 50%;
    background-color: transparent;
}
.form .form-radio input[type="radio"]:checked + label::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-color: var(--primary);
    border-radius: 50%;
}
.form .form-radio label:hover::before {
    border-color: var(--primary);
}
.form .form-radio label{
    text-indent: 30px;
}

.form .form-radio.form-radio-active input[type="radio"]:checked + label::after {
    background-color: var(--active);
}



.form .radio-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.form .radio-item {
    display: flex;
    align-items: center;
    gap: 15px;
    cursor: pointer;
    font-weight: 500;
    color: #444;
    position: relative;
}
.form .radio-item input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.form .radio-custom {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border: 2px solid #bdbdbd;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    background: white;
}
.form .radio-custom::after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #19585f;
    transform: scale(0);
    transition: transform 0.2s ease;
}
.form .radio-item input:checked + .radio-custom {
    border-color: #19585f;
}

.form .radio-item input:checked + .radio-custom::after {
    transform: scale(1);
}
.form .radio-item:hover .radio-custom {
    border-color: #19585f;
}
.form .radio-item input:focus-visible + .radio-custom {
    box-shadow: 0 0 0 3px rgba(25, 88, 95, 0.2);
}

.numeric-input-container {
    border: 1px solid #e3e3e3;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    height: 40px;
}
.numeric-input-container button {
    background-color: #f0f0f0;
    border: none;
    width: 30px;
    height: 100%;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    font-family: var(--font-family);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}
.numeric-input-container button:hover {
    background-color: #e0e0e0;
}
.numeric-input-container button:active {
    background-color: #d0d0d0;
}
.numeric-input {
    font-family: var(--font-family);
    font-weight: 500;
    border: none;
    text-align: center;
    width: 60px;
    outline: none;
    padding: 5px 0;
}
.numeric-input-container input[type=number]::-webkit-outer-spin-button,
.numeric-input-container input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.numeric-input-container input[type=number] {
    -moz-appearance: textfield;
}

/*#region -- Numeric input */

.numeric-input {
    width: 65px;
    height: 32px;
    padding: 0 6px;
    border: 1px solid #d9e1e5;
    border-radius: 7px;
    background: #f8fafb;
    font-family: var(--font-family);
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    color: #19585f;
    outline: none;
    box-sizing: border-box;
    transition:
            border-color .15s ease,
            box-shadow .15s ease,
            background .15s ease;
}
.numeric-input:hover {
    border-color: #19585f80;
    background: #fff;
}
.numeric-input:focus {
    border-color: #19585f;
    background: #fff;
    box-shadow: 0 0 0 3px #19585f18;
}
.numeric-input:disabled {
    color: #999;
    background: #f1f1f1;
    border-color: #e5e5e5;
    cursor: not-allowed;
}
/* Chrome / Edge */
.numeric-input::-webkit-inner-spin-button,
.numeric-input-input::-webkit-outer-spin-button {
    opacity: 1;
}

/*#endregion*/


.form-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    color: white;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 9999;
    border-top: 1px solid #e3e3e3;
    background: #fff;
    /*box-shadow: 0 -2px 5px rgba(0,0,0,.2);*/
}


/*#endregion*/

/*#region modal */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9000;
}
.modal-overlay.show {
    opacity: 1;
    visibility: visible;
}
.modal{
    background: var(--white);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    width: fit-content;
    max-width: 500px;
    max-height: 90%;
    padding: 20px;
    position: relative;
    transform: translateY(-20px);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
    overflow-y: auto;
    z-index: 9001;
}
.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    border-top: 1px solid #eee;
    padding-top: 10px;
}
.modal-description {
    display: flex;
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 10px;
}
.modal-content{
    position: relative;
    z-index: 9100;
}
i.modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    z-index: 9888;
}
.modal.show {
    transform: translateY(0);
    opacity: 1;
}

/*#endregion*/

/*#region -- collapser */

.collapser {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    cursor: pointer;
    color: #777;
    font-size: .8rem;
    font-weight: 600;
    transition: color .2s ease;
}
.collapser:hover {
    color: #333;
}
.collapser-line {
    flex: 1;
    height: 1px;
    background: #e5e5e5;
}
.collapser i {
    font-size: 20px;
    transition: transform .25s ease;
}
.collapser.open i {
    transform: rotate(180deg);
}

/*#endregion*/


/*#region block-collapser */

.block-collapser{
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2px 0;
    border-radius: 8px;
    cursor: pointer;
    margin-bottom: 10px;
    user-select: none;
}
.block-collapser span{
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    font-weight: 500;
    font-size: .8em;
    color: #888;
    cursor: pointer;
}
.block-collapser span::before{
    content: '';
    flex: 1;
    height: 1px;
    background: var(--primary);
    opacity: 0.4;
}
.block-collapser span{
    white-space: nowrap;
}
.block-collapser span::after{
    content: '';
    flex: 1;
    height: 1px;
    background: var(--primary);
    opacity: 0.4;
}
.block-collapser::after{
    font-family: 'Material Symbols Outlined', sans-serif;
    content: 'arrow_drop_up';
    font-size: 20px;
    color: #555;
    transition: transform .2s ease;
}
.block-collapser:hover{
    background: var(--primary);
}
.block-collapser:hover span{
    color: #fff;
}
.block-collapser:hover span::before,
.block-collapser:hover span::after{
    background: #fff;
}
.block-collapser:hover::after{
    color: #fff;
}
.block-collapser.collapsed::after{
    transform: rotate(180deg);
}

.block-collapser-light:hover{
    background: #f1f1f1;
}
.block-collapser-light:hover span{
    color: var(--secondary);
}
.block-collapser-light:hover span::before,
.block-collapser-light:hover span::after{
    background: var(--secondary);
}
.block-collapser:hover::after{
    color: var(--secondary);
}

/*#endregion*/


[data-sandbox]{}