:root {
    --container-default: 100%;
    --container-width: 100%;
    --container-padding: 25px;

    --header-h: 80px;

    --color-body: #000000;
    --color-body-rgb: 0,0,0;
    --color-body-bg: #ffffff;
    --color-body-bg-rgb: 255,255,255;
    --color-gray-bg: #EAEAEA;
    --color-gray-bg-rgb: 234,234,234;
    --color-gray: #777777;
    --color-gray-rgb: 119,119,119;
    --color-gray-light: #F8F8F8;
    --color-gray-light-rgb: 248,248,248;

    --color-theme-blue: #2C67C6;
    --color-theme-blue-rgb: 44,103,198;
    --color-theme-sky: #56BED6;
    --color-theme-sky-rgb: 86,190,214;
    --color-theme-navy: #13315F;
    --color-theme-navy-rgb: 19,49,95;

    --color-theme-gradient: linear-gradient(180deg, #2C67C6 0%, #56BED6 100%);
    
    --color-border: var(--color-gray);
    --color-error: #BC0000;
    --color-placeholder: inherit;
    
    --filter-gray: invert(49%) sepia(0%) saturate(0%) hue-rotate(264deg) brightness(94%) contrast(89%);
    --filter-blue: invert(33%) sepia(64%) saturate(1385%) hue-rotate(194deg) brightness(90%) contrast(90%);
    --filter-sky: invert(65%) sepia(12%) saturate(1595%) hue-rotate(144deg) brightness(101%) contrast(98%);
    --filter-navy: invert(15%) sepia(19%) saturate(4766%) hue-rotate(195deg) brightness(97%) contrast(95%);
    --filter-black: brightness(0);
    --filter-white: brightness(0) invert(1);
    
    --font-heading: 'EuclidCircularB','Noto Sans Thai', sans-serif;
    --font-body: 'EuclidCircularB','Noto Sans Thai', sans-serif;
    --font-content: 'Noto Sans Thai Looped', sans-serif;

    /* font-family: 'Noto Sans Thai', sans-serif;
    font-family: 'Noto Sans Thai Looped', sans-serif; */

    --weight-light: 300;
    --weight-regular: 400;
    --weight-medium: 500;
    --weight-semi: 600;
    --weight-bold: 700;
    
    --font-size-3xs: 8px;
    --font-size-2xs: 10px;
    --font-size-xs: 12px;
    --font-size-sm: 14px;
    --font-size-md: 16px;
    --font-size-lg: 18px;
    --font-size-h4: 20px;
    --font-size-h3: 24px;
    --font-size-h2: 32px;
    --font-size-h1: 36px;

    --icon-size: 20px;
    --icon-size-lg: 24px;
    
    --line-height-xs: 1;
    --line-height-sm: 1.35;
    --line-height-md: 1.5;
    --line-height-lg: 2;
    
    --spacing-5xl: 150px;
    --spacing-5xl-minus: -150px;
    --spacing-4xl: 120px;
    --spacing-4xl-minus: -120px;
    --spacing-3xl: 100px;
    --spacing-3xl-minus: -100px;
    --spacing-2xl: 80px;
    --spacing-2xl-minus: -80px;
    --spacing-xl: 60px;
    --spacing-xl-minus: -60px;
    --spacing-2lg: 50px;
    --spacing-2lg-minus: -50px;
    --spacing-lg: 40px;
    --spacing-lg-minus: -40px;
    --spacing-2md: 35px;
    --spacing-2md-minus: -35px;
    --spacing-md: 30px;
    --spacing-md-minus: -30px;
    --spacing-2sm: 25px;
    --spacing-2sm-minus: -25px;
    --spacing-sm: 20px;
    --spacing-sm-minus: -20px;
    --spacing-xs: 15px;
    --spacing-xs-minus: -15px;
    --spacing-2xs: 10px;
    --spacing-2xs-minus: -10px;
    --spacing-3xs: 5px;
    --spacing-3xs-minus: -5px;

    --weight-body: var(--weight-light);
    --font-size-body: var(--font-size-sm);
    --line-height-body: var(--line-height-md);
    --spacing-container: var(--spacing-md);
    --spacing-container-minus: var(--spacing-md-minus);
    --header-nav-height: 80px;
    --header-noti-height: 0px;
    --header-height: calc(var(--header-nav-height) + var(--header-noti-height));
    --input-height: 40px;
    --button-height: var(--input-height);
    --radius: 5px;
    --opacity: 0.5;
    --opacity-light: 0.3;
    
    --transition: 0.4s;
    --transition-x2: 0.8s;
    --timing-function: ease-in-out;
    --cta-shadow: 0 -0.5px 0 0 inset;
}

/*========== FIX STYLE:THEME ==========*/
.c-body { color: var(--color-body) !important;}
.c-gray { color: var(--color-gray) !important;}
.c-error { color: var(--color-error) !important;}

.padding-top-header { padding-top: var(--header-height) !important;}
.padding-top-3xl { padding-top: var(--spacing-3xl) !important;}
.padding-top-2xl { padding-top: var(--spacing-2xl) !important;}
.padding-top-xl { padding-top: var(--spacing-xl) !important;}
.padding-top-lg { padding-top: var(--spacing-lg) !important;}
.padding-top-md { padding-top: var(--spacing-md) !important;}
.padding-top-sm { padding-top: var(--spacing-sm) !important;}
.padding-top-xs { padding-top: var(--spacing-xs) !important;}
.padding-top-2xs { padding-top: var(--spacing-2xs) !important;}
.padding-top-3xs { padding-top: var(--spacing-3xs) !important;}
.padding-bottom-3xl { padding-bottom: var(--spacing-3xl) !important;}
.padding-bottom-2xl { padding-bottom: var(--spacing-2xl) !important;}
.padding-bottom-xl { padding-bottom: var(--spacing-xl) !important;}
.padding-bottom-lg { padding-bottom: var(--spacing-lg) !important;}
.padding-bottom-md { padding-bottom: var(--spacing-md) !important;}
.padding-bottom-sm { padding-bottom: var(--spacing-sm) !important;}
.padding-bottom-xs { padding-bottom: var(--spacing-xs) !important;}
.padding-bottom-2xs { padding-bottom: var(--spacing-2xs) !important;}
.padding-bottom-3xs { padding-bottom: var(--spacing-3xs) !important;}
.padding-y-3xl { padding-top: var(--spacing-3xl) !important; padding-bottom: var(--spacing-3xl) !important;}
.padding-y-2xl { padding-top: var(--spacing-2xl) !important; padding-bottom: var(--spacing-2xl) !important;}
.padding-y-xl { padding-top: var(--spacing-xl) !important; padding-bottom: var(--spacing-xl) !important;}
.padding-y-lg { padding-top: var(--spacing-lg) !important; padding-bottom: var(--spacing-lg) !important;}
.padding-y-md { padding-top: var(--spacing-md) !important; padding-bottom: var(--spacing-md) !important;}
.padding-y-sm { padding-top: var(--spacing-sm) !important; padding-bottom: var(--spacing-sm) !important;}
.padding-y-xs { padding-top: var(--spacing-xs) !important; padding-bottom: var(--spacing-xs) !important;}
.padding-y-2xs { padding-top: var(--spacing-2xs) !important; padding-bottom: var(--spacing-2xs) !important;}
.padding-y-3xs { padding-top: var(--spacing-3xs) !important; padding-bottom: var(--spacing-3xs) !important;}
.margin-top-3xl:not(:first-child) { margin-top: var(--spacing-3xl) !important;}
.margin-top-2xl:not(:first-child) { margin-top: var(--spacing-2xl) !important;}
.margin-top-xl:not(:first-child) { margin-top: var(--spacing-xl) !important;}
.margin-top-lg:not(:first-child) { margin-top: var(--spacing-lg) !important;}
.margin-top-md:not(:first-child) { margin-top: var(--spacing-md) !important;}
.margin-top-sm:not(:first-child) { margin-top: var(--spacing-sm) !important;}
.margin-top-xs:not(:first-child) { margin-top: var(--spacing-xs) !important;}
.margin-top-2xs:not(:first-child) { margin-top: var(--spacing-2xs) !important;}
.margin-top-3xs:not(:first-child) { margin-top: var(--spacing-3xs) !important;}
.margin-bottom-3xl:not(:last-child) { margin-bottom: var(--spacing-3xl) !important;}
.margin-bottom-2xl:not(:last-child) { margin-bottom: var(--spacing-2xl) !important;}
.margin-bottom-xl:not(:last-child) { margin-bottom: var(--spacing-xl) !important;}
.margin-bottom-lg:not(:last-child) { margin-bottom: var(--spacing-lg) !important;}
.margin-bottom-md:not(:last-child) { margin-bottom: var(--spacing-md) !important;}
.margin-bottom-sm:not(:last-child) { margin-bottom: var(--spacing-sm) !important;}
.margin-bottom-xs:not(:last-child) { margin-bottom: var(--spacing-xs) !important;}
.margin-bottom-2xs:not(:last-child) { margin-bottom: var(--spacing-2xs) !important;}
.margin-bottom-3xs:not(:last-child) { margin-bottom: var(--spacing-3xs) !important;}

/*========== FIX STYLE:GENERAL ==========*/
.bg-black { background-color: #000000 !important;}
.bg-white { background-color: #ffffff !important;}
.c-black { color: #000000 !important;}
.c-white { color: #ffffff !important;}
.filter-black { -webkit-filter: brightness(0) !important; filter: brightness(0) !important;}
.filter-white { -webkit-filter: brightness(0) invert(1) !important; filter: brightness(0) invert(1) !important;}
.a-left { text-align: left !important;}
.a-right { text-align: right !important;}
.a-center { text-align: center !important;}
.margin-0 { margin: 0 !important;}
.margin-top-0 { margin-top: 0 !important;}
.margin-bottom-0 { margin-bottom: 0 !important;}
.padding-0 { padding: 0 !important;}
.padding-top-0 { padding-top: 0 !important;}
.padding-bottom-0 { padding-bottom: 0 !important;}
.uppercase { text-transform: uppercase !important;}
.nowrap { white-space: nowrap !important;}
.overflow-hidden { overflow: hidden !important;}
.hidden { display: none !important;}
.alignfull { width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;}
.w-100{ width: 100% !important; }
.w-80{ width: 80% !important; }
.h-100{ height: 100% !important; }

/*========== RESET ==========*/
*, *:before, *:after {
    box-sizing: border-box;
}
::-webkit-scrollbar {
    width: 0px;
    height: 0px;
    overflow: hidden;
}
::-moz-selection {
    background: var(--color-theme-blue);
    color: var(--color-body-bg);
}
::selection {
    background: var(--color-theme-blue);
    color: var(--color-body-bg);
}

article, aside, figcaption, figure, picture, footer, header, hgroup, main, nav, section {
    display: block;
}
html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
body {
    margin: 0;
    position: relative;
    min-height: 100vh;
    overflow-x: hidden;
    background: var(--color-body-bg);
    color: var(--color-body);
    will-change: opacity;
    transition: opacity var(--transition-x2) var(--timing-function);
}
h1,h2,h3,h4,h5,h6 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}
p {
    margin: 0;
}
address {
    font-style: normal;
}
ul, ol {
    list-style: none;
}
ul, ol, li {
    margin: 0;
    padding: 0;
}
a {
    color: inherit;
}
a, a:hover, a:focus {
    outline: 0;
    text-decoration: none;
    box-shadow: none;
}
a[href^=tel] {
    white-space: nowrap;
}
a[href^=mailto] {
    word-break: break-word;
}
a, button, [role="button"] {
    cursor: pointer;
}
button, input, textarea, select {
    outline: 0;
    -webkit-appearance: none;
    box-shadow: none;
    border-radius: 0;
    border: 0;
    background: none;
    padding: 0;
    margin: 0;
    min-width: 0;
    font: inherit;
    line-height: normal;
    text-transform: inherit;
    text-align: inherit;
    letter-spacing: inherit;
    text-indent: inherit;
    color: inherit;
}
fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}
img {
    border: 0;
    outline: 0;
    height: auto;
    width: auto;
    max-width: 100%;
    vertical-align: middle;
}
figure {
    margin: 0;
}
table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
th, td {
    padding: 0;
    font-weight: inherit;
}
iframe {
    border: 0;
}
[tabindex="-1"]:focus {
    outline: 0 !important;
}
script {
    margin: 0 !important;
}



/*========== FUNCTION:TAB ==========*/
.tab,
.tabdata,
.tabchild {
    position: relative;
}
.tab a,
.tabdata a,
.tabchild a {
    box-shadow: none;
}
.tab a:not(.active),
.tabdata a:not(.active),
.tabchild a:not(.active) {
    color: var(--color-gray);
}
.tab a.active,
.tabdata a.active,
.tabchild a.active {
    pointer-events: none;
}
.tab-content,
.tabdata-content,
.tabchild-content {
    position: relative;
    height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    margin: 0 !important;
    transition-duration: 1s;
}
.tab-content.active,
.tabdata-content.active,
.tabchild-content.active {
    height: auto;
    opacity: 1;
    overflow: visible;
    pointer-events: auto;
}
.tab-content > *:not(:first-child),
.tabdata-content > *:not(:first-child),
.tabchild-content > *:not(:first-child) {
    margin-top: var(--spacing-md);
}

/* Default Responsive */
/*X-Large devices (large desktops, less than 1400px)*/
@media (max-width: 1399.98px) {}

/*Larger devices (desktops, less than 1200px)*/
@media (max-width: 1199.98px) {}

/*Large devices (desktops, less than 1024px)*/
@media (max-width: 1023.98px) {
    
}

/*Medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {
    :root{
        --container-padding: 18px;
        --font-size-xl: 16px;
        --font-size-h4: 16px;
        --font-size-h3: 20px;
        --font-size-h2: 24px;
        --font-size-h1: 28px;
    }
}

/*Small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) {
    
}

/*X-Small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {
    
}
/* End of Responsive */
