@font-face {
    font-family: 'Kanit';
    src: url('../fonts/kanit-regular-webfont.eot');
    src: url('../fonts/kanit-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/kanit-regular-webfont.woff2') format('woff2'), url('../fonts/kanit-regular-webfont.woff') format('woff'), url('../fonts/kanit-regular-webfont.ttf') format('truetype'), url('../fonts/kanit-regular-webfont.svg#kanitregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

* {
    box-sizing: border-box;
}

.flag {
    display: inline-block;
    width: 16px;
    height: 20px;
}

.flag-thai {
    background: url('../img/flag/thailand.png') no-repeat;
}

.flag-TH {
    background: url('../img/flag/thailand.png') no-repeat;
}

.flag-english {
    background: url('../img/flag/united-kingdom.png') no-repeat;
}

.flag-EN {
    background: url('../img/flag/united-kingdom.png') no-repeat;
}

.flag-lao {
    background: url('../img/flag/mm.png') no-repeat;
}

.flag-MM {
    background: url('../img/flag/mm.png') no-repeat;
}

.flag-cambodia {
    background: url('../img/flag/cambodia.png') no-repeat;
}

.flag-CB {
    background: url('../img/flag/cambodia.png') no-repeat;
}

.flag-vietnam {
    background: url('../img/flag/vietnam.png') no-repeat;
}

.flag-VN {
    background: url('../img/flag/vietnam.png') no-repeat;
}

.flag-vietnam {
    background: url('../img/flag/vietnam.png') no-repeat;
}

.flag-VM {
    background: url('../img/flag/vietnam.png') no-repeat;
}

.flag-chart {
    display: inline-block;
    width: 32px;
    height: 32px;
}

.flag-thai-large {
    background: url('../img/flag/thailand-flag-32.png') no-repeat;
}

.flag-english-large {
    background: url('../img/flag/uk-flag-32.png') no-repeat;
}

.flag-click {
    padding: 2px;
}

body {
    /*height: 95vh;*/
    font-family: 'Kanit', sans-serif;
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0px;
    /*font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;*/
}

.orgchart {
    display: inline-block;
}

.orgchart,
.orgchart ul {
    padding: 0;
    margin: 0;
}

.orgchart ul {
    display: flex;
}

.orgchart li {
    display: flex;
    margin: 0 auto 0 auto;
    flex-direction: column;
    position: relative;
}

.orgchart .collapsed>ul {
    display: none;
}

.orgchart li::before,
.orgchart .new-node::after,
.orgchart .new-node::before {
    box-sizing: border-box;
    content: '';
    position: absolute;
    z-index: -1;
    /*border: 0px solid #FFFFFF;*/
    border: 0px solid #504f4f;
}

.orgchart li::before,
.orgchart .share-new-node::after,
.orgchart .share-new-node::before {
    box-sizing: border-box;
    content: '';
    position: absolute;
    z-index: -1;
    /*border: 0px solid #FFFFFF;*/
    border: 0px solid #504f4f;
}

.orgchart li:not(:only-child)::before {
    border-top-width: 2px;
    width: 100%;
    height: 20px;
    top: 0px;
}

.orgchart li:first-child::before {
    width: calc(50% + 1px);
    right: 0;
    border-left-width: 2px;
    /*border-top-left-radius: 7px; แก้เส้นหายเวลา Zoom Out*/
}

.orgchart li:last-child::before {
    width: calc(50% + 1px);
    border-right-width: 2px;
    /*border-top-right-radius: 7px;* แก้เส้นหายเวลา Zoom Out*/
}


/*Start Dot line connector*/

.orgchart li.dot-line::before,
.orgchart div.dot-line::before {
    border: 0px dotted #504f4f;
    box-sizing: border-box;
    content: '';
    position: absolute;
    z-index: -1;
}

.orgchart li.dot-line:not(:only-child)::before {
    border-top-width: 2px;
    width: 100%;
    height: 20px;
    top: 0px;
}

.orgchart li.dot-line:first-child::before {
    width: calc(50% + 1px);
    right: 0;
    border-left-width: 2px;
    /*border-top-left-radius: 7px; แก้เส้นหายเวลา Zoom Out*/
}

.orgchart li.dot-line:last-child::before {
    width: calc(50% + 1px);
    border-right-width: 2px;
    /*border-top-right-radius: 7px; แก้เส้นหายเวลา Zoom Out*/
}


/*End Dot line connector*/

.orgchart li.child-root::before {
    display: none;
}

.orgchart li.dark-line::before {
    display: none;
}

.orgchart li.dark-line-reverse::before {
    width: calc(50% + 1px);
    border-right-width: 2px;
    border-top-width: 0px;
}

.orgchart .new-node::after,
.orgchart .new-node::before,
.orgchart div.dot-line::before {
    border-left-width: 2px;
    width: 2px;
    height: 20px;
    left: calc(50% - 1px);
}

.orgchart .share-new-node::after,
.orgchart .share-new-node::before,
.orgchart div.dot-line::before {
    border-left-width: 2px;
    width: 2px;
    height: 20px;
    left: calc(50% - 1px);
}

.orgchart .new-node::before,
.orgchart div.dot-line::before {
    top: -20px;
}

.orgchart .share-new-node::before,
.orgchart div.dot-line::before {
    top: -20px;
}

.orgchart .new-node::after {
    bottom: -20px;
}

.orgchart .share-new-node::after {
    bottom: -20px;
}

.orgchart li:first-child:not(:only-child)>.new-node::before,
.orgchart li:last-child:not(:only-child)>.new-node::before,
.orgchart li:not(:only-child)>.root::before {
    border-left-width: 0px;
}

.orgchart li:first-child:not(:only-child)>.share-new-node::before,
.orgchart li:last-child:not(:only-child)>.share-new-node::before,
.orgchart li:not(:only-child)>.root::before {
    border-left-width: 0px;
}

.orgchart .last>.new-node::after,
.orgchart .root>.new-node::before,
.orgchart .collapsed>.new-node::after {
    display: none;
}

.orgchart .last>.share-new-node::after,
.orgchart .root>.share-new-node::before,
.orgchart .collapsed>.share-new-node::after {
    display: none;
}

.orgchart .root>div.has-parent::before {
    display: initial !important;
}

.wrapper {
    text-align: center;
}


/* Font Color */

.orgchart .node {
    color: #fff;
}


/*นั่งแทน*/

.orgchart .chart-sit-instead,
div.chart-sit-instead {
    background: #a0a3a8
}


/* Level 1 */

.orgchart .chart-bu-1,
div.chart-bu-1,
td.chart-bu-1 {
    background: #e92e48;
}


/* Level 2 */

.orgchart .chart-bu-2,
div.chart-bu-2,
td.chart-bu-2 {
    background: #a2c214;
}


/* Level 3 */

.orgchart .chart-bu-3,
div.chart-bu-3,
td.chart-bu-3 {
    background: #ff8699;
}


/* Level 4 */

.orgchart .chart-bu-4,
div.chart-bu-4,
td.chart-bu-4 {
    background: #0071bd;
}


/* Level 5 */

.orgchart .chart-bu-5,
div.chart-bu-5,
td.chart-bu-5 {
    background: #ff9001;
}


/* Level 6 */

.orgchart .chart-bu-6,
div.chart-bu-6,
td.chart-bu-6 {
    background: #7f3e98;
}


/* Level 7 */

.orgchart .chart-bu-7,
div.chart-bu-7,
td.chart-bu-7 {
    background: #7ecffe;
}

.orgchart .chart-bu-8,
div.chart-bu-8,
td.chart-bu-8 {
    background: #a7a37e;
}


/* Position */

.orgchart .chart-position {
    background: #ed553b;
}


/* Employee */

.orgchart .chart-employee {
    background: #ed553b;
}

.has-click:hover {
    background: #ccc !important;
    color: #000;
}

.has-click {
    cursor: pointer;
}

ul.stack {
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: baseline;
}

ul.stack>li {
    width: auto;
    padding: 0 15px;
}

ul.stack>li:before {
    display: none;
}

ul.stack>li:first-child:before {
    display: block;
    height: 50% !important;
    right: auto;
    left: 0;
    border-width: 0;
    border-top-width: 2px;
    border-left-width: 2px;
    border-radius: 7px 0;
}

ul.stack>li:after {
    content: '';
    width: 2px !important;
    height: 100% !important;
    position: absolute;
    left: 0;
    background: #504f4f;
    display: block;
    border: none !important;
    top: 0;
}

ul.stack>li:first-child:after {
    height: 50% !important;
    bottom: 0;
    top: auto;
}

ul.stack>li:last-child:before {
    border-bottom-left-radius: 7px;
    border-bottom-width: 2px;
    height: 3px;
    left: 0;
    top: 2em;
    width: 1em;
}

ul.stack>li:last-child:after {
    height: 51% !important;
    bottom: calc(50% - 2px);
    /*height: calc(4em + 3px) !important;
    left: 0;
    top: 0;
    width: 3px;*/
}

ul.stack>li>.new-node {
    margin: 5px 0;
    margin-top: 10px;
    /*padding-left: 60px;*/
    width: 100%;
}

ul.stack>li>.share-new-node {
    margin: 5px 0;
    margin-top: 10px;
    /*padding-left: 60px;*/
    width: 100%;
}

ul.stack>li:first-child .new-node {
    margin-top: 10px;
}

ul.stack>li:first-child .share-new-node {
    margin-top: 10px;
}

ul.stack>li>.new-node:before {
    /*border-left-width: 2px;
    width: 2px;
    height: 20px;
    left: calc(50% - 1px);*/
    /*display: none;*/
}

ul.stack>li>.share-new-node:before {
    /*border-left-width: 2px;
    width: 2px;
    height: 20px;
    left: calc(50% - 1px);*/
    /*display: none;*/
}

ul.stack>li>.new-node:after {
    /*width: 20px;
    height: 2px;
    border: none;
    background: #ccc;
    top: 50%;
    bottom: auto;
    left: -15px;*/
}

ul.stack>li>.share-new-node:after {
    /*width: 20px;
    height: 2px;
    border: none;
    background: #ccc;
    top: 50%;
    bottom: auto;
    left: -15px;*/
}

ul.stack>li:first-child::before {
    right: auto;
    left: 0;
}

.orgchart ul.stack>li>.new-node::before {
    height: 2px;
    width: 15px;
    top: calc(50% - 1px);
    left: -15px;
    border-width: 2px 0 0 0;
}

.orgchart ul.stack>li>.share-new-node::before {
    height: 2px;
    width: 15px;
    top: calc(50% - 1px);
    left: -15px;
    border-width: 2px 0 0 0;
}

.orgchart ul.stack>li>ul {
    margin-top: 15px !important;
}

.new-node {
    text-align: left;
    min-width: 300px;
    /* Set width of cards */
    min-height: 140px;
    box-shadow: 1px 1px 5px 1px #eee;
    border-radius: 8px;
    /* Slightly Curve edges */
    /*overflow: hidden;*/
    /* Fixes the corners */
    /*display: flex;  */
    /* Children use Flexbox */
    flex-direction: column;
    /* Rotate Axis */
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    align-self: center;
    position: relative;
    /*margin: 20px auto 20px auto;*/
    margin: 20px 5px;
}

.share-new-node {
    text-align: left;
    min-width: 300px;                 /* Set width of cards */
    height: 140px;
    box-shadow: 1px 1px 5px 1px #eee;
    border-radius: 8px;
    /* Slightly Curve edges */
    /*overflow: hidden;*/
    /* Fixes the corners */
    /*display: flex;  */
    /* Children use Flexbox */
    flex-direction: column;
    /* Rotate Axis */
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    align-self: center;
    position: relative;
    /*margin: 20px auto 20px auto;*/
    margin: 17px 5px;
}
.share-new-node{
    text-align: left;
    min-width: 300px;                 /* Set width of cards */
    height: 140px;
    box-shadow: 1px 1px 5px 1px #eee;
    border-radius: 8px;           /* Slightly Curve edges */
    /*overflow: hidden;*/             /* Fixes the corners */
    /*display: flex;  */              /* Children use Flexbox */
    flex-direction: column;       /* Rotate Axis */
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    align-self: center;
    position: relative;
    /*margin: 20px auto 20px auto;*/
    margin: 17px 5px;
}
.new-node .card-header {
    color: white;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    border-bottom: 1px solid #eee;
    padding: 5px 10px;
    border-radius: 8px 8px 0 0;
}

.share-new-node .card-header {
    color: white;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    border-bottom: 1px solid #eee;
    padding: 5px 10px;
    border-radius: 8px 8px 0 0;
}

.new-node .card-main {
    display: flex;
    /* Children use Flexbox */
    flex-direction: row;
    /* Rotate Axis to Vertical */
    justify-content: start;
    /* Group Children in Center */
    align-items: start;
    /* Group Children in Center (+axis) */
    padding: 8px;
    /* Add padding to the top/bottom */
}

.share-new-node .share-card-main {
    display: flex;
    /* Children use Flexbox */
    flex-direction: row;
    /* Rotate Axis to Vertical */
    justify-content: start;
    /* Group Children in Center */
    align-items: start;
    /* Group Children in Center (+axis) */
    padding: 8px;
    /* Add padding to the top/bottom */
}

.new-node .image {
    border-radius: 100%;
    overflow: hidden;
    height: 80px;
    width: 80px;
    border: 2px solid #fff;
    box-shadow: 1px 1px 5px -1px #333;
}

.share-new-node .image {
    border-radius: 100%;
    overflow: hidden;
    height: 80px;
    width: 80px;
    border: 2px solid #fff;
    box-shadow: 1px 1px 5px -1px #333;
}

.new-node .image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.share-new-node .image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.new-node .content {
    padding: 10px;
    padding-top: 14px !important;
}

.share-new-node .content {
    padding: 10px;
    padding-top: 14px !important;
}

.new-node .content p {
    margin: 0;
}

.share-new-node .content p {
    margin: 0;
}

.new-node div.one-line {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 300px;
}

.share-new-node div.one-line {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 300px;
}

.new-node .content p.one-line {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 180px;
}

.share-new-node .content p.one-line {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 180px;
}

.new-node .card-pull-right {
    margin-top: -8px;
    position: absolute;
    right: 0px;
    float: right;
}

.share-new-node .card-pull-right {
    margin-top: -8px;
    position: absolute;
    right: 0px;
    float: right;
}

.new-node .card-pull-right .slots span {
    margin-top: 0px !important;
}

.share-new-node .card-pull-right .slots span {
    margin-top: 0px !important;
}

.new-node .slots {
    display: inline-flex;
}

.share-new-node .slots {
    display: inline-flex;
}

.new-node .content .multiple-boss {
    font-size: 20px;
    vertical-align: bottom;
    margin-left: 8px;
}

.share-new-node .content .multiple-boss {
    font-size: 20px;
    vertical-align: bottom;
    margin-left: 8px;
}

span .tooltiptext {
    font-size: 11px;
}

.new-node .card-pull-right .slots2 span {
    margin-top: 5px !important;
}

.share-new-node .card-pull-right .slots2 span {
    margin-top: 5px !important;
}

.new-node .slots2 span {
    font-size: 20px !important;
    padding: 1px 12px 1px 12px !important;
    /* height: 15px; */
    min-width: 15px;
    /* height: 15px; */
    display: inline-block;
    margin-right: 5px;
    vertical-align: middle;
    /* line-height: 15px; */
    text-align: center;
    background: rgba(107, 107, 107, 1);
    color: white;
    margin-top: 5px;
    border-radius: 3px;
    font-weight: bold;
}

.share-new-node .slots2 span {
    font-size: 20px !important;
    padding: 1px 12px 1px 12px !important;
    /* height: 15px; */
    min-width: 15px;
    /* height: 15px; */
    display: inline-block;
    margin-right: 5px;
    vertical-align: middle;
    /* line-height: 15px; */
    text-align: center;
    background: rgba(107, 107, 107, 1);
    color: white;
    margin-top: 5px;
    border-radius: 3px;
    font-weight: bold;
}

.new-node .slots span {
    font-size: 11px;
    padding: 1px 4px 1px 4px;
    /* height: 15px; */
    min-width: 15px;
    /*height: 15px;*/
    display: inline-block;
    margin-right: 5px;
    vertical-align: middle;
    /*line-height: 15px;*/
    text-align: center;
    background: rgba(107, 107, 107, 1);
    color: white;
    margin-top: 5px;
    border-radius: 3px;
    font-weight: bold;
}

.share-new-node .slots span {
    font-size: 11px;
    padding: 1px 4px 1px 4px;
    /* height: 15px; */
    min-width: 15px;
    /*height: 15px;*/
    display: inline-block;
    margin-right: 5px;
    vertical-align: middle;
    /*line-height: 15px;*/
    text-align: center;
    background: rgba(107, 107, 107, 1);
    color: white;
    margin-top: 5px;
    border-radius: 3px;
    font-weight: bold;
}

.new-node {
    background: rgba(226, 226, 226, 1);
    background: -moz-linear-gradient(-45deg, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 50%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
    background: -webkit-gradient(left top, right bottom, color-stop(0%, rgba(226, 226, 226, 1)), color-stop(50%, rgba(219, 219, 219, 1)), color-stop(51%, rgba(209, 209, 209, 1)), color-stop(100%, rgba(254, 254, 254, 1)));
    background: -webkit-linear-gradient(-45deg, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 50%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
    background: -o-linear-gradient(-45deg, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 50%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
    background: -ms-linear-gradient(-45deg, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 50%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
    background: linear-gradient(135deg, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 50%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#fefefe', GradientType=1);
}

.share-new-node {
    background: rgba(226, 226, 226, 1);
    background: -moz-linear-gradient(-45deg, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 50%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
    background: -webkit-gradient(left top, right bottom, color-stop(0%, rgba(226, 226, 226, 1)), color-stop(50%, rgba(219, 219, 219, 1)), color-stop(51%, rgba(209, 209, 209, 1)), color-stop(100%, rgba(254, 254, 254, 1)));
    background: -webkit-linear-gradient(-45deg, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 50%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
    background: -o-linear-gradient(-45deg, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 50%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
    background: -ms-linear-gradient(-45deg, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 50%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
    background: linear-gradient(135deg, rgba(226, 226, 226, 1) 0%, rgba(219, 219, 219, 1) 50%, rgba(209, 209, 209, 1) 51%, rgba(254, 254, 254, 1) 100%);
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#e2e2e2', endColorstr='#fefefe', GradientType=1);
}

.orgchart .new-node.resp-1 {
    box-shadow: 0 4px 8px 0 orange, 0 6px 20px 0 orange!important;
}

.orgchart .share-new-node.has-click-icon.resp-1 {
    box-shadow: 0 4px 8px 0 orange, 0 6px 20px 0 orange;
}

.orgchart .new-node.resp-2 {
    box-shadow: 0 4px 8px 0 black, 0 6px 20px 0 black!important;
}

.orgchart .share-new-node.has-click-icon.resp-2 {
    box-shadow: 0 4px 8px 0 black, 0 6px 20px 0 black;
}

.tooltip {
    position: relative;
    display: inline-block;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -60px;
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}

div.card-header {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    /* autoprefixer: off */
    -webkit-box-orient: vertical;
    /* autoprefixer: on */
}

.ellipsis-org{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 300px;
}