@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@200;300;400;500;700&display=swap');

:root {
    --headerH: 96px;
    --footerH: 150px;
    --clr-blue: #0095DA;
    --clr-gold: #AD986E;
    --clr-blue-dark: #06517E;
}

html {
    scroll-behavior: smooth;
}

html,
body {
    margin: 0px;
    padding: 0px;

    font-family: 'Roboto', Arial, Verdana, Helvetica;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #AD986E;
}

.navbar.fixed-top {
    z-index: 9999;
}

.txt-Roboto-extralight {
    font-family: 'Roboto' !important;
    font-weight: 200 !important;
}

.txt-Roboto-light {
    font-family: 'Roboto' !important;
    font-weight: 300 !important;
}

.txt-Roboto-regular {
    font-family: 'Roboto' !important;
    font-weight: 400 !important;
}

.txt-Roboto-medium {
    font-family: 'Roboto' !important;
    font-weight: 500 !important;
}

.txt-Roboto-bold {
    font-family: 'Roboto' !important;
    font-weight: 700 !important;
}

.pg-space-top {
    height: var(--headerH);
}

.pg-body {
    min-height: calc(100vh - (var(--headerH) + var(--footerH)));
}

.section {
    position: relative;
    margin: 0px;
    padding: 60px 0px;
}

h1,
h2,
h3,
h4 {
    margin-bottom: 0px;
}

h1 {
    font-size: 40px;
    line-height: 50px;
}

h2 {
    font-size: 28px;
    line-height: 34px;
}

h3 {
    font-size: 24px;
    line-height: 30px;
}

h4 {
    font-size: 20px;
    line-height: 26px;
}

.clr-default {
    color: #595959 !important;
}

.clr-white {
    color: #ffffff !important;
}

.clr-blue {
    color: var(--clr-blue) !important;
}

.clr-blue-dark {
    color: var(--clr-blue-dark) !important;
}

.clr-green {
    color: #2fa124 !important;
}

.clr-black {
    color: #222222 !important;
}

.bg-clr-white {
    background-color: #ffffff !important;
}

.bg-clr-blue {
    background-color: var(--clr-blue) !important;
}

.bg-clr-blue-dark {
    background-color: var(--clr-blue-dark) !important;
}

.bg-clr-indigo {
    background-color: #04334E !important;
}

.bg-clr-grey-light {
    background-color: #FAFAFA !important;
}

.bg-clr-grey-dark {
    background-color: #4C4C4C !important;
}

.txt-regular {
    font-weight: 400 !important;
}

.txt-semibold {
    font-weight: 500 !important;
}

.txt-bold {
    font-weight: 700 !important;
}

.txt-note {
    font-size: 12px;
    line-height: 18px;
}

.row-flex {
    display: flex;
}

.col-flex {
    
}

.isBtn {
    cursor: pointer;
}

a {
    outline: none !important;
    border: none !important;
    text-decoration: none !important;
}

.ahref-default {
    outline: none !important;
    border: none !important;
    text-decoration: none !important;
}

img,
.img-svg {
    margin: auto;
    width: 100%;
}

.img-svg img {
    margin: auto;
    width: 100%;
    height: 100%;
}

.ul-cust,
.ol-cust {
    margin: 10px 0px;
    padding-left: 20px;
}

.ul-cust li,
.ol-cust li {
    margin-bottom: 6px;
}

.ul-cust.list-sub,
.ol-cust.list-sub {
    margin: 4px 0px 10px 0px;
}

.ul-cust {
    /*list-style: disc;*/
}

.ol-cust {
    /*list-style: decimal;*/
}

.list-style-dash {
    list-style: " - " !important;
}

.list-roman-lower {
    list-style-type: lower-roman !important;
}

.list-alpha-lower {
    list-style-type: lower-alpha !important;
}

.list-style-none {
    list-style: none;
    padding-left: 0px;
}

.panel-scroll-x {
    overflow-x: auto;
}

.panel-scroll-y {
    overflow-y: auto;
}

.transAll-03 {
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}

.max-width-1500 {
    margin: auto !important;
    max-width: 1500px !important;
}

.max-width-1200 {
    margin: auto !important;
    max-width: 1200px !important;
}

.max-width-1000 {
    margin: auto !important;
    max-width: 1000px !important;
}

.max-width-900 {
    margin: auto !important;
    max-width: 900px !important;
}

.max-width-800 {
    margin: auto !important;
    max-width: 800px !important;
}

.max-width-600 {
    margin: auto !important;
    max-width: 600px !important;
}

.max-width-500 {
    margin: auto !important;
    max-width: 500px !important;
}

.max-width-400 {
    margin: auto !important;
    max-width: 400px !important;
}

@media (max-width: 640px) {
    h1 {
        font-size: 30px;
        line-height: 40px;
    }
    
    h2 {
        font-size: 24px;
        line-height: 32px;
    }
    
    h3 {
        font-size: 20px;
        line-height: 26px;
    }
    
    h4 {
        font-size: 18px;
        line-height: 24px;
    }
}

@media (min-width: 641px) and (max-width: 820px) {
    h1 {
        font-size: 30px;
        line-height: 40px;
    }
    
    h2 {
        font-size: 26px;
        line-height: 34px;
    }
    
    h3 {
        font-size: 20px;
        line-height: 26px;
    }
    
    h4 {
        font-size: 18px;
        line-height: 24px;
    }
}

/* Nav Start */
#sec-nav-main {
    min-height: var(--headerH);
    /*box-shadow: 0px 0px 10px rgba(0,0,0,0.3);*/
}

.nav-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: auto;
}

.navbar-toggler {
    border: none !important;
    outline: none !important;
}

.navbar-brand {
    
}

.navbar-brand-logo {
    margin: auto;
    width: 100%;
    max-width: 170px;
}

.navbar-brand-logo img {
    pointer-events: none;
}

.nav-item {

}

.nav-link {
    padding: 0px !important;
}

.nav-link-sub {
    position: relative !important;
    padding: 0px !important;
    border: none !important;
    outline: none !important;
    text-decoration: none !important;
}

a.dropdown-toggle {
    text-decoration: none;
}

.btn-mmenu {
    position: relative;
    padding: 4px 10px;
    cursor: pointer;
}

#btn-mmenu-lang.btn-mmenu {
    border-radius: 6px;
    border: 1px solid var(--clr-blue);
}

.btn-mmenu-sub {
    display: block;
    position: relative;
    padding: 10px 20px 10px 0px;
    cursor: pointer;
}

.nav-link-sub:not(:last-child) .btn-mmenu-sub {
    border-bottom: 1px solid #cdcdcd;
}

.caption-mmenu {
    color: #222222;
    font-size: 18px;
    line-height: 24px;
    font-weight: 400;
    text-transform: capitalize;
    pointer-events: none;
    text-align: center;
}

.btn-mmenu-sub .caption-mmenu {
    color: #0A0F2B;
    font-size: 18px;
    line-height: 24px;
    font-weight: 400;
    text-transform: capitalize;
    pointer-events: none;
}

.btn-mmenu.active .caption-mmenu {
    color: var(--clr-blue);
}

.btn-mmenu-sub.active .caption-mmenu {
    color: var(--clr-blue);
}

.dropdown-toggle::after {
    display: none;
}

.caption-mmenu-jpn {
    margin-top: 8px;
    font-size: 12px;
    line-height: 12px;
}

.caption-mmenu-jpn img {
    width: auto;
    height: 16px;
}

@media (min-width: 820px) {
    .navbar-nav {
        gap: 50px;
    }
}

@media (max-width: 820px) {
    #sec-nav-main {
        min-height: 60px;
        padding-left: 0px;
        padding-right: 0px;
        background-color: #ffffff;
    }

    .pg-space-top {
        height: 60px;
    }

    .pg-body {
        min-height: calc(100vh - (60px + 72px));
    }

    .nav-header {
        width: 100%;
    }

    #sec-nav-main .navbar-toggler,
    #sec-nav-main .navbar-toggler:hover,
    #sec-nav-main .navbar-toggler:focus {
        border: none !important;
        outline: none !important;
        text-decoration: none !important;
        box-shadow: none !important;
    }
    
    .navbar-brand-logo {
        max-width: 70px;
    }
    

    .nav-item {
        
    }

    .navbar-brand {
        position: relative;
        top:0px;
        bottom: auto;
        margin-right: 0px;
    }

    .navbar-brand,
    .pg-space-top {
        min-height: auto;
    }

    .nav-item:not(:last-child) .btn-mmenu {
        border-bottom: 1px solid #cdcdcd;
    }

    .nav-item.dropdown.show .btn-mmenu,
    .nav-item.dropdown.show .btn-mmenu.active {
        border-bottom: 1px solid transparent;
    }

    .btn-mmenu {
        padding: 10px 15px !important;
    }

    .btn-mmenu-sub {
        
    }

    .btn-mmenu .caption-mmenu {
    }

    .btn-mmenu-sub:not(:last-child) {
        display: block;
        margin-bottom: 0px;
        margin-right: 0px;
        border-bottom: 1px solid #cdcdcd;
    }

    .btn-mmenu-sub .caption-mmenu {
    }

    .isDropdown::after {
        right: 0px;
        width: 24px;
        border-radius: 4px;
        border: 1px solid var(--clr-blue);
        text-align: center;
    }

    .navbar-nav .dropdown-menu {
        margin: 6px;
        padding: 10px 10px;
        background-color: #fcfcfc;
    }

    .btn-mmenu,
    .btn-mmenu-sub,
    .btn-mmenu.isDropdown,
    .btn-mmenu-sub.isDropdown {
        padding-right: 30px !important;
    }

    .btn-mmenu.isDropdown,
    .btn-mmenu-sub.isDropdown {
        padding-top: 0px !important;
        padding-bottom: 0px !important;
    }

    .btn-mmenu,
    .btn-mmenu-sub,
    .btn-mmenu.isDropdown .caption-mmenu,
    .btn-mmenu-sub.isDropdown .caption-mmenu,
    .btn-mmenu.isDropdown .caption-mmenu.cap-prod-desc,
    .btn-mmenu-sub.isDropdown .caption-mmenu.cap-prod-desc {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }

    .btn-mmenu.isDropdown .caption-mmenu,
    .btn-mmenu-sub.isDropdown .caption-mmenu {
        display: inline-block;
    }

    .btn-mmenu.isDropdown .caption-mmenu.cap-prod-desc,
    .btn-mmenu-sub.isDropdown .caption-mmenu.cap-prod-desc {
        display: block;
    }
    
}

@media (min-width:821px) and (max-width:1440px) {
    .navbar-brand-logo {
        max-width: 180px;
    }
}

@media (min-width:821px) {
    #sec-nav-main {
        background-color: transparent;
    }

    #sec-nav-main.compact {
        background-color: #ffffff !important;
        box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
    }

    .dropdown>.dropdown-menu {
        display: none;
        padding: 0px 10px;
        border-radius: 0px;
        border-top: 4px solid var(--clr-blue);
    }
    
    .dropdown>.dropdown-menu.visible,
    .dropdown:hover>.dropdown-menu.visible {
        display: block;
        -webkit-animation: anim-dropdown 0.3s ease-out 0s forwards;
        -moz-animation: anim-dropdown 0.3s ease-out 0s forwards;
        animation: anim-dropdown 0.3s ease-out 0s forwards;
    }

    #nav-OurServices.dropdown>.dropdown-menu {
        width: 260px;
    }

    #nav-OurProducts.dropdown>.dropdown-menu {
        width: 360px;
    }

    .nav-item:not(.dropdown) .btn-mmenu:hover .caption-mmenu {
        color: var(--clr-blue);
    }
    
    .btn-mmenu-sub:hover .caption-mmenu {
        color: var(--clr-blue);
    }
    
    @-webkit-keyframes anim-dropdown {
        0% {
            opacity: 0;
            margin-top: 10px;
        }
        100% {
            opacity: 1;
            margin-top: 0px;
        }
    }
    
    @-moz-keyframes anim-dropdown {
        0% {
            opacity: 0;
            margin-top: 10px;
        }
        100% {
            opacity: 1;
            margin-top: 0px;
        }
    }
    
    @keyframes anim-dropdown {
        0% {
            opacity: 0;
            margin-top: 10px;
        }
        100% {
            opacity: 1;
            margin-top: 0px;
        }
    }
}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav {
        align-items: center;
    }
}
/* Nav End */

/* section Start */
.section {
    padding: 50px 0px;
}

.section-sub {
}

.section-sub-box {
}

.section-sub-title {
    position: relative;
    margin-bottom: 30px;
}

.section-sub-title h2 {
    color: var(--clr-blue);
    font-weight: 300;
    text-transform: uppercase;
    text-align: center;
}

.section-sub-title-jap {
    margin-bottom: 15px;
    color: var(--clr-blue);
    font-size: 20px;
    line-height: 26px;
    text-align: center;
}

.section-sub-title-jap img {
    width: auto;
    height: 24px;
}

.section-sub-title-img {
    margin: auto;
    width: 100%;
}

.section-sub-body {

}

.section-sub-desc {
    text-align: center;
}

.section-sub-img {
    margin: 30px auto;
    width: 100%;
}

.section-sub-video {
    
}

.section-sub-info {
    padding: 30px 0px;
}

.section-sub-info:last-child {
    padding-bottom: 0px;
}

.section-sub-info-title {
    padding-bottom: 30px;
}

.section-sub-info-title h3 {
    color: var(--clr-blue-dark);
    font-weight: 700;
}

.section-sub-info-body {
}

.tb-container {
}

.tb {
    width: 100%;
    border-collapse: collapse;
}

.td {
    padding: 20px 20px;
    border: 1px solid #eeeeee;
}

.td-rnd-0 {
    border-radius: 0px;
}

.td-rnd-tl {
    border-top-left-radius: 0px; /*10px*/
}

.td-rnd-tr {
    border-top-right-radius: 0px; /*10px*/
}

.td-rnd-bl {
    border-bottom-left-radius: 0px; /*10px*/
}

.td-rnd-br {
    border-bottom-right-radius: 0px; /*10px*/
}

.td-header {

}

.td-header-grey {
    background-color: #868686;
    color: #ffffff;
}

.title-with-ico {
}

.title-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
}

.title-col {
}

.title-ico {
    margin: auto;
    width: 100%;
    max-width: 50px;
}

.title-lbl {
    color: var(--clr-blue-dark);
    font-size: 20px;
    font-weight: 700;
}

.bg-elm {
    position: absolute;
}

.bg-elm-group {
    position: absolute;
}

.btn-rnd {
    display: inline-block;
    padding: 10px 30px;
    border-radius: 50px;
    cursor: pointer;
    -webkit-transition: all 0.2s ease-out 0s;
    -moz-transition: all 0.2s ease-out 0s;
    transition: all 0.2s ease-out 0s;
}

.btn-rnd-red {
    border: 1px solid #fd6e70;
    background-color: #fd6e70;
    color: #ffffff;
}

.btn-rnd-red:hover {
    border: 1px solid #fd6e70;
    background-color: #ffffff;
    color: #ec1751;
}

.btn-rnd-red.disabled,
.btn-rnd-red.disabled:hover {
    border: 1px solid #fd6e70;
    background-color: #fd6e70;
    color: #ffffff;
    pointer-events: none;
}

.btn-rnd.disabled {
    opacity: 0.2;
    cursor: default;
}

@media (max-width:640px) {
    html,
    body {
        font-size: 16px;
        line-height: 22px;
    }

    .section {
        padding: 30px 15px;
    }

    .title-lbl {
        font-size: 16px;
    }

    .section-sub-title-jap {
        font-size: 18px !important;
        line-height: 24px !important;
    }
}

@media (min-width:641px) and (max-width:820px) {
    html,
    body {
        font-size: 16px;
        line-height: 24px;
    }

    .section {
        padding: 40px 10px;
    }
}
/* section End */

/* section title elm Start */
.sec-title-elm {
    width: 150px;
}

#bg-elm-award-1 {
    top: -50px;
    left: -200px;
}

#bg-elm-award-2 {
    top: -50px;
    right: -200px;
}

.title-withElm {
    display: inline-block;
}

@media (max-width: 640px) {
    .sec-title-elm {
        width: 60px;
    }

    #bg-elm-award-1 {
        top: -10px;
        left: -70px;
    }

    #bg-elm-award-2 {
        top: -10px;
        right: -70px;
    }
}

@media (min-width: 641px) and (max-width: 820px) {

}
/* section title elm End */

/* section wave Start */
.curve-wave {
    z-index: 2;
}

.sec-curve-wave {
    position: absolute;
    width: 100%;
}

.sec-curve-wave img {
    width: 100%;
    height: 100%;
}

.sec-curve-wave-top {
    left: 0px;
    top: -100px;
    height: 100px;
}

.sec-curve-wave-bottom {
    left: 0px;
    bottom: -100px;
    height: 100px;
}

.section:has(+div.section .sec-curve-wave-top) {
    padding-bottom: 130px;
}

.section:has(.sec-curve-wave-bottom)+.section {
    padding-top: 130px;
}

@media (max-width: 640px) {
    .sec-curve-wave-top {
        top: -30px;
        height: 30px;
    }

    .sec-curve-wave-bottom {
        bottom: -30px;
        height: 30px;
    }

    .section:has(+div.section .sec-curve-wave-top) {
        padding-bottom: 60px;
    }

    .section:has(.sec-curve-wave-bottom)+.section {
        padding-top: 60px;
    }
}

@media (min-width: 641px) and (max-width: 820px) {
    .sec-curve-wave-top {
        top: -40px;
        height: 40px;
    }

    .sec-curve-wave-bottom {
        bottom: -40px;
        height: 40px;
    }

    .section:has(+div.section .sec-curve-wave-top) {
        padding-bottom: 90px;
    }

    .section:has(.sec-curve-wave-bottom)+.section {
        padding-top: 90px;
    }
}
/* section wave End */

/* keyvis main Start */
#sec-keyvis-main.section {
    padding: 0px;
}

.keyvis-banner {
    margin-bottom: 30px;
}

.keyvis-banner .slide-cust-container {
    padding: 0px 0px;
}

.keyvis-bnr-container {
    width: 100%;
}

.keyvis-main-card {
    display:flex;
    justify-content: center;
    align-items: center;

    position: relative;

    width: 100%;
    height: auto; /* 300 */
    border: none;

}

#sec-keyvis-main.slider-cust .slick-dots {
    bottom: -30px;
}

.img-bnr-keyvis {

}

.tagline-bnr-keyvis {
    padding: 0px 20px;
    max-width: 90%;
}

.tagline-title {
    margin-bottom: 10px;
}

.tagline-title h1 {

}

.tagline-desc {
    margin-bottom: 10px;
    font-size: 16px;
}

.keyvis-bnr-container .keyvis-main-card {
    justify-content: flex-start;
    height: 290px;
}

@media (max-width: 640px) {
    .keyvis-h-pg {
        height: 300px !important;
    }

    #sec-keyvis-main.slider-cust .slick-dots {
        bottom: 10px;
    }

    .keyvis-bnr-container .keyvis-main-card {
        align-items: flex-start;
        padding-top: 0px;
    }

    .tagline-bnr-keyvis {
        margin: 15px;
        padding: 10px 10px;
        border-radius: 10px;
        /*background-color: rgba(255,255,255,0.8);*/
        max-width: 100% !important;
    }

    .tagline-title h1 {
        font-size: 30px !important;
    }

    .tagline-desc {
        font-size: 14px !important;
    }

    .tagline-desc.clr-white {
    }
}

@media (min-width: 641px) and (max-width: 820px) {
    .keyvis-h-pg {
        height: 230px !important;
    }

    .tagline-title h1 {
        font-size: 30px !important;
    }

    .tagline-desc {
        font-size: 14px !important;
    }
}

/* keyvis main End */

/* panel nav Start */
.panel-menu-tab-side {
    position: relative;
}

.panel-menu-tab-side .section-sub-box {
    padding-left: 400px;
}

.panel-menu-tab-btns {
    position: absolute;
    top: 50px;
    padding: 10px;
    width: 360px;
}

.panel-menu-tab-btns.pos-fixed {
    position: fixed;
    top: 150px;
}

.panel-menu-tab-btn {
    width: 100%;
    margin: 0px 0px 10px 0px;
    padding: 15px 30px;
    border-radius: 4px;
    background-color: #eeeeee;
    color: #222222;
    font-size: 18px;
    font-weight: 500;

    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
}

.panel-menu-tab-btn:hover {
    color: var(--clr-blue);
}

.panel-menu-tab-btn.active {
    background-color: var(--clr-blue);
    color: #ffffff;
}

.panel-menu-tab-body {

}

.pl-space {
    padding-left: 400px;
}

#tb-procedures .title-ico.img-svg {
    width: 50px;
    height: 50px;
}

#inp-select-service {
    margin: auto;
    width: 100%;
    border: 1px solid var(--clr-blue);
    box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
}

@media (max-width: 640px) {
    .panel-menu-tab-btns {
        position: relative;
        z-index: 10;
        top: 0px;
        padding: 10px 10px;
        width: 100%;
    }

    .panel-menu-tab-side .section-sub-box {
        padding-left: 0px;
    }

    #inp-select-service {
        max-width: 320px;
    }
}

@media (min-width: 641px) and (max-width: 820px) {
    .panel-menu-tab-btns {
        position: relative;
        top: 0px;
        padding: 10px 10px;
        width: 100%;
    }

    .panel-menu-tab-side .section-sub-box {
        padding-left: 0px;
    }

    #inp-select-service {
        max-width: 670px;
    }
}
/* panel nav End*/

/* pg header Start */
#sec-header.section {
    z-index: 10;
    padding: 0px;
    background-color: #ffffff;
}

#sec-header + .section {
    padding-top: 100px;
}

.header-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 160px;
}

.pg-header {

}

.section-title {
    position: relative;
    margin-bottom: 10px;
}

.section-desc {
    text-align: center;
}

.pg-header .section-title h1 {
    color: var(--clr-blue);
    font-size: 30px;
    line-height: 36px;
    font-weight: 300;
    text-align: center;
    text-transform: uppercase;
}

.bg-deco-header {
    position: absolute;
    bottom: -100px;
    width: 100%;
    height: 100px;
}

.bg-deco-header img {
    width: 100%;
    height: 100%;
}

.elm-header {
    z-index: 4;
    width: 160px;
}

#bg-elm-header-1 {
    bottom: -50px;
    left: -250px;
}

#bg-elm-header-2 {
    bottom: -50px;
    right: -250px;
}

@media (max-width: 640px) {
    .header-container {
        height: 160px;
    }

    .pg-header .section-title h1 {
        font-size: 24px;
        line-height: 30px;
    }

    .bg-deco-header {
        bottom: -30px;
        height: 30px;
    }

    #sec-header + .section {
        padding-top: 30px;
    }

    .elm-header {
        width: 60px;
    }

    #bg-elm-header-1 {
        bottom: -50px;
        left: -70px;
    }

    #bg-elm-header-2 {
        bottom: -50px;
        right: -70px;
    }
}

@media (min-width: 641px) and (max-width: 820px) {
    .header-container {
        height: 160px;
    }

    .bg-deco-header {
        bottom: -40px;
        height: 40px;
    }

    #sec-header + .section {
        padding-top: 40px;
    }

    .elm-header {
        width: 60px;
    }

    #bg-elm-header-1 {
        bottom: -50px;
        left: -70px;
    }

    #bg-elm-header-2 {
        bottom: -50px;
        right: -70px;
    }
}
/* pg header End */

/* fast link Start */
#sec-FastLink.section {
    background-color: #E7E6E6;
}

.FastLink-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 50px;
}

.FastLink-col {
    flex: 1;
}

.FastLink-col:first-child {
    flex: 2;
}

.FastLink-card {
    padding: 0px;
}

.FastLink-title {
    margin-bottom: 30px;
    color: #222222;
    font-size: 20px;
    line-height: 26px;
    font-weight: 700;
}

.FastLink-logo {
    margin: auto auto 30px 0px;
    width: 100%;
    max-width: 220px;
}

.FastLink-body {
    color: #222222;
    font-size: 16px;
    line-height: 22px;
}

.FastLink-list {
}

.FastLink-item:not(:last-child) {
    margin-bottom: 20px;
}

.FastLink-ahref {
    color: #222222;
    outline: none;
    border: none;
    text-decoration: none;
}

.FastLink-ahref:hover,
.FastLink-ahref:focus {
    color: #0A0F2B;
}

@media (max-width: 640px) {
    .FastLink-row {
        flex-direction: column;
        gap: 40px;
    }

    .FastLink-title {
        margin-bottom: 20px;
    }

    .FastLink-body {
        font-size: 14px;
        line-height: 18px;
    }

    .FastLink-item:not(:last-child) {
        margin-bottom: 8px;
    }
}

@media (min-width: 641px) and (max-width: 820px) {
    .FastLink-row {
        flex-wrap: wrap;
    }

    .FastLink-col:first-child {
        flex-basis: auto;
        width: 100%;
    }

    .FastLink-title {
        margin-bottom: 20px;
    }

    .FastLink-body {
        font-size: 14px;
        line-height: 18px;
    }

    .FastLink-item:not(:last-child) {
        margin-bottom: 8px;
    }
}
/* fast link End */

/* footer Start */
#sec-footer.section {
    padding: 20px 0px;
    min-height: var(--footerH);
    background-color: #f1ede4;
}

#sec-footer.section.footer-type-2 {
    background-image: linear-gradient(to bottom, #f8f6f2, #f1ede5);
}

.footer-part {
    padding: 10px 0px;
}

.footer-part:first-child {
    border-bottom: 1px solid #6a6a6a;
}

.flex-row-footer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}

.flex-col-footer {
    
}

.footer-detail-container {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 10px;
    position: relative;
}

.footer-logo {
    width: 100%;
    max-width: 50px;
}

.footer-desc {
    
}

.footer-tnc-container {

}

.txt-footer {
    color: #6a6a6a;
    font-size: 12px;
    line-height: 16px;
}

.ahref-footer,
.ahref-footer:hover {
    color: #6a6a6a;
}

@media (max-width: 640px) {
    .flex-row-footer {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }

    .footer-detail-container {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 10px;
    }

    .footer-logo {
        max-width: 44px;
    }
}

@media (max-width: 820px) {
    .txt-footer {
        font-size: 12px;
        line-height: 16px;
    }
}

@media (min-width: 641px) and (max-width: 820px) {
    .footer-logo {
        max-width: 44px;
    }
}

/* footer End */

/* slick Start */
.slick-container-custom {

}

.slick-container-custom .slick-arrow {
    width: 50px;
    height: 50px;
    border-radius: 0px;
    background: url("../images/main/slide-arrow-bg.png") no-repeat center center;
    background-size: contain;
    /* background-color: var(--clr-blue); */
}

.slick-container-custom .slick-prev {
    left: 0px;
}

.slick-container-custom .slick-next {
    right: 0px;
}

.slick-container-custom .slick-prev:before,
.slick-container-custom .slick-next:before {
    color: #f9999a;
    font-size: 30px;
    line-height: 30px;
    opacity: 0.6;
}

.slick-container-custom .slick-arrow:hover.slick-prev:before,
.slick-container-custom .slick-arrow:hover.slick-next:before {
    opacity: 1;
}

.slide-card-container {

}

.slide-card-body {

}

.slide-card-tmb {
    margin: auto auto 20px auto;
}

.slide-card-title {
    margin-bottom: 20px;
    font-size: 20px;
    line-height: 26px;
}

.slide-card-desc {
    margin-bottom: 20px;
}

.ahref-shortcut,
.ahref-shortcut:hover,
.ahref-shortcut:focus,
.ahref-shortcut:visited {
    text-decoration: none;
}

.slick-dots {
    position: relative;
    bottom: 0px;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
    color: var(--clr-blue);
    background-color: var(--clr-blue);
}

@media (max-width: 640px) {
    .slick-container-custom .slick-arrow {
        top: 50%;
    }

    .slick-container-custom .slick-arrow {
        width: 28px;
    }

    .slick-container-custom .slick-prev {
        left: 0px;
    }

    .slick-container-custom .slick-next {
        right: 0px;
    }
}
/* slick End */


/* modal Start */
.modal-cust {

}

.modal-cust .modal-header {
    border-bottom: none;
}

.modal-cust .modal-title {
    width: 100%;
}

.modal-cust .close-cust {

}

.modal-cust .modal-content {
    padding: 10px;
}

.modal-cust .modal-content-cust {

}

.modal-cust .modal-footer {
    border-top: none;
}

.btn-modal-close {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    margin-left: auto;
    border-radius: 50%;
    background-color: var(--clr-blue);
    color: #ffffff;
    border: 1px solid var(--clr-blue);
    font-size: 24px;
}

@media (min-width: 576px) {
    .modal-cust .modal-dialog {
        max-width: 700px;
    }
}
/* modal End */

/* video Start */
.yt-container {
    width: auto;
    height: auto;
}

.vid-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    overflow: hidden;
    border: 1px solid #333333;
}

#tt-div.vid-container {
    border-color: transparent;
    padding-top: 0%;
}

.vid-iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

#modal-video .modal-content {
    background-color: #ffffff;
}

#modal-video .modal-header {
    border-bottom: 1px solid transparent;
    padding-bottom: 0px;
    background-color: #ffffff;
}

#modal-video .modal-header .close {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: var(--clr-blue);
    color: #ffffff;
    border: 1px solid var(--clr-blue);
    font-size: 24px;
}

#modal-video .modal-header .close:hover {
    background-color: #ffffff;
    color: var(--clr-blue);
}
/* video End */


/* social Start */
.social-media-container {
    margin: 20px auto;
}

.btn-social-media {
    display: inline-block;
    margin: 0px 15px 0px 0px;
    cursor: pointer;
}

.ahref-social-media {
    outline: none;
    text-decoration: none;
    border: none;
}

#btn-social-media-facebook .ahref-social-media {
    color: #4267B2;
}

#btn-social-media-twitter .ahref-social-media {
    color: #1DA1F2;
}

#btn-social-media-youtube .ahref-social-media {
    color: #FF0000;
}

#btn-social-media-instagram .ahref-social-media {
    color: #833AB4;
}

.btn-social-media i {
    font-size: 24px;
    line-height: 24px;
}

.ico-logo-socialmedia {
    margin: auto;
    width: 100%;
    max-width: 24px;
}
/* social End */

/* back top Start */
.btn-sticky-side {
    display: flex;
    justify-content: center;
    align-items: center;

    position: fixed;
    z-index: 100;
    bottom: 80px;
    right: -100px;

    border-radius: 6px;
    border: 1px solid #eeeeee;
    background-color: #ffffff;
    width: 30px;
    height: 30px;

    box-shadow: 0px 0px 10px rgba(0,0,0,0.3);

    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
}

.btn-sticky-side.show {
    right: 10px;
}

.btn-sticky-side a {
    text-decoration: none;
}

.ico-sticky-side {
    color: var(--clr-blue);
    font-size: 26px;
    line-height: 26px;
}

@media (max-width: 640px) {
    
}

@media (max-width: 820px) {
    .btn-sticky-side {
        bottom: 80px;
        right: 10px;
    }
}
/* back top End */

/* btn cta Start */
.btn-cta {
    display: inline-block;
    margin: 20px 0px;
    padding: 10px 40px;
    border-radius: 5px;
    text-align: center;
    cursor: pointer;
    font-size: 18px;
}

.btn-cta.red {
    background-color: var(--clr-blue);
    color: #ffffff;
}
/* btn cta End */


/* animation Start */
/* animation Spinning */
@-webkit-keyframes spinning {
    0% {-webkit-transform:rotate(0deg)}
    100% {-webkit-transform:rotate(359deg)}
}

@-moz-keyframes spinning {
    0% {-moz-transform:rotate(0deg)}
    100% {-moz-transform:rotate(359deg)}
}

@keyframes spinning {
    0% {transform:rotate(0deg)}
    100% {transform:rotate(359deg)}
}

.anim-spin {
    -webkit-animation: spinning linear infinite;
    -moz-animation: spinning linear infinite;
    animation: spinning linear infinite;

    -webkit-animation-duration: var(--d);
    -moz-animation-duration: var(--d);
    animation-duration: var(--d);
}

/* animation Spinning Reverse */
@-webkit-keyframes spinning-reverse {
    0% {-webkit-transform:rotate(0deg)}
    100% {-webkit-transform:rotate(-359deg)}
}

@-moz-keyframes spinning-reverse {
    0% {-moz-transform:rotate(0deg)}
    100% {-moz-transform:rotate(-359deg)}
}

@keyframes spinning-reverse {
    0% {transform:rotate(0deg)}
    100% {transform:rotate(-359deg)}
}

.anim-spin-reverse {
    -webkit-animation: spinning-reverse linear infinite;
    -moz-animation: spinning-reverse linear infinite;
    animation: spinning-reverse linear infinite;

    -webkit-animation-duration: var(--d);
    -moz-animation-duration: var(--d);
    animation-duration: var(--d);
}

/* animation happyJump */
.anim-happyJump {
    -webkit-animation: happyJump 1s linear infinite;
    -moz-animation: happyJump 1s linear infinite;
    animation: happyJump 1s linear infinite;
}

@-webkit-keyframes happyJump {
    0% {
        -webkit-transform: rotate(-15deg) translate(0px, -10px) scale(1.1, 0.9);
    }
    25% {
        -webkit-transform: rotate(0deg) translate(0px, -20px) scale(0.9, 1.1);
    }
    50% {
        -webkit-transform: rotate(15deg) translate(0px, -10px) scale(1.1, 0.9);
    }
    75% {
        -webkit-transform: rotate(0deg) translate(0px, -20px) scale(0.9, 1.1);
    }
    100% {
        -webkit-transform: rotate(-15deg) translate(0px, -10px)scale(1.1, 0.9);
    }
}

@-moz-keyframes happyJump {
    0% {
        -moz-transform: rotate(-15deg) translate(0px, -10px) scale(1.1, 0.9);
    }
    25% {
        -moz-transform: rotate(0deg) translate(0px, -20px) scale(0.9, 1.1);
    }
    50% {
        -moz-transform: rotate(15deg) translate(0px, -10px) scale(1.1, 0.9);
    }
    75% {
        -moz-transform: rotate(0deg) translate(0px, -20px) scale(0.9, 1.1);
    }
    100% {
        -moz-transform: rotate(-15deg) translate(0px, -10px) scale(1.1, 0.9);
    }
}

@keyframes happyJump {
    0% {
        transform: rotate(-15deg) translate(-5px, -10px) scale(1.05, 0.95);
    }
    25% {
        transform: rotate(0deg) translate(0px, -25px) scale(0.95, 1.05);
    }
    50% {
        transform: rotate(15deg) translate(5px, -10px) scale(1.05, 0.95);
    }
    75% {
        transform: rotate(0deg) translate(0px, -25px) scale(0.95, 1.05);
    }
    100% {
        transform: rotate(-15deg) translate(-5px, -10px) scale(1.05, 0.95);
    }
}

/* animation Floating */
@-webkit-keyframes floating {
    0% {-webkit-transform: translateY(0px)}
    50% {-webkit-transform: translateY(-20px)}
    100% {-webkit-transform: translateY(0px)}
}

@-moz-keyframes floating {
    0% {-moz-transform: translateY(0px)}
    50% {-moz-transform: translateY(-20px)}
    100% {-moz-transform: translateY(0px)}
}

@keyframes floating {
    0% {transform: translateY(0px)}
    50% {transform: translateY(-20px)}
    100% {transform: translateY(0px)}
}

.anim-float {
    -webkit-animation: floating 6s linear infinite;
    -moz-animation: floating 6s linear infinite;
    animation: floating 6s linear infinite;

    -webkit-animation-duration: var(--d);
    -moz-animation-duration: var(--d);
    animation-duration: var(--d);
}

/* animation shaking */
@-webkit-keyframes shaking {
    0% {-webkit-transform: rotate(0deg)}
    3% {-webkit-transform: rotate(15deg)}
    4% {-webkit-transform: rotate(-15deg)}
    5% {-webkit-transform: rotate(7deg)}
    6% {-webkit-transform: rotate(-7deg)}
    7% {-webkit-transform: rotate(5deg)}
    8% {-webkit-transform: rotate(0deg)}
    100% {-webkit-transform: rotate(0deg)}
}

@-moz-keyframes shaking {
    0% {-moz-transform: rotate(0deg)}
    3% {-moz-transform: rotate(15deg)}
    4% {-moz-transform: rotate(-15deg)}
    5% {-moz-transform: rotate(7deg)}
    6% {-moz-transform: rotate(-7deg)}
    7% {-moz-transform: rotate(5deg)}
    8% {-moz-transform: rotate(0deg)}
    100% {-moz-transform: rotate(0deg)}
}

@keyframes shaking {
    0% {transform: rotate(0deg)}
    10% {transform: rotate(15deg)}
    20% {transform: rotate(-15deg)}
    30% {transform: rotate(7deg)}
    40% {transform: rotate(-7deg)}
    50% {transform: rotate(5deg)}
    60% {transform: rotate(0deg)}
    100% {transform: rotate(0deg)}
}

.anim-shake {
    -webkit-transform-origin: bottom center;
    -moz-transform-origin: bottom center;
    transform-origin: bottom center;

    -webkit-animation: shaking 2s linear infinite;
    -moz-animation: shaking 2s linear infinite;
    animation: shaking 2s linear infinite;
}

/* animation shaking 2 */
.anim-shake-2 {
    -webkit-transform-origin: center center;
    -moz-transform-origin: center center;
    transform-origin: center center;

    -webkit-animation: shaking2 1.5s linear infinite;
    -moz-animation: shaking2 1.5s linear infinite;
    animation: shaking2 1.5s linear infinite;
}

@keyframes shaking2 {
    0% {transform: rotate(-4deg)}
    30% {transform: rotate(-4deg)}
    31% {transform: rotate(4deg)}
    80% {transform: rotate(4deg)}
    81% {transform: rotate(-4deg)}
    100% {transform: rotate(-4deg)}
}

/* animation popping */
@-webkit-keyframes popping {
    0% {transform: scale(1)}
    30% {transform: scale(1)}
    31% {transform: scale(1.1)}
    80% {transform: scale(1.1)}
    81% {transform: scale(1)}
    100% {transform: scale(1)}
}

@-moz-keyframes popping {
    0% {transform: scale(1)}
    30% {transform: scale(1)}
    31% {transform: scale(1.1)}
    80% {transform: scale(1.1)}
    81% {transform: scale(1)}
    100% {transform: scale(1)}
}

@keyframes popping {
    0% {transform: scale(1)}
    30% {transform: scale(1)}
    31% {transform: scale(1.1)}
    80% {transform: scale(1.1)}
    81% {transform: scale(1)}
    100% {transform: scale(1)}
}

.anim-pop {
    -webkit-transform-origin: center center;
    -moz-transform-origin: center center;
    transform-origin: center center;

    -webkit-animation: popping 2s linear infinite;
    -moz-animation: popping 2s linear infinite;
    animation: popping 2s linear infinite;

    -webkit-animation-duration: var(--d);
    -moz-animation-duration: var(--d);
    animation-duration: var(--d);
}

/* animation bounce */
@-webkit-keyframes bouncing {
    0% {-webkit-transform: scale(1,1)}
    10% {-webkit-transform: scale(1.1,0.8)}
    20% {-webkit-transform: scale(0.9,1.2)}
    30% {-webkit-transform: scale(1.09,0.9)}
    40% {-webkit-transform: scale(0.95,1.1)}
    50% {-webkit-transform: scale(1,0.95)}
    60% {-webkit-transform: scale(1,1)}
    100% {-webkit-transform: scale(1,1)}
}

@-moz-keyframes bouncing {
    0% {-moz-transform: scale(1,1)}
    10% {-moz-transform: scale(1.1,0.8)}
    20% {-moz-transform: scale(0.9,1.2)}
    30% {-moz-transform: scale(1.09,0.9)}
    40% {-moz-transform: scale(0.95,1.1)}
    50% {-moz-transform: scale(1,0.95)}
    60% {-moz-transform: scale(1,1)}
    100% {-moz-transform: scale(1,1)}
}

@keyframes bouncing {
    0% {transform: scale(1,1)}
    10% {transform: scale(1.1,0.8)}
    20% {transform: scale(0.9,1.2)}
    30% {transform: scale(1.09,0.9)}
    40% {transform: scale(0.95,1.1)}
    50% {transform: scale(1,0.95)}
    60% {transform: scale(1,1)}
    100% {transform: scale(1,1)}
}

.anim-bounce {
    -webkit-transform-origin: bottom center;
    -moz-transform-origin: bottom center;
    transform-origin: bottom center;

    -webkit-animation: bouncing 2s linear infinite;
    -moz-animation: bouncing 2s linear infinite;
    animation: bouncing 2s linear infinite;
}

/* animation jump */
@-webkit-keyframes jumping {
    0% {bottom: 0px; -webkit-transform: scale(1,1)}
    5% {bottom: 0px; -webkit-transform: scale(1.1, 0.8)}
    7% {bottom: 0px; -webkit-transform: scale(1,1)}
    12% {bottom: 30px; -webkit-transform: scale(0.9,1.2)}
    16% {bottom: 50px; -webkit-transform: scale(1,1)}
    20% {bottom: 0px; -webkit-transform: scale(1,1)}
    24% {bottom: 0px; -webkit-transform: scale(1.1,0.9)}
    28% {bottom: 0px; -webkit-transform: scale(0.95,1.05)}
    36% {bottom: 0px; -webkit-transform: scale(1,1)}
    100% {bottom: 0px; -webkit-transform: scale(1,1)}
}

@-moz-keyframes jumping {
    0% {bottom: 0px; -moz-transform: scale(1,1)}
    5% {bottom: 0px; -moz-transform: scale(1.1, 0.8)}
    7% {bottom: 0px; -moz-transform: scale(1,1)}
    12% {bottom: 30px; -moz-transform: scale(0.9,1.2)}
    16% {bottom: 50px; -moz-transform: scale(1,1)}
    20% {bottom: 0px; -moz-transform: scale(1,1)}
    24% {bottom: 0px; -moz-transform: scale(1.1,0.9)}
    28% {bottom: 0px; -moz-transform: scale(0.95,1.05)}
    36% {bottom: 0px; -moz-transform: scale(1,1)}
    100% {bottom: 0px; -moz-transform: scale(1,1)}
}

@keyframes jumping {
    0% {bottom: 0px; transform: scale(1,1)}
    5% {bottom: 0px; transform: scale(1.1, 0.8)}
    7% {bottom: 0px; transform: scale(1,1)}
    12% {bottom: 30px; transform: scale(0.9,1.2)}
    16% {bottom: 50px; transform: scale(1,1)}
    20% {bottom: 0px; transform: scale(1,1)}
    24% {bottom: 0px; transform: scale(1.1,0.9)}
    28% {bottom: 0px; transform: scale(0.95,1.05)}
    36% {bottom: 0px; transform: scale(1,1)}
    100% {bottom: 0px; transform: scale(1,1)}
}

.anim-jump {
    -webkit-transform-origin: bottom center;
    -moz-transform-origin: bottom center;
    transform-origin: bottom center;

    -webkit-animation: jumping 2.5s linear infinite;
    -moz-animation: jumping 2.5s linear infinite;
    animation: jumping 2.5s linear infinite;
}

/* animation wave */
@-webkit-keyframes waving {
    0% {bottom: 0px; -webkit-transform: scale(1,1)}
    5% {bottom: 0px; -webkit-transform: scale(1.1, 0.8)}
    7% {bottom: 0px; -webkit-transform: scale(1,1)}
    12% {bottom: 30px; -webkit-transform: scale(0.9,1.2)}
    16% {bottom: 50px; -webkit-transform: scale(1,1)}
    20% {bottom: 0px; -webkit-transform: scale(1,1)}
    24% {bottom: 0px; -webkit-transform: scale(1.1,0.9)}
    28% {bottom: 0px; -webkit-transform: scale(0.95,1.05)}
    36% {bottom: 0px; -webkit-transform: scale(1,1)}
    100% {bottom: 0px; -webkit-transform: scale(1,1)}
}

@-moz-keyframes waving {
    0% {bottom: 0px; -moz-transform: scale(1,1)}
    5% {bottom: 0px; -moz-transform: scale(1.1, 0.8)}
    7% {bottom: 0px; -moz-transform: scale(1,1)}
    12% {bottom: 30px; -moz-transform: scale(0.9,1.2)}
    16% {bottom: 50px; -moz-transform: scale(1,1)}
    20% {bottom: 0px; -moz-transform: scale(1,1)}
    24% {bottom: 0px; -moz-transform: scale(1.1,0.9)}
    28% {bottom: 0px; -moz-transform: scale(0.95,1.05)}
    36% {bottom: 0px; -moz-transform: scale(1,1)}
    100% {bottom: 0px; -moz-transform: scale(1,1)}
}

@keyframes waving {
    0% {transform: rotate(0deg)}
    30% {transform: rotate(2deg)}
    70% {transform: rotate(-2deg)}
    100% {transform: rotate(0deg)}
}

.anim-wave {
    -webkit-transform-origin: bottom center;
    -moz-transform-origin: bottom center;
    transform-origin: bottom center;

    -webkit-animation: waving 2.5s linear infinite;
    -moz-animation: waving 2.5s linear infinite;
    animation: waving 2.5s linear infinite;

    -webkit-animation-duration: var(--d);
    -moz-animation-duration: var(--d);
    animation-duration: var(--d);
}

/* animation End */