.col-2 {
    width:100%;
}
.clip {
    width: 90%;
    margin: 3% 5%;
    border-radius: 10px;
    max-height: 320px
}
.cover-img {
    width: 100%;
    border-radius: 5px;
}
#lesson [data-type="V"]:hover {background-color: #e7e7e7}
ul.spec {
    display: flex;
    margin: 2px;
    font-family: sans-serif;
}
ul.spec li {
    flex:1;
    border-radius: 5px;
    display: flex;
    padding: 0.5em 0;
    margin: 3px;
    padding: 0 5px;
    flex-direction: column;
    background-color: rgb(11 102 129);
    color: #fff;
}
ul.spec li > small {
    font-size: 11px;
    white-space: nowrap;
    text-align: center;
    color: #FFC107;
}
ul.spec li > span {
    line-height: 2em;
    text-align: center;
    white-space: nowrap;
    font-size: 1.1em
}
ul.spec [data-unit]:after{
    color:#c4c4c4;
    font-size: 0.8em;
}
.box-1 {
    background-color: rgb(255 255 255 / 26%);
    border: 1px solid #d5d5d5;
    padding: 10px;
    border-radius: 10px;
    display: flex;
    flex-flow: row nowrap;
    
}
.f-container-1 {
    display: flex;
    flex-direction: row;
}
/********* Card box style  ********/
.card {
    display: flex;
    flex-direction: row;
    background-color: rgb(255 255 255 / 26%);
    border: 1px solid #d5d5d5;
    border-radius: 10px;
}
.card-head {
    padding: 10px;
    width: 25%;
    text-align: center;
    max-width: 100px;
}
.card-head img {
    width: 70px;
    height: auto;
    border-radius: 50%;
}
.card-body {
    flex:1;
    padding:10px 20px;
}
.card-title {
    font-size: 16px;
    display: block;
    font-weight: bold;
    margin-bottom: 0.6em;
    color: rgb(7 132 131);
}
.card-desc{
    font-size: 0.9em;
    color:#555;
}
/********* Course box  **********/
.course-box {
    align-items: start;
}
.course-box .caption {
    color: #009688;
    text-align: left;
}
.course-box p {
    color:#555;
    margin: 5px 0;
}
.course-box small {
    color: #007598;
}
.course-box > div {width:100%;padding: 0 5px;}
/********************************/
.head-title {
    color: #00a494;
    font-size: 1.6em;
    font-family: 'Sarabun';
}
.flex-group-1 {
    flex:1;
    flex-direction: column;
}
#preview-clip{
    margin: 0 auto 1em;
    max-width: 376px;
    padding:0 1em;
}

.figure-text {
    white-space: nowrap;
    font-size: 0.9em;
    margin-top: 0.5em;
    display: block;
}

.detail-text {
    font-size: 1em;
    color: #444;
    letter-spacing: 0.5px;
    line-height: 1.4em;
    text-indent: 2em;
    background-color: #fafafa;
    padding: 1em;
    border-radius: 8px;
    border: 1px solid #ececec;
}
.description-text {
    text-indent: 2em;
    padding:10px;
}
/**********  Tab sheet ************/
.tab-select {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-top: 15px;
    padding: 0 10px;
}
.tab-select .tab-bar {
    display: flex;
    flex-flow: row nowrap;
    text-align: center;
    flex-grow: 1;
}
/*.tab-select .tab-bar > * {flex-grow:1}*/
.tab-select .tab-item {
    font-family: sans-serif;
    font-weight: bold;
    width: 10em;
    flex-grow:1;
}
.tab-select .tab-text {
    display: block;
    border-bottom: 4px solid transparent;
    padding: 0 10px;
    line-height: 2em;
    cursor: pointer;
    font-size: 1.2em;
    position: relative;
    top: 2px;
    font-weight: normal;
    font-family: 'Sarabun';
}
.tab-select .tab-item.active .tab-text {border-bottom-color: #FF9800 !important; }
.tab-select .tab-item.active  .icon {color:#FF9800}
.tab-select .tab-item .tab-text:hover {border-bottom-color: #b5b5b5;}
.tab-select .tab-item .icon {margin-right: 3px;color:#999;}
.tab-select .tab-contents {flex:1;min-height: 10em;border-top: 2px solid #d2d2d2;}
.tab-select .tab-contents > div {
    /*position: absolute;*/
    width: 100%;
    height: 100%;
    display: none;
    padding: 10px;
    min-height: 20px;
    min-width: 20px;
}
.tab-select .tab-contents > div.active {display: block;}
/*************  ul style tree  *************/
ul.tree, .tree li {list-style: none;}
ul.tree {font-family: sans-serif;}
.tree >li {
    border-bottom: 1px dotted #ddd;
}
.tree >li > ul {display: none;color: #444;}
.tree >li.show > ul {display: block;}
.tree >li > .node {
    padding: 0.4em 0.3em 0.4em 1em;
    display: flex;
    align-items: center;
}
.tree > li.selected {
    background-color: #cadad6;
    border-radius: 8px;
}

.tree > .node > span {
    flex:1;
    /*display: flex;
    align-items: baseline;*/
}
.tree >li .node[data-type='T'] {
    font-size: 1.1em;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    margin-right: 3em;
    color: #434343;
}
.tree >li .node:not([data-type='T']):before, .doc-item:before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #FF9800;
    vertical-align: middle;
    border-radius: 3px;
    margin: 0 8px;
    position: relative;
}
.tree >li .node[data-type='T']:before {
    content: "+";
    display: inline-block;
    margin-right: 8px;
    color: #888;
    margin-left: -10px;
}
.tree >li:has(ul li.selected) .node[data-type='T']:before {
    content: "";
    width: 0;height:0;
    display: inline-block;
    border:5px solid transparent;
    border-left:5px solid green;
}
.tree > li .node > span {
    flex:1;
    margin-right:2em;
}

.tree .next-btn {
    text-align: right;
    display: flex;
    align-items: center;
    padding-right: 0px;
    padding-left: 7px;
}
.tree .next-btn .icon {color:#9a9a9a;}
.tree li:has(ul li.selected){color:green;}
.topic-text {
    font-weight: normal;
    font-size: 1em;
    font-family: Sarabun;
}
.topic-text span{ color:#444;}
.topic-text b{
    color: #000;
    margin: 10px;
    display: block;
}
/*** Document list  ****/
.doc-list  {font-family: sans-serif;}
.doc-list .doc-item {
    padding: 0.3em 0;
    border-bottom: 1px dotted #ddd;
    display: flex;
    align-items: center;  
}
.doc-list .doc-item .icon {width:1.6em;height:1.6em;color: #666;}
.doc-list .doc-btn, .next-btn {
    padding: 4px;
    background-color: #f6f6f6;
    border-radius: 5px;
    border: 1px solid #e2e2e2;
}
.doc-text {
    flex:1;
}
/******* Side bar *****/
.l-side-bar {
    width: 30%;

    height: 100%;
    display: block;
    z-index: 100;
    background-color: #ebf2f1;
    border-right: 1px solid #ddd;
    border-top: 1px solid #ddd;
    left: -300px;
    transition: left 0.3s ease-out;
    left: -300px;
    position: absolute;
}
.l-side-bar.show, .l-side-bar.full.show {left: 0px}
.head-bar {padding:5px}
.l-side-bar.full {
    max-width: none;
    width:40%;
}
.cover-page {
    background-color: rgb(51 51 51 / 27%);
    z-index: 10;
    position: absolute;
    height: 100%;
    width:100%;
    display: none;
}
.cover-page.show{display:block}
.group-text-2 {
    font-family: 'Kanit';
    margin: 1.5em 10px 10px 15px;
    color: #4d4d4d;
    font-size: 1.2em;
    font-weight: normal;
    display: inline-block;
    /*padding: 5px 1em;
    border-left: 5px solid #FF9800;*/
}
.group-text-2:first-child {
    margin-top:0.5em;
}
.bullet-square:before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    /*border-radius: 4px;*/
    background-color: #FF9800;
    margin-right: 1em;
}
/*
@media only screen and (max-width: 375px) {
    .flex-group-1 {flex-direction: column;}
    .f-container-1 {flex-direction: column-reverse;} 
    .col-2 {width:100%}
    .hide-sm {display: none}
    .hide-md {display: block}
.l-side-bar {left: -300px;position: absolute;}
.l-side-bar.full {left:-100%;width:100%;max-width:none;}
}*/
@media only screen and (min-width: 376px) {
    /*.flex-group-1 {flex-direction: column;}*/
    .f-container-1 {flex-direction: column-reverse;}
    .hide-sm {display: none}
    .hide-md {display: block}
}
/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 640px) {
    .col-2 {width:50%}
    .flex-group-1, .f-container-1 {flex-direction: row;}
    .hide-sm {display: block}
    .hide-md {display: none}
    .f-container-1 > div:first-child {width:60%}
    .f-container-1 > div:last-child {width:40%}
    
}
@media only screen and (min-width: 768px) {
    .col-2 {width:45%}
    .f-container-1 > div {width:50%}
    .tab-select .tab-bar {
        flex-grow: unset;
    }
    .l-side-bar{
        left: 0px;
        position: static;
        max-width: 300px;
        min-width: 220px;
    }
}
@media only screen and (min-width: 992px) {
    .col-2 {width:36%}
}
@media only screen and (min-width: 1200px) {
    .col-2 {width:30%}
}