diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..5c445b1 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,5 @@ +build +registerServiceWorker.js +reportWebVitals.js +src/utils/timeline.js +src \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9dc4161 --- /dev/null +++ b/.gitignore @@ -0,0 +1,31 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +.eslintcache + +# /src/_constants/configs.js +# /src/_constants/config.js +/package-lock.json +/docker-compose.yml +/yarn.lock \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..37ae0d7 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,20 @@ +{ + "arrowParens": "always", + "bracketSameLine": false, + "bracketSpacing": true, + "semi": true, + "singleQuote": false, + "jsxSingleQuote": false, + "quoteProps": "as-needed", + "trailingComma": "all", + "singleAttributePerLine": false, + "htmlWhitespaceSensitivity": "css", + "vueIndentScriptAndStyle": false, + "proseWrap": "preserve", + "insertPragma": false, + "printWidth": 80, + "requirePragma": false, + "tabWidth": 2, + "useTabs": false, + "embeddedLanguageFormatting": "auto" +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7b401e0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM node:16 + +# Set working directory +WORKDIR /var/www + +# get latest nodejs +RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - +RUN apt-get install -y nodejs + +# Install Yarn +#RUN npm install --global yarn + +#npm install +#RUN bash -c "cd /var/www/src; npm install" diff --git a/docker-compose.yml.example b/docker-compose.yml.example new file mode 100644 index 0000000..cba7f57 --- /dev/null +++ b/docker-compose.yml.example @@ -0,0 +1,35 @@ +version: '3.5' +services: + #Nginx Service + agent-landingpage-nginx: + image: nginx:alpine + container_name: agent-landingpage-nginx + restart: unless-stopped + tty: true + ports: + - "19995:80" + - "19915:443" + volumes: + - ./:/var/www + - ./nginx/conf.d:/etc/nginx/conf.d + networks: + - app-network + #Node Service + agent-landingpage-web: + image: node:16 + container_name: agent-landingpage-web + build: + context: . + dockerfile: ./Dockerfile + restart: unless-stopped + tty: true + working_dir: /var/www + volumes: + - ./:/var/www + networks: + - app-network +#Docker Networks +networks: + app-network: + name: gk.internal + external: true diff --git a/nginx/conf.d/vhost.conf b/nginx/conf.d/vhost.conf new file mode 100644 index 0000000..06cedb1 --- /dev/null +++ b/nginx/conf.d/vhost.conf @@ -0,0 +1,15 @@ +server { + listen 80; + server_name se_dev.sundayenglish.com; + index index.html; + error_log /var/log/nginx/error.log; + access_log /var/log/nginx/access.log; + root /var/www/build; + + location / { + try_files $uri $uri/ /index.html$is_args$args; + gzip_static on; + } + + client_max_body_size 128m; +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f4ab379 --- /dev/null +++ b/package.json @@ -0,0 +1,78 @@ +{ + "name": "sunday-english", + "version": "0.1.0", + "private": true, + "dependencies": { + "@material-ui/core": "3.9.2", + "@material-ui/icons": "3.0.2", + "@testing-library/jest-dom": "^5.11.4", + "@testing-library/react": "^11.1.0", + "@testing-library/user-event": "^12.1.10", + "axios": "^0.21.1", + "chart.js": "^2.9.4", + "chartjs-plugin-datalabels": "1.0.0", + "classnames": "^2.3.1", + "date-fns": "^2.22.1", + "dayjs": "^1.10.4", + "history": "^4.10.1", + "html-react-parser": "^1.2.4", + "jquery": "^3.6.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "moment-duration-format": "2.2.2", + "node-sass": "9.0.0", + "qs": "^6.9.6", + "query-string": "^7.1.1", + "react": "^17.0.1", + "react-apple-login": "^1.1.3", + "react-chartjs-2": "^2.11.1", + "react-datepicker": "^4.1.1", + "react-dom": "^17.0.1", + "react-facebook-login": "^4.1.1", + "react-google-login": "^5.2.2", + "react-js-pagination": "^3.0.3", + "react-lazyload": "^3.2.0", + "react-markdown": "^8.0.5", + "react-redux": "^7.2.2", + "react-router-dom": "^5.2.0", + "react-router-hash-link": "^2.4.3", + "react-scripts": "4.0.3", + "react-slick": "^0.30.3", + "react-social-login": "^3.4.12", + "react-uikit3": "^0.14.0", + "redux": "^4.0.5", + "redux-persist": "^6.0.0", + "redux-thunk": "^2.3.0", + "sass": "^1.32.8", + "sheetjs-style": "^0.15.8", + "styled-components": "^5.3.3", + "text-selection-react": "^1.1.8", + "web-vitals": "^1.0.1", + "xlsx": "^0.18.5" + }, + "scripts": { + "start": "react-scripts --max_old_space_size=4096 start", + "build": "react-scripts --max_old_space_size=4096 build", + "test": "react-scripts test", + "eject": "react-scripts eject", + "lint": "eslint src", + "format": "prettier --write ./src" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "devDependencies": { + "css-loader": "^5.1.1", + "prettier": "^2.2.1", + "style-loader": "^2.0.0" + } +} diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 0000000..8d23de1 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,6 @@ +RewriteEngine On +RewriteBase / +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteCond %{REQUEST_FILENAME} !-l +RewriteRule ^.*$ / [L,QSA] \ No newline at end of file diff --git a/public/assets/css/all.css b/public/assets/css/all.css new file mode 100644 index 0000000..3bc18ef --- /dev/null +++ b/public/assets/css/all.css @@ -0,0 +1,11245 @@ +/*IMPORT FONT*/ + +@font-face { + font-family: "iCiel-Alina"; + src: url(../fonts/iCiel-Alina.otf); +} + +@font-face { + font-family: "Myriadpro-Regular"; + src: url(../fonts/MYRIADPRO-REGULAR.woff); +} + +@font-face { + font-family: "Myriadpro-Bold"; + src: url(../fonts/MYRIADPRO-BOLD.woff); +} + +@font-face { + font-family: "Myriadpro-SemiBold"; + src: url(../fonts/MYRIADPRO-SEMIBOLD.woff); +} + +@font-face { + font-family: "Myriadpro-Light"; + src: url(../fonts/MYRIADPRO-LIGHT_0.OTF); +} + +@font-face { + font-family: "Myriadpro-Italic"; + src: url(../fonts/MyriadProCondensedItalic.ttf); +} + +@font-face { + font-family: "MyriadPro-Bold"; + src: url(../fonts/myriad-pro/MYRIADPRO-BOLD.OTF); +} + +@font-face { + font-family: "MyriadPro-SemiBold"; + src: url(../fonts/myriad-pro/MYRIADPRO-SEMIBOLD.OTF); +} + +@font-face { + font-family: "MyriadPro"; + src: url(../fonts/myriad-pro/MYRIADPRO-REGULAR.OTF); +} + +/* AvertaStd */ +@font-face { + font-family: "AvertaStdCY-Black"; + src: url(../fonts/AvertaStdCY-Black_1.otf); +} +@font-face { + font-family: "AvertaStdCY-ExtraBold"; + src: url(../fonts/AvertaStdCY-Extrabold_1.otf); +} +@font-face { + font-family: "AvertaStdCY-ExtraBoldItalic"; + src: url(../fonts/AvertaStdCY-ExtraboldItalic_1.otf); +} +@font-face { + font-family: "AvertaStdCY-Bold"; + src: url(../fonts/AvertaStdCY-Bold_1.otf); +} + +@font-face { + font-family: "AvertaStdCY-SemiBold"; + src: url(../fonts/AvertaStdCY-Semibold_1.otf); +} + +@font-face { + font-family: "AvertaStdCY"; + src: url(../fonts/AvertaStdCY-Regular_3.otf); +} +@font-face { + font-family: "AvertaStdCY-Italic"; + src: url(../fonts/AvertaStdCY-RegularItalic_1.otf); +} + + +@font-face { + font-family: 'Barlow-Bold'; + src: url(../fonts//Barlow-Bold.ttf); +} + + +:root { + --primary-color: #00CC83; + --second-color: #FF9F00; + --button-bg-color: #FF9F00; + --height-header: 64px; + --width-sidebar: 78px; +} + +html { + font-size: 62.5%; +} + +@media screen and (max-height: 700px) { + :root { + --height-header: 54px + } + + html { + font-size: 50%; + } +} + +/*END IMPORT FONT*/ +/*RESET CSS*/ +body, +div, +span, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +abbr, +address, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +samp, +small, +strong, +sub, +sup, +var, +b, +i, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; + /* font-family: "Myriadpro-Regular"; */ + font-family: "AvertaStdCY"; + font-size: 1.6rem; + color: #4D4D4D; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} +html, +body { + /* height: 100%; */ + width: 100%; +} + +html { + scroll-behavior: smooth; +} + +html:has(.modal_filter_mocktest), +html:has(.modal_not_scroll), +body:has(.modal_filter_mocktest), +body:has(.modal_not_scroll) { + overflow: hidden !important; + height: 100%; +} + +article, +aside, +details, +figcaption, +figure, +footer, +headLr, +hgroup, +menu, +nav, +section { + display: block; +} + +nav ul { + list-style: none; + -webkit-padding-start: 0; + -moz-padding-start: 0; + padding-inline-start: 0; +} + +blockquote, +q { + quotes: none; +} + +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ""; + content: none; +} + +ul { + list-style: none; +} + +input { + /* font-family: "Myriadpro-Regular"; */ + font-family: "AvertaStdCY"; +} + +a { + margin: 0; + padding: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; + text-decoration: none; + cursor: pointer; + color: #4e4e4e; +} + +ins { + background-color: #ff9; + color: #000; + text-decoration: none; +} + +mark { + background-color: #ff9; + color: #000; + font-style: italic; + font-weight: bold; +} + +del { + text-decoration: line-through; +} + +abbr[title], +dfn[title] { + border-bottom: 1px dotted; + cursor: help; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* Change CSS UI modal select as div option */ + +.home_curriculum .select-styled { + z-index: 1002 !important; +} + +.home_curriculum .select-options { + top: 14px !important; +} + +input, +select { + vertical-align: middle; +} + +button { + outline: none; + cursor: pointer; +} + +a:hover { + text-decoration: none; +} + +.__bg_layout_parent_and_student { + height: 100%; + width: 100%; + object-fit: contain; + background: #fff; +} + +body > iframe[style*="2147483647"] { + display: none; +} + +/*END RESET CSS*/ +/*GENERAL CSS*/ +.flex, +.flex-m { + display: flex; + justify-content: space-between; + flex-direction: row; +} + +.width-100-percent { + width: 100% !important; +} + +.__icon_close_filter { + height: 18px; +} + +.btn-custom-width { + width: 100% !important; + margin: 0px 10px; + padding: 0px 25px !important; +} + +.btn-add-class-custom { + padding: 0px 70px !important; +} + +.select-avatar-class-custom { + height: 68px; + display: flex; + align-items: center; + padding: 0px 10px !important; +} + +.select-avatar-class-custom img { + height: 53px; +} + +.select-avatar-class-custom p { + margin-left: 10px !important; +} + +.flex-1 { + flex: 1; +} + +.clear { + clear: both; +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right !important; +} + +.text-trans { + text-transform: uppercase; +} + +.disable-mobile { + display: block; +} + +.enable-mobile { + display: none; +} + +.rel { + position: relative; +} + +.sunE-container { + width: 100%; + height: auto; + /* max-width: 1200px; */ + margin: 0 auto; + padding: 0; +} + +.form-sunE-button .btn-check-custom { + padding: 0px 50px; + /* margin-top: 60px; */ +} + +.bg-main { + background: #f3ffff; +} + +.min-hei-100 { + min-height: 100vh; +} + +.bold { + font-family: "Myriadpro-Bold"; +} + +a:hover { + color: #00b9b7; +} + +/*END GENERAL CSS*/ +/*SIDEBAR MENU*/ +.sunE-logo { + cursor: pointer; +} + +.sunE-sidebar { + display: flex; + height: 100vh; + -webkit-box-flex: 0; + background-color: rgba(172, 241, 228, 0.66); + flex: 0 0 auto; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-transition: margin-left 250ms ease-out, + -webkit-transform 250ms ease-out; + transition: margin-left 250ms ease-out, -webkit-transform 250ms ease-out; + transition: margin-left 250ms ease-out, transform 250ms ease-out; + transition: margin-left 250ms ease-out, transform 250ms ease-out, + -webkit-transform 250ms ease-out; + width: 292px; +} + +.calendar .day-calendar-custom { + height: 40px; + padding: 0px 12px; + margin-bottom: 5px; + margin-top: 12px; +} + +.day-container .day-box { + flex-grow: 0; + flex-shrink: 0; + flex-basis: calc(100% / 7 - 0px); + display: flex; + justify-content: center; + align-items: center; + /* width: 100%; */ +} + +.day-container .day-box .day-cell { + min-width: 40px; + min-height: 40px; + margin: 5px 0px; +} + +.sunE-sidebar-header svg { + margin: 12px 8px 0 0; + cursor: pointer; +} + +.list-menu-i { + margin-top: 20px; + padding: 0 20px; +} + +.list-menu-i-logout { + padding-bottom: 3vh; +} + +.list-menu-i .menu-img { + width: 68px; + max-height: 36px; +} + +.list-menu-i-logout .menu-img img { + width: 37px; +} + +.list-menu-i .menu-img.active .ico_default { + display: none; +} + +.list-menu-i .menu-img .ico_active { + display: none; +} + +.list-menu-i .menu-img.active .ico_active { + display: block; +} + +.list-menu-i a.menu-item { + font-size: 16px; + color: #404041; + line-height: 34px; + align-items: center; + padding: 12px 0 12px 40px; + text-decoration: none; + margin: 8px 0; +} + +.list-menu-i a.menu-item.active { + background: #fff; + border-radius: 30px; +} + +.list-menu-i a.menu-item span { + font-size: 16px; + color: #404041; +} + +.list-menu-i a.menu-item:hover { + text-decoration: none; + background: #fff; + border-radius: 30px; +} + +.badge-student span { + text-transform: uppercase; + line-height: 30px !important; + color: #fc9d24 !important; +} + +.list-menu-i .active span { + font-weight: bolder; + font-size: 17px !important; +} + +.empty-plan-custom { + display: flex; + flex-direction: column; + align-items: center; + margin-top: 30px; +} + +.hide-date-custom { + display: none !important; +} + +.empty-plan-custom img { + width: 316px; + object-fit: cover; +} + +.empty-plan-custom span { + color: #00a79d; + font-size: 24px; + font-weight: bold; + width: 316px; + text-align: center; + text-transform: uppercase; +} + +.sunE-right-container { + width: 100%; + height: 100vh; + overflow: auto; + padding: 30px 20px 20px; + position: relative; +} + +.sunE-main-title { + margin: 0 0 20px; +} + +.sunE-main-title .line-h { + display: block; + width: 4px; + height: 40px; + background: #00bbb5; + border-radius: 2px; + border: none; +} + +.sunE-main-title h1 { + font-size: 32px; + font-family: "Myriadpro-SemiBold"; + color: #00bbb5; + line-height: 40px; + padding-left: 8px; +} + +.list-menu-custom { + width: 300px; +} + +.btn-gr { + margin: 0 0 10px; + background: #b7f3e5; + border-radius: 15px; + height: 60px; + cursor: pointer; + overflow: hidden; +} + +.btn-gr.active { + background-image: linear-gradient(to right, #00e1a0, #00b9b7); +} + +.btn-gr .ico_active { + display: none; +} + +.btn-gr.active .ico_active { + display: block; + margin: 0 auto; +} + +.btn-gr.active .ico_default { + display: none; +} + +.btn-gr-img { + width: 100px; + text-align: center; + padding: 13px 0; +} + +.btn-gr-text p { + font-size: 18px; + font-family: "Myriadpro-Bold"; + color: #00a79d; + line-height: 60px; +} + +.btn-gr.active .btn-gr-text p { + color: #fff; +} + +.sunE-content-box { + padding: 0 0 0 30px; +} + +.sunE-content-box.pad-0 { + padding: 0; +} + +.box-shadow { + box-shadow: 1px 2px 4px 0 rgba(21, 27, 38, 0.4); +} + +.box-shadow-2 { + box-shadow: 1px 2px 6px 0 rgb(21 27 38 / 35%); +} + +.box-white-content { + background: #fff; + border-radius: 15px; + border: none; + margin: 0 0 15px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} + +.title-no-bg { + color: #8f9a96; + text-align: center; + padding: 15px 0; + border-top-left-radius: 15px; + border-top-right-radius: 15px; + border: none; + font-size: 22px; + font-family: "Myriadpro-Bold"; + margin: 0 0 15px; +} + +.title-bg { + color: #fff; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + text-align: center; + padding: 15px 0; + border-top-left-radius: 15px; + border-top-right-radius: 15px; + border: none; + font-size: 22px; + font-family: "Myriadpro-Bold"; + margin: 0 0 15px; +} + +.text-light { + font-family: "Myriadpro-Light"; +} + +.box-white-content p { + font-size: 16px; + text-align: center; + margin: 0; + padding: 0 0 15px; +} + +.het-han { + color: #8f9a96; + text-align: center; + padding: 5px 15px; + border: 1px solid #8f9a96; + font-size: 22px; + font-family: "Myriadpro-Bold"; + margin: 0 0 15px; +} + +.box-white-content { + padding: 0 0 15px; +} + +.text-title-blue { + color: #00a69c; + font-family: "Myriadpro-Bold"; + font-size: 18px; +} + +.btn-send { + margin-top: 40px; +} + +.input-nm { + background: #eee; + color: #000; + height: 40px; + line-height: 40px; + outline: none; + border: none; + border-radius: 20px; + padding-left: 20px; + width: 100%; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + margin: 0 0 15px; + font-size: 16px; + color: #000; +} + +.input-nm::placeholder { + /* Chrome, Firefox, Opera, Safari 10.1+ */ + color: #000; + opacity: 1; + /* Firefox */ +} + +.input-nm:-ms-input-placeholder { + /* Internet Explorer 10-11 */ + color: #000; +} + +.input-nm::-ms-input-placeholder { + /* Microsoft Edge */ + color: #000; +} + +.pad-box { + padding: 30px 20px 0; +} + +.box-buy-history .title-bg { + padding: 5px 0; +} + +.box-buy-history .price { + background: #e6e7e8; + color: #1b75bb; + font-size: 32px; + height: 60px; + line-height: 60px; + border: none; + border-radius: 16px; + padding: 0; + text-align: center; +} + +.box-buy-history p { + padding: 0 0 8px; + text-align: left; +} + +.box-buy-history-price { + padding: 0 20px; +} + +.box-buy-history-time { + padding-left: 20px; +} + +.small { + font-size: 18px; +} + +.list-buy-history { + max-height: calc(100vh - 120px); + overflow: auto; + padding: 0 15px 10px 30px; +} + +.list-buy-history::-webkit-scrollbar { + width: 8px; +} + +/* Track */ +.list-buy-history::-webkit-scrollbar-track { + background: #bbcbc3; + border-radius: 4px; +} + +/* Handle */ +.list-buy-history::-webkit-scrollbar-thumb { + background: #00bbb6; + border-radius: 4px; +} + +.bg-main-site { + background: #effff7; +} + +.slider-custom { + max-width: 440px; + margin: 0 auto; +} + +.slider-custom .uk-position-small { + margin: 0; +} + +.slider-custom .uk-slidenav-next svg, +.slider-custom .uk-slidenav-previous svg { + display: none !important; +} + +.slider-custom .uk-slidenav { + padding: 86px 5px; + border-radius: 8px; + background: #f5fefa; + box-shadow: 0 1px 3px 0 rgba(21, 27, 38, 0.15); +} + +.slider-item-content { + margin: 10px 30px; + padding: 5px 0 0; +} + +.slider-custom .uk-position-small[class*="uk-position-center-left"], +.slider-custom .uk-position-small[class*="uk-position-center-right"] { + transform: translateY(-50%) translateY(0px); +} + +.slider-custom .uk-dotnav > * > * { + width: 14px; + height: 14px; + border: 1px solid #00bbb6; +} + +.slider-custom .uk-dotnav > .uk-active > * { + background-color: #00bbb6; + border-color: transparent; +} + +.slider-custom .uk-dotnav > * > :focus, +.slider-custom .uk-dotnav > * > :hover { + background-color: #00bbb6; +} + +.slider-custom .slick-next:before, +.slider-custom [dir="rtl"] .slick-prev:before, +.slider-custom .slick-prev:before { + display: none; +} + +.slider-custom .slick-arrow { + background: #fff; + padding: 86px 5px; + position: absolute; + border-radius: 10px; + border: none; + z-index: 9; + text-align: center; +} + +.slider-custom .slick-next, +.slider-custom .slick-prev { + width: 31px; + height: auto; +} + +.slider-custom .slick-arrow.slick-next { + left: calc(100% - 17px); +} + +.slider-custom .slick-arrow.slick-prev { + left: -16px; +} + +.slider-custom .slick-next:before, +.slider-custom .slick-prev:before { + font-size: 20px; + line-height: 1; + opacity: 0.75; + color: #fff; +} + +.slider-custom .slick-dots li button:before { + font-size: 16px; + color: #00a79d; +} + +.item-top-title { + margin: 5px 10px; + background: #d9ecf2; + padding: 5px 0; + border-radius: 10px; +} + +.item-top-title p { + text-align: center; + font-size: 20px; + padding: 0; + color: #262261; +} + +.item-price { + margin: 5px 0; + background: #f5f5f5; +} + +.item-price p { + text-align: center; + font-size: 28px; + padding: 0; + color: #d34e42; +} + +.item-time { + padding: 0 30px; + margin: 20px 0 20px; +} + +.item-time p, +.item-time span { + font-size: 16px; + padding: 0; + color: #000; + text-align: left; +} + +.item-time .text-red { + color: #d34e42; +} + +.btn-show-hide { + width: 100%; + padding-top: 30px; + height: 1px; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + overflow: hidden; +} + +.btn-desc { + background: #bbf7e4; + width: 60px; + height: 60px; + border-radius: 30px; + text-align: center; + display: block; + position: absolute; + left: 50%; + transform: translate(-50%, -50%); + cursor: pointer; +} + +.box-white-content .btn-desc img { + margin-top: 8px; +} + +.info .btn-desc img { + transform: rotate(180deg); +} + +.hide { + display: none !important; +} + +.list-info { + padding: 0 20px; + margin: 20px 0; +} + +.item-list { + margin: 0 0 10px; +} + +.info-list-title { + color: #000; + font-family: "Myriadpro-Bold"; + font-size: 18px; + margin: 0; + padding: 0 0 20px; +} + +.item-list-img { + margin-right: 15px; +} + +.item-list p { + color: #404041; + text-align: left; +} + +.bg-yellow { + background: #f1f3b9; +} + +.chosen-class { + margin: 0 auto; + text-align: center; +} + +.chosen-class select { + width: 380px; + height: 40px; + border-radius: 20px; + border: none; + outline: none; + text-align-last: center; + box-shadow: 0 1px 8px 0 rgba(21, 27, 38, 0.15); + font-size: 16px; + font-family: "Myriadpro-Bold"; + padding-right: 40px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + /* Remove default arrow */ + background: url("./../images/icon/ico_dropdown.png") 96% / 20px no-repeat #fff; + /* Add custom arrow */ +} + +.chosen-class select::-ms-expand { + display: none; + /* remove default arrow on ie10 and ie11 */ +} + +.chosen-class.err select { + border: 2px solid #e22028; +} + +.chosen-class select option { + text-align: center; +} + +.__status_excercise_home_std { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + display: flex; + align-items: center; + justify-content: center; + background: #ffffff6b; +} + +/*END SIDEBAR MENU*/ +/*GIAO VIEN*/ + +.bg-header-entrance-score { + background-image: url('./../images/entrance_header.png'); + background-repeat: no-repeat; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + background-position: bottom; +} + +.bg-body-entrance-score { + background-image: url('./../images/entrance_body.png'); + background-repeat: no-repeat; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + background-position: bottom; +} + +.bg-auth-img{ + width: 100%; + height: 100vh; + background-image: url("./../imgs/bg/bg_auth.png"); + background-position: bottom; + background-repeat: no-repeat; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} + +.bg-main-img{ + width: 100%; + height: 100%; + background-image: url("./../imgs/bg/bg_main.png"); + background-position: bottom; + background-repeat: no-repeat; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} + +.bg-sub-main-img { + width: 100%; + height: 100%; + background-image: url("./../imgs/bg/bg_sub_main.png"); + background-position: bottom; + background-repeat: no-repeat; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} + +.bg-main-color { + background-image: linear-gradient(to top, #fafffd, #e1fef0); +} + +.sunE-container-box { + padding: 50px 20px 20px; +} + +.sunE-calendar { + padding-right: 10px; +} + +.calendar { + width: 100%; + background: #fff; + border-radius: 20px; +} + +.sunE-plan { + padding-left: 10px; +} + +.no-plan h2 { + font-family: "Myriadpro-SemiBold"; + font-size: 24px; + padding: 0; + margin: 0; + color: #00a79d; +} + +.no-plan .form-sunE-button { + margin: 10px 0 0; +} + +.sunE-box-slider { + margin: 20px 0; +} + +.slider-custom-2 { + max-width: 860px; + margin: 0 auto; +} + +.slider-custom-2 .uk-position-small { + margin: 0; +} + +.slider-custom-2 .uk-slidenav-next svg, +.slider-custom-2 .uk-slidenav-previous svg { + display: none !important; +} + +.slider-custom-2 .uk-slidenav { + padding: 14px 16px; + border-radius: 12px; + background-image: linear-gradient(to bottom, #00e1a0, #00b9b7); + box-shadow: 0 1px 3px 0 rgba(21, 27, 38, 0.15); +} + +.slider-item-content { + margin: 10px 30px; + padding: 5px 0 0; +} + +.slider-item-content img { + margin: auto; +} + +.slider-custom-2 .uk-position-center-left-out { + right: calc(100% - 30px); +} + +.slider-custom-2 .uk-position-center-right-out { + left: calc(100% - 30px); +} + +.slider-custom-2 .uk-dotnav > * > * { + width: 14px; + height: 14px; + border: 1px solid #00bbb6; +} + +.slider-custom-2 .uk-dotnav > .uk-active > * { + background-color: #00bbb6; + border-color: transparent; +} + +.slider-custom-2 .uk-dotnav > * > :focus, +.slider-custom-2 .uk-dotnav > * > :hover { + background-color: #00bbb6; +} + +.slider-custom-2 .slick-next:before, +.slider-custom-2 [dir="rtl"] .slick-prev:before, +.slider-custom-2 .slick-prev:before { + display: none; +} + +.slider-custom-2 .slick-arrow { + background: #00bbb6; + padding: 14px 16px; + position: absolute; + border-radius: 10px; + border: none; + z-index: 9; + text-align: center; +} + +.slider-custom-2 .slick-next, +.slider-custom-2 .slick-prev { + width: 48px; + height: auto; +} + +.slider-custom-2 .slick-arrow.slick-next { + left: calc(100% - 35px); +} + +/* Slider for student homepage */ +.slider-custom-student .slick-arrow.slick-next { + left: calc(100% - 75px); +} + +.slider-custom-2 .slick-arrow.slick-prev { + left: -16px; +} + +/* Slider for student homepage */ +.slider-custom-student .slick-arrow.slick-prev { + left: 28px; +} + +.slider-custom-2 .slick-next:before, +.slider-custom-2 .slick-prev:before { + font-size: 20px; + line-height: 1; + opacity: 0.75; + color: #fff; +} + +.slick-dots { + bottom: -45px !important; +} + +.slider-custom-student .slick-dots { + position: relative !important; + bottom: 0 !important; + margin: 0.25rem 0 0.65rem; +} + +.slider-custom-2 .slick-dots li button:before { + font-size: 16px; + color: #00a79d; + background-color: #00a79d; + content: ""; + border-radius: 50%; + width: 14px; + height: 14px; +} + +.img-thumb { + margin: 10px; + width: 270px; + height: 240px; + border-radius: 10px; + overflow: hidden; +} + +.img-thumb img { + width: 100%; + height: 100%; + border-radius: 10px; +} + +.slider-item-desc { + padding: 0 10px; + box-sizing: border-box; +} + +.item-top-title-main { + margin: 10px 0; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + padding: 10px 0; + border-radius: 25px; +} + +.item-top-title-main p { + text-align: center; + font-size: 20px; + padding: 0; + color: #fff; + font-family: "Myriadpro-SemiBold"; +} + +.chart-content { + width: 100%; + padding: 0 10px; +} + +.chart-content canvas { + margin-left: -35px; + margin-top: 35px; +} + +.calendar-text-tb { + font-size: 18px; + font-family: "Myriadpro-Bold"; + color: #00a79d; +} + +.slider-custom-2 .slider-item-content { + margin: 10px; + padding: 0 15px; +} + +.align-item-center { + align-items: center; +} + +.box-no-class .center-horizontal { + padding-top: 80px; +} + +.btn-img { + display: inline-block; +} + +.btn-img img { + position: absolute; + top: 8px; + left: 15px; + width: 24px; +} + +.btn-img .btn-line-blue { + padding-left: 50px; +} + +.plan-item { + background: #fff; + border-radius: 10px; + border: none; + margin: 0 0 10px; + /* border-left: 20px solid #fbb040; */ + overflow: hidden; + height: 80px; +} +.personal.plan-item { + border-left: 20px solid #8dc63f; +} + +.test_evaluation.plan-item { + border-left: 20px solid #c367f4; +} + +.teaching_work.plan-item { + border-left: 20px solid #00aeef; +} + +.professional_activities.plan-item { + border-left: 20px solid #fbb040; +} + +.other.plan-item { + border-left: 20px solid #be1e2d; +} + +.plan-item:last-child { + margin: 0 0 2px; +} + +.plan-item-content { + width: 100%; + padding: 10px 40px 10px 10px; +} + +.check-work { + color: #000; + font-family: "Myriadpro-SemiBold"; + font-size: 18px; + padding: 0 0 0 10px; + margin: 0 !important; + line-height: 20px; + width: 99%; +} + +.width_70_percent { + width: 70% !important; +} + +.plan-item-content p { + font-size: 18px; + padding-left: 10px; +} + +.his { + margin-top: -5px; + width: 111px; +} + +.orange span, +.red span, +.success-text span { + color: #fbb040; + font-size: 14px; + font-family: "Myriadpro-Bold"; + line-height: 30px; + padding-left: 5px; +} + +.red span { + color: #be1e2d; +} + +.success-text span { + color: #84c241; +} + +.btn-plan-item { + position: absolute; + top: 50%; + transform: translateY(-50%); + right: 0; + cursor: pointer; +} + +.sunE-plan-list { + max-height: 356px; + overflow: auto; + padding-right: 12px; +} + +.homepage-teacher .sunE-plan-list-home { + max-height: 24.8rem; +} + +.sunE-plan-list::-webkit-scrollbar { + width: 8px; +} + +/* Track */ +.sunE-plan-list::-webkit-scrollbar-track { + background: #bbcbc3; + border-radius: 4px; +} + +/* Handle */ +.sunE-plan-list::-webkit-scrollbar-thumb { + background: #00bbb6; + border-radius: 4px; +} + +.edit-plan-box { + width: 166px; + background: #b7f2e4; + display: flex; + justify-content: center; + align-items: center; + margin-right: -166px; + transition: margin 0.6s ease; + padding-top: 5px; +} + +.edit-plan-box .flex-m { + width: 166px; +} + +.edit-plan-box .btn p { + font-size: 18px; + line-height: 18px; +} + +.btn { + cursor: pointer; +} + +.plan-item-content .show-edit-box { + display: none; +} + +.edit-show .plan-item-content .hide-edit-box { + display: none; +} + +.edit-show .plan-item-content .show-edit-box { + display: block; +} + +.edit-show .edit-plan-box { + margin-right: 0; + transition: margin 0.6s ease; +} + +.edit-show .plan-item-content { + margin-left: -166px; + transition: margin 0.6s ease; + border-top-right-radius: 10px; + border-bottom-right-radius: 10px; +} + +.btn-sign-out { + position: absolute; + right: 20px; + bottom: 50px; +} + +.setting-content { + text-align: center; +} + +.setting-list { + display: inline-block; + max-width: 480px; + margin: 80px 0 0; +} + +.setting-box { + padding: 20px 20px 0; + display: inline-block; + width: 125px; + height: 125px; + background: #fff; + margin: 30px 30px 0 0; + border-radius: 10px; + border: none; + cursor: pointer; + box-sizing: border-box; + overflow: hidden; +} + +.setting-box img { + margin: auto; +} + +.setting-box p { + line-height: 14px; +} + +.top-8 { + margin-top: 8px; +} + +.top-16 { + margin-top: 16px; +} + +.sunE-no-class p { + font-size: 18px; + padding: 0; + margin: 0; + color: #000; +} + +.sunE-no-class p .bold { + color: #000; + font-size: 18px; +} + +.sunE-class-list { + box-sizing: border-box; +} + +.class-box { + box-sizing: border-box; + padding: 15px; + border-radius: 20px; + background: #fff; + display: inline-block; +} + +.class-box a { + display: block; + text-decoration: none; +} + +.class-box a:hover { + text-decoration: none; +} + +.class-box .class-box-img { + width: 145px; + height: 120px; + overflow: hidden; +} + +.class-box .class-box-img img { + width: 100%; + height: 100%; + border-radius: 10px; +} + +.title-line-blue { + font-size: 20px; + line-height: 24px; + padding: 8px; + text-align: center; + border-radius: 20px; + color: #fff; + font-family: "Myriadpro-SemiBold"; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); +} + +.class-box-desc { + padding: 0 0 0 15px; +} + +.class-box-desc .title-line-blue { + margin: 0 0 15px; +} + +.class-box-desc p, +.class-box-desc span { + font-size: 18px; + margin: 0; + padding: 0; + font-family: "Myriadpro-Regular"; +} + +.class-offline { + color: #be1e2d; + text-transform: uppercase; +} + +.class-online { + color: #00a69c; + text-transform: uppercase; +} + +.sunE-class-content { + padding-top: 40px; +} + +.sunE-class-content .uk-grid > * { + padding-left: 20px; + padding-bottom: 20px; +} + +.sunE-class-content .class-box { + width: 100%; + height: 100%; +} + +.sunE-class-list { + padding-right: 20px; + max-height: calc(100vh - 225px); + padding-bottom: 30px; + overflow: auto; +} + +.sunE-class-list::-webkit-scrollbar { + width: 8px; +} + +/* Track */ +.sunE-class-list::-webkit-scrollbar-track { + background: #bbcbc3; + border-radius: 4px; +} + +/* Handle */ +.sunE-class-list::-webkit-scrollbar-thumb { + background: #00bbb6; + border-radius: 4px; +} + +.img-upload { + width: 100%; + height: 500px; + background: #fff; + border-radius: 20px; + border: none; +} + +.sunE-create-class-img .height-330 { + height: 330px; +} + +.avt-img { + width: 100%; + height: 100%; + border-radius: 20px; + overflow: hidden; +} + +.avt-img img { + width: 100%; + height: 100%; +} + +.avt-img #preview-avatar { + object-fit: cover; +} + +.img-gray { + background: #ccc; +} + +.upload-img { + width: 88px; + height: 55px; + border-radius: 10px; + border: none; +} + +.upload-gr { + background: #b2f1e6; + width: 260px; + padding: 10px; + border-radius: 20px; + border: none; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + cursor: pointer; +} + +.upload-gr p { + font-size: 18px; + margin: 0; + padding: 0; + text-align: center; + line-height: 55px; + font-family: "Myriadpro-Light"; +} + +.bg-line-blue select { + background: linear-gradient(to right, #00e1a0, #00b9b7); + color: #fff; +} + +.sunE-class-info { + padding-left: 30px; +} + +.sunE-class-info select { + width: 100%; +} + +.class-on-off { + margin: 10px 0 40px; +} + +.class-on-off input { + margin: -3px 8px 0 0; + width: 20px; + height: 20px; + outline: none; + /*box-shadow: 0 1px 6px 0 rgba(21, 27, 38, .15);*/ +} + +.class-on-off .err label { + color: #e22028; +} + +.class-on-off label { + font-size: 16px; + font-family: "Myriadpro-Semibold"; + color: #000; +} + +.red { + color: #ff0000; +} + +.sunE-input-group { + margin: 0 0 15px; +} + +.sunE-input-group label { + display: block; + margin: 0; + padding: 0 0 10px; + font-family: "Myriadpro-Semibold"; + font-size: 18px; + color: #000; +} + +.sunE-input-group input { + width: 100%; + height: 44px; + border: 1px solid #fff; + border-radius: 18px; + box-shadow: 0 1px 6px 0 rgba(21, 27, 38, 0.15); + padding: 0 20px; + box-sizing: border-box; + outline: none; + /* font-family: ; */ +} + +.sunE-input-group.err input { + border-color: #e22028; +} + +.class-slect-time { + margin: 30px 0 0; +} + +.class_slect_time_margin { + margin: 20px 0 0 !important; +} + +.select-gr { + display: flex; +} + +.select-gr select { + width: 40px; + height: 50px; + border-radius: 10px; + background: #00a69c; + color: #fff; + outline: none; + border: none; + box-shadow: 0 1px 6px 0 rgba(21, 27, 38, 0.15); + margin: 0 8px 0 0; + text-align-last: center; + font-size: 16px; + font-family: "Myriadpro-Semibold"; +} + +.select-gr select option { + padding: 8px; + text-align: center; + text-align-last: center; + background: #fff; + color: #000; + font-family: "Myriadpro-Regular"; +} + +.select-gr select { + /* for Firefox */ + -moz-appearance: none; + /* for Chrome */ + -webkit-appearance: none; +} + +/* For IE10 */ +.select-gr select::-ms-expand { + display: none; +} + +/* Select time Center */ +.select-time-center input { + text-align: center; +} + +.class-index-box { + box-sizing: border-box; + padding: 15px; + border-radius: 20px; + background: #fff; + display: inline-block; + width: 100%; +} + +.class-index-box .class-index-box-img { + width: 280px; + height: 237px; +} + +.class-index-box .class-index-box-img img { + width: 100%; + height: 100%; +} + +.class-index-box .class-box-desc .class-on { + margin: 0 0 20px; + display: block; +} + +.info-gr { + margin: 0 0 10px; +} + +.info-gr .info-img { + width: 30px; +} + +.info-gr .info-img img { + margin-top: 2px; +} + +.info-gr .info-con { + padding: 0 0 0 15px; +} + +.info-gr .info-con p { + font-size: 16px; + font-family: "Myriadpro-Light"; + line-height: 30px; +} + +.info-gr img { + height: 22px; + cursor: pointer; +} + +.class-select-content { + width: 100%; + margin: auto; + text-align: center; +} + +.class-select-list { + display: inline-block; + max-width: 700px; + margin: 80px 0 0; +} + +.class-select-box { + padding: 20px 0px 0; + display: inline-block; + width: 160px; + height: 160px; + background: #fff; + margin: 0 5px; + border-radius: 10px; + border: none; + cursor: pointer; + box-sizing: border-box; + overflow: hidden; +} + +.class-select-box img { + margin: auto; +} + +.class-select-box .select-img { + height: 90px; +} + +.class-select-box p { + font-size: 16px; + padding: 10px 0 0; + margin: 0; +} + +.bcht-calendar { + text-align: center; + margin: 0 0 40px; +} + +.bcht-calendar input { + width: 500px; + height: 44px; + border: none; + border-radius: 18px; + box-shadow: 0 1px 6px 0 rgba(21, 27, 38, 0.15); + padding: 0 0 0 20px; + box-sizing: border-box; +} + +.student-list-container { + width: 380px; +} + +.custom-list-student { + padding: 20px; + border-radius: 20px; + background: #fff; +} + +.custom-list-student-2 { + padding: 3px; + box-shadow: 1px 2px 4px 0 rgb(21 27 38 / 40%); + border-radius: 20px; + background: #fff; +} + +.list-student { + max-height: calc(100vh - 270px); + overflow: auto; +} + +.list-student::-webkit-scrollbar { + width: 8px; +} + +/* Track */ +.list-student::-webkit-scrollbar-track { + background: #bbcbc3; + border-radius: 4px; +} + +/* Handle */ +.list-student::-webkit-scrollbar-thumb { + background: #00cfab; + border-radius: 4px; +} + +.sunE-title-medium { + font-size: 22px; + margin: 0; + padding: 0 0 20px; +} + +.d-flex { + display: flex; +} + +.align-items-center { + align-items: center; +} + +.item-student { + margin: 0 0 15px; + display: flex; + justify-content: space-between; + align-items: center; + border-radius: 10px; + padding: 10px; +} + +.item-student .stt { + line-height: 70px; + font-size: 16px; + font-family: "Myriadpro-Bold"; + width: 30px; +} + +.item-student .item-student-img { + width: 70px; + height: 70px; + border-radius: 35px; + background: #ccc; + overflow: hidden; +} + +.item-student .item-student-img.bd-orange { + box-sizing: border-box; + border: 2px solid #e7c71d; +} + +.item-student .item-student-img img { + width: 100%; + height: 100%; + object-fit: cover; +} +.item-student-name-container { + max-width: 65%; +} +.item-student-name { + padding: 0 0 0 20px; +} + +.ranks .item-student-name { + max-width: 70%; +} + +.item-student-name p { + line-height: 24px; + font-size: 16px; +} + +.add_student_container { + padding-bottom: 0; + overflow: hidden !important; +} + +.justify-content-end { + justify-content: end; +} + +.justify-content-center { + justify-content: center; +} + +.__btn-cancel, +.__btn-register { + height: 35px !important; + width: 120px !important; +} + +.background-add-student { + height: calc(100vh - 90px); + width: 100%; + object-fit: contain; + background: #fff; +} + +.show_img { + width: 8px; +} + +.calendar .fix-nowap-row-calendar { + min-width: 280px; + /* max-width: 300px; */ + flex-wrap: nowrap; +} + +.min-width-custom-200 { + min-width: 200px; +} + +.add_student { + background-repeat: no-repeat; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + height: calc(100vh - 100px); + width: 100%; + position: relative; +} + +.add_code_student_custom { + width: 470px; + position: absolute; + left: 50%; + bottom: 0px; + transform: translate(-50%, 0%); +} + +.add_code_student_custom { + width: 470px; + position: absolute; + left: 50%; + top: 548px; + transform: translate(-50%, -50%); +} + +.add_code_student_custom.err input { + border-color: #e22028; +} + +.add_code_student_custom .ico_err { + display: none; + position: absolute; + top: 5px; + right: 15px; +} + +.add_code_student_custom .sunE-input-border-blue-gr.err .ico_err { + display: block; + width: 25px; +} + +.add_code_student_custom .form-sunE-button { + margin: 20px 0 0; +} + +.add_code_student_custom .sunE-title-medium { + padding: 0 0 10px; + margin-bottom: 20px; +} + +.add_code_student_custom p.red { + font-size: 16px; + display: none; +} + +.noti-message-custom { + position: relative; +} + +/* .noti-message-custom .icon-noti-mess{ + height: 35px; +} */ + +.noti-message-custom .count-noti-custom { + position: absolute; + top: 0; + right: 0; + width: 30px; + height: 30px; + border-radius: 50%; + background: #be1e2d; + display: flex; + align-items: center; + justify-content: center; + color: #fff; + padding: 3px; +} + +.add_code_student_custom.err p.red { + display: block; +} + +.empty-err-custom { + height: 3vh; +} + +.add_code_student_custom .error-help { + margin: 0px; + width: 100%; +} + +.bottom-10 { + margin-bottom: 10px; +} + +.bottom-60 { + margin-bottom: 60px; +} + +.bottom-30 { + margin-bottom: 30px; +} + +.upload-gr .upload-img { + height: 53px; +} + +.add_code_student-bottom-60 { + transform: translate(-50%, 0%); + bottom: 30px; + top: auto; +} + +.sunE-input-border-blue-gr { + max-width: 420px; + margin: 0 auto 10px; +} + +.horizontal-center { + display: flex; + align-items: center; +} + +.horizontal-center .ico_input { + top: auto !important; + left: auto !important; + margin-left: 5px; +} + +.input-hide-arrow::-webkit-outer-spin-button, +.input-hide-arrow::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +/* Firefox */ +.input-hide-arrow[type="number"] { + -moz-appearance: textfield; +} + +.sunE-input-border-blue-gr input { + width: 100%; + height: 44px; + border: 2px solid #399098; + border-radius: 22px; + /* text-align: center; */ + padding: 0 50px; + box-sizing: border-box; + outline: none; +} + +.__posistion_custom { + top: 0px !important; + left: 0px !important; + right: 0px !important; + bottom: 0px !important; + margin: auto !important; + transform: none !important; + display: flex; + flex-direction: column; + justify-content: end; + padding-bottom: 30px; +} + +.__posistion_custom .sunE-title-medium { + display: flex; + flex-direction: column; + justify-content: end; +} + +.add_code_student-gr.err input { + border-color: #e22028; +} + +.add_code_student-gr .ico_err { + display: none; + position: absolute; + top: 5px; + right: 15px; +} + +.add_code_student-gr .sunE-input-border-blue-gr.err .ico_err { + display: block; +} + +.add_code_student-gr .form-sunE-button { + margin: 20px 0 0; +} + +.add_code_student-gr .sunE-title-medium { + padding: 0 0 10px; +} + +.add_code_student-gr p.red { + font-size: 16px; + display: none; +} + +.add_code_student-gr.err p.red { + display: block; +} + +.sunE-input-border-blue-gr .ico_input { + position: absolute; + /* top: 5px; */ + left: 7px; +} + +.sunE-no-student .add_code_student-gr { + top: 510px; +} + +.class_student_list .sunE-title-medium { + font-size: 18px; +} + +.class_student_list_box { + padding: 20px; + border-radius: 20px; + border: none; + background: #fff; + height: calc(100vh - 220px); + overflow: auto; +} + +.h-160.class_student_list_box { + height: calc(100vh - 160px); +} + +.btn-remove-student { + padding-top: 20px; + cursor: pointer; +} + +.btn-user-add, +.btn-user-share { + margin-right: 8px; +} + +.btn-user-add img, +.btn-user-share img { + width: 40px; +} + +.sh-num { + width: 20px; + height: 20px; + text-align: center; + line-height: 20px; + font-size: 12px; + color: #fff; + background: #f70000; + position: absolute; + top: -4px; + right: -4px; + border-radius: 10px; + font-family: "Myriadpro-SemiBold"; +} + +.dk_class .select-all { + padding: 10px; + /* margin-right: 30px; */ + padding-right: 39px; +} + +.change_point_checkbox_add_exercise { + padding-right: 45px !important; +} + +.dk_class .select-all label { + font-size: 16px; + font-family: "Myriadpro-SemiBold"; + color: #000; +} + +.dk_class .select-all input { + margin: -3px 0 0 10px; + width: 16px; + height: 16px; +} + +.btn-check-gr { + padding-top: 20px; +} + +.btn-check-gr input { + margin: -3px 10px 0 0; + width: 16px; + height: 16px; +} + +.btn-check-gr .btn-accept { + background: #eb8923; + color: #fff; + width: 115px; + height: 30px; + border-radius: 15px; + outline: none; + border: none; + text-align: center; + margin-right: 5px; +} + +.btn-check-gr .btn-reject { + background: #bcbdbf; + color: #fff; + width: 115px; + height: 30px; + border-radius: 15px; + outline: none; + border: none; + text-align: center; +} + +.btn-accept-reject-select-gr { + margin: 20px 0; +} + +.btn-accept-reject-select-gr .btn-select-custom { + background-image: linear-gradient(to top, #00b9b7, #00e1a0); + color: #fff; + width: 120px; + height: 40px; + border-radius: 20px; + outline: none; + border: none; + text-align: center; + font-size: 16px; + font-family: "Myriadpro-SemiBold"; +} + +.btn-select-custom.btn-reject { + margin-right: 10px; +} + +.btn-accept-reject-select-gr .btn-select-custom.no-accept { + background: #bcbdbf; +} + +.lichngay .list-menu-custom .btn-gr { + height: 50px; +} + +.lichngay .list-menu-custom .btn-gr-text p { + line-height: 50px; + font-size: 18px; +} + +.sunE-main-title .form-sunE-button.btn-create-kh { + margin-right: 10px; +} + +.box-calender { + width: 100%; + margin: 0 0 30px; +} + +.lichngay .list-menu-custom { + width: 340px; +} + +.list-kh-content { + padding: 20px; +} + +.no-kh { + text-align: center; + margin: 60px auto 0; +} + +.no-kh h2 { + font-family: "Myriadpro-Bold"; + font-size: 18px; + color: #00a79d; + text-align: center; +} + +.plan-item-content { + width: 100%; +} + +.lichngay .sunE-plan-list { + max-height: 420px; + padding: 0 20px; +} + +.sunE-box-tkh, +.sunE-box-xkh { + width: 100%; + padding: 30px 30px 0; +} + +.input-gr { + width: 100%; + margin: 0 0 20px; +} + +.laplai { + width: 100%; + margin: 0 0 20px; + padding-left: 15px; +} + +.input-gr label, +.laplai label, +.ct-hs label.ht { + font-family: "Myriadpro-SemiBold"; + font-size: 18px; + color: #000000; + display: block; + padding: 0 0 10px 15px; +} + +.input-gr input, +.input-gr select { + width: 100%; + height: 40px; + outline: none; + border: none; + border-radius: 20px; + padding: 5px 20px; + box-shadow: 0 1px 6px 0 rgba(21, 27, 38, 0.15); + box-sizing: border-box; + font-family: "Myriadpro-Regular"; + font-size: 16px; + background: #fff; +} + +.input-gr textarea { + width: 100%; + height: 100px; + outline: none; + border: none; + border-radius: 20px; + padding: 10px 20px; + box-shadow: 0 1px 6px 0 rgba(21, 27, 38, 0.15); + box-sizing: border-box; + font-family: "Myriadpro-Regular"; + background: #fff; + font-size: 16px; +} + +.input-gr textarea::placeholder, +.input-gr input::placeholder, +.input-gr select::placeholder { + color: #414042 !important; +} + +.input-gr textarea::-ms-input-placeholder, +.input-gr input::-ms-input-placeholder, +.input-gr select::-ms-input-placeholder { + color: #414042 !important; +} + +.input-gr textarea::-webkit-input-placeholder, +.input-gr input::-webkit-input-placeholder, +.input-gr select::-webkit-input-placeholder { + color: #414042 !important; +} + +.message textarea { + resize: none; +} + +.datlichnhac-input-gr { + /* text-align: center; */ +} + +.custom-input::placeholder { + opacity: 0.5; +} + +.datlichnhac-input-gr input.dln-mins { + width: 100px; + height: 40px; + outline: none; + border: none; + border-radius: 20px; + padding: 5px 20px; + box-shadow: 0 1px 6px 0 rgba(21, 27, 38, 0.15); + box-sizing: border-box; + text-align: center; + font-size: 16px; +} + +.datlichnhac-input-gr input.dln-check { + width: 20px; + height: 20px; + border-radius: 0; + padding: 0; + box-shadow: none; + margin: 0 10px 0 0; +} + +.datlichnhac-input-gr .left { + padding-right: 10px; + font-size: 16px; +} + +.datlichnhac-input-gr .right { + padding-left: 10px; + font-size: 16px; +} + +.datlichnhac.err .datlichnhac-input-gr input.dln-mins { + border: 2px solid #e22028; +} + +.input-gr.err input, +.input-gr.err select, +.input-gr.err textarea { + border: 2px solid #e22028; +} + +.input-gr input::placeholder, +.input-gr textarea::placeholder { + /* Chrome, Firefox, Opera, Safari 10.1+ */ + color: #000; + opacity: 1; + /* Firefox */ +} + +.input-gr input:-ms-input-placeholder, +.input-gr textarea::placeholder { + /* Internet Explorer 10-11 */ + color: #000; +} + +.input-gr input::-ms-input-placeholder, +.input-gr textarea::placeholder { + /* Microsoft Edge */ + color: #000; +} + +.sunE-time-lcv .time { + padding-right: 10px; +} + +.sunE-time-lcv .time input { + background: #a2eddf; +} + +.sunE-time-lcv .lcv { + padding-left: 10px; +} + +.sunE-time-lcv .lcv select { + padding-left: 10px; +} + +.laplai p { + line-height: 24px; + padding-left: 0; +} + +.laplai p span { + line-height: 24px; + font-family: "Myriadpro-Light"; + font-size: 16px; +} + +.laplai input { + margin: -2px 10px 0 0; +} + +.laplai p > input[type="radio"]:checked + *::before { + background: radial-gradient( + #84c241 0%, + #84c241 40%, + transparent 50%, + transparent + ); +} + +.apdung label { + display: block; + margin: 15px 0; + font-family: "Myriadpro-SemiBold"; + font-size: 18px; + color: #000000; + padding: 0 0 10px 15px; +} + +.text-blue-main { + color: #00a79d; + font-family: "Myriadpro-SemiBold"; + font-size: 18px; + padding-left: 40px; +} + +.apdung .flex-1 img { + margin: 20px 0 0 10px; + cursor: pointer; +} + +.sunE-box-xkh p { + text-align: center; + font-size: 18px; + font-family: "Myriadpro-Light"; + margin: 0 0 15px; +} + +.title-list-lichnam h2 { + font-size: 24px; + padding: 10px 0; + text-align: center; + color: #fff; + font-family: "Myriadpro-Bold"; + background: #00a79d; + border-radius: 15px; + border: none; +} + +.w-120 { + width: 120px; +} + +.title-list-lichnam { + margin: 0 0 15px; +} + +.title-list-lichnam .flex-1 { + margin-left: 10px; +} + +.list-lichnam-item .w-120 { + background: #fff; + border-radius: 15px; + box-shadow: 0 1px 6px 0 rgba(21, 27, 38, 0.15); + display: flex; + justify-content: center; + align-items: center; +} + +.list-lichnam-item { + margin: 0 0 10px; +} + +.list-lichnam-item .w-120 p { + font-size: 22px; + text-align: center; + font-family: "Myriadpro-Bold"; + margin: 0; + padding: 0; + min-height: 100px; + line-height: 100px; +} + +.list-lichnam-item .flex-1 { + margin-left: 10px; + background: #fff; + border-radius: 15px; + box-shadow: 0 1px 6px 0 rgba(21, 27, 38, 0.15); + padding: 10px 10px 35px 20px; +} + +.list-lichnam-item .flex-1 p { + font-size: 16px; + font-family: "Myriadpro-Light"; + margin: 0; + padding: 0; +} + +.btn-capnhat { + color: #00a79d; + text-decoration: underline; + font-size: 16px; + font-family: "Myriadpro-SemiBold"; + position: absolute; + bottom: 0.3rem; + right: 3rem; + cursor: pointer; +} + +.__top { + bottom: 30px; + top: auto !important; +} + +.flex-center-custom { + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + padding: 0px !important; +} + +.flex-center-custom input { + width: 46px !important; +} + +.list-lichnam-box { + max-height: calc(100vh - 210px); + overflow: auto; + padding-right: 10px; +} + +.custom-area::-webkit-input-placeholder { + opacity: 0.5; +} + +.scrollbar-custom { + overflow: auto; +} + +.scrollbar-custom::-webkit-scrollbar { + width: 6px; +} + +.style_scroll_overflowing_curriculum_favorite { + max-height: calc(100vh - 280px) !important; +} + +/* Track */ +.scrollbar-custom::-webkit-scrollbar-track { + background: #bbcbc3; + border-radius: 4px; +} + +/* Handle */ +.scrollbar-custom::-webkit-scrollbar-thumb { + background: var(--primary-color); + border-radius: 4px; +} + +.scrollbar-custom-2::-webkit-scrollbar { + width: 7px; +} + +/* Track */ +.scrollbar-custom-2::-webkit-scrollbar-track { + background: #bbcbc3; + border-radius: 4px; + margin: 15px; +} + +/* Handle */ +.scrollbar-custom-2::-webkit-scrollbar-thumb { + background: #00bbb6; + border-radius: 4px; +} + +/* Scroll Custom Transparent bg */ +.scrollbar-custom-3::-webkit-scrollbar { + width: 8px; +} + +/* Track */ +.scrollbar-custom-3::-webkit-scrollbar-track { + /* background: #bbcbc3; */ + border-radius: 4px; + margin: 10px 0; +} + +/* Handle */ +.scrollbar-custom-3::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0.2); + border-radius: 4px; +} + +/* SCROLL 4 */ +/* Scroll Custom Transparent bg */ +.scrollbar-custom-4::-webkit-scrollbar { + width: 8px; +} + +/* SCROLL PURPLE */ +.scrollbar-custom-purple::-webkit-scrollbar { + width: 7px; +} + +/* Track */ +.scrollbar-custom-purple::-webkit-scrollbar-track { + background: #bbcbc3; + border-radius: 4px; +} + +/* Handle */ +.scrollbar-custom-purple::-webkit-scrollbar-thumb { + background: #2e3192; + border-radius: 4px; +} + +/* Track */ +.scrollbar-custom-4::-webkit-scrollbar-track { + background: rgba(0, 0, 0, 0.1); + border-radius: 4px; + margin: 10px 0; +} + +/* Handle */ +.scrollbar-custom-4::-webkit-scrollbar-thumb { + background: #ececec; + border-radius: 4px; +} + +/* Scroll5 */ +/* Scroll Custom Transparent bg */ +.scrollbar-custom-5::-webkit-scrollbar { + width: 13px; +} + +/* Track */ +.scrollbar-custom-5::-webkit-scrollbar-track { + background: rgba(0, 0, 0, 0.1); + border-radius: 6px; + /* margin: 10px 0; */ +} + +/* Handle */ +.scrollbar-custom-5::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, 0.2); + border-radius: 6px; +} + +/* Scroll Orange */ +/* Scroll Custom Transparent bg */ +.scrollbar-custom-orange::-webkit-scrollbar { + width: 6px; +} + +/* Track */ +.scrollbar-custom-orange::-webkit-scrollbar-track { + background: transparent; + border-radius: 8px; + margin: 14px 0; +} + +/* Handle */ +.scrollbar-custom-orange::-webkit-scrollbar-thumb { + background: #dfb937; + border-radius: 6px; +} + +.btn-create-taomoi img { + position: absolute; + left: 15px; + top: 9px; +} + +.sunE-main-title .btn-create-taomoi.form-sunE-button, +.sunE-main-title .btn-create-datlai.form-sunE-button { + margin-right: 10px; +} + +.btn-create-taomoi button, +.btn-create-datlai button { + padding: 0 35px 0 60px; +} + +.btn-create-datlai img { + position: absolute; + left: 15px; + top: 7px; +} + +.w60 { + width: 66px; +} + +.tkb-day { + display: flex; +} + +.tkb-day p { + text-align: center; + font-size: 16px; + color: #2ecdc0; + font-family: "Myriadpro-Regular"; + padding-right: 20px; +} + +.sunE-tkb-hour { + display: flex; +} + +.sunE-tkb-hour .w60 { + border: 1px solid #a7a9ac; + border-right: none; + border-top: none; + height: 88px; +} + +.tkb-table .sunE-tkb-hour:first-child .w60 { + border-top: 1px solid #a7a9ac; +} + +.tkb-table .sunE-tkb-hour .w60.tkb-time { + border: none; + display: flex; + align-items: flex-end; + position: relative; +} + +.tkb-table .borderTop50 { + position: absolute; + border-top: 1px solid #a7a9ac; + top: 0; + left: 50%; + width: 100%; +} + +.tkb-table .borderBottom50 { + position: absolute; + border-bottom: 1px solid #a7a9ac; + bottom: 0; + left: 50%; + width: 100%; +} + +.tkb-time p { + font-size: 16px; + color: #414042; + font-family: "Myriadpro-SemiBold"; + text-align: right; + padding-right: 10px; + display: block; + width: 100%; +} + +.tkb-item { + width: 66px; + position: absolute; + border-radius: 10px; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; +} + +.tkb-item h2 { + color: #fff; + font-size: 14px; + font-family: "Myriadpro-Bold"; + text-align: center; + padding: 0; + margin: 0; + line-height: 18px; + width: 60px; + max-height: 38px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + margin: 0 0 5px; +} + +.tkb-item p { + color: #fff; + font-size: 14px; + font-family: "Myriadpro-Light"; + text-align: center; + padding: 0; + margin: 0; + line-height: 16px; +} + +.tkb-table { + max-height: calc(100vh - 200px); + overflow: auto; + padding-right: 5px; +} + +.flex-column { + display: flex; + justify-content: space-between; + flex-direction: column; +} + +.select-time input { + width: 180px; + margin: 13px 0 0 15px; + background: #a2eddf; +} + +.select-time .react-datepicker-wrapper .react-datepicker__input-container { + z-index: 10; +} + +/*END GIAO VIEN*/ +/*GIAO TRINH*/ +.pr-15 { + padding-right: 15px; +} + +.pl-15 { + padding-left: 15px; +} + +.pr-25 { + padding-right: 25px; +} + +.pl-25 { + padding-left: 25px; +} + +.sunE-select-gt { + margin-top: 83px; +} + +.box-select-gr { + background: #fff; + border-radius: 20px; + padding: 30px 0 30px 32px; + margin: 0 0 15px 20px; + cursor: pointer; + box-sizing: border-box; +} + +.box-select-gr .thumb { + position: absolute; + top: -2px; + left: -30px; + display: flex; + justify-content: center; + align-items: center; + background: #ccedeb; + border: 5px solid #fff; + border-radius: 50%; + width: 104px; + height: 104px; + box-shadow: 0 1px 8px 0 rgba(21, 27, 38, 0.24); +} + +.box-select-info p { + color: #221f1f; + font-size: 18px; + text-align: center; + padding: 0; + margin: 0; + line-height: 20px; +} + +.box-select-info h2 { + color: #00a69c; + font-size: 18px; + font-family: "Myriadpro-Bold"; + text-align: center; + padding: 0; + margin: 0; + line-height: 20px; + text-transform: uppercase; +} + +.box-select-file-full { + flex: 1; +} +.box-select-file-full p { + flex: 1; + text-align: left; +} + +.box-giaotrinh-gr { + background: #fff; + border-radius: 20px; + height: 64px; + display: flex; + justify-content: center; + align-items: center; + margin: 0 0 30px 20px; + cursor: pointer; + box-sizing: border-box; + padding: 0 15px 0 60px; + width: 100%; +} + +.giaobai-support.uk-container .box-giaotrinh-gr { + margin: 0 0 0 20px; +} + +.__input_score_exercise { + /* color: rgb(183, 178, 178); */ + width: 80%; + border: none; + text-align: center; +} + +.__input_score_exercise::placeholder { + opacity: 0.5; +} + +.__input_score_exercise:focus { + outline: none; +} + +.box-giaotrinh-gr .thumb { + position: absolute; + top: -5px; + left: -30px; + display: flex; + justify-content: center; + align-items: center; + background: #ffffff; + border: 3px solid #fff; + border-radius: 50%; + width: 75px; + height: 75px; + box-shadow: 0 1px 8px 0 rgba(21, 27, 38, 0.24); +} + +.box-giaotrinh-gr .thumb3 { + position: absolute; + top: -5px; + left: -30px; + display: flex; + justify-content: center; + align-items: center; + background: #ccedeb; + border: 3px solid #fff; + border-radius: 50%; + width: 75px; + height: 75px; + box-shadow: 0 1px 8px 0 rgba(21, 27, 38, 0.24); +} + +.box-giaotrinh-gr .thumb img { + width: 65px; + height: 65px; + object-fit: contain; +} + +.box-giaotrinh-gr .thumb3 img { + width: 50px; + height: 50px; + object-fit: contain; +} + +.box-giaotrinh-gr .thumb2 { + position: absolute; + top: 5px; + left: -30px; + display: flex; + justify-content: center; + align-items: center; + border-radius: 50%; + width: 90px; + height: 90px; +} + +.gtcn-menu-gr { + margin: 0 0 20px; +} + +.gtcn-menu-gr span { + color: #373737; + font-size: 24px; + font-family: "Myriadpro-SemiBold"; + margin-right: 30px; + cursor: pointer; +} + +.gtcn-menu-gr span.active { + color: #00bbb6; + border-bottom: 2px solid #00bbb6; +} + +.box-select-info span { + display: block; + font-family: "Myriadpro-Light"; + font-size: 16px; +} + +.box-giaotrinh-gr.hei-custom { + height: 102px; + justify-content: flex-start; +} + +.box-giaotrinh-gr.hei-custom .thumb { + top: 13px; +} + +.box-giaotrinh-gr.hei-custom .thumb3 { + top: 13px; +} + +.box-giaotrinh-gr.hei-custom .box-select-info p { + margin: 0 0 5px; +} + +.btn-disable { + cursor: not-allowed; + /* background: #70707070 !important; */ + background: #c1c1c1 !important; + pointer-events: none; +} + +.box-giaotrinh-gr.hei-custom.active { + background: #c3fdf3; +} + +.flex-2 { + flex: 2; +} + +.flex-3 { + flex: 3; +} + +.box-giaotrinh-gr.hei-custom.edit .box-select-info p { + text-align: left; +} + +.box-giaotrinh-gr.hei-custom.edit { + height: 150px; + padding: 0 15px 0 30px; + margin: 0 0 20px 0; +} + +.sunE-main-title .form-sunE-button.btn-filter { + margin-right: 10px; +} + +.btn-filter-custom { + justify-content: center; + display: flex; + align-items: center; + margin-right: 10px; +} + +.btn-filter-custom img { + margin-right: 6px; +} + +.btn-filter img { + position: absolute; + top: 12px; + left: 15px; +} + +.btn-filter button { + padding: 0 35px 0 45px; +} + +.sunE-container-box.filter { + padding: 20px 20px 0 20px; +} + +.sunE-container-box.filter.pad-t-0 { + padding: 0 20px 0 20px; +} + +.sunE-giaotrinh-resuft-filter { + background: #fff; + padding: 20px 30px; + border-radius: 20px; + max-height: calc(100vh - 230px); + margin: 0 0 15px; + overflow: auto; +} + +.span-title { + color: #000; + font-size: 16px; + font-family: "Myriadpro-SemiBold"; + margin: 0 0 10px; + display: block; +} + +.sunE-giaotrinh-item { + margin: 0 0 10px; +} + +.sunE-giaotrinh-item .img { + width: 120px; + height: 108px; +} + +.sunE-giaotrinh-item .img img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.sunE-giaotrinh-item .content { + padding-left: 20px; + padding-top: 10px; +} + +.sunE-giaotrinh-item .content h2.title { + color: #00a69c; + font-family: "Myriadpro-Bold"; + font-size: 18px; + line-height: 22px; + margin: 0 0 5px; +} + +.sunE-giaotrinh-item .content .easy { + background: #6ebf49; + color: #fff; + padding: 3px 10px; + border: none; + border-radius: 5px; +} + +.sunE-giaotrinh-item .content .medium, +.sunE-giaotrinh-item .content .normal { + background: #fbb040; + color: #fff; + padding: 3px 10px; + border: none; + border-radius: 5px; +} + +.sunE-giaotrinh-item .content .hard { + background: #be1e2d; + color: #fff; + padding: 3px 10px; + border: none; + border-radius: 5px; +} + +.sunE-giaotrinh-item .content h3.desc { + color: #00a69c; + font-family: "Myriadpro-Light"; + font-size: 18px; + line-height: 22px; + margin: 0 0 10px; +} + +.sunE-giaotrinh-item .content p, +.sunE-giaotrinh-item .content span { + font-family: "Myriadpro-Light"; + font-size: 18px; + line-height: 22px; + margin: 0 0 10px; +} + +.sunE-giaotrinh-item .chk-gr { + position: absolute; + display: flex; + bottom: 0; + right: 0; +} + +.sunE-giaotrinh-item .chk-gr input { + width: 25px; + height: 25px; + margin: 0 0 0 10px; +} + +.btn-bar { + margin-right: 10px; + cursor: pointer; + width: 64px; +} + +.btn-bar img { + height: 40px; +} + +.bar-select { + margin: 0 20px 0 20px; +} + +.bar-select select { + width: 100%; + height: 40px; + padding-left: 40px; + border-radius: 20px; + border: none; + outline: none; + box-shadow: 0 1px 8px 0 rgba(21, 27, 38, 0.15); + font-size: 16px; + font-family: "Myriadpro-SemiBold"; + padding-right: 40px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + /* Remove default arrow */ + background: url("./../images/icon/ico_dropdown.png") 97% / 20px no-repeat #fff; + /* Add custom arrow */ +} + +.sunE-content-unit { + max-width: 100%; + overflow: auto; +} + +.sunE-content-unit::-webkit-scrollbar { + display: none; +} + +.sunE-unit-list { + display: inline-flex; +} + +.sunE-unit-item { + width: 187px; +} + +.sunE-unit-item .h-287 { + height: 287px; +} + +.sunE-unit-item h2 { + font-size: 22px; + margin: 0; + padding: 0; + text-align: center; + font-family: "Myriadpro-Regular"; +} + +.sunE-unit-item p { + font-size: 16px; + margin: 0; + padding: 0; + text-align: center; + font-family: "Myriadpro-Light"; +} + +.cs-point { + cursor: pointer; +} + +.giaotrinh.unit .box-giaotrinh-gr { + padding: 0 15px 0 50px; + margin: 0 0 20px 20px; +} + +.giaotrinh.unit .sunE-giaotrinh-list, +.giaotrinh.unit .unit-list { + max-height: calc(100vh - 210px); + overflow: auto; + padding: 0 25px 0 20px; + + @media screen and (max-height: 800px){ + max-height: calc(100vh - 130px); + + } +} + +.giaotrinh.unit .unit-list { + padding: 0 80px 0 100px; +} + +.giaotrinh.unit .unit-list .box-giaotrinh-gr { + border-radius: 32px; + height: 50px; +} + +.giaotrinh.unit .box-giaotrinh-gr-first { + background: #fff; + padding: 15px 0; + text-align: center; + border-radius: 20px; + margin: 0 0 20px -10px; + width: calc(100% + 30px); +} + +.padding_box_giaotrinh_gr_frist { + padding: 15px 0 15px 50px !important; +} + +.giaotrinh.unit .box-giaotrinh-gr-first h2 { + font-size: 24px; + margin: 0; + padding: 15px 0; + text-align: center; + font-family: "Myriadpro-Bold"; +} + +.giaotrinh.unit .box-giaotrinh-gr-first img { + width: 70px; + height: 70px; + object-fit: contain; +} + +.giaotrinh.unit .unit-list .box-giaotrinh-gr { + padding: 0 45px 0 25px; + margin: 0 0 10px 0; + justify-content: flex-start; +} + +.box-unit-info p, +.box-unit-info p span { + font-size: 16px; +} + +.unit-list .unit-giaotrinh-content.active { + background: rgba(106, 248, 239, 0.3); + border-top-right-radius: 30px; + border-top-left-radius: 30px; + border-bottom-right-radius: 20px; + border-bottom-left-radius: 20px; + padding-bottom: 10px; +} + +.btn-more-info { + width: 40px; + height: 40px; + text-align: center; + border-radius: 20px; + background: #d3d2d1; + position: absolute; + right: 10px; + top: 5px; + cursor: pointer; +} + +.btn-more-info img { + margin: 0; +} + +.unit-list .unit-giaotrinh-content.active { + margin-bottom: 10px; +} + +.unit-list .unit-giaotrinh-content .unit-more-info { + display: none; +} + +.unit-list .unit-giaotrinh-content.active .unit-more-info { + display: block; + border-bottom: 1px solid #000; +} + +.unit-list .unit-giaotrinh-content.active a:last-child .unit-more-info { + border-bottom: none; +} + +.unit-more-info-item { + padding: 10px 0; + border-bottom: 1px solid #fff; +} + +.unit-more-info-item:last-child { + border-bottom: none; +} + +.unit-more-info-item .score { + width: 60px; + margin: auto; + display: flex; + justify-content: center; + align-items: center; +} + +.unit-more-info-item .score .score-box { + width: 40px; + height: 40px; + text-align: center; + background: #fff; + border-radius: 50%; +} + +.info-item-desc h2 { + font-size: 16px; + line-height: 20px; + margin: 0; + padding: 0; + font-family: "Myriadpro-SemiBold"; + color: #000; + margin-right: 5px; +} + +.info-item-desc p { + font-size: 16px; + line-height: 20px; + margin: 0; + padding: 0; + color: #fff; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + margin-right: 5px; + max-width: 290px; + max-height: 20px; +} + +.score-box { + padding: 2px 0 0; +} + +.score-box h2 { + font-size: 20px; + line-height: 20px; + margin: 0; + padding: 0; + font-family: "Myriadpro-Bold"; + color: #e3001b; +} + +.score-box span { + font-size: 12px; + line-height: 12px; + margin: 0; + padding: 0; + font-family: "Myriadpro-Light"; + display: block; +} + +.percent { + width: 42px; + height: 42px; +} + +.line-h-44 { + padding: 0; + line-height: 44px; +} + +.check-box-gr { + margin: 10px 0; +} + +.check-box-gr input { + margin: -3px 8px 0 0; + width: 20px; + height: 20px; + outline: none; + /*box-shadow: 0 1px 6px 0 rgba(21, 27, 38, .15);*/ +} + +.check-box-gr .err label { + color: #e22028; +} + +.check-box-gr label { + font-size: 16px; + font-family: "Myriadpro-Semibold"; + color: #000; +} + +/*END GIAO TRINH*/ +/*TEACHER GIAO BAI*/ +.btn-giaobai-gr { + margin: 20px 0 0; +} + +.btn-giaobai-gr .btn-line-blue { + padding: 0 50px; +} + +.sunE-giaobai-list { + background: #fff; + padding: 20px 30px; + border-radius: 20px; + max-height: calc(100vh - 230px); + margin: 0 0 15px; + overflow: auto; +} + +.sunE-giaobai-list .sunE-giaotrinh-item { + padding-bottom: 10px; + border-bottom: 1px solid #777777; +} + +.sunE-giaobai-list .sunE-giaotrinh-item:last-child { + border-bottom: none; +} + +.giaotrinh.pad-t-0 .sunE-giaotrinh-resuft-filter .sunE-giaotrinh-item { + padding-bottom: 10px; + border-bottom: 1px solid #777777; +} + +.giaotrinh.pad-t-0 + .sunE-giaotrinh-resuft-filter + .sunE-giaotrinh-item:last-child { + border-bottom: none; +} + +.pl-20 { + padding-left: 20px; +} + +.semibold { + font-family: "Myriadpro-Semibold"; +} + +.nhacnho-content textarea { + width: 100%; + height: 80px; + outline: none; + border: none; + border-radius: 20px; + padding: 10px 20px; + box-shadow: 0 1px 6px 0 rgb(21 27 38 / 15%); + box-sizing: border-box; + font-family: "Myriadpro-Regular"; + font-size: 16px; + resize: none; + margin: 0 0 10px; +} + +.nhacnho-content .datlichnhac-input-gr input.dln-mins { + width: 80px; +} + +.err-nhacnho { + margin: 10px 0; + display: none; +} + +.err-nhacnho p { + color: #e22028; + font-family: "Myriadpro-Light"; +} + +.err-nhacnho img { + margin: 15px 0 0; +} + +.err.err-nhacnho { + display: flex; +} + +.box-giaotrinh-gr.active { + background: #c3fdf3; +} + +.teacher-giaobai .unit-list .box-giaotrinh-gr { + padding: 0 25px; + margin: 0 0 10px 0; + justify-content: flex-start; +} + +.unit-list .unit-giaotrinh-content.active a:last-child .unit-more-info { + border-bottom: none; +} + +.ythich.sunE-giaotrinh-resuft-filter { + max-height: calc(100vh - 235px); +} + +.sunE-container-box.teacher-giaotrinh-yt { + padding: 10px 20px 0 20px; +} + +.sunE-main-title .form-sunE-button.btn-setting { + margin-right: 10px; +} + +.btn-setting img { + position: absolute; + top: 6px; + left: 15px; +} + +.btn-setting button { + padding: 0 35px 0 50px; +} + +.box-info-giaobai { + background: #fff; + padding: 28px 20px; + border-radius: 20px; +} + +.box-info-giaobai h2.title { + color: #00a69c; + font-family: "Myriadpro-Bold"; + font-size: 18px; + line-height: 22px; + margin: 0 0 5px; +} + +.box-info-giaobai h3.desc { + color: #00a69c; + font-family: "Myriadpro-Light"; + font-size: 18px; + line-height: 22px; + margin: 0 0 30px; +} + +.box-info-giaobai p { + font-family: "Myriadpro-Light"; + font-size: 18px; + line-height: 22px; + margin: 0 0 10px; +} + +.semibold.box-info-giaobai p { + font-family: "Myriadpro-Semibold"; +} + +.box-info-giaobai.semibold p { + font-family: "Myriadpro-Semibold"; +} + +.pr-10 { + padding-right: 10px; +} + +.pl-10 { + padding-left: 10px; +} + +.menu-gr { + margin: 0 0 15px; +} + +.menu-gr button.btn-line-blue { + background-image: linear-gradient(to right, #b7f3e4, #b7f3e4); + border-radius: 5px; + width: 100%; + color: #00bbb5; +} + +.menu-gr button.btn-line-blue.active { + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + color: #fff; +} + +.list-giaobai .item-student { + background: #fff; + border-radius: 20px; + padding: 10px; + /* margin-right: 15px; */ +} + +.item-student-name h2 { + font-family: "Myriadpro-Semibold"; + font-size: 18px; + line-height: 22px; + margin: 10px 0 10px; +} + +.item-student-name span { + font-size: 18px; + line-height: 26px; + padding-left: 10px; + font-family: "Myriadpro-Light"; +} + +.item-student .score { + background: #be1e2d; + width: 55px; + height: 55px; + display: flex; + justify-content: center; + align-items: center; + border-radius: 50%; + border: none; + box-sizing: border-box; + margin: 9px 0 0; +} + +.item-student .score span { + color: #fff; + font-family: "Myriadpro-Semibold"; + font-size: 18px; +} + +.list-giaobai { + overflow: auto; + max-height: calc(100vh - 260px); + padding-right: 10px; +} + +.list-giaobai.chualam { + max-height: calc(100vh - 320px); +} + +.chk-flex { + display: flex; + align-items: center; +} + +.chk-flex input, +.chk-ab input { + width: 20px; + height: 20px; + margin: 0; +} + +.chk-ab { + position: absolute; + top: calc(50% - 10px); + right: 15px; +} + +.check-box-padding-custom label::before { + padding: 10px 10px 10px 10px !important; +} + +.padding_checkbox_filter label::before { + margin-right: 8px !important; +} + +.giaobai-ganday .select-all { + padding: 15px 0 0; +} + +.giaobai-ganday .select-all input { + margin: -3px 10px 0 0; + width: 16px; + height: 16px; +} + +.giaobai-ganday .select-all label { + font-family: "Myriadpro-Semibold"; +} + +.gr-all-nn { + margin: 30px 0 0; +} + +.sunE-container-box.giaobai-ganday { + padding: 32px 20px 20px; +} + +.sunE-container-box.giaobai-support { + padding: 20px 0 15px; +} + +.mb-10 { + margin-bottom: 10px; +} + +.giaobai-ganday .p0 { + padding: 0; +} + +.btn-thembai { + margin-right: 10px; +} + +.file-support span { + font-size: 14px; + color: #f16522; + padding-left: 10px; + line-height: 30px; +} + +.file-support-is-active span { + color: #0b9300 !important; +} + +.file-support.black span { + font-size: 18px; + color: #404041; + font-family: "Myriadpro-Light"; + padding: 0 15px; + display: block; +} + +.bg-dc .sunE-giaotrinh-item { + padding-bottom: 10px; + border-bottom: 1px solid #000; +} + +.bg-dc .sunE-giaotrinh-item:last-child { + border-bottom: none; +} + +.blue-main { + color: #00a79d; +} + +.giaobai-support .box-giaotrinh-gr { + padding: 0 40px 0 60px; +} + +.mr-10 { + margin-right: 10px !important; +} + +.title-semi { + margin: 20px 0 10px; + font-family: "Myriadpro-Semibold"; + font-size: 18px; +} + +.sunE-input-group.re label { + font-family: "Myriadpro-Regular"; +} + +.mg0 { + margin: 0; +} + +.mb-10 { + margin-bottom: 10px; +} + +.w-remove img { + cursor: pointer; +} + +/*END TEACHER GIAO BAI*/ +/*CHAM BAI*/ +.flex-5 { + flex: 5; +} + +.sunE-right-container:has(.__text_empty) { + overflow: initial; +} +.chambai.writing { + margin: 0 0 15px; +} + +.btn-setting-cb { + margin-right: 10px; +} + +.topic { + background: #fff; + padding: 25px 20px; + border-radius: 20px; + margin: 0 0 15px; +} + +.bg-line-blue { + background-image: linear-gradient(to right, #00e1a0, #00b9b7); +} + +.bg-blue { + background: #00a69c; +} + +.box-criteria { + padding: 10px; + border-radius: 20px; + height: 274px; + overflow: auto; +} + +.box-criteria-full { + max-height: fit-content; +} + +.box-criteria-scroll { + max-height: 310px; +} + +.box-title-bg { + border-radius: 25px; + height: 40px; + box-sizing: border-box; + border: none; +} + +.box-title-bg p { + font-family: "Myriadpro-Bold"; + font-size: 22px; + color: #fff; + /* line-height: 48px; */ +} + +.bg-white { + background: #fff; +} + +.box-criteria-list, +.box-criteria-score { + border-radius: 20px; + border: none; + padding: 10px 0; +} + +.bd-bot { + border-bottom: 1px solid #787878; +} + +.bd-bot:last-child { + border-bottom: none; +} + +.box-criteria-item { + height: 59px; +} + +.max-w { + max-width: 150px; +} + +.center-flex { + display: flex; + justify-content: center; + align-items: center; +} + +.center-h-flex { + display: flex; + align-items: center; +} + +.box-criteria-content { + margin: 0 0 15px; +} + +.box-bd-20 { + border-radius: 20px; + padding: 10px 0; +} + +.box-criteria-score-title p { + color: #231f20; + font-family: "Myriadpro-Bold"; + font-size: 18px; + padding-left: 15px; +} + +.box-criteria-comment { + padding: 10px; + border-radius: 20px; +} + +.ml-10 { + margin-left: 10px; +} + +.box-criteria-comment h2 { + color: #231f20; + font-family: "Myriadpro-Bold"; + font-size: 24px; + padding-left: 35px; + margin: 0 0 5px; +} + +.box-criteria-comment textarea { + padding: 15px 15px 10px 35px; + border-radius: 20px; + resize: none; + width: 100%; + height: 200px; + background: #ececec; + border: none; + outline: none; + box-sizing: border-box; + font-family: "Myriadpro-Regular"; + font-size: 16px; +} + +.box-criteria-comment textarea::placeholder { + font-family: "Myriadpro-Regular"; + font-size: 16px; +} + +.post-content { + background: #fff; + padding: 30px 20px; + border-radius: 20px; + margin: 0 0 15px; +} + +.btn-mark { + height: 42px; + line-height: 42px; + background: #ed8a22; + padding: 0 0 0 25px; + box-sizing: border-box; + border-radius: 21px; + border: none; + cursor: pointer; + margin: 0 10px 0 0; +} + +.btn-help { + height: 42px; + line-height: 42px; + background: #00a69c; + box-sizing: border-box; + border-radius: 21px; + border: none; + cursor: pointer; + padding: 0 30px; +} + +.btn-mark img { + position: absolute; + top: 2px; + left: 3px; +} + +.btn-mark p { + font-family: "Myriadpro-Regular"; + font-size: 18px; + padding: 0 35px; + color: #fff; +} + +.title-post-box { + font-family: "Myriadpro-Bold"; + font-size: 24px; + line-height: 42px; +} + +.post-content .content-box-edit { + padding: 15px 15px 10px 35px; + border-radius: 20px; + resize: none; + width: 100%; + background: #ececec; + border: none; + outline: none; + box-sizing: border-box; + font-family: "Myriadpro-Regular"; + font-size: 16px; + max-height: 210px; + overflow-y: auto; +} + +.content-box-edit .error { + color: #ff0606; + font-family: "Myriadpro-Bold"; +} + +.content-box-edit .delete { + color: #ff0606; + font-family: "Myriadpro-Bold"; + text-decoration: line-through; +} + +.content-box-edit .fix { + color: #00e254; + font-family: "Myriadpro-Bold"; + text-decoration: underline; +} + +.box-video-project { + margin: 0 0 15px; +} + +.box-project-score-gr { + border-radius: 20px; +} + +.project-score-gr { + padding: 20px; +} + +.project-score-gr h2 { + color: #231f20; + font-family: "Myriadpro-Bold"; + font-size: 24px; + margin: 0 0 5px; +} + +.project-score-gr textarea { + padding: 15px 15px 10px 20px; + border-radius: 20px; + resize: none; + width: 100%; + height: 132px; + background: #ececec; + border: none; + outline: none; + box-sizing: border-box; + font-family: "Myriadpro-Regular"; + font-size: 16px; +} + +.project-score-gr textarea::placeholder { + font-family: "Myriadpro-Regular"; + font-size: 16px; +} + +.project-score-gr input { + border-radius: 20px; + resize: none; + width: 152px; + height: 132px; + background: #ececec; + border: none; + outline: none; + box-sizing: border-box; + font-family: "Myriadpro-Bold"; + font-size: 50px; + color: #ff0000; + text-align: center; +} + +.project-score-gr input::-webkit-outer-spin-button, +.project-score-gr input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +/* Firefox */ +.project-score-gr input[type="number"] { + -moz-appearance: textfield; +} + +.black { + color: #4d4d4d !important; +} + +.lb-dc-gr span { + color: #fff; + font-size: 14px; + padding: 3px 15px; + border-radius: 11px; + line-height: 21px; +} + +.lb-dc-gr .lb { + background: #faaf40; + margin-right: 10px; +} + +.lb-dc-gr .dc { + background: #00a69c; +} + +.sunE-container-box.chambai { + padding: 10px 20px; +} + +.sunE-chambai-content { + background: #fff; + padding: 20px 30px; + border-radius: 20px; + max-height: calc(100vh - 150px); + margin: 0 0 15px; + overflow: auto; +} + +.sunE-chambai-content .sunE-giaotrinh-item { + padding-bottom: 10px; + border-bottom: 1px solid #707070; +} + +.sunE-chambai-content .sunE-giaotrinh-item:last-child { + border-bottom: none; +} + +.list-detail { + overflow: auto; + max-height: calc(100vh - 260px); + padding-right: 10px; +} + +.list-detail .item-student { + background: #fff; + border-radius: 20px; + padding: 10px 10px 10px 35px; + margin: 0 0 10px 50px; + min-height: 104px; +} + +.list-detail .item-student .item-student-name span { + font-size: 18px; + line-height: 37px; +} + +.list-detail .item-student-img { + position: absolute; + top: 9px; + left: -45px; + width: 85px; + height: 85px; + border-radius: 43px; + overflow: hidden; +} + +.list-detail .score { + background-image: linear-gradient(to top, #00b9b7, #00e1a0); + border-radius: 15px; + width: 82px; + height: 34px; + position: absolute; + top: 3px; + right: 5px; + margin: 0; +} + +.list-detail .score span { + font-size: 14px; + color: #fff; + line-height: 34px; + font-family: "Myriadpro-Italic"; +} + +.list-detail .score span.f24.bold { + font-family: "Myriadpro-Regular"; +} + +.f24 { + font-size: 24px !important; +} + +.gtcn-menu-gr.cb { + margin: 10px 0 10px 0; +} + +.cb-score-gr { + width: 100%; +} + +.cb-score-gr p { + font-size: 18px; + margin: 0 0 10px; + font-family: "Myriadpro-Light"; +} + +.cb-score-gr span { + font-size: 32px; + font-family: "Myriadpro-Bold"; + color: #00a69c; +} + +.bd-r-blue { + border-right: 2px solid #00a69c; +} + +/*END CHAM BAI*/ + +/*HO SO*/ +.avatar-edit { + margin: 30px 0 0; +} + +.avatar-edit-box { + background: #fff; + width: 210px; + height: 210px; + border-radius: 115px; + border: none; + cursor: pointer; + margin: 7px auto 25px; + padding: 3px; + overflow: hidden; +} + +.avatar-edit-box img { + width: 100%; + height: 100%; + border-radius: 50%; + z-index: 9; + object-fit: cover; +} + +.avatar-edit-box .img-edit-avt { + position: absolute; + bottom: 0; + background: #fff; + height: 53px; + width: 100%; + text-align: center; +} + +.avatar-edit-box .img-edit-avt img { + width: 39px; + height: 30px; + border-radius: 0; + margin-top: 10px; + object-fit: cover; +} + +.sunE-input-gr { + margin: 0 0 20px; +} + +.capitalize { + text-transform: capitalize; +} + +.sunE-input-gr label { + padding: 0 0 0 20px; + margin: 0 0 5px; + display: block; + font-family: "Myriadpro-Semibold"; + font-size: 18px; +} + +.sunE-input-gr input { + height: 44px; + width: 100%; + line-height: 44px; + font-size: 14px; + box-sizing: border-box; + padding: 0 20px; + border-radius: 22px; + outline: none; + border: 1px solid #fff; + box-shadow: 0 1px 8px 0 rgba(21, 27, 38, 0.15); +} + +.select-date-profile .input_date_base_container .field_birthday { + background-color: #fff; + display: block; + border: none; + padding: 0; + height: 44px; +} + +.sunE-input-gr input { + height: 44px; + width: 100%; + line-height: 44px; + font-size: 14px; + box-sizing: border-box; + padding-left: 20px; + border-radius: 22px; + outline: none; + border: 1px solid #fff; + box-shadow: 0 1px 8px 0 rgba(21, 27, 38, 0.15); +} + +.sunE-input-gr input::-webkit-outer-spin-button, +.sunE-input-gr input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +/* Firefox */ +.project-score-gr input[type="number"] { + -moz-appearance: textfield; +} + +.ml-10 { + margin-left: 10px; +} + +.hoso .sunE-male-female { + width: 44px; + height: 44px; + text-align: center; + background: #fff; + border-radius: 33px; + border: none; + box-shadow: 0 1px 15px 0 rgba(21, 27, 38, 0.15); + margin: 0 8px 0 0; + line-height: 60px; + cursor: pointer; + display: flex; +} + +.hoso .sunE-male-female span { + font-size: 18px; + line-height: 44px; + padding: 0 0 0 10px; +} + +.hoso .ico_male, +.hoso .ico_male_active { + width: 26px; + margin: 10px; +} + +.hoso .ico_female, +.hoso .ico_female_active { + width: 20px; + margin: 5px 13px; +} + +.hoso .sunE-male-female.male .ico_male_active { + display: none; +} + +.hoso .sunE-male-female.male .ico_male { + display: flex; +} + +.hoso .sunE-male-female.male.active .ico_male_active { + display: flex; +} + +.hoso .sunE-male-female.male.active .ico_male { + display: none; +} + +.hoso .sunE-male-female.female .ico_female_active { + display: none; +} + +.hoso .sunE-male-female.female .ico_female { + display: flex; +} + +.hoso .sunE-male-female.female.active .ico_female_active { + display: flex; +} + +.hoso .sunE-male-female.female.active .ico_female { + display: none; +} + +.sunE-container-box.hoso { + padding: 0; + min-height: 760px; +} + +.box-detail-ab { + position: absolute; + top: 190px; + width: 100%; + padding: 0 80px; +} + +.bg-hoso-top { + background-image: linear-gradient(to right, #00e2a0, #00b9b7); + width: 100%; + height: 344px; + position: absolute; + top: 0; + left: 0; + opacity: 0.1; +} + +.box-detail-ab .box-detail-hs { + background: #fff; + border-radius: 20px; + padding: 100px 20px 20px; + width: 420px; + margin: 0 auto; +} + +.text-error-input { + color: #e22028; +} + +.input-error { + border-color: #e22028 !important; +} + +.box-detail-hs .avt-ab { + width: 217px; + height: 217px; + border-radius: 50%; + overflow: hidden; + border: 5px solid #fff; +} + +.box-detail-hs.student .avt-ab { + width: 150px; + height: 150px; + top: -75px; + left: calc(50% - 75px); +} + +.box-detail-hs .avt-ab img { + width: 100%; + height: 100%; +} + +.box-detail-hs h2.name { + padding: 0; + margin: 10px 0px; + display: block; + font-family: "Myriadpro-Bold"; + font-size: 32px; + color: #231f20; + text-align: center; + margin-top: 20px; +} + +.box-detail-hs .avt-ab { + position: absolute; + top: -109px; + left: calc(50% - 108px); +} + +.detail-info { + padding: 0 60px 20px; +} + +.ltk { + line-height: 28px; + margin: 20px 0 10px; +} + +.btn-nc { + padding: 0 5px; + height: 28px; + line-height: 28px; + border-radius: 14px; + border: none; + font-size: 16px; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + color: #fff; + display: block; + text-align: center; + cursor: pointer; +} + +#c-result-exam { + background-image: url("/assets/images/bg-result-exam.png"); +} + +.btn-nc:hover { + background-image: linear-gradient(to left, #00e1a0, #00b9b7); +} + +.btn-nc a { + color: #fff; +} + +.info-sum { + margin: 20px 0 0; +} + +.info-sum h3 { + font-size: 55px; +} + +.mr-20 { + margin-right: 20px; +} + +.ml-20 { + margin-left: 20px; +} + +.flex-in { + display: inline-flex; +} + +.male-box { + margin-right: 60px; +} + +/*END HO SO*/ +/*QUAN LY LOP OFFLINE*/ +.sunE-container-box.diemdanh { + padding: 30px 0 10px; + margin-bottom: 10px; +} + +.diemdanh-list { + padding-right: 20px; + max-height: calc(100vh - 230px); + padding-bottom: 10px; + overflow: auto; +} + +.diemdanh-item { + background: #fff; + border-radius: 20px; + padding: 10px 25px; + margin: 0 0 10px 15px; +} + +.diemdanh-add { + cursor: pointer; + padding: 15px 0; +} + +.diemdanh-add img { + width: 30px; + height: 30px; +} + +.medium-title { + padding: 0; + margin: 0 0 10px; + display: block; + font-family: "Myriadpro-Semibold"; + font-size: 18px; +} + +.diemdanh-item img { + margin-right: 10px; +} + +.diemdanh-item p { + font-size: 18px; + font-family: "Myriadpro-Semibold"; + color: #000; + line-height: 24px; +} + +.mb-5 { + margin-bottom: 5px; +} + +.ico_user_class { + margin-top: 12px; +} + +.diemdanh-item span { + font-size: 32px; + font-family: "Myriadpro-Semibold"; + color: #faaf40; + line-height: 42px; +} + +.diemdanh-list-hs { + padding: 0 15px 0 15px; + height: calc(100vh - 240px); + max-height: calc(100vh - 240px); +} + +.diemdanh-list-hs .chk-flex.ab-top { + position: absolute; + top: 8px; + right: 8px; +} + +.diemdanh-list-hs .item-student-name h2 { + font-family: "Myriadpro-Regular"; +} + +.item-student-name .btn-send-now { + height: 32px; + display: block; + line-height: 32px; + text-align: center; + padding: 0; + width: 120px; + min-width: 120px; + font-size: 16px; + font-family: "Myriadpro-Regular"; + cursor: pointer; +} + +.item-student-name .btn-op { + height: 32px; + border: 1px solid green; + color: green; + outline: none; + box-sizing: border-box; + border-radius: 16px; + width: 100%; + text-align: center; + padding-left: 20px; + font-size: 16px; + font-family: "Myriadpro-Regular"; +} + +.diemdanh-no-item { + margin: 40px auto 0; +} + +.diemdanh-no-item p { + color: #231f20; + font-size: 24px; + font-family: "Myriadpro-Bold"; + margin: 10px 0 0; +} + +.btn-create-diemdanh button { + padding: 0 20px 0 50px; + background-image: linear-gradient(to left, #00e1a0, #00b9b7); +} + +.btn-create-diemdanh img { + position: absolute; + top: 8px; + left: 13px; +} + +.diemdanh-ss { + display: flex; + justify-content: flex-end; + align-items: center; + margin-right: 3rem; +} + +.diemdanh-container .medium-title { + color: #707070; +} + +.w280 { + width: 280px; +} + +.f-right { + float: right; +} + +.nx-right-gr { + position: absolute; + bottom: 5px; + right: 10px; +} + +.diemdanh-list-hs .item-student-name h3 { + max-width: 450px; +} + +.send-success { + display: flex; +} + +.send-success img { + margin: -3px 3px 0 0; +} + +.send-success span.text-green { + font-size: 14px; + line-height: 20px; +} + +/*END QUAN LY LOP OFFLINE*/ +/*BANG VANG*/ +.score-tb-student span { + display: block; + width: 80px; + height: 46px; + line-height: 46px; + color: #fff; + text-align: center; + font-size: 24px; + font-family: "Myriadpro-Bold"; + background: #dc4630; + border-radius: 5px; + border: none; +} + +.lv-up div { + margin-left: 5px; + color: #0b9300; +} + +.lv-down span { + margin-left: 5px; + color: #dc4630; +} + +.bangvang-content { + padding: 20px 0 0; +} + +.top { + width: 285px; + background: #fff; + border-radius: 20px; + padding: 30px 0; + height: calc(100vh - 140px); + overflow: auto; +} + +.bangvang-content .class_student_list_box { + padding: 20px 10px 20px 20px; + border-radius: 20px; + border: none; + background: #fff; + height: calc(100vh - 140px); + overflow: auto; +} + +.bangvang-content .class_student_list_box .list-student { + max-height: 100%; + padding-right: 10px; +} + +.top-box { + margin: 0 0 20px; +} + +.__top_number { + position: absolute; + bottom: -5px; + left: 40%; + font-weight: bold; + border-radius: 50%; + background: #fff; + width: 30px; + height: 30px; + font-family: "Myriadpro-Bold" !important; + display: flex; + align-items: center; +} + +.__top_1 { + border: 1px solid #eeab50; +} + +.__top_2 { + border: 1px solid #a5a5a5; +} + +.__top_3 { + border: 1px solid #7da6d7; +} + +.top1 span { + display: block; + width: 80px; + height: 30px; + line-height: 30px; + color: #fff; + font-size: 18px; + font-family: "Myriadpro-Bold"; + background-image: linear-gradient( + 45deg, + #b0853a, + #f8efa5, + #9d7033, + #e7bf55, + #faf4ac, + #9d7033 + ); + text-align: center; + border-radius: 15px; + margin: 0 auto 5px; +} + +.top2 span { + display: block; + width: 80px; + height: 30px; + line-height: 30px; + color: #fff; + font-size: 18px; + font-family: "Myriadpro-Bold"; + background-image: linear-gradient( + 45deg, + #c0c0c0, + #ebeaea, + #b8b8b8, + #6f6f6f, + #ebeaea + ); + text-align: center; + border-radius: 15px; + margin: 0 auto 5px; +} + +.top3 span { + display: block; + width: 80px; + height: 30px; + line-height: 30px; + color: #fff; + font-size: 18px; + font-family: "Myriadpro-Bold"; + background-image: linear-gradient( + 40deg, + #a3bee3, + #7da6d7, + #dde5f4, + #b5c9e7, + #174d6b + ); + text-align: center; + border-radius: 15px; + margin: 0 auto 5px; +} + +.top-hs { + width: 166px; + height: 147px; + margin: 0 auto 10px; +} + +.top2 .top-hs { + width: 145px; + height: 129px; + margin: 0 auto 10px; +} + +.top3 .top-hs { + width: 139px; + height: 123px; + margin: 0 auto 10px; +} + +.top1 .top-hs .avt { + position: absolute; + top: 34px; + left: 45px; + width: 78px; + height: 78px; + border-radius: 39px; + border: 2px solid #f7eda1; + box-sizing: border-box; + object-fit: cover; +} + +.top2 .top-hs .avt { + position: absolute; + top: 19px; + left: 34px; + width: 78px; + height: 78px; + border-radius: 39px; + border: none; + border: 2px solid #d3d2d2; + box-sizing: border-box; + object-fit: cover; +} + +.top3 .top-hs .avt { + position: absolute; + top: 18px; + left: 31px; + width: 78px; + height: 78px; + border-radius: 39px; + border: none; + border: 2px solid #8da8ce; + box-sizing: border-box; + object-fit: cover; +} + +.top-hs .gold { + position: absolute; + top: 11px; + left: 61px; +} + +.top p { + font-size: 18px; + font-family: "Myriadpro-Regular"; + text-align: center; + padding: 0 10px; +} + +.top-hs .__top_number { + font-size: 18px; + font-family: "Myriadpro-Regular"; + /* text-align: center; */ + display: flex; + align-items: center; + justify-content: center; + line-height: 18px; +} + +/*END BANG VANG*/ +/*VINH DANH*/ +.vinhdanh-content { + padding: 30px 0 10px; +} + +.vinhdanh-content .uk-width-1-2 { + margin-bottom: 20px; +} + +.vinhdanh-content .uk-grid > * { + padding-left: 20px !important; +} + +.vinhdanh-content .uk-grid { + margin-left: -20px !important; +} + +.vinhdanh-item { + background: #fff; + border-radius: 20px; +} + +.avt-vd { + width: 100px; + height: 100px; + border-radius: 50px; + border: 3px solid #e9af38; + overflow: hidden; + margin: 20px auto 0; +} + +.avt-vd img { + width: 100px; + height: 100px; + object-fit: cover; +} + +.name-vd { + padding: 0 20px; + line-height: 37px; + white-space: nowrap; + text-align: center; + font-family: "Myriadpro-SemiBold"; + font-size: 18px; + color: #fff; + border-radius: 19px; + position: absolute; + top: 100px; + left: 50%; + transform: translate(-50%, 0); +} + +.vd-info { + position: absolute; + bottom: 15px; + left: 50%; + transform: translate(-50%, 0); + font-family: "Myriadpro-Bold"; + font-size: 18px; + white-space: nowrap; +} + +.bg-red { + background: #dc4630; +} + +.text-red { + color: #dc4630; +} + +.bg-blue { + background: #1b75bb; +} + +.text-blue { + color: #1b75bb; +} + +.bg-green { + background: #4b7805; +} + +.text-green { + color: #4b7805; +} + +.bg-green-hi { + background: #095b4f; +} + +.text-green-hi { + color: #095b4f; +} + +.bg-black { + background: #000000; +} + +.text-black { + color: #000000; +} + +/*END VINH DANH*/ +/*TIN NHAN*/ +.tinnhan { + padding: 20px 0 0; +} + +.tb-mes { + position: absolute; + bottom: 10px; + right: 10px; +} + +.box-btn { + width: 33px; + height: 33px; + border-radius: 50%; + border: none; + box-sizing: border-box; + display: flex; + justify-content: center; + align-items: center; + background: #00b9b7; + cursor: pointer; +} + +.reng { + width: 10px; + height: 10px; + border-radius: 5px; + background: #be1e2d; + position: absolute; + bottom: 0; + right: 0; +} + +.tn-menu-gr { + margin: 0 0 20px; +} + +.tn-menu-item { + cursor: pointer; + text-align: center; + box-sizing: border-box; + padding-bottom: 10px; + border-bottom: 2px solid #afafaf; +} + +.tn-menu-item.active { + padding-bottom: 11px; + border-bottom: 4px solid #f4ba42; +} + +.tn-menu-item .box-btn { + width: 45px; + height: 45px; + border-radius: 50%; + border: none; + box-sizing: border-box; + display: flex; + justify-content: center; + align-items: center; + background: #00b9b7; + cursor: pointer; + margin: 0 auto 8px; +} + +.tn-menu-item .reng { + width: 25px; + height: 25px; + border-radius: 50%; + background: #be1e2d; + position: absolute; + top: -4px; + right: -11px; + color: #fff; + text-align: center; + line-height: 25px; + font-size: 14px; + font-family: "Myriadpro-Light"; +} + +.tn-menu-item p { + color: #58595b; + font-size: 18px; + font-family: "Myriadpro-Light"; + text-transform: uppercase; +} + +.tn-menu-item.active p { + font-family: "Myriadpro-Bold"; +} + +.list-tinnhan { + padding: 0 20px 0 30px; + height: calc(100vh - 260px); + overflow: auto; +} + +.tinnhan-item { + background: #fff; + border-radius: 20px; + padding: 12px 20px 20px 45px; + margin: 0 0 10px; +} + +.tinnhan-item .avt { + width: 46px; + height: 46px; + border-radius: 23px; + border: 2px solid #e7c71d; + overflow: hidden; + box-sizing: border-box; + position: absolute; + top: 0; + left: -23px; + background: #fff; +} + +.tinnhan-item .avt.bd-ht { + border: 1px solid #00b9b7; +} + +.tinnhan-item .avt img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.add_code_student-gr { + width: 368px; + position: absolute; + left: 50%; + top: 510px; + transform: translate(-50%, -50%); +} + +.border-dash-map-up { + width: 250px; + border: 3px dashed #00b9b7; + top: 325px; + left: 68px; + transform: rotate(-60deg); + position: absolute; + z-index: 1; +} + +.border-dash-map-down { + width: 250px; + border: 3px dashed #00b9b7; + top: 333px; + left: 50px; + transform: rotate(60deg); + position: absolute; + z-index: 1; +} + +.hethong .tinnhan-item .avt { + text-align: center; +} + +.hethong .tinnhan-item .avt img { + width: 29px; + height: 24px; + margin-top: 9px; + object-fit: cover; +} + +.tinnhan-item h2 { + font-size: 18px; + line-height: 20px; + font-family: "Myriadpro-SemiBold"; + margin: 0 0 10px; + color: #000; +} + +.tinnhan-item span { + font-size: 12px; + font-family: "Myriadpro-Bold"; + color: #000; +} + +.hethong .tinnhan-item span { + color: #939598; +} + +.tinnhan-item p.mes-info { + font-size: 18px; + line-height: 24px; + max-height: 72px; + font-family: "Myriadpro-Regular"; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + color: #000; +} + +.msg-seen.tinnhan-item p.mes-info { + color: #525252; +} + +.no-mes-bg { + display: none; +} + +.no-mes .no-mes-bg { + display: block; +} + +.mes-content { + display: flex; + justify-content: center; + align-items: flex-start; + max-width: 444px; +} + +.mes-content.no-mes { + align-items: center; +} + +.mes-content { + padding: 0 0 0 20px; +} + +.mex-box { + width: 100%; + background: rgb(0 185 183 / 10%); + border-radius: 20px; + box-sizing: border-box; +} + +.mex-box.cus-hei { + height: calc(100vh - 140px); +} + +.mex-box.cus-hei-2 { + height: calc(100vh - 220px); +} + +.mex-info { + padding: 30px; +} + +.mex-box h2 { + font-size: 22px; + margin: 0 0 20px; +} + +.mex-box p { + font-size: 18px; + margin: 0 0 10px; +} + +.mex-box .btn-view-detail { + margin: 40px auto 0; + text-align: center; +} + +.bg_update { + width: calc(100% - 10px); + margin: 30px 5px 0; + box-sizing: border-box; +} + +.select-message.select { + cursor: pointer; + display: inline-block; + position: relative; + font-size: 18px; + font-family: "Myriadpro-SemiBold"; + color: #3f3f3f; + width: 200px; + height: 48px; + line-height: 48px; + border-radius: 24px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border: none; + background: #fff; + box-shadow: 2px 2px 4px 0 rgb(21 27 38 / 35%); +} + +.select-message .select-styled { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: #fff; + width: 200px; + height: 48px; + line-height: 48px; + border: none; + transition: all 0.2s ease-in; + border-radius: 24px; + color: #3f3f3f; + font-size: 18px; + text-align: center; + font-family: "Myriadpro-SemiBold"; + z-index: 10; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.select-message .select-styled:after { + content: ""; + width: 17px; + height: 10px; + background: url(./../images/tinnhan/ico_dropdown.png) 98% / 17px no-repeat + transparent; + position: absolute; + top: 18px; + right: 30px; +} + +.select-message .select-options { + z-index: 9; + top: 50px; + border-top-right-radius: 20px; + border-top-left-radius: 20px; + padding: 0 20px 0; + margin-top: 0 !important; +} + +.select-message .select-options li { + margin: 0; + text-indent: 0; + transition: all 0.15s ease-in; + border-bottom: 1px solid #d2d2d2; + text-align: center; + font-size: 18px; + font-family: "Myriadpro-SemiBold"; +} + +.search-custom { + width: 400px; + height: 48px; + line-height: 48px; + padding: 0 45px 0 20px; + font-size: 18px; + font-family: "Myriadpro-Regular"; + box-sizing: border-box; + border: none; + text-align: center; + border-top-right-radius: 24px; + border-bottom-right-radius: 24px; + outline: none; +} + +._line_box { + background: #fff; + padding: 6px 0; + height: 48px; + position: relative; + width: 1px; +} + +._line { + width: 1px; + display: block; + height: 36px; + border-right: 1px solid #d2d2d2; + position: absolute; + top: 6px; + left: 0; +} + +.icon_search { + position: absolute; + right: 13px; + top: 14px; + width: 22px; +} + +/*END TIN NHAN*/ +/*BAO CAO HOC TAP*/ +.bcht { + padding: 30px 0 10px; +} + +.bcht .list-student { + max-height: calc(100vh - 320px); +} + +.student-info { + width: 350px; + margin-right: 20px; +} + +.student-info input { + width: 100%; + height: 44px; + border: none; + border-radius: 18px; + box-shadow: 0 1px 6px 0 rgb(21 27 38 / 15%); + padding: 0 10px; + box-sizing: border-box; + outline: none; + text-align: center; +} + +.student-info .avt-i { + width: 180px; + height: 180px; + border-radius: 90px; + box-sizing: border-box; + border: 3px solid #e7ae38; + overflow: hidden; + margin: 0 auto 20px; +} + +.student-info .avt-i img { + width: 100%; + height: 100%; +} + +.student-info .name { + text-align: center; + font-size: 24px; + margin: 0 0 10px; +} + +.email-gr { + margin: 0 0 20px; +} + +.email-gr img { + margin: 0 10px 0 0; +} + +.email-gr p { + font-size: 18px; + line-height: 24px; + font-family: "Myriadpro-Light"; + word-break: break-all; +} + +.box-bcht { + background: #fff; + border-radius: 20px; + padding: 20px; +} + +.box-bcht-top { + margin: 0 0 20px; +} + +.box-bcht-top h2 { + color: #414042; + font-size: 18px; + line-height: 40px; + font-family: "Myriadpro-Bold"; +} + +.btn-history-bcht { + color: #00b9b7; + background: #fff; + border: 2px solid #00b9b7; + display: block; + line-height: 40px; + height: 40px; + border-radius: 20px; + padding: 0 35px; + text-align: center; + cursor: pointer; + font-family: "Myriadpro-Semibold"; + font-size: 18px; +} + +.title-info { + background: #e6e7e8; + border-radius: 20px; + border: none; + height: 40px; + padding-left: 20px; + margin: 0 5px 0 0; + box-sizing: border-box; +} + +.title-info.dtb-title { + padding-left: 0; +} + +.title-info p { + font-family: "Myriadpro-Light"; + color: #000000; + line-height: 40px; + font-size: 18px; +} + +.title-info.dtb-title p { + font-family: "Myriadpro-Light"; + color: #000000; + line-height: 20px; + font-size: 18px; +} + +.score-info { + background: rgba(172, 241, 228, 0.86); + border-radius: 20px; + border: none; + height: 40px; + width: 84px; +} + +.score-info p { + font-family: "Myriadpro-Bold"; + color: #000000; + line-height: 40px; + font-size: 18px; + text-align: center; +} + +.title-info.dtb-title { + width: 120px; + height: auto; +} + +.h356 { + height: 356px; + width: 100%; + background: #ccc; + margin: 0 0 25px; +} + +.bcht .sunE-plan { + padding-left: 0; +} + +.time-h { + width: 80px; +} + +.time-h p { + font-family: "Myriadpro-Bold"; + font-size: 18px; + color: #000; + padding-left: 10px; +} + +.schedule-item { + margin: 0 0 10px; + padding: 0 0 10px; + border-bottom: 1px solid #b5b5b5; +} + +.schedule-item:last-child { + border-bottom: none; +} + +.score-d { + width: 80px; +} + +.schedule-i p { + font-family: "Myriadpro-Light"; + font-size: 18px; + color: #000; +} + +.score-d p { + font-family: "Myriadpro-Light"; + font-size: 18px; + color: #000; +} + +.width_chart_report_student { + width: 55%; +} + +.width_report_detail_student { + width: 45% !important; + margin-left: 25px; +} + +.flex_center_chart_report_student { + display: flex; + flex-direction: column; + align-items: center; +} + +.flex_self_chart_report_student { + align-self: flex-start; +} + +/*END BAO CAO HOC TAP*/ +/*PHIEU DIEM*/ +.phieudiem-box { + width: 286px; + height: 100px; + border-radius: 20px; + background: rgb(0 203 173 / 30%); + padding: 14px 30px; +} + +.phieudiem .diemdanh-item { + padding: 0; +} + +.phieudiem .diemdanh-item .phieudiem-info { + display: flex; + align-items: center; + justify-content: space-between; + padding-left: 3rem; +} +.phieudiem .diemdanh-item .phieudiem-info p { + font-family: "Myriadpro-Bold"; + font-size: 18px; + text-align: center; + line-height: 80px; +} + +.score-bg-blue { + width: 56px; + height: 56px; + border-radius: 28px; + background: rgb(0 203 173 / 30%); + padding: 10px; +} + +.score-bg-blue p { + font-family: "Myriadpro-Light"; + font-size: 14px; + line-height: 14px; + text-align: center; + color: #00a69c; +} + +.score-bg-blue span { + font-family: "Myriadpro-Bold"; + font-size: 24px; + text-align: center; + color: #00a69c; + line-height: 24px; + display: block; + text-align: center; +} + +.box-bg-gr { + width: 300px; + margin-right: 20px; +} + +.box-bg-content { + width: 100%; + background: #fff; + padding: 30px 20px; + border-radius: 20px; +} + +.box-bg-content.th { + margin-top: 34px; +} + +.menu-gr-right span.btn { + width: 100%; + display: block; + height: 56px; + border-radius: 28px; + text-align: center; + background: rgb(0 203 173 / 30%); + color: #231f20; + font-size: 18px; + line-height: 56px; + margin: 0 0 10px; + cursor: pointer; +} + +.menu-gr-right input[type="text"].btn::placeholder { + opacity: 0.3; +} + +.send-success.title span { + font-size: 24px; + font-family: "Myriadpro-SemiBold"; + color: #84c241; + line-height: 29px; +} + +.box-bg-content h2 { + font-size: 24px; + font-family: "Myriadpro-Bold"; + color: #48d0c8; + margin: 0 0 30px; +} + +.box-bg-content p { + font-size: 18px; + line-height: 18px; + font-family: "Myriadpro-SemiBold"; + color: #262626; + margin: 0 0 10px; +} + +.mt-10 { + margin-top: 10px; +} + +/*END PHIEU DIEM*/ +/*HDHT*/ +.huong-dan-hoc-tap.giaobai-support .box-giaotrinh-gr { + padding: 0 20px 0 60px; +} + +.box-select-info .text-left { + text-align: left; +} + +.btn-remove-item { + width: 50px; + height: 50px; + background-image: linear-gradient(to right, #00b97f, #00b9b7); + border-radius: 10px; + cursor: pointer; +} + +/*END HDHT*/ +/*CUSTOM ON OFF BUTTON*/ +.toggle-button-cover { + position: relative; + width: 52px; +} + +.knobs, +.layer { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} + +.button { + position: relative; + top: calc(50% - 15px); + width: 52px; + height: 20px; + margin: 0 auto 0 auto; +} + +.button.r, +.button.r .layer { + border-radius: 100px; +} + +.checkbox { + position: relative; + width: 100%; + height: 100%; + padding: 0; + margin: 0; + opacity: 0; + cursor: pointer; + z-index: 3; +} + +.knobs { + z-index: 2; +} + +.layer { + width: 100%; + background-color: #dddddd; + transition: 0.3s ease all; + z-index: 1; +} + +/* Button 1 */ +.btn-on-off .knobs:before { + content: ""; + position: absolute; + top: -5px; + left: -4px; + width: 30px; + height: 30px; + color: #fff; + font-size: 10px; + font-weight: bold; + text-align: center; + line-height: 1; + background-image: linear-gradient(to right, #c9c9c9, #989898, #6e6f6f); + border-radius: 50%; + transition: 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15) all; + border: 2px solid #fff; + box-sizing: border-box; +} + +.btn-on-off.active .checkbox:checked + .knobs:before { + left: 24px; + background-image: linear-gradient(to right, #fadb3a, #f5d030, #ebb318); +} + +.btn-on-off .knobs, +#button-1 .knobs:before, +.btn-on-off .layer { + transition: 0.3s ease all; +} + +.student-index { + padding: 7vh 20px 10px; +} + +.empty-leaderboard-custom { + display: flex; + align-items: center; + flex-direction: column; +} + +.empty-leaderboard-custom .title-empty { + font-weight: bold; + font-size: 18px; +} + +.list-teacher-sunE { + max-height: calc(100vh - 220px); + height: calc(100vh - 220px); + min-height: 33.5rem; + overflow: auto; + padding-right: 20px; + width: 210px; + overflow-x: hidden; + box-shadow: 1px 2px 4px 0 rgb(21 27 38 / 40%); +} + +.empty-payment-custom { + display: flex; + align-items: center; + flex-direction: column; +} + +.empty-payment-custom img { + margin-bottom: 10px; +} + +.empty-payment-custom span { + font-weight: bold; +} + +.box-item-wh { + width: 185px; + height: 170px; + box-sizing: border-box; + cursor: pointer; + overflow: hidden; + border-radius: 20px; + background: #fff; + padding: 10px 0px; + border: 3px solid #fff; + margin: 0 0 10px; + margin-left: 10px; + position: relative; +} + +.box-item-wh .img-thumb { + width: 100%; + height: 120px; + box-sizing: border-box; + overflow: hidden; + margin: 0 0 10px; + border-radius: 20px; +} + +.box-item-wh .img-thumb img { + width: 100%; + height: 100%; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + object-fit: cover; +} + +.box-item-wh.active { + border: 3px solid #00e0a1; +} + +.box-item-wh h2 { + color: #404041; + font-size: 18px; + line-height: 18px; + height: 18px; + font-family: "Myriadpro-Bold"; + text-align: center; + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + padding: 0 10px; +} + +.box-item-wh .name-box { + color: #404041; + font-size: 18px; + font-family: "Myriadpro-Bold"; + text-align: center; + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + position: absolute; + background: #fff; + padding: 10px; + height: 33px; + bottom: 0; +} + +/* Shedu Item */ +/* .shedu-item-container { + width: 33rem; +} */ + +.shedu-mo-item { + width: 100%; + height: 100%; + box-sizing: border-box; + border-radius: 20px; + background: #fff; +} + +.shedu-first-item { + padding: 25px 25px 45px; + box-sizing: border-box; + border-radius: 20px; + background: #fff; + margin: 0 0 20px; +} + +.shedu-mo-item p { + text-align: center; + font-size: 24px; + line-height: 24px; + font-family: "Myriadpro-SemiBold"; + color: #606060; + margin: 10px 0; +} + +.shedu-first-item .img-shedu { + width: 148px; + height: 148px; + border-radius: 50%; + background: #ccedeb; + margin: 0 auto 20px; + overflow: hidden; +} + +.shedu-first-item h2 { + color: #00bd9d; + text-align: center; + font-size: 30px; + line-height: 32px; + font-family: "Myriadpro-SemiBold"; + padding: 0; + margin: 0 0 5px; +} + +.shedu-first-item h3 { + color: #404041; + text-align: center; + font-size: 18px; + line-height: 18px; + font-family: "Myriadpro-SemiBold"; + padding: 0; + margin: 0 0 5px; +} + +.shedu-first-item p { + color: #404041; + text-align: center; + font-size: 18px; + line-height: 18px; + font-family: "Myriadpro-Light"; + padding: 0; + margin: 0 0 5px; +} + +.shedu-list-more-gr { + padding: 25px; + box-sizing: border-box; + border-radius: 20px; + background: #fff; +} + +.shedu-more-item .img { + width: 68px; + height: 68px; + border-radius: 50%; + background: #ccedeb; + margin: 0 auto 10px; + overflow: hidden; +} + +.shedu-more-item p { + color: #6d6e70; + text-align: center; + font-size: 16px; + line-height: 18px; + font-family: "Myriadpro-SemiBold"; + padding: 0 10px; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.bg-ab { + position: absolute; + top: 0; + left: 0; + background: rgb(0 0 0 / 0.3); + width: 68px; + height: 68px; +} + +.lb-qh-nn span { + font-size: 14px; + padding: 3px 15px; + border-radius: 11px; + line-height: 21px; +} + +.lb-qh-nn .qh { + color: #e53535; + border: 1px solid #e53535; + margin-right: 10px; +} + +.btn-default:hover { + background: #00c0b4; + color: #ffffff; + border-color: #00c0b4; +} + +.btn-line-blue:hover { + background: #00c0b4; + color: #ffffff; +} + +.lb-qh-nn .nn { + color: #fff; + background: #e53535; + border: 1px solid #e53535; + margin-right: 10px; + cursor: pointer; +} + +.lb-qh-nn .over { + color: #bc4f4a; + border: 1px solid #bc4f4a; + margin-right: 10px; + font-weight: 700; +} + +.lb-qh-nn .hn { + color: #faaf40; + border: 1px solid #faaf40; + margin-right: 10px; +} + +.lb-qh-nn .sc { + color: #fff; + background: #84c241; + border: 1px solid #84c241; + margin-right: 10px; + margin-left: 1rem !important; +} + +.lb-qh-nn .sc_waiting { + color: #fff; + background: #f7b32b; + border: 1px solid #f7b32b; + margin-right: 10px; +} + +.student-baitap-content { + background: #fff; + padding: 20px 30px; + border-radius: 20px; + max-height: calc(100vh - 200px); + margin: 0 0 15px; + overflow: auto; +} + +.no-item p { + text-align: center; + font-size: 24px; + line-height: 24px; + font-family: "Myriadpro-SemiBold"; + color: #606060; + margin: 10px 0; +} + +.student-baitap-content .sunE-giaotrinh-item { + padding-bottom: 10px; + border-bottom: 1px solid #707070; +} + +.star { + margin-right: 10px; +} + +.star img { + width: 40px; +} + +.map-skill span { + width: 200px; + height: 44px; + line-height: 44px; + color: #040505; + font-size: 18px; + font-family: "Myriadpro-Regular"; + background: #fff; + display: block; + border-radius: 20px; + text-align: center; + margin-left: 10px; +} + +.disable-link { + pointer-events: none; +} + +.chart-circle-report-class { + transform: rotate(-90deg); + position: absolute; + /* inset: 0px; */ + height: 180px; + width: 170px; + margin-left: 145px; +} + +.shadow-chart-circle { + -webkit-filter: drop-shadow(0px 1px 1px #70707070); + filter: drop-shadow(0px 1px 1px #70707070); + /* Similar syntax to box-shadow */ +} + +.map-skill img { + position: absolute; + top: -25px; + left: -10px; + width: 60px; +} + +.pink-ab { + position: absolute; + bottom: 20px; + right: 15px; +} + +.pink-ab .__percent_unit { + background: rgb(216, 20, 96); + padding: 5px; + border-radius: 50%; + color: rgb(255, 255, 255); + height: 45px; + width: 45px; + border: 6px solid #fff; + display: flex; + justify-content: center; + align-items: center; +} + +.pink-ab img { + height: 45px; + width: 45px; +} + +.student_exercise_item { + background: #fff; + border-radius: 20px; + padding: 15px 30px 20px 15px; + box-sizing: border-box; + margin: 0 0 20px; + width: 95%; +} + +.student_exercise_item .level { + margin: 0 0 30px; +} + +.student_exercise_item .level span { + padding: 8px 35px; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + font-size: 24px; + line-height: 24px; + font-family: "Myriadpro-Bold"; + color: #fff; + border-radius: 20px; + margin: 0 0 0 -10px; +} + +.student_exercise_item_info { + padding-bottom: 10px; + border-bottom: 1px solid #656565; +} + +.student_exercise_item_info h2 { + font-size: 18px; + line-height: 25px; + font-family: "Myriadpro-Bold"; + color: #040505; +} + +.student_exercise_item_info p { + font-size: 18px; + line-height: 25px; + font-family: "Myriadpro-Regular"; + color: #040505; +} + +.thumb-im { + position: absolute; + right: -53px; + top: 0; +} + +.student_exercise { + padding: 0 80px 0 30px; + max-height: calc(100vh - 120px); + overflow: auto; +} + +.history { + margin: 10px 10px 0; +} + +.history p { + color: #ad0a22; + font-size: 18px; + line-height: 22px; + font-family: "Myriadpro-Bold"; +} + +.scre { + margin-right: 20px; +} + +.kh-title { + margin: 0 0 20px; +} + +.kh-title h2 { + color: #000; + font-size: 24px; + font-family: "Myriadpro-Bold"; +} + +.student-khht .sunE-calendar { +} + +.sunE-plan.khht-tkb, +.sunE-plan.khht-cn { + padding-left: 0; +} + +.khht-cn .plan-item { + border-left: 20px solid #8dc63f; +} + +.khht-tkb .check-work { + color: #414042; + font-family: "Myriadpro-Bold"; + line-height: 24px; +} + +.khht-tkb .tiem { + color: #939598; + font-family: "Myriadpro-Bold"; + line-height: 24px; +} + +.student-khht .sunE-calendar { + margin: 0 0 40px; +} + +.success span.flex-1 { + color: #84c241; + font-size: 12px; + font-family: "Myriadpro-Bold"; + line-height: 30px; + padding-left: 5px; + background: none; +} + +.sunE-container-box.student-khht { + padding: 20px 20px 10px; +} + +.student .w60 { + width: 96px; +} + +.student .tkb-item { + width: 96px; +} + +/*END STUDENT*/ +/*CAI DAT*/ +.box-setting-custom { + background: #fff; + border-radius: 20px; + padding: 20px; + margin: 0 0 10px; +} + +.setting-title-blue { + color: #00bbb5; + font-size: 24px; + font-family: "Myriadpro-SemiBold"; + line-height: 32px; + margin: 0 0 15px; +} + +.setting-on-off-box { + margin: 0 0 1.2rem; +} + +.setting-on-off-box p { + color: #000; + font-size: 18px; + font-family: "Myriadpro-Semibold"; + line-height: 24px; + margin: 0; +} + +.setting-on-off-box span.btn { + color: #00bbb5; + font-size: 18px; + font-family: "Myriadpro-Semibold"; + line-height: 24px; + margin: 0; + cursor: pointer; +} + +.select-language { + color: #00bbb5; + font-size: 18px; + font-family: "Myriadpro-Semibold"; + line-height: 24px; + margin: 0; + text-decoration: underline; + cursor: pointer; + border: none; + outline: none; + background: #fff; + -webkit-appearance: none; + -moz-appearance: none; + text-overflow: ""; +} + +.select-language::-ms-expand { + display: none; +} + +.setting-on-off-box input[type="number"] { + width: 55px; + height: 28px; + border-radius: 10px; + outline: none; + box-sizing: border-box; + text-align: center; + color: #c2c2c2; + border: 1px solid #c2c2c2; +} + +.setting-on-off-box input[type="number"].active { + color: #f7991f; + border: 1px solid #00a69c; +} + +.setting-on-off-box input[type="number"]::-webkit-inner-spin-button, +.setting-on-off-box input[type="number"]::-webkit-outer-spin-button { + opacity: 1; +} + +.w80 { + width: 80px; +} + +.ph10 { + padding: 0 10px; +} + +.mt-17 { + margin-top: 17px; +} + +/*END CAI DAT*/ + +/*STUDENT MORE*/ +.mt-3 { + margin-top: 3px; +} + +.mt-9 { + margin-top: 9px; +} + +.student_class.class-index-box .class-index-box-img { + width: 182px; +} + +.student_class.class-index-box { + width: calc(100% - 280px); +} + +.student-class-no-item p { + color: #0d0e0e; + font-size: 24px; + line-height: 26px; + font-family: "Myriadpro-Semibold"; + padding-top: 20px; +} + +.sunE-student-class-homework { + padding: 20px 30px 20px 0; + max-height: calc(100vh - 150px); + overflow: auto; +} + +.sunE-student-class-homework .sunE-giaotrinh-item { + padding: 10px 20px; + border-radius: 20px; + background: #fff; + margin: 0 0 15px; +} + +.ico-checked { + position: absolute; + top: 5px; + left: 0; +} + +.progress { + position: absolute; + right: 20px; + top: -10px; +} + +.progress span { + display: block; + width: 74px; + height: 22px; + line-height: 22px; + color: #fff; + border-radius: 5px; + text-align: center; + font-size: 13px; + font-family: "Myriadpro-Bold"; + box-sizing: border-box; +} + +.danger span { + background: #dc4630; +} + +.warning span { + background: #ed8a22; +} + +.success span { + background: #36ae4a; +} + +.w380 { + width: 380px; + margin: 0 auto 30px; +} + +.show-hide-password { + position: absolute; + right: 15px; + top: 12px; + cursor: pointer; +} + +.thanhtich-container { + padding: 30px 0 10px; +} + +.list-menu-custom.student { + width: 35%; +} + +.list-menu-custom.student .btn-gr { + height: 70px; +} + +.list-menu-custom.student .btn-gr.active { + background-image: linear-gradient(to left, #00e1a0, #00b9b7); +} + +.list-menu-custom.student .btn-gr-text p { + line-height: 70px; +} + +.thanhtich-online-box { + width: 100%; + box-sizing: border-box; + height: calc(100vh - 17vh); + overflow: auto; + padding: 0 10px 0; +} + +.bg-line-op { + background-image: linear-gradient(to bottom, #258c96, #a6ffd9); + border-radius: 20px; + padding-bottom: 10px; +} + +.thanhtich-box-content { + padding: 0 10px 0 20px; +} + +.width-height-thanhtich-box-content { + width: 65%; +} + +.box-skill-process { + padding: 60px 10px 20px; +} + +.mte-gr { + background: #fff; + height: 54px; + width: 125px; + border-radius: 27px; + text-align: center; + padding-left: 30px; +} + +.mte-gr .mte-thumb { + position: absolute; + width: 65px; + height: 65px; + display: flex; + justify-content: center; + align-items: center; + background: #d1d3d4; + border: 5px solid #fff; + border-radius: 50%; + box-sizing: border-box; + top: -5px; + left: -15px; +} + +.mte-gr h2 { + line-height: 28px; + color: #2b3990; + font-size: 29px; + font-family: "Myriadpro-Bold"; + margin: 0; + padding: 0; +} + +.mte-gr p { + line-height: 11px; + color: #2b3990; + font-size: 10px; + font-family: "Myriadpro-Light"; + margin: 0; + padding: 0; +} + +.ml-15 { + margin-left: 15px; +} + +.skill-process-list { + margin: 30px 0 0; + padding: 20px 30px 10px 50px; + background: rgba(0, 0, 0, 0.2); + border-radius: 20px; +} + +.skill-process-item p.title { + color: #fff; + line-height: 24px; + font-size: 18px; + font-family: "Myriadpro-Regular"; + text-align: center; +} + +.skill-process-item { + margin: 0 0 20px; +} + +.process-100 { + width: 100%; + height: 30px; + border-radius: 15px; + box-sizing: border-box; + background: #fff; + padding: 5px 5px 5px 42px; +} + +.process-due { + background-image: linear-gradient(to bottom, #febe3f, #ed228c); + height: 20px; + box-sizing: border-box; + border-top-right-radius: 10px; + border-bottom-right-radius: 10px; +} + +.process-thumb { + position: absolute; + top: -24px; + left: -20px; +} + +.sco { + width: 96px; + height: 30px; + border-radius: 15px; + box-sizing: border-box; + background: #fff; + padding: 0 5px 0 12px; + margin: 24px 0 0 10px; +} + +.sco .slp { + color: #2b3990; + line-height: 30px; + font-size: 24px; + font-family: "Myriadpro-Bold"; +} + +.sco .slp-top { + line-height: 10px; + font-size: 12px; + font-family: "Myriadpro-Bold"; + top: -10px; + left: 3px; +} + +.sco .slp-top.down { + color: #be1e2d; +} + +.sco .slp-top.up { + color: #8dc63f; +} + +.thanhtich-offline-box { + background: #fff; + border-radius: 20px; + padding: 20px; +} + +.no-item-2 p { + text-align: center; + font-size: 24px; + line-height: 24px; + font-family: "Myriadpro-Light"; + color: #231f20; + margin: 10px 0; +} + +.title-k { + font-size: 24px; + line-height: 24px; + font-family: "Myriadpro-SemiBold"; + color: #00a79d; + margin: 0 0 20px; + text-transform: uppercase; +} + +.thanhtich-offline-content { + padding: 20px 15px; +} + +.gr-k p { + text-align: left; + font-size: 18px; + line-height: 65px; + font-family: "Myriadpro-Light"; + color: #231f20; + margin: 0; + padding: 0; +} + +.gr-k span { + display: block; + font-size: 24px; + line-height: 65px; + font-family: "Myriadpro-Bold"; + color: #00a79d; + margin: 0; + padding: 0; +} + +.gr-r { + margin: 0 0 10px; +} + +.gr-r p { + text-align: left; + font-size: 18px; + line-height: 24px; + font-family: "Myriadpro-Regular"; + color: #231f20; + margin: 0; + padding: 0; +} + +.gr-r span { + display: block; + font-size: 24px; + line-height: 28px; + font-family: "Myriadpro-SemiBold"; + color: #00a79d; + margin: 0; + padding: 0; +} + +.mb-30 { + margin: 0 0 30px; +} + +.gr-k span.btn { + cursor: pointer; + text-decoration: underline; +} + +.sub-title-18 { + display: block; + font-size: 18px; + line-height: 24px; + font-family: "Myriadpro-SemiBold"; + color: #231f20; + margin: 0 0 10px; + padding: 0; +} + +.bxh-info-student-box { + background: rgba(172, 241, 228, 0.76); + border-radius: 20px; + padding: 20px; + margin: 0 0 15px; +} + +.img-avatar-k { + width: 100px; + height: 100px; + border-radius: 50px; + border: 3px solid #fff; + overflow: hidden; + margin-right: 20px; +} + +.img-avatar-k img { + width: 100%; + height: 100%; +} + +.bxh-info-student-box h3 { + font-size: 24px; + line-height: 28px; + font-family: "Myriadpro-Regular"; + color: #231f20; + margin: 0 0 10px; + padding: 0; +} + +.f-18 { + font-size: 18px; + line-height: 24px; + color: #231f20; +} + +p.text-center.f-18 { + margin: 20px 0; +} + +.box-top-k { + background: #fff; + border-radius: 20px; + padding: 10px 20px; +} + +.avt-top-k { + margin: 0 auto; +} + +.avt-top-k .ico_avt { + position: absolute; +} + +.avt-top-k img { + z-index: 9; +} + +.top-k-score { + display: block; + width: 80px; + height: 28px; + text-align: center; + font-size: 16px; + line-height: 28px; + font-family: "Myriadpro-Bold"; + border-radius: 14px; + margin: 0 auto 15px; +} + +.top-k-item.s .avt-top-k .ico_avt, +.top-k-item.b .avt-top-k .ico_avt { + top: 18px; + left: 28px; + width: 62px; + height: 62px; + border-radius: 31px; + z-index: 8; +} + +.top-k-item.s, +.top-k-item.b { + width: 120px; +} + +.top-k-item.v { + width: 170px; + margin: 0 15px; +} + +.top-k-item.v .avt-top-k .ico_avt { + top: 38px; + left: 46px; + width: 78px; + height: 78px; + border-radius: 39px; + z-index: 8; +} + +.top-k-item.s .top-k-score { + background: #84b0ff; +} + +.top-k-item.v .top-k-score { + background-image: linear-gradient(45deg, #f7d200, #f7d200, #f7ba00, #f7a100); +} + +.top-k-item.b .top-k-score { + background-image: linear-gradient( + to right, + #b8b8b8, + #cfcfcf, + #ebeaea, + #c0c0c0, + #ebeaea + ); +} + +.top-k-item p { + text-align: center; +} + +.student_bxh_list { + max-height: calc(100vh - 400px); + overflow: auto; + padding-right: 10px; +} + +.student_bxh_list .item-student .stt { + line-height: 54px; + font-size: 16px; + font-family: "Myriadpro-Bold"; + width: 30px; +} + +.student_bxh_list .item-student { + background: #fff; + padding: 10px 20px; + border-radius: 20px; + margin: 0 0 10px; +} + +.student_bxh_list .item-student .item-student-img { + width: 54px; + height: 54px; + border-radius: 27px; + background: #ccc; + overflow: hidden; + border: 2px solid #e9af38; +} + +.student_bxh_list .item-student-name p { + line-height: 54px; + font-size: 16px; +} + +.thanhtich-bxh-box { + margin: 0 0 20px; +} + +.student_bxh_list::-webkit-scrollbar { + width: 8px; +} + +/* Track */ +.student_bxh_list::-webkit-scrollbar-track { + background: #bbcbc3; + border-radius: 4px; +} + +/* Handle */ +.student_bxh_list::-webkit-scrollbar-thumb { + background: #e8e803; + border-radius: 4px; +} + +.box-shadow-3 { + box-shadow: 2px 3px 4px 0 rgb(21 27 38 / 15%); +} + +.his-hd { + width: 100%; + background: #fff; + border-radius: 20px; + height: calc(100vh - 160px); + padding: 20px 10px 20px 30px; + /* overflow: auto; */ +} + +.his-hd .scrollbar-custom { + height: calc(100vh - 200px); + overflow: auto; + padding-right: 10px; +} + +.view_height_scroll_assessment_log_learning .scrollbar-custom { + height: calc(100vh - 180px); +} + +.b-26-black { + line-height: 32px; + font-size: 26px; + font-family: "Myriadpro-Bold"; + margin: 15px 0 10px; +} + +.his-item { + margin: 0 0 10px; + border-bottom: 1px solid #b5b5b5; +} + +.his-item p { + line-height: 31px; + font-size: 18px; + font-family: "Myriadpro-Light"; + padding: 0px 5px; + white-space: normal; + word-break: break-word; +} + +.his-item p.hours { + font-family: "Myriadpro-Bold"; + width: 100px; +} + +.tv-thumb { + width: 81px; + height: 81px; + border-radius: 20px; + border: 5px solid #fff; + overflow: hidden; + position: absolute; + left: -15px; + top: -10px; +} + +.tv-thumb img { + width: 100%; + height: 100%; +} + +.tv-item { + background: #fff; + border-radius: 20px; + width: 100%; + height: 62px; + padding: 0 0 0 100px; + margin: 0 0 30px !important; +} + +.tv-item h2 { + line-height: 62px; + font-size: 18px; + font-family: "Myriadpro-Bold"; + color: #221f1f; +} + +.voice { + width: 60px; +} + +.tv-score span { + width: 36px; + height: 36px; + border-radius: 18px; + font-size: 25px; + font-family: "Myriadpro-Bold"; + background-image: linear-gradient(to right, #58be92, #00b7b5); + text-align: center; + margin: 0 10px 0 0; + color: #fff; +} + +.tuvung-container { + padding: 30px 0 0; +} + +.tuvung_list { + max-height: calc(100vh - 200px); + padding-top: 10px; + overflow: auto; +} + +.box-tv-info h2 { + color: #221f1f; + font-size: 18px; + margin: 0 0 15px; + font-family: "Myriadpro-Regular"; +} + +.box-tv-info p, +.box-tv-info span { + color: #00a69c; + font-size: 16px; + font-family: "Myriadpro-Regular"; +} + +.tuvung .box-giaotrinh-gr { + background: #fff; + border-radius: 20px; + height: 100px; + display: flex; + justify-content: center; + align-items: center; + margin: 0 0 20px 20px; + cursor: pointer; + box-sizing: border-box; + padding: 0 15px 0 80px; + width: 100%; +} + +.tuvung .box-giaotrinh-gr.active { + background: #c3fdf3; +} + +.tuvung .box-giaotrinh-gr .thumb { + position: absolute; + top: 14px; + left: -20px; + display: flex; + justify-content: center; + align-items: center; + background: #ccedeb; + border: 3px solid #fff; + border-radius: 50%; + width: 70px; + height: 70px; + box-shadow: 0 1px 8px 0 rgb(21 27 38 / 24%); +} + +.bold { + font-family: "Myriadpro-Bold" !important; +} + +.sunE-giaotrinh-list { + max-height: calc(100vh - 360px); + overflow: auto; +} + +.ov-auto { + overflow: auto; + scroll-behavior: thin; + margin: 0 0 30px; + padding-bottom: 10px; +} + +.tv-giaotrinh-item { + height: 150px; + width: 100%; + /* width: 310px; */ + border-radius: 20px; + padding: 0 10px; + margin: 0 20px 10px 0; + cursor: pointer; +} + +.tv-giaotrinh-item .img { + height: 94px; + border-radius: 20px; + overflow: hidden; + opacity: 0.5; +} + +.tv-giaotrinh-item.active { + background: #fff; + width: 100%; +} + +.tv-giaotrinh-item.active .img { + width: 100%; + height: 94px; + opacity: 1; +} + +.tv-giaotrinh-item .img img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.sunE-container-box.tuvung { + padding: 20px; +} + +.tv-giaotrinh-item .flex-1 { + padding: 0 20px; +} + +.tv-giaotrinh-item p { + color: #00bbb6; + font-size: 17px; + font-family: "Myriadpro-Bold"; +} + +.bangdiem-menu-gr span { + color: #000000; + font-size: 24px; + font-family: "Myriadpro-Bold"; + padding: 0 0 5px; + margin: 0 20px; + cursor: pointer; +} + +.bangdiem-menu-gr { + margin: 0 0 30px; +} + +.bangdiem-menu-gr span.active { + border-bottom: 2px solid #f9b038; +} + +.table-box-content table { + width: 100%; + border-collapse: collapse; + border-radius: 20px !important; + border-style: hidden; + /* hide standard table (collapsed) border */ + box-shadow: 0 0 0 1px #58595b; + /* this draws the table border */ +} + +.table-box-content th, +.table-box-content td { + padding: 15px; + text-align: center; + font-size: 18px; + font-family: "Myriadpro-Regular"; + color: #58595b; + border: 1px solid #58595b; +} + +.box-danhhieu-process { + background: #fff; + padding: 10px; + border-radius: 20px; + margin: 0 10px 30px 10px; +} + +.top-t { + background-image: linear-gradient(to right, #00e2a0, #00b9b7); + height: 46px; + border-radius: 23px; + padding: 0 30px; + margin: 0 0 20px; + box-sizing: border-box; +} + +.top-t p { + font-size: 18px; + font-family: "Myriadpro-Regular"; + color: #fff; + line-height: 46px; +} + +.process-k, +.process-info-k { + display: flex; +} + +.circle-k { + width: 28px; + height: 28px; + background: #d1d3d4; + border-radius: 14px; + margin-left: -2px; + z-index: 9; + overflow: hidden; +} + +.process-line { + background: #00e2a0; + width: 100%; + height: 100%; +} + +.process-h .circle-k { + width: 12px; + height: 12px; + background: #d1d3d4; + border-radius: 6px; + margin-top: -1px; + z-index: 9; + overflow: hidden; +} + +.circle-k.active { + background: #00e2a0; +} + +.line-k { + width: 51px; + height: 14px; + margin-top: 7px; + background: #d1d3d4; + margin-left: -2px; + z-index: 8; +} + +.line-k.active { + background: #00e2a0; +} + +.process-h .line-k { + width: 4px; + height: 51px; + background: #d1d3d4; + margin-top: -1px; + z-index: 8; + margin-left: 2px; +} + +.process-h .line-k.active { + background: #00e2a0; +} + +.process-info-k { + margin-top: 10px; +} + +.process-info-k .space { + width: 79px; + text-align: center; +} + +.process-info-k .space p { + font-size: 18px; + font-family: "Myriadpro-Light"; + line-height: 18px; +} + +.process-info-h .space { + height: 59px; + opacity: 0.5; +} + +.process-info-h .space.active { + opacity: 1; +} + +.process-info-h .space p { + font-size: 18px; + font-family: "Myriadpro-Light"; + line-height: 24px; + margin-right: 10px; +} + +.top-h { + margin: 30px 0 10px; +} + +.top-h p { + font-size: 18px; + font-family: "Myriadpro-Light"; + line-height: 24px; +} + +.process-info-h .space .scoe { + padding-right: 8px; +} + +.process-hz { + padding: 0 30px; +} + +.box-nhatkyhoctap-graph, +.box-nhatkyhoatdong { + background: #fff; + border-radius: 20px; + padding: 10px; + margin: 0 10px 30px 10px; +} + +.box-nhatkyhoctap-graph, +.box-nhatkyhoatdong:last-child { + margin: 30px 10px 0 10px; +} + +.filter-box-nhatkyhoctap-graph { + width: 150px !important; +} + +.fix_text_cut_chart::after { + background: none !important; +} +.box-s { + padding: 0 5px 0 30px; +} + +.box-s span { + display: block; + height: 36px; + margin-top: 5px; + border-radius: 18px; + background: #fff; + color: #00cbad; + font-size: 18px; + font-family: "Myriadpro-Light"; + line-height: 36px; + padding: 0 5px 0 40px; +} + +.box-s img { + position: absolute; + top: 5px; + left: 5px; +} + +.box-nhatkyhoctap-graph .bangdiem-menu-gr span { + font-size: 18px; + text-align: center; + margin: 0; + font-family: "Myriadpro-Regular"; +} + +.line-active { + width: 80px; + height: 2px; + background: #f9b038; + margin: 0 auto; + display: none; +} + +.btn-gr-menu { + cursor: pointer; +} + +.btn-gr-menu.active .line-active { + display: block; +} + +.box-nhatkyhoctap-graph .bangdiem-menu-gr .btn-gr-menu.active span { + font-family: "Myriadpro-Bold"; +} + +.box-nhatkyhoctap-graph .bangdiem-menu-gr span.active { + border-bottom: none; +} + +.box-diem .top-o { + background-image: linear-gradient(to right, #00e2a0, #00b9b7); + border-radius: 28px; + height: 56px; + margin: 0 0 20px; +} + +.box-diem .top-o p { + font-size: 18px; + line-height: 20px; + text-align: center; + margin: 0; + font-family: "Myriadpro-Light"; + color: #fff; +} + +.box-diem h2 { + font-size: 45px; + text-align: center; + margin: 0; + font-family: "Myriadpro-Bold"; + color: #00c0b2; +} + +.box-diem { + background: #fff; + border-radius: 20px; + padding: 10px; + margin: 0 20px; +} + +.box-diem-gr { + margin: 0 10px 30px 10px; +} + +.box-nhatkyhoatdong .box-s span { + padding: 0 20px; + cursor: pointer; + box-sizing: border-box; +} + +.his-item-gr p.time-hs { + line-height: 31px; + font-size: 24px; + font-family: "Myriadpro-Light"; +} + +.box-nhatkyhoatdong .his-item .hours { + width: 80px; + margin: 10px; +} + +.box-nhatkyhoatdong .his-hd { + height: auto; + min-height: 400px; +} + +/*END STUDENT MORE*/ +/*MORE CSS*/ +.loading { + position: fixed; + display: flex; + top: 0; + left: 0; + width: 100%; + height: 100%; + text-align: center; + background: rgba(0, 0, 0, 0.48); + z-index: 9999; + align-items: center; + justify-content: center; +} + +/* Loading Side */ +/* .loading-side { + position: fixed; + display: flex; + top: 0; + left: 0; + width: 100%; + height: 100%; + text-align: center; + background: rgba(0, 0, 0, 0.48); + z-index: 9999; + align-items: center; + justify-content: center; +} */ + +.loader { + border: 4px solid #f1f1f1; + border-radius: 50%; + border-top: 4px solid #00b9b7; + width: 40px; + height: 40px; + -webkit-animation: spin 2s linear infinite; + /* Safari */ + animation: spin 2s linear infinite; +} + +/* Safari */ +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + } +} + +@keyframes spin { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +.ico_dropdown { + position: absolute; + right: 5px; + top: 5px; +} + +.hide { + display: none; +} + +.err .select-styled { + border: 2px solid #e22028; +} + +.custom-select-content::after { + content: "\f107"; + font-family: FontAwesome; + position: absolute; + top: 0; + right: 0; + width: 44px; + height: 44px; + text-align: center; + font-size: 28px; + line-height: 44px; + color: #636363; + background-color: #fff; + pointer-events: none; + border-radius: 22px; +} + +.custom-select-content.err { + border: 2px solid #e22028; + border-radius: 22px; +} + +.custom-select { + height: 44px; + width: 100%; + line-height: 44px; + font-size: 16px; + box-sizing: border-box; + padding-left: 60px; + border-radius: 22px; + outline: none; + flex: 1; + cursor: pointer; + display: flex; + border: 1px solid #fff; + box-shadow: 0 1px 15px 0 rgb(21 27 38 / 15%); +} + +.custom-select option { + color: #dedede; +} + +.custom-select::after { + content: ""; + position: absolute; + top: 0; + right: 0; + padding: 0 1em; + background: #34495e; + cursor: pointer; + pointer-events: none; + -webkit-transition: 0.25s all ease; + -o-transition: 0.25s all ease; + transition: 0.25s all ease; +} + +.custom-select option[rel="hide"] { + display: none; +} + +.react-datepicker-wrapper { + width: 100%; +} + +.gr-gender.err .sunE-male-female { + border: 2px solid #e22028; +} + +.btn-back { + font-family: "Myriadpro-Bold"; +} + +.btn_click_link { + font-family: "Myriadpro-Bold"; + color: #3e3e3d; + text-decoration: underline; + cursor: pointer; + font-size: 16px; +} + +.menu-item .ico_active { + display: none; +} + +.menu-item.active img.ico_default { + display: none; +} + +.menu-item.active img.ico_active { + display: block; +} + +.form-sunE-button.btn-mr-custom { + margin: 0; +} + +.content-flex-end { + align-items: flex-end; + display: flex; +} + +.sunE-create-class-content { + padding-top: 40px; +} + +.apdung-custom { + background: #fff; + border-radius: 29px; + padding: 0 10px; +} + +.apdung.apdung-custom label { + margin: 15px 0 15px 15px; + padding: 0 0 0 15px; +} + +.apdung.apdung-custom .text-blue-main { + padding-left: 20px; + padding-right: 20px; +} + +.apdung.apdung-custom .flex-1 img { + margin: 18px 0 0 10px; + width: 12px; +} + +.select-custom-bg select { + width: 100%; + height: 40px; + border-radius: 20px; + border: none; + outline: none; + text-align-last: center; + box-shadow: 0 1px 8px 0 rgba(21, 27, 38, 0.15); + font-size: 16px; + font-family: "Myriadpro-SemiBold"; + padding-right: 40px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + /* Remove default arrow */ + color: #fff; + background: url("./../images/icon/ico_dropdown_border_white.png") 98% / 30px + no-repeat #00ceab; + /* Add custom arrow */ +} + +.select-custom-bg select::-ms-expand { + display: none; + /* remove default arrow on ie10 and ie11 */ +} + +.select-custom-bg.err select { + border: 2px solid #e22028; +} + +.select-custom-bg select option { + text-align: center; +} + +.text-left select { + text-align-last: left; + padding-left: 40px; +} + +.sunE-calendar .react-datepicker__day--selected { + background: #fff !important; + border: 2px solid #00a79d !important; + border-radius: 50% !important; + color: #404041 !important; + padding-top: 3px !important; + background-image: linear-gradient(to right, #fff, #fff); +} + +.sunE-calendar .react-datepicker__day--today { + border-radius: 25px !important; + background-image: linear-gradient(to right, #00e1a0, #00b9b7) !important; + color: #fff !important; + border: none !important; +} + +.sunE-calendar .react-datepicker__day--keyboard-selected, +.sunE-calendar .react-datepicker__month-text--keyboard-selected, +.sunE-calendar .react-datepicker__quarter-text--keyboard-selected, +.sunE-calendar .react-datepicker__year-text--keyboard-selected { + background: #fff !important; + color: black !important; +} + +.buy-now { + margin: 20px 0; +} + +.sunE-main-title .form-sunE-button.btn-select-year { + margin-right: 10px; +} + +.btn-select-year button { + padding: 0 65px; +} + +.btn-select-year .ico_left { + position: absolute; + top: 8px; + left: 10px; + cursor: pointer; +} + +.btn-select-year .ico_right { + position: absolute; + top: 8px; + right: 10px; + cursor: pointer; +} + +.react-datepicker-popper { + z-index: 12 !important; +} + +.gt_list_hei { + max-height: calc(100vh - 360px); + padding: 0 15px; + overflow: auto; +} + +.no-gt p { + font-size: 18px; + margin: 20px 0 0; +} + +.mg-20 { + margin: 20px 0 !important; +} + +.custom-select-no-bg .arrow { + position: relative; + z-index: 1000; + width: 15px; + height: auto; + left: 94.8%; + top: 1px; +} + +.custom-select-no-bg .arrow.rotate180 { + transform: rotate(180deg); +} + +.custom-select-no-bg .select-styled { + width: 100%; + height: 44px; + border-radius: 22px; + border: none; + outline: none; + text-align-last: left; + box-shadow: 0 1px 8px 0 rgb(21 27 38 / 15%); + font-size: 16px; + font-family: "Myriadpro-Regular"; + padding-right: 40px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: url(./../images/icon/ico_dropdown_s.png) 96% / 20px no-repeat #fff; + color: #424242; +} + +.custom-select-no-bg .select-styled.active { + background: url(./../images/icon/ico_dropup.png) 96% / 20px no-repeat #fff; +} + +.custom-select-no-bg.err .select-styled { + border: 2px solid #e22028; +} + +.custom-select-no-bg .select-styled { + z-index: 10; + text-align: left; + padding-left: 60px; +} + +.custom-select-no-bg .select-styled:after { + display: none; +} + +.custom-select-no-bg .select { + cursor: pointer; + display: inline-block; + position: relative; + font-size: 16px; + color: #424242; + width: 100%; + height: 44px; + line-height: 44px; + border-radius: 22px; + border: none; + background: #fff; +} + +.select-custom-bg .select-options { + padding: 20px 40px 0; + top: 20px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.ico_icon_select { + position: absolute; + top: 12px; + left: 16px; + z-index: 10; +} + +.select-custom-bg .select { + width: 100%; + height: 40px; + line-height: 40px; + border-radius: 20px; +} + +.select-custom-bg.err .select-styled { + border: 2px solid #e22028; +} + +.select-custom-bg .select-styled { + width: 100%; + height: 40px; + border-radius: 20px; + font-size: 16px; + line-height: 40px; +} + +.select-custom-bg .select-styled:after { + top: 5px; + right: 6px; +} + +.select-custom-bg .select-options { + border-radius: 20px; +} + +.select-custom-bg .select-styled { + z-index: 10; + text-align: left; + padding-left: 20px; +} + +.select-custom-bg.text-center .select-styled { + text-align: center; + padding-left: 0; +} + +.select-custom-bg .select-options { + display: none; + position: absolute; + padding: 20px 40px 0; + top: 20px; + right: 0; + left: 0; + z-index: 9; + margin: 0; + list-style: none; + background-color: #fff; + border-radius: 20px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.lcv.select-custom-bg .select-options li { + text-align: left; + text-indent: 0; + font-size: 16px; +} + +.lcv.select-custom-bg .select-options li .circle { + width: 10px; + height: 10px; + border-radius: 5px; + border: none; + background: #8dc63f; + margin: -2px 8px 0 0; + display: inline-block; +} + +.lcv.select-custom-bg .select-options li:nth-child(2) .circle { + background: #fbb040; +} + +.lcv.select-custom-bg .select-options li:nth-child(3) .circle { + background: #c367f4; +} + +.lcv.select-custom-bg .select-options li:nth-child(4) .circle { + background: #C41C2C; +} + +.lcv.select-custom-bg .select-options li:nth-child(5) .circle { + background: #be1e2d; +} + +.valid_to_input { + margin: 11px 0 0 10px; +} + +.valid_to_input input { + border: none; + outline: none; + color: #00a79d; + font-family: "Myriadpro-SemiBold"; + font-size: 18px; + width: 94px; + margin-right: 40px; + background: none; + height: 22px; +} + +.custom-select-w { + width: 380px; +} + +.custom-select-w .select-styled { + text-align-last: center; + padding: 0; +} + +.gt-sunE-hei { + max-height: calc(100vh - 200px); + overflow: auto; + padding-left: 20px; + padding-top: 10px; +} + +.unit-list .uk-grid > * { + padding-left: 25px; +} + +.btn-more-info .show_ { + /*margin: 18px 0 0 1px;*/ +} + +.text-trans { + text-transform: uppercase; +} + +.chk-custom-gr { + margin-left: 0; +} + +.chk-gr .chk-custom-gr { + margin-left: 5px; +} + +.chk-custom-gr input { + padding: 0; + height: initial; + width: initial; + margin-bottom: 0; + display: none; + cursor: pointer; +} + +.chk-custom-gr label { + position: relative; + cursor: pointer; +} + +.chk-custom-gr label:before { + content: ""; + -webkit-appearance: none; + background-color: transparent; + border: 1px solid #ed8a22; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), + inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05); + padding: 12px; + display: inline-block; + position: relative; + vertical-align: middle; + cursor: pointer; + margin-right: 10px; + border-radius: 3px; + margin-top: -1px; +} + +.chk-custom-gr input:checked + label:after { + content: ""; + display: block; + position: absolute; + top: -8px; + left: 10px; + width: 8px; + height: 22px; + border: solid #84c241; + border-width: 0 4px 4px 0; + transform: rotate(37deg); +} + +.wh20.chk-custom-gr label:before { + padding: 9px; +} + +.wh20.chk-custom-gr input:checked + label:after { + top: -3px; + left: 6px; + width: 6px; + height: 18px; + border: solid #84c241; + border-width: 0 3px 3px 0; + transform: rotate(36deg); +} + +.wh20.chk-custom-gr-selected input:checked + label:after { + top: -6px; + left: 8px; +} + +.mt-20 { + margin-top: 20px !important; +} + +.sunE-class-list a { + width: 100%; +} + +.pad-center-large { + padding: 0 160px !important; +} + +.text-err-ai { + color: red; + text-decoration: line-through; +} + +.text-fix-ai { + color: green; +} + +.have-explain { + background-color: #ffe699; +} + +.wh27 { + width: 27px; + height: 27px; +} + +.react-datepicker__day-name, +.react-datepicker__day, +.react-datepicker__time-name { + height: 1.7rem; + line-height: 1.7rem !important; + border: 1px solid rgb(255 255 255 / 0%); +} + +.react-datepicker__day--selected { + background-image: linear-gradient(to right, #fff, #fff) !important; + color: #00b9b7 !important; + border: 1px solid #00b9b7 !important; +} + +.react-datepicker__week .react-datepicker__day--today { + background-image: linear-gradient(to right, #00e1a0, #00b9b7) !important; +} + +.react-datepicker__day--selected, +.react-datepicker__day--in-selecting-range, +.react-datepicker__day--in-range, +.react-datepicker__month-text--selected, +.react-datepicker__month-text--in-selecting-range, +.react-datepicker__month-text--in-range, +.react-datepicker__quarter-text--selected, +.react-datepicker__quarter-text--in-selecting-range, +.react-datepicker__quarter-text--in-range, +.react-datepicker__year-text--selected, +.react-datepicker__year-text--in-selecting-range, +.react-datepicker__year-text--in-range { + border-radius: 50% !important; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); +} + +.react-datepicker__day--selected:hover, +.react-datepicker__day--in-selecting-range:hover, +.react-datepicker__day--in-range:hover, +.react-datepicker__month-text--selected:hover, +.react-datepicker__month-text--in-selecting-range:hover, +.react-datepicker__month-text--in-range:hover, +.react-datepicker__quarter-text--selected:hover, +.react-datepicker__quarter-text--in-selecting-range:hover, +.react-datepicker__quarter-text--in-range:hover, +.react-datepicker__year-text--selected:hover, +.react-datepicker__year-text--in-selecting-range:hover, +.react-datepicker__year-text--in-range:hover { + background-image: linear-gradient(to right, #00e1a0, #00b9b7); +} + +.react-datepicker__day:hover, +.react-datepicker__month-text:hover, +.react-datepicker__quarter-text:hover, +.react-datepicker__year-text:hover { + border: 1px solid #00b9b7; + border-radius: 50% !important; +} + +.react-datepicker__time-container + .react-datepicker__time + .react-datepicker__time-box + ul.react-datepicker__time-list + li.react-datepicker__time-list-item--selected { + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + color: white; + font-weight: bold; +} + +.react-datepicker__time-container + .react-datepicker__time + .react-datepicker__time-box + ul.react-datepicker__time-list + li.react-datepicker__time-list-item:hover { + background-image: linear-gradient(to right, #00e1a0, #00b9b7); +} + +.react-datepicker__day--today, +.react-datepicker__month-text--today, +.react-datepicker__quarter-text--today, +.react-datepicker__year-text--today { + font-weight: bold; + color: #fff !important; + border-radius: 50%; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); +} + +.react-datepicker__day--selected.react-datepicker__day--today { + color: #fff !important; +} + +/*.react-datepicker__day.react-datepicker__day--today:hover,.react-datepicker__day--selected.react-datepicker__day:hover,.react-datepicker__day--selected.react-datepicker__day{ + border: none!important; +}*/ +.react-datepicker__month-text--keyboard-selected, +.react-datepicker__quarter-text--keyboard-selected, +.react-datepicker__year-text--keyboard-selected { + border-radius: 50% !important; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + border: none; + color: #fff !important; +} + +.react-datepicker__day--keyboard-selected { + border-radius: 0; + background-color: #fff !important; + color: #000 !important; +} + +.class-slect-time.mgh { + margin: 8px 0 0; +} + +.mb0 { + margin-bottom: 0 !important; +} + +.f20 { + font-size: 20px !important; +} + +.pad-t-80 { + padding-top: 80px; +} + +.mx-h { + max-height: calc(100vh - 190px); +} + +.sunE-container-box.giaotrinh.canhan.pad { + padding: 20px 20px 10px; +} + +ul.pagination { + list-style: none; + display: inline-block; +} + +ul.pagination li { + list-style: none; + display: inline-block; +} + +ul.pagination li a { + display: block; + width: 24px; + height: 24px; + margin-left: 10px; + text-align: center; + line-height: 24px; + border: none; + font-family: "Myriadpro-Regular"; + font-size: 16px; +} + +ul.pagination li.active a, +ul.pagination li:hover a { + background: #00b9b7; + color: #fff; + border: none; + border-radius: 5px; +} + +.sunE-container-box.giaotrinh.teacher-giaobai { + padding: 20px 20px 10px; +} + +.giaotrinh.teacher-giaobai .giaotrinh.filter .sunE-giaotrinh-resuft-filter { + height: calc(100vh - 270px); +} + +.giaotrinh.unit .sunE-giaotrinh-list.curriculum { + max-height: calc(100vh - 220px); + overflow: auto; + padding-top: 10px; + padding-left: 15px; +} + +.giaotrinh.unit .sunE-giaotrinh-list-teacher.curriculum { + max-height: calc(100vh - 200px); + overflow: auto; + padding-top: 10px; + padding-left: 15px; +} + +.giaotrinh.unit.teacher-giaobai .unit-list { + padding: 0 15px 0 30px; +} + +.bd-l-blue { + border-left: 3px solid #00bbb6; +} + +.sunE-giaotrinh-list .uk-width-1-2 { + margin-bottom: 15px; +} + +.giaobai-support .uk-container { + padding-left: 0; + padding-right: 0; +} + +.giaobai-detail .select-gr select { + border-radius: 3px; +} + +.giaobai-detail .underline { + text-decoration: underline; + font-family: "Myriadpro-Semibold"; +} + +.giaotrinh.unit .sunE-giaotrinh-list.curriculum { + padding: 10px 32px 0 20px; +} + +.giaotrinh.unit.teacher-giaobai .unit-list.uk-container { + padding-top: 10px; +} + +.diemdanh-cutom-select .select { + cursor: pointer; + display: inline-block; + position: relative; + font-size: 18px; + font-family: "Myriadpro-Light"; + color: #84c241; + width: 145px; + height: 32px; + line-height: 32px; + border-radius: 17px; + border: none; + background: #fff; + box-sizing: border-box; + box-shadow: none; +} + +.diemdanh-cutom-select .select-styled { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: #fff; + width: 145px; + height: 32px; + line-height: 32px; + /* transition: all 0.2s ease-in; */ + border-radius: 17px; + font-size: 18px; + text-align: left; + padding-left: 20px; + font-family: "Myriadpro-Light"; + z-index: 10; + box-sizing: border-box; +} + +.diemdanh-cutom-select .select-styled .line { + position: absolute; + right: 36px; + top: 2px; +} + +.diemdanh-cutom-select #intime.select-styled { + border: 1px solid #84c241; + color: #84c241; +} + +.diemdanh-cutom-select #intime.select-styled .line { + color: #84c241; +} + +.diemdanh-cutom-select #late.select-styled { + border: 1px solid #ed8a22; + color: #ed8a22; +} + +.diemdanh-cutom-select #late.select-styled .line { + color: #ed8a22; +} + +.diemdanh-cutom-select #absence_not_allowed.select-styled { + border: 1px solid #be1e2d; + color: #be1e2d; +} + +.diemdanh-cutom-select #absence_not_allowed.select-styled .line { + color: #be1e2d; +} + +.diemdanh-cutom-select #absence_allowed.select-styled { + border: 1px solid #be1e2d; + color: #be1e2d; +} + +.diemdanh-cutom-select #absence_allowed.select-styled .line { + color: #be1e2d; +} + +.diemdanh-cutom-select .select-styled:after { + content: ""; + width: 18px; + height: 9px; + background: url(./../images/teacher/diemdanh/ico_dropdown_green.png) 96% / + 18px no-repeat transparent; + position: absolute; + top: 12px; + right: 10px; +} + +.diemdanh-cutom-select #late.select-styled:after { + content: ""; + width: 18px; + height: 9px; + background: url(./../images/teacher/diemdanh/ico_dropdown_orange.png) 96% / + 18px no-repeat transparent; + position: absolute; + top: 12px; + right: 10px; +} + +.diemdanh-cutom-select #absence_not_allowed.select-styled:after, +.diemdanh-cutom-select #absence_allowed.select-styled:after { + content: ""; + width: 18px; + height: 9px; + background: url(./../images/teacher/diemdanh/ico_dropdown_red.png) 96% / 18px + no-repeat transparent; + position: absolute; + top: 12px; + right: 10px; +} + +.diemdanh-cutom-select .select-options { + display: none; + position: absolute; + padding: 10px; + top: calc(100% + 3px); + right: 0; + left: 0; + z-index: 11; + margin: 0; + list-style: none; + background-color: #fff; + border-radius: 20px; + border: none; + box-shadow: 0 1px 15px 0 rgb(21 27 38 / 15%); + max-height: calc(100vh - 100px); + overflow: auto; +} + +.diemdanh-cutom-select .select-options li { + margin: 0; + text-indent: 0; + transition: all 0.15s ease-in; + border-bottom: none; + text-align: center; + padding: 5px 0; + font-size: 18px; + font-family: "Myriadpro-Regular"; +} + +.diemdanh-cutom-select .select-options li:nth-child(1) { + color: #84c241; +} + +.diemdanh-cutom-select .select-options li:nth-child(2) { + color: #ed8a22; +} + +.diemdanh-cutom-select .select-options li:nth-child(3) { + color: #be1e2d; +} + +.diemdanh-cutom-select .select-options li:nth-child(4) { + color: #be1e2d; +} + +.f-24 { + font-size: 24px; +} + +.score-bg-blue input { + font-family: "Myriadpro-Bold"; + font-size: 24px; + width: 38px; + color: #00a69c; + line-height: 24px; + display: block; + text-align: center; + background: rgb(0 0 0 / 0%); + border: none; + outline: none; + margin: 0; + padding: 0; + box-sizing: border-box; +} + +.score-bg-blue input::-webkit-input-placeholder { + /* Edge */ + color: rgb(0 166 156 / 30%); + font-family: "Myriadpro-Bold"; +} + +.score-bg-blue input:-ms-input-placeholder { + /* Internet Explorer 10-11 */ + color: rgb(0 166 156 / 30%); + font-family: "Myriadpro-Bold"; +} + +.score-bg-blue input::placeholder { + color: rgb(0 166 156 / 30%); + font-family: "Myriadpro-Bold"; +} + +/* Chrome, Safari, Edge, Opera */ +.score-bg-blue input::-webkit-outer-spin-button, +.score-bg-blue input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +/* Firefox */ +.score-bg-blue input[type="number"] { + -moz-appearance: textfield; +} + +.menu-gr-right input[type="text"].btn { + width: 100%; + display: block; + height: 48px; + border-radius: 24px; + background: rgb(0 203 173 / 30%); + color: #231f20; + font-size: 18px; + line-height: 48px; + margin: 0 0 10px; + cursor: pointer; + border: none; + outline: none; + box-sizing: border-box; + padding: 0 30px; + font-family: "Myriadpro-Regular"; +} + +.menu-gr-right input[type="text"].btn.name_kt { + font-family: "Myriadpro-Italic"; +} + +.menu-gr-right input[type="text"].btn::-webkit-input-placeholder { + /* Edge */ + color: #231f20; +} + +.menu-gr-right input[type="text"].btn:-ms-input-placeholder { + /* Internet Explorer 10-11 */ + color: #231f20; +} + +.menu-gr-right input[type="text"].btn::placeholder { + color: #231f20; +} + +.menu-gr-right .react-datepicker-wrapper input[type="text"] { + width: 100%; + display: block; + height: 48px; + border-radius: 24px; + background: #b2ece8; + color: #231f20; + font-size: 18px; + line-height: 48px; + margin: 0 0 10px; + cursor: pointer; + border: none; + outline: none; + box-sizing: border-box; + padding: 0 30px; + font-family: "Myriadpro-Regular"; +} + +.btn-ob.select { + cursor: pointer; + display: inline-block; + position: relative; + font-size: 16px; + color: #fff; + width: 100%; + height: 48px; + line-height: 48px; + border-radius: 24px; + border: none; + background: #b2ece8; +} + +.btn-ob .select-styled { + background: #b2ece8; + border-radius: 24px; + color: #231f20; + font-family: "Myriadpro-Regular"; + font-size: 18px; + line-height: 48px; + text-align: left; + box-sizing: border-box; + padding: 0 30px; +} + +.btn-ob .select-styled:after { + content: ""; + width: 24px; + height: 14px; + background: url(./../images/teacher/diemdanh/ico_dropdown_blue.png) 90% / 24px + no-repeat transparent; + position: absolute; + top: 19px; + right: 8px; +} + +.btn-ob .select-styled.active:after { + background: url(./../images/teacher/diemdanh/ico_dropup_blue.png) 90% / 24px + no-repeat transparent; +} + +.hoc-ky.btn-ob { + z-index: 10; +} + +.hoc-ky.btn-ob .select-options { + z-index: 9; +} + +.kiem-tra-mieng.btn-ob { + z-index: 8; +} + +.kiem-tra-mieng.btn-ob .select-options { + z-index: 7; +} + +.he-so.btn-ob { + z-index: 6; +} + +.he-so.btn-ob .select-options { + z-index: 5; +} +.uk-modal { + z-index: 99999; +} + +.uk-modal .uk-modal-body { + padding: 20px; +} + +.medium-title.f-24 { + margin: 0 0 25px; +} + +.box-chart { + margin: 0 0 20px; +} + +.box-chart p { + color: #000000; + font-family: "Myriadpro-Regular"; + font-size: 18px; +} + +.box-chart .w254 { + width: 254px; +} + +.box-bcht .calendar { + margin: 0 auto 20px; +} + +.list-schedule { + max-height: calc(100vh - 160px); + overflow: auto; + padding-right: 10px; +} + +.medium-title .chk-custom-gr label:before { + margin-top: -4px; +} + +.medium-title .wh20.chk-custom-gr input:checked + label:after { + top: -10px; +} + +.mex-box-height { + height: calc(100vh - 340px); + overflow: auto; + padding-right: 10px; +} + +.mex-info-box { + background: #8ee4db; + padding: 20px; + margin: 0 0 30px 20px; + border-radius: 20px; +} + +.mex-info-box .send-name { + position: absolute; + top: 5px; + left: 15px; +} + +.mex-info-box.isMe { + background: #fff; + margin: 0 20px 30px 50px; + padding: 30px 20px 20px; +} + +.mex-info-box p { + color: #221f1f; + font-family: "Myriadpro-Light"; + font-size: 18px; +} + +.mex-info-box span.time-send { + position: absolute; + bottom: -20px; + right: 0; + color: #58595b; + font-family: "Myriadpro-Light"; + font-size: 12px; +} + +.mex-info-box.isMe span.time-send { + position: absolute; + bottom: -20px; + right: auto; + left: 0; + color: #58595b; + font-family: "Myriadpro-Light"; + font-size: 12px; +} + +.__checked_send_exam { + font-size: 22px; + font-weight: bold; + margin: 10px; + color: #84c241; + align-items: center; +} + +.__checked_send_exam img { + margin: 0px 10px; + height: 24px; +} + +.__checked_send_exam_children img { + margin: 0px 5px; + height: 20px; +} + +.__checked_send_exam_children { + font-size: 16px; + font-weight: bold; + margin: 5px 10px; + color: #84c241; + align-items: center; +} + +.pad20 { + padding: 20px; +} + +.react-datepicker-popper { + z-index: 12; +} + +.item-student-name .nx { + max-width: 460px; + display: block; + font-family: "Myriadpro-Light" !important; + /* padding-bottom: 30px; */ +} + +.btn-ob .select-options li { + text-indent: 25px; + border-bottom: 1px solid #d9d8d8; + text-align: left; +} + +.btn-ob .select-options { + padding: 24px 25px 0; +} + +.mex-box-height-2 { + height: calc(100vh - 433px); + overflow: auto; + padding-right: 10px; +} + +.send-mes { + background: #fff !important; + border: none; +} + +.send-mes img { + width: 24px; +} + +.diemdanh-list-hs.pr-0 { + padding-right: 0; +} + +.checbox-right .chk-custom-gr label:before { + margin-left: 15px; + margin-right: 0; +} + +.checbox-right .wh20.chk-custom-gr input:checked + label:after { + left: auto; + right: 5px; + top: -6px; +} + +/* Check box assigned */ +.wh20.check-assigned input:checked + label:after { + /* top: -5px; */ + top: -8px; + left: 8px; + height: 18px; + border: solid #84c241; + border-width: 0 3.7px 3.7px 0; +} + +/* Check box student */ +.wh20.check-select-student input:checked + label:after { + /* top: -5px; */ + top: -6px; + left: 8px; + height: 18px; + border: solid #84c241; + border-width: 0 3.7px 3.7px 0; +} + +/* Check box select all */ +.checbox-right .wh20.check-select-student input:checked + label:after { + left: auto; + right: 2px; + top: -8px; +} + +.mes-avt { + width: 42px; + height: 42px; + border-radius: 21px; + overflow: hidden; + border: 2px solid #e7c71d; + position: absolute; + left: -50px; + top: 0; +} + +.mes-avt img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.pr45 { + padding-right: 45px; +} + +.react-datepicker__day--outside-month { + color: #7d7d7d !important; +} + +.sunE-container-box.giaotrinh.unit { + padding: 20px 20px 0; +} + +.giaotrinh.unit.student .unit-list { + padding: 0 25px 0 20px; +} + +.giaotrinh.unit.student .info-item-desc h2 { + color: #fff; + text-align: left; +} + +.giaotrinh.unit.student .unit-list .unit-giaotrinh-content.active { + background: rgb(4 5 5 / 32%); + border-top-right-radius: 35px; + border-top-left-radius: 35px; +} + +.giaotrinh.unit.student + .unit-list + .unit-giaotrinh-content.active + .unit-more-info { + border-bottom: none; +} + +.msg-active { + background: #c3fdf3; +} + +.msg-seen.tinnhan-item h2 { + font-family: "Myriadpro-Regular"; + color: #525252; +} + +.msg-seen.tinnhan-item span { + color: #525252; +} + +.select-language.select { + cursor: pointer; + display: inline-block; + position: relative; + font-size: 18px; + color: #00bbb5; + width: 100%; + height: 24px; + line-height: 24px; + border-radius: 0; + border: none; + background: none; + font-family: "Myriadpro-SemiBold"; +} + +.select-language .select-styled { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: none; + width: 100%; + height: 24px; + line-height: 24px; + border: none; + transition: all 0.2s ease-in; + border-radius: 0; + color: #00bbb5; + font-size: 16px; + text-align: center; + font-family: "Myriadpro-SemiBold"; + z-index: 10; + text-decoration: underline; +} + +.select-language .select-styled:after { + content: ""; + width: 0; + height: 0; + background: none; + position: absolute; + top: 0; + right: 0; +} + +.select-language .select-options { + width: 130px; + display: none; + position: absolute; + padding: 10px 5px; + top: 100%; + right: 0; + left: 0; + z-index: 9; + margin: 0; + list-style: none; + background-color: #fff; + border-radius: 10px; + border: none; + box-shadow: 0 1px 15px 0 rgb(21 27 38 / 15%); + max-height: auto; + overflow: auto; +} + +.select-language .select-options li { + margin: 0; + text-indent: 0; + transition: all 0.15s ease-in; + border-bottom: none; + text-align: center; + padding: 3px 0; +} + +.student-search .search-custom { + border-top-left-radius: 24px; + border-bottom-left-radius: 24px; +} + +.edit-profile-student button { + padding: 0 20px 0 45px; +} + +.edit-profile-student .ico_edit_profile { + position: absolute; + left: 15px; + top: 8px; +} + +.w25 { + width: 25px; +} + +.info-parent { + margin: 20px 0 0; +} + +.ph-add-gr h2 { + color: #404041; + font-size: 24px; + line-height: 31px; + font-family: "Myriadpro-Bold"; +} + +.btn-add-ph { + cursor: pointer; + margin: 0 0 0 40px; +} + +.btn-add-ph span { + color: #00b9b6; + font-size: 18px; + line-height: 25px; + font-family: "Myriadpro-Regular"; + margin: 5px 0 0 10px; +} + +.parent-info .avatar { + width: 76px; + height: 76px; + border-radius: 38px; + overflow: hidden; + margin-right: 20px; + border: 3px solid #fff; + box-shadow: 0 1px 6px 0 rgba(21, 27, 38, 0.15); +} + +.parent-info p { + color: #231f20; + font-size: 18px; + line-height: 18px; + font-family: "Myriadpro-Regular"; + margin: 20px 0 5px; +} + +.parent-info span { + color: #231f20; + font-size: 18px; + line-height: 25px; + font-family: "Myriadpro-Light"; + margin: 0; +} + +.avatar-edit-box.student { + width: 186px; + height: 186px; +} + +.avatar-edit.student { + padding-top: 20px; +} + +.bg_edit_student_profile { + position: absolute; + top: 0; + left: 0; +} + +.radio-item { + position: relative; + padding: 0 6px; + margin: 10px 0 0; +} + +.radio-item input[type="radio"] { + display: none; +} + +.radio-item label { + color: #666; + font-weight: normal; +} + +.radio-item label:before { + content: " "; + display: inline-block; + position: relative; + top: 5px; + margin: 0 8px 0 0; + width: 20px; + height: 20px; + border-radius: 11px; + border: 1px solid #404041; + background-color: transparent; + box-sizing: border-box; +} + +.laplai label { + font-family: "Myriadpro-Regular"; + font-size: 16px; + color: #404041; + display: unset; + padding: 0; + cursor: pointer; +} + +.laplai p > input[type="radio"]:checked + *::before { + border-color: #84c241; +} + +.time-to.select-time input { + background: no-repeat; + box-shadow: none; + color: #00a69c; + font-size: 18px; + font-family: "Myriadpro-SemiBold"; + margin: 11px 0 0 15px; + cursor: pointer; +} + +.apdung .time-to.select-time .ico_edit_time_to { + cursor: pointer; + position: absolute; + left: 136px; + top: 18px; + margin: 0; +} + +.sunE-container-box-UI { + padding: 10px 0; +} + +.sunE-container-box-UI.setting { + padding: 0; + border-top-right-radius: 20px; + border-top-left-radius: 20px; +} + +.bg-main-color-m { + background-image: linear-gradient(to bottom, #e1fef0, #ffffff); +} + +.w100 { + width: 100%; + box-sizing: border-box; + display: block; +} + +.img-cover { + object-fit: cover; +} + +.w100 img { + width: 100%; + height: 100%; + display: block; +} + +.gioithieu-info { + padding: 0 25px 2rem; +} + +.gioithieu-info p { + line-height: 20px; + color: #404041; + font-size: 20px; + font-family: "Myriadpro-Regular"; + padding-bottom: 20px; +} + +.term-info { + background: #fff; + padding: 30px; + border-radius: 20px; + margin: 30px 0 0; +} + +.term-info p { + line-height: 24px; + color: #404041; + font-size: 18px; + font-family: "Myriadpro-Regular"; + padding: 0 0 20px; +} + +.btn-create-khk span { + display: block; + width: 110px; + height: 38px; + text-align: right; + min-width: 110px; + padding: 0 20px; + line-height: 36px; + box-sizing: border-box; +} + +.btn-create-khk .ico_add_kh { + position: absolute; + top: 9px; + left: 15px; +} + +.btn-create-khk .ico_line_kh { + position: absolute; + top: 4px; + left: 45px; +} + +.line38 { + line-height: 38px; +} + +.time-to-khht-cn .ico_edit_time_to_khht { + position: absolute; + top: 2px; + right: 0; +} + +.bg-w-h-50 { + height: 50px; + background: #fff; + border-radius: 25px; + padding: 0 35px; + margin-top: 20px; +} + +.apdung .bg-w-h-50 label { + margin: 0; + line-height: 50px; +} + +.mt-3 { + margin-top: 3px; +} + +.tong-hs { + line-height: 24px; + font-size: 18px; + font-family: "Myriadpro-SemiBold"; + margin: 0 0 20px; +} + +.custom-select-no-bg.one-line .select-styled { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.percent span { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 16px; + line-height: 16px; + font-family: "Myriadpro-Bold"; +} + +.collapse { + position: relative; +} + +.collapse .calendar { + height: 110px; + overflow: hidden; +} + +.fullHeight.collapse .calendar { + height: auto; + overflow: initial; +} + +.btn-collapse { + position: absolute; + bottom: -25px; + left: calc(50% - 25px); + width: 50px; + height: 25px; + border-bottom-left-radius: 25px; + border-bottom-right-radius: 25px; + background: #fff; + display: flex; + justify-content: center; + align-items: center; + box-shadow: 0 2px 1px 0 rgba(21, 27, 38, 0.15); + cursor: pointer; +} + +.btn-collapse img { + margin-top: -3px; +} + +.box-bcht-date-custom-hei.box-bcht { + padding: 0; + width: 498px; +} + +.box-bcht-date-custom-hei .calendar { + width: 100%; + border-bottom-left-radius: 20px; + border-bottom-right-radius: 20px; +} + +.box-bcht-date-custom-hei .calendar .week-cell, +.box-bcht-date-custom-hei .calendar .day-cell { + flex-grow: 0; + flex-shrink: 0; + flex-basis: calc(100% / 7 - 30px); + display: flex; + justify-content: center; + align-items: center; + height: 40px; + width: 40px; + cursor: pointer; + margin: 5px 15px; +} + +.two-line { + max-height: 58px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.thoikhoabieu.tb .valid_to_input { + margin: 17px 0 0 10px; +} + +.thoikhoabieu.tb .apdung .valid_to_input .react-datepicker-wrapper { + width: 120px; +} + +.thoikhoabieu.tb .apdung.apdung-custom .flex-1 img { + margin: 2px 0 0 10px; + width: 12px; +} + +.sunE-plan.sunE-plan-list { + padding-left: 0; +} + +.lichngay-teacher .calendar { + width: 100%; +} + +.add_code_student-gr.w-custom { + width: 500px; +} + +.sunE-input-border-blue-gr .ico_class_po { + top: 8px; + left: 13px; +} + +.slider-item-desc .item-top-title-main .text-light.two-line { + padding: 0 20px; +} + +.datlichnhac-input-gr .chk-custom-gr label:before { + margin-right: 15px; +} + +.tp-k .time-to.select-time input { + margin: 6px 0 0 15px; +} + +.apdung.tp-k .time-to.select-time .ico_edit_time_to { + top: 14px; +} + +.box-gr-sp, +.box-sp { + background: #fff; + padding: 30px 60px; + border-radius: 20px; +} + +.box-gr-sp-i { + margin: 0 0 20px; +} + +.box-gr-sp-i .mi { + width: 60px; + box-sizing: border-box; +} + +.box-gr-sp-i .mi img { + display: block; +} + +.box-gr-sp-i p, +.box-sp p { + font-size: 18px; + line-height: 25px; + font-family: "Myriadpro-Regular"; + color: #404041; +} + +.hotline-sp { + padding: 30px 0; + border: 1px solid #404041; + border-radius: 20px; + margin-top: 30px; +} + +.hotline-sp img { + margin: 0 auto; +} + +.hotline-sp span { + font-size: 18px; + line-height: 54px; + font-family: "Myriadpro-Bold"; + color: #00a69c; + text-transform: uppercase; + display: block; + text-align: center; +} + +.support.sunE-container-box { + padding: 50px; +} + +.top-12-custom { + margin-top: 12px; +} + +.collapse .calendar { + border-radius: 20px; +} + +.one-line { + overflow: hidden; + /* display: -webkit-box; + -webkit-line-clamp: 1 !important; + -webkit-box-orient: vertical; */ + text-overflow: ellipsis; + white-space: nowrap; + /* width: 300px; */ +} + +.one-line-break-word { + white-space: normal; + word-wrap: break-word; +} + +.sunE-title-medium-p { + font-size: 18px; + line-height: 18px; + margin: 0 0 15px; + font-family: "Myriadpro-SemiBold"; +} + +.box-chart .dtb-sum { + width: 100%; + position: absolute; + bottom: 10px; + left: 0; +} + +.box-chart .bdg-sum { + width: 100%; + position: absolute; + bottom: 10px; + left: 0; +} + +.dtb-sum-slider { + width: 100%; + position: absolute; + bottom: 0; + left: 0; +} + +.bdg-sum .w { + width: 297px; +} + +.dtb-sum .w { + width: 307px; +} + +.student-ab .box-detail-ab { + top: 170px; +} + +.dtb-sum-slider p { + text-align: left; +} + +.dtb-sum-slider .w { + width: 234px; +} + +.btn-zoom-img { + cursor: pointer; +} + +.box-video-project { + height: 250px; +} + +.box-video-project video { + max-height: 250px; +} + +.custom-4.slider-custom { + max-width: 420px; +} + +.custom-4.slider-custom .slick-arrow.slick-prev { + left: -40px; +} + +.custom-4.slider-custom .slick-arrow.slick-next { + left: calc(100% + 9px); +} + +.select-all-k { + padding-bottom: 10px; +} + +.box-graph-content canvas { + width: 100% !important; + min-height: 25rem !important; +} + +.top-title-name { + padding: 8px 20px; + background: rgba(183, 243, 229, 0.6); + border-radius: 5px; + max-height: 59px; +} + +.item-skill-top { + display: flex; + align-items: center; + justify-content: center; +} + +.top-title-name p { + font-size: 22px; + line-height: 24px; + font-family: "Myriadpro-SemiBold"; + color: #00a79d; + text-align: center; +} + +.student-khht .calendar { + border-radius: 20px; +} + +.taokehoach .input-gr textarea::placeholder, +.input-gr input::placeholder, +.input-gr select::placeholder { + color: #8a8a8a !important; +} + +.taokehoach .input-gr textarea::-ms-input-placeholder, +.input-gr input::-ms-input-placeholder, +.input-gr select::-ms-input-placeholder { + color: #8a8a8a !important; +} + +.taokehoach .input-gr textarea::-webkit-input-placeholder, +.input-gr input::-webkit-input-placeholder, +.input-gr select::-webkit-input-placeholder { + color: #8a8a8a !important; +} + +.mr-c { + margin-right: 26px; +} + +.giaotrinh.unit .sunE-giaotrinh-list.pr-25.pt-8 { + padding: 8px 25px 0 20px; +} + +.giaotrinh.unit.student .unit-list.pt-8 { + padding: 8px 25px 0 20px; +} + +.item-student-name span.pl-0 { + padding-left: 0; +} + +.flex-1 { + flex: 1 !important; +} + +.box-shadow-la { + box-shadow: 0 2px 8px 0 rgb(21 27 38 / 40%) !important; +} + +.collapse.showMonth .calendar { + height: 165px; +} + +.fullHeight.showMonth .calendar { + height: auto; +} + +.mes-box-send { + resize: none; + height: 54px; + width: 100% !important; + line-height: 32px; + font-size: 16px; + box-sizing: border-box; + padding: 10px 20px 10px 20px; + border-top-left-radius: 27px; + border-bottom-left-radius: 27px; + outline: none; + border: 1px solid #fff; + box-shadow: 0 1px 8px 0 rgb(21 27 38 / 15%); + background: #fff; + font-family: "Myriadpro-Regular"; +} + +.mes-box-send::-webkit-input-placeholder { + /* Edge */ + font-family: "Myriadpro-Regular"; +} + +.mes-box-send:-ms-input-placeholder { + /* Internet Explorer 10-11 */ + font-family: "Myriadpro-Regular"; +} + +.mes-box-send::placeholder { + font-family: "Myriadpro-Regular"; +} + +.search-gr-p { + height: 44px; + box-sizing: border-box; + margin: 30px 0 10px; +} + +.box-btn-send { + height: 54px; + width: 54px; + border-top-right-radius: 27px; + border-bottom-right-radius: 27px; + background: #fff; +} + +.setting-on-off-box .box-shadow-2 { + box-shadow: none; +} + +.hcs { + font-size: 18px; + line-height: 18px; + font-family: "Myriadpro-Bold"; + margin: 0 15px 0 5px; +} + +.gr-r span.mr-5 { + margin-right: 5px; +} + +.box-s span { + display: block; + height: 36px; + margin-top: 5px; + border-radius: 18px; + background: #fff; + color: #00cbad; + font-size: 18px; + font-family: "Myriadpro-Light"; + line-height: 36px; + padding: 0 5px 0 40px; +} + +.box-s img { + position: absolute; + top: 5px; + left: 5px; +} + +.box-s .select { + cursor: pointer; + display: inline-block; + position: relative; + font-size: 16px; + color: #00cbad; + width: 150px; + height: 36px; + line-height: 36px; + border-radius: 18px; + border: none; + background: #fff; + margin-top: 5px; +} + +.box-s .select-styled { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background: #fff; + width: 150px; + height: 36px; + line-height: 36px; + border: none; + /* transition: all 0.2s ease-in; */ + border-radius: 18px; + color: #00cbad; + font-size: 16px; + text-align: left; + padding: 0 5px 0 40px; + font-family: "Myriadpro-Light"; + z-index: 10; +} + +.select-chart .select-styled { + padding: 0 5px; + text-align: center; + width: 100%; +} + +.box-s .select-options { + display: none; + position: absolute; + padding: 24px 10px 0; + top: 22px; + right: 0; + left: 0; + z-index: 9; + margin: 0; + list-style: none; + background-color: #fff; + border-radius: 24px; + border-top-right-radius: 0; + border-top-left-radius: 0; + border: none; + box-shadow: 0 1px 15px 0 rgb(21 27 38 / 15%); + max-height: calc(100vh - 100px); + overflow: auto; +} + +.select-chart .select-options { + top: 6px; +} + +.box-s .select img { + position: absolute; + top: 5px; + left: 5px; + z-index: 101; +} + +.box-s .select-options li { + margin: 0; + text-indent: 0; + transition: all 0.15s ease-in; + border-bottom: none; + text-align: center; + color: #00cbad; +} + +.gr-k .hs-dh { + font-size: 29px; + line-height: 65px; + color: #fc9d24; + font-family: "Myriadpro-Regular"; +} + +.tinnhan-item .avt.auto img { + width: 29px; + height: 24px; + object-fit: cover; +} + +.check-date-time-week { + width: 400px; + height: 44px; + background: #fff; + border-radius: 22px; + box-sizing: border-box; + padding: 0 15px; + box-shadow: 1px 2px 4px 0 rgb(21 27 38 / 35%); + margin: auto; +} + +.check-date-time-week p { + font-size: 20px; + line-height: 44px; + color: #414042; + font-family: "Myriadpro-Regular"; +} + +.check-date-time-week img { + width: 14px; + cursor: pointer; +} + +.search-gr-custom .box-shadow-2, +.search-custom, +._line_box { + box-shadow: 2px 2px 4px 0 rgb(21 27 38 / 35%); +} + +.img-bg-x { + width: 216px; + height: 287px; + background-image: url("./../images/giaotrinh/bg_unit.png"); + background-repeat: no-repeat; + background-position: center; + object-fit: cover; + display: flex; + justify-content: center; +} + +.__way_map { + position: absolute; + transform: translate(75%, 150%); +} + +.__way_map_down { + position: absolute; + transform: translate(65%, 210%); +} + +.img-bg-x .__avt_unit { + border-radius: 50%; + /* margin: 20px; */ + /* width: 120px; */ + /* height: 120px; */ + margin-top: 30px; + width: 76%; + height: 50%; + object-fit: cover; + margin-left: -8px; +} + +.info-gr-popup.info-gr img { + width: 30px; + height: auto; + margin: 0; +} + +.info-gr-popup.info-gr .info-con p { + font-size: 18px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 295px; +} + +.info-gr-popup.info-gr .avta { + width: 30px; + height: 30px; + border: 2px solid #e9af38; + border-radius: 50%; + overflow: hidden; +} + +.info-gr-popup.info-gr .avta img { + width: 100%; + height: 100%; +} + +.box-topic { + background: #fff; + padding: 15px; + border-radius: 20px; + margin: 0 0 30px; +} + +.box-topic h2 { + font-size: 18px; + line-height: 135%; + font-family: "Myriadpro-SemiBold"; +} + +.box-topic p { + font-size: 18px; + line-height: 135%; + font-family: "Myriadpro-Regular"; +} + +._tb .title { + background-color: rgb(172 241 228); + border-radius: 10px; +} + +._tb .title p { + text-align: center; + font-size: 18px; + line-height: 135%; + font-family: "Myriadpro-SemiBold"; + vertical-align: middle; +} + +._class { + width: 120px; + margin-right: 10px; + padding: 10px 0; +} + +._date { + width: 180px; + margin-right: 10px; + padding: 10px 0; +} + +._score { + margin-right: 10px; +} + +._number { + width: 140px; + padding: 10px 0; +} + +.pad100 { + padding: 10px 0; +} + +.mb-5 { + margin-bottom: 5px; +} + +.ml-2-5 { + margin-left: 2.5px; +} + +.mg-2-5-2 { + margin: 0 2.5px; +} + +.mr-2-5 { + margin-right: 2.5px; +} + +._detail { + background: #fff; + padding: 5px 10px; +} + +._detail p { + text-align: center; + font-size: 18px; + line-height: 26px; + font-family: "Myriadpro-Regular"; + vertical-align: middle; + max-height: 52px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} + +.list-details .item:first-child ._detail { + border-top-right-radius: 10px; + border-top-left-radius: 10px; +} + +.list-details .item:last-child ._detail { + border-bottom-right-radius: 10px; + border-bottom-left-radius: 10px; +} + +.homepage-teacher.sunE-container-box { + padding: 30px 20px 20px; +} + +.slider-class-see-report { + display: flex; + align-items: flex-end; + justify-content: flex-end; + width: 100%; + height: 100%; +} + +.txt-desc { + position: absolute; + top: -5px; + left: 25px; + color: #d1d3d4; +} + +.active .txt-desc { + color: #000000; +} + +.chk-gr .like, +.like-img .like { + display: none; +} + +.chk-gr .no_like, +.like-img .no_like { + display: block; +} + +.is_in_wishlist .like { + display: block; +} + +.is_in_wishlist .no_like { + display: none; +} + +.h-giaobai-support-list { + overflow-y: auto; + overflow-x: hidden; + max-height: calc(100vh - 220px); + padding: 10px 35px 10px 20px; +} + +.content_study_guide_container { + max-height: calc(100vh - 130px); +} + +.class-box-desc span.class-online, +.class-box-desc span.class-offline { + font-size: 18px; + font-family: "Myriadpro-SemiBold"; +} + +.input-gr .box-shadow-2 { + box-shadow: 1px 2px 6px 0 rgb(21 27 38 / 35%); +} + +.set-max-w { + max-width: 414px; +} + +.select-all-k.mg-top-0.flex-m { + margin-right: 10px; +} + +.sunE-container-box-UI.setting { + background: #fff; +} + +.tpm-r { + margin-right: 33px; +} + +.sunE-right-container.p0 { + padding: 30px 20px 0; +} + +.text-center.box-video-project.img-bg { + max-height: 260px; +} + +.text-center.box-video-project.img-bg img { + max-width: 100%; + height: 100%; +} + +.mg-10-0 { + margin: 10px 0 !important; +} + +.ql-bt-dg .sunE-giaotrinh-item { + margin: 10px 0; + padding-bottom: 10px; + border-bottom: 1px solid #c5c5c5; +} + +.ql-bt-dg .sunE-giaotrinh-item:first-child { + margin: 0 0 10px; +} + +.ql-bt-dg .sunE-giaotrinh-item:last-child { + padding-bottom: 0; + border-bottom: none; +} + +.sunE-giaotrinh-resuft-filter.ql-bt-dg { + max-height: calc(100vh - 160px); +} + +.file-support-list { + overflow: auto; + max-height: 240px; + padding-right: 10px; +} + +.pasd.sunE-container-box { + padding: 30px 20px 0; +} + +.ldjas + .giaotrinh.teacher-giaobai + .giaotrinh.filter + .sunE-giaotrinh-resuft-filter { + height: calc(100vh - 290px); +} + +.laplai label.title-b { + font-family: "Myriadpro-SemiBold"; + color: #000; +} + +.center-flex-hz { + display: flex; + align-items: center; +} + +.item-student-name.max-w-1 p { + word-break: break-all; +} + +.sunE-container-box.setting { + padding: 10px 20px 10px; +} + +.error-img { + height: 26px; +} + +.pad-t-30 { + padding-top: 30px; +} + +.sunE-calendar.student .calendar { + width: 420px; +} + +.sunE-calendar.student .calendar .week-cell, +.sunE-calendar.student .calendar .day-cell { + flex-grow: 0; + flex-shrink: 0; + flex-basis: calc(100% / 7 - 19px); + display: flex; + justify-content: center; + align-items: center; + height: 40px; + width: 40px; + cursor: pointer; + margin: 5px 9px; +} + +/*END MORE CSS*/ + +@media screen and (max-width: 768px) { + .flex { + display: block; + } + + .sunE-container { + width: 100%; + } + + .disable-mobile { + display: none; + } + + .enable-mobile { + display: block; + } +} + +.flex-m .class-slect-time .err label { + color: #e22028; +} + +.tinnhan-item .dot-active { + width: 12px; + height: 12px; + background-color: #3578e5; + border-radius: 50%; + position: relative; + top: 12px; + left: 12px; +} + +.msg-seen.tinnhan-item .dot-active { + display: none; +} + +video::-webkit-media-controls-volume-slider { + display: none; +} + +video::-webkit-media-controls-mute-button { + display: none; +} + +.popup-tag-edit { + position: fixed; + display: none; + color: #000; + background-color: #fff; + padding: 3px 30px; + border-radius: 17px; + font-size: 16px; + font-family: "Myriadpro-Regular"; + cursor: pointer; + box-shadow: 1px 2px 4px 0 rgba(21, 27, 38, 0.4); +} + +.ico_right_p5 { + margin: 0 5px; +} + +.no_select { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +input[type="text"]::-ms-reveal, +input[type="password"]::-ms-reveal, +input[type="text"]::-ms-clear, +input[type="password"]::-ms-clear { + display: none; +} + +.bg_auth { + max-width: 100%; +} + +.__overview_report { + background: #fff; + margin-top: 22px; + border-radius: 18px; + box-shadow: 1px 2px 4px 0 rgb(21 27 38 / 40%); + padding: 30px 0px; + display: flex; + align-items: center; + flex-direction: column; + position: relative; +} + +.__overview_info { + margin-top: 30px; + width: 240px; +} + +.__count_std_completed { + display: flex; + align-items: center; + font-size: 15px; + color: #58595b; + font-weight: bold; +} + +.__count_std_completed h5 { + font-size: 28px; + color: #58595b; + margin-left: 4px; + font-weight: bold; + margin-bottom: 5px; +} + +.__item_note_chart { + display: flex; + align-items: center; +} + +.__item_note_chart .__color_chart { + height: 20px; + width: 32px; +} + +.__item_note_chart .__text_note { + font-size: 16px; + font-weight: bold; + margin-left: 35px; +} + +.__overview_chart { + padding: 8px; + border-radius: 50%; + box-shadow: 1px 2px 4px 0 rgb(21 27 38 / 40%); + height: 162px; + width: 172px; +} + +.__overview_chart .__chart { + position: absolute; + left: 0; + right: 0px; +} + +.btn-edit-class { + display: flex; + align-items: center; +} + +.btn-edit-class img { + margin-right: 10px; +} + +.img-upload .__change_avatar { + display: flex; + align-items: center; + justify-content: center; + position: absolute; + bottom: 0; + left: 0; + right: 0; + background: #000000; + opacity: 0.6; + border-radius: 0px 0px 24px 24px; + height: 63px; + cursor: pointer; +} + +.img-upload .__change_avatar img { + height: 33px; + margin-right: 24px; +} + +.img-upload .__change_avatar p { + font-size: 20px; + line-height: 24px; + color: #ffffff; +} + +.form-sunE-button .btn-update-class { + margin-top: 100px; + padding: 0px 75px; +} + +.__vertical-center { + display: flex; + flex-direction: column; + align-items: center; +} + +.__vertical-center .__action_delete_class { + font-weight: 600; + font-size: 18px; + line-height: 22px; + text-decoration-line: underline; + color: #ef4444; + margin-top: 32px; +} + +.__body_confirm_delete_class { + text-align: center; +} + +.__body_confirm_delete_class .__title_confirm { + font-weight: 600; + font-size: 20px; + line-height: 29px; + color: #000000; +} + +.__body_confirm_delete_class .__message_confirm { + font-weight: 300; + font-size: 18px; + line-height: 22px; + color: #000000; + margin-top: 12px; + margin-bottom: 18px; +} + +.horizontal-item-between { + display: flex; + justify-content: center; + align-items: center; + max-width: 100%; +} + +.__input_note_rollup { + border: none; + width: 60%; + border-radius: 8px; + padding: 5px 10px; + height: 22px; + resize: none; + margin: 0px -10px; +} + +.__input_note_rollup:focus { + outline: none; + background: #f5f5f5; + margin: 0px 0px; +} + +.__input_note_exam_card { + border: none; + width: 90%; + border-radius: 8px; + padding: 5px 10px; + height: 22px; + resize: none; + margin: 0px -10px; +} + +.__input_note_exam_card:focus { + outline: none; + background: #f5f5f5; + margin: 0px 0px; +} + +.diemdanh-list-hs .chk-flex.ab-top-custom { + position: absolute; + top: 8px; + right: 0px; +} + +.diemdanh-list-hs .chk-flex.ab-top-custom .left-10 { + margin-right: 10px; +} + +.__text_remind_max { + margin-top: 8px; + font-style: italic; +} + +.__max_add_schedule { + font-style: italic; + margin: 5px 15px; +} + +.__calendar_log { + margin-right: 16px; +} + +.btn-disable-status { + padding: 0 45px; + height: 40px; + line-height: 37px; + border-radius: 20px; + border: 2px solid #00a69c; + font-size: 16px; + color: #00a69c; + background: #fff; + font-family: "Myriadpro-SemiBold"; + box-sizing: content-box; +} + +.btn-line-blue-status-all { + padding: 0 47px; + height: 44px; + line-height: 37px; + border-radius: 20px; + border: none; + font-size: 16px; + background-image: linear-gradient(to right, #00b9b7, #00e1a0); + color: #fff; + font-family: "Myriadpro-SemiBold"; + min-width: 100px; +} + +.uk-modal-dialog.__modal_confirm_delete_class { + width: 390px; +} + +.uk-modal-dialog { + min-width: 420px; + width: unset; +} + +.__body_class { + display: flex; + justify-content: center; + align-items: center; + height: 50%; +} + +.__body_class .__text_empty_data_home_page { + width: 330px; + font-size: 20px; + font-family: "MyriadPro"; +} + +.__text_empty_curiclum_personal { + font-size: 22px; + font-family: "MyriadPro"; + text-align: center; +} + +.__text_empty_curiclum_personal strong { + color: #404041; +} + +.__semibold { + font-family: "MyriadPro-SemiBold" !important; + color: #404041; + font-size: 22px !important; +} + +.__text_bold_lisence { + font-family: "MyriadPro-SemiBold" !important; + color: #404041; + font-size: 18px !important; +} + +.__fontnormal { + font-family: "MyriadPro" !important; +} + +.__text_empty_tutorial_guide { + color: #707070; + font-size: 20px; + text-align: center; + font-family: "MyriadPro"; +} + +.__horizontal_center { + margin-top: 108px; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + width: 68%; + position: absolute; +} + +.__horizontal_center_over { + width: 100%; +} + +.__horizontal_center .__text_empty, +strong { + font-size: 20px; + color: #707070; + font-family: "MyriadPro-SemiBold"; + margin-top: 20px; + text-align: center; +} + +.tuvung-slider-custom { + padding-bottom: 40px; +} + +.align-items-baseline { + align-items: baseline; +} + +.position-relative { + position: relative; +} + +.__diamond_total { + margin-left: 30px; +} + +.__ico_diamond { + position: absolute; + left: -25px; +} + +.__diamond_number { + padding: 9.5px 15px 9.5px 30px; + background-color: #e0e0e0; + border-top-right-radius: 40px; + border-bottom-right-radius: 40px; +} + +.white-space-nowrap { + white-space: nowrap; +} + +.__custom_percent { + width: 60px; + height: 60px; +} + +.__custom_size_img { + width: 60px; + height: 60px; +} + +.mr-5 { + margin-left: 5px; +} + +.font-family-bold { + font-family: "MyriadPro-Bold" !important; +} + +.justify-content-center { + justify-content: center; +} + +.__top_assess_rank { + bottom: 0; + width: 25px; + height: 25px; +} + +.font-weight-bold { + font-weight: bold; +} + +.horizontal-space-between { + display: flex; + justify-content: space-between; + align-items: center; +} + +.origin-vertical { + display: flex; + flex-direction: column; +} + +.history-curriculum-student-page { + max-height: calc(100vh - 130px); + overflow: auto; + margin-top: 30px; +} + +.listview-history { + background-color: #fff; + box-shadow: 0px 0px 10px #ccc; + border-radius: 10px; + margin-left: 10%; + margin-right: 10%; + min-width: 360px; + margin-top: 20px; +} + +.listview_history_homepage { + min-height: 216px; + border-radius: 30px; +} + +.listview-history .item-history-student { + margin: 10px; + border-bottom: 1px solid #ccc; + padding: 10px; + margin-top: 0px; +} + +.listview-history .item-history-student .view-score { + font-size: 22px; + background-color: #00a69c; + border-radius: 6px; + padding: 0px 15px; + color: #fff; + font-weight: 600; +} + +.color-confirm-success { + color: #00b7b5; +} + +.color-confirm-success-2 { + color: #0b9300; +} + +.color-confirm-danger { + color: #fc9d24; +} + +.view-lession-detail { + padding: 5px 20px; + background-color: #fff; + box-shadow: 0px 0px 10px #ccc; + border-radius: 10px; + margin-left: 10%; + margin-right: 10%; + min-width: 360px; +} + +.mg-top-10 { + margin-top: 10px; +} + +.mr-top-1 { + margin-top: 1rem; +} + +.link-to-url { + color: #00b7b5; + text-decoration: underline; +} + +.master-unit .group-tab-content { + display: flex; + background: #cfcfcf; + border-radius: 30px; + align-items: center; +} + +.master-unit .group-tab-content .tab-item { + padding: 0px 10px; + display: flex; + justify-content: center; + align-items: center; + color: #fff; + font-size: 20px; + font-weight: 700; + height: 50px; + cursor: pointer; +} + +.master-unit .group-tab-content .active { + background: linear-gradient(90deg, #00b9b6 0%, #00e0a1 96.16%); + border-radius: 30px; +} + +.master-unit .group-tab-content .tab-item img { + margin-right: 10px; +} + +.master-unit .listview-unit .item-data { + padding: 10px; + margin: 10px; + background: #ffffff; + box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.25); + border-radius: 20px; +} + +.master-unit .listview-unit .item-data .item-body { + border-bottom: 1px solid #787878; + padding-bottom: 10px; + margin-bottom: 16px; +} + +.master-unit .listview-unit .item-data .item-body .type-lesstion { + height: 40px; + border-radius: 20px; + font-weight: 700; + font-size: 20px; + line-height: 24px; + padding: 8px 24px; + color: #ffffff; +} + +.master-unit .listview-unit .item-data .item-body .improvement { + background: #f084ad; +} + +.master-unit .listview-unit .item-data .item-body .user_looking_back { + background: #978bf4; +} + +.master-unit .listview-unit .item-data .item-body .status-lesstion { + border: 1px dashed #bc202e; + transform: rotate(2.98deg); + font-weight: 700; + font-size: 24px; + line-height: 29px; + color: #bc202e; + padding: 6px 24px; + text-transform: uppercase; +} + +.master-unit .listview-unit .item-data .item-body .fail { + border: 1px dashed #bc202e; + color: #bc202e; +} + +.master-unit .listview-unit .item-data .item-body .pass { + border: 1px dashed #37b34a; + color: #37b34a; +} + +.mg-left-10 { + margin-left: 10px; +} + +.master-unit .listview-unit .item-data .score { + color: #ad0a22; + font-size: 18px; + line-height: 22px; + font-family: "Myriadpro-Bold"; +} + +.master-unit .listview-unit { + margin-top: 20px; + height: calc(100vh - 180px); + overflow: auto; +} + +.master-unit .listview-unit .item-data .item-footer { + padding: 0px 10px; +} + +.listview-unit .text-empty { + font-weight: 700; + font-size: 32px; + line-height: 38px; + text-align: center; + margin-top: 30px; + color: #414042; +} + +.btn-size-sm { + min-width: 125px; +} + +.space-around-content { + justify-content: space-around; +} + +.popup-filter-select-date input { + text-align: center; +} + +.box-content-writing-study-guide { + background: #fff; + border-radius: 20px; + margin: 0 0 30px 20px; + cursor: pointer; + box-sizing: border-box; + padding: 15px; + width: 100%; +} + +.box-content-study-guide { + border-radius: 20px; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + box-sizing: border-box; + padding: 15px; + width: 100%; +} + +.content-study-guide { + max-height: calc(100vh - 410px); + max-width: 100%; +} + +.quantity_from_teacher_choose { + display: flex; + justify-content: center; + align-items: center; + top: -14px; + text-align: center; + right: 0; + color: #ffffff; + background: red; + border-radius: 50%; + min-width: 30px; + height: 30px; + font-family: "MyriadPro"; + padding-top: 5px; +} + +/* Home Page Student */ +.homepage-teacher .sunE-box-slider .slick-dots li button:before { + /* content: "\22C5" !important; + font-size: 115px !important; */ + top: -10px !important; +} + +.version-app { + font-size: 14px; + color: #565656 +} + +.manage-linking-container { + margin-top: 50px; + width: 100%; + display: flex; + justify-content: center; +} + +.manage-linking-btn { + height: 40px; + width: 200px; + border-radius: 20px; + padding: 0; +} + +.manage-linking-btn a { + font-size: 16px; + font-weight: 600; + height: 100%; + width: 100%; + display: flex; + align-items: center; + justify-content: center; +} + +.content-text-has-link a { + color: #00CC83 !important; + /* text-decoration: underline; */ +} + +.title-dot::before { + content: "•"; + color: red; + padding-right: .5em; + font-size: 1.7rem; +} + +.content-dot::before { + content: "•"; + color: #000; + padding-right: .5em; + font-size: 1.2rem; +} + +.profile-input-select { + width: 33%; +} + +.profile-input-select input { + width: 100% !important; + font-size: 16px !important; + text-overflow: ellipsis; +} + +.profile-input-select .icon_label { + width: 20px !important; + margin-right: 12px !important; +} + +.text-view-detail-entrance { + text-decoration: underline; + font-size: 16px; + color: #F29500; + padding-top: 10px; + margin-right: 16px; + cursor: pointer; +} + +.text-view-detail-entrance:hover { + opacity: 0.4; +} + +#keepReviewPersonal[type="checkbox"] { + accent-color: #00a69c !important; + } + +.container-page-header { + height: calc(100vh - var(--height-header)); + overflow: auto; +} + +.container-page-sidebar { + width: calc(100vw - var(--width-sidebar)); + overflow: auto; +} + +.root-alert { + border-radius: 16px; + display: flex; + flex-direction: column; + align-items: center; + gap: 2.4rem; +} diff --git a/public/assets/css/button.css b/public/assets/css/button.css new file mode 100644 index 0000000..5a70715 --- /dev/null +++ b/public/assets/css/button.css @@ -0,0 +1,75 @@ +.btn-line-blue{ + padding: 0 25px; + height: 40px; + border-radius: 20px; + border: none; + background-image: linear-gradient(to right, #00b9b7 , #00e1a0); + font-size: 16px; + line-height: 40px; + color: #fff; + /* transition: 0.8s; */ + font-family: 'Myriadpro-SemiBold'; + /* min-width: 100px; */ +} + +.btn-line-blue.border-transparent{ + border: 2px solid transparent; +} +.btn-line-blue:hover{ + /* background-image: linear-gradient(to top, #00b9b7 , #00e1a0); */ + transition: 0s; + background: #00C0B4; + color: #ffffff; +} +.btn-custom-hei{ + height: 36px; + line-height: 36px; + border-radius: 18px; +} +.btn-line-blue.btn-p35{ + padding: 0 35px; +} + +.btn-primary { + padding: 0 32px; + height: 40px; + border-radius: 20px; + border: none; + font-size: 16px; + color: #fff; + font-family: 'Myriadpro-SemiBold'; + background-color: var(--button-bg-color); + display: flex; + justify-content: center; + align-items: center; + min-width: 168px; + white-space: nowrap; +} + +.btn-primary:hover { + background-color: #c07a05; +} + +@media screen and (max-height: 700px) { + .btn-line-blue { + padding: 0 15px; + height: 32px; + line-height: 32px; + border-radius: 16px; + border: none; + font-size: 14px; + background-image: linear-gradient(to right, #00e1a0 , #00b9b7); + color: #fff; + /* transition: 0.8s; */ + font-family: 'Myriadpro-SemiBold'; + /* min-width: 80px; */ + } + .btn-line-blue.btn-p35{ + padding: 0 25px; + } + + .btn-primary { + height: 32px; + min-width: 150px; + } +} \ No newline at end of file diff --git a/public/assets/css/change_password.css b/public/assets/css/change_password.css new file mode 100644 index 0000000..cd90d3b --- /dev/null +++ b/public/assets/css/change_password.css @@ -0,0 +1,114 @@ +.header-change-password { + height: 20vh; + background-image: linear-gradient(to right, #03c6b8, #009393); + display: flex; + align-items: center; + min-height: 175px; +} + +.header-change-password .logo { + width: 220px; + margin-left: 50px; +} + +.header-change-password .logo img { + width: 100%; + object-fit: cover; +} + +.change-password-container { + background: #e6e7e9; + display: flex; + flex-wrap: wrap; + justify-content: center; + padding: 50px 20px; + height: 80vh; + min-height: 500px; +} + +.form-change-password { + box-shadow: 0 1px 15px 0 rgba(21, 27, 38, .15); + background: #ffffff; + border: 0; + border-radius: 20px; + text-align: center; + width: 100%; + max-width: 750px; + max-height: 400px; +} + +.form-change-password h2.title { + font-size: 18px; + color: #000000; + margin-top: 20px; + font-weight: 700; +} + +.form-change-password form { + margin: 20px; + display: flex; + flex-wrap: wrap; + flex-direction: row; + justify-content: center; +} + +.form-change-password-input { + margin: 0 10px 15px 10px; + width: 100%; + max-width: 350px; +} + +.form-change-password-input input { + height: 60px; + width: 100%; + line-height: 60px; + font-size: 18px; + box-sizing: border-box; + padding-left: 30px; + border-radius: 20px; + background: #e6e7e9; + border: 0; + outline: none; +} + +.form-change-password-input.err input { + border: solid 1px #e22028; +} + +.form-change-password-input button { + height: 60px; + width: 100%; + line-height: 60px; + font-size: 18px; + color: #ffffff; + font-weight: 700; + text-align: center; + border: 0; + border-radius: 20px; + outline: none; + background: #00b8b6; +} + +.form-change-password-input .ico_input_right { + position: absolute; + top: 18px; + right: 20px; +} + +.form-change-password-input .error-help { + margin-top: 10px; +} + +.form-change-password-input.err .error-help img { + position: absolute; + top: 0; + left: 0; +} + +.form-change-password-input.err .error-help p { + font-size: 18px; + color: #e22028; + line-height: 31px; + margin: 0; + padding: 0 0 0 40px; +} \ No newline at end of file diff --git a/public/assets/css/input.css b/public/assets/css/input.css new file mode 100644 index 0000000..520836d --- /dev/null +++ b/public/assets/css/input.css @@ -0,0 +1,194 @@ +.form-sunE-input { + margin: 20px 0 0; +} + +.form-sunE-input input { + height: 44px; + width: 100%; + line-height: 44px; + font-size: 16px; + box-sizing: border-box; + padding-left: 60px; + border-radius: 22px; + outline: none; + border: 2px solid #fff; + box-shadow: 0 1px 8px 0 rgba(21, 27, 38, 0.15); +} +.form-sunE-input .ico_input { + position: absolute; + top: 7px; + left: 15px; + z-index: 1; +} +.width-22 { + width: 22px; +} + +.form-sunE-input .ico_phone { + left: 18px; +} +.form-sunE-input .ico_top_3 { + top: 3px; +} + +.form-sunE-input.ico_left_custom input { + padding-left: 60px; +} + +.checkbox-gr input { + margin: -3px 5px 0 0; + width: 16px; + height: 16px; + border: 1px solid #00b9b7; + font-size: 16px; +} + +.err input { + border-color: #e22028; +} + +.select-hidden { + display: none; + visibility: hidden; + padding-right: 10px; +} + +.select { + cursor: pointer; + display: inline-block; + position: relative; + font-size: 16px; + color: #fff; + width: 100%; + height: 48px; + line-height: 48px; + border-radius: 24px; + border: none; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); +} + +.select-styled { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + width: 100%; + height: 48px; + line-height: 48px; + border: none; + /* transition: all 0.2s ease-in; */ + border-radius: 24px; + color: #fff; + font-size: 16px; + text-align: center; + font-family: "Myriadpro-Bold"; + z-index: 10; + display: flex; +} + +.select-styled:after { + content: ""; + width: 32px; + height: 32px; + background: url("./../images/icon/ico_dropdown_border_white.png") 98% / 32px + no-repeat transparent; + position: absolute; + top: 8px; + right: 10px; +} +.select-styled.active:after { + border-color: transparent transparent #fff transparent; +} +.select-options { + display: none; + position: absolute; + padding: 24px 40px 0; + top: 24px; + right: 0; + left: 0; + z-index: 9; + margin: 0; + list-style: none; + background-color: #fff; + border-radius: 24px; + border-top-right-radius: 0; + border-top-left-radius: 0; + border: none; + box-shadow: 0 1px 15px 0 rgba(21, 27, 38, 0.15); + max-height: calc(100vh - 100px); + overflow: auto; +} +.select-options li { + margin: 0; + text-indent: 15px; + transition: all 0.15s ease-in; + border-bottom: 1px solid #000; + text-align: center; + display: flex; +} +.select-options li:last-child { + border-bottom: none; +} +.select-options li[rel="hide"] { + display: none; +} + +.select-options.left li { + text-align: left; +} +.select .image-selected { + margin-right: 1rem; +} +.select .image-option { + width: 30px; + height: 30px; + border-radius: 100%; + align-self: center; + display: flex; + border: 1px solid var(--primary-green); +} + +.select .image-option.image-option-logo { + border: 1px solid var(--light-yellow); +} + +.select .image-option img { + width: 26px; + height: 18px; + object-fit: contain; + margin: auto; +} + +@media screen and (max-height: 700px) { + .select { + font-size: 13px; + height: 32px; + line-height: 32px; + border-radius: 16px; + } + + .select-styled { + height: 32px; + line-height: 32px; + border-radius: 16px; + font-size: 14px; + } + + .select-styled:after { + content: ""; + width: 26px; + height: 26px; + top: 4px; + right: 5px; + background: url(./../images/icon/ico_dropdown_border_white.png) 96% / 26px + no-repeat transparent; + } + .select-options { + padding: 32px 32px 0; + top: 0; + border-radius: 18px; + max-height: calc(100vh - 90px); + } +} diff --git a/public/assets/css/responsive.css b/public/assets/css/responsive.css new file mode 100644 index 0000000..979d55f --- /dev/null +++ b/public/assets/css/responsive.css @@ -0,0 +1,5630 @@ +@media screen and (max-height: 800px) { + /*RESET CSS*/ + html, + body, + div, + span, + object, + iframe, + h1, + h2, + h3, + h4, + h5, + h6, + p, + blockquote, + pre, + abbr, + address, + cite, + code, + del, + dfn, + em, + img, + ins, + kbd, + q, + samp, + small, + strong, + sub, + sup, + var, + b, + i, + dl, + dt, + dd, + ol, + ul, + li, + fieldset, + form, + label, + legend, + table, + caption, + tbody, + tfoot, + thead, + tr, + th, + td, + article, + aside, + canvas, + details, + figcaption, + figure, + footer, + header, + hgroup, + menu, + nav, + section, + summary, + time, + mark, + audio, + video { + /* font-size: 16px; */ + } + + .sunE-container { + width: 100%; + height: auto; + /* max-width: 1200px; */ + margin: 0 auto; + /* padding: 0; */ + } + + .homepage-teacher.sunE-container-box { + padding: 10px 20px 0px; + } + + .list-menu-i a.menu-item { + font-size: 14px; + color: #404041; + line-height: 34px; + align-items: center; + padding: 10px 0 10px 32px; + text-decoration: none; + margin: 8px 0; + } + + .list-menu-i .menu-img { + width: 60px; + max-height: 32px; + } + + .list-menu-i .menu-img img { + width: 30px; + } + + .list-menu-i a.menu-item span { + font-size: 14px; + color: #404041; + } + + .sunE-sidebar { + width: 255px; + } + + .plan-item-content p { + font-size: 14px; + } + + .btn-plan-item { + width: 21px; + } + + .his img { + width: 27px; + } + + .plan-item-content p.text-light { + padding: 0 0 0 10px; + } + + .slider-custom-2 .slick-arrow.slick-prev { + left: -10px; + } + + /* Slider for student homepage */ + + .slider_homepage_student .slider-custom-student { + /* margin-bottom: 1.1rem !important; */ + } + + .slider-custom-student .slick-arrow.slick-prev { + left: 33px; + } + + .slider-custom-2 .slick-next, + .slider-custom-2 .slick-prev { + width: 42px; + height: auto; + } + + .slider-custom-2 .slick-arrow { + background: #00bbb6; + padding: 12px 14px; + position: absolute; + border-radius: 12px; + border: none; + z-index: 9; + text-align: center; + } + + .item-top-title-main p { + text-align: center; + font-size: 17px; + padding: 0; + color: #fff; + font-family: "Myriadpro-SemiBold"; + } + + .slick-dots li button:before { + font-size: 7px; + line-height: 17px; + position: absolute; + top: 0; + left: 0; + width: 14px; + height: 14px; + content: "•"; + text-align: center; + opacity: 0.25; + color: #000; + } + + .slider-custom-2 .slick-dots li button:before { + font-size: 14px; + color: #00a79d; + } + + .slider-item-content .img-thumb { + margin: 12px; + width: 237px; + height: 210px; + border-radius: 12px; + overflow: hidden; + } + + .slider-custom-2 .slider-item-content { + margin: 12px; + padding: 6px 13px; + } + + /* For Student */ + .slider-custom-student .slider-item-content { + margin: 12px; + padding: 6px 9px; + } + + .slider-custom-student .slider_student_wrapper .slider-item-content { + margin-top: 0.75rem !important; + margin-bottom: 0.6rem !important; + } + + .slider-item-desc .item-top-title-main { + margin: 12px 0; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + padding: 12px 24px; + border-radius: 30px; + max-height: 66px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + margin-bottom: 25px; + } + + .edit-plan-box .btn p { + font-size: 14px; + line-height: 14px; + } + + .edit-plan-box .btn img { + width: 24px; + } + + .sunE-right-container { + width: 100%; + height: 100vh; + overflow: auto; + padding: 36px 16px 10px 16px; + } + + .sunE-container-box.diemdanh { + padding: 20px 0 10px; + } + + .sunE-container-box { + padding: 24px 12px 12px; + } + + .orange span, + .red span, + .success-text span { + line-height: 27px; + } + + .chart-content canvas { + margin-left: 0; + } + + .sunE-plan-list { + max-height: 330px; + overflow: auto; + padding-right: 9px; + } + + .no-plan img { + width: 243px; + } + + .no-plan h2 { + font-family: "Myriadpro-SemiBold"; + font-size: 21px; + padding: 0; + margin: 0; + color: #00a79d; + } + + .dtb-sum-slider { + bottom: -45px; + } + + .dtb-sum-slider .w { + width: 168px; + } + + .slider-custom-2 .dtb-sum-slider .w { + width: 194px; + } + + .img-check-calendar { + top: -1px; + right: -6px; + width: 16px; + } + + .class-box .class-box-img { + width: 127px; + height: 103px; + } + + .title-line-blue { + font-size: 17px; + line-height: 21px; + padding: 7px; + text-align: center; + border-radius: 17px; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + } + + .two-line { + max-height: 53px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + } + + .class-box-desc p, + .class-box-desc span { + font-size: 15px; + } + + .class-box-desc span.class-online, + .class-box-desc span.class-offline { + font-size: 18px; + font-family: "Myriadpro-SemiBold"; + } + + .sunE-main-title h1 { + font-size: 28px; + line-height: 38px; + padding-left: 7px; + } + + .sunE-main-title .line-h { + display: block; + width: 3px; + height: 35px; + background: #00bbb5; + border-radius: 2px; + border: none; + } + + .sunE-class-list { + padding-right: 17px; + max-height: calc(100vh - 190px); + padding-bottom: 28px; + overflow: auto; + } + + .class-index-box .class-index-box-img { + width: 244px; + height: 234px; + } + + .class-index-box { + box-sizing: border-box; + padding: 13px; + border-radius: 17px; + background: #fff; + display: inline-block; + width: 100%; + } + + .info-gr .info-img { + width: 28px; + } + + .info-gr { + margin: 11px 0 0; + } + + .info-gr img { + height: 18px; + cursor: pointer; + } + + .info-gr .info-con p { + font-size: 15px; + font-family: "Myriadpro-Light"; + line-height: 26px; + } + + .class-select-box { + padding: 17px 0px 0; + display: inline-block; + width: 140px; + height: 140px; + background: #fff; + margin: 0 6px; + border-radius: 12px; + border: none; + cursor: pointer; + box-sizing: border-box; + overflow: hidden; + } + + .class-select-box .select-img { + height: 78px; + } + + .class-select-box img { + height: 100%; + } + + .class-select-box p { + font-size: 15px; + padding: 9px 0 0; + margin: 0; + } + + .box-giaotrinh-gr.hei-custom.edit { + height: 130px; + padding: 0 13px 0 28px; + margin: 0 0 17px 0; + } + + .box-select-info p { + color: #221f1f; + font-size: 17px; + line-height: 21px; + } + + .box-select-info span { + font-size: 15px; + } + + .box-select-file-full { + flex: 1; + } + + .box-select-file-full p { + flex: 1; + text-align: left; + } + + .gtcn-menu-gr span { + font-size: 21px; + margin-right: 26px; + } + + .box-giaotrinh-gr.hei-custom { + height: 80px; + } + + .box-giaotrinh-gr .thumb { + position: absolute; + top: -5px; + left: -26px; + display: flex; + justify-content: center; + align-items: center; + background: #fff; + border: 3px solid #fff; + border-radius: 50%; + width: 65px; + height: 65px; + box-shadow: 0 1px 8px 0 rgb(21 27 38 / 24%); + } + + .box-giaotrinh-gr .thumb3 { + position: absolute; + top: -5px; + left: -26px; + display: flex; + justify-content: center; + align-items: center; + background: #ccedeb; + border: 3px solid #fff; + border-radius: 50%; + width: 65px; + height: 65px; + box-shadow: 0 1px 8px 0 rgb(21 27 38 / 24%); + } + + .box-giaotrinh-gr .thumb img { + width: 45px; + height: 45px; + object-fit: contain; + } + + .box-giaotrinh-gr .thumb3 img { + width: 35px; + height: 35px; + object-fit: contain; + } + + .box-giaotrinh-gr .thumb2 { + width: 75px; + height: 75px; + } + + .box-giaotrinh-gr.hei-custom .thumb { + top: 13px; + } + + .box-giaotrinh-gr.hei-custom .thumb3 { + top: 13px; + } + + .gt_list_hei { + max-height: calc(100vh - 280px); + padding: 0 13px; + overflow: auto; + } + + .btn-user-add img, + .btn-user-share img { + width: 37px; + } + + .sunE-title-medium { + font-size: 18px; + margin: 0; + padding: 0 0 17px; + } + + .sunE-right-container.add_student_container { + padding: 35px 16px 0 16px; + } + + .add_student { + height: calc(100vh - 103px); + width: 100%; + } + + .sunE-no-student .add_code_student-gr { + top: 480px; + } + + .add_code_student-gr { + width: 368px; + position: absolute; + left: 50%; + top: 510px; + transform: translate(-50%, -50%); + } + + .sunE-input-border-blue-gr input { + height: 37px; + border: 1px solid #399098; + border-radius: 18px; + padding: 0 41px; + } + + .sunE-input-border-blue-gr .ico_input { + position: absolute; + /* top: 7px; */ + /* left: 11px; */ + width: 28px; + } + + .btn-filter button { + padding: 0 30px 0 40px; + } + + .btn-filter img { + position: absolute; + top: 10px; + left: 24px; + width: 17px; + } + + .sunE-giaotrinh-item .img { + width: 104px; + height: 95px; + } + + .sunE-giaotrinh-item .content { + padding-left: 17px; + padding-top: 8px; + } + + .sunE-giaotrinh-item .content h2.title { + font-size: 16px; + line-height: 20px; + } + + h2.title { + font-family: "Myriadpro-Bold"; + font-size: 16px; + } + + .sunE-giaotrinh-item .content h3.desc { + font-size: 16px; + line-height: 20px; + margin: 0 0 8px; + } + + .sunE-giaotrinh-item .content .easy, + .sunE-giaotrinh-item .content .hard, + .sunE-giaotrinh-item .content .medium, + .sunE-giaotrinh-item .content .normal { + padding: 3px 8px; + } + + .lb-dc-gr .lb { + margin-right: 8px; + } + + .lb-dc-gr span { + color: #fff; + font-size: 14px; + padding: 4px 13px; + border-radius: 12px; + line-height: 18px; + } + + .topic { + background: #fff; + padding: 26px 18px; + border-radius: 18px; + margin: 0 0 13px; + } + + .cb-score-gr p { + font-size: 15px; + margin: 0 0 8px; + } + + .cb-score-gr span { + font-size: 28px; + font-family: "Myriadpro-Bold"; + color: #00a69c; + } + + .item-student .item-student-img { + width: 61px; + height: 61px; + border-radius: 31px; + } + + .list-detail .item-student { + background: #fff; + border-radius: 18px; + padding: 8px 8px 8px 26px; + margin: 0 0 8px 47px; + min-height: 90px; + } + + .list-detail .item-student-img { + position: absolute; + top: 10px; + left: -41px; + width: 73px; + height: 73px; + border-radius: 37px; + overflow: hidden; + } + + .item-student-name h2 { + font-size: 16px; + line-height: 18px; + margin: 12px 0 12px; + } + + .list-detail .item-student .item-student-name span { + font-size: 16px; + line-height: 32px; + } + + .list-detail .item-student .item-student-name img { + width: 32px; + } + + .box-title-bg { + border-radius: 21px; + height: 37px; + } + + .box-title-bg p { + font-size: 20px; + /* line-height: 42px; */ + } + + .box-criteria-score-title p { + font-size: 16px; + padding-left: 13px; + } + + .box-criteria-comment h2 { + font-size: 21px; + padding-left: 30px; + margin: 0 0 6px; + } + + .box-criteria-comment textarea { + padding: 13px 13px 8px 26px; + border-radius: 18px; + resize: none; + width: 100%; + height: 200px; + } + + .post-content { + background: #fff; + padding: 26px 18px; + border-radius: 18px; + margin: 0; + } + + .title-post-box { + font-size: 21px; + line-height: 35px; + } + + .btn-mark { + height: 35px; + line-height: 35px; + padding: 0 0 0 18px; + box-sizing: border-box; + border-radius: 20px; + border: none; + cursor: pointer; + margin: 0 8px 0 0; + } + + .btn-mark p { + font-size: 16px; + padding: 0 30px; + } + + .btn-mark img { + width: 32px; + } + + .btn-help { + height: 35px; + line-height: 35px; + border-radius: 20px; + border: none; + cursor: pointer; + padding: 0 26px; + } + + .btn-help img { + width: 16px; + } + + .chambai.writing { + margin: 0 0 13px; + } + + .post-content .content-box-edit { + padding: 13px 13px 8px 30px; + border-radius: 18px; + resize: none; + width: 100%; + font-size: 15px; + height: 170px; + overflow: auto; + } + + .popup-tag { + padding: 8px; + font-size: 18px; + } + + .sunE-giaobai-list { + padding: 18px 26px; + border-radius: 18px; + max-height: calc(100vh - 190px); + margin: 0 0 5px; + } + + .bg_no_gb { + width: 340px; + } + + .sunE-giaotrinh-item .content p, + .sunE-giaotrinh-item .content span { + font-size: 16px; + line-height: 21px; + margin: 0 0 8px; + } + + .wh27 { + width: 23px; + height: 23px; + } + + .btn-setting img { + top: 7px; + left: 17px; + width: 25px; + } + + .box-info-giaobai { + background: #fff; + padding: 24px 18px; + border-radius: 18px; + } + + .box-info-giaobai h3.desc { + font-size: 16px; + line-height: 21px; + margin: 0 0 26px; + } + + .box-info-giaobai p { + font-size: 15px; + line-height: 21px; + margin: 0 0 8px; + } + + .sunE-container-box.giaobai-ganday { + padding: 23px 18px 0; + } + + .list-giaobai.chualam { + max-height: calc(100vh - 260px); + } + + .item-student .stt { + line-height: 61px; + font-size: 15px; + width: 26px; + } + + .btn-check-gr { + padding-top: 15px; + } + + .f20 { + font-size: 18px !important; + } + + .sunE-input-group label { + display: block; + margin: 0; + padding: 0 0 8px; + font-size: 18px; + color: #000; + } + + .select-gr select { + width: 37px; + height: 47px; + border-radius: 12px; + font-size: 15px; + } + + .check-box-gr label { + font-size: 15px; + } + + .datlichnhac-input-gr .left, + .datlichnhac-input-gr .right { + font-size: 15px; + } + + .datlichnhac-input-gr input.dln-mins { + height: 37px; + outline: none; + border: none; + border-radius: 18px; + padding: 6px 18px; + box-shadow: 0 1px 6px 0 rgb(21 27 38 / 15%); + box-sizing: border-box; + text-align: center; + font-size: 15px; + } + + input.dln-mins::-webkit-outer-spin-button, + input.dln-mins::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } + + .nhacnho-content .datlichnhac-input-gr input.dln-mins { + width: 71px; + } + + .err-nhacnho img { + margin: 13px 0 0; + } + + .nhacnho-content textarea { + height: 75px; + border-radius: 18px; + padding: 9px 18px; + font-size: 15px; + } + + .check-date-time-week { + width: 380px; + height: 37px; + background: #fff; + border-radius: 18px; + padding: 0 13px; + } + + .check-date-time-week img { + width: 12px; + } + + .check-date-time-week p { + font-size: 17px; + line-height: 37px; + } + + .student-list-container { + width: 330px; + } + + .tong-hs { + line-height: 21px; + font-size: 16px; + font-family: "Myriadpro-SemiBold"; + margin: 0 0 18px; + } + + .text-title-blue { + font-size: 16px; + } + + .box-chart p { + font-size: 16px; + } + + .dtb-sum .w { + width: 266px; + } + + .bdg-sum .w { + width: 248px; + } + + .f-24 { + font-size: 21px; + } + + .sunE-title-medium-p { + font-size: 16px; + line-height: 16px; + margin: 0 0 13px; + } + + .custom-list-student { + padding: 18px; + border-radius: 18px; + } + + .bcht .list-student { + max-height: calc(100vh - 260px); + } + + .student-info { + width: 300px; + margin-right: 18px; + } + + .student-info .avt-i { + width: 156px; + height: 156px; + border-radius: 78px; + border: 2px solid #e7ae38; + margin: 0 auto 18px; + } + + .student-info .name { + font-size: 21px; + margin: 0 0 12px; + } + + .email-gr img { + width: 20px; + } + + .email-gr p { + font-size: 16px; + line-height: 22px; + max-width: 200px; + } + + .box-bcht-top h2 { + font-size: 16px; + line-height: 37px; + } + + .btn-history-bcht { + border: 2px solid #00b9b7; + line-height: 33px; + height: 37px; + border-radius: 18px; + padding: 0 30px; + font-size: 16px; + } + + .title-info { + border-radius: 18px; + height: 37px; + padding-left: 18px; + } + + .title-info p { + line-height: 37px; + font-size: 16px; + } + + .score-info { + border-radius: 18px; + height: 37px; + width: 73px; + } + + .score-info p { + line-height: 37px; + font-size: 16px; + } + + .title-info.dtb-title p { + line-height: 18px; + font-size: 16px; + } + + .bcht { + padding: 20px 0 0; + } + + .box-bcht-date-custom-hei.box-bcht { + padding: 0; + width: 436px; + } + + .box-bcht-date-custom-hei .calendar .week-cell, + .box-bcht-date-custom-hei .calendar .day-cell { + flex-grow: 0; + flex-shrink: 0; + flex-basis: calc(100% / 7 - 22px); + display: flex; + justify-content: center; + align-items: center; + height: 35px; + width: 35px; + cursor: pointer; + margin: 5px 0px; + } + + .box-bcht.box-bcht-date-custom-hei .calendar .week-cell, + .box-bcht.box-bcht-date-custom-hei .calendar .day-cell { + flex-basis: calc(100% / 7 - 27px); + margin: 5px 0px; + } + + .collapse.showMonth .calendar { + height: 160px; + } + + .fullHeight.showMonth .calendar { + height: auto; + } + + .item-student-name p { + font-size: 15px; + } + + .item-student-name.max-w-1 p { + max-width: 160px; + } + + .score-tb-student span { + width: 75px; + height: 40px; + line-height: 40px; + font-size: 21px; + } + + .top p { + font-size: 18px; + } + + .vinhdanh-item img.vinhdanh-bg { + width: 168px; + } + + .avt-vd { + width: 94px; + height: 94px; + border-radius: 47px; + border: 2px solid #e9af38; + margin: 18px auto 0; + } + + .name-vd { + padding: 0 18px; + line-height: 32px; + font-size: 16px; + color: #fff; + border-radius: 18px; + position: absolute; + top: 94px; + left: 50%; + transform: translate(-50%, 0); + } + + .vd-info { + bottom: 9px; + font-size: 16px; + } + + .vinhdanh-content { + padding: 24px 0 0; + } + + .diemdanh-no-item img { + width: 363px; + } + + .diemdanh-no-item p { + font-size: 21px; + } + + .btn-create-diemdanh img { + width: 18px; + top: 10px; + } + + .btn-create-diemdanh button { + padding: 0 18px 0 47px; + } + + .medium-title { + font-size: 16px; + } + + .menu-gr-right input[type="text"].btn { + height: 42px; + border-radius: 21px; + font-size: 16px; + line-height: 42px; + padding: 0 28px; + } + + .btn-ob.select { + font-size: 16px; + height: 42px; + line-height: 42px; + border-radius: 21px; + } + + .btn-ob .select-styled { + border-radius: 21px; + font-size: 16px; + line-height: 42px; + height: 42px; + padding: 0 28px; + } + + .btn-ob .select-styled:after { + content: ""; + width: 21px; + height: 12px; + top: 16px; + right: 9px; + background: url(./../images/teacher/diemdanh/ico_dropdown_blue.png) 90% / + 21px no-repeat transparent; + } + + .btn-ob .select-styled.active:after { + background: url(./../images/teacher/diemdanh/ico_dropup_blue.png) 90% / 21px + no-repeat transparent; + } + + .btn-ob .select-options { + padding: 21px 22px 0; + } + + .btn-ob .select-options li { + text-indent: 21px; + } + + .menu-gr-right .react-datepicker-wrapper input[type="text"] { + height: 42px; + border-radius: 21px; + font-size: 16px; + line-height: 42px; + padding: 0 28px; + } + + .box-select-gr { + border-radius: 18px; + padding: 26px 0 26px 30px; + margin: 0 0 13px 18px; + } + + .box-select-gr .thumb { + position: absolute; + top: -3px; + left: -26px; + border: 5px solid #fff; + width: 92px; + height: 92px; + } + + .box-select-info h2 { + font-size: 16px; + line-height: 18px; + } + + .box-giaotrinh-gr { + border-radius: 18px; + height: 56px; + margin: 0 0 26px 18px; + padding: 0 13px 0 56px; + } + + .custom-select-no-bg .select-styled { + padding-left: 56px; + } + + .custom-select-no-bg .select-styled { + height: 37px; + border-radius: 18px; + font-size: 15px; + padding-right: 37px; + line-height: 37px; + /* background: url(./../images/icon/ico_dropdown_s.png) 96% / 18px no-repeat + #fff; */ + } + + .custom-select-no-bg .select { + font-size: 15px; + width: 100%; + height: 37px; + line-height: 37px; + border-radius: 19px; + } + + .btn-bar img { + height: 37px; + } + + .sunE-container-box.giaotrinh.unit { + padding: 0 18px; + } + + .sunE-unit-item h2 { + font-size: 20px; + } + + .sunE-unit-item p { + font-size: 15px; + } + + .img-bg-x { + width: 163px; + height: 250px; + background-size: 100%; + margin: auto; + } + + .img-bg-x .__avt_unit { + margin-top: 35px; + margin-left: -5px; + } + + .__way_map { + position: absolute; + transform: translate(75%, 115%); + } + + .__way_map_down { + position: absolute; + transform: translate(65%, 190%); + } + + .border-dash-map-down { + top: 238px; + } + + .border-dash-map-up { + top: 250px; + } + + .sunE-unit-item .h-287 { + height: 250px; + } + + .giaotrinh.unit .unit-list .box-giaotrinh-gr { + border-radius: 30px; + height: 47px; + } + + .btn-more-info { + width: 37px; + height: 37px; + border-radius: 19px; + right: 7px; + top: 5px; + } + + .btn-more-info img { + width: 13px; + } + + .btn-more-info .show_ { + margin: 16px 0 0 1px; + width: 9px; + } + + .info-item-desc h2 { + font-size: 15px; + line-height: 18px; + } + + .sunE-giaotrinh-resuft-filter { + padding: 18px 28px; + border-radius: 18px; + max-height: calc(100vh - 250px); + } + + .chk-custom-gr label:before { + padding: 10px; + margin-right: 9px; + border-radius: 2px; + margin-top: -1px; + } + + .chk-custom-gr input:checked + label:after { + top: -8px; + left: 10px; + width: 6px; + height: 18px; + } + + .sunE-giaotrinh-item .chk-gr .chk-custom-gr label:before { + margin-top: -10px; + } + + .sunE-giaotrinh-resuft-filter.box-shadow.scrollbar-custom.flex-1 + .sunE-giaotrinh-item + .chk-gr + .chk-custom-gr + label:before { + margin-top: -5px; + } + + .select-all .wh20.chk-custom-gr input:checked + label:after { + top: -5px; + } + + /* Check box select all */ + .checbox-right .wh20.check-select-student input:checked + label:after { + top: -8px; + } + + .btn-create-taomoi button, + .btn-create-datlai button { + padding: 0 30px 0 56px; + } + + .btn-create-taomoi img { + left: 13px; + top: 9px; + width: 21px; + } + + .class-box-desc .title-line-blue { + margin: 0 0 12px; + } + + .box-btn { + width: 28px; + height: 28px; + } + + .ico_ring-res-7 { + width: 16px; + } + + .ico_message-res-7 { + width: 17px; + } + + .reng { + width: 9px; + height: 9px; + border-radius: 5px; + bottom: 0; + right: 0; + } + + .tn-menu-item p { + font-size: 16px; + } + + .tinnhan-item h2 { + font-size: 16px; + line-height: 16px; + margin: 0 0 7px; + } + + .tinnhan-item span { + font-size: 12px; + } + + .tinnhan-item p.mes-info { + font-size: 16px; + line-height: 21px; + max-height: 64px; + } + + .mex-info-box p { + font-size: 16px; + } + + .mes-box-send { + height: 46px; + line-height: 25px; + font-size: 15px; + padding: 9px 18px 9px 18px; + border-top-left-radius: 23px; + border-bottom-left-radius: 23px; + } + + .box-btn-send { + height: 46px; + width: 46px; + border-top-right-radius: 23px; + border-bottom-right-radius: 23px; + } + + .send-mes img { + width: 23px; + } + + .search-gr-p { + height: 46px; + box-sizing: border-box; + margin: 17px 0 7px; + } + + .select-message.select { + font-size: 16px; + width: 175px; + height: 42px; + line-height: 42px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + .select-message .select-styled { + font-size: 16px; + width: 175px; + height: 42px; + line-height: 42px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + .search-custom { + width: 350px; + height: 42px; + line-height: 42px; + padding: 0 40px 0 21px; + font-size: 18px; + font-family: "Myriadpro-Regular"; + box-sizing: border-box; + border: none; + text-align: center; + border-top-right-radius: 21px; + border-bottom-right-radius: 21px; + outline: none; + } + + .icon_search { + position: absolute; + right: 13px; + top: 12px; + width: 21px; + } + + ._line_box { + padding: 6px 0; + height: 42px; + } + + ._line { + height: 30px; + top: 6px; + } + + .select-message .select-styled:after { + content: ""; + width: 16px; + height: 9px; + background: url(./../images/tinnhan/ico_dropdown.png) 97% / 16px no-repeat + transparent; + top: 16px; + right: 28px; + } + + .class_student_list_box { + padding: 18px; + border-radius: 18px; + height: calc(100vh - 180px); + } + + .box-shadow.custom-list-student.class_student_list_box.review { + height: calc(100vh - 220px); + } + + .list-student { + max-height: calc(100vh - 220px); + } + + .mex-box.cus-hei-2 { + height: calc(100vh - 180px); + } + + .tinnhan-item .dot-active { + width: 12px; + height: 12px; + top: 12px; + left: 12px; + } + + .box-detail-hs .avt-ab { + width: 178px; + height: 178px; + border-radius: 50%; + overflow: hidden; + } + + .box-detail-hs .avt-ab { + position: absolute; + top: -94px; + left: calc(50% - 94px); + } + + .box-detail-ab { + top: 130px; + padding: 0 71px; + } + + .box-detail-ab .box-detail-hs { + border-radius: 18px; + padding: 80px 18px 13px; + width: 368px; + } + + .box-detail-hs h2.name { + font-size: 28px; + } + + .detail-info { + padding: 0 35px 13px; + } + + .info-sum h3 { + font-size: 47px; + } + + .sunE-container-box.hoso { + min-height: auto; + } + + .info-sum { + margin: 47px 0 0; + } + + .avatar-edit { + margin: 20px 0 0; + } + + .avatar-edit-box { + background: #fff; + width: 185px; + height: 185px; + border-radius: 93px; + margin: 0 auto 30px; + padding: 4px; + } + + .hoso .btn-save button { + padding: 0 40px; + height: 46px; + line-height: 46px; + border-radius: 23px; + border: none; + font-size: 18px; + color: #fff; + transition: 0.8s; + font-family: "Myriadpro-SemiBold"; + min-width: 166px; + } + + .avatar-edit-box .img-edit-avt { + position: absolute; + bottom: 0; + background: #fff; + height: 46px; + width: 100%; + text-align: center; + } + + .avatar-edit-box .img-edit-avt img { + width: 34px; + height: 26px; + border-radius: 0; + margin-top: 9px; + } + + .list-menu-custom { + width: 285px; + } + + .btn-gr-text p { + font-size: 16px; + font-family: "Myriadpro-Bold"; + color: #00a79d; + line-height: 54px; + } + + .btn-gr { + margin: 0 0 12px; + border-radius: 13px; + height: 54px; + } + + .apdung label { + margin: 13px 0; + font-size: 16px; + padding: 0 0 9px 12px; + } + + .apdung.tp-k label { + margin: 15px 0 11px; + font-size: 14px; + padding: 0 0 8px 10px; + } + + .apdung.apdung-custom label { + margin: 12px 0 12px 12px; + padding: 0; + } + + .thoikhoabieu.tb .apdung .valid_to_input .react-datepicker-wrapper { + width: 118px; + } + + .valid_to_input input { + font-size: 16px; + width: 80px; + margin-right: 0; + text-align: center; + } + + .thoikhoabieu.tb .valid_to_input { + margin: 12px 0 0 17px; + } + + .btn-create-datlai img { + left: 13px; + top: 7px; + width: 21px; + } + + .orange span, + .red span, + .success-text span { + font-size: 14px; + line-height: 23px; + } + + .his { + margin-top: -6px; + width: 115px; + } + + .btn-select-year button { + padding: 0 53px; + } + + .btn-select-year .ico_right, + .btn-select-year .ico_left { + top: 8px; + width: 13px; + } + + .title-list-lichnam h2 { + font-size: 21px; + } + + .btn-remove-item { + width: 46px; + height: 46px; + } + + .btn-remove-item img { + width: 18px; + } + + .popup-filter-option .wh20.chk-custom-gr input:checked + label:after { + top: -5px; + } + + .ql-bt-dg.sunE-giaotrinh-resuft-filter { + max-height: calc(100vh - 160px); + } + + .box-setting-custom { + border-radius: 18px; + padding: 18px; + margin: 0 0 9px; + } + + .setting-title-blue { + font-size: 21px; + line-height: 28px; + margin: 0 0 9px; + } + + .w80 { + width: 70px; + } + + /*CUSTOM ON OFF BUTTON*/ + .toggle-button-cover { + position: relative; + width: 45px; + } + + .knobs, + .layer { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + } + + .button { + top: calc(50% - 10px); + width: 45px; + height: 17px; + } + + .button.r, + .button.r .layer { + border-radius: 102px; + } + + /* Button 1 */ + .btn-on-off .knobs:before { + top: -6px; + left: -5px; + width: 28px; + height: 28px; + font-size: 10px; + } + + .btn-on-off.active .checkbox:checked + .knobs:before { + left: 21px; + } + + /*END CUSTOM ON OFF BUTTON*/ + .setting-on-off-box p { + font-size: 16px; + line-height: 21px; + } + + .setting-on-off-box { + margin: 0 0 1rem; + } + + .select-language .select-styled { + height: 21px; + line-height: 21px; + font-size: 15px; + } + + .setting-on-off-box .center-flex img { + width: 12px; + } + + .btn-gr-img { + width: 102px; + padding: 12px 0; + } + + .list-menu-custom .btn-gr-img.ico_ma img { + width: 33px; + } + + .list-menu-custom .btn-gr-img.ico_buy img { + width: 37px; + } + + .list-menu-custom .btn-gr-img.ico_time img { + width: 32px; + } + + .slider-custom { + max-width: 450px; + } + + .item-top-title p { + font-size: 18px; + } + + .item-price p { + font-size: 26px; + } + + .slider-custom .slider-item-content img.details-ig { + margin: auto; + width: 265px; + } + + .slider-custom .slick-arrow.slick-next { + left: calc(100% - 20px); + } + + .slider-custom .slick-arrow.slick-prev { + left: -10px; + } + + .custom-select-w { + width: 380px; + } + + .input-nm { + height: 36px; + line-height: 36px; + border-radius: 18px; + padding-left: 18px; + margin: 0 0 17px; + font-size: 16px; + } + + .box-white-content p, + .btn_click_link { + font-size: 16px; + } + + .student-index { + padding: 6vh 20px 10px; + } + + .map-skill span { + width: 212px; + height: 36px; + line-height: 36px; + border-radius: 18px; + font-size: 16px; + } + + .map-skill img { + top: -22px; + left: -5px; + width: 52px; + } + + .star img { + width: 36px; + height: 36px; + } + + .pink-ab { + bottom: 18px; + right: 65px; + } + + .pink-ab img { + width: 45px; + } + + .box-unit-info p, + .box-unit-info p span { + font-size: 16px; + } + + .giaotrinh.unit .box-giaotrinh-gr { + padding: 0 16px 0 40px; + margin: 0 0 18px 18px; + } + + .list-menu-custom.student { + width: 280px; + } + + .bg_top_tt { + width: 100%; + } + + .mte-gr .mte-thumb { + width: 56px; + height: 56px; + border: 4px solid #fff; + top: -6px; + left: -17px; + } + + .mte-gr { + background: #fff; + height: 45px; + width: 130px; + border-radius: 23px; + text-align: center; + padding-left: 24px; + } + + .mte-gr h2 { + line-height: 26px; + font-size: 26px; + } + + .circle-k { + width: 24px; + height: 24px; + border-radius: 12px; + margin-left: -2px; + } + + .line-k { + width: 42px; + height: 8px; + margin-top: 8px; + } + + .process-info-k .space { + width: 60px; + text-align: center; + } + + .process-info-k .space p { + font-size: 16px; + font-family: "Myriadpro-Light"; + line-height: 16px; + } + + .list-menu-custom.student .btn-gr-text p { + line-height: 60px; + } + + .list-menu-custom.student .btn-gr { + height: 60px; + } + + .btn-gr-img.ico_thanhtich_offline { + padding: 9px 0; + } + + .ico_thanhtich_offline img { + width: 46px; + } + + .ico_thanhtich_online img { + width: 33px; + } + + .ico_xephang img { + width: 45px; + } + + .process-thumb img { + width: 56px; + height: 56px; + } + + .skill-process-list { + margin: 26px 0 0; + padding: 16px 26px 9px 45px; + background: rgba(0, 0, 0, 0.2); + border-radius: 18px; + } + + .skill-process-item p.title { + line-height: 21px; + font-size: 16px; + } + + .process-100 { + height: 26px; + border-radius: 13px; + padding: 5px 5px 5px 36px; + } + + .process-due { + height: 16px; + } + + .sco { + width: 92px; + height: 26px; + border-radius: 13px; + box-sizing: border-box; + background: #fff; + padding: 0 6px 0 13px; + margin: 21px 0 0 12px; + } + + .sco .slp { + line-height: 26px; + font-size: 21px; + } + + .sco .slp-top { + line-height: 9px; + font-size: 12px; + top: -9px; + } + + .top-t { + height: 40px; + border-radius: 20px; + padding: 0 26px; + margin: 0 0 16px; + } + + .top-t p { + font-size: 16px; + line-height: 40px; + } + + .box-s { + padding: 0 6px 0 35px; + } + + .box-s span { + height: 30px; + margin-top: 6px; + border-radius: 16px; + font-size: 16px; + line-height: 30px; + padding: 0 5px 0 35px; + } + + .box-s img { + top: 5px; + left: 5px; + } + + .box-s .select { + font-size: 16px; + color: #00cbad; + width: 130px; + height: 30px; + line-height: 30px; + border-radius: 15px; + margin-top: 5px; + } + + .box-s .select-styled { + width: 150px; + height: 30px; + line-height: 30px; + border-radius: 15px; + font-size: 16px; + padding: 0 5px 0 35px; + } + + .select-chart .select-styled { + padding: 0 5px; + text-align: center; + width: 100%; + } + + .box-s .select-options { + padding: 21px 9px 0; + top: 21px; + border-radius: 21px; + max-height: calc(100vh - 140px); + } + + .box-s .select img { + top: 5px; + left: 5px; + width: 24px; + } + + .box-nhatkyhoctap-graph .bangdiem-menu-gr span { + font-size: 16px; + } + + .box-diem .top-o p { + font-size: 16px; + line-height: 18px; + } + + .box-diem h2 { + font-size: 40px; + } + + .his-hd { + height: auto; + min-height: calc(100vh - 140px); + padding: 16px 25px; + } + + .b-26-black { + line-height: 28px; + font-size: 22px; + font-family: "Myriadpro-Bold"; + margin: 13px 0 9px; + } + + .img-avatar-k { + width: 86px; + height: 86px; + border-radius: 43px; + border: 3px solid #fff; + margin-right: 17px; + } + + .bxh-info-student-box h3 { + font-size: 21px; + line-height: 26px; + margin: 0 0 9px; + } + + .gr-r p { + font-size: 16px; + line-height: 21px; + } + + .gr-r span { + font-size: 21px; + line-height: 26px; + } + + .ico_hc { + width: 18px; + } + + .sub-title-18 { + display: block; + font-size: 16px; + line-height: 21px; + } + + .box-top-k { + border-radius: 17px; + padding: 9px 17px; + } + + .top-k-score { + width: 70px; + height: 26px; + font-size: 16px; + line-height: 26px; + border-radius: 13px; + margin: 0 auto 13px; + } + + .top-k-item.v { + width: 150px; + margin: 0 13px; + } + + .top-k-item.s, + .top-k-item.b { + width: 104px; + } + + .top-k-item.s .avt-top-k .ico_avt, + .top-k-item.b .avt-top-k .ico_avt { + top: 15px; + left: 25px; + width: 52px; + height: 52px; + border-radius: 27px; + } + + .top-k-item.v .avt-top-k .ico_avt { + top: 35px; + left: 40px; + width: 66px; + height: 66px; + border-radius: 33px; + } + + .thanhtich-container { + padding: 12px 0 0; + } + + .student_bxh_list .item-student { + padding: 9px 17px; + border-radius: 17px; + margin: 0 0 9px; + } + + .student_bxh_list .item-student .item-student-img { + width: 46px; + height: 46px; + border-radius: 23px; + border: 1px solid #e9af38; + } + + .student_bxh_list .item-student-name p { + line-height: 46px; + font-size: 16px; + } + + .student_bxh_list .item-student .stt { + line-height: 46px; + font-size: 16px; + width: 26px; + } + + .hcs { + font-size: 16px; + line-height: 16px; + margin: 0 12px 0 5px; + } + + .lv-down img, + .lv-up img { + width: 18px; + } + + .student_bxh_list { + max-height: 390px; + } + + .edit-profile-student button { + padding: 0 23px 0 45px; + } + + .edit-profile-student .ico_edit_profile { + position: absolute; + left: 13px; + top: 7px; + width: 21px; + } + + .box-detail-hs.student .avt-ab { + width: 130px; + height: 130px; + top: -65px; + left: calc(50% - 65px); + } + + .ph-add-gr h2 { + font-size: 21px; + line-height: 26px; + margin-bottom: 15px; + } + + .parent-info .avatar { + width: 66px; + height: 66px; + border-radius: 33px; + margin-right: 17px; + } + + .parent-info p { + font-size: 16px; + line-height: 16px; + margin: 17px 0 6px; + } + + .parent-info span { + font-size: 16px; + line-height: 21px; + } + + .box-detail-ab.student-ab { + top: 106px; + } + + .avatar-edit-box.student { + width: 160px; + height: 160px; + margin: 30px auto; + } + + .bg_edit_student_profile { + top: -33px; + } + + .avatar-edit.student .sunE-input-gr { + margin: 0 0 15px; + } + + .avatar-edit.student { + padding-top: 0; + } + + .kh-title h2 { + font-size: 21px; + } + + .btn-create-khk span { + width: 94px; + height: 32px; + min-width: 94px; + padding: 0 17px; + line-height: 32px; + } + + .line38 { + line-height: 32px; + } + + .btn-create-khk .ico_add_kh { + position: absolute; + top: 8px; + left: 13px; + width: 16px; + } + + .btn-create-khk .ico_line_kh { + position: absolute; + top: 5px; + left: 52px; + } + + .btn-create-khk .ico_line_kh { + position: absolute; + left: 39px; + height: 26px; + } + + .f24 { + font-size: 20px !important; + } + + .slider-item-desc .btn-img img { + width: 18px; + top: 6px; + left: 11px; + } + + .slider-item-desc .btn-img img.ico_add_custom { + width: 22px; + top: 8px; + left: 14px; + } + + .plan-item-content { + padding: 10px 20px 10px 10px; + } + + .img-upload { + height: 450px; + } + + .edit-plan-box { + width: 136px; + background: #b7f2e4; + display: flex; + justify-content: center; + align-items: center; + margin-right: -136px; + transition: margin 0.6s ease; + padding-top: 5px; + } + + .edit-show .plan-item-content { + margin-left: -124px; + transition: margin 0.6s ease; + border-top-right-radius: 10px; + border-bottom-right-radius: 10px; + } + + .sunE-create-class-content { + margin-top: 30px; + } + + .btn-remove-student { + padding-top: 16px; + } + + .btn-remove-student img { + width: 18px; + } + + .btn-accept-reject-select-gr .btn-select-custom { + width: 100px; + height: 32px; + border-radius: 16px; + font-size: 14px; + } + + .add_code_student-gr .ico_err { + width: 24px; + right: 10px; + top: 7px; + } + + .title-info.dtb-title { + width: 100px; + } + + .box-criteria { + max-height: 235px; + /* max-height: fit-content; */ + } + + .box-criteria-full { + max-height: fit-content; + } + + .box-criteria-scroll { + max-height: 265px; + } + + .dk_class .select-all { + /* margin-right: 16px; */ + padding-right: 37px; + } + + .change_point_checkbox_add_exercise { + padding-right: 43px !important; + } + + .giaotrinh.unit .unit-list .box-giaotrinh-gr { + padding: 0 55px 0 25px; + } + + .box-bcht-date-custom-hei .calendar .day-cell.hide_collapse, + .box-bcht-date-custom-hei .calendar .day-cell.hide_collapse { + display: none; + } + + .box-bcht-date-custom-hei .fullHeight .calendar .hide_collapse, + .box-bcht-date-custom-hei .fullHeight .calendar .hide_collapse { + display: flex; + } + + .set-max-w { + max-width: 363px; + } + + .tb-mes { + bottom: 8px; + } + + .class-box-desc { + padding: 0 0 12px 15px; + } + + .mt-17 { + margin-top: 17px; + } + + .file-support-list { + overflow: auto; + max-height: 200px; + padding-right: 10px; + } + + .text-center.box-video-project.img-bg { + max-height: 220px; + } + + .responsive_video_marking_screen { + max-height: 215px; + } + + .box-video-project video { + width: 100%; + max-height: 215px; + } + + .sunE-box-tkh, + .sunE-box-xkh { + padding: 10px 20px; + } + + .input-gr label, + .laplai label, + .ct-hs label.ht { + font-size: 16px; + padding: 0 0 7px 12px; + } + + .input-gr textarea { + height: 80px; + font-size: 16px; + } + + .input-gr { + margin: 0 0 12px; + } + + .radio-item { + padding: 0 5px; + margin: 6px 0 0; + } + + .radio-item label:before { + top: 1px; + margin: 0 5px 0 0; + width: 12px; + height: 12px; + border-radius: 6px; + } + + .tp-k .time-to.select-time input { + font-size: 16px; + margin: 6px 0 0 15px; + } + + .apdung.tp-k .time-to.select-time .ico_edit_time_to { + top: 12px; + } + + .apdung .time-to.select-time .ico_edit_time_to { + left: 127px; + } + + .apdung.tp-k { + margin: 0; + } + + .laplai { + margin: 0 0 10px; + padding-left: 0; + } + + .time-to-khht-cn .ico_edit_time_to_khht { + top: -1px; + right: -24px; + } + + .valid_to_input { + margin: 14px 0 0 10px; + } + + .error-img { + height: 18px; + } + + .custom-4.slider-custom { + max-width: 380px; + } + + .thanhtich-offline-box .top-title-name.two-line { + max-height: 57px; + } + + .bg_auth { + max-width: 100%; + width: 100%; + } + + /* File Support CSS */ + .pasd.sunE-container-box { + padding: 20px 20px 0; + } + + .__overview_report { + padding: 25px 0px; + } + + /*responsive home teacher*/ + .p_responsive_home_page_teacher { + margin-top: -20px; + padding: 0px 20px 0px !important; + } + + .mb_mt_5px { + margin: 5px 0 !important; + } + + .__body_class_add_responsive_screen_small { + height: 50%; + } + + .responsive_plan_list_screen_small { + max-height: 21.7rem !important; + } + + .responsive_avatar_class_screen_small { + display: flex; + align-items: center; + justify-content: center; + width: 180px !important; + height: 180px !important; + } + + .responsive_avatar_class_screen_small_img { + width: 70% !important; + height: 70% !important; + } + + .slider-custom-student .responsive_avatar_class_screen_small { + width: 116px !important; + height: 116px !important; + } + .slider-custom-student + .img-thumb-student + .responsive_avatar_class_screen_small_img { + width: 100% !important; + height: 100% !important; + } + + .responsive_class_name_screen_small { + max-height: 30px !important; + padding: 5px 24px !important; + margin-bottom: 0 !important; + } + + .responsive_chart_screen_small { + width: 55%; + } + + .space_null_responsive_home_page_teacher { + width: 140px !important; + } + + /*end responsive home teacher*/ + + /* region avatar rank */ + .top { + width: 285px; + background: #fff; + border-radius: 20px; + padding: 30px 0 10px 0; + height: calc(100vh - 140px); + overflow: auto; + } + + .top-box { + margin: 0 0 10px; + } + + .top1 span { + height: 25px; + line-height: 25px; + } + + .top2 span { + height: 25px; + line-height: 25px; + } + + .top3 span { + height: 25px; + line-height: 25px; + } + + .top-hs { + width: 42%; + height: 103px; + margin: 0 auto 10px; + } + + .top1 .top-hs .avt { + position: absolute; + top: 33px; + left: 35px; + width: 50px; + height: 50px; + border-radius: 39px; + border: 2px solid #f7eda1; + box-sizing: border-box; + object-fit: cover; + } + + .top-hs .gold { + position: absolute; + top: 8px; + left: 37.5px; + } + + .__top_number { + position: absolute; + bottom: -10px; + left: 39%; + font-weight: bold; + border-radius: 50%; + background: #fff; + width: 25px; + height: 25px; + font-family: "Myriadpro-Bold" !important; + display: flex; + align-items: center; + } + + .top2 .top-hs { + width: 40%; + height: 100px; + margin: 0 auto 10px; + } + + .top2 .top-hs .avt { + position: absolute; + top: 15px; + left: 27.5px; + width: 60px; + height: 60px; + border-radius: 39px; + border: none; + border: 2px solid #d3d2d2; + box-sizing: border-box; + object-fit: cover; + } + + .top3 .top-hs { + width: 40%; + height: 100px; + margin: 0 auto 10px; + } + + .top3 .top-hs .avt { + position: absolute; + top: 15px; + left: 27.5px; + width: 60px; + height: 60px; + border-radius: 39px; + border: none; + border: 2px solid #d3d2d2; + box-sizing: border-box; + object-fit: cover; + } + + /* end region avatar rank */ + + .responsive_small_screen_margin_login { + margin-top: -30px !important; + } + + .register_account_type .account_content { + margin-bottom: 0 !important; + } + + .register_account_type .account_detail_school_title { + margin-bottom: 5px !important; + } + + .register_account_type .account_content_title { + margin-bottom: 5px !important; + } + + .register_account_type .account_detail_placeholder { + height: 90px !important; + } + + .register_update_info .button_submit { + margin-top: 10px !important; + } + + .responsive_screen_small_no_plan { + margin-top: 25px; + } + + .responsive_viewScheduleStudent_email, + .responsive_viewScheduleStudent_name { + margin: 0 !important; + } + + .responsive_viewScheduleStudent_name { + margin: 0 auto !important; + } + + .responsive_screen_popup_height { + max-height: 85vh !important; + height: 85vh !important; + width: 435px !important; + } + + .responsive_low_screen_files_support { + padding: 0 40px 0 47px !important; + } + + .success_register_teacher { + margin-top: 50px !important; + } + + .responsive_modal_authentication_teacher { + min-height: 22rem !important; + margin-top: 0 !important; + } + + .style_heading_authentication_teacher { + margin-top: 0 !important; + } + + .style_btn_agree_authentication_teacher { + padding-top: 1.5rem !important; + } + + .responsive_btn_assign_assignments { + width: 127px !important; + } + + .father_btn_assign_assignments { + margin-right: 15px !important; + } + + .quantity_from_teacher_choose { + min-width: 25px; + height: 25px; + top: -10px; + } + + .uk-modal-body .wh20.chk-custom-gr input:checked + label:after { + top: -5px !important; + left: 8px; + } + + .ml--5 { + margin-left: -5px; + } + + .height_top_3_golden_board { + height: calc(100vh - 140px) !important; + padding: 20px 0 20px 0; + } + + .slick-dots { + bottom: -30px !important; + } + + .slider-custom-student .slick-dots { + position: relative !important; + bottom: 0 !important; + margin: 0.2rem 0 0.4rem; + } + + .height_calendar_responsive { + min-height: 410px; + } + + .font_average_score { + margin-bottom: 10px !important; + } + + .upgrade_container { + padding-top: 0.5rem; + } + + .form_upgrade { + padding-top: 0.75rem !important; + } + + .title_upgrade { + padding-bottom: 1rem !important; + } + + .register-success-container { + margin-top: 0px !important; + } + + .content_homepage_student .slider_homepage_student { + margin-bottom: 0.25rem !important; + } +} + +@media screen and (max-height: 700px) { + /*RESET CSS*/ + html, + body, + div, + span, + object, + iframe, + h1, + h2, + h3, + h4, + h5, + h6, + p, + blockquote, + pre, + abbr, + address, + cite, + code, + del, + dfn, + em, + img, + ins, + kbd, + q, + samp, + small, + strong, + sub, + sup, + var, + b, + i, + dl, + dt, + dd, + ol, + ul, + li, + fieldset, + form, + label, + legend, + table, + caption, + tbody, + tfoot, + thead, + tr, + th, + td, + article, + aside, + canvas, + details, + figcaption, + figure, + footer, + header, + hgroup, + menu, + nav, + section, + summary, + time, + mark, + audio, + video { + /* font-size: 14px; */ + } + + .home_curriculum .select-options { + top: -4px !important; + } + + .sunE-container { + width: 100%; + height: auto; + /* max-width: 1200px; */ + margin: 0 auto; + /* padding: 0; */ + } + + .list-menu-i a.menu-item { + font-size: 14px; + color: #404041; + line-height: 29px; + align-items: center; + padding: 9px 0 9px 27px; + text-decoration: none; + margin: 7px 0; + } + + .iZROEJ .select-styled { + height: 44px !important; + } + + .list-menu-i .menu-img { + width: 50px; + max-height: 27px; + } + + .list-menu-i .menu-img img { + width: 25px; + } + + .list-menu-i a.menu-item span { + font-size: 14px; + color: #404041; + } + + .sunE-sidebar { + display: flex; + height: 100vh; + -webkit-box-flex: 0; + background-color: rgba(172, 241, 228, 0.66); + flex: 0 0 auto; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + flex-direction: column; + -webkit-transition: margin-left 250ms ease-out, + -webkit-transform 250ms ease-out; + transition: margin-left 250ms ease-out, -webkit-transform 250ms ease-out; + transition: margin-left 250ms ease-out, transform 250ms ease-out; + transition: margin-left 250ms ease-out, transform 250ms ease-out, + -webkit-transform 250ms ease-out; + width: 215px; + } + + .plan-item-content p { + font-size: 14px; + } + + .btn-plan-item { + width: 18px; + } + + .his img { + width: 23px; + } + + .plan-item-content p.text-light { + padding: 0 0 0 10px; + } + + .slider-custom-2 .slick-arrow.slick-prev { + left: -9px; + } + + /* Slider for student homepage */ + .slider_homepage_student .slider-custom-student { + /* margin-bottom: 0.9rem !important; */ + } + + .slider-custom-student .slick-arrow.slick-prev { + left: 39px; + } + + .slider-custom-2 .slick-next, + .slider-custom-2 .slick-prev { + width: 36px; + height: auto; + } + + .slider-custom-2 .slick-arrow { + background: #00bbb6; + padding: 10px 12px; + position: absolute; + border-radius: 10px; + border: none; + z-index: 9; + text-align: center; + } + + .item-top-title-main p { + text-align: center; + font-size: 14px; + padding: 0; + color: #fff; + font-family: "Myriadpro-SemiBold"; + } + + .slick-dots li button:before { + font-size: 6px; + line-height: 15px; + position: absolute; + top: 0; + left: 0; + width: 12px; + height: 12px; + content: "•"; + text-align: center; + opacity: 0.25; + color: #000; + } + + .slider-custom-2 .slick-dots li button:before { + font-size: 14px; + color: #00a79d; + } + + .slider-item-content .img-thumb { + margin: 10px; + width: 200px; + height: 177px; + border-radius: 10px; + overflow: hidden; + } + + .slider-custom-2 .slider-item-content { + margin: 10px; + padding: 5px 11px; + } + + /* For Student */ + .slider-custom-student .slider-item-content { + margin: 12px; + padding: 5px 8px; + } + + .slider-custom-student .slider_student_wrapper .slider-item-content { + margin-top: 0.55rem !important; + margin-bottom: 0.45rem !important; + } + + .slider-item-desc .item-top-title-main { + margin: 10px 0; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + padding: 10px 20px; + border-radius: 25px; + max-height: 56px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + margin-bottom: 25px; + } + + .edit-plan-box .btn p { + font-size: 14px; + line-height: 14px; + } + + .edit-plan-box .btn img { + width: 23px; + } + + .sunE-right-container { + width: 100%; + height: 100vh; + overflow: auto; + padding: 20px 15px 10px 15px; + } + + .sunE-container-box { + padding: 20px 10px 10px; + } + + .orange span, + .red span, + .success-text span { + line-height: 23px; + } + + .chart-content canvas { + margin-left: 0; + } + + .sunE-plan-list { + max-height: 270px; + overflow: auto; + padding-right: 8px; + } + + .no-plan img { + width: 205px; + } + + .no-plan h2 { + font-family: "Myriadpro-SemiBold"; + font-size: 18px; + padding: 0; + margin: 0; + color: #00a79d; + } + + .dtb-sum-slider { + bottom: -45px; + } + + .dtb-sum-slider .w { + width: 142px; + } + + .slider-custom-2 .dtb-sum-slider .w { + width: 123px; + } + + .img-check-calendar { + top: -1px; + right: -5px; + width: 14px; + } + + .class-box .class-box-img { + width: 107px; + height: 87px; + } + + .title-line-blue { + font-size: 14px; + line-height: 18px; + padding: 6px; + text-align: center; + border-radius: 15px; + background-image: linear-gradient(to right, #00e1a0, #00b9b7); + } + + .two-line { + max-height: 43px; + overflow: hidden; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + } + + .class-box-desc p, + .class-box-desc span { + font-size: 14px; + } + + .sunE-main-title h1 { + font-size: 24px; + line-height: 32px; + padding-left: 6px; + } + + .sunE-main-title .line-h { + display: block; + width: 3px; + height: 30px; + background: #00bbb5; + border-radius: 2px; + border: none; + } + + .sunE-class-list { + padding-right: 15px; + max-height: calc(100vh - 155px); + padding-bottom: 24px; + overflow: auto; + } + + .class-index-box .class-index-box-img { + width: 206px; + height: 209px; + } + + .class-index-box { + box-sizing: border-box; + padding: 11px; + border-radius: 15px; + background: #fff; + display: inline-block; + width: 100%; + } + + .info-gr .info-img { + width: 24px; + } + + .info-gr { + margin: 10px 0 0; + } + + .info-gr img { + height: 16px; + cursor: pointer; + } + + .info-gr .info-con p { + font-size: 14px; + font-family: "Myriadpro-Light"; + line-height: 22px; + } + + .class-select-box { + padding: 15px 0px 0; + display: inline-block; + width: 118px; + height: 118px; + background: #fff; + margin: 0 5px; + border-radius: 10px; + border: none; + cursor: pointer; + box-sizing: border-box; + overflow: hidden; + } + + .class-select-box .select-img { + height: 66px; + } + + .class-select-box img { + height: 100%; + } + + .class-select-box p { + font-size: 14px; + padding: 8px 0 0; + margin: 0; + } + + .box-giaotrinh-gr.hei-custom.edit { + height: 110px; + padding: 0 11px 0 24px; + margin: 0 0 15px 0; + } + + .box-select-info p { + color: #221f1f; + font-size: 14px; + line-height: 19px; + } + + .box-select-info span { + font-size: 14px; + } + + .box-select-file-full { + flex: 1; + } + + .box-select-file-full p { + flex: 1; + text-align: left; + } + + .gtcn-menu-gr span { + font-size: 18px; + margin-right: 22px; + } + + .box-giaotrinh-gr.hei-custom { + height: 75px; + } + + .box-giaotrinh-gr .thumb { + position: absolute; + top: -4px; + left: -22px; + display: flex; + justify-content: center; + align-items: center; + background: #fff; + border: 3px solid #fff; + border-radius: 50%; + width: 55px; + height: 55px; + box-shadow: 0 1px 8px 0 rgb(21 27 38 / 24%); + } + + .box-giaotrinh-gr .thumb3 { + position: absolute; + top: -4px; + left: -22px; + display: flex; + justify-content: center; + align-items: center; + background: #ccedeb; + border: 3px solid #fff; + border-radius: 50%; + width: 55px; + height: 55px; + box-shadow: 0 1px 8px 0 rgb(21 27 38 / 24%); + } + + .box-giaotrinh-gr .thumb2 { + width: 65px; + height: 65px; + left: -24px; + } + + .box-giaotrinh-gr.hei-custom .thumb { + top: 11px; + } + + .box-giaotrinh-gr.hei-custom .thumb3 { + top: 11px; + } + + .gt_list_hei { + max-height: calc(100vh - 260px); + padding: 0 11px; + overflow: auto; + } + + .btn-user-add img, + .btn-user-share img { + width: 32px; + } + + .sunE-title-medium { + font-size: 16px; + margin: 0; + padding: 0 0 15px; + + span { + font-size: 16px !important; + } + } + + .sunE-right-container.add_student_container { + padding: 30px 14px 0 14px; + } + + .add_student { + height: calc(100vh - 90px); + width: 100%; + } + + .sunE-no-student .add_code_student-gr { + top: 440px; + } + + .add_code_student-gr { + width: 310px; + position: absolute; + left: 50%; + top: 450px; + transform: translate(-50%, -50%); + } + + .sunE-input-border-blue-gr input { + height: 32px; + border: 1px solid #399098; + border-radius: 16px; + padding: 0 35px; + } + + .sunE-input-border-blue-gr .ico_input { + position: absolute; + /* top: 4.5px; */ + /* left: 10px; */ + width: 24px; + } + + .btn-filter button { + padding: 0 26px 0 33px; + } + + .btn-filter img { + position: absolute; + top: 9px; + left: 12px; + width: 15px; + } + + .sunE-giaotrinh-item .img { + width: 88px; + height: 80px; + } + + .sunE-giaotrinh-item .content { + padding-left: 15px; + padding-top: 7px; + } + + .sunE-giaotrinh-item .content h2.title { + font-size: 14px; + line-height: 17px; + } + + h2.title { + font-family: "Myriadpro-Bold"; + font-size: 14px; + } + + .sunE-giaotrinh-item .content h3.desc { + font-size: 14px; + line-height: 17px; + margin: 0 0 7px; + } + + .sunE-giaotrinh-item .content .easy, + .sunE-giaotrinh-item .content .hard, + .sunE-giaotrinh-item .content .medium, + .sunE-giaotrinh-item .content .normal { + padding: 2px 7px; + } + + .lb-dc-gr .lb { + margin-right: 7px; + } + + .lb-dc-gr span { + color: #fff; + font-size: 14px; + padding: 3px 11px; + border-radius: 10px; + line-height: 16px; + } + + .topic { + background: #fff; + padding: 22px 16px; + border-radius: 16px; + margin: 0 0 11px; + } + + .cb-score-gr p { + font-size: 14px; + margin: 0 0 7px; + } + + .cb-score-gr span { + font-size: 24px; + font-family: "Myriadpro-Bold"; + color: #00a69c; + } + + .item-student .item-student-img { + width: 52px; + height: 52px; + border-radius: 26px; + } + + .list-detail .item-student { + background: #fff; + border-radius: 16px; + padding: 7px 7px 7px 22px; + margin: 0 0 7px 40px; + min-height: 76px; + } + + .list-detail .item-student-img { + position: absolute; + top: 9px; + left: -35px; + width: 62px; + height: 62px; + border-radius: 31px; + overflow: hidden; + } + + .item-student-name h2 { + font-size: 14px; + line-height: 16px; + margin: 10px 0 10px; + } + + .list-detail .item-student .item-student-name span { + font-size: 14px; + line-height: 27px; + } + + .list-detail .item-student .item-student-name img { + width: 27px; + } + + .box-title-bg { + border-radius: 18px; + height: 34px; + } + + .box-title-bg p { + font-size: 18px; + /* line-height: 36px; */ + } + + .box-criteria-score-title p { + font-size: 14px; + padding-left: 11px; + } + + .box-criteria-comment h2 { + font-size: 18px; + padding-left: 25px; + margin: 0 0 5px; + } + + .box-criteria-comment textarea { + padding: 11px 11px 7px 22px; + border-radius: 16px; + resize: none; + width: 100%; + height: 200px; + } + + .post-content { + background: #fff; + padding: 22px 16px; + border-radius: 16px; + margin: 0; + } + + .title-post-box { + font-size: 18px; + line-height: 30px; + } + + .btn-mark { + height: 30px; + line-height: 30px; + padding: 0 0 0 16px; + box-sizing: border-box; + border-radius: 17px; + border: none; + cursor: pointer; + margin: 0 7px 0 0; + } + + .btn-mark p { + font-size: 14px; + padding: 0 25px; + } + + .btn-mark img { + width: 27px; + } + + .btn-help { + height: 30px; + line-height: 30px; + border-radius: 17px; + border: none; + cursor: pointer; + padding: 0 22px; + } + + .btn-help img { + width: 14px; + } + + .chambai.writing { + margin: 0 0 11px; + } + + .post-content .content-box-edit { + padding: 11px 11px 7px 25px; + border-radius: 16px; + resize: none; + width: 100%; + font-size: 14px; + height: 125px; + overflow: auto; + } + + .popup-tag { + padding: 7px; + font-size: 16px; + } + + .sunE-giaobai-list { + padding: 16px 22px; + border-radius: 16px; + max-height: calc(100vh - 170px); + margin: 0; + } + + .bg_no_gb { + width: 286px; + } + + .sunE-giaotrinh-item .content p, + .sunE-giaotrinh-item .content span { + font-size: 14px; + line-height: 18px; + margin: 0 0 7px; + } + + .wh27 { + width: 20px; + height: 20px; + } + + .btn-setting img { + top: 6px; + left: 15px; + width: 21px; + } + + .box-info-giaobai { + background: #fff; + padding: 19px 16px; + border-radius: 16px; + } + + .box-info-giaobai h3.desc { + font-size: 14px; + line-height: 18px; + margin: 0 0 22px; + } + + .box-info-giaobai p { + font-size: 12px; + line-height: 18px; + margin: 0 0 7px; + } + + .box-info-giaobai .text_detail { + font-size: 14px; + line-height: 18px; + margin: 0 0 7px; + } + .sunE-container-box.giaobai-ganday { + padding: 15px 16px 0; + } + + .list-giaobai.chualam { + max-height: calc(100vh - 240px); + } + + .item-student .stt { + line-height: 52px; + font-size: 14px; + width: 22px; + } + + .btn-check-gr { + padding-top: 13px; + } + + .f20 { + font-size: 16px !important; + } + + .sunE-input-group label { + display: block; + margin: 0; + padding: 0 0 7px; + font-size: 16px; + color: #000; + } + + .select-gr select { + width: 32px; + height: 40px; + border-radius: 10px; + font-size: 14px; + margin: 0 4px 0 0; + } + + .check-box-gr label { + font-size: 14px; + } + + .datlichnhac-input-gr .left, + .datlichnhac-input-gr .right { + font-size: 14px; + } + + .datlichnhac-input-gr input.dln-mins { + height: 32px; + outline: none; + border: none; + border-radius: 16px; + padding: 5px 16px; + box-shadow: 0 1px 6px 0 rgb(21 27 38 / 15%); + box-sizing: border-box; + text-align: center; + font-size: 14px; + } + + input.dln-mins::-webkit-outer-spin-button, + input.dln-mins::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } + + .nhacnho-content .datlichnhac-input-gr input.dln-mins { + width: 60px; + } + + .err-nhacnho img { + margin: 11px 0 0; + } + + .nhacnho-content textarea { + height: 64px; + border-radius: 16px; + padding: 8px 16px; + font-size: 14px; + } + + .check-date-time-week { + width: 320px; + height: 32px; + background: #fff; + border-radius: 16px; + padding: 0 11px; + } + + .check-date-time-week img { + width: 10px; + } + + .check-date-time-week p { + font-size: 15px; + line-height: 32px; + } + + .student-list-container { + width: 280px; + } + + .tong-hs { + line-height: 18px; + font-size: 14px; + font-family: "Myriadpro-SemiBold"; + margin: 0 0 16px; + } + + .text-title-blue { + font-size: 14px; + } + + .box-chart p { + font-size: 14px; + } + + .dtb-sum .w { + width: 184px; + } + + .bdg-sum .w { + width: 151px; + } + + .f-24 { + font-size: 18px; + } + + .sunE-title-medium-p { + font-size: 14px; + line-height: 14px; + margin: 0 0 11px; + } + + .custom-list-student { + padding: 16px; + border-radius: 16px; + } + + .bcht .list-student { + max-height: calc(100vh - 240px); + } + + .student-info { + width: 254px; + margin-right: 16px; + } + + .student-info .avt-i { + width: 132px; + height: 132px; + border-radius: 66px; + border: 2px solid #e7ae38; + margin: 0 auto 16px; + } + + .student-info .name { + font-size: 18px; + margin: 0 0 10px; + } + + .email-gr img { + width: 17px; + } + + .email-gr p { + font-size: 14px; + line-height: 18px; + } + + .box-bcht-top h2 { + font-size: 14px; + line-height: 32px; + } + + .btn-history-bcht { + border: 2px solid #00b9b7; + line-height: 28px; + height: 32px; + border-radius: 16px; + padding: 0 25px; + font-size: 14px; + } + + .title-info { + border-radius: 16px; + height: 32px; + padding-left: 16px; + } + + .title-info p { + line-height: 32px; + font-size: 14px; + } + + .score-info { + border-radius: 16px; + height: 32px; + width: 62px; + } + + .score-info p { + line-height: 32px; + font-size: 14px; + } + + .title-info.dtb-title p { + line-height: 16px; + font-size: 14px; + } + + .bcht { + padding: 10px 0 0; + } + + .box-bcht-date-custom-hei.box-bcht { + padding: 0; + width: 368px; + } + + .box-bcht.box-bcht-date-custom-hei .calendar .week-cell, + .box-bcht.box-bcht-date-custom-hei .calendar .day-cell { + flex-grow: 0; + flex-shrink: 0; + flex-basis: calc(100% / 7 - 22px); + display: flex; + justify-content: center; + align-items: center; + height: 30px; + width: 30px; + cursor: pointer; + margin: 5px 0px; + } + + .fullHeight.showMonth .calendar { + height: auto; + } + + .item-student-name p { + font-size: 14px; + } + + .score-tb-student span { + width: 64px; + height: 34px; + line-height: 34px; + font-size: 18px; + } + + .top p { + font-size: 16px; + } + + .vinhdanh-item img.vinhdanh-bg { + width: 140px; + } + + .avt-vd { + width: 80px; + height: 80px; + border-radius: 40px; + border: 2px solid #e9af38; + margin: 16px auto 0; + } + + .name-vd { + padding: 0 16px; + line-height: 27px; + font-size: 14px; + color: #fff; + border-radius: 16px; + position: absolute; + top: 80px; + left: 50%; + transform: translate(-50%, 0); + } + + .vd-info { + bottom: 8px; + font-size: 14px; + } + + .vinhdanh-content { + padding: 20px 0 0; + } + + .diemdanh-no-item img { + width: 306px; + } + + .diemdanh-no-item p { + font-size: 18px; + } + + .btn-create-diemdanh img { + width: 16px; + top: 7px; + } + + .btn-create-diemdanh button { + padding: 0 16px 0 40px; + } + + .medium-title { + font-size: 14px; + } + + .menu-gr-right input[type="text"].btn { + height: 36px; + border-radius: 18px; + font-size: 14px; + line-height: 36px; + padding: 0 24px; + } + + .btn-ob.select { + font-size: 14px; + height: 36px; + line-height: 36px; + border-radius: 18px; + } + + .btn-ob .select-styled { + border-radius: 18px; + font-size: 14px; + line-height: 36px; + height: 36px; + padding: 0 24px; + } + + .btn-ob .select-styled:after { + content: ""; + width: 18px; + height: 10px; + top: 14px; + right: 8px; + background: url(./../images/teacher/diemdanh/ico_dropdown_blue.png) 90% / + 18px no-repeat transparent; + } + + .btn-ob .select-styled.active:after { + background: url(./../images/teacher/diemdanh/ico_dropup_blue.png) 90% / 18px + no-repeat transparent; + } + + .btn-ob .select-options { + padding: 37px 19px 0; + } + + .btn-ob .select-options li { + text-indent: 18px; + } + + .menu-gr-right .react-datepicker-wrapper input[type="text"] { + height: 36px; + border-radius: 18px; + font-size: 14px; + line-height: 36px; + padding: 0 24px; + } + + .box-select-gr { + border-radius: 16px; + padding: 22px 0 22px 25px; + margin: 0 0 11px 16px; + } + + .box-select-gr .thumb { + position: absolute; + top: -2px; + left: -24px; + border: 4px solid #fff; + width: 78px; + height: 78px; + } + + .box-select-info h2 { + font-size: 14px; + line-height: 16px; + } + + .box-giaotrinh-gr { + border-radius: 16px; + height: 48px; + margin: 0 0 22px 16px; + padding: 0 11px 0 48px; + } + + .custom-select-no-bg .select-styled { + padding-left: 48px; + } + + .custom-select-no-bg .select-styled { + height: 32px; + border-radius: 16px; + font-size: 14px; + padding-right: 32px; + line-height: 32px; + /* background: url(./../images/icon/ico_dropdown_s.png) 97% / 16px no-repeat + #fff; */ + } + + .custom-select-no-bg .select { + font-size: 14px; + width: 100%; + height: 32px; + line-height: 32px; + border-radius: 16px; + } + + .btn-bar img { + height: 32px; + } + + .sunE-container-box.giaotrinh.unit { + padding: 0 16px; + } + + .sunE-unit-item h2 { + font-size: 16px; + } + + .sunE-unit-item p { + font-size: 14px; + } + + .img-bg-x { + width: 138px; + height: 212px; + background-size: 100%; + margin: auto; + } + + .img-bg-x .__avt_unit { + margin-top: 30px; + margin-left: -5px; + } + + .__way_map { + position: absolute; + transform: translate(75%, 95%); + } + + .__way_map_down { + position: absolute; + transform: translate(65%, 150%); + } + + .sunE-unit-item .h-287 { + height: 212px; + } + + .giaotrinh.unit .unit-list .box-giaotrinh-gr { + border-radius: 26px; + height: 40px; + } + + .btn-more-info { + width: 32px; + height: 32px; + border-radius: 16px; + right: 6px; + top: 4px; + } + + .btn-more-info img { + width: 11px; + } + + .btn-more-info .show_img { + width: 6px; + } + + .btn-more-info .show_ { + margin: 14px 0 0 1px; + width: 8px; + } + + .info-item-desc h2 { + font-size: 14px; + line-height: 16px; + } + + .sunE-giaotrinh-resuft-filter { + padding: 16px 24px; + border-radius: 16px; + max-height: calc(100vh - 230px); + } + + .chk-custom-gr label:before { + padding: 9px; + margin-right: 8px; + border-radius: 2px; + margin-top: -1px; + } + + .chk-custom-gr input:checked + label:after { + top: -7px; + left: 9px; + width: 5px; + height: 16px; + } + + .sunE-giaotrinh-item .chk-gr .chk-custom-gr label:before { + margin-top: -9px; + } + + .sunE-giaotrinh-resuft-filter.box-shadow.scrollbar-custom.flex-1 + .sunE-giaotrinh-item + .chk-gr + .chk-custom-gr + label:before { + margin-top: -5px; + } + + .select-all .wh20.chk-custom-gr input:checked + label:after { + top: -4px; + } + + /* Check box select all */ + .checbox-right .wh20.check-select-student input:checked + label:after { + top: -8px; + } + + .btn-create-taomoi button, + .btn-create-datlai button { + padding: 0 25px 0 48px; + } + + .btn-create-taomoi img { + left: 11px; + top: 8px; + width: 18px; + } + + .class-box-desc .title-line-blue { + margin: 0 0 10px; + } + + .box-btn { + width: 24px; + height: 24px; + } + + .ico_ring-res-7 { + width: 14px; + } + + .ico_message-res-7 { + width: 15px; + } + + .reng { + width: 8px; + height: 8px; + border-radius: 4px; + bottom: 0; + right: 0; + } + + .tn-menu-item p { + font-size: 14px; + } + + .tinnhan-item h2 { + font-size: 14px; + line-height: 14px; + margin: 0 0 6px; + } + + .tinnhan-item span { + font-size: 10px; + } + + .tinnhan-item p.mes-info { + font-size: 14px; + line-height: 18px; + max-height: 54px; + } + + .mex-info-box p { + font-size: 14px; + } + + .mes-box-send { + height: 40px; + line-height: 21px; + font-size: 14px; + padding: 8px 16px 8px 16px; + border-top-left-radius: 20px; + border-bottom-left-radius: 20px; + } + + .box-btn-send { + height: 40px; + width: 40px; + border-top-right-radius: 20px; + border-bottom-right-radius: 20px; + } + + .send-mes img { + width: 20px; + } + + .search-gr-p { + height: 40px; + box-sizing: border-box; + margin: 15px 0 6px; + } + + .select-message.select { + font-size: 14px; + width: 148px; + height: 36px; + line-height: 36px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + .select-message .select-styled { + font-size: 14px; + width: 148px; + height: 36px; + line-height: 36px; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + .search-custom { + width: 296px; + height: 36px; + line-height: 36px; + padding: 0 34px 0 16px; + font-size: 14px; + font-family: "Myriadpro-Regular"; + box-sizing: border-box; + border: none; + text-align: center; + border-top-right-radius: 18px; + border-bottom-right-radius: 18px; + outline: none; + } + + .icon_search { + position: absolute; + right: 11px; + top: 10px; + width: 18px; + } + + ._line_box { + padding: 5px 0; + height: 36px; + } + + ._line { + height: 26px; + top: 5px; + } + + .select-message .select-styled:after { + content: ""; + width: 14px; + height: 8px; + background: url(./../images/tinnhan/ico_dropdown.png) 98% / 14px no-repeat + transparent; + top: 14px; + right: 24px; + } + + .class_student_list_box { + padding: 16px; + border-radius: 16px; + height: calc(100vh - 160px); + } + + .list-student { + max-height: calc(100vh - 200px); + } + + .mex-box.cus-hei-2 { + height: calc(100vh - 160px); + } + + .tinnhan-item .dot-active { + width: 10px; + height: 10px; + top: 10px; + left: 10px; + } + + .box-detail-hs .avt-ab { + width: 160px; + height: 160px; + border-radius: 50%; + overflow: hidden; + } + + .box-detail-hs .avt-ab { + position: absolute; + top: -80px; + left: calc(50% - 80px); + } + + .box-detail-ab { + top: 110px; + padding: 0 60px; + } + + .box-detail-ab .box-detail-hs { + border-radius: 16px; + padding: 70px 16px 10px; + width: 310px; + } + + .box-detail-hs h2.name { + font-size: 24px; + } + + .detail-info { + padding: 0 20px 10px; + } + + .info-sum h3 { + font-size: 40px; + } + + .sunE-container-box.hoso { + min-height: auto; + } + + .info-sum { + margin: 40px 0 0; + } + + .avatar-edit { + margin: 20px 0 0; + } + + .avatar-edit-box { + background: #fff; + width: 156px; + height: 156px; + border-radius: 78px; + margin: 0 auto 25px; + padding: 3px; + } + + .hoso .btn-save button { + padding: 0 25px; + height: 32px; + line-height: 32px; + border-radius: 16px; + font-size: 14px; + min-width: 100px; + } + + .avatar-edit-box .img-edit-avt { + position: absolute; + bottom: 0; + background: #fff; + height: 40px; + width: 100%; + text-align: center; + } + + .avatar-edit-box .img-edit-avt img { + width: 29px; + height: 22px; + border-radius: 0; + margin-top: 8px; + } + + .list-menu-custom { + width: 240px; + } + + .btn-gr-text p { + font-size: 14px; + font-family: "Myriadpro-Bold"; + color: #00a79d; + line-height: 46px; + } + + .btn-gr { + margin: 0 0 10px; + border-radius: 11px; + height: 46px; + } + + .apdung label { + margin: 11px 0; + font-size: 14px; + padding: 0 0 8px 10px; + } + + .apdung.apdung-custom label { + margin: 10px 0 10px 10px; + padding: 0; + } + + .thoikhoabieu.tb .apdung .valid_to_input .react-datepicker-wrapper { + width: 100px; + } + + .valid_to_input input { + font-size: 14px; + width: 80px; + margin-right: 0; + text-align: center; + } + + .thoikhoabieu.tb .valid_to_input { + margin: 10px 0 0 15px; + } + + .btn-create-datlai img { + left: 11px; + top: 6px; + width: 18px; + } + + .orange span, + .red span, + .success-text span { + font-size: 14px; + line-height: 20px; + } + + .his { + margin-top: -5px; + width: 95px; + } + + .btn-select-year button { + padding: 0 45px; + } + + .btn-select-year .ico_right, + .btn-select-year .ico_left { + top: 7px; + width: 11px; + } + + .title-list-lichnam h2 { + font-size: 18px; + } + + .btn-remove-item { + width: 40px; + height: 40px; + } + + .btn-remove-item img { + width: 16px; + } + + .popup-filter-option .wh20.chk-custom-gr input:checked + label:after { + top: -4px; + } + + .ql-bt-dg.sunE-giaotrinh-resuft-filter { + max-height: calc(100vh - 140px); + } + + .box-setting-custom { + border-radius: 16px; + padding: 16px; + margin: 0 0 8px; + } + + .setting-title-blue { + font-size: 18px; + line-height: 24px; + margin: 0 0 8px; + } + + .w80 { + width: 60px; + } + + /*CUSTOM ON OFF BUTTON*/ + .toggle-button-cover { + position: relative; + width: 38px; + } + + .knobs, + .layer { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + } + + .button { + top: calc(50% - 10px); + width: 38px; + height: 15px; + } + + .button.r, + .button.r .layer { + border-radius: 86px; + } + + /* Button 1 */ + .btn-on-off .knobs:before { + top: -5px; + left: -4px; + width: 24px; + height: 24px; + font-size: 10px; + } + + .btn-on-off.active .checkbox:checked + .knobs:before { + left: 18px; + } + + /*END CUSTOM ON OFF BUTTON*/ + .setting-on-off-box p { + font-size: 14px; + line-height: 18px; + } + + .setting-on-off-box { + margin: 0 0 1rem; + } + + .select-language .select-styled { + height: 18px; + line-height: 18px; + font-size: 14px; + } + + .setting-on-off-box .center-flex img { + width: 10px; + } + + .btn-gr-img { + width: 86px; + padding: 10px 0; + } + + .list-menu-custom .btn-gr-img.ico_ma img { + width: 28px; + } + + .list-menu-custom .btn-gr-img.ico_buy img { + width: 32px; + } + + .list-menu-custom .btn-gr-img.ico_time img { + width: 27px; + } + + .slider-custom { + max-width: 380px; + } + + .item-top-title p { + font-size: 16px; + } + + .item-price p { + font-size: 22px; + } + + .slider-custom .slider-item-content img.details-ig { + margin: auto; + width: 224px; + } + + .slider-custom .slick-arrow.slick-next { + left: calc(100% - 22px); + } + + .slider-custom .slick-arrow.slick-prev { + left: -9px; + } + + .custom-select-w { + width: 320px; + } + + .input-nm { + height: 32px; + line-height: 32px; + border-radius: 16px; + padding-left: 16px; + margin: 0 0 15px; + font-size: 14px; + } + + .box-white-content p, + .btn_click_link { + font-size: 14px; + } + + .student-index { + padding: 5.5vh 20px 10px; + } + + .map-skill span { + width: 160px; + height: 32px; + line-height: 32px; + border-radius: 16px; + font-size: 14px; + } + + .map-skill img { + top: -19px; + left: -4px; + width: 44px; + } + + .star img { + width: 32px; + height: 32px; + } + + .pink-ab { + bottom: 16px; + right: 55px; + } + + .pink-ab img { + width: 45px; + } + + .box-unit-info p, + .box-unit-info p span { + font-size: 14px; + } + + .giaotrinh.unit .box-giaotrinh-gr { + padding: 0 15px 0 34px; + margin: 0 0 16px 16px; + } + + .list-menu-custom.student { + width: 240px; + } + + .bg_top_tt { + width: 100%; + } + + .mte-gr .mte-thumb { + width: 48px; + height: 48px; + border: 3px solid #fff; + top: -5px; + left: -15px; + } + + .mte-gr { + background: #fff; + height: 38px; + width: 110px; + border-radius: 19px; + text-align: center; + padding-left: 20px; + } + + .mte-gr h2 { + line-height: 22px; + font-size: 22px; + } + + .circle-k { + width: 20px; + height: 20px; + border-radius: 10px; + margin-left: -2px; + } + + .line-k { + width: 36px; + height: 7px; + margin-top: 7px; + } + + .process-info-k .space { + width: 50px; + text-align: center; + } + + .process-info-k .space p { + font-size: 14px; + font-family: "Myriadpro-Light"; + line-height: 14px; + } + + .list-menu-custom.student .btn-gr-text p { + line-height: 50px; + } + + .list-menu-custom.student .btn-gr { + height: 50px; + } + + .btn-gr-img.ico_thanhtich_offline { + padding: 8px 0; + } + + .ico_thanhtich_offline img { + width: 40px; + } + + .ico_thanhtich_online img { + width: 28px; + } + + .ico_xephang img { + width: 38px; + } + + .process-thumb img { + width: 48px; + height: 48px; + } + + .skill-process-list { + margin: 22px 0 0; + padding: 14px 22px 8px 38px; + background: rgba(0, 0, 0, 0.2); + border-radius: 16px; + } + + .skill-process-item p.title { + line-height: 18px; + font-size: 14px; + } + + .process-100 { + height: 22px; + border-radius: 11px; + padding: 4px 4px 4px 31px; + } + + .process-due { + height: 14px; + } + + .sco { + width: 78px; + height: 22px; + border-radius: 11px; + box-sizing: border-box; + background: #fff; + padding: 0 5px 0 11px; + margin: 18px 0 0 10px; + } + + .sco .slp { + line-height: 22px; + font-size: 18px; + } + + .sco .slp-top { + line-height: 8px; + font-size: 10px; + top: -8px; + } + + .top-t { + height: 34px; + border-radius: 17px; + padding: 0 22px; + margin: 0 0 14px; + } + + .top-t p { + font-size: 14px; + line-height: 34px; + } + + .box-s { + padding: 0 5px 0 30px; + } + + .box-s span { + height: 26px; + margin-top: 5px; + border-radius: 14px; + font-size: 14px; + line-height: 26px; + padding: 0 4px 0 30px; + } + + .box-s img { + top: 4px; + left: 4px; + } + + .box-s .select { + font-size: 14px; + color: #00cbad; + width: 110px; + height: 26px; + line-height: 26px; + border-radius: 13px; + margin-top: 4px; + } + + .box-s .select-styled { + width: 110px; + height: 26px; + line-height: 26px; + border-radius: 13px; + font-size: 14px; + padding: 0 4px 0 30px; + } + + .select-chart .select-styled { + padding: 0 5px; + text-align: center; + width: 100%; + } + + .box-s .select-options { + padding: 18px 8px 0; + top: 18px; + border-radius: 18px; + max-height: calc(100vh - 100px); + } + + .box-s .select img { + top: 4px; + left: 4px; + width: 20px; + } + + .box-nhatkyhoctap-graph .bangdiem-menu-gr span { + font-size: 14px; + } + + .box-diem .top-o p { + font-size: 14px; + line-height: 16px; + } + + .box-diem h2 { + font-size: 35px; + } + + .his-hd { + height: auto; + min-height: calc(100vh - 130px); + padding: 14px 21px; + } + + .b-26-black { + line-height: 24px; + font-size: 18px; + font-family: "Myriadpro-Bold"; + margin: 11px 0 8px; + } + + .img-avatar-k { + width: 72px; + height: 72px; + border-radius: 36px; + border: 3px solid #fff; + margin-right: 15px; + } + + .bxh-info-student-box h3 { + font-size: 18px; + line-height: 22px; + margin: 0 0 8px; + } + + .gr-r p { + font-size: 14px; + line-height: 18px; + } + + .gr-r span { + font-size: 18px; + line-height: 22px; + } + + .ico_hc { + width: 16px; + } + + .sub-title-18 { + display: block; + font-size: 14px; + line-height: 18px; + } + + .box-top-k { + border-radius: 15px; + padding: 8px 15px; + } + + .top-k-score { + width: 60px; + height: 22px; + font-size: 14px; + line-height: 22px; + border-radius: 11px; + margin: 0 auto 11px; + } + + .top-k-item.v { + width: 126px; + margin: 0 11px; + } + + .top-k-item.s, + .top-k-item.b { + width: 88px; + } + + .top-k-item.s .avt-top-k .ico_avt, + .top-k-item.b .avt-top-k .ico_avt { + top: 13px; + left: 21px; + width: 45px; + height: 45px; + border-radius: 23px; + } + + .top-k-item.v .avt-top-k .ico_avt { + top: 30px; + left: 35px; + width: 56px; + height: 56px; + border-radius: 29px; + } + + .thanhtich-container { + padding: 10px 0 0; + } + + .student_bxh_list .item-student { + padding: 8px 15px; + border-radius: 15px; + margin: 0 0 8px; + } + + .student_bxh_list .item-student .item-student-img { + width: 40px; + height: 40px; + border-radius: 20px; + border: 1px solid #e9af38; + } + + .student_bxh_list .item-student-name p { + line-height: 40px; + font-size: 14px; + } + + .student_bxh_list .item-student .stt { + line-height: 40px; + font-size: 14px; + width: 22px; + } + + .hcs { + font-size: 14px; + line-height: 14px; + margin: 0 10px 0 4px; + } + + .lv-down img, + .lv-up img { + width: 16px; + } + + .student_bxh_list { + max-height: 350px; + } + + .edit-profile-student button { + padding: 0 15px 0 35px; + } + + .edit-profile-student .ico_edit_profile { + position: absolute; + left: 11px; + top: 6px; + width: 18px; + } + + .box-detail-hs.student .avt-ab { + width: 110px; + height: 110px; + top: -55px; + left: calc(50% - 55px); + } + + .ph-add-gr h2 { + font-size: 18px; + line-height: 22px; + margin-bottom: 10px; + } + + .parent-info .avatar { + width: 56px; + height: 56px; + border-radius: 28px; + margin-right: 15px; + } + + .parent-info p { + font-size: 14px; + line-height: 14px; + margin: 15px 0 5px; + } + + .parent-info span { + font-size: 14px; + line-height: 18px; + } + + .box-detail-ab.student-ab { + top: 86px; + } + + .avatar-edit-box.student { + width: 136px; + height: 136px; + } + + .avatar-edit.student { + padding-top: 0; + } + + .kh-title h2 { + font-size: 18px; + } + + .btn-create-khk span { + width: 80px; + height: 28px; + min-width: 80px; + padding: 0 15px; + line-height: 28px; + } + + .line38 { + line-height: 28px; + } + + .btn-create-khk .ico_add_kh { + position: absolute; + top: 7px; + left: 11px; + width: 14px; + } + + .btn-create-khk .ico_line_kh { + position: absolute; + top: 4px; + left: 45px; + } + + .btn-create-khk .ico_line_kh { + position: absolute; + left: 33px; + height: 22px; + } + + .sunE-time-lcv .select-custom-bg .select-styled:after { + top: 6px; + right: 6px; + } + + .f24 { + font-size: 18px !important; + } + + .img-upload { + height: 400px; + } + + .class-box-desc span.class-online, + .class-box-desc span.class-offline { + font-size: 18px; + font-family: "Myriadpro-SemiBold"; + } + + .btn-remove-student { + padding-top: 16px; + } + + .btn-remove-student img { + width: 18px; + } + + .box-shadow.custom-list-student.class_student_list_box.review { + height: calc(100vh - 200px); + } + + .mg-top-0 .chk-custom-gr label:before { + margin-top: 0px; + } + + .box-criteria { + max-height: 217px; + /* max-height: fit-content; */ + } + + .box-criteria-full { + max-height: fit-content; + } + + .box-criteria-scroll { + max-height: 250px; + } + + .dk_class .select-all { + /* margin-right: 14px; */ + padding-right: 35px; + } + + .change_point_checkbox_add_exercise { + padding-right: 40px !important; + } + + .giaotrinh.unit .unit-list .box-giaotrinh-gr { + padding: 0 45px 0 25px; + } + + .box-bcht-date-custom-hei .calendar .day-cell.hide_collapse, + .box-bcht-date-custom-hei .calendar .day-cell.hide_collapse { + display: none; + } + + .box-bcht-date-custom-hei .fullHeight .calendar .hide_collapse, + .box-bcht-date-custom-hei .fullHeight .calendar .hide_collapse { + display: flex; + } + + .set-max-w { + max-width: 302px; + } + + .select-all-k.mg-top-0.flex-m { + margin-right: 10px; + } + + .max-w-hidden { + max-width: 220px; + margin: 0px auto 10px; + } + + .setting-on-off-box .btn.f-13 { + font-size: 14px; + } + + .sunE-container-box.setting { + padding: 10px 10px 0; + } + + .gioithieu-info p { + line-height: 18px; + font-size: 16px; + } + + .term-info p { + line-height: 20px; + color: #404041; + font-size: 14px; + font-family: "Myriadpro-Regular"; + padding: 0 0 20px; + } + + .chk-custom-gr.top-1 { + margin-top: -1px; + } + + .mt-17 { + margin-top: 17px; + } + + .box-video-project { + height: 200px; + } + + .box-giaotrinh-gr.rel.box-shadow .thumb img { + /* max-width: 30px; */ + } + + .file-support-list { + overflow: auto; + max-height: 90px; + padding-right: 10px; + } + + .ldjas + .giaotrinh.teacher-giaobai + .giaotrinh.filter + .sunE-giaotrinh-resuft-filter { + height: calc(100vh - 230px); + } + + .text-center.box-video-project.img-bg { + max-height: 180px; + } + + .list-chart-gr .dtb-sum .w { + width: 183px; + } + + .list-chart-gr .bdg-sum .w { + width: 178px; + } + + .sunE-box-tkh, + .sunE-box-xkh { + padding: 0 15px; + } + + .input-gr input, + .input-gr select { + height: 32px; + border-radius: 16px; + padding: 5px 15px; + font-size: 14px; + } + + .input-gr label, + .laplai label, + .ct-hs label.ht { + font-size: 14px; + padding: 0 0 7px 12px; + } + + .input-gr textarea { + height: 60px; + font-size: 14px; + } + + .input-gr { + margin: 0 0 12px; + } + + .radio-item { + padding: 0 5px; + margin: 6px 0 0; + } + + .radio-item label:before { + top: 1px; + margin: 0 5px 0 0; + width: 12px; + height: 12px; + border-radius: 6px; + } + + .tp-k .time-to.select-time input { + font-size: 14px; + margin: 11px 0 0 15px; + } + + .apdung.tp-k .time-to.select-time .ico_edit_time_to { + top: 12px; + } + + .apdung .time-to.select-time .ico_edit_time_to { + left: 119px; + } + + .apdung.tp-k { + margin: 0; + } + + .laplai { + margin: 0 0 10px; + padding-left: 0; + } + + .select-custom-bg .select-styled { + height: 32px; + border-radius: 16px; + font-size: 14px; + line-height: 32px; + } + + .select-custom-bg .select { + height: 32px; + line-height: 32px; + border-radius: 16px; + } + + .select-custom-bg .select-styled:after { + content: ""; + width: 20px; + height: 20px; + top: 4px; + right: 5px; + background: url(./../images/icon/ico_dropdown_border_white.png) 96% / 20px + no-repeat transparent; + } + + ._detail p { + font-size: 14px; + line-height: 20px; + max-height: 40px; + } + + ._tb .title p { + font-size: 16px; + } + + .nkht-op.list-schedule { + max-height: calc(100vh - 100px); + } + + .schedule-i p { + font-size: 14px; + } + + .time-h { + width: 60px; + } + + .time-h p { + font-size: 16px; + padding-left: 5px; + } + + .score-d p { + font-size: 16px; + text-align: center; + } + + .bg_edit_student_profile { + top: -27px; + } + + .iZROEJ .select-styled { + height: 36px !important; + } + + .iZROEJ .select-styled::after { + top: 4px !important; + } + + .iZROEJ .select-options { + margin-top: 10px; + } + + .sunE-input-gr input { + height: 36px; + line-height: 36px; + font-size: 14px; + padding-left: 20px; + border-radius: 18px; + } + + .sunE-input-gr label { + padding: 0 0 0 15px; + font-size: 14px; + } + + .hoso .sunE-male-female { + width: 36px; + height: 36px; + border-radius: 18px; + line-height: 36px; + } + + .hoso .ico_male, + .hoso .ico_male_active { + width: 17px; + margin: 10px; + } + + .hoso .ico_female, + .hoso .ico_female_active { + width: 12px; + margin: 8px 12px; + } + + .hoso .sunE-male-female span { + font-size: 16px; + line-height: 36px; + } + + .sunE-container-box.hoso .form-sunE-button { + margin: 10px 0 0 !important; + } + + .box-detail-hs .avt-ab { + border: 3px solid #fff; + } + + .add_code_student-gr .ico_err { + top: 4px; + } + + .time-to-khht-cn .ico_edit_time_to_khht { + top: -1px; + right: -24px; + } + + .valid_to_input { + margin: 13px 0 0 10px; + } + + .item-student-name span { + font-size: 16px; + line-height: 20px; + } + + .slider-item-desc .btn-img img.ico_add_custom { + width: 16px; + top: 8px; + left: 10px; + } + + .btn-img .create_class_new.btn-line-blue { + padding-left: 35px; + } + + .item-student-name.max-w-1 p { + max-width: 130px; + } + + .custom-4.slider-custom { + max-width: 320px; + } + + .thanhtich-offline-box .top-title-name.two-line { + max-height: 55px; + } + + .top-title-name p { + font-size: 18px; + line-height: 23px; + font-family: "Myriadpro-SemiBold"; + color: #00a79d; + text-align: center; + } + + .title-k { + font-size: 20px; + line-height: 24px; + font-family: "Myriadpro-SemiBold"; + color: #00a79d; + margin: 0 0 10px; + text-transform: uppercase; + } + + .gr-k p { + text-align: left; + font-size: 16px; + line-height: 45px; + font-family: "Myriadpro-Light"; + color: #231f20; + margin: 0; + padding: 0; + } + + .gr-k span { + display: block; + font-size: 18px; + line-height: 45px; + font-family: "Myriadpro-Bold"; + color: #00a79d; + margin: 0; + padding: 0; + } + + .slider-custom.custom-4 .slick-dots { + bottom: -60px; + } + + .bg_auth { + max-width: 100%; + width: 100%; + } + + /* File Support CSS */ + .pasd.sunE-container-box { + padding: 17px 20px 0; + } + + .__overview_report { + padding: 20px 0px; + } + + .responsive_low_screen_files_support { + padding: 0 40px 0 40px !important; + } + + .responsive_btn_assign_assignments { + width: 100px !important; + } + + .ml--5 { + margin-left: 0; + } + + /*golden board*/ + .block_golden_board { + padding: 0; + } + + .height_top_3_golden_board { + height: calc(100vh - 100px) !important; + padding: 10px 0 10px 0; + } + + .padding_tops_golden_board { + padding: 15px 10px 15px 20px !important; + } + + .width_block_top_golden_board { + height: 80px; + width: 35%; + } + + .top_1_crown { + width: 35%; + left: 33px !important; + top: 7px !important; + } + + .top_1_avatar { + top: 25px !important; + left: 30px !important; + width: 40px !important; + height: 40px !important; + } + + .slick-dots { + bottom: -30px !important; + } + + .slider-custom-student .slider_student_wrapper .slick-dots { + position: relative !important; + bottom: 0 !important; + margin: 0.3rem 0 0.5rem; + } + + .space_null_responsive_home_page_teacher { + width: 145px !important; + } + + .font_average_score { + margin-bottom: 10px !important; + } + + .height_calendar_responsive { + min-height: 335px; + } + + .upgrade_container { + padding-top: 0.25rem; + } + + .form_upgrade { + padding-top: 0.75rem !important; + } + + .title_upgrade { + padding-bottom: 0.5rem !important; + } + + .content_homepage_student .slider_homepage_student { + margin-bottom: 0.25rem !important; + } +} diff --git a/public/assets/fonts/AvertaStdCY-Black_1.otf b/public/assets/fonts/AvertaStdCY-Black_1.otf new file mode 100644 index 0000000..adfbc30 Binary files /dev/null and b/public/assets/fonts/AvertaStdCY-Black_1.otf differ diff --git a/public/assets/fonts/AvertaStdCY-Bold_1.otf b/public/assets/fonts/AvertaStdCY-Bold_1.otf new file mode 100644 index 0000000..6e8877a Binary files /dev/null and b/public/assets/fonts/AvertaStdCY-Bold_1.otf differ diff --git a/public/assets/fonts/AvertaStdCY-ExtraboldItalic_1.otf b/public/assets/fonts/AvertaStdCY-ExtraboldItalic_1.otf new file mode 100644 index 0000000..f5c8e12 Binary files /dev/null and b/public/assets/fonts/AvertaStdCY-ExtraboldItalic_1.otf differ diff --git a/public/assets/fonts/AvertaStdCY-Extrabold_1.otf b/public/assets/fonts/AvertaStdCY-Extrabold_1.otf new file mode 100644 index 0000000..fe697ac Binary files /dev/null and b/public/assets/fonts/AvertaStdCY-Extrabold_1.otf differ diff --git a/public/assets/fonts/AvertaStdCY-RegularItalic_1.otf b/public/assets/fonts/AvertaStdCY-RegularItalic_1.otf new file mode 100644 index 0000000..ef6e9b3 Binary files /dev/null and b/public/assets/fonts/AvertaStdCY-RegularItalic_1.otf differ diff --git a/public/assets/fonts/AvertaStdCY-Regular_3.otf b/public/assets/fonts/AvertaStdCY-Regular_3.otf new file mode 100644 index 0000000..ebe3348 Binary files /dev/null and b/public/assets/fonts/AvertaStdCY-Regular_3.otf differ diff --git a/public/assets/fonts/AvertaStdCY-Semibold_1.otf b/public/assets/fonts/AvertaStdCY-Semibold_1.otf new file mode 100644 index 0000000..f3b2dc5 Binary files /dev/null and b/public/assets/fonts/AvertaStdCY-Semibold_1.otf differ diff --git a/public/assets/fonts/Barlow-Bold.ttf b/public/assets/fonts/Barlow-Bold.ttf new file mode 100644 index 0000000..28f2d3a Binary files /dev/null and b/public/assets/fonts/Barlow-Bold.ttf differ diff --git a/public/assets/fonts/MYRIADPRO-BOLD.woff b/public/assets/fonts/MYRIADPRO-BOLD.woff new file mode 100644 index 0000000..5fe67eb Binary files /dev/null and b/public/assets/fonts/MYRIADPRO-BOLD.woff differ diff --git a/public/assets/fonts/MYRIADPRO-LIGHT_0.OTF b/public/assets/fonts/MYRIADPRO-LIGHT_0.OTF new file mode 100644 index 0000000..2ede04b Binary files /dev/null and b/public/assets/fonts/MYRIADPRO-LIGHT_0.OTF differ diff --git a/public/assets/fonts/MYRIADPRO-REGULAR.OTF b/public/assets/fonts/MYRIADPRO-REGULAR.OTF new file mode 100644 index 0000000..5097866 Binary files /dev/null and b/public/assets/fonts/MYRIADPRO-REGULAR.OTF differ diff --git a/public/assets/fonts/MYRIADPRO-REGULAR.woff b/public/assets/fonts/MYRIADPRO-REGULAR.woff new file mode 100644 index 0000000..40c795d Binary files /dev/null and b/public/assets/fonts/MYRIADPRO-REGULAR.woff differ diff --git a/public/assets/fonts/MYRIADPRO-SEMIBOLD.woff b/public/assets/fonts/MYRIADPRO-SEMIBOLD.woff new file mode 100644 index 0000000..79ee0c1 Binary files /dev/null and b/public/assets/fonts/MYRIADPRO-SEMIBOLD.woff differ diff --git a/public/assets/fonts/MyriadProCondensedItalic.ttf b/public/assets/fonts/MyriadProCondensedItalic.ttf new file mode 100644 index 0000000..2f65020 Binary files /dev/null and b/public/assets/fonts/MyriadProCondensedItalic.ttf differ diff --git a/public/assets/fonts/iCiel-Alina.otf b/public/assets/fonts/iCiel-Alina.otf new file mode 100644 index 0000000..37e4996 Binary files /dev/null and b/public/assets/fonts/iCiel-Alina.otf differ diff --git a/public/assets/fonts/myriad-pro/MYRIADPRO-BOLD.OTF b/public/assets/fonts/myriad-pro/MYRIADPRO-BOLD.OTF new file mode 100644 index 0000000..93b53b5 Binary files /dev/null and b/public/assets/fonts/myriad-pro/MYRIADPRO-BOLD.OTF differ diff --git a/public/assets/fonts/myriad-pro/MYRIADPRO-REGULAR.OTF b/public/assets/fonts/myriad-pro/MYRIADPRO-REGULAR.OTF new file mode 100644 index 0000000..5097866 Binary files /dev/null and b/public/assets/fonts/myriad-pro/MYRIADPRO-REGULAR.OTF differ diff --git a/public/assets/fonts/myriad-pro/MYRIADPRO-SEMIBOLD.OTF b/public/assets/fonts/myriad-pro/MYRIADPRO-SEMIBOLD.OTF new file mode 100644 index 0000000..18ff7db Binary files /dev/null and b/public/assets/fonts/myriad-pro/MYRIADPRO-SEMIBOLD.OTF differ diff --git a/public/assets/images/Group_7168.png b/public/assets/images/Group_7168.png new file mode 100644 index 0000000..bc07a47 Binary files /dev/null and b/public/assets/images/Group_7168.png differ diff --git a/public/assets/images/accountActivationNews/arrow.png b/public/assets/images/accountActivationNews/arrow.png new file mode 100644 index 0000000..a9c2906 Binary files /dev/null and b/public/assets/images/accountActivationNews/arrow.png differ diff --git a/public/assets/images/accountActivationNews/ico_computer.png b/public/assets/images/accountActivationNews/ico_computer.png new file mode 100644 index 0000000..7d1d3fa Binary files /dev/null and b/public/assets/images/accountActivationNews/ico_computer.png differ diff --git a/public/assets/images/accountActivationNews/ico_mobile.png b/public/assets/images/accountActivationNews/ico_mobile.png new file mode 100644 index 0000000..f1a3929 Binary files /dev/null and b/public/assets/images/accountActivationNews/ico_mobile.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_acc_1_1.png b/public/assets/images/accountActivationNews/mobile_student_acc_1_1.png new file mode 100644 index 0000000..6ec01d5 Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_acc_1_1.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_acc_1_2.png b/public/assets/images/accountActivationNews/mobile_student_acc_1_2.png new file mode 100644 index 0000000..129120b Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_acc_1_2.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_acc_2_1.png b/public/assets/images/accountActivationNews/mobile_student_acc_2_1.png new file mode 100644 index 0000000..cbb40bb Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_acc_2_1.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_acc_3_1.png b/public/assets/images/accountActivationNews/mobile_student_acc_3_1.png new file mode 100644 index 0000000..ecb08ac Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_acc_3_1.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_acc_3_2.png b/public/assets/images/accountActivationNews/mobile_student_acc_3_2.png new file mode 100644 index 0000000..a1de2ce Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_acc_3_2.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_acc_3_3.png b/public/assets/images/accountActivationNews/mobile_student_acc_3_3.png new file mode 100644 index 0000000..2fcd1ad Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_acc_3_3.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_acc_4_1.png b/public/assets/images/accountActivationNews/mobile_student_acc_4_1.png new file mode 100644 index 0000000..bad1a7d Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_acc_4_1.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_acc_4_2.png b/public/assets/images/accountActivationNews/mobile_student_acc_4_2.png new file mode 100644 index 0000000..0501794 Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_acc_4_2.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_acc_4_3.png b/public/assets/images/accountActivationNews/mobile_student_acc_4_3.png new file mode 100644 index 0000000..8f1a099 Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_acc_4_3.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_package_2.png b/public/assets/images/accountActivationNews/mobile_student_package_2.png new file mode 100644 index 0000000..6e09e19 Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_package_2.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_package_3.png b/public/assets/images/accountActivationNews/mobile_student_package_3.png new file mode 100644 index 0000000..f1668c7 Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_package_3.png differ diff --git a/public/assets/images/accountActivationNews/mobile_student_package_4.png b/public/assets/images/accountActivationNews/mobile_student_package_4.png new file mode 100644 index 0000000..26f88d4 Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_student_package_4.png differ diff --git a/public/assets/images/accountActivationNews/mobile_teacher_acc_1_1.png b/public/assets/images/accountActivationNews/mobile_teacher_acc_1_1.png new file mode 100644 index 0000000..dc144e8 Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_teacher_acc_1_1.png differ diff --git a/public/assets/images/accountActivationNews/mobile_teacher_acc_1_2.png b/public/assets/images/accountActivationNews/mobile_teacher_acc_1_2.png new file mode 100644 index 0000000..4c3152c Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_teacher_acc_1_2.png differ diff --git a/public/assets/images/accountActivationNews/mobile_teacher_acc_3_2.png b/public/assets/images/accountActivationNews/mobile_teacher_acc_3_2.png new file mode 100644 index 0000000..a9d4a7c Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_teacher_acc_3_2.png differ diff --git a/public/assets/images/accountActivationNews/mobile_teacher_acc_3_3.png b/public/assets/images/accountActivationNews/mobile_teacher_acc_3_3.png new file mode 100644 index 0000000..9bf3a25 Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_teacher_acc_3_3.png differ diff --git a/public/assets/images/accountActivationNews/mobile_teacher_acc_4_1.png b/public/assets/images/accountActivationNews/mobile_teacher_acc_4_1.png new file mode 100644 index 0000000..8615884 Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_teacher_acc_4_1.png differ diff --git a/public/assets/images/accountActivationNews/mobile_teacher_acc_4_2.png b/public/assets/images/accountActivationNews/mobile_teacher_acc_4_2.png new file mode 100644 index 0000000..a8a526a Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_teacher_acc_4_2.png differ diff --git a/public/assets/images/accountActivationNews/mobile_teacher_acc_5_1.png b/public/assets/images/accountActivationNews/mobile_teacher_acc_5_1.png new file mode 100644 index 0000000..287abbb Binary files /dev/null and b/public/assets/images/accountActivationNews/mobile_teacher_acc_5_1.png differ diff --git a/public/assets/images/accountActivationNews/pc_student_acc_2.png b/public/assets/images/accountActivationNews/pc_student_acc_2.png new file mode 100644 index 0000000..3a2d60d Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_student_acc_2.png differ diff --git a/public/assets/images/accountActivationNews/pc_student_acc_3.png b/public/assets/images/accountActivationNews/pc_student_acc_3.png new file mode 100644 index 0000000..01048d7 Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_student_acc_3.png differ diff --git a/public/assets/images/accountActivationNews/pc_student_acc_4.png b/public/assets/images/accountActivationNews/pc_student_acc_4.png new file mode 100644 index 0000000..9fe9d5f Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_student_acc_4.png differ diff --git a/public/assets/images/accountActivationNews/pc_student_acc_5.png b/public/assets/images/accountActivationNews/pc_student_acc_5.png new file mode 100644 index 0000000..f5e6f69 Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_student_acc_5.png differ diff --git a/public/assets/images/accountActivationNews/pc_student_acc_6.png b/public/assets/images/accountActivationNews/pc_student_acc_6.png new file mode 100644 index 0000000..d057bd4 Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_student_acc_6.png differ diff --git a/public/assets/images/accountActivationNews/pc_student_package_2.png b/public/assets/images/accountActivationNews/pc_student_package_2.png new file mode 100644 index 0000000..85b92e3 Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_student_package_2.png differ diff --git a/public/assets/images/accountActivationNews/pc_student_package_3.png b/public/assets/images/accountActivationNews/pc_student_package_3.png new file mode 100644 index 0000000..182aceb Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_student_package_3.png differ diff --git a/public/assets/images/accountActivationNews/pc_teacher_acc_3.png b/public/assets/images/accountActivationNews/pc_teacher_acc_3.png new file mode 100644 index 0000000..3a0c2ce Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_teacher_acc_3.png differ diff --git a/public/assets/images/accountActivationNews/pc_teacher_acc_4.png b/public/assets/images/accountActivationNews/pc_teacher_acc_4.png new file mode 100644 index 0000000..f50603b Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_teacher_acc_4.png differ diff --git a/public/assets/images/accountActivationNews/pc_teacher_acc_5_1.png b/public/assets/images/accountActivationNews/pc_teacher_acc_5_1.png new file mode 100644 index 0000000..5dd26f1 Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_teacher_acc_5_1.png differ diff --git a/public/assets/images/accountActivationNews/pc_teacher_acc_5_2.png b/public/assets/images/accountActivationNews/pc_teacher_acc_5_2.png new file mode 100644 index 0000000..ba566ea Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_teacher_acc_5_2.png differ diff --git a/public/assets/images/accountActivationNews/pc_teacher_acc_5_3.png b/public/assets/images/accountActivationNews/pc_teacher_acc_5_3.png new file mode 100644 index 0000000..e26a96b Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_teacher_acc_5_3.png differ diff --git a/public/assets/images/accountActivationNews/pc_teacher_acc_5_4.png b/public/assets/images/accountActivationNews/pc_teacher_acc_5_4.png new file mode 100644 index 0000000..82f48a7 Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_teacher_acc_5_4.png differ diff --git a/public/assets/images/accountActivationNews/pc_teacher_acc_6_1.png b/public/assets/images/accountActivationNews/pc_teacher_acc_6_1.png new file mode 100644 index 0000000..ec37f96 Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_teacher_acc_6_1.png differ diff --git a/public/assets/images/accountActivationNews/pc_teacher_acc_6_2.png b/public/assets/images/accountActivationNews/pc_teacher_acc_6_2.png new file mode 100644 index 0000000..6fa0770 Binary files /dev/null and b/public/assets/images/accountActivationNews/pc_teacher_acc_6_2.png differ diff --git a/public/assets/images/accountActivationNews/slide.png b/public/assets/images/accountActivationNews/slide.png new file mode 100644 index 0000000..c4a7bef Binary files /dev/null and b/public/assets/images/accountActivationNews/slide.png differ diff --git a/public/assets/images/accountActivationNews/slide_mobile.png b/public/assets/images/accountActivationNews/slide_mobile.png new file mode 100644 index 0000000..89d22be Binary files /dev/null and b/public/assets/images/accountActivationNews/slide_mobile.png differ diff --git a/public/assets/images/arrow_left_circle.png b/public/assets/images/arrow_left_circle.png new file mode 100644 index 0000000..df31650 Binary files /dev/null and b/public/assets/images/arrow_left_circle.png differ diff --git a/public/assets/images/arrow_right_circle.png b/public/assets/images/arrow_right_circle.png new file mode 100644 index 0000000..dfef10b Binary files /dev/null and b/public/assets/images/arrow_right_circle.png differ diff --git a/public/assets/images/auth/img_gen_female_active.png b/public/assets/images/auth/img_gen_female_active.png new file mode 100644 index 0000000..df32b7f Binary files /dev/null and b/public/assets/images/auth/img_gen_female_active.png differ diff --git a/public/assets/images/auth/img_gen_female_disabled.png b/public/assets/images/auth/img_gen_female_disabled.png new file mode 100644 index 0000000..7032b1a Binary files /dev/null and b/public/assets/images/auth/img_gen_female_disabled.png differ diff --git a/public/assets/images/auth/img_gen_male_active.png b/public/assets/images/auth/img_gen_male_active.png new file mode 100644 index 0000000..8548689 Binary files /dev/null and b/public/assets/images/auth/img_gen_male_active.png differ diff --git a/public/assets/images/auth/img_gen_male_disabled.png b/public/assets/images/auth/img_gen_male_disabled.png new file mode 100644 index 0000000..8191970 Binary files /dev/null and b/public/assets/images/auth/img_gen_male_disabled.png differ diff --git a/public/assets/images/auth/parent.png b/public/assets/images/auth/parent.png new file mode 100644 index 0000000..ef20e7f Binary files /dev/null and b/public/assets/images/auth/parent.png differ diff --git a/public/assets/images/auth/student.png b/public/assets/images/auth/student.png new file mode 100644 index 0000000..e5014f1 Binary files /dev/null and b/public/assets/images/auth/student.png differ diff --git a/public/assets/images/auth/teacher.png b/public/assets/images/auth/teacher.png new file mode 100644 index 0000000..fdd6b74 Binary files /dev/null and b/public/assets/images/auth/teacher.png differ diff --git a/public/assets/images/authNews/bg_login.png b/public/assets/images/authNews/bg_login.png new file mode 100644 index 0000000..0e7aa1c Binary files /dev/null and b/public/assets/images/authNews/bg_login.png differ diff --git a/public/assets/images/authNews/ico_birthday.png b/public/assets/images/authNews/ico_birthday.png new file mode 100644 index 0000000..8e1cf6c Binary files /dev/null and b/public/assets/images/authNews/ico_birthday.png differ diff --git a/public/assets/images/authNews/ico_cf_password.png b/public/assets/images/authNews/ico_cf_password.png new file mode 100644 index 0000000..35bf624 Binary files /dev/null and b/public/assets/images/authNews/ico_cf_password.png differ diff --git a/public/assets/images/authNews/ico_city.png b/public/assets/images/authNews/ico_city.png new file mode 100644 index 0000000..1d8a99c Binary files /dev/null and b/public/assets/images/authNews/ico_city.png differ diff --git a/public/assets/images/authNews/ico_district.png b/public/assets/images/authNews/ico_district.png new file mode 100644 index 0000000..ede3c81 Binary files /dev/null and b/public/assets/images/authNews/ico_district.png differ diff --git a/public/assets/images/authNews/ico_email.png b/public/assets/images/authNews/ico_email.png new file mode 100644 index 0000000..4cc1273 Binary files /dev/null and b/public/assets/images/authNews/ico_email.png differ diff --git a/public/assets/images/authNews/ico_gender.png b/public/assets/images/authNews/ico_gender.png new file mode 100644 index 0000000..8bdc8fd Binary files /dev/null and b/public/assets/images/authNews/ico_gender.png differ diff --git a/public/assets/images/authNews/ico_gg.png b/public/assets/images/authNews/ico_gg.png new file mode 100644 index 0000000..2ddad1f Binary files /dev/null and b/public/assets/images/authNews/ico_gg.png differ diff --git a/public/assets/images/authNews/ico_grade.png b/public/assets/images/authNews/ico_grade.png new file mode 100644 index 0000000..88bd05b Binary files /dev/null and b/public/assets/images/authNews/ico_grade.png differ diff --git a/public/assets/images/authNews/ico_home_address.png b/public/assets/images/authNews/ico_home_address.png new file mode 100644 index 0000000..f84ba59 Binary files /dev/null and b/public/assets/images/authNews/ico_home_address.png differ diff --git a/public/assets/images/authNews/ico_name.png b/public/assets/images/authNews/ico_name.png new file mode 100644 index 0000000..dfa273e Binary files /dev/null and b/public/assets/images/authNews/ico_name.png differ diff --git a/public/assets/images/authNews/ico_password.png b/public/assets/images/authNews/ico_password.png new file mode 100644 index 0000000..f588dcf Binary files /dev/null and b/public/assets/images/authNews/ico_password.png differ diff --git a/public/assets/images/authNews/ico_phone.png b/public/assets/images/authNews/ico_phone.png new file mode 100644 index 0000000..3176f79 Binary files /dev/null and b/public/assets/images/authNews/ico_phone.png differ diff --git a/public/assets/images/authNews/ico_school.png b/public/assets/images/authNews/ico_school.png new file mode 100644 index 0000000..3316dff Binary files /dev/null and b/public/assets/images/authNews/ico_school.png differ diff --git a/public/assets/images/authNews/ico_search.png b/public/assets/images/authNews/ico_search.png new file mode 100644 index 0000000..7f10bd6 Binary files /dev/null and b/public/assets/images/authNews/ico_search.png differ diff --git a/public/assets/images/authNews/ico_tick_select.png b/public/assets/images/authNews/ico_tick_select.png new file mode 100644 index 0000000..1e7eb67 Binary files /dev/null and b/public/assets/images/authNews/ico_tick_select.png differ diff --git a/public/assets/images/authNews/open_eye.png b/public/assets/images/authNews/open_eye.png new file mode 100644 index 0000000..0195bcf Binary files /dev/null and b/public/assets/images/authNews/open_eye.png differ diff --git a/public/assets/images/authNews/parent.png b/public/assets/images/authNews/parent.png new file mode 100644 index 0000000..4e3f79d Binary files /dev/null and b/public/assets/images/authNews/parent.png differ diff --git a/public/assets/images/authNews/qr_app_store.png b/public/assets/images/authNews/qr_app_store.png new file mode 100644 index 0000000..4d52a3b Binary files /dev/null and b/public/assets/images/authNews/qr_app_store.png differ diff --git a/public/assets/images/authNews/qr_gg_play.png b/public/assets/images/authNews/qr_gg_play.png new file mode 100644 index 0000000..d5d7740 Binary files /dev/null and b/public/assets/images/authNews/qr_gg_play.png differ diff --git a/public/assets/images/authNews/student.png b/public/assets/images/authNews/student.png new file mode 100644 index 0000000..6576ae4 Binary files /dev/null and b/public/assets/images/authNews/student.png differ diff --git a/public/assets/images/authNews/teacher.png b/public/assets/images/authNews/teacher.png new file mode 100644 index 0000000..b919dd0 Binary files /dev/null and b/public/assets/images/authNews/teacher.png differ diff --git a/public/assets/images/authNews/visible.png b/public/assets/images/authNews/visible.png new file mode 100644 index 0000000..48be14c Binary files /dev/null and b/public/assets/images/authNews/visible.png differ diff --git a/public/assets/images/banner_contact.png b/public/assets/images/banner_contact.png new file mode 100644 index 0000000..e01c199 Binary files /dev/null and b/public/assets/images/banner_contact.png differ diff --git a/public/assets/images/banner_contact_mobile.png b/public/assets/images/banner_contact_mobile.png new file mode 100644 index 0000000..40aa212 Binary files /dev/null and b/public/assets/images/banner_contact_mobile.png differ diff --git a/public/assets/images/banner_side.png b/public/assets/images/banner_side.png new file mode 100644 index 0000000..4fbd770 Binary files /dev/null and b/public/assets/images/banner_side.png differ diff --git a/public/assets/images/banner_side_mobile.png b/public/assets/images/banner_side_mobile.png new file mode 100644 index 0000000..2340b3c Binary files /dev/null and b/public/assets/images/banner_side_mobile.png differ diff --git a/public/assets/images/banner_upgrade_account.png b/public/assets/images/banner_upgrade_account.png new file mode 100644 index 0000000..e67b492 Binary files /dev/null and b/public/assets/images/banner_upgrade_account.png differ diff --git a/public/assets/images/banner_upgrade_account_teacher.png b/public/assets/images/banner_upgrade_account_teacher.png new file mode 100644 index 0000000..53b4dc8 Binary files /dev/null and b/public/assets/images/banner_upgrade_account_teacher.png differ diff --git a/public/assets/images/bg-detail-unit.jpg b/public/assets/images/bg-detail-unit.jpg new file mode 100644 index 0000000..6f90c47 Binary files /dev/null and b/public/assets/images/bg-detail-unit.jpg differ diff --git a/public/assets/images/bg-result-exam.png b/public/assets/images/bg-result-exam.png new file mode 100644 index 0000000..7b620e2 Binary files /dev/null and b/public/assets/images/bg-result-exam.png differ diff --git a/public/assets/images/bg_add_student.png b/public/assets/images/bg_add_student.png new file mode 100644 index 0000000..eabc1a6 Binary files /dev/null and b/public/assets/images/bg_add_student.png differ diff --git a/public/assets/images/bg_auth.png b/public/assets/images/bg_auth.png new file mode 100644 index 0000000..02a78f8 Binary files /dev/null and b/public/assets/images/bg_auth.png differ diff --git a/public/assets/images/bg_auth_full.png b/public/assets/images/bg_auth_full.png new file mode 100644 index 0000000..563bd4d Binary files /dev/null and b/public/assets/images/bg_auth_full.png differ diff --git a/public/assets/images/bg_auth_full_1.png b/public/assets/images/bg_auth_full_1.png new file mode 100644 index 0000000..0dda273 Binary files /dev/null and b/public/assets/images/bg_auth_full_1.png differ diff --git a/public/assets/images/bg_auth_full_2.png b/public/assets/images/bg_auth_full_2.png new file mode 100644 index 0000000..b1ee7d4 Binary files /dev/null and b/public/assets/images/bg_auth_full_2.png differ diff --git a/public/assets/images/bg_gv.png b/public/assets/images/bg_gv.png new file mode 100644 index 0000000..b260da8 Binary files /dev/null and b/public/assets/images/bg_gv.png differ diff --git a/public/assets/images/bg_login.png b/public/assets/images/bg_login.png new file mode 100644 index 0000000..83c9a88 Binary files /dev/null and b/public/assets/images/bg_login.png differ diff --git a/public/assets/images/bg_register.png b/public/assets/images/bg_register.png new file mode 100644 index 0000000..c326ba0 Binary files /dev/null and b/public/assets/images/bg_register.png differ diff --git a/public/assets/images/chambai/Group 5107.png b/public/assets/images/chambai/Group 5107.png new file mode 100644 index 0000000..32dab5c Binary files /dev/null and b/public/assets/images/chambai/Group 5107.png differ diff --git a/public/assets/images/chambai/Group 5263.png b/public/assets/images/chambai/Group 5263.png new file mode 100644 index 0000000..9e47896 Binary files /dev/null and b/public/assets/images/chambai/Group 5263.png differ diff --git a/public/assets/images/chambai/Group 5280.png b/public/assets/images/chambai/Group 5280.png new file mode 100644 index 0000000..10a74d6 Binary files /dev/null and b/public/assets/images/chambai/Group 5280.png differ diff --git a/public/assets/images/chambai/Group 6074.png b/public/assets/images/chambai/Group 6074.png new file mode 100644 index 0000000..4a46d72 Binary files /dev/null and b/public/assets/images/chambai/Group 6074.png differ diff --git a/public/assets/images/chambai/Group 6076.png b/public/assets/images/chambai/Group 6076.png new file mode 100644 index 0000000..aed7734 Binary files /dev/null and b/public/assets/images/chambai/Group 6076.png differ diff --git a/public/assets/images/chambai/Group 6135.png b/public/assets/images/chambai/Group 6135.png new file mode 100644 index 0000000..825ff11 Binary files /dev/null and b/public/assets/images/chambai/Group 6135.png differ diff --git a/public/assets/images/chambai/Group 6144.png b/public/assets/images/chambai/Group 6144.png new file mode 100644 index 0000000..aa6fd49 Binary files /dev/null and b/public/assets/images/chambai/Group 6144.png differ diff --git a/public/assets/images/chambai/HOCVIEN-CLASS.png b/public/assets/images/chambai/HOCVIEN-CLASS.png new file mode 100644 index 0000000..91e8780 Binary files /dev/null and b/public/assets/images/chambai/HOCVIEN-CLASS.png differ diff --git a/public/assets/images/chambai/Path 21632.png b/public/assets/images/chambai/Path 21632.png new file mode 100644 index 0000000..3f312d5 Binary files /dev/null and b/public/assets/images/chambai/Path 21632.png differ diff --git a/public/assets/images/chambai/Path 232.png b/public/assets/images/chambai/Path 232.png new file mode 100644 index 0000000..8be49cf Binary files /dev/null and b/public/assets/images/chambai/Path 232.png differ diff --git a/public/assets/images/chambai/Path 23237.png b/public/assets/images/chambai/Path 23237.png new file mode 100644 index 0000000..9a2fd09 Binary files /dev/null and b/public/assets/images/chambai/Path 23237.png differ diff --git a/public/assets/images/chambai/badge-vodich.png b/public/assets/images/chambai/badge-vodich.png new file mode 100644 index 0000000..ad144ad Binary files /dev/null and b/public/assets/images/chambai/badge-vodich.png differ diff --git a/public/assets/images/chambai/badge-vodich1.png b/public/assets/images/chambai/badge-vodich1.png new file mode 100644 index 0000000..0c61d04 Binary files /dev/null and b/public/assets/images/chambai/badge-vodich1.png differ diff --git a/public/assets/images/chambai/badge-vodich2.png b/public/assets/images/chambai/badge-vodich2.png new file mode 100644 index 0000000..81f48e7 Binary files /dev/null and b/public/assets/images/chambai/badge-vodich2.png differ diff --git a/public/assets/images/chambai/badge-vodich3.png b/public/assets/images/chambai/badge-vodich3.png new file mode 100644 index 0000000..8512a41 Binary files /dev/null and b/public/assets/images/chambai/badge-vodich3.png differ diff --git a/public/assets/images/chambai/ico_+.png b/public/assets/images/chambai/ico_+.png new file mode 100644 index 0000000..0a6c189 Binary files /dev/null and b/public/assets/images/chambai/ico_+.png differ diff --git a/public/assets/images/chambai/ico_add_small.png b/public/assets/images/chambai/ico_add_small.png new file mode 100644 index 0000000..0fe6d08 Binary files /dev/null and b/public/assets/images/chambai/ico_add_small.png differ diff --git a/public/assets/images/chambai/ico_avt_detail.png b/public/assets/images/chambai/ico_avt_detail.png new file mode 100644 index 0000000..684c12f Binary files /dev/null and b/public/assets/images/chambai/ico_avt_detail.png differ diff --git a/public/assets/images/chambai/ico_clock_orange.png b/public/assets/images/chambai/ico_clock_orange.png new file mode 100644 index 0000000..49578fd Binary files /dev/null and b/public/assets/images/chambai/ico_clock_orange.png differ diff --git a/public/assets/images/chambai/ico_email.png b/public/assets/images/chambai/ico_email.png new file mode 100644 index 0000000..141127c Binary files /dev/null and b/public/assets/images/chambai/ico_email.png differ diff --git a/public/assets/images/chambai/ico_remove_small.png b/public/assets/images/chambai/ico_remove_small.png new file mode 100644 index 0000000..24f3db1 Binary files /dev/null and b/public/assets/images/chambai/ico_remove_small.png differ diff --git a/public/assets/images/chambai/ico_right.png b/public/assets/images/chambai/ico_right.png new file mode 100644 index 0000000..a3ca709 Binary files /dev/null and b/public/assets/images/chambai/ico_right.png differ diff --git a/public/assets/images/coursesNews/bg_content_1.png b/public/assets/images/coursesNews/bg_content_1.png new file mode 100644 index 0000000..391f9c8 Binary files /dev/null and b/public/assets/images/coursesNews/bg_content_1.png differ diff --git a/public/assets/images/coursesNews/book_baby.png b/public/assets/images/coursesNews/book_baby.png new file mode 100644 index 0000000..0b819dd Binary files /dev/null and b/public/assets/images/coursesNews/book_baby.png differ diff --git a/public/assets/images/coursesNews/book_box.png b/public/assets/images/coursesNews/book_box.png new file mode 100644 index 0000000..c252d61 Binary files /dev/null and b/public/assets/images/coursesNews/book_box.png differ diff --git a/public/assets/images/coursesNews/border_1.png b/public/assets/images/coursesNews/border_1.png new file mode 100644 index 0000000..b83fb91 Binary files /dev/null and b/public/assets/images/coursesNews/border_1.png differ diff --git a/public/assets/images/coursesNews/border_2.png b/public/assets/images/coursesNews/border_2.png new file mode 100644 index 0000000..0cea0d9 Binary files /dev/null and b/public/assets/images/coursesNews/border_2.png differ diff --git a/public/assets/images/coursesNews/clock_box.png b/public/assets/images/coursesNews/clock_box.png new file mode 100644 index 0000000..b74fb07 Binary files /dev/null and b/public/assets/images/coursesNews/clock_box.png differ diff --git a/public/assets/images/coursesNews/earth.png b/public/assets/images/coursesNews/earth.png new file mode 100644 index 0000000..f7cdb01 Binary files /dev/null and b/public/assets/images/coursesNews/earth.png differ diff --git a/public/assets/images/coursesNews/img_courses_tree.png b/public/assets/images/coursesNews/img_courses_tree.png new file mode 100644 index 0000000..f516a7b Binary files /dev/null and b/public/assets/images/coursesNews/img_courses_tree.png differ diff --git a/public/assets/images/coursesNews/img_item_2.png b/public/assets/images/coursesNews/img_item_2.png new file mode 100644 index 0000000..eb6de3d Binary files /dev/null and b/public/assets/images/coursesNews/img_item_2.png differ diff --git a/public/assets/images/coursesNews/img_item_3.png b/public/assets/images/coursesNews/img_item_3.png new file mode 100644 index 0000000..38664f4 Binary files /dev/null and b/public/assets/images/coursesNews/img_item_3.png differ diff --git a/public/assets/images/coursesNews/img_item_4.png b/public/assets/images/coursesNews/img_item_4.png new file mode 100644 index 0000000..455542b Binary files /dev/null and b/public/assets/images/coursesNews/img_item_4.png differ diff --git a/public/assets/images/coursesNews/img_student_1.png b/public/assets/images/coursesNews/img_student_1.png new file mode 100644 index 0000000..4615662 Binary files /dev/null and b/public/assets/images/coursesNews/img_student_1.png differ diff --git a/public/assets/images/coursesNews/img_student_2.png b/public/assets/images/coursesNews/img_student_2.png new file mode 100644 index 0000000..bd53554 Binary files /dev/null and b/public/assets/images/coursesNews/img_student_2.png differ diff --git a/public/assets/images/coursesNews/older/2.png b/public/assets/images/coursesNews/older/2.png new file mode 100644 index 0000000..e3af62f Binary files /dev/null and b/public/assets/images/coursesNews/older/2.png differ diff --git a/public/assets/images/coursesNews/older/3.png b/public/assets/images/coursesNews/older/3.png new file mode 100644 index 0000000..1ffbbaf Binary files /dev/null and b/public/assets/images/coursesNews/older/3.png differ diff --git a/public/assets/images/coursesNews/older/banner.png b/public/assets/images/coursesNews/older/banner.png new file mode 100644 index 0000000..e01c199 Binary files /dev/null and b/public/assets/images/coursesNews/older/banner.png differ diff --git a/public/assets/images/coursesNews/older/border1.png b/public/assets/images/coursesNews/older/border1.png new file mode 100644 index 0000000..968ca96 Binary files /dev/null and b/public/assets/images/coursesNews/older/border1.png differ diff --git a/public/assets/images/coursesNews/older/border2.png b/public/assets/images/coursesNews/older/border2.png new file mode 100644 index 0000000..5bae8d1 Binary files /dev/null and b/public/assets/images/coursesNews/older/border2.png differ diff --git a/public/assets/images/coursesNews/older/grade6.png b/public/assets/images/coursesNews/older/grade6.png new file mode 100644 index 0000000..8b2aa8d Binary files /dev/null and b/public/assets/images/coursesNews/older/grade6.png differ diff --git a/public/assets/images/coursesNews/older/grade7.png b/public/assets/images/coursesNews/older/grade7.png new file mode 100644 index 0000000..373dfdb Binary files /dev/null and b/public/assets/images/coursesNews/older/grade7.png differ diff --git a/public/assets/images/coursesNews/older/grade8.png b/public/assets/images/coursesNews/older/grade8.png new file mode 100644 index 0000000..910ab06 Binary files /dev/null and b/public/assets/images/coursesNews/older/grade8.png differ diff --git a/public/assets/images/coursesNews/older/grade9.png b/public/assets/images/coursesNews/older/grade9.png new file mode 100644 index 0000000..d19481f Binary files /dev/null and b/public/assets/images/coursesNews/older/grade9.png differ diff --git a/public/assets/images/coursesNews/parent_box.png b/public/assets/images/coursesNews/parent_box.png new file mode 100644 index 0000000..7c502f4 Binary files /dev/null and b/public/assets/images/coursesNews/parent_box.png differ diff --git a/public/assets/images/coursesNews/student_box.png b/public/assets/images/coursesNews/student_box.png new file mode 100644 index 0000000..2768a63 Binary files /dev/null and b/public/assets/images/coursesNews/student_box.png differ diff --git a/public/assets/images/coursesNews/table_convert.png b/public/assets/images/coursesNews/table_convert.png new file mode 100644 index 0000000..d5bdd3f Binary files /dev/null and b/public/assets/images/coursesNews/table_convert.png differ diff --git a/public/assets/images/coursesNews/table_convert_mobile.png b/public/assets/images/coursesNews/table_convert_mobile.png new file mode 100644 index 0000000..73df4e6 Binary files /dev/null and b/public/assets/images/coursesNews/table_convert_mobile.png differ diff --git a/public/assets/images/coursesNews/teacher_box.png b/public/assets/images/coursesNews/teacher_box.png new file mode 100644 index 0000000..109b4d3 Binary files /dev/null and b/public/assets/images/coursesNews/teacher_box.png differ diff --git a/public/assets/images/detail2.png b/public/assets/images/detail2.png new file mode 100644 index 0000000..454d584 Binary files /dev/null and b/public/assets/images/detail2.png differ diff --git a/public/assets/images/details.png b/public/assets/images/details.png new file mode 100644 index 0000000..a4c499b Binary files /dev/null and b/public/assets/images/details.png differ diff --git a/public/assets/images/empty_confirm_excercise.png b/public/assets/images/empty_confirm_excercise.png new file mode 100644 index 0000000..2a881f7 Binary files /dev/null and b/public/assets/images/empty_confirm_excercise.png differ diff --git a/public/assets/images/empty_excercise.png b/public/assets/images/empty_excercise.png new file mode 100644 index 0000000..20ec692 Binary files /dev/null and b/public/assets/images/empty_excercise.png differ diff --git a/public/assets/images/empty_leaderboard.png b/public/assets/images/empty_leaderboard.png new file mode 100644 index 0000000..fd472cc Binary files /dev/null and b/public/assets/images/empty_leaderboard.png differ diff --git a/public/assets/images/empty_messagebox.png b/public/assets/images/empty_messagebox.png new file mode 100644 index 0000000..94859b3 Binary files /dev/null and b/public/assets/images/empty_messagebox.png differ diff --git a/public/assets/images/entrance_body.png b/public/assets/images/entrance_body.png new file mode 100644 index 0000000..fb7a86f Binary files /dev/null and b/public/assets/images/entrance_body.png differ diff --git a/public/assets/images/entrance_header.png b/public/assets/images/entrance_header.png new file mode 100644 index 0000000..4cce8af Binary files /dev/null and b/public/assets/images/entrance_header.png differ diff --git a/public/assets/images/exam_empty.png b/public/assets/images/exam_empty.png new file mode 100644 index 0000000..eedaf3c Binary files /dev/null and b/public/assets/images/exam_empty.png differ diff --git a/public/assets/images/exam_history_empty.png b/public/assets/images/exam_history_empty.png new file mode 100644 index 0000000..4074633 Binary files /dev/null and b/public/assets/images/exam_history_empty.png differ diff --git a/public/assets/images/exam_not_found.png b/public/assets/images/exam_not_found.png new file mode 100644 index 0000000..abbb721 Binary files /dev/null and b/public/assets/images/exam_not_found.png differ diff --git a/public/assets/images/faqNews/feature_2_1.png b/public/assets/images/faqNews/feature_2_1.png new file mode 100644 index 0000000..ec82c85 Binary files /dev/null and b/public/assets/images/faqNews/feature_2_1.png differ diff --git a/public/assets/images/faqNews/feature_2_2.png b/public/assets/images/faqNews/feature_2_2.png new file mode 100644 index 0000000..4f8654f Binary files /dev/null and b/public/assets/images/faqNews/feature_2_2.png differ diff --git a/public/assets/images/faqNews/feature_2_3.png b/public/assets/images/faqNews/feature_2_3.png new file mode 100644 index 0000000..62fdd95 Binary files /dev/null and b/public/assets/images/faqNews/feature_2_3.png differ diff --git a/public/assets/images/faqNews/feature_2_4.png b/public/assets/images/faqNews/feature_2_4.png new file mode 100644 index 0000000..8f4cbcd Binary files /dev/null and b/public/assets/images/faqNews/feature_2_4.png differ diff --git a/public/assets/images/faqNews/feature_3_1.png b/public/assets/images/faqNews/feature_3_1.png new file mode 100644 index 0000000..0e7841b Binary files /dev/null and b/public/assets/images/faqNews/feature_3_1.png differ diff --git a/public/assets/images/faqNews/feature_3_2.png b/public/assets/images/faqNews/feature_3_2.png new file mode 100644 index 0000000..99315f1 Binary files /dev/null and b/public/assets/images/faqNews/feature_3_2.png differ diff --git a/public/assets/images/faqNews/feature_4_1.png b/public/assets/images/faqNews/feature_4_1.png new file mode 100644 index 0000000..66a19dd Binary files /dev/null and b/public/assets/images/faqNews/feature_4_1.png differ diff --git a/public/assets/images/faqNews/feature_4_2.png b/public/assets/images/faqNews/feature_4_2.png new file mode 100644 index 0000000..9e389ea Binary files /dev/null and b/public/assets/images/faqNews/feature_4_2.png differ diff --git a/public/assets/images/faqNews/feature_5_1.png b/public/assets/images/faqNews/feature_5_1.png new file mode 100644 index 0000000..b721e8c Binary files /dev/null and b/public/assets/images/faqNews/feature_5_1.png differ diff --git a/public/assets/images/faqNews/feature_5_2.png b/public/assets/images/faqNews/feature_5_2.png new file mode 100644 index 0000000..433a9fb Binary files /dev/null and b/public/assets/images/faqNews/feature_5_2.png differ diff --git a/public/assets/images/faqNews/feature_5_3.png b/public/assets/images/faqNews/feature_5_3.png new file mode 100644 index 0000000..929103e Binary files /dev/null and b/public/assets/images/faqNews/feature_5_3.png differ diff --git a/public/assets/images/faqNews/feature_5_4.png b/public/assets/images/faqNews/feature_5_4.png new file mode 100644 index 0000000..3ea75fd Binary files /dev/null and b/public/assets/images/faqNews/feature_5_4.png differ diff --git a/public/assets/images/faqNews/learning_1.png b/public/assets/images/faqNews/learning_1.png new file mode 100644 index 0000000..b5bb7a8 Binary files /dev/null and b/public/assets/images/faqNews/learning_1.png differ diff --git a/public/assets/images/faqNews/learning_2.png b/public/assets/images/faqNews/learning_2.png new file mode 100644 index 0000000..8198ae3 Binary files /dev/null and b/public/assets/images/faqNews/learning_2.png differ diff --git a/public/assets/images/faqNews/learning_2_1.png b/public/assets/images/faqNews/learning_2_1.png new file mode 100644 index 0000000..648aea5 Binary files /dev/null and b/public/assets/images/faqNews/learning_2_1.png differ diff --git a/public/assets/images/faqNews/learning_3_1.png b/public/assets/images/faqNews/learning_3_1.png new file mode 100644 index 0000000..2e5a3e4 Binary files /dev/null and b/public/assets/images/faqNews/learning_3_1.png differ diff --git a/public/assets/images/faqNews/learning_3_2.png b/public/assets/images/faqNews/learning_3_2.png new file mode 100644 index 0000000..545514a Binary files /dev/null and b/public/assets/images/faqNews/learning_3_2.png differ diff --git a/public/assets/images/faqNews/slide.png b/public/assets/images/faqNews/slide.png new file mode 100644 index 0000000..2c75d7a Binary files /dev/null and b/public/assets/images/faqNews/slide.png differ diff --git a/public/assets/images/faqNews/slide_mobile.png b/public/assets/images/faqNews/slide_mobile.png new file mode 100644 index 0000000..2a7367d Binary files /dev/null and b/public/assets/images/faqNews/slide_mobile.png differ diff --git a/public/assets/images/feeNews/bg_content.png b/public/assets/images/feeNews/bg_content.png new file mode 100644 index 0000000..c382c1c Binary files /dev/null and b/public/assets/images/feeNews/bg_content.png differ diff --git a/public/assets/images/feeNews/bg_diamond.png b/public/assets/images/feeNews/bg_diamond.png new file mode 100644 index 0000000..8e88c02 Binary files /dev/null and b/public/assets/images/feeNews/bg_diamond.png differ diff --git a/public/assets/images/feeNews/ico_payment.png b/public/assets/images/feeNews/ico_payment.png new file mode 100644 index 0000000..99b988d Binary files /dev/null and b/public/assets/images/feeNews/ico_payment.png differ diff --git a/public/assets/images/feeNews/slider_bg.png b/public/assets/images/feeNews/slider_bg.png new file mode 100644 index 0000000..4fbd770 Binary files /dev/null and b/public/assets/images/feeNews/slider_bg.png differ diff --git a/public/assets/images/feeNews/slider_bg_mobile.png b/public/assets/images/feeNews/slider_bg_mobile.png new file mode 100644 index 0000000..4767994 Binary files /dev/null and b/public/assets/images/feeNews/slider_bg_mobile.png differ diff --git a/public/assets/images/giaotrinh/avt_default_unit.png b/public/assets/images/giaotrinh/avt_default_unit.png new file mode 100644 index 0000000..67522cd Binary files /dev/null and b/public/assets/images/giaotrinh/avt_default_unit.png differ diff --git a/public/assets/images/giaotrinh/bg_gt.png b/public/assets/images/giaotrinh/bg_gt.png new file mode 100644 index 0000000..6747640 Binary files /dev/null and b/public/assets/images/giaotrinh/bg_gt.png differ diff --git a/public/assets/images/giaotrinh/bg_unit.png b/public/assets/images/giaotrinh/bg_unit.png new file mode 100644 index 0000000..e4813f7 Binary files /dev/null and b/public/assets/images/giaotrinh/bg_unit.png differ diff --git a/public/assets/images/giaotrinh/detais.png b/public/assets/images/giaotrinh/detais.png new file mode 100644 index 0000000..b8f0029 Binary files /dev/null and b/public/assets/images/giaotrinh/detais.png differ diff --git a/public/assets/images/giaotrinh/grammar.png b/public/assets/images/giaotrinh/grammar.png new file mode 100644 index 0000000..d1222c5 Binary files /dev/null and b/public/assets/images/giaotrinh/grammar.png differ diff --git a/public/assets/images/giaotrinh/ico_Aa.png b/public/assets/images/giaotrinh/ico_Aa.png new file mode 100644 index 0000000..bfb2749 Binary files /dev/null and b/public/assets/images/giaotrinh/ico_Aa.png differ diff --git a/public/assets/images/giaotrinh/ico_add_black.png b/public/assets/images/giaotrinh/ico_add_black.png new file mode 100644 index 0000000..07ab9fe Binary files /dev/null and b/public/assets/images/giaotrinh/ico_add_black.png differ diff --git a/public/assets/images/giaotrinh/ico_bar.png b/public/assets/images/giaotrinh/ico_bar.png new file mode 100644 index 0000000..67017fd Binary files /dev/null and b/public/assets/images/giaotrinh/ico_bar.png differ diff --git a/public/assets/images/giaotrinh/ico_bar_grid.png b/public/assets/images/giaotrinh/ico_bar_grid.png new file mode 100644 index 0000000..2c73b99 Binary files /dev/null and b/public/assets/images/giaotrinh/ico_bar_grid.png differ diff --git a/public/assets/images/giaotrinh/ico_book.png b/public/assets/images/giaotrinh/ico_book.png new file mode 100644 index 0000000..91411ff Binary files /dev/null and b/public/assets/images/giaotrinh/ico_book.png differ diff --git a/public/assets/images/giaotrinh/ico_book_blue.png b/public/assets/images/giaotrinh/ico_book_blue.png new file mode 100644 index 0000000..c44cfbe Binary files /dev/null and b/public/assets/images/giaotrinh/ico_book_blue.png differ diff --git a/public/assets/images/giaotrinh/ico_gt.png b/public/assets/images/giaotrinh/ico_gt.png new file mode 100644 index 0000000..4d52c3f Binary files /dev/null and b/public/assets/images/giaotrinh/ico_gt.png differ diff --git a/public/assets/images/giaotrinh/ico_gt_hs.png b/public/assets/images/giaotrinh/ico_gt_hs.png new file mode 100644 index 0000000..c4cef21 Binary files /dev/null and b/public/assets/images/giaotrinh/ico_gt_hs.png differ diff --git a/public/assets/images/giaotrinh/ico_gt_sun.png b/public/assets/images/giaotrinh/ico_gt_sun.png new file mode 100644 index 0000000..82711c5 Binary files /dev/null and b/public/assets/images/giaotrinh/ico_gt_sun.png differ diff --git a/public/assets/images/giaotrinh/ico_heart.png b/public/assets/images/giaotrinh/ico_heart.png new file mode 100644 index 0000000..835c73f Binary files /dev/null and b/public/assets/images/giaotrinh/ico_heart.png differ diff --git a/public/assets/images/giaotrinh/ico_lock_b.png b/public/assets/images/giaotrinh/ico_lock_b.png new file mode 100644 index 0000000..e0e709a Binary files /dev/null and b/public/assets/images/giaotrinh/ico_lock_b.png differ diff --git a/public/assets/images/giaotrinh/ico_lock_r.png b/public/assets/images/giaotrinh/ico_lock_r.png new file mode 100644 index 0000000..dcb8d05 Binary files /dev/null and b/public/assets/images/giaotrinh/ico_lock_r.png differ diff --git a/public/assets/images/giaotrinh/ico_mes.png b/public/assets/images/giaotrinh/ico_mes.png new file mode 100644 index 0000000..8b3fd6c Binary files /dev/null and b/public/assets/images/giaotrinh/ico_mes.png differ diff --git a/public/assets/images/giaotrinh/ico_note.png b/public/assets/images/giaotrinh/ico_note.png new file mode 100644 index 0000000..a153eee Binary files /dev/null and b/public/assets/images/giaotrinh/ico_note.png differ diff --git a/public/assets/images/giaotrinh/ico_show_.png b/public/assets/images/giaotrinh/ico_show_.png new file mode 100644 index 0000000..3f836c6 Binary files /dev/null and b/public/assets/images/giaotrinh/ico_show_.png differ diff --git a/public/assets/images/giaotrinh/ico_unit.png b/public/assets/images/giaotrinh/ico_unit.png new file mode 100644 index 0000000..c2fd5c2 Binary files /dev/null and b/public/assets/images/giaotrinh/ico_unit.png differ diff --git a/public/assets/images/giaotrinh/icon_check.png b/public/assets/images/giaotrinh/icon_check.png new file mode 100644 index 0000000..5b33f24 Binary files /dev/null and b/public/assets/images/giaotrinh/icon_check.png differ diff --git a/public/assets/images/giaotrinh/icon_check_active.png b/public/assets/images/giaotrinh/icon_check_active.png new file mode 100644 index 0000000..8794144 Binary files /dev/null and b/public/assets/images/giaotrinh/icon_check_active.png differ diff --git a/public/assets/images/giaotrinh/icon_close.png b/public/assets/images/giaotrinh/icon_close.png new file mode 100644 index 0000000..065372f Binary files /dev/null and b/public/assets/images/giaotrinh/icon_close.png differ diff --git a/public/assets/images/giaotrinh/icon_close_active.png b/public/assets/images/giaotrinh/icon_close_active.png new file mode 100644 index 0000000..cc12c77 Binary files /dev/null and b/public/assets/images/giaotrinh/icon_close_active.png differ diff --git a/public/assets/images/giaotrinh/icon_empty_complete.png b/public/assets/images/giaotrinh/icon_empty_complete.png new file mode 100644 index 0000000..bd2f95c Binary files /dev/null and b/public/assets/images/giaotrinh/icon_empty_complete.png differ diff --git a/public/assets/images/giaotrinh/icon_empty_incomplete.png b/public/assets/images/giaotrinh/icon_empty_incomplete.png new file mode 100644 index 0000000..f7790be Binary files /dev/null and b/public/assets/images/giaotrinh/icon_empty_incomplete.png differ diff --git a/public/assets/images/giaotrinh/listening.png b/public/assets/images/giaotrinh/listening.png new file mode 100644 index 0000000..c1aa073 Binary files /dev/null and b/public/assets/images/giaotrinh/listening.png differ diff --git a/public/assets/images/giaotrinh/listenning.png b/public/assets/images/giaotrinh/listenning.png new file mode 100644 index 0000000..cd9bb5c Binary files /dev/null and b/public/assets/images/giaotrinh/listenning.png differ diff --git a/public/assets/images/giaotrinh/mini_test.png b/public/assets/images/giaotrinh/mini_test.png new file mode 100644 index 0000000..7c21853 Binary files /dev/null and b/public/assets/images/giaotrinh/mini_test.png differ diff --git a/public/assets/images/giaotrinh/project.png b/public/assets/images/giaotrinh/project.png new file mode 100644 index 0000000..bb16a83 Binary files /dev/null and b/public/assets/images/giaotrinh/project.png differ diff --git a/public/assets/images/giaotrinh/pronunciation.png b/public/assets/images/giaotrinh/pronunciation.png new file mode 100644 index 0000000..cd68073 Binary files /dev/null and b/public/assets/images/giaotrinh/pronunciation.png differ diff --git a/public/assets/images/giaotrinh/reading.png b/public/assets/images/giaotrinh/reading.png new file mode 100644 index 0000000..ee006b3 Binary files /dev/null and b/public/assets/images/giaotrinh/reading.png differ diff --git a/public/assets/images/giaotrinh/speaking.png b/public/assets/images/giaotrinh/speaking.png new file mode 100644 index 0000000..28aaf54 Binary files /dev/null and b/public/assets/images/giaotrinh/speaking.png differ diff --git a/public/assets/images/giaotrinh/vocabulary.png b/public/assets/images/giaotrinh/vocabulary.png new file mode 100644 index 0000000..bf72e6d Binary files /dev/null and b/public/assets/images/giaotrinh/vocabulary.png differ diff --git a/public/assets/images/giaotrinh/vocabulary_.png b/public/assets/images/giaotrinh/vocabulary_.png new file mode 100644 index 0000000..bfb2749 Binary files /dev/null and b/public/assets/images/giaotrinh/vocabulary_.png differ diff --git a/public/assets/images/giaotrinh/writing.png b/public/assets/images/giaotrinh/writing.png new file mode 100644 index 0000000..50a6476 Binary files /dev/null and b/public/assets/images/giaotrinh/writing.png differ diff --git a/public/assets/images/homeNews/content/banner_1.png b/public/assets/images/homeNews/content/banner_1.png new file mode 100644 index 0000000..2f27500 Binary files /dev/null and b/public/assets/images/homeNews/content/banner_1.png differ diff --git a/public/assets/images/homeNews/content/banner_1_mobile.png b/public/assets/images/homeNews/content/banner_1_mobile.png new file mode 100644 index 0000000..43929ec Binary files /dev/null and b/public/assets/images/homeNews/content/banner_1_mobile.png differ diff --git a/public/assets/images/homeNews/content/banner_2.png b/public/assets/images/homeNews/content/banner_2.png new file mode 100644 index 0000000..945fbfd Binary files /dev/null and b/public/assets/images/homeNews/content/banner_2.png differ diff --git a/public/assets/images/homeNews/content/banner_2_mobile.png b/public/assets/images/homeNews/content/banner_2_mobile.png new file mode 100644 index 0000000..d7a1c3f Binary files /dev/null and b/public/assets/images/homeNews/content/banner_2_mobile.png differ diff --git a/public/assets/images/homeNews/content/banner_3.png b/public/assets/images/homeNews/content/banner_3.png new file mode 100644 index 0000000..64739a7 Binary files /dev/null and b/public/assets/images/homeNews/content/banner_3.png differ diff --git a/public/assets/images/homeNews/content/banner_4.png b/public/assets/images/homeNews/content/banner_4.png new file mode 100644 index 0000000..03914f7 Binary files /dev/null and b/public/assets/images/homeNews/content/banner_4.png differ diff --git a/public/assets/images/homeNews/content/banner_advisement.png b/public/assets/images/homeNews/content/banner_advisement.png new file mode 100644 index 0000000..d7e17d0 Binary files /dev/null and b/public/assets/images/homeNews/content/banner_advisement.png differ diff --git a/public/assets/images/homeNews/content/bg_1.png b/public/assets/images/homeNews/content/bg_1.png new file mode 100644 index 0000000..578168d Binary files /dev/null and b/public/assets/images/homeNews/content/bg_1.png differ diff --git a/public/assets/images/homeNews/content/bg_advisement.png b/public/assets/images/homeNews/content/bg_advisement.png new file mode 100644 index 0000000..0bd6dc3 Binary files /dev/null and b/public/assets/images/homeNews/content/bg_advisement.png differ diff --git a/public/assets/images/homeNews/content/bg_advisement_mobile.png b/public/assets/images/homeNews/content/bg_advisement_mobile.png new file mode 100644 index 0000000..2a5cb7a Binary files /dev/null and b/public/assets/images/homeNews/content/bg_advisement_mobile.png differ diff --git a/public/assets/images/homeNews/content/bg_banner.png b/public/assets/images/homeNews/content/bg_banner.png new file mode 100644 index 0000000..8559798 Binary files /dev/null and b/public/assets/images/homeNews/content/bg_banner.png differ diff --git a/public/assets/images/homeNews/content/bg_banner_mobile.png b/public/assets/images/homeNews/content/bg_banner_mobile.png new file mode 100644 index 0000000..6001758 Binary files /dev/null and b/public/assets/images/homeNews/content/bg_banner_mobile.png differ diff --git a/public/assets/images/homeNews/content/bg_banner_teacher.png b/public/assets/images/homeNews/content/bg_banner_teacher.png new file mode 100644 index 0000000..1bb05f6 Binary files /dev/null and b/public/assets/images/homeNews/content/bg_banner_teacher.png differ diff --git a/public/assets/images/homeNews/content/bg_banner_top.png b/public/assets/images/homeNews/content/bg_banner_top.png new file mode 100644 index 0000000..6971f4c Binary files /dev/null and b/public/assets/images/homeNews/content/bg_banner_top.png differ diff --git a/public/assets/images/homeNews/content/bg_border_student.png b/public/assets/images/homeNews/content/bg_border_student.png new file mode 100644 index 0000000..5e34c94 Binary files /dev/null and b/public/assets/images/homeNews/content/bg_border_student.png differ diff --git a/public/assets/images/homeNews/content/bg_border_student_mobile.png b/public/assets/images/homeNews/content/bg_border_student_mobile.png new file mode 100644 index 0000000..9618b3f Binary files /dev/null and b/public/assets/images/homeNews/content/bg_border_student_mobile.png differ diff --git a/public/assets/images/homeNews/content/bg_text_parent.png b/public/assets/images/homeNews/content/bg_text_parent.png new file mode 100644 index 0000000..ac41a29 Binary files /dev/null and b/public/assets/images/homeNews/content/bg_text_parent.png differ diff --git a/public/assets/images/homeNews/content/bg_text_parent_1.png b/public/assets/images/homeNews/content/bg_text_parent_1.png new file mode 100644 index 0000000..a8b0c9d Binary files /dev/null and b/public/assets/images/homeNews/content/bg_text_parent_1.png differ diff --git a/public/assets/images/homeNews/content/icon/ico_bonus_center.png b/public/assets/images/homeNews/content/icon/ico_bonus_center.png new file mode 100644 index 0000000..6d5fb32 Binary files /dev/null and b/public/assets/images/homeNews/content/icon/ico_bonus_center.png differ diff --git a/public/assets/images/homeNews/content/icon/ico_dots_teacher.png b/public/assets/images/homeNews/content/icon/ico_dots_teacher.png new file mode 100644 index 0000000..bbc1181 Binary files /dev/null and b/public/assets/images/homeNews/content/icon/ico_dots_teacher.png differ diff --git a/public/assets/images/homeNews/content/icon/ico_half_circle.png b/public/assets/images/homeNews/content/icon/ico_half_circle.png new file mode 100644 index 0000000..0cdf296 Binary files /dev/null and b/public/assets/images/homeNews/content/icon/ico_half_circle.png differ diff --git a/public/assets/images/homeNews/content/icon/ico_half_circle_yellow.png b/public/assets/images/homeNews/content/icon/ico_half_circle_yellow.png new file mode 100644 index 0000000..495b632 Binary files /dev/null and b/public/assets/images/homeNews/content/icon/ico_half_circle_yellow.png differ diff --git a/public/assets/images/homeNews/content/icon/ico_left_teacher.png b/public/assets/images/homeNews/content/icon/ico_left_teacher.png new file mode 100644 index 0000000..74713a0 Binary files /dev/null and b/public/assets/images/homeNews/content/icon/ico_left_teacher.png differ diff --git a/public/assets/images/homeNews/content/icon/ico_left_trial.png b/public/assets/images/homeNews/content/icon/ico_left_trial.png new file mode 100644 index 0000000..817fb6a Binary files /dev/null and b/public/assets/images/homeNews/content/icon/ico_left_trial.png differ diff --git a/public/assets/images/homeNews/content/icon/ico_right_teacher.png b/public/assets/images/homeNews/content/icon/ico_right_teacher.png new file mode 100644 index 0000000..816e3e4 Binary files /dev/null and b/public/assets/images/homeNews/content/icon/ico_right_teacher.png differ diff --git a/public/assets/images/homeNews/content/icon/ico_right_trial.png b/public/assets/images/homeNews/content/icon/ico_right_trial.png new file mode 100644 index 0000000..24553e6 Binary files /dev/null and b/public/assets/images/homeNews/content/icon/ico_right_trial.png differ diff --git a/public/assets/images/homeNews/content/icon/ico_text_left.png b/public/assets/images/homeNews/content/icon/ico_text_left.png new file mode 100644 index 0000000..0da4e84 Binary files /dev/null and b/public/assets/images/homeNews/content/icon/ico_text_left.png differ diff --git a/public/assets/images/homeNews/content/icon/ico_text_right.png b/public/assets/images/homeNews/content/icon/ico_text_right.png new file mode 100644 index 0000000..8982f73 Binary files /dev/null and b/public/assets/images/homeNews/content/icon/ico_text_right.png differ diff --git a/public/assets/images/homeNews/content/icon/ico_top_teacher.png b/public/assets/images/homeNews/content/icon/ico_top_teacher.png new file mode 100644 index 0000000..ae9e997 Binary files /dev/null and b/public/assets/images/homeNews/content/icon/ico_top_teacher.png differ diff --git a/public/assets/images/homeNews/content/img_advisement_side.png b/public/assets/images/homeNews/content/img_advisement_side.png new file mode 100644 index 0000000..301fd2f Binary files /dev/null and b/public/assets/images/homeNews/content/img_advisement_side.png differ diff --git a/public/assets/images/homeNews/content/img_bn_top.png b/public/assets/images/homeNews/content/img_bn_top.png new file mode 100644 index 0000000..9fa60b9 Binary files /dev/null and b/public/assets/images/homeNews/content/img_bn_top.png differ diff --git a/public/assets/images/homeNews/content/img_detail_student_mobile.png b/public/assets/images/homeNews/content/img_detail_student_mobile.png new file mode 100644 index 0000000..f300828 Binary files /dev/null and b/public/assets/images/homeNews/content/img_detail_student_mobile.png differ diff --git a/public/assets/images/homeNews/content/parent/box_trial_parent.png b/public/assets/images/homeNews/content/parent/box_trial_parent.png new file mode 100644 index 0000000..ccc65e6 Binary files /dev/null and b/public/assets/images/homeNews/content/parent/box_trial_parent.png differ diff --git a/public/assets/images/homeNews/content/parent/ico_left_mobile.png b/public/assets/images/homeNews/content/parent/ico_left_mobile.png new file mode 100644 index 0000000..49429ed Binary files /dev/null and b/public/assets/images/homeNews/content/parent/ico_left_mobile.png differ diff --git a/public/assets/images/homeNews/content/parent/ico_left_parent.png b/public/assets/images/homeNews/content/parent/ico_left_parent.png new file mode 100644 index 0000000..3fa3ca7 Binary files /dev/null and b/public/assets/images/homeNews/content/parent/ico_left_parent.png differ diff --git a/public/assets/images/homeNews/content/parent/ico_right_mobile.png b/public/assets/images/homeNews/content/parent/ico_right_mobile.png new file mode 100644 index 0000000..3137ee3 Binary files /dev/null and b/public/assets/images/homeNews/content/parent/ico_right_mobile.png differ diff --git a/public/assets/images/homeNews/content/parent/ico_right_parent.png b/public/assets/images/homeNews/content/parent/ico_right_parent.png new file mode 100644 index 0000000..31902fc Binary files /dev/null and b/public/assets/images/homeNews/content/parent/ico_right_parent.png differ diff --git a/public/assets/images/homeNews/content/parent/ico_right_slider.png b/public/assets/images/homeNews/content/parent/ico_right_slider.png new file mode 100644 index 0000000..97c1d79 Binary files /dev/null and b/public/assets/images/homeNews/content/parent/ico_right_slider.png differ diff --git a/public/assets/images/homeNews/content/parent/ico_slider_right.png b/public/assets/images/homeNews/content/parent/ico_slider_right.png new file mode 100644 index 0000000..a8999c9 Binary files /dev/null and b/public/assets/images/homeNews/content/parent/ico_slider_right.png differ diff --git a/public/assets/images/homeNews/content/parent/ico_slider_right_mobile.png b/public/assets/images/homeNews/content/parent/ico_slider_right_mobile.png new file mode 100644 index 0000000..6f0c35d Binary files /dev/null and b/public/assets/images/homeNews/content/parent/ico_slider_right_mobile.png differ diff --git a/public/assets/images/homeNews/content/parent/item_1.png b/public/assets/images/homeNews/content/parent/item_1.png new file mode 100644 index 0000000..e5b0d64 Binary files /dev/null and b/public/assets/images/homeNews/content/parent/item_1.png differ diff --git a/public/assets/images/homeNews/content/parent/item_2.png b/public/assets/images/homeNews/content/parent/item_2.png new file mode 100644 index 0000000..a17e384 Binary files /dev/null and b/public/assets/images/homeNews/content/parent/item_2.png differ diff --git a/public/assets/images/homeNews/content/parent/item_3.png b/public/assets/images/homeNews/content/parent/item_3.png new file mode 100644 index 0000000..93b9abb Binary files /dev/null and b/public/assets/images/homeNews/content/parent/item_3.png differ diff --git a/public/assets/images/homeNews/content/parent/item_4.png b/public/assets/images/homeNews/content/parent/item_4.png new file mode 100644 index 0000000..dc0e007 Binary files /dev/null and b/public/assets/images/homeNews/content/parent/item_4.png differ diff --git a/public/assets/images/homeNews/content/parent/item_5.png b/public/assets/images/homeNews/content/parent/item_5.png new file mode 100644 index 0000000..8a78cf4 Binary files /dev/null and b/public/assets/images/homeNews/content/parent/item_5.png differ diff --git a/public/assets/images/homeNews/content/parent/item_6.png b/public/assets/images/homeNews/content/parent/item_6.png new file mode 100644 index 0000000..1046f71 Binary files /dev/null and b/public/assets/images/homeNews/content/parent/item_6.png differ diff --git a/public/assets/images/homeNews/content/parent/item_7.png b/public/assets/images/homeNews/content/parent/item_7.png new file mode 100644 index 0000000..799cc14 Binary files /dev/null and b/public/assets/images/homeNews/content/parent/item_7.png differ diff --git a/public/assets/images/homeNews/content/phone_slide.png b/public/assets/images/homeNews/content/phone_slide.png new file mode 100644 index 0000000..2260903 Binary files /dev/null and b/public/assets/images/homeNews/content/phone_slide.png differ diff --git a/public/assets/images/homeNews/content/slogan_1.png b/public/assets/images/homeNews/content/slogan_1.png new file mode 100644 index 0000000..7772c2c Binary files /dev/null and b/public/assets/images/homeNews/content/slogan_1.png differ diff --git a/public/assets/images/homeNews/content/slogan_1_infor.png b/public/assets/images/homeNews/content/slogan_1_infor.png new file mode 100644 index 0000000..030672e Binary files /dev/null and b/public/assets/images/homeNews/content/slogan_1_infor.png differ diff --git a/public/assets/images/homeNews/content/slogan_1_mobile.png b/public/assets/images/homeNews/content/slogan_1_mobile.png new file mode 100644 index 0000000..49d4a66 Binary files /dev/null and b/public/assets/images/homeNews/content/slogan_1_mobile.png differ diff --git a/public/assets/images/homeNews/content/slogan_teacher.png b/public/assets/images/homeNews/content/slogan_teacher.png new file mode 100644 index 0000000..7f02af8 Binary files /dev/null and b/public/assets/images/homeNews/content/slogan_teacher.png differ diff --git a/public/assets/images/homeNews/content/slogan_teacher_mobile.png b/public/assets/images/homeNews/content/slogan_teacher_mobile.png new file mode 100644 index 0000000..e60f3b8 Binary files /dev/null and b/public/assets/images/homeNews/content/slogan_teacher_mobile.png differ diff --git a/public/assets/images/homeNews/content/student/banner_1.png b/public/assets/images/homeNews/content/student/banner_1.png new file mode 100644 index 0000000..aec2898 Binary files /dev/null and b/public/assets/images/homeNews/content/student/banner_1.png differ diff --git a/public/assets/images/homeNews/content/student/banner_2.png b/public/assets/images/homeNews/content/student/banner_2.png new file mode 100644 index 0000000..65a0881 Binary files /dev/null and b/public/assets/images/homeNews/content/student/banner_2.png differ diff --git a/public/assets/images/homeNews/content/student/bg_student.png b/public/assets/images/homeNews/content/student/bg_student.png new file mode 100644 index 0000000..79e9a6b Binary files /dev/null and b/public/assets/images/homeNews/content/student/bg_student.png differ diff --git a/public/assets/images/homeNews/content/student/box_trial.png b/public/assets/images/homeNews/content/student/box_trial.png new file mode 100644 index 0000000..19f25d4 Binary files /dev/null and b/public/assets/images/homeNews/content/student/box_trial.png differ diff --git a/public/assets/images/homeNews/content/student/ico_left_student.png b/public/assets/images/homeNews/content/student/ico_left_student.png new file mode 100644 index 0000000..5f63842 Binary files /dev/null and b/public/assets/images/homeNews/content/student/ico_left_student.png differ diff --git a/public/assets/images/homeNews/content/student/ico_right_student.png b/public/assets/images/homeNews/content/student/ico_right_student.png new file mode 100644 index 0000000..f9e7f95 Binary files /dev/null and b/public/assets/images/homeNews/content/student/ico_right_student.png differ diff --git a/public/assets/images/homeNews/content/teacher/bg_advisement_teacher.png b/public/assets/images/homeNews/content/teacher/bg_advisement_teacher.png new file mode 100644 index 0000000..f631797 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/bg_advisement_teacher.png differ diff --git a/public/assets/images/homeNews/content/teacher/bg_advisement_teacher_mobile.png b/public/assets/images/homeNews/content/teacher/bg_advisement_teacher_mobile.png new file mode 100644 index 0000000..370afb5 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/bg_advisement_teacher_mobile.png differ diff --git a/public/assets/images/homeNews/content/teacher/bg_teacher.png b/public/assets/images/homeNews/content/teacher/bg_teacher.png new file mode 100644 index 0000000..56b972d Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/bg_teacher.png differ diff --git a/public/assets/images/homeNews/content/teacher/box_trial_teacher.png b/public/assets/images/homeNews/content/teacher/box_trial_teacher.png new file mode 100644 index 0000000..1e2cdf5 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/box_trial_teacher.png differ diff --git a/public/assets/images/homeNews/content/teacher/ico_left_teacher.png b/public/assets/images/homeNews/content/teacher/ico_left_teacher.png new file mode 100644 index 0000000..b0347ae Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/ico_left_teacher.png differ diff --git a/public/assets/images/homeNews/content/teacher/ico_right_teacher.png b/public/assets/images/homeNews/content/teacher/ico_right_teacher.png new file mode 100644 index 0000000..27575df Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/ico_right_teacher.png differ diff --git a/public/assets/images/homeNews/content/teacher/ico_side_assistant.png b/public/assets/images/homeNews/content/teacher/ico_side_assistant.png new file mode 100644 index 0000000..d550785 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/ico_side_assistant.png differ diff --git a/public/assets/images/homeNews/content/teacher/img_bg_circle.png b/public/assets/images/homeNews/content/teacher/img_bg_circle.png new file mode 100644 index 0000000..e3e949e Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/img_bg_circle.png differ diff --git a/public/assets/images/homeNews/content/teacher/img_bg_sliding_center.png b/public/assets/images/homeNews/content/teacher/img_bg_sliding_center.png new file mode 100644 index 0000000..0b39cfc Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/img_bg_sliding_center.png differ diff --git a/public/assets/images/homeNews/content/teacher/img_bg_sliding_left.png b/public/assets/images/homeNews/content/teacher/img_bg_sliding_left.png new file mode 100644 index 0000000..0ed5193 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/img_bg_sliding_left.png differ diff --git a/public/assets/images/homeNews/content/teacher/img_bg_sliding_mobile.png b/public/assets/images/homeNews/content/teacher/img_bg_sliding_mobile.png new file mode 100644 index 0000000..4f6bc00 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/img_bg_sliding_mobile.png differ diff --git a/public/assets/images/homeNews/content/teacher/img_detail_assistant.png b/public/assets/images/homeNews/content/teacher/img_detail_assistant.png new file mode 100644 index 0000000..42f01c0 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/img_detail_assistant.png differ diff --git a/public/assets/images/homeNews/content/teacher/img_detail_assistant_mobile.png b/public/assets/images/homeNews/content/teacher/img_detail_assistant_mobile.png new file mode 100644 index 0000000..1c3bdb4 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/img_detail_assistant_mobile.png differ diff --git a/public/assets/images/homeNews/content/teacher/item_1.png b/public/assets/images/homeNews/content/teacher/item_1.png new file mode 100644 index 0000000..00b2a4a Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/item_1.png differ diff --git a/public/assets/images/homeNews/content/teacher/item_2.png b/public/assets/images/homeNews/content/teacher/item_2.png new file mode 100644 index 0000000..ecde428 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/item_2.png differ diff --git a/public/assets/images/homeNews/content/teacher/item_3.png b/public/assets/images/homeNews/content/teacher/item_3.png new file mode 100644 index 0000000..1475ef7 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/item_3.png differ diff --git a/public/assets/images/homeNews/content/teacher/item_4.png b/public/assets/images/homeNews/content/teacher/item_4.png new file mode 100644 index 0000000..79e332b Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/item_4.png differ diff --git a/public/assets/images/homeNews/content/teacher/item_5.png b/public/assets/images/homeNews/content/teacher/item_5.png new file mode 100644 index 0000000..adbb45f Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/item_5.png differ diff --git a/public/assets/images/homeNews/content/teacher/item_6.png b/public/assets/images/homeNews/content/teacher/item_6.png new file mode 100644 index 0000000..4fcb3f4 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/item_6.png differ diff --git a/public/assets/images/homeNews/content/teacher/list_benefits_teacher.png b/public/assets/images/homeNews/content/teacher/list_benefits_teacher.png new file mode 100644 index 0000000..67591e6 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/list_benefits_teacher.png differ diff --git a/public/assets/images/homeNews/content/teacher/list_benefits_teacher_mobile.png b/public/assets/images/homeNews/content/teacher/list_benefits_teacher_mobile.png new file mode 100644 index 0000000..d85093b Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/list_benefits_teacher_mobile.png differ diff --git a/public/assets/images/homeNews/content/teacher/title_advisement_teacher.png b/public/assets/images/homeNews/content/teacher/title_advisement_teacher.png new file mode 100644 index 0000000..e3bf70b Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/title_advisement_teacher.png differ diff --git a/public/assets/images/homeNews/content/teacher/title_advisement_teacher_1_mobile.png b/public/assets/images/homeNews/content/teacher/title_advisement_teacher_1_mobile.png new file mode 100644 index 0000000..1d28d79 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/title_advisement_teacher_1_mobile.png differ diff --git a/public/assets/images/homeNews/content/teacher/title_advisement_teacher_2_mobile.png b/public/assets/images/homeNews/content/teacher/title_advisement_teacher_2_mobile.png new file mode 100644 index 0000000..bce3814 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/title_advisement_teacher_2_mobile.png differ diff --git a/public/assets/images/homeNews/content/teacher/title_advisement_teacher_trial.png b/public/assets/images/homeNews/content/teacher/title_advisement_teacher_trial.png new file mode 100644 index 0000000..b5efff4 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/title_advisement_teacher_trial.png differ diff --git a/public/assets/images/homeNews/content/teacher/title_header_trial_mobile.png b/public/assets/images/homeNews/content/teacher/title_header_trial_mobile.png new file mode 100644 index 0000000..1bea886 Binary files /dev/null and b/public/assets/images/homeNews/content/teacher/title_header_trial_mobile.png differ diff --git a/public/assets/images/homeNews/content/title_advisement.png b/public/assets/images/homeNews/content/title_advisement.png new file mode 100644 index 0000000..ffa395d Binary files /dev/null and b/public/assets/images/homeNews/content/title_advisement.png differ diff --git a/public/assets/images/homeNews/content/title_header_1_mobile.png b/public/assets/images/homeNews/content/title_header_1_mobile.png new file mode 100644 index 0000000..7dc088e Binary files /dev/null and b/public/assets/images/homeNews/content/title_header_1_mobile.png differ diff --git a/public/assets/images/homeNews/content/title_header_2_mobile.png b/public/assets/images/homeNews/content/title_header_2_mobile.png new file mode 100644 index 0000000..75b1c6c Binary files /dev/null and b/public/assets/images/homeNews/content/title_header_2_mobile.png differ diff --git a/public/assets/images/homeNews/content/title_header_trial_mobile.png b/public/assets/images/homeNews/content/title_header_trial_mobile.png new file mode 100644 index 0000000..1bea886 Binary files /dev/null and b/public/assets/images/homeNews/content/title_header_trial_mobile.png differ diff --git a/public/assets/images/homeNews/downloadPage/img_side_parent.png b/public/assets/images/homeNews/downloadPage/img_side_parent.png new file mode 100644 index 0000000..c60d389 Binary files /dev/null and b/public/assets/images/homeNews/downloadPage/img_side_parent.png differ diff --git a/public/assets/images/homeNews/downloadPage/img_side_student.png b/public/assets/images/homeNews/downloadPage/img_side_student.png new file mode 100644 index 0000000..05fafd1 Binary files /dev/null and b/public/assets/images/homeNews/downloadPage/img_side_student.png differ diff --git a/public/assets/images/homeNews/downloadPage/img_side_teacher.png b/public/assets/images/homeNews/downloadPage/img_side_teacher.png new file mode 100644 index 0000000..c60d389 Binary files /dev/null and b/public/assets/images/homeNews/downloadPage/img_side_teacher.png differ diff --git a/public/assets/images/homeNews/downloadPage/slider_parent.png b/public/assets/images/homeNews/downloadPage/slider_parent.png new file mode 100644 index 0000000..42ce8af Binary files /dev/null and b/public/assets/images/homeNews/downloadPage/slider_parent.png differ diff --git a/public/assets/images/homeNews/downloadPage/slider_student.png b/public/assets/images/homeNews/downloadPage/slider_student.png new file mode 100644 index 0000000..44f7205 Binary files /dev/null and b/public/assets/images/homeNews/downloadPage/slider_student.png differ diff --git a/public/assets/images/homeNews/downloadPage/slider_teacher.png b/public/assets/images/homeNews/downloadPage/slider_teacher.png new file mode 100644 index 0000000..568c800 Binary files /dev/null and b/public/assets/images/homeNews/downloadPage/slider_teacher.png differ diff --git a/public/assets/images/homeNews/icon/ico_appstore.png b/public/assets/images/homeNews/icon/ico_appstore.png new file mode 100644 index 0000000..b075240 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_appstore.png differ diff --git a/public/assets/images/homeNews/icon/ico_box_chat.png b/public/assets/images/homeNews/icon/ico_box_chat.png new file mode 100644 index 0000000..d995472 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_box_chat.png differ diff --git a/public/assets/images/homeNews/icon/ico_fb.png b/public/assets/images/homeNews/icon/ico_fb.png new file mode 100644 index 0000000..05de3ec Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_fb.png differ diff --git a/public/assets/images/homeNews/icon/ico_ggplay.png b/public/assets/images/homeNews/icon/ico_ggplay.png new file mode 100644 index 0000000..12007eb Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_ggplay.png differ diff --git a/public/assets/images/homeNews/icon/ico_location.png b/public/assets/images/homeNews/icon/ico_location.png new file mode 100644 index 0000000..2060caf Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_location.png differ diff --git a/public/assets/images/homeNews/icon/ico_mail.png b/public/assets/images/homeNews/icon/ico_mail.png new file mode 100644 index 0000000..dc0a2a2 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_mail.png differ diff --git a/public/assets/images/homeNews/icon/ico_msg.png b/public/assets/images/homeNews/icon/ico_msg.png new file mode 100644 index 0000000..431f1c6 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_msg.png differ diff --git a/public/assets/images/homeNews/icon/ico_phone.png b/public/assets/images/homeNews/icon/ico_phone.png new file mode 100644 index 0000000..5a67579 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_phone.png differ diff --git a/public/assets/images/homeNews/icon/ico_proactive.png b/public/assets/images/homeNews/icon/ico_proactive.png new file mode 100644 index 0000000..4ade62d Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_proactive.png differ diff --git a/public/assets/images/homeNews/icon/ico_qr.png b/public/assets/images/homeNews/icon/ico_qr.png new file mode 100644 index 0000000..d8703d8 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_qr.png differ diff --git a/public/assets/images/homeNews/icon/ico_qr_appstore_parent.png b/public/assets/images/homeNews/icon/ico_qr_appstore_parent.png new file mode 100644 index 0000000..ac3c3fe Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_qr_appstore_parent.png differ diff --git a/public/assets/images/homeNews/icon/ico_qr_appstore_student.png b/public/assets/images/homeNews/icon/ico_qr_appstore_student.png new file mode 100644 index 0000000..a93b35b Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_qr_appstore_student.png differ diff --git a/public/assets/images/homeNews/icon/ico_qr_appstore_teacher.png b/public/assets/images/homeNews/icon/ico_qr_appstore_teacher.png new file mode 100644 index 0000000..8b18be0 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_qr_appstore_teacher.png differ diff --git a/public/assets/images/homeNews/icon/ico_qr_ggplay_parent.png b/public/assets/images/homeNews/icon/ico_qr_ggplay_parent.png new file mode 100644 index 0000000..a3b37cd Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_qr_ggplay_parent.png differ diff --git a/public/assets/images/homeNews/icon/ico_qr_ggplay_student.png b/public/assets/images/homeNews/icon/ico_qr_ggplay_student.png new file mode 100644 index 0000000..d8703d8 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_qr_ggplay_student.png differ diff --git a/public/assets/images/homeNews/icon/ico_qr_ggplay_teacher.png b/public/assets/images/homeNews/icon/ico_qr_ggplay_teacher.png new file mode 100644 index 0000000..a741058 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_qr_ggplay_teacher.png differ diff --git a/public/assets/images/homeNews/icon/ico_school.png b/public/assets/images/homeNews/icon/ico_school.png new file mode 100644 index 0000000..01818e1 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_school.png differ diff --git a/public/assets/images/homeNews/icon/ico_scroll_up.png b/public/assets/images/homeNews/icon/ico_scroll_up.png new file mode 100644 index 0000000..c93d5d1 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_scroll_up.png differ diff --git a/public/assets/images/homeNews/icon/ico_ytb.png b/public/assets/images/homeNews/icon/ico_ytb.png new file mode 100644 index 0000000..82858d3 Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_ytb.png differ diff --git a/public/assets/images/homeNews/icon/ico_zalo.png b/public/assets/images/homeNews/icon/ico_zalo.png new file mode 100644 index 0000000..ddc235b Binary files /dev/null and b/public/assets/images/homeNews/icon/ico_zalo.png differ diff --git a/public/assets/images/homeNews/icon/icon_text_gv.png b/public/assets/images/homeNews/icon/icon_text_gv.png new file mode 100644 index 0000000..6086fc0 Binary files /dev/null and b/public/assets/images/homeNews/icon/icon_text_gv.png differ diff --git a/public/assets/images/homeNews/icon/icon_text_hs.png b/public/assets/images/homeNews/icon/icon_text_hs.png new file mode 100644 index 0000000..b66236f Binary files /dev/null and b/public/assets/images/homeNews/icon/icon_text_hs.png differ diff --git a/public/assets/images/homeNews/icon/icon_text_ph.png b/public/assets/images/homeNews/icon/icon_text_ph.png new file mode 100644 index 0000000..b370dcd Binary files /dev/null and b/public/assets/images/homeNews/icon/icon_text_ph.png differ diff --git a/public/assets/images/homeNews/icon/icon_view_detail_home_page.png b/public/assets/images/homeNews/icon/icon_view_detail_home_page.png new file mode 100644 index 0000000..5f6dd26 Binary files /dev/null and b/public/assets/images/homeNews/icon/icon_view_detail_home_page.png differ diff --git a/public/assets/images/homeNews/icon/img_bct.png b/public/assets/images/homeNews/icon/img_bct.png new file mode 100644 index 0000000..af2efce Binary files /dev/null and b/public/assets/images/homeNews/icon/img_bct.png differ diff --git a/public/assets/images/homeNews/slider/bg_tree_cloud.png b/public/assets/images/homeNews/slider/bg_tree_cloud.png new file mode 100644 index 0000000..391f9c8 Binary files /dev/null and b/public/assets/images/homeNews/slider/bg_tree_cloud.png differ diff --git a/public/assets/images/homeNews/slider/circle_bg_phone.png b/public/assets/images/homeNews/slider/circle_bg_phone.png new file mode 100644 index 0000000..e5a6cc1 Binary files /dev/null and b/public/assets/images/homeNews/slider/circle_bg_phone.png differ diff --git a/public/assets/images/homeNews/slider/parent_poster.jpg b/public/assets/images/homeNews/slider/parent_poster.jpg new file mode 100644 index 0000000..a2e8f19 Binary files /dev/null and b/public/assets/images/homeNews/slider/parent_poster.jpg differ diff --git a/public/assets/images/homeNews/slider/slider_1.png b/public/assets/images/homeNews/slider/slider_1.png new file mode 100644 index 0000000..b1d4996 Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_1.png differ diff --git a/public/assets/images/homeNews/slider/slider_2.png b/public/assets/images/homeNews/slider/slider_2.png new file mode 100644 index 0000000..96c1a2f Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_2.png differ diff --git a/public/assets/images/homeNews/slider/slider_2_mobile.png b/public/assets/images/homeNews/slider/slider_2_mobile.png new file mode 100644 index 0000000..8482182 Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_2_mobile.png differ diff --git a/public/assets/images/homeNews/slider/slider_3.png b/public/assets/images/homeNews/slider/slider_3.png new file mode 100644 index 0000000..0673f69 Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_3.png differ diff --git a/public/assets/images/homeNews/slider/slider_3_mobile.png b/public/assets/images/homeNews/slider/slider_3_mobile.png new file mode 100644 index 0000000..22a477c Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_3_mobile.png differ diff --git a/public/assets/images/homeNews/slider/slider_4.png b/public/assets/images/homeNews/slider/slider_4.png new file mode 100644 index 0000000..ea4fb12 Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_4.png differ diff --git a/public/assets/images/homeNews/slider/slider_4_full.png b/public/assets/images/homeNews/slider/slider_4_full.png new file mode 100644 index 0000000..302fa66 Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_4_full.png differ diff --git a/public/assets/images/homeNews/slider/slider_4_mobile.png b/public/assets/images/homeNews/slider/slider_4_mobile.png new file mode 100644 index 0000000..4943a60 Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_4_mobile.png differ diff --git a/public/assets/images/homeNews/slider/slider_bg.png b/public/assets/images/homeNews/slider/slider_bg.png new file mode 100644 index 0000000..fb68333 Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_bg.png differ diff --git a/public/assets/images/homeNews/slider/slider_bg_mobile.png b/public/assets/images/homeNews/slider/slider_bg_mobile.png new file mode 100644 index 0000000..d0f832c Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_bg_mobile.png differ diff --git a/public/assets/images/homeNews/slider/slider_bg_parent.png b/public/assets/images/homeNews/slider/slider_bg_parent.png new file mode 100644 index 0000000..b186292 Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_bg_parent.png differ diff --git a/public/assets/images/homeNews/slider/slider_bg_parent_mobile.png b/public/assets/images/homeNews/slider/slider_bg_parent_mobile.png new file mode 100644 index 0000000..67bec7a Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_bg_parent_mobile.png differ diff --git a/public/assets/images/homeNews/slider/slider_bg_student.png b/public/assets/images/homeNews/slider/slider_bg_student.png new file mode 100644 index 0000000..d3fdc9f Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_bg_student.png differ diff --git a/public/assets/images/homeNews/slider/slider_bg_teacher.png b/public/assets/images/homeNews/slider/slider_bg_teacher.png new file mode 100644 index 0000000..37c22c4 Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_bg_teacher.png differ diff --git a/public/assets/images/homeNews/slider/slider_bg_teacher_mobile.png b/public/assets/images/homeNews/slider/slider_bg_teacher_mobile.png new file mode 100644 index 0000000..2e07b0e Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_bg_teacher_mobile.png differ diff --git a/public/assets/images/homeNews/slider/slider_student.png b/public/assets/images/homeNews/slider/slider_student.png new file mode 100644 index 0000000..26c575b Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_student.png differ diff --git a/public/assets/images/homeNews/slider/slider_student_mobile.png b/public/assets/images/homeNews/slider/slider_student_mobile.png new file mode 100644 index 0000000..75c6ded Binary files /dev/null and b/public/assets/images/homeNews/slider/slider_student_mobile.png differ diff --git a/public/assets/images/homeNews/slider/student/img_circle_slider.png b/public/assets/images/homeNews/slider/student/img_circle_slider.png new file mode 100644 index 0000000..0ffbbd6 Binary files /dev/null and b/public/assets/images/homeNews/slider/student/img_circle_slider.png differ diff --git a/public/assets/images/homeNews/slider/student/img_side_home.png b/public/assets/images/homeNews/slider/student/img_side_home.png new file mode 100644 index 0000000..ae557a1 Binary files /dev/null and b/public/assets/images/homeNews/slider/student/img_side_home.png differ diff --git a/public/assets/images/homeNews/slider/student/slider_1.png b/public/assets/images/homeNews/slider/student/slider_1.png new file mode 100644 index 0000000..3f44641 Binary files /dev/null and b/public/assets/images/homeNews/slider/student/slider_1.png differ diff --git a/public/assets/images/homeNews/slider/student_poster.jpg b/public/assets/images/homeNews/slider/student_poster.jpg new file mode 100644 index 0000000..3c54dec Binary files /dev/null and b/public/assets/images/homeNews/slider/student_poster.jpg differ diff --git a/public/assets/images/homeNews/slider/teacher_poster.jpg b/public/assets/images/homeNews/slider/teacher_poster.jpg new file mode 100644 index 0000000..f76886d Binary files /dev/null and b/public/assets/images/homeNews/slider/teacher_poster.jpg differ diff --git a/public/assets/images/homeNews/slider/video_slider_parent.png b/public/assets/images/homeNews/slider/video_slider_parent.png new file mode 100644 index 0000000..f23f6c7 Binary files /dev/null and b/public/assets/images/homeNews/slider/video_slider_parent.png differ diff --git a/public/assets/images/homeNews/slider/video_slider_side.png b/public/assets/images/homeNews/slider/video_slider_side.png new file mode 100644 index 0000000..872c839 Binary files /dev/null and b/public/assets/images/homeNews/slider/video_slider_side.png differ diff --git a/public/assets/images/homeNews/slider/video_slider_teacher.png b/public/assets/images/homeNews/slider/video_slider_teacher.png new file mode 100644 index 0000000..d3c2a4b Binary files /dev/null and b/public/assets/images/homeNews/slider/video_slider_teacher.png differ diff --git a/public/assets/images/hoso/bg_hoso_detail.png b/public/assets/images/hoso/bg_hoso_detail.png new file mode 100644 index 0000000..aebfa5a Binary files /dev/null and b/public/assets/images/hoso/bg_hoso_detail.png differ diff --git a/public/assets/images/hoso/bg_hoso_detail_student.png b/public/assets/images/hoso/bg_hoso_detail_student.png new file mode 100644 index 0000000..c2483d0 Binary files /dev/null and b/public/assets/images/hoso/bg_hoso_detail_student.png differ diff --git a/public/assets/images/hoso/default_avt.png b/public/assets/images/hoso/default_avt.png new file mode 100644 index 0000000..28dbec5 Binary files /dev/null and b/public/assets/images/hoso/default_avt.png differ diff --git a/public/assets/images/hoso/ico_birthday.png b/public/assets/images/hoso/ico_birthday.png new file mode 100644 index 0000000..7d639b6 Binary files /dev/null and b/public/assets/images/hoso/ico_birthday.png differ diff --git a/public/assets/images/hoso/ico_edit_avt.png b/public/assets/images/hoso/ico_edit_avt.png new file mode 100644 index 0000000..cf9b936 Binary files /dev/null and b/public/assets/images/hoso/ico_edit_avt.png differ diff --git a/public/assets/images/hoso/ico_email.png b/public/assets/images/hoso/ico_email.png new file mode 100644 index 0000000..cf98799 Binary files /dev/null and b/public/assets/images/hoso/ico_email.png differ diff --git a/public/assets/images/hoso/ico_gender.png b/public/assets/images/hoso/ico_gender.png new file mode 100644 index 0000000..6febf3c Binary files /dev/null and b/public/assets/images/hoso/ico_gender.png differ diff --git a/public/assets/images/hoso/ico_phone.png b/public/assets/images/hoso/ico_phone.png new file mode 100644 index 0000000..7d0484a Binary files /dev/null and b/public/assets/images/hoso/ico_phone.png differ diff --git a/public/assets/images/hoso/ico_shcool.png b/public/assets/images/hoso/ico_shcool.png new file mode 100644 index 0000000..3c94c40 Binary files /dev/null and b/public/assets/images/hoso/ico_shcool.png differ diff --git a/public/assets/images/ico-play-audio.png b/public/assets/images/ico-play-audio.png new file mode 100644 index 0000000..0edacf2 Binary files /dev/null and b/public/assets/images/ico-play-audio.png differ diff --git a/public/assets/images/ico_danger.png b/public/assets/images/ico_danger.png new file mode 100644 index 0000000..242d2e3 Binary files /dev/null and b/public/assets/images/ico_danger.png differ diff --git a/public/assets/images/ico_hover_answer.png b/public/assets/images/ico_hover_answer.png new file mode 100644 index 0000000..5a2806e Binary files /dev/null and b/public/assets/images/ico_hover_answer.png differ diff --git a/public/assets/images/ico_user_border.png b/public/assets/images/ico_user_border.png new file mode 100644 index 0000000..5fe115a Binary files /dev/null and b/public/assets/images/ico_user_border.png differ diff --git a/public/assets/images/icon/checkbox_active.png b/public/assets/images/icon/checkbox_active.png new file mode 100644 index 0000000..e2bbf75 Binary files /dev/null and b/public/assets/images/icon/checkbox_active.png differ diff --git a/public/assets/images/icon/checkbox_danger.png b/public/assets/images/icon/checkbox_danger.png new file mode 100644 index 0000000..3b309c3 Binary files /dev/null and b/public/assets/images/icon/checkbox_danger.png differ diff --git a/public/assets/images/icon/checkbox_none.png b/public/assets/images/icon/checkbox_none.png new file mode 100644 index 0000000..78bfe43 Binary files /dev/null and b/public/assets/images/icon/checkbox_none.png differ diff --git a/public/assets/images/icon/ico_achievement.png b/public/assets/images/icon/ico_achievement.png new file mode 100644 index 0000000..184bd5e Binary files /dev/null and b/public/assets/images/icon/ico_achievement.png differ diff --git a/public/assets/images/icon/ico_add.png b/public/assets/images/icon/ico_add.png new file mode 100644 index 0000000..52e38d1 Binary files /dev/null and b/public/assets/images/icon/ico_add.png differ diff --git a/public/assets/images/icon/ico_add_circle.png b/public/assets/images/icon/ico_add_circle.png new file mode 100644 index 0000000..0029b15 Binary files /dev/null and b/public/assets/images/icon/ico_add_circle.png differ diff --git a/public/assets/images/icon/ico_add_lesson.png b/public/assets/images/icon/ico_add_lesson.png new file mode 100644 index 0000000..df552c8 Binary files /dev/null and b/public/assets/images/icon/ico_add_lesson.png differ diff --git a/public/assets/images/icon/ico_birthday.png b/public/assets/images/icon/ico_birthday.png new file mode 100644 index 0000000..2c0203b Binary files /dev/null and b/public/assets/images/icon/ico_birthday.png differ diff --git a/public/assets/images/icon/ico_book.png b/public/assets/images/icon/ico_book.png new file mode 100644 index 0000000..c143989 Binary files /dev/null and b/public/assets/images/icon/ico_book.png differ diff --git a/public/assets/images/icon/ico_book_active.png b/public/assets/images/icon/ico_book_active.png new file mode 100644 index 0000000..8212510 Binary files /dev/null and b/public/assets/images/icon/ico_book_active.png differ diff --git a/public/assets/images/icon/ico_box.png b/public/assets/images/icon/ico_box.png new file mode 100644 index 0000000..366ac12 Binary files /dev/null and b/public/assets/images/icon/ico_box.png differ diff --git a/public/assets/images/icon/ico_box_tick.png b/public/assets/images/icon/ico_box_tick.png new file mode 100644 index 0000000..e8c17bc Binary files /dev/null and b/public/assets/images/icon/ico_box_tick.png differ diff --git a/public/assets/images/icon/ico_buy.png b/public/assets/images/icon/ico_buy.png new file mode 100644 index 0000000..70319e1 Binary files /dev/null and b/public/assets/images/icon/ico_buy.png differ diff --git a/public/assets/images/icon/ico_buy_white.png b/public/assets/images/icon/ico_buy_white.png new file mode 100644 index 0000000..b6eae2a Binary files /dev/null and b/public/assets/images/icon/ico_buy_white.png differ diff --git a/public/assets/images/icon/ico_camera.png b/public/assets/images/icon/ico_camera.png new file mode 100644 index 0000000..98ffca7 Binary files /dev/null and b/public/assets/images/icon/ico_camera.png differ diff --git a/public/assets/images/icon/ico_cancel_schedule.png b/public/assets/images/icon/ico_cancel_schedule.png new file mode 100644 index 0000000..add4217 Binary files /dev/null and b/public/assets/images/icon/ico_cancel_schedule.png differ diff --git a/public/assets/images/icon/ico_cart.png b/public/assets/images/icon/ico_cart.png new file mode 100644 index 0000000..fa2ae3d Binary files /dev/null and b/public/assets/images/icon/ico_cart.png differ diff --git a/public/assets/images/icon/ico_check_calendar.png b/public/assets/images/icon/ico_check_calendar.png new file mode 100644 index 0000000..6d86bd3 Binary files /dev/null and b/public/assets/images/icon/ico_check_calendar.png differ diff --git a/public/assets/images/icon/ico_checkbox.png b/public/assets/images/icon/ico_checkbox.png new file mode 100644 index 0000000..57fcb72 Binary files /dev/null and b/public/assets/images/icon/ico_checkbox.png differ diff --git a/public/assets/images/icon/ico_checked.png b/public/assets/images/icon/ico_checked.png new file mode 100644 index 0000000..c85a24c Binary files /dev/null and b/public/assets/images/icon/ico_checked.png differ diff --git a/public/assets/images/icon/ico_checkedbox.png b/public/assets/images/icon/ico_checkedbox.png new file mode 100644 index 0000000..d2e8fec Binary files /dev/null and b/public/assets/images/icon/ico_checkedbox.png differ diff --git a/public/assets/images/icon/ico_circle_down.png b/public/assets/images/icon/ico_circle_down.png new file mode 100644 index 0000000..1fcad3b Binary files /dev/null and b/public/assets/images/icon/ico_circle_down.png differ diff --git a/public/assets/images/icon/ico_circle_up.png b/public/assets/images/icon/ico_circle_up.png new file mode 100644 index 0000000..4c929eb Binary files /dev/null and b/public/assets/images/icon/ico_circle_up.png differ diff --git a/public/assets/images/icon/ico_class.png b/public/assets/images/icon/ico_class.png new file mode 100644 index 0000000..a116966 Binary files /dev/null and b/public/assets/images/icon/ico_class.png differ diff --git a/public/assets/images/icon/ico_clock.png b/public/assets/images/icon/ico_clock.png new file mode 100644 index 0000000..af92b65 Binary files /dev/null and b/public/assets/images/icon/ico_clock.png differ diff --git a/public/assets/images/icon/ico_clock_entrance_white.png b/public/assets/images/icon/ico_clock_entrance_white.png new file mode 100644 index 0000000..9d4f9c6 Binary files /dev/null and b/public/assets/images/icon/ico_clock_entrance_white.png differ diff --git a/public/assets/images/icon/ico_clock_white.png b/public/assets/images/icon/ico_clock_white.png new file mode 100644 index 0000000..b05311a Binary files /dev/null and b/public/assets/images/icon/ico_clock_white.png differ diff --git a/public/assets/images/icon/ico_close_filter.png b/public/assets/images/icon/ico_close_filter.png new file mode 100644 index 0000000..208b1a0 Binary files /dev/null and b/public/assets/images/icon/ico_close_filter.png differ diff --git a/public/assets/images/icon/ico_close_menu.png b/public/assets/images/icon/ico_close_menu.png new file mode 100644 index 0000000..fd314f1 Binary files /dev/null and b/public/assets/images/icon/ico_close_menu.png differ diff --git a/public/assets/images/icon/ico_close_popup.png b/public/assets/images/icon/ico_close_popup.png new file mode 100644 index 0000000..c3f98c8 Binary files /dev/null and b/public/assets/images/icon/ico_close_popup.png differ diff --git a/public/assets/images/icon/ico_close_red.png b/public/assets/images/icon/ico_close_red.png new file mode 100644 index 0000000..5451dfd Binary files /dev/null and b/public/assets/images/icon/ico_close_red.png differ diff --git a/public/assets/images/icon/ico_close_white_popup.png b/public/assets/images/icon/ico_close_white_popup.png new file mode 100644 index 0000000..875518d Binary files /dev/null and b/public/assets/images/icon/ico_close_white_popup.png differ diff --git a/public/assets/images/icon/ico_dangdienra.png b/public/assets/images/icon/ico_dangdienra.png new file mode 100644 index 0000000..04d85c9 Binary files /dev/null and b/public/assets/images/icon/ico_dangdienra.png differ diff --git a/public/assets/images/icon/ico_dash_connect_1.png b/public/assets/images/icon/ico_dash_connect_1.png new file mode 100644 index 0000000..32e0b9f Binary files /dev/null and b/public/assets/images/icon/ico_dash_connect_1.png differ diff --git a/public/assets/images/icon/ico_dash_connect_2.png b/public/assets/images/icon/ico_dash_connect_2.png new file mode 100644 index 0000000..79aaa5e Binary files /dev/null and b/public/assets/images/icon/ico_dash_connect_2.png differ diff --git a/public/assets/images/icon/ico_date_active.png b/public/assets/images/icon/ico_date_active.png new file mode 100644 index 0000000..16f8a32 Binary files /dev/null and b/public/assets/images/icon/ico_date_active.png differ diff --git a/public/assets/images/icon/ico_date_buy.png b/public/assets/images/icon/ico_date_buy.png new file mode 100644 index 0000000..973dd8f Binary files /dev/null and b/public/assets/images/icon/ico_date_buy.png differ diff --git a/public/assets/images/icon/ico_decrease.png b/public/assets/images/icon/ico_decrease.png new file mode 100644 index 0000000..56d89b2 Binary files /dev/null and b/public/assets/images/icon/ico_decrease.png differ diff --git a/public/assets/images/icon/ico_delete.png b/public/assets/images/icon/ico_delete.png new file mode 100644 index 0000000..09d00a6 Binary files /dev/null and b/public/assets/images/icon/ico_delete.png differ diff --git a/public/assets/images/icon/ico_delete_full.png b/public/assets/images/icon/ico_delete_full.png new file mode 100644 index 0000000..d29ed56 Binary files /dev/null and b/public/assets/images/icon/ico_delete_full.png differ diff --git a/public/assets/images/icon/ico_delete_green.png b/public/assets/images/icon/ico_delete_green.png new file mode 100644 index 0000000..a0ca6a7 Binary files /dev/null and b/public/assets/images/icon/ico_delete_green.png differ diff --git a/public/assets/images/icon/ico_diamond.png b/public/assets/images/icon/ico_diamond.png new file mode 100644 index 0000000..54f3592 Binary files /dev/null and b/public/assets/images/icon/ico_diamond.png differ diff --git a/public/assets/images/icon/ico_diamond_white.png b/public/assets/images/icon/ico_diamond_white.png new file mode 100644 index 0000000..d148709 Binary files /dev/null and b/public/assets/images/icon/ico_diamond_white.png differ diff --git a/public/assets/images/icon/ico_dropdown.png b/public/assets/images/icon/ico_dropdown.png new file mode 100644 index 0000000..c3e4793 Binary files /dev/null and b/public/assets/images/icon/ico_dropdown.png differ diff --git a/public/assets/images/icon/ico_dropdown_blue.png b/public/assets/images/icon/ico_dropdown_blue.png new file mode 100644 index 0000000..080e3d8 Binary files /dev/null and b/public/assets/images/icon/ico_dropdown_blue.png differ diff --git a/public/assets/images/icon/ico_dropdown_border_white.png b/public/assets/images/icon/ico_dropdown_border_white.png new file mode 100644 index 0000000..2471a10 Binary files /dev/null and b/public/assets/images/icon/ico_dropdown_border_white.png differ diff --git a/public/assets/images/icon/ico_dropdown_s.png b/public/assets/images/icon/ico_dropdown_s.png new file mode 100644 index 0000000..96eb9c7 Binary files /dev/null and b/public/assets/images/icon/ico_dropdown_s.png differ diff --git a/public/assets/images/icon/ico_dropup.png b/public/assets/images/icon/ico_dropup.png new file mode 100644 index 0000000..e3eb8b2 Binary files /dev/null and b/public/assets/images/icon/ico_dropup.png differ diff --git a/public/assets/images/icon/ico_edit.png b/public/assets/images/icon/ico_edit.png new file mode 100644 index 0000000..1a15991 Binary files /dev/null and b/public/assets/images/icon/ico_edit.png differ diff --git a/public/assets/images/icon/ico_edit_class.png b/public/assets/images/icon/ico_edit_class.png new file mode 100644 index 0000000..8de53ac Binary files /dev/null and b/public/assets/images/icon/ico_edit_class.png differ diff --git a/public/assets/images/icon/ico_edit_white.png b/public/assets/images/icon/ico_edit_white.png new file mode 100644 index 0000000..e8bb20a Binary files /dev/null and b/public/assets/images/icon/ico_edit_white.png differ diff --git a/public/assets/images/icon/ico_email.png b/public/assets/images/icon/ico_email.png new file mode 100644 index 0000000..4f6668b Binary files /dev/null and b/public/assets/images/icon/ico_email.png differ diff --git a/public/assets/images/icon/ico_eye_close.png b/public/assets/images/icon/ico_eye_close.png new file mode 100644 index 0000000..87f0ecd Binary files /dev/null and b/public/assets/images/icon/ico_eye_close.png differ diff --git a/public/assets/images/icon/ico_eye_open.png b/public/assets/images/icon/ico_eye_open.png new file mode 100644 index 0000000..d70d18a Binary files /dev/null and b/public/assets/images/icon/ico_eye_open.png differ diff --git a/public/assets/images/icon/ico_female.png b/public/assets/images/icon/ico_female.png new file mode 100644 index 0000000..c092be9 Binary files /dev/null and b/public/assets/images/icon/ico_female.png differ diff --git a/public/assets/images/icon/ico_female_2.png b/public/assets/images/icon/ico_female_2.png new file mode 100644 index 0000000..6d2617c Binary files /dev/null and b/public/assets/images/icon/ico_female_2.png differ diff --git a/public/assets/images/icon/ico_filter.png b/public/assets/images/icon/ico_filter.png new file mode 100644 index 0000000..0abb870 Binary files /dev/null and b/public/assets/images/icon/ico_filter.png differ diff --git a/public/assets/images/icon/ico_filter_blue.png b/public/assets/images/icon/ico_filter_blue.png new file mode 100644 index 0000000..4152042 Binary files /dev/null and b/public/assets/images/icon/ico_filter_blue.png differ diff --git a/public/assets/images/icon/ico_filter_green.png b/public/assets/images/icon/ico_filter_green.png new file mode 100644 index 0000000..f8bd899 Binary files /dev/null and b/public/assets/images/icon/ico_filter_green.png differ diff --git a/public/assets/images/icon/ico_green_circle.png b/public/assets/images/icon/ico_green_circle.png new file mode 100644 index 0000000..ec6b786 Binary files /dev/null and b/public/assets/images/icon/ico_green_circle.png differ diff --git a/public/assets/images/icon/ico_home.png b/public/assets/images/icon/ico_home.png new file mode 100644 index 0000000..a42d222 Binary files /dev/null and b/public/assets/images/icon/ico_home.png differ diff --git a/public/assets/images/icon/ico_home_active.png b/public/assets/images/icon/ico_home_active.png new file mode 100644 index 0000000..bc5dced Binary files /dev/null and b/public/assets/images/icon/ico_home_active.png differ diff --git a/public/assets/images/icon/ico_idot.png b/public/assets/images/icon/ico_idot.png new file mode 100644 index 0000000..2a705cf Binary files /dev/null and b/public/assets/images/icon/ico_idot.png differ diff --git a/public/assets/images/icon/ico_idot_white.png b/public/assets/images/icon/ico_idot_white.png new file mode 100644 index 0000000..a447118 Binary files /dev/null and b/public/assets/images/icon/ico_idot_white.png differ diff --git a/public/assets/images/icon/ico_idots.png b/public/assets/images/icon/ico_idots.png new file mode 100644 index 0000000..59a9338 Binary files /dev/null and b/public/assets/images/icon/ico_idots.png differ diff --git a/public/assets/images/icon/ico_increase.png b/public/assets/images/icon/ico_increase.png new file mode 100644 index 0000000..f3972e4 Binary files /dev/null and b/public/assets/images/icon/ico_increase.png differ diff --git a/public/assets/images/icon/ico_khoi.png b/public/assets/images/icon/ico_khoi.png new file mode 100644 index 0000000..24ddd9e Binary files /dev/null and b/public/assets/images/icon/ico_khoi.png differ diff --git a/public/assets/images/icon/ico_left.png b/public/assets/images/icon/ico_left.png new file mode 100644 index 0000000..79cfb47 Binary files /dev/null and b/public/assets/images/icon/ico_left.png differ diff --git a/public/assets/images/icon/ico_left_calender.png b/public/assets/images/icon/ico_left_calender.png new file mode 100644 index 0000000..5f10acb Binary files /dev/null and b/public/assets/images/icon/ico_left_calender.png differ diff --git a/public/assets/images/icon/ico_left_circle_blue.png b/public/assets/images/icon/ico_left_circle_blue.png new file mode 100644 index 0000000..32972cf Binary files /dev/null and b/public/assets/images/icon/ico_left_circle_blue.png differ diff --git a/public/assets/images/icon/ico_left_weight.png b/public/assets/images/icon/ico_left_weight.png new file mode 100644 index 0000000..919d933 Binary files /dev/null and b/public/assets/images/icon/ico_left_weight.png differ diff --git a/public/assets/images/icon/ico_left_white.png b/public/assets/images/icon/ico_left_white.png new file mode 100644 index 0000000..c222b74 Binary files /dev/null and b/public/assets/images/icon/ico_left_white.png differ diff --git a/public/assets/images/icon/ico_left_white_small.png b/public/assets/images/icon/ico_left_white_small.png new file mode 100644 index 0000000..92fb844 Binary files /dev/null and b/public/assets/images/icon/ico_left_white_small.png differ diff --git a/public/assets/images/icon/ico_login_google.png b/public/assets/images/icon/ico_login_google.png new file mode 100644 index 0000000..ce356e4 Binary files /dev/null and b/public/assets/images/icon/ico_login_google.png differ diff --git a/public/assets/images/icon/ico_logout.png b/public/assets/images/icon/ico_logout.png new file mode 100644 index 0000000..144bc2b Binary files /dev/null and b/public/assets/images/icon/ico_logout.png differ diff --git a/public/assets/images/icon/ico_logout_green.png b/public/assets/images/icon/ico_logout_green.png new file mode 100644 index 0000000..ad1ad86 Binary files /dev/null and b/public/assets/images/icon/ico_logout_green.png differ diff --git a/public/assets/images/icon/ico_lop.png b/public/assets/images/icon/ico_lop.png new file mode 100644 index 0000000..369cad1 Binary files /dev/null and b/public/assets/images/icon/ico_lop.png differ diff --git a/public/assets/images/icon/ico_lop_active.png b/public/assets/images/icon/ico_lop_active.png new file mode 100644 index 0000000..b6fdfe2 Binary files /dev/null and b/public/assets/images/icon/ico_lop_active.png differ diff --git a/public/assets/images/icon/ico_lozenge.png b/public/assets/images/icon/ico_lozenge.png new file mode 100644 index 0000000..e880346 Binary files /dev/null and b/public/assets/images/icon/ico_lozenge.png differ diff --git a/public/assets/images/icon/ico_luyenthi.png b/public/assets/images/icon/ico_luyenthi.png new file mode 100644 index 0000000..bd36a59 Binary files /dev/null and b/public/assets/images/icon/ico_luyenthi.png differ diff --git a/public/assets/images/icon/ico_luyenthi_active.png b/public/assets/images/icon/ico_luyenthi_active.png new file mode 100644 index 0000000..bd36a59 Binary files /dev/null and b/public/assets/images/icon/ico_luyenthi_active.png differ diff --git a/public/assets/images/icon/ico_ma.png b/public/assets/images/icon/ico_ma.png new file mode 100644 index 0000000..1afde2a Binary files /dev/null and b/public/assets/images/icon/ico_ma.png differ diff --git a/public/assets/images/icon/ico_ma_white.png b/public/assets/images/icon/ico_ma_white.png new file mode 100644 index 0000000..6801368 Binary files /dev/null and b/public/assets/images/icon/ico_ma_white.png differ diff --git a/public/assets/images/icon/ico_male.png b/public/assets/images/icon/ico_male.png new file mode 100644 index 0000000..587e834 Binary files /dev/null and b/public/assets/images/icon/ico_male.png differ diff --git a/public/assets/images/icon/ico_male_2.png b/public/assets/images/icon/ico_male_2.png new file mode 100644 index 0000000..3cc1ff4 Binary files /dev/null and b/public/assets/images/icon/ico_male_2.png differ diff --git a/public/assets/images/icon/ico_menu.png b/public/assets/images/icon/ico_menu.png new file mode 100644 index 0000000..853163a Binary files /dev/null and b/public/assets/images/icon/ico_menu.png differ diff --git a/public/assets/images/icon/ico_message.png b/public/assets/images/icon/ico_message.png new file mode 100644 index 0000000..5eb1cf9 Binary files /dev/null and b/public/assets/images/icon/ico_message.png differ diff --git a/public/assets/images/icon/ico_message_active.png b/public/assets/images/icon/ico_message_active.png new file mode 100644 index 0000000..f8f3808 Binary files /dev/null and b/public/assets/images/icon/ico_message_active.png differ diff --git a/public/assets/images/icon/ico_missing_calendar.png b/public/assets/images/icon/ico_missing_calendar.png new file mode 100644 index 0000000..c45b4ea Binary files /dev/null and b/public/assets/images/icon/ico_missing_calendar.png differ diff --git a/public/assets/images/icon/ico_new_package.png b/public/assets/images/icon/ico_new_package.png new file mode 100644 index 0000000..f44159d Binary files /dev/null and b/public/assets/images/icon/ico_new_package.png differ diff --git a/public/assets/images/icon/ico_notification.jpg b/public/assets/images/icon/ico_notification.jpg new file mode 100644 index 0000000..071ca0f Binary files /dev/null and b/public/assets/images/icon/ico_notification.jpg differ diff --git a/public/assets/images/icon/ico_notification.png b/public/assets/images/icon/ico_notification.png new file mode 100644 index 0000000..eeb5bd9 Binary files /dev/null and b/public/assets/images/icon/ico_notification.png differ diff --git a/public/assets/images/icon/ico_participant.png b/public/assets/images/icon/ico_participant.png new file mode 100644 index 0000000..337c6ca Binary files /dev/null and b/public/assets/images/icon/ico_participant.png differ diff --git a/public/assets/images/icon/ico_password.png b/public/assets/images/icon/ico_password.png new file mode 100644 index 0000000..cf6bda1 Binary files /dev/null and b/public/assets/images/icon/ico_password.png differ diff --git a/public/assets/images/icon/ico_phone.png b/public/assets/images/icon/ico_phone.png new file mode 100644 index 0000000..718d5fd Binary files /dev/null and b/public/assets/images/icon/ico_phone.png differ diff --git a/public/assets/images/icon/ico_profile.png b/public/assets/images/icon/ico_profile.png new file mode 100644 index 0000000..3fbeec1 Binary files /dev/null and b/public/assets/images/icon/ico_profile.png differ diff --git a/public/assets/images/icon/ico_quagio.png b/public/assets/images/icon/ico_quagio.png new file mode 100644 index 0000000..81e1fb5 Binary files /dev/null and b/public/assets/images/icon/ico_quagio.png differ diff --git a/public/assets/images/icon/ico_ratio_active.png b/public/assets/images/icon/ico_ratio_active.png new file mode 100644 index 0000000..15e067e Binary files /dev/null and b/public/assets/images/icon/ico_ratio_active.png differ diff --git a/public/assets/images/icon/ico_ratio_none.png b/public/assets/images/icon/ico_ratio_none.png new file mode 100644 index 0000000..9655577 Binary files /dev/null and b/public/assets/images/icon/ico_ratio_none.png differ diff --git a/public/assets/images/icon/ico_remove.png b/public/assets/images/icon/ico_remove.png new file mode 100644 index 0000000..3f77ce3 Binary files /dev/null and b/public/assets/images/icon/ico_remove.png differ diff --git a/public/assets/images/icon/ico_remove_gray.png b/public/assets/images/icon/ico_remove_gray.png new file mode 100644 index 0000000..7eb62c2 Binary files /dev/null and b/public/assets/images/icon/ico_remove_gray.png differ diff --git a/public/assets/images/icon/ico_remove_schedule.png b/public/assets/images/icon/ico_remove_schedule.png new file mode 100644 index 0000000..f27f915 Binary files /dev/null and b/public/assets/images/icon/ico_remove_schedule.png differ diff --git a/public/assets/images/icon/ico_review_active.png b/public/assets/images/icon/ico_review_active.png new file mode 100644 index 0000000..25e0b1f Binary files /dev/null and b/public/assets/images/icon/ico_review_active.png differ diff --git a/public/assets/images/icon/ico_review_inactive.png b/public/assets/images/icon/ico_review_inactive.png new file mode 100644 index 0000000..7e9ad84 Binary files /dev/null and b/public/assets/images/icon/ico_review_inactive.png differ diff --git a/public/assets/images/icon/ico_right.png b/public/assets/images/icon/ico_right.png new file mode 100644 index 0000000..d7a9406 Binary files /dev/null and b/public/assets/images/icon/ico_right.png differ diff --git a/public/assets/images/icon/ico_right_calender.png b/public/assets/images/icon/ico_right_calender.png new file mode 100644 index 0000000..667dc2f Binary files /dev/null and b/public/assets/images/icon/ico_right_calender.png differ diff --git a/public/assets/images/icon/ico_right_circle_blue.png b/public/assets/images/icon/ico_right_circle_blue.png new file mode 100644 index 0000000..ca20c24 Binary files /dev/null and b/public/assets/images/icon/ico_right_circle_blue.png differ diff --git a/public/assets/images/icon/ico_right_weight.png b/public/assets/images/icon/ico_right_weight.png new file mode 100644 index 0000000..dc7492f Binary files /dev/null and b/public/assets/images/icon/ico_right_weight.png differ diff --git a/public/assets/images/icon/ico_right_white.png b/public/assets/images/icon/ico_right_white.png new file mode 100644 index 0000000..95d80b9 Binary files /dev/null and b/public/assets/images/icon/ico_right_white.png differ diff --git a/public/assets/images/icon/ico_right_white_small.png b/public/assets/images/icon/ico_right_white_small.png new file mode 100644 index 0000000..c6e2374 Binary files /dev/null and b/public/assets/images/icon/ico_right_white_small.png differ diff --git a/public/assets/images/icon/ico_rotate.png b/public/assets/images/icon/ico_rotate.png new file mode 100644 index 0000000..3dccd5f Binary files /dev/null and b/public/assets/images/icon/ico_rotate.png differ diff --git a/public/assets/images/icon/ico_save.png b/public/assets/images/icon/ico_save.png new file mode 100644 index 0000000..ec7196b Binary files /dev/null and b/public/assets/images/icon/ico_save.png differ diff --git a/public/assets/images/icon/ico_save_white.png b/public/assets/images/icon/ico_save_white.png new file mode 100644 index 0000000..42b94a4 Binary files /dev/null and b/public/assets/images/icon/ico_save_white.png differ diff --git a/public/assets/images/icon/ico_school.png b/public/assets/images/icon/ico_school.png new file mode 100644 index 0000000..6a71e5f Binary files /dev/null and b/public/assets/images/icon/ico_school.png differ diff --git a/public/assets/images/icon/ico_student.png b/public/assets/images/icon/ico_student.png new file mode 100644 index 0000000..ef3a265 Binary files /dev/null and b/public/assets/images/icon/ico_student.png differ diff --git a/public/assets/images/icon/ico_succes.png b/public/assets/images/icon/ico_succes.png new file mode 100644 index 0000000..1118093 Binary files /dev/null and b/public/assets/images/icon/ico_succes.png differ diff --git a/public/assets/images/icon/ico_succes_small.png b/public/assets/images/icon/ico_succes_small.png new file mode 100644 index 0000000..937b3ed Binary files /dev/null and b/public/assets/images/icon/ico_succes_small.png differ diff --git a/public/assets/images/icon/ico_success_schedule.png b/public/assets/images/icon/ico_success_schedule.png new file mode 100644 index 0000000..17372a9 Binary files /dev/null and b/public/assets/images/icon/ico_success_schedule.png differ diff --git a/public/assets/images/icon/ico_test.png b/public/assets/images/icon/ico_test.png new file mode 100644 index 0000000..7b162b8 Binary files /dev/null and b/public/assets/images/icon/ico_test.png differ diff --git a/public/assets/images/icon/ico_thanhtich.png b/public/assets/images/icon/ico_thanhtich.png new file mode 100644 index 0000000..c8edc77 Binary files /dev/null and b/public/assets/images/icon/ico_thanhtich.png differ diff --git a/public/assets/images/icon/ico_thanhtich_active.png b/public/assets/images/icon/ico_thanhtich_active.png new file mode 100644 index 0000000..57094dd Binary files /dev/null and b/public/assets/images/icon/ico_thanhtich_active.png differ diff --git a/public/assets/images/icon/ico_tick.png b/public/assets/images/icon/ico_tick.png new file mode 100644 index 0000000..1a17f6c Binary files /dev/null and b/public/assets/images/icon/ico_tick.png differ diff --git a/public/assets/images/icon/ico_tick_detail.png b/public/assets/images/icon/ico_tick_detail.png new file mode 100644 index 0000000..171fe81 Binary files /dev/null and b/public/assets/images/icon/ico_tick_detail.png differ diff --git a/public/assets/images/icon/ico_tick_detail_orange.png b/public/assets/images/icon/ico_tick_detail_orange.png new file mode 100644 index 0000000..8b8e41e Binary files /dev/null and b/public/assets/images/icon/ico_tick_detail_orange.png differ diff --git a/public/assets/images/icon/ico_tick_green.png b/public/assets/images/icon/ico_tick_green.png new file mode 100644 index 0000000..eccc450 Binary files /dev/null and b/public/assets/images/icon/ico_tick_green.png differ diff --git a/public/assets/images/icon/ico_tick_orange.png b/public/assets/images/icon/ico_tick_orange.png new file mode 100644 index 0000000..07441eb Binary files /dev/null and b/public/assets/images/icon/ico_tick_orange.png differ diff --git a/public/assets/images/icon/ico_tick_red.png b/public/assets/images/icon/ico_tick_red.png new file mode 100644 index 0000000..e3c0099 Binary files /dev/null and b/public/assets/images/icon/ico_tick_red.png differ diff --git a/public/assets/images/icon/ico_tick_success.png b/public/assets/images/icon/ico_tick_success.png new file mode 100644 index 0000000..a37c93a Binary files /dev/null and b/public/assets/images/icon/ico_tick_success.png differ diff --git a/public/assets/images/icon/ico_time.png b/public/assets/images/icon/ico_time.png new file mode 100644 index 0000000..1575b6d Binary files /dev/null and b/public/assets/images/icon/ico_time.png differ diff --git a/public/assets/images/icon/ico_time_white.png b/public/assets/images/icon/ico_time_white.png new file mode 100644 index 0000000..b05311a Binary files /dev/null and b/public/assets/images/icon/ico_time_white.png differ diff --git a/public/assets/images/icon/ico_trash.png b/public/assets/images/icon/ico_trash.png new file mode 100644 index 0000000..be87a55 Binary files /dev/null and b/public/assets/images/icon/ico_trash.png differ diff --git a/public/assets/images/icon/ico_upload_image.png b/public/assets/images/icon/ico_upload_image.png new file mode 100644 index 0000000..f2fc2be Binary files /dev/null and b/public/assets/images/icon/ico_upload_image.png differ diff --git a/public/assets/images/icon/ico_user.png b/public/assets/images/icon/ico_user.png new file mode 100644 index 0000000..0067ed0 Binary files /dev/null and b/public/assets/images/icon/ico_user.png differ diff --git a/public/assets/images/icon/ico_white_star.png b/public/assets/images/icon/ico_white_star.png new file mode 100644 index 0000000..147d218 Binary files /dev/null and b/public/assets/images/icon/ico_white_star.png differ diff --git a/public/assets/images/icon/ico_xemthem.png b/public/assets/images/icon/ico_xemthem.png new file mode 100644 index 0000000..1fd964b Binary files /dev/null and b/public/assets/images/icon/ico_xemthem.png differ diff --git a/public/assets/images/icon/ico_xemthem_active.png b/public/assets/images/icon/ico_xemthem_active.png new file mode 100644 index 0000000..806d5ec Binary files /dev/null and b/public/assets/images/icon/ico_xemthem_active.png differ diff --git a/public/assets/images/icon/ico_zoom_in.png b/public/assets/images/icon/ico_zoom_in.png new file mode 100644 index 0000000..ee2763d Binary files /dev/null and b/public/assets/images/icon/ico_zoom_in.png differ diff --git a/public/assets/images/icon/ico_zoom_out.png b/public/assets/images/icon/ico_zoom_out.png new file mode 100644 index 0000000..114c04c Binary files /dev/null and b/public/assets/images/icon/ico_zoom_out.png differ diff --git a/public/assets/images/icon/icon_login_fb.png b/public/assets/images/icon/icon_login_fb.png new file mode 100644 index 0000000..84ea09c Binary files /dev/null and b/public/assets/images/icon/icon_login_fb.png differ diff --git a/public/assets/images/icon/icon_user_2.png b/public/assets/images/icon/icon_user_2.png new file mode 100644 index 0000000..7e308a1 Binary files /dev/null and b/public/assets/images/icon/icon_user_2.png differ diff --git a/public/assets/images/icon/warning.png b/public/assets/images/icon/warning.png new file mode 100644 index 0000000..50330c0 Binary files /dev/null and b/public/assets/images/icon/warning.png differ diff --git a/public/assets/images/img-bg-parent.png b/public/assets/images/img-bg-parent.png new file mode 100644 index 0000000..89c2f37 Binary files /dev/null and b/public/assets/images/img-bg-parent.png differ diff --git a/public/assets/images/img_no_class.png b/public/assets/images/img_no_class.png new file mode 100644 index 0000000..3867b5b Binary files /dev/null and b/public/assets/images/img_no_class.png differ diff --git a/public/assets/images/img_no_class_big.png b/public/assets/images/img_no_class_big.png new file mode 100644 index 0000000..cdfe55c Binary files /dev/null and b/public/assets/images/img_no_class_big.png differ diff --git a/public/assets/images/introNews/banner_1.png b/public/assets/images/introNews/banner_1.png new file mode 100644 index 0000000..575b7ce Binary files /dev/null and b/public/assets/images/introNews/banner_1.png differ diff --git a/public/assets/images/introNews/bg_content_1.png b/public/assets/images/introNews/bg_content_1.png new file mode 100644 index 0000000..1b5dfa6 Binary files /dev/null and b/public/assets/images/introNews/bg_content_1.png differ diff --git a/public/assets/images/introNews/bg_content_1_mobile.png b/public/assets/images/introNews/bg_content_1_mobile.png new file mode 100644 index 0000000..9d038db Binary files /dev/null and b/public/assets/images/introNews/bg_content_1_mobile.png differ diff --git a/public/assets/images/introNews/icon/ico_mission_1.png b/public/assets/images/introNews/icon/ico_mission_1.png new file mode 100644 index 0000000..959624a Binary files /dev/null and b/public/assets/images/introNews/icon/ico_mission_1.png differ diff --git a/public/assets/images/introNews/icon/ico_mission_2.png b/public/assets/images/introNews/icon/ico_mission_2.png new file mode 100644 index 0000000..88cf73a Binary files /dev/null and b/public/assets/images/introNews/icon/ico_mission_2.png differ diff --git a/public/assets/images/introNews/icon/ico_mission_3.png b/public/assets/images/introNews/icon/ico_mission_3.png new file mode 100644 index 0000000..a09d1b5 Binary files /dev/null and b/public/assets/images/introNews/icon/ico_mission_3.png differ diff --git a/public/assets/images/introNews/icon/ico_mission_4.png b/public/assets/images/introNews/icon/ico_mission_4.png new file mode 100644 index 0000000..383750d Binary files /dev/null and b/public/assets/images/introNews/icon/ico_mission_4.png differ diff --git a/public/assets/images/introNews/icon/ico_rule_1.png b/public/assets/images/introNews/icon/ico_rule_1.png new file mode 100644 index 0000000..9dd4693 Binary files /dev/null and b/public/assets/images/introNews/icon/ico_rule_1.png differ diff --git a/public/assets/images/introNews/icon/ico_rule_2.png b/public/assets/images/introNews/icon/ico_rule_2.png new file mode 100644 index 0000000..d7eec21 Binary files /dev/null and b/public/assets/images/introNews/icon/ico_rule_2.png differ diff --git a/public/assets/images/introNews/icon/ico_rule_3.png b/public/assets/images/introNews/icon/ico_rule_3.png new file mode 100644 index 0000000..77cb571 Binary files /dev/null and b/public/assets/images/introNews/icon/ico_rule_3.png differ diff --git a/public/assets/images/introNews/icon/ico_rule_4.png b/public/assets/images/introNews/icon/ico_rule_4.png new file mode 100644 index 0000000..4bf1a49 Binary files /dev/null and b/public/assets/images/introNews/icon/ico_rule_4.png differ diff --git a/public/assets/images/introNews/icon/ico_scholary_1.png b/public/assets/images/introNews/icon/ico_scholary_1.png new file mode 100644 index 0000000..095a8ff Binary files /dev/null and b/public/assets/images/introNews/icon/ico_scholary_1.png differ diff --git a/public/assets/images/introNews/icon/ico_scholary_2.png b/public/assets/images/introNews/icon/ico_scholary_2.png new file mode 100644 index 0000000..e00c1e7 Binary files /dev/null and b/public/assets/images/introNews/icon/ico_scholary_2.png differ diff --git a/public/assets/images/introNews/icon/ico_scholary_3.png b/public/assets/images/introNews/icon/ico_scholary_3.png new file mode 100644 index 0000000..c77a182 Binary files /dev/null and b/public/assets/images/introNews/icon/ico_scholary_3.png differ diff --git a/public/assets/images/introNews/icon/ico_scholary_4.png b/public/assets/images/introNews/icon/ico_scholary_4.png new file mode 100644 index 0000000..f7e4b20 Binary files /dev/null and b/public/assets/images/introNews/icon/ico_scholary_4.png differ diff --git a/public/assets/images/introNews/icon/ico_scholary_5.png b/public/assets/images/introNews/icon/ico_scholary_5.png new file mode 100644 index 0000000..d42efa9 Binary files /dev/null and b/public/assets/images/introNews/icon/ico_scholary_5.png differ diff --git a/public/assets/images/introNews/icon/img_cell_1_1.png b/public/assets/images/introNews/icon/img_cell_1_1.png new file mode 100644 index 0000000..5b3728f Binary files /dev/null and b/public/assets/images/introNews/icon/img_cell_1_1.png differ diff --git a/public/assets/images/introNews/icon/img_cell_1_2.png b/public/assets/images/introNews/icon/img_cell_1_2.png new file mode 100644 index 0000000..a2feac8 Binary files /dev/null and b/public/assets/images/introNews/icon/img_cell_1_2.png differ diff --git a/public/assets/images/introNews/icon/img_cell_1_3.png b/public/assets/images/introNews/icon/img_cell_1_3.png new file mode 100644 index 0000000..885b001 Binary files /dev/null and b/public/assets/images/introNews/icon/img_cell_1_3.png differ diff --git a/public/assets/images/introNews/icon/img_cell_2_1.png b/public/assets/images/introNews/icon/img_cell_2_1.png new file mode 100644 index 0000000..9887dc2 Binary files /dev/null and b/public/assets/images/introNews/icon/img_cell_2_1.png differ diff --git a/public/assets/images/introNews/icon/img_cell_2_2.png b/public/assets/images/introNews/icon/img_cell_2_2.png new file mode 100644 index 0000000..34e45eb Binary files /dev/null and b/public/assets/images/introNews/icon/img_cell_2_2.png differ diff --git a/public/assets/images/introNews/icon/img_cell_2_3.png b/public/assets/images/introNews/icon/img_cell_2_3.png new file mode 100644 index 0000000..f52d154 Binary files /dev/null and b/public/assets/images/introNews/icon/img_cell_2_3.png differ diff --git a/public/assets/images/introNews/icon/img_cell_2_4.png b/public/assets/images/introNews/icon/img_cell_2_4.png new file mode 100644 index 0000000..420229b Binary files /dev/null and b/public/assets/images/introNews/icon/img_cell_2_4.png differ diff --git a/public/assets/images/introNews/icon/img_title_1.png b/public/assets/images/introNews/icon/img_title_1.png new file mode 100644 index 0000000..1381c2c Binary files /dev/null and b/public/assets/images/introNews/icon/img_title_1.png differ diff --git a/public/assets/images/introNews/icon/img_title_1_mobile.png b/public/assets/images/introNews/icon/img_title_1_mobile.png new file mode 100644 index 0000000..704cc12 Binary files /dev/null and b/public/assets/images/introNews/icon/img_title_1_mobile.png differ diff --git a/public/assets/images/introNews/icon/img_title_2.png b/public/assets/images/introNews/icon/img_title_2.png new file mode 100644 index 0000000..2ba68d3 Binary files /dev/null and b/public/assets/images/introNews/icon/img_title_2.png differ diff --git a/public/assets/images/introNews/icon/img_title_2_mobile.png b/public/assets/images/introNews/icon/img_title_2_mobile.png new file mode 100644 index 0000000..cdfc9af Binary files /dev/null and b/public/assets/images/introNews/icon/img_title_2_mobile.png differ diff --git a/public/assets/images/introNews/icon/img_title_3.png b/public/assets/images/introNews/icon/img_title_3.png new file mode 100644 index 0000000..5cccadc Binary files /dev/null and b/public/assets/images/introNews/icon/img_title_3.png differ diff --git a/public/assets/images/introNews/icon/img_title_3_mobile.png b/public/assets/images/introNews/icon/img_title_3_mobile.png new file mode 100644 index 0000000..9ea0209 Binary files /dev/null and b/public/assets/images/introNews/icon/img_title_3_mobile.png differ diff --git a/public/assets/images/introNews/icon/img_title_4.png b/public/assets/images/introNews/icon/img_title_4.png new file mode 100644 index 0000000..f8d301b Binary files /dev/null and b/public/assets/images/introNews/icon/img_title_4.png differ diff --git a/public/assets/images/introNews/icon/img_title_4_mobile.png b/public/assets/images/introNews/icon/img_title_4_mobile.png new file mode 100644 index 0000000..e4de377 Binary files /dev/null and b/public/assets/images/introNews/icon/img_title_4_mobile.png differ diff --git a/public/assets/images/introNews/icon/img_title_5.png b/public/assets/images/introNews/icon/img_title_5.png new file mode 100644 index 0000000..5615bc4 Binary files /dev/null and b/public/assets/images/introNews/icon/img_title_5.png differ diff --git a/public/assets/images/introNews/icon/img_title_5_mobile.png b/public/assets/images/introNews/icon/img_title_5_mobile.png new file mode 100644 index 0000000..48423dc Binary files /dev/null and b/public/assets/images/introNews/icon/img_title_5_mobile.png differ diff --git a/public/assets/images/introNews/img_banner_schoolary.png b/public/assets/images/introNews/img_banner_schoolary.png new file mode 100644 index 0000000..ebc9355 Binary files /dev/null and b/public/assets/images/introNews/img_banner_schoolary.png differ diff --git a/public/assets/images/introNews/img_left_bg.png b/public/assets/images/introNews/img_left_bg.png new file mode 100644 index 0000000..ca7c420 Binary files /dev/null and b/public/assets/images/introNews/img_left_bg.png differ diff --git a/public/assets/images/introNews/img_left_schoolary.png b/public/assets/images/introNews/img_left_schoolary.png new file mode 100644 index 0000000..6d6ceaa Binary files /dev/null and b/public/assets/images/introNews/img_left_schoolary.png differ diff --git a/public/assets/images/introNews/img_right_bg.png b/public/assets/images/introNews/img_right_bg.png new file mode 100644 index 0000000..1a8f1f3 Binary files /dev/null and b/public/assets/images/introNews/img_right_bg.png differ diff --git a/public/assets/images/introNews/img_right_schoolary.png b/public/assets/images/introNews/img_right_schoolary.png new file mode 100644 index 0000000..e61127e Binary files /dev/null and b/public/assets/images/introNews/img_right_schoolary.png differ diff --git a/public/assets/images/introNews/img_tree_intro.png b/public/assets/images/introNews/img_tree_intro.png new file mode 100644 index 0000000..81045ba Binary files /dev/null and b/public/assets/images/introNews/img_tree_intro.png differ diff --git a/public/assets/images/introNews/intro_banner.png b/public/assets/images/introNews/intro_banner.png new file mode 100644 index 0000000..0310e16 Binary files /dev/null and b/public/assets/images/introNews/intro_banner.png differ diff --git a/public/assets/images/introNews/intro_banner_mobile.png b/public/assets/images/introNews/intro_banner_mobile.png new file mode 100644 index 0000000..d45fe49 Binary files /dev/null and b/public/assets/images/introNews/intro_banner_mobile.png differ diff --git a/public/assets/images/introNews/title_intro.png b/public/assets/images/introNews/title_intro.png new file mode 100644 index 0000000..2a7674c Binary files /dev/null and b/public/assets/images/introNews/title_intro.png differ diff --git a/public/assets/images/license/ico_package_actived.png b/public/assets/images/license/ico_package_actived.png new file mode 100644 index 0000000..72383c0 Binary files /dev/null and b/public/assets/images/license/ico_package_actived.png differ diff --git a/public/assets/images/license/ico_package_failed.png b/public/assets/images/license/ico_package_failed.png new file mode 100644 index 0000000..5044348 Binary files /dev/null and b/public/assets/images/license/ico_package_failed.png differ diff --git a/public/assets/images/license/ico_package_gan.png b/public/assets/images/license/ico_package_gan.png new file mode 100644 index 0000000..19c357a Binary files /dev/null and b/public/assets/images/license/ico_package_gan.png differ diff --git a/public/assets/images/license/ico_package_pay.png b/public/assets/images/license/ico_package_pay.png new file mode 100644 index 0000000..83c1d77 Binary files /dev/null and b/public/assets/images/license/ico_package_pay.png differ diff --git a/public/assets/images/license/img_package.png b/public/assets/images/license/img_package.png new file mode 100644 index 0000000..ea3301f Binary files /dev/null and b/public/assets/images/license/img_package.png differ diff --git a/public/assets/images/license/no_payment.png b/public/assets/images/license/no_payment.png new file mode 100644 index 0000000..dd0bc32 Binary files /dev/null and b/public/assets/images/license/no_payment.png differ diff --git a/public/assets/images/logo.png b/public/assets/images/logo.png new file mode 100644 index 0000000..a9b1eca Binary files /dev/null and b/public/assets/images/logo.png differ diff --git a/public/assets/images/logo_S.png b/public/assets/images/logo_S.png new file mode 100644 index 0000000..4004094 Binary files /dev/null and b/public/assets/images/logo_S.png differ diff --git a/public/assets/images/logo_TS.png b/public/assets/images/logo_TS.png new file mode 100644 index 0000000..5a15c83 Binary files /dev/null and b/public/assets/images/logo_TS.png differ diff --git a/public/assets/images/logo_home.png b/public/assets/images/logo_home.png new file mode 100644 index 0000000..da6032b Binary files /dev/null and b/public/assets/images/logo_home.png differ diff --git a/public/assets/images/logo_se_parent.png b/public/assets/images/logo_se_parent.png new file mode 100644 index 0000000..a4e65b8 Binary files /dev/null and b/public/assets/images/logo_se_parent.png differ diff --git a/public/assets/images/logo_se_student.png b/public/assets/images/logo_se_student.png new file mode 100644 index 0000000..53221f3 Binary files /dev/null and b/public/assets/images/logo_se_student.png differ diff --git a/public/assets/images/logo_se_teacher.png b/public/assets/images/logo_se_teacher.png new file mode 100644 index 0000000..2390336 Binary files /dev/null and b/public/assets/images/logo_se_teacher.png differ diff --git a/public/assets/images/logo_white.png b/public/assets/images/logo_white.png new file mode 100644 index 0000000..55d5ac2 Binary files /dev/null and b/public/assets/images/logo_white.png differ diff --git a/public/assets/images/luyenthi/ico-backthi.png b/public/assets/images/luyenthi/ico-backthi.png new file mode 100644 index 0000000..b32a36f Binary files /dev/null and b/public/assets/images/luyenthi/ico-backthi.png differ diff --git a/public/assets/images/luyenthi/ico-checkboxanh.png b/public/assets/images/luyenthi/ico-checkboxanh.png new file mode 100644 index 0000000..8d5f514 Binary files /dev/null and b/public/assets/images/luyenthi/ico-checkboxanh.png differ diff --git a/public/assets/images/luyenthi/ico-expand.png b/public/assets/images/luyenthi/ico-expand.png new file mode 100644 index 0000000..182b850 Binary files /dev/null and b/public/assets/images/luyenthi/ico-expand.png differ diff --git a/public/assets/images/luyenthi/ico-history.png b/public/assets/images/luyenthi/ico-history.png new file mode 100644 index 0000000..41f9cef Binary files /dev/null and b/public/assets/images/luyenthi/ico-history.png differ diff --git a/public/assets/images/luyenthi/ico-nextthi.png b/public/assets/images/luyenthi/ico-nextthi.png new file mode 100644 index 0000000..15ce58d Binary files /dev/null and b/public/assets/images/luyenthi/ico-nextthi.png differ diff --git a/public/assets/images/luyenthi/ico-radioanh.png b/public/assets/images/luyenthi/ico-radioanh.png new file mode 100644 index 0000000..958cbea Binary files /dev/null and b/public/assets/images/luyenthi/ico-radioanh.png differ diff --git a/public/assets/images/luyenthi/ico-textboxthi.png b/public/assets/images/luyenthi/ico-textboxthi.png new file mode 100644 index 0000000..7632a82 Binary files /dev/null and b/public/assets/images/luyenthi/ico-textboxthi.png differ diff --git a/public/assets/images/luyenthi/ico-uncheckedBox.png b/public/assets/images/luyenthi/ico-uncheckedBox.png new file mode 100644 index 0000000..d868bd5 Binary files /dev/null and b/public/assets/images/luyenthi/ico-uncheckedBox.png differ diff --git a/public/assets/images/luyenthi/ico-unit-test.png b/public/assets/images/luyenthi/ico-unit-test.png new file mode 100644 index 0000000..73090d7 Binary files /dev/null and b/public/assets/images/luyenthi/ico-unit-test.png differ diff --git a/public/assets/images/mockTestNews/achievement.png b/public/assets/images/mockTestNews/achievement.png new file mode 100644 index 0000000..821c8bd Binary files /dev/null and b/public/assets/images/mockTestNews/achievement.png differ diff --git a/public/assets/images/mockTestNews/banner.png b/public/assets/images/mockTestNews/banner.png new file mode 100644 index 0000000..66581b8 Binary files /dev/null and b/public/assets/images/mockTestNews/banner.png differ diff --git a/public/assets/images/mockTestNews/banner_mobile.png b/public/assets/images/mockTestNews/banner_mobile.png new file mode 100644 index 0000000..a3c27e6 Binary files /dev/null and b/public/assets/images/mockTestNews/banner_mobile.png differ diff --git a/public/assets/images/mockTestNews/ico_filter.png b/public/assets/images/mockTestNews/ico_filter.png new file mode 100644 index 0000000..cd7e6a9 Binary files /dev/null and b/public/assets/images/mockTestNews/ico_filter.png differ diff --git a/public/assets/images/mockTestNews/ico_filter_done.png b/public/assets/images/mockTestNews/ico_filter_done.png new file mode 100644 index 0000000..016d15d Binary files /dev/null and b/public/assets/images/mockTestNews/ico_filter_done.png differ diff --git a/public/assets/images/no_payment.jpg b/public/assets/images/no_payment.jpg new file mode 100644 index 0000000..6eeab88 Binary files /dev/null and b/public/assets/images/no_payment.jpg differ diff --git a/public/assets/images/no_payment.png b/public/assets/images/no_payment.png new file mode 100644 index 0000000..dd0bc32 Binary files /dev/null and b/public/assets/images/no_payment.png differ diff --git a/public/assets/images/no_plan.png b/public/assets/images/no_plan.png new file mode 100644 index 0000000..5b5e1ff Binary files /dev/null and b/public/assets/images/no_plan.png differ diff --git a/public/assets/images/no_plan_2.png b/public/assets/images/no_plan_2.png new file mode 100644 index 0000000..fa7209f Binary files /dev/null and b/public/assets/images/no_plan_2.png differ diff --git a/public/assets/images/process/ico_pro_0.png b/public/assets/images/process/ico_pro_0.png new file mode 100644 index 0000000..8fbee9b Binary files /dev/null and b/public/assets/images/process/ico_pro_0.png differ diff --git a/public/assets/images/process/ico_pro_10.png b/public/assets/images/process/ico_pro_10.png new file mode 100644 index 0000000..decfaf6 Binary files /dev/null and b/public/assets/images/process/ico_pro_10.png differ diff --git a/public/assets/images/process/ico_pro_100_sub.png b/public/assets/images/process/ico_pro_100_sub.png new file mode 100644 index 0000000..4e16424 Binary files /dev/null and b/public/assets/images/process/ico_pro_100_sub.png differ diff --git a/public/assets/images/process/ico_pro_100_suc.png b/public/assets/images/process/ico_pro_100_suc.png new file mode 100644 index 0000000..4e16424 Binary files /dev/null and b/public/assets/images/process/ico_pro_100_suc.png differ diff --git a/public/assets/images/process/ico_pro_20.png b/public/assets/images/process/ico_pro_20.png new file mode 100644 index 0000000..224283c Binary files /dev/null and b/public/assets/images/process/ico_pro_20.png differ diff --git a/public/assets/images/process/ico_pro_30.png b/public/assets/images/process/ico_pro_30.png new file mode 100644 index 0000000..0bbb0a9 Binary files /dev/null and b/public/assets/images/process/ico_pro_30.png differ diff --git a/public/assets/images/process/ico_pro_40.png b/public/assets/images/process/ico_pro_40.png new file mode 100644 index 0000000..4fd3dbf Binary files /dev/null and b/public/assets/images/process/ico_pro_40.png differ diff --git a/public/assets/images/process/ico_pro_50.png b/public/assets/images/process/ico_pro_50.png new file mode 100644 index 0000000..9bcc311 Binary files /dev/null and b/public/assets/images/process/ico_pro_50.png differ diff --git a/public/assets/images/process/ico_pro_60.png b/public/assets/images/process/ico_pro_60.png new file mode 100644 index 0000000..f93bbad Binary files /dev/null and b/public/assets/images/process/ico_pro_60.png differ diff --git a/public/assets/images/process/ico_pro_70.png b/public/assets/images/process/ico_pro_70.png new file mode 100644 index 0000000..c1c0cac Binary files /dev/null and b/public/assets/images/process/ico_pro_70.png differ diff --git a/public/assets/images/process/ico_pro_80.png b/public/assets/images/process/ico_pro_80.png new file mode 100644 index 0000000..6b31edd Binary files /dev/null and b/public/assets/images/process/ico_pro_80.png differ diff --git a/public/assets/images/process/ico_pro_90.png b/public/assets/images/process/ico_pro_90.png new file mode 100644 index 0000000..4001037 Binary files /dev/null and b/public/assets/images/process/ico_pro_90.png differ diff --git a/public/assets/images/process/ico_pro_check.png b/public/assets/images/process/ico_pro_check.png new file mode 100644 index 0000000..57d6a67 Binary files /dev/null and b/public/assets/images/process/ico_pro_check.png differ diff --git a/public/assets/images/process/ico_pro_lock.png b/public/assets/images/process/ico_pro_lock.png new file mode 100644 index 0000000..d55adbc Binary files /dev/null and b/public/assets/images/process/ico_pro_lock.png differ diff --git a/public/assets/images/rootlessnessCourse/Giao_trinh_co_ban.png b/public/assets/images/rootlessnessCourse/Giao_trinh_co_ban.png new file mode 100644 index 0000000..05c047d Binary files /dev/null and b/public/assets/images/rootlessnessCourse/Giao_trinh_co_ban.png differ diff --git a/public/assets/images/rootlessnessCourse/Giao_trinh_mat_goc.png b/public/assets/images/rootlessnessCourse/Giao_trinh_mat_goc.png new file mode 100644 index 0000000..a4ea7be Binary files /dev/null and b/public/assets/images/rootlessnessCourse/Giao_trinh_mat_goc.png differ diff --git a/public/assets/images/rootlessnessCourse/Starfish_mark.png b/public/assets/images/rootlessnessCourse/Starfish_mark.png new file mode 100644 index 0000000..ff68a9e Binary files /dev/null and b/public/assets/images/rootlessnessCourse/Starfish_mark.png differ diff --git a/public/assets/images/rootlessnessCourse/active_btn_circle_choose_schedule.png b/public/assets/images/rootlessnessCourse/active_btn_circle_choose_schedule.png new file mode 100644 index 0000000..64b0f24 Binary files /dev/null and b/public/assets/images/rootlessnessCourse/active_btn_circle_choose_schedule.png differ diff --git a/public/assets/images/rootlessnessCourse/bg-first_step.png b/public/assets/images/rootlessnessCourse/bg-first_step.png new file mode 100644 index 0000000..24e5866 Binary files /dev/null and b/public/assets/images/rootlessnessCourse/bg-first_step.png differ diff --git a/public/assets/images/rootlessnessCourse/bg_first_step.png b/public/assets/images/rootlessnessCourse/bg_first_step.png new file mode 100644 index 0000000..0513df4 Binary files /dev/null and b/public/assets/images/rootlessnessCourse/bg_first_step.png differ diff --git a/public/assets/images/rootlessnessCourse/bg_result_placement_test.png b/public/assets/images/rootlessnessCourse/bg_result_placement_test.png new file mode 100644 index 0000000..9061530 Binary files /dev/null and b/public/assets/images/rootlessnessCourse/bg_result_placement_test.png differ diff --git a/public/assets/images/rootlessnessCourse/btn_circle_choose_schedule.png b/public/assets/images/rootlessnessCourse/btn_circle_choose_schedule.png new file mode 100644 index 0000000..6ba94b9 Binary files /dev/null and b/public/assets/images/rootlessnessCourse/btn_circle_choose_schedule.png differ diff --git a/public/assets/images/rootlessnessCourse/finish_study_schedule.png b/public/assets/images/rootlessnessCourse/finish_study_schedule.png new file mode 100644 index 0000000..0ab7c66 Binary files /dev/null and b/public/assets/images/rootlessnessCourse/finish_study_schedule.png differ diff --git a/public/assets/images/rootlessnessCourse/line_result.svg b/public/assets/images/rootlessnessCourse/line_result.svg new file mode 100644 index 0000000..0b281fd --- /dev/null +++ b/public/assets/images/rootlessnessCourse/line_result.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/assets/images/rootlessnessCourse/list_courses_student.png b/public/assets/images/rootlessnessCourse/list_courses_student.png new file mode 100644 index 0000000..8dcaf49 Binary files /dev/null and b/public/assets/images/rootlessnessCourse/list_courses_student.png differ diff --git a/public/assets/images/rootlessnessCourse/new_logo_se.png b/public/assets/images/rootlessnessCourse/new_logo_se.png new file mode 100644 index 0000000..96b5497 Binary files /dev/null and b/public/assets/images/rootlessnessCourse/new_logo_se.png differ diff --git a/public/assets/images/rootlessnessCourse/question_result.png b/public/assets/images/rootlessnessCourse/question_result.png new file mode 100644 index 0000000..c99cbdc Binary files /dev/null and b/public/assets/images/rootlessnessCourse/question_result.png differ diff --git a/public/assets/images/rootlessnessCourse/time_result.png b/public/assets/images/rootlessnessCourse/time_result.png new file mode 100644 index 0000000..2b52b80 Binary files /dev/null and b/public/assets/images/rootlessnessCourse/time_result.png differ diff --git a/public/assets/images/setting/bg_gioithieu.png b/public/assets/images/setting/bg_gioithieu.png new file mode 100644 index 0000000..23fdc91 Binary files /dev/null and b/public/assets/images/setting/bg_gioithieu.png differ diff --git a/public/assets/images/setting/bg_gt_full.png b/public/assets/images/setting/bg_gt_full.png new file mode 100644 index 0000000..ecba0ac Binary files /dev/null and b/public/assets/images/setting/bg_gt_full.png differ diff --git a/public/assets/images/setting/ico_dropright_blue.png b/public/assets/images/setting/ico_dropright_blue.png new file mode 100644 index 0000000..329bcf5 Binary files /dev/null and b/public/assets/images/setting/ico_dropright_blue.png differ diff --git a/public/assets/images/setting/ico_email.png b/public/assets/images/setting/ico_email.png new file mode 100644 index 0000000..eca50d7 Binary files /dev/null and b/public/assets/images/setting/ico_email.png differ diff --git a/public/assets/images/setting/ico_eye.png b/public/assets/images/setting/ico_eye.png new file mode 100644 index 0000000..9cf30f2 Binary files /dev/null and b/public/assets/images/setting/ico_eye.png differ diff --git a/public/assets/images/setting/ico_group.png b/public/assets/images/setting/ico_group.png new file mode 100644 index 0000000..e0d3117 Binary files /dev/null and b/public/assets/images/setting/ico_group.png differ diff --git a/public/assets/images/setting/ico_map.png b/public/assets/images/setting/ico_map.png new file mode 100644 index 0000000..0f926a2 Binary files /dev/null and b/public/assets/images/setting/ico_map.png differ diff --git a/public/assets/images/setting/ico_password.png b/public/assets/images/setting/ico_password.png new file mode 100644 index 0000000..36c9a5d Binary files /dev/null and b/public/assets/images/setting/ico_password.png differ diff --git a/public/assets/images/setting/ico_phone.png b/public/assets/images/setting/ico_phone.png new file mode 100644 index 0000000..28f956f Binary files /dev/null and b/public/assets/images/setting/ico_phone.png differ diff --git a/public/assets/images/setting/ico_support.png b/public/assets/images/setting/ico_support.png new file mode 100644 index 0000000..18cb618 Binary files /dev/null and b/public/assets/images/setting/ico_support.png differ diff --git a/public/assets/images/setting/ico_visibility.png b/public/assets/images/setting/ico_visibility.png new file mode 100644 index 0000000..8df2d7f Binary files /dev/null and b/public/assets/images/setting/ico_visibility.png differ diff --git a/public/assets/images/setting/ico_warning.png b/public/assets/images/setting/ico_warning.png new file mode 100644 index 0000000..f66b163 Binary files /dev/null and b/public/assets/images/setting/ico_warning.png differ diff --git a/public/assets/images/student/Map-skill-final.png b/public/assets/images/student/Map-skill-final.png new file mode 100644 index 0000000..0e3815e Binary files /dev/null and b/public/assets/images/student/Map-skill-final.png differ diff --git a/public/assets/images/student/bg_edit_student_profile.png b/public/assets/images/student/bg_edit_student_profile.png new file mode 100644 index 0000000..59fda1f Binary files /dev/null and b/public/assets/images/student/bg_edit_student_profile.png differ diff --git a/public/assets/images/student/bg_no_homework.png b/public/assets/images/student/bg_no_homework.png new file mode 100644 index 0000000..827fa3b Binary files /dev/null and b/public/assets/images/student/bg_no_homework.png differ diff --git a/public/assets/images/student/bg_student_index.png b/public/assets/images/student/bg_student_index.png new file mode 100644 index 0000000..32171fd Binary files /dev/null and b/public/assets/images/student/bg_student_index.png differ diff --git a/public/assets/images/student/home/exam.png b/public/assets/images/student/home/exam.png new file mode 100644 index 0000000..1462882 Binary files /dev/null and b/public/assets/images/student/home/exam.png differ diff --git a/public/assets/images/student/home/grammar.png b/public/assets/images/student/home/grammar.png new file mode 100644 index 0000000..69fa4fb Binary files /dev/null and b/public/assets/images/student/home/grammar.png differ diff --git a/public/assets/images/student/home/ico_check.png b/public/assets/images/student/home/ico_check.png new file mode 100644 index 0000000..91f47d8 Binary files /dev/null and b/public/assets/images/student/home/ico_check.png differ diff --git a/public/assets/images/student/home/ico_lock.png b/public/assets/images/student/home/ico_lock.png new file mode 100644 index 0000000..d667364 Binary files /dev/null and b/public/assets/images/student/home/ico_lock.png differ diff --git a/public/assets/images/student/home/listening.png b/public/assets/images/student/home/listening.png new file mode 100644 index 0000000..98ad40c Binary files /dev/null and b/public/assets/images/student/home/listening.png differ diff --git a/public/assets/images/student/home/mini_test.png b/public/assets/images/student/home/mini_test.png new file mode 100644 index 0000000..1462882 Binary files /dev/null and b/public/assets/images/student/home/mini_test.png differ diff --git a/public/assets/images/student/home/project.png b/public/assets/images/student/home/project.png new file mode 100644 index 0000000..48ee1b0 Binary files /dev/null and b/public/assets/images/student/home/project.png differ diff --git a/public/assets/images/student/home/prononuciation.png b/public/assets/images/student/home/prononuciation.png new file mode 100644 index 0000000..98c0914 Binary files /dev/null and b/public/assets/images/student/home/prononuciation.png differ diff --git a/public/assets/images/student/home/pronunciation.png b/public/assets/images/student/home/pronunciation.png new file mode 100644 index 0000000..98c0914 Binary files /dev/null and b/public/assets/images/student/home/pronunciation.png differ diff --git a/public/assets/images/student/home/reading.png b/public/assets/images/student/home/reading.png new file mode 100644 index 0000000..3d2bb7b Binary files /dev/null and b/public/assets/images/student/home/reading.png differ diff --git a/public/assets/images/student/home/speaking.png b/public/assets/images/student/home/speaking.png new file mode 100644 index 0000000..f684a94 Binary files /dev/null and b/public/assets/images/student/home/speaking.png differ diff --git a/public/assets/images/student/home/vocab.png b/public/assets/images/student/home/vocab.png new file mode 100644 index 0000000..9f69b78 Binary files /dev/null and b/public/assets/images/student/home/vocab.png differ diff --git a/public/assets/images/student/home/vocabulary.png b/public/assets/images/student/home/vocabulary.png new file mode 100644 index 0000000..9f69b78 Binary files /dev/null and b/public/assets/images/student/home/vocabulary.png differ diff --git a/public/assets/images/student/home/writing.png b/public/assets/images/student/home/writing.png new file mode 100644 index 0000000..6199a1c Binary files /dev/null and b/public/assets/images/student/home/writing.png differ diff --git a/public/assets/images/student/homeworkdone/exam.png b/public/assets/images/student/homeworkdone/exam.png new file mode 100644 index 0000000..e112e5a Binary files /dev/null and b/public/assets/images/student/homeworkdone/exam.png differ diff --git a/public/assets/images/student/homeworkdone/grammar.png b/public/assets/images/student/homeworkdone/grammar.png new file mode 100644 index 0000000..27eb99f Binary files /dev/null and b/public/assets/images/student/homeworkdone/grammar.png differ diff --git a/public/assets/images/student/homeworkdone/listening.png b/public/assets/images/student/homeworkdone/listening.png new file mode 100644 index 0000000..353eff5 Binary files /dev/null and b/public/assets/images/student/homeworkdone/listening.png differ diff --git a/public/assets/images/student/homeworkdone/mini_test.png b/public/assets/images/student/homeworkdone/mini_test.png new file mode 100644 index 0000000..e112e5a Binary files /dev/null and b/public/assets/images/student/homeworkdone/mini_test.png differ diff --git a/public/assets/images/student/homeworkdone/project.png b/public/assets/images/student/homeworkdone/project.png new file mode 100644 index 0000000..5e8e330 Binary files /dev/null and b/public/assets/images/student/homeworkdone/project.png differ diff --git a/public/assets/images/student/homeworkdone/prononuciation.png b/public/assets/images/student/homeworkdone/prononuciation.png new file mode 100644 index 0000000..91e3b88 Binary files /dev/null and b/public/assets/images/student/homeworkdone/prononuciation.png differ diff --git a/public/assets/images/student/homeworkdone/pronunciation.png b/public/assets/images/student/homeworkdone/pronunciation.png new file mode 100644 index 0000000..91e3b88 Binary files /dev/null and b/public/assets/images/student/homeworkdone/pronunciation.png differ diff --git a/public/assets/images/student/homeworkdone/reading.png b/public/assets/images/student/homeworkdone/reading.png new file mode 100644 index 0000000..84fa975 Binary files /dev/null and b/public/assets/images/student/homeworkdone/reading.png differ diff --git a/public/assets/images/student/homeworkdone/speaking.png b/public/assets/images/student/homeworkdone/speaking.png new file mode 100644 index 0000000..d6a0a77 Binary files /dev/null and b/public/assets/images/student/homeworkdone/speaking.png differ diff --git a/public/assets/images/student/homeworkdone/vocab.png b/public/assets/images/student/homeworkdone/vocab.png new file mode 100644 index 0000000..d65487e Binary files /dev/null and b/public/assets/images/student/homeworkdone/vocab.png differ diff --git a/public/assets/images/student/homeworkdone/vocabulary.png b/public/assets/images/student/homeworkdone/vocabulary.png new file mode 100644 index 0000000..d65487e Binary files /dev/null and b/public/assets/images/student/homeworkdone/vocabulary.png differ diff --git a/public/assets/images/student/homeworkdone/writing.png b/public/assets/images/student/homeworkdone/writing.png new file mode 100644 index 0000000..39e882e Binary files /dev/null and b/public/assets/images/student/homeworkdone/writing.png differ diff --git a/public/assets/images/student/ico_add_blue.png b/public/assets/images/student/ico_add_blue.png new file mode 100644 index 0000000..e31a8c7 Binary files /dev/null and b/public/assets/images/student/ico_add_blue.png differ diff --git a/public/assets/images/student/ico_add_ph.png b/public/assets/images/student/ico_add_ph.png new file mode 100644 index 0000000..f2c4580 Binary files /dev/null and b/public/assets/images/student/ico_add_ph.png differ diff --git a/public/assets/images/student/ico_add_small.png b/public/assets/images/student/ico_add_small.png new file mode 100644 index 0000000..15375cf Binary files /dev/null and b/public/assets/images/student/ico_add_small.png differ diff --git a/public/assets/images/student/ico_baitap.png b/public/assets/images/student/ico_baitap.png new file mode 100644 index 0000000..2c67bdf Binary files /dev/null and b/public/assets/images/student/ico_baitap.png differ diff --git a/public/assets/images/student/ico_bar_grid.png b/public/assets/images/student/ico_bar_grid.png new file mode 100644 index 0000000..89aac35 Binary files /dev/null and b/public/assets/images/student/ico_bar_grid.png differ diff --git a/public/assets/images/student/ico_check_pink.png b/public/assets/images/student/ico_check_pink.png new file mode 100644 index 0000000..8bee154 Binary files /dev/null and b/public/assets/images/student/ico_check_pink.png differ diff --git a/public/assets/images/student/ico_checked_white.png b/public/assets/images/student/ico_checked_white.png new file mode 100644 index 0000000..52a5001 Binary files /dev/null and b/public/assets/images/student/ico_checked_white.png differ diff --git a/public/assets/images/student/ico_class.png b/public/assets/images/student/ico_class.png new file mode 100644 index 0000000..46aaccf Binary files /dev/null and b/public/assets/images/student/ico_class.png differ diff --git a/public/assets/images/student/ico_class_gr.png b/public/assets/images/student/ico_class_gr.png new file mode 100644 index 0000000..f244536 Binary files /dev/null and b/public/assets/images/student/ico_class_gr.png differ diff --git a/public/assets/images/student/ico_dropdown_blue.png b/public/assets/images/student/ico_dropdown_blue.png new file mode 100644 index 0000000..edee83d Binary files /dev/null and b/public/assets/images/student/ico_dropdown_blue.png differ diff --git a/public/assets/images/student/ico_dropup_blue.png b/public/assets/images/student/ico_dropup_blue.png new file mode 100644 index 0000000..ca2f058 Binary files /dev/null and b/public/assets/images/student/ico_dropup_blue.png differ diff --git a/public/assets/images/student/ico_edit_profile.png b/public/assets/images/student/ico_edit_profile.png new file mode 100644 index 0000000..dd251e5 Binary files /dev/null and b/public/assets/images/student/ico_edit_profile.png differ diff --git a/public/assets/images/student/ico_listening_large.png b/public/assets/images/student/ico_listening_large.png new file mode 100644 index 0000000..c1c71cd Binary files /dev/null and b/public/assets/images/student/ico_listening_large.png differ diff --git a/public/assets/images/student/ico_listening_medium.png b/public/assets/images/student/ico_listening_medium.png new file mode 100644 index 0000000..e4c80be Binary files /dev/null and b/public/assets/images/student/ico_listening_medium.png differ diff --git a/public/assets/images/student/ico_lock_pink.png b/public/assets/images/student/ico_lock_pink.png new file mode 100644 index 0000000..dcb8d05 Binary files /dev/null and b/public/assets/images/student/ico_lock_pink.png differ diff --git a/public/assets/images/student/ico_lock_white.png b/public/assets/images/student/ico_lock_white.png new file mode 100644 index 0000000..1acbcac Binary files /dev/null and b/public/assets/images/student/ico_lock_white.png differ diff --git a/public/assets/images/student/ico_sale_pink.png b/public/assets/images/student/ico_sale_pink.png new file mode 100644 index 0000000..67dc84d Binary files /dev/null and b/public/assets/images/student/ico_sale_pink.png differ diff --git a/public/assets/images/student/ico_school.png b/public/assets/images/student/ico_school.png new file mode 100644 index 0000000..4380927 Binary files /dev/null and b/public/assets/images/student/ico_school.png differ diff --git a/public/assets/images/student/ico_star.png b/public/assets/images/student/ico_star.png new file mode 100644 index 0000000..c5f27ed Binary files /dev/null and b/public/assets/images/student/ico_star.png differ diff --git a/public/assets/images/student/ico_success.png b/public/assets/images/student/ico_success.png new file mode 100644 index 0000000..d2d8bfe Binary files /dev/null and b/public/assets/images/student/ico_success.png differ diff --git a/public/assets/images/student/ico_teacher.png b/public/assets/images/student/ico_teacher.png new file mode 100644 index 0000000..1586e4d Binary files /dev/null and b/public/assets/images/student/ico_teacher.png differ diff --git a/public/assets/images/student/ico_thanhtich.png b/public/assets/images/student/ico_thanhtich.png new file mode 100644 index 0000000..6c0e4e7 Binary files /dev/null and b/public/assets/images/student/ico_thanhtich.png differ diff --git a/public/assets/images/student/ico_thanhvien.png b/public/assets/images/student/ico_thanhvien.png new file mode 100644 index 0000000..a0716ce Binary files /dev/null and b/public/assets/images/student/ico_thanhvien.png differ diff --git a/public/assets/images/student/ico_thumb.png b/public/assets/images/student/ico_thumb.png new file mode 100644 index 0000000..891da0b Binary files /dev/null and b/public/assets/images/student/ico_thumb.png differ diff --git a/public/assets/images/student/ico_vinhdanh.png b/public/assets/images/student/ico_vinhdanh.png new file mode 100644 index 0000000..887544d Binary files /dev/null and b/public/assets/images/student/ico_vinhdanh.png differ diff --git a/public/assets/images/student/icon_star_default.png b/public/assets/images/student/icon_star_default.png new file mode 100644 index 0000000..7cf2baf Binary files /dev/null and b/public/assets/images/student/icon_star_default.png differ diff --git a/public/assets/images/student/line.png b/public/assets/images/student/line.png new file mode 100644 index 0000000..285f7e9 Binary files /dev/null and b/public/assets/images/student/line.png differ diff --git a/public/assets/images/student/more/ico_class.png b/public/assets/images/student/more/ico_class.png new file mode 100644 index 0000000..98b829a Binary files /dev/null and b/public/assets/images/student/more/ico_class.png differ diff --git a/public/assets/images/student/more/ico_hoso.png b/public/assets/images/student/more/ico_hoso.png new file mode 100644 index 0000000..fdb9c4c Binary files /dev/null and b/public/assets/images/student/more/ico_hoso.png differ diff --git a/public/assets/images/student/more/ico_kehoachhoctap.png b/public/assets/images/student/more/ico_kehoachhoctap.png new file mode 100644 index 0000000..5d4b486 Binary files /dev/null and b/public/assets/images/student/more/ico_kehoachhoctap.png differ diff --git a/public/assets/images/student/more/ico_lienket.png b/public/assets/images/student/more/ico_lienket.png new file mode 100644 index 0000000..a7b0e6d Binary files /dev/null and b/public/assets/images/student/more/ico_lienket.png differ diff --git a/public/assets/images/student/more/ico_setting.png b/public/assets/images/student/more/ico_setting.png new file mode 100644 index 0000000..77d08a1 Binary files /dev/null and b/public/assets/images/student/more/ico_setting.png differ diff --git a/public/assets/images/student/more/ico_tinnhan.png b/public/assets/images/student/more/ico_tinnhan.png new file mode 100644 index 0000000..0c348b1 Binary files /dev/null and b/public/assets/images/student/more/ico_tinnhan.png differ diff --git a/public/assets/images/student/more/ico_upgrade.png b/public/assets/images/student/more/ico_upgrade.png new file mode 100644 index 0000000..c2da9ee Binary files /dev/null and b/public/assets/images/student/more/ico_upgrade.png differ diff --git a/public/assets/images/student/popup_add_hs.png b/public/assets/images/student/popup_add_hs.png new file mode 100644 index 0000000..388d163 Binary files /dev/null and b/public/assets/images/student/popup_add_hs.png differ diff --git a/public/assets/images/student/sunE_detail.png b/public/assets/images/student/sunE_detail.png new file mode 100644 index 0000000..aa5fd0d Binary files /dev/null and b/public/assets/images/student/sunE_detail.png differ diff --git a/public/assets/images/student/teacher_detail.png b/public/assets/images/student/teacher_detail.png new file mode 100644 index 0000000..6b6f688 Binary files /dev/null and b/public/assets/images/student/teacher_detail.png differ diff --git a/public/assets/images/student/thanhtich/HongNgoc.png b/public/assets/images/student/thanhtich/HongNgoc.png new file mode 100644 index 0000000..bf57aed Binary files /dev/null and b/public/assets/images/student/thanhtich/HongNgoc.png differ diff --git a/public/assets/images/student/thanhtich/bg_top_tt.png b/public/assets/images/student/thanhtich/bg_top_tt.png new file mode 100644 index 0000000..9444209 Binary files /dev/null and b/public/assets/images/student/thanhtich/bg_top_tt.png differ diff --git a/public/assets/images/student/thanhtich/ico_avt.png b/public/assets/images/student/thanhtich/ico_avt.png new file mode 100644 index 0000000..876bd70 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_avt.png differ diff --git a/public/assets/images/student/thanhtich/ico_b.png b/public/assets/images/student/thanhtich/ico_b.png new file mode 100644 index 0000000..a8a2791 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_b.png differ diff --git a/public/assets/images/student/thanhtich/ico_book.png b/public/assets/images/student/thanhtich/ico_book.png new file mode 100644 index 0000000..224e5c9 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_book.png differ diff --git a/public/assets/images/student/thanhtich/ico_cancu.png b/public/assets/images/student/thanhtich/ico_cancu.png new file mode 100644 index 0000000..841641c Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_cancu.png differ diff --git a/public/assets/images/student/thanhtich/ico_chamchap.png b/public/assets/images/student/thanhtich/ico_chamchap.png new file mode 100644 index 0000000..8271f3c Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_chamchap.png differ diff --git a/public/assets/images/student/thanhtich/ico_chamchi.png b/public/assets/images/student/thanhtich/ico_chamchi.png new file mode 100644 index 0000000..c4a8f11 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_chamchi.png differ diff --git a/public/assets/images/student/thanhtich/ico_diemthi.png b/public/assets/images/student/thanhtich/ico_diemthi.png new file mode 100644 index 0000000..117a7ad Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_diemthi.png differ diff --git a/public/assets/images/student/thanhtich/ico_dimo.png b/public/assets/images/student/thanhtich/ico_dimo.png new file mode 100644 index 0000000..a5f6f63 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_dimo.png differ diff --git a/public/assets/images/student/thanhtich/ico_grammar.png b/public/assets/images/student/thanhtich/ico_grammar.png new file mode 100644 index 0000000..2499ecf Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_grammar.png differ diff --git a/public/assets/images/student/thanhtich/ico_hc.png b/public/assets/images/student/thanhtich/ico_hc.png new file mode 100644 index 0000000..83599f0 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_hc.png differ diff --git a/public/assets/images/student/thanhtich/ico_hcs.png b/public/assets/images/student/thanhtich/ico_hcs.png new file mode 100644 index 0000000..54cca90 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_hcs.png differ diff --git a/public/assets/images/student/thanhtich/ico_hsg.png b/public/assets/images/student/thanhtich/ico_hsg.png new file mode 100644 index 0000000..4bf78a5 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_hsg.png differ diff --git a/public/assets/images/student/thanhtich/ico_lb.png b/public/assets/images/student/thanhtich/ico_lb.png new file mode 100644 index 0000000..30d1d06 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_lb.png differ diff --git a/public/assets/images/student/thanhtich/ico_listening.png b/public/assets/images/student/thanhtich/ico_listening.png new file mode 100644 index 0000000..c01cf97 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_listening.png differ diff --git a/public/assets/images/student/thanhtich/ico_pl_lucbao.png b/public/assets/images/student/thanhtich/ico_pl_lucbao.png new file mode 100644 index 0000000..329656f Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_pl_lucbao.png differ diff --git a/public/assets/images/student/thanhtich/ico_reading.png b/public/assets/images/student/thanhtich/ico_reading.png new file mode 100644 index 0000000..dbf1920 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_reading.png differ diff --git a/public/assets/images/student/thanhtich/ico_s.png b/public/assets/images/student/thanhtich/ico_s.png new file mode 100644 index 0000000..ef9059a Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_s.png differ diff --git a/public/assets/images/student/thanhtich/ico_search.png b/public/assets/images/student/thanhtich/ico_search.png new file mode 100644 index 0000000..140846e Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_search.png differ diff --git a/public/assets/images/student/thanhtich/ico_speaking.png b/public/assets/images/student/thanhtich/ico_speaking.png new file mode 100644 index 0000000..a174fb0 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_speaking.png differ diff --git a/public/assets/images/student/thanhtich/ico_thanhtich_offline.png b/public/assets/images/student/thanhtich/ico_thanhtich_offline.png new file mode 100644 index 0000000..4c99251 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_thanhtich_offline.png differ diff --git a/public/assets/images/student/thanhtich/ico_thanhtich_offline_active.png b/public/assets/images/student/thanhtich/ico_thanhtich_offline_active.png new file mode 100644 index 0000000..e805f10 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_thanhtich_offline_active.png differ diff --git a/public/assets/images/student/thanhtich/ico_thanhtich_online.png b/public/assets/images/student/thanhtich/ico_thanhtich_online.png new file mode 100644 index 0000000..b877658 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_thanhtich_online.png differ diff --git a/public/assets/images/student/thanhtich/ico_thanhtich_online_active.png b/public/assets/images/student/thanhtich/ico_thanhtich_online_active.png new file mode 100644 index 0000000..7211c90 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_thanhtich_online_active.png differ diff --git a/public/assets/images/student/thanhtich/ico_v.png b/public/assets/images/student/thanhtich/ico_v.png new file mode 100644 index 0000000..69c87ac Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_v.png differ diff --git a/public/assets/images/student/thanhtich/ico_voice.png b/public/assets/images/student/thanhtich/ico_voice.png new file mode 100644 index 0000000..0d33dc0 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_voice.png differ diff --git a/public/assets/images/student/thanhtich/ico_writing.png b/public/assets/images/student/thanhtich/ico_writing.png new file mode 100644 index 0000000..9987834 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_writing.png differ diff --git a/public/assets/images/student/thanhtich/ico_xephang.png b/public/assets/images/student/thanhtich/ico_xephang.png new file mode 100644 index 0000000..f0a523d Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_xephang.png differ diff --git a/public/assets/images/student/thanhtich/ico_xephang_active.png b/public/assets/images/student/thanhtich/ico_xephang_active.png new file mode 100644 index 0000000..f623d73 Binary files /dev/null and b/public/assets/images/student/thanhtich/ico_xephang_active.png differ diff --git a/public/assets/images/student/thanhtich/img_no_item.png b/public/assets/images/student/thanhtich/img_no_item.png new file mode 100644 index 0000000..3c67581 Binary files /dev/null and b/public/assets/images/student/thanhtich/img_no_item.png differ diff --git a/public/assets/images/student/thanhtich/thumb.png b/public/assets/images/student/thanhtich/thumb.png new file mode 100644 index 0000000..e0b2d7e Binary files /dev/null and b/public/assets/images/student/thanhtich/thumb.png differ diff --git a/public/assets/images/teacher/baocao.png b/public/assets/images/teacher/baocao.png new file mode 100644 index 0000000..c951e24 Binary files /dev/null and b/public/assets/images/teacher/baocao.png differ diff --git a/public/assets/images/teacher/chambai.png b/public/assets/images/teacher/chambai.png new file mode 100644 index 0000000..363575c Binary files /dev/null and b/public/assets/images/teacher/chambai.png differ diff --git a/public/assets/images/teacher/chambai/ico_cham_bai.png b/public/assets/images/teacher/chambai/ico_cham_bai.png new file mode 100644 index 0000000..4a46d72 Binary files /dev/null and b/public/assets/images/teacher/chambai/ico_cham_bai.png differ diff --git a/public/assets/images/teacher/chambai/ico_help.png b/public/assets/images/teacher/chambai/ico_help.png new file mode 100644 index 0000000..aed7734 Binary files /dev/null and b/public/assets/images/teacher/chambai/ico_help.png differ diff --git a/public/assets/images/teacher/chambai/project_large.png b/public/assets/images/teacher/chambai/project_large.png new file mode 100644 index 0000000..aa6fd49 Binary files /dev/null and b/public/assets/images/teacher/chambai/project_large.png differ diff --git a/public/assets/images/teacher/chambai/project_small.png b/public/assets/images/teacher/chambai/project_small.png new file mode 100644 index 0000000..825ff11 Binary files /dev/null and b/public/assets/images/teacher/chambai/project_small.png differ diff --git a/public/assets/images/teacher/diemdanh.png b/public/assets/images/teacher/diemdanh.png new file mode 100644 index 0000000..dd3375d Binary files /dev/null and b/public/assets/images/teacher/diemdanh.png differ diff --git a/public/assets/images/teacher/diemdanh/bg_diemdanh_no_item.png b/public/assets/images/teacher/diemdanh/bg_diemdanh_no_item.png new file mode 100644 index 0000000..050d883 Binary files /dev/null and b/public/assets/images/teacher/diemdanh/bg_diemdanh_no_item.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_calender.png b/public/assets/images/teacher/diemdanh/ico_calender.png new file mode 100644 index 0000000..a926ced Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_calender.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_calender_blue.png b/public/assets/images/teacher/diemdanh/ico_calender_blue.png new file mode 100644 index 0000000..ad8ad46 Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_calender_blue.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_check_large.png b/public/assets/images/teacher/diemdanh/ico_check_large.png new file mode 100644 index 0000000..f1ae4c6 Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_check_large.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_checked.png b/public/assets/images/teacher/diemdanh/ico_checked.png new file mode 100644 index 0000000..a825f0f Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_checked.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_clock.png b/public/assets/images/teacher/diemdanh/ico_clock.png new file mode 100644 index 0000000..f1b7796 Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_clock.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_clock_orange.png b/public/assets/images/teacher/diemdanh/ico_clock_orange.png new file mode 100644 index 0000000..58b6adf Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_clock_orange.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_date.png b/public/assets/images/teacher/diemdanh/ico_date.png new file mode 100644 index 0000000..8c2050f Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_date.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_dropdown_blue.png b/public/assets/images/teacher/diemdanh/ico_dropdown_blue.png new file mode 100644 index 0000000..24078ac Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_dropdown_blue.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_dropdown_green.png b/public/assets/images/teacher/diemdanh/ico_dropdown_green.png new file mode 100644 index 0000000..a01ac5f Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_dropdown_green.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_dropdown_orange.png b/public/assets/images/teacher/diemdanh/ico_dropdown_orange.png new file mode 100644 index 0000000..752f7af Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_dropdown_orange.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_dropdown_red.png b/public/assets/images/teacher/diemdanh/ico_dropdown_red.png new file mode 100644 index 0000000..e6157b4 Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_dropdown_red.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_dropup_blue.png b/public/assets/images/teacher/diemdanh/ico_dropup_blue.png new file mode 100644 index 0000000..d217ddc Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_dropup_blue.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_luyenthiact.png b/public/assets/images/teacher/diemdanh/ico_luyenthiact.png new file mode 100644 index 0000000..e12077d Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_luyenthiact.png differ diff --git a/public/assets/images/teacher/diemdanh/ico_users.png b/public/assets/images/teacher/diemdanh/ico_users.png new file mode 100644 index 0000000..117f92a Binary files /dev/null and b/public/assets/images/teacher/diemdanh/ico_users.png differ diff --git a/public/assets/images/teacher/giaobai.png b/public/assets/images/teacher/giaobai.png new file mode 100644 index 0000000..869c1c0 Binary files /dev/null and b/public/assets/images/teacher/giaobai.png differ diff --git a/public/assets/images/teacher/giaobai/Group 6310.png b/public/assets/images/teacher/giaobai/Group 6310.png new file mode 100644 index 0000000..5dc8b69 Binary files /dev/null and b/public/assets/images/teacher/giaobai/Group 6310.png differ diff --git a/public/assets/images/teacher/giaobai/Nhac_nho.png b/public/assets/images/teacher/giaobai/Nhac_nho.png new file mode 100644 index 0000000..5a61b05 Binary files /dev/null and b/public/assets/images/teacher/giaobai/Nhac_nho.png differ diff --git a/public/assets/images/teacher/giaobai/bg_no_gb.png b/public/assets/images/teacher/giaobai/bg_no_gb.png new file mode 100644 index 0000000..ff3b1a3 Binary files /dev/null and b/public/assets/images/teacher/giaobai/bg_no_gb.png differ diff --git a/public/assets/images/teacher/giaobai/detail_small.png b/public/assets/images/teacher/giaobai/detail_small.png new file mode 100644 index 0000000..e1a8009 Binary files /dev/null and b/public/assets/images/teacher/giaobai/detail_small.png differ diff --git a/public/assets/images/teacher/giaobai/details.png b/public/assets/images/teacher/giaobai/details.png new file mode 100644 index 0000000..4772f76 Binary files /dev/null and b/public/assets/images/teacher/giaobai/details.png differ diff --git a/public/assets/images/teacher/giaobai/exam.png b/public/assets/images/teacher/giaobai/exam.png new file mode 100644 index 0000000..c61cea6 Binary files /dev/null and b/public/assets/images/teacher/giaobai/exam.png differ diff --git a/public/assets/images/teacher/giaobai/grammar.png b/public/assets/images/teacher/giaobai/grammar.png new file mode 100644 index 0000000..8a8eb8c Binary files /dev/null and b/public/assets/images/teacher/giaobai/grammar.png differ diff --git a/public/assets/images/teacher/giaobai/ico_audio.png b/public/assets/images/teacher/giaobai/ico_audio.png new file mode 100644 index 0000000..717b635 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_audio.png differ diff --git a/public/assets/images/teacher/giaobai/ico_book.png b/public/assets/images/teacher/giaobai/ico_book.png new file mode 100644 index 0000000..57adca5 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_book.png differ diff --git a/public/assets/images/teacher/giaobai/ico_capacity_assign.png b/public/assets/images/teacher/giaobai/ico_capacity_assign.png new file mode 100644 index 0000000..eecfe0a Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_capacity_assign.png differ diff --git a/public/assets/images/teacher/giaobai/ico_check.png b/public/assets/images/teacher/giaobai/ico_check.png new file mode 100644 index 0000000..e8f4bab Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_check.png differ diff --git a/public/assets/images/teacher/giaobai/ico_clock.png b/public/assets/images/teacher/giaobai/ico_clock.png new file mode 100644 index 0000000..c413599 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_clock.png differ diff --git a/public/assets/images/teacher/giaobai/ico_demand_assign.png b/public/assets/images/teacher/giaobai/ico_demand_assign.png new file mode 100644 index 0000000..5465ca2 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_demand_assign.png differ diff --git a/public/assets/images/teacher/giaobai/ico_doc.png b/public/assets/images/teacher/giaobai/ico_doc.png new file mode 100644 index 0000000..00f12a9 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_doc.png differ diff --git a/public/assets/images/teacher/giaobai/ico_document.png b/public/assets/images/teacher/giaobai/ico_document.png new file mode 100644 index 0000000..a13f9b0 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_document.png differ diff --git a/public/assets/images/teacher/giaobai/ico_excel.png b/public/assets/images/teacher/giaobai/ico_excel.png new file mode 100644 index 0000000..13126ec Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_excel.png differ diff --git a/public/assets/images/teacher/giaobai/ico_file.png b/public/assets/images/teacher/giaobai/ico_file.png new file mode 100644 index 0000000..acb912b Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_file.png differ diff --git a/public/assets/images/teacher/giaobai/ico_file_active.png b/public/assets/images/teacher/giaobai/ico_file_active.png new file mode 100644 index 0000000..9d3babe Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_file_active.png differ diff --git a/public/assets/images/teacher/giaobai/ico_filter.png b/public/assets/images/teacher/giaobai/ico_filter.png new file mode 100644 index 0000000..0abb870 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_filter.png differ diff --git a/public/assets/images/teacher/giaobai/ico_freedom_assign.png b/public/assets/images/teacher/giaobai/ico_freedom_assign.png new file mode 100644 index 0000000..c657fcf Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_freedom_assign.png differ diff --git a/public/assets/images/teacher/giaobai/ico_heart.png b/public/assets/images/teacher/giaobai/ico_heart.png new file mode 100644 index 0000000..69b92f0 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_heart.png differ diff --git a/public/assets/images/teacher/giaobai/ico_heart_no.png b/public/assets/images/teacher/giaobai/ico_heart_no.png new file mode 100644 index 0000000..8bc85e8 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_heart_no.png differ diff --git a/public/assets/images/teacher/giaobai/ico_img.png b/public/assets/images/teacher/giaobai/ico_img.png new file mode 100644 index 0000000..98d8c07 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_img.png differ diff --git a/public/assets/images/teacher/giaobai/ico_mp3.png b/public/assets/images/teacher/giaobai/ico_mp3.png new file mode 100644 index 0000000..f4b56b7 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_mp3.png differ diff --git a/public/assets/images/teacher/giaobai/ico_pdf.png b/public/assets/images/teacher/giaobai/ico_pdf.png new file mode 100644 index 0000000..b0d5453 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_pdf.png differ diff --git a/public/assets/images/teacher/giaobai/ico_ppt.png b/public/assets/images/teacher/giaobai/ico_ppt.png new file mode 100644 index 0000000..2a189d9 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_ppt.png differ diff --git a/public/assets/images/teacher/giaobai/ico_remove.png b/public/assets/images/teacher/giaobai/ico_remove.png new file mode 100644 index 0000000..5dc8b69 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_remove.png differ diff --git a/public/assets/images/teacher/giaobai/ico_setting.png b/public/assets/images/teacher/giaobai/ico_setting.png new file mode 100644 index 0000000..db1b085 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_setting.png differ diff --git a/public/assets/images/teacher/giaobai/ico_users_active.png b/public/assets/images/teacher/giaobai/ico_users_active.png new file mode 100644 index 0000000..2926022 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_users_active.png differ diff --git a/public/assets/images/teacher/giaobai/ico_video.png b/public/assets/images/teacher/giaobai/ico_video.png new file mode 100644 index 0000000..959916a Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_video.png differ diff --git a/public/assets/images/teacher/giaobai/ico_word.png b/public/assets/images/teacher/giaobai/ico_word.png new file mode 100644 index 0000000..a13f9b0 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_word.png differ diff --git a/public/assets/images/teacher/giaobai/ico_writing.png b/public/assets/images/teacher/giaobai/ico_writing.png new file mode 100644 index 0000000..a13f9b0 Binary files /dev/null and b/public/assets/images/teacher/giaobai/ico_writing.png differ diff --git a/public/assets/images/teacher/giaobai/listening.png b/public/assets/images/teacher/giaobai/listening.png new file mode 100644 index 0000000..e29c6c2 Binary files /dev/null and b/public/assets/images/teacher/giaobai/listening.png differ diff --git a/public/assets/images/teacher/giaobai/mini_test.png b/public/assets/images/teacher/giaobai/mini_test.png new file mode 100644 index 0000000..c61cea6 Binary files /dev/null and b/public/assets/images/teacher/giaobai/mini_test.png differ diff --git a/public/assets/images/teacher/giaobai/project.png b/public/assets/images/teacher/giaobai/project.png new file mode 100644 index 0000000..549c01e Binary files /dev/null and b/public/assets/images/teacher/giaobai/project.png differ diff --git a/public/assets/images/teacher/giaobai/pronunciation.png b/public/assets/images/teacher/giaobai/pronunciation.png new file mode 100644 index 0000000..5d9a612 Binary files /dev/null and b/public/assets/images/teacher/giaobai/pronunciation.png differ diff --git a/public/assets/images/teacher/giaobai/reading.png b/public/assets/images/teacher/giaobai/reading.png new file mode 100644 index 0000000..3f73ec0 Binary files /dev/null and b/public/assets/images/teacher/giaobai/reading.png differ diff --git a/public/assets/images/teacher/giaobai/skill_guide.png b/public/assets/images/teacher/giaobai/skill_guide.png new file mode 100644 index 0000000..0523d35 Binary files /dev/null and b/public/assets/images/teacher/giaobai/skill_guide.png differ diff --git a/public/assets/images/teacher/giaobai/speaking.png b/public/assets/images/teacher/giaobai/speaking.png new file mode 100644 index 0000000..67d0745 Binary files /dev/null and b/public/assets/images/teacher/giaobai/speaking.png differ diff --git a/public/assets/images/teacher/giaobai/vocab.png b/public/assets/images/teacher/giaobai/vocab.png new file mode 100644 index 0000000..3d87ee1 Binary files /dev/null and b/public/assets/images/teacher/giaobai/vocab.png differ diff --git a/public/assets/images/teacher/giaobai/vocabulary.png b/public/assets/images/teacher/giaobai/vocabulary.png new file mode 100644 index 0000000..3d87ee1 Binary files /dev/null and b/public/assets/images/teacher/giaobai/vocabulary.png differ diff --git a/public/assets/images/teacher/giaobai/writing.png b/public/assets/images/teacher/giaobai/writing.png new file mode 100644 index 0000000..9db2aa6 Binary files /dev/null and b/public/assets/images/teacher/giaobai/writing.png differ diff --git a/public/assets/images/teacher/ico_book.png b/public/assets/images/teacher/ico_book.png new file mode 100644 index 0000000..14244bb Binary files /dev/null and b/public/assets/images/teacher/ico_book.png differ diff --git a/public/assets/images/teacher/ico_clock.png b/public/assets/images/teacher/ico_clock.png new file mode 100644 index 0000000..c96a449 Binary files /dev/null and b/public/assets/images/teacher/ico_clock.png differ diff --git a/public/assets/images/teacher/ico_code.png b/public/assets/images/teacher/ico_code.png new file mode 100644 index 0000000..ed11660 Binary files /dev/null and b/public/assets/images/teacher/ico_code.png differ diff --git a/public/assets/images/teacher/ico_filter.png b/public/assets/images/teacher/ico_filter.png new file mode 100644 index 0000000..0abb870 Binary files /dev/null and b/public/assets/images/teacher/ico_filter.png differ diff --git a/public/assets/images/teacher/ico_left_ca.png b/public/assets/images/teacher/ico_left_ca.png new file mode 100644 index 0000000..ba7c251 Binary files /dev/null and b/public/assets/images/teacher/ico_left_ca.png differ diff --git a/public/assets/images/teacher/ico_remove_blue.png b/public/assets/images/teacher/ico_remove_blue.png new file mode 100644 index 0000000..7e49999 Binary files /dev/null and b/public/assets/images/teacher/ico_remove_blue.png differ diff --git a/public/assets/images/teacher/ico_remove_white.png b/public/assets/images/teacher/ico_remove_white.png new file mode 100644 index 0000000..02ed338 Binary files /dev/null and b/public/assets/images/teacher/ico_remove_white.png differ diff --git a/public/assets/images/teacher/ico_right_blue.png b/public/assets/images/teacher/ico_right_blue.png new file mode 100644 index 0000000..d350761 Binary files /dev/null and b/public/assets/images/teacher/ico_right_blue.png differ diff --git a/public/assets/images/teacher/ico_right_ca.png b/public/assets/images/teacher/ico_right_ca.png new file mode 100644 index 0000000..01ea4c1 Binary files /dev/null and b/public/assets/images/teacher/ico_right_ca.png differ diff --git a/public/assets/images/teacher/ico_school.png b/public/assets/images/teacher/ico_school.png new file mode 100644 index 0000000..7bdf7d4 Binary files /dev/null and b/public/assets/images/teacher/ico_school.png differ diff --git a/public/assets/images/teacher/ico_user_add.png b/public/assets/images/teacher/ico_user_add.png new file mode 100644 index 0000000..9f8ba4d Binary files /dev/null and b/public/assets/images/teacher/ico_user_add.png differ diff --git a/public/assets/images/teacher/ico_user_share.png b/public/assets/images/teacher/ico_user_share.png new file mode 100644 index 0000000..486d22f Binary files /dev/null and b/public/assets/images/teacher/ico_user_share.png differ diff --git a/public/assets/images/teacher/ico_users.png b/public/assets/images/teacher/ico_users.png new file mode 100644 index 0000000..cdf1f61 Binary files /dev/null and b/public/assets/images/teacher/ico_users.png differ diff --git a/public/assets/images/teacher/icon_not_yet_filter.png b/public/assets/images/teacher/icon_not_yet_filter.png new file mode 100644 index 0000000..5878952 Binary files /dev/null and b/public/assets/images/teacher/icon_not_yet_filter.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_+.png b/public/assets/images/teacher/lichlamviec/ico_+.png new file mode 100644 index 0000000..9cf62eb Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_+.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_add.png b/public/assets/images/teacher/lichlamviec/ico_add.png new file mode 100644 index 0000000..10e79a5 Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_add.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_add_small.png b/public/assets/images/teacher/lichlamviec/ico_add_small.png new file mode 100644 index 0000000..9cf62eb Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_add_small.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_caidat.png b/public/assets/images/teacher/lichlamviec/ico_caidat.png new file mode 100644 index 0000000..a5e7d80 Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_caidat.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_edit.png b/public/assets/images/teacher/lichlamviec/ico_edit.png new file mode 100644 index 0000000..64a2718 Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_edit.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_hoso.png b/public/assets/images/teacher/lichlamviec/ico_hoso.png new file mode 100644 index 0000000..c96c47f Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_hoso.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_huongdan.png b/public/assets/images/teacher/lichlamviec/ico_huongdan.png new file mode 100644 index 0000000..0b39fd8 Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_huongdan.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_lichlamviec.png b/public/assets/images/teacher/lichlamviec/ico_lichlamviec.png new file mode 100644 index 0000000..3ff37bf Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_lichlamviec.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_nangcap.png b/public/assets/images/teacher/lichlamviec/ico_nangcap.png new file mode 100644 index 0000000..4017acc Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_nangcap.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_no_kh.png b/public/assets/images/teacher/lichlamviec/ico_no_kh.png new file mode 100644 index 0000000..e16b8d9 Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_no_kh.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_quanly.png b/public/assets/images/teacher/lichlamviec/ico_quanly.png new file mode 100644 index 0000000..c32de1d Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_quanly.png differ diff --git a/public/assets/images/teacher/lichlamviec/ico_reload.png b/public/assets/images/teacher/lichlamviec/ico_reload.png new file mode 100644 index 0000000..8bccf84 Binary files /dev/null and b/public/assets/images/teacher/lichlamviec/ico_reload.png differ diff --git a/public/assets/images/teacher/phieudiem.png b/public/assets/images/teacher/phieudiem.png new file mode 100644 index 0000000..229a7df Binary files /dev/null and b/public/assets/images/teacher/phieudiem.png differ diff --git a/public/assets/images/teacher/student.png b/public/assets/images/teacher/student.png new file mode 100644 index 0000000..a7e8164 Binary files /dev/null and b/public/assets/images/teacher/student.png differ diff --git a/public/assets/images/teacher/thanhtich.png b/public/assets/images/teacher/thanhtich.png new file mode 100644 index 0000000..35f78d9 Binary files /dev/null and b/public/assets/images/teacher/thanhtich.png differ diff --git a/public/assets/images/thanhtich/badge-vodich1.png b/public/assets/images/thanhtich/badge-vodich1.png new file mode 100644 index 0000000..0c61d04 Binary files /dev/null and b/public/assets/images/thanhtich/badge-vodich1.png differ diff --git a/public/assets/images/thanhtich/badge-vodich2.png b/public/assets/images/thanhtich/badge-vodich2.png new file mode 100644 index 0000000..81f48e7 Binary files /dev/null and b/public/assets/images/thanhtich/badge-vodich2.png differ diff --git a/public/assets/images/thanhtich/badge-vodich3.png b/public/assets/images/thanhtich/badge-vodich3.png new file mode 100644 index 0000000..04f9d8d Binary files /dev/null and b/public/assets/images/thanhtich/badge-vodich3.png differ diff --git a/public/assets/images/thanhtich/badge-vodich4.png b/public/assets/images/thanhtich/badge-vodich4.png new file mode 100644 index 0000000..91e8780 Binary files /dev/null and b/public/assets/images/thanhtich/badge-vodich4.png differ diff --git a/public/assets/images/thanhtich/badge-vodich5.png b/public/assets/images/thanhtich/badge-vodich5.png new file mode 100644 index 0000000..ad144ad Binary files /dev/null and b/public/assets/images/thanhtich/badge-vodich5.png differ diff --git a/public/assets/images/thanhtich/down.png b/public/assets/images/thanhtich/down.png new file mode 100644 index 0000000..9a2fd09 Binary files /dev/null and b/public/assets/images/thanhtich/down.png differ diff --git a/public/assets/images/thanhtich/gold.png b/public/assets/images/thanhtich/gold.png new file mode 100644 index 0000000..3f312d5 Binary files /dev/null and b/public/assets/images/thanhtich/gold.png differ diff --git a/public/assets/images/thanhtich/top1.png b/public/assets/images/thanhtich/top1.png new file mode 100644 index 0000000..32dab5c Binary files /dev/null and b/public/assets/images/thanhtich/top1.png differ diff --git a/public/assets/images/thanhtich/top2.png b/public/assets/images/thanhtich/top2.png new file mode 100644 index 0000000..9e47896 Binary files /dev/null and b/public/assets/images/thanhtich/top2.png differ diff --git a/public/assets/images/thanhtich/top3.png b/public/assets/images/thanhtich/top3.png new file mode 100644 index 0000000..10a74d6 Binary files /dev/null and b/public/assets/images/thanhtich/top3.png differ diff --git a/public/assets/images/thanhtich/up.png b/public/assets/images/thanhtich/up.png new file mode 100644 index 0000000..8be49cf Binary files /dev/null and b/public/assets/images/thanhtich/up.png differ diff --git a/public/assets/images/tinnhan/avata.png b/public/assets/images/tinnhan/avata.png new file mode 100644 index 0000000..de40cf9 Binary files /dev/null and b/public/assets/images/tinnhan/avata.png differ diff --git a/public/assets/images/tinnhan/bg_message.png b/public/assets/images/tinnhan/bg_message.png new file mode 100644 index 0000000..a5f61cb Binary files /dev/null and b/public/assets/images/tinnhan/bg_message.png differ diff --git a/public/assets/images/tinnhan/bg_update.png b/public/assets/images/tinnhan/bg_update.png new file mode 100644 index 0000000..4928a3d Binary files /dev/null and b/public/assets/images/tinnhan/bg_update.png differ diff --git a/public/assets/images/tinnhan/ico_dropdown.png b/public/assets/images/tinnhan/ico_dropdown.png new file mode 100644 index 0000000..380b430 Binary files /dev/null and b/public/assets/images/tinnhan/ico_dropdown.png differ diff --git a/public/assets/images/tinnhan/ico_message.png b/public/assets/images/tinnhan/ico_message.png new file mode 100644 index 0000000..3f53bc9 Binary files /dev/null and b/public/assets/images/tinnhan/ico_message.png differ diff --git a/public/assets/images/tinnhan/ico_ring.png b/public/assets/images/tinnhan/ico_ring.png new file mode 100644 index 0000000..91c1978 Binary files /dev/null and b/public/assets/images/tinnhan/ico_ring.png differ diff --git a/public/assets/images/tinnhan/ico_search.png b/public/assets/images/tinnhan/ico_search.png new file mode 100644 index 0000000..83f937a Binary files /dev/null and b/public/assets/images/tinnhan/ico_search.png differ diff --git a/public/assets/images/tinnhan/ico_send_mes.png b/public/assets/images/tinnhan/ico_send_mes.png new file mode 100644 index 0000000..6fc2ce1 Binary files /dev/null and b/public/assets/images/tinnhan/ico_send_mes.png differ diff --git a/public/assets/images/tinnhan/ico_tb.png b/public/assets/images/tinnhan/ico_tb.png new file mode 100644 index 0000000..93485da Binary files /dev/null and b/public/assets/images/tinnhan/ico_tb.png differ diff --git a/public/assets/images/underline-score.png b/public/assets/images/underline-score.png new file mode 100644 index 0000000..17591be Binary files /dev/null and b/public/assets/images/underline-score.png differ diff --git a/public/assets/imgs/avatar_auth.png b/public/assets/imgs/avatar_auth.png new file mode 100644 index 0000000..b42b3f2 Binary files /dev/null and b/public/assets/imgs/avatar_auth.png differ diff --git a/public/assets/imgs/avatar_school.png b/public/assets/imgs/avatar_school.png new file mode 100644 index 0000000..e9ad6a0 Binary files /dev/null and b/public/assets/imgs/avatar_school.png differ diff --git a/public/assets/imgs/bg/bg_auth.png b/public/assets/imgs/bg/bg_auth.png new file mode 100644 index 0000000..aab3359 Binary files /dev/null and b/public/assets/imgs/bg/bg_auth.png differ diff --git a/public/assets/imgs/bg/bg_main.png b/public/assets/imgs/bg/bg_main.png new file mode 100644 index 0000000..7c4ad17 Binary files /dev/null and b/public/assets/imgs/bg/bg_main.png differ diff --git a/public/assets/imgs/bg/bg_sub_main.png b/public/assets/imgs/bg/bg_sub_main.png new file mode 100644 index 0000000..7e6cd94 Binary files /dev/null and b/public/assets/imgs/bg/bg_sub_main.png differ diff --git a/public/assets/imgs/book_criteria_setting.png b/public/assets/imgs/book_criteria_setting.png new file mode 100644 index 0000000..c487fe9 Binary files /dev/null and b/public/assets/imgs/book_criteria_setting.png differ diff --git a/public/assets/imgs/logo/logo_SE.png b/public/assets/imgs/logo/logo_SE.png new file mode 100644 index 0000000..3cb45a6 Binary files /dev/null and b/public/assets/imgs/logo/logo_SE.png differ diff --git a/public/assets/imgs/phone_slide_1.png b/public/assets/imgs/phone_slide_1.png new file mode 100644 index 0000000..7e0f1fe Binary files /dev/null and b/public/assets/imgs/phone_slide_1.png differ diff --git a/public/assets/imgs/phone_slide_2.png b/public/assets/imgs/phone_slide_2.png new file mode 100644 index 0000000..f3d5f01 Binary files /dev/null and b/public/assets/imgs/phone_slide_2.png differ diff --git a/public/assets/imgs/phone_slide_3.png b/public/assets/imgs/phone_slide_3.png new file mode 100644 index 0000000..e06c2d6 Binary files /dev/null and b/public/assets/imgs/phone_slide_3.png differ diff --git a/public/assets/imgs/phone_slide_4.png b/public/assets/imgs/phone_slide_4.png new file mode 100644 index 0000000..a3baf95 Binary files /dev/null and b/public/assets/imgs/phone_slide_4.png differ diff --git a/public/assets/imgs/phone_slide_5.png b/public/assets/imgs/phone_slide_5.png new file mode 100644 index 0000000..2ac258a Binary files /dev/null and b/public/assets/imgs/phone_slide_5.png differ diff --git a/public/assets/js/all.js b/public/assets/js/all.js new file mode 100644 index 0000000..e69de29 diff --git a/public/assets/js/select.js b/public/assets/js/select.js new file mode 100644 index 0000000..e69de29 diff --git a/public/assets/videos/parent_video.mp4 b/public/assets/videos/parent_video.mp4 new file mode 100644 index 0000000..b576b00 Binary files /dev/null and b/public/assets/videos/parent_video.mp4 differ diff --git a/public/assets/videos/student_video.mp4 b/public/assets/videos/student_video.mp4 new file mode 100644 index 0000000..c9418b4 Binary files /dev/null and b/public/assets/videos/student_video.mp4 differ diff --git a/public/assets/videos/teacher_video.mp4 b/public/assets/videos/teacher_video.mp4 new file mode 100644 index 0000000..2c7f4ba Binary files /dev/null and b/public/assets/videos/teacher_video.mp4 differ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..bbb385f Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..728dbb5 --- /dev/null +++ b/public/index.html @@ -0,0 +1,82 @@ + + + + + + + + + + + + + Sunday English - Nâng cao điểm số Tiếng Anh + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + \ No newline at end of file diff --git a/public/logo192.png b/public/logo192.png new file mode 100644 index 0000000..fc44b0a Binary files /dev/null and b/public/logo192.png differ diff --git a/public/logo512.png b/public/logo512.png new file mode 100644 index 0000000..a4e47a6 Binary files /dev/null and b/public/logo512.png differ diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/public/web.config b/public/web.config new file mode 100644 index 0000000..9ff871c --- /dev/null +++ b/public/web.config @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..fee6532 --- /dev/null +++ b/src/App.js @@ -0,0 +1,156 @@ +import React, { useEffect } from "react"; +import { Router, Route, Switch, Redirect } from "react-router-dom"; +import { useSelector, useDispatch } from "react-redux"; + +import { + RouteRedirectToLogin, + RouteRedirectToAdmin, +} from "./_components/Router"; +import { alertActions } from "./_actions"; +import { history } from "./_helpers"; +import Login from "./_screens/login"; +import { PATH, USER_ROLE } from "./_constants"; +import HomePage from "./_screens/home"; +import ForgetPassword from "./_screens/forget-password"; +import TeacherHome from "./_screens/home/teacher"; +import AdminHome from "./_screens/home/admin"; +import CriteriaManage from "./_screens/criteria/criteria-manage"; +import CriteriaSetting from "./_screens/criteria/criteria-setting"; +import HeadmasterHome from "./_screens/home/headmaster"; +import DetailGrade from "./_screens/home/detail-grade"; +import DetailRoomEducation from "./_screens/home/detail-room-education"; +import EducationDepartmentHome from "./_screens/home/education-department"; +import { Alert } from "./_components/Alert"; + +function App() { + const dispatch = useDispatch(); + const authentication = useSelector((state) => state.authentication); + const alert = useSelector((state) => state.alert); + + String.prototype.capitalize = function () { + var letters = + "\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00DF-\\u00F6\\u00F8-\\u00FF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0561-\\u0587\\u1D00-\\u1D2B\\u1D62-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7C\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2D00-\\u2D25\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A\\u0041-\\u005A\\u00C0-\\u00D6\\u00D8-\\u00DE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0531-\\u0556\\u10A0-\\u10C5\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uFF21-\\uFF3A\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D61\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u2094\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA717-\\uA71F\\uA770\\uA788\\uA9CF\\uAA70\\uAADD\\uFF70\\uFF9E\\uFF9F\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0621-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972\\u0979-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D28\\u0D2A-\\u0D39\\u0D3D\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC\\u0EDD\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8B\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10D0-\\u10FA\\u1100-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u2135-\\u2138\\u2D30-\\u2D65\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31B7\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCB\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA80-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB\\uAADC\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA2D\\uFA30-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC"; + var regex = new RegExp("(^|[^" + letters + "])([" + letters + "])", "g"); + + return this.replace(regex, function (s, m1, m2) { + return m1 + m2.toUpperCase(); + }); + }; + + useEffect(() => { + history.listen(() => { + dispatch(alertActions?.clear()); + }); + }, []); + console.log("authen: ", authentication); + return ( +
+
+
+
+
+ {!!alert?.message && } + + + + + + + + + + + + + + + + {/* */} + + + +
+ ); +} + +export default App; diff --git a/src/_actions/alerts.js b/src/_actions/alerts.js new file mode 100644 index 0000000..29c9fde --- /dev/null +++ b/src/_actions/alerts.js @@ -0,0 +1,19 @@ +import { alertConstants } from "./../_constants"; + +export const alertActions = { + success, + error, + clear, +}; + +function success(alert) { + return { type: alertConstants.SUCCESS, alert }; +} + +function error(alert) { + return { type: alertConstants.ERROR, alert }; +} + +function clear() { + return { type: alertConstants.CLEAR }; +} diff --git a/src/_actions/index.js b/src/_actions/index.js new file mode 100644 index 0000000..2bfc8d0 --- /dev/null +++ b/src/_actions/index.js @@ -0,0 +1 @@ +export * from "./alerts"; diff --git a/src/_apis/APIConstants.js b/src/_apis/APIConstants.js new file mode 100644 index 0000000..7664b6d --- /dev/null +++ b/src/_apis/APIConstants.js @@ -0,0 +1,19 @@ +import { configConstants } from "../_constants/config"; + +const API = { + baseURL: configConstants.AUTH_URL, + get_packages: "api/package", + get_packages_available: "api/package/available_package_list", + get_packages_teacher: "api/package/package_teacher", + payment_history: "api/web_advertise/history_payment", + register_teacher: "api/teacher/register", + verify_resgiter_teacher: "api/teacher/verify_auth", + verify_register_teacher_by_zalo: "api/teacher/verify_auth", + logout_account_service: `${configConstants.BASE_URL}login/logout?logout_app_id=VK7JG-NPHTM-C97JM-9MPGT-3V66T`, + logout_account_exercise: `${configConstants.BASE_URL}account/logout?logout_app_id=VK7JG-NPHTM-C97JM-9MPGT-3V66T`, + upgradeAccountByCode: "api/package/active_by_code", + get_package_history: "api/payment/history_payment", + post_package_active: "api/package/active", +}; + +export default API; diff --git a/src/_assets/banner_education_department.png b/src/_assets/banner_education_department.png new file mode 100644 index 0000000..607bf77 Binary files /dev/null and b/src/_assets/banner_education_department.png differ diff --git a/src/_assets/bg_left_login.png b/src/_assets/bg_left_login.png new file mode 100644 index 0000000..b84d0bc Binary files /dev/null and b/src/_assets/bg_left_login.png differ diff --git a/src/_assets/bg_phone_slider.png b/src/_assets/bg_phone_slider.png new file mode 100644 index 0000000..6af9347 Binary files /dev/null and b/src/_assets/bg_phone_slider.png differ diff --git a/src/_assets/decor_phone_left.png b/src/_assets/decor_phone_left.png new file mode 100644 index 0000000..0cc892a Binary files /dev/null and b/src/_assets/decor_phone_left.png differ diff --git a/src/_assets/decor_phone_right.png b/src/_assets/decor_phone_right.png new file mode 100644 index 0000000..10759b6 Binary files /dev/null and b/src/_assets/decor_phone_right.png differ diff --git a/src/_base/APIBase.js b/src/_base/APIBase.js new file mode 100644 index 0000000..aa9b54c --- /dev/null +++ b/src/_base/APIBase.js @@ -0,0 +1,173 @@ +import axios from "axios"; +import { configConstants } from "../_constants"; +import { handleResponse } from "../_helpers"; +import $ from "jquery"; + +class APIBase { + static apiBaseCaller(method, url, data, isLoading) { + return new Promise((resolve, reject) => { + $(".loading").removeClass("hide"); + let headers = { + // "Content-Type": "application/json", + // "Access-Control-Allow-Origin": "*", + Accept: "application/json", + Authorization: "", + }; + + if (localStorage.getItem("access_token")) { + let access_token = JSON.parse(localStorage.getItem("access_token")); + + headers["Authorization"] = `Bearer ${access_token}`; + } + + axios({ + method, + url, + headers: headers, + data, + }) + .then((response) => { + resolve(response.data); + $(".loading").addClass("hide"); + }) + .catch((error) => { + $(".loading").removeClass("hide"); + setTimeout(() => { + $(".loading").addClass("hide"); + }, 2000); + reject(error.response.data); + if (error.message == "Network Error") { + alert("Vui lòng kiểm tra kết nối Internet"); + } + + console.log("error2 ====", error); + }); + }); + } + + static apiBaseNoLoading(method, url, data) { + return new Promise((resolve, reject) => { + let headers = { + // "Content-Type": "application/json", + // "Access-Control-Allow-Origin": "*", + Accept: "application/json", + Authorization: "", + }; + + if (localStorage.getItem("access_token")) { + let access_token = JSON.parse(localStorage.getItem("access_token")); + + headers["Authorization"] = `Bearer ${access_token}`; + } + + axios({ + method, + url, + headers: headers, + data, + }) + .then((response) => { + resolve(response.data); + }) + .catch((error) => { + reject(error); + if (error.message == "Network Error") { + alert("Vui lòng kiểm tra kết nối Internet"); + } + }); + }); + } + + static apiBaseCallerControlLoading(method, url, data, isLoading) { + return new Promise((resolve, reject) => { + isLoading && $(".loading").removeClass("hide"); + let headers = { + // "Content-Type": "application/json", + // "Access-Control-Allow-Origin": "*", + Accept: "application/json", + Authorization: "", + }; + + if (localStorage.getItem("access_token")) { + let access_token = JSON.parse(localStorage.getItem("access_token")); + + headers["Authorization"] = `Bearer ${access_token}`; + } + + axios({ + method, + url, + headers: headers, + data, + }) + .then((response) => { + resolve(response.data); + isLoading && $(".loading").addClass("hide"); + }) + .catch((error) => { + isLoading && $(".loading").removeClass("hide"); + setTimeout(() => { + isLoading && $(".loading").addClass("hide"); + }, 3000); + reject(error); + if (error.message == "Network Error") { + alert("Vui lòng kiểm tra kết nối Internet"); + } + }); + }); + } + + static apiBaseCallerMsg(method, url, data, isLoading = true) { + let headers = { + // "Content-Type": "application/json", + // "Access-Control-Allow-Origin": "*", + Accept: "application/json", + Authorization: "", + }; + + if (localStorage.getItem("access_token")) { + let access_token = JSON.parse(localStorage.getItem("access_token")); + + headers["Authorization"] = `Bearer ${access_token}`; + } + + return axios({ + method, + timeout: configConstants.API_TIMEOUT, + url: url, + data: data, + headers: headers, + }) + .then((res) => handleResponse(res, isLoading)) + .catch((error) => { + if (isLoading) { + $(".loading").addClass("hide"); + } + if (error && error.message) { + let msg = error.message; + // if ( + // error.response.data.msg || + // error.response.data.error || + // error.phone + // ) { + // msg = error.response.data.msg + // ? error.response.data.msg + // : error.response.data.error; + // } + return Promise.reject(msg); + } else { + if ( + typeof error === "string" || + error instanceof String || + typeof error == "object" + ) { + return Promise.reject(error); + } else { + return Promise.reject("Server Error 123123"); + } + } + }); + } +} + +export default APIBase; diff --git a/src/_base/DetailListNews.js b/src/_base/DetailListNews.js new file mode 100644 index 0000000..9d48929 --- /dev/null +++ b/src/_base/DetailListNews.js @@ -0,0 +1,855 @@ +import { BoxTitlte } from "../_components/BoxTitle/BoxTitle"; +import { handleCheckEven } from "./Validate"; +import { LinkApp } from "../_constants/linkDownloadApp"; +import LazyLoad from "react-lazyload"; +import { isEmpty } from "lodash"; + +// List detail with image success +const renderListDetail = (item, numberLine, typeFontSize) => { + return ( +
+ Icon Tick +
+ {item?.name} +
+
+ ); +}; + +const renderListDot = (item) => { + return ( +
+
+ {item.name} +
+
+ {item?.content} +
+ {item?.content_1 && ( +
+ {item?.content_1} +
+ )} + {item?.lists_1?.map((item) => renderListContent1(item))} +
+ ); +}; + +const renderListContent1 = (item) => { + return ( +
+ {item?.contentLink && ( + + )} + {item.content && ( + + {item.content} + + {item.content_1_bold && ( + + {item.content_1_bold}{" "} + + )} + {item.content_1_regular && ( + + {item.content_1_regular} + + )} + + )}{" "} + {item.content_bold && ( + + {item.content_bold} + + )}{" "} + {item.content_note && ( + + {item.content_note}{" "} + {item.content_note_1} + + {item.content_note_bold} + + + )}{" "} + {item?.link && ( +
+ + {item?.link} + +
+ )} + {item?.lists_1 && ( +
+ {item?.lists_1?.map((item) => renderListContent1(item))} +
+ )} +
+ ); +}; + +const renderListContent2 = (item) => { + return ( + <> +
+ {item?.title && ( + + {item.title} + + )} + +
+ {!!item?.lists_1?.length && + item?.lists_1?.map((item) => renderListContent2(item))} + + ); +}; + +const renderListContent3 = (item) => { + return ( +
+
+ {item.title} +
+ +
+ ); +}; + +const renderListContentDefault = (item) => { + return ( +
  • +
    + {item.content} +
    + {item?.lists_1?.map((item) => renderListContent1(item))} +
  • + ); +}; + +const renderListEleSide = (item) => { + return ( +
    +
    + {item.name} +
    + {item?.lists_1?.map((item) => renderListContent1(item))} + {item?.lists_2?.map((item) => renderListContent3(item))} +
    + ); +}; + +const renderListPage1 = (data) => { + return ( +
    +
    + {data.title} +
    + +
    + {data?.content_1 && ( +
    + {data?.content_1} +
    + )} + {data?.lists_1?.map((item) => renderListContent1(item))} + {data?.content_2 && ( +
    + {data?.content_2} +
    + )} + {data?.lists_2?.map((item) => renderListContent1(item))} + {data?.content_3 && ( +
    + {data?.content_3} +
    + )} +
    + {data?.list_dot?.map((item) => renderListDot(item))} +
    +
    +
    + ); +}; + +const renderListPage2 = (data) => { + return ( +
    +
    + {data.title} +
    + +
    + {data?.content_1 && ( +
    + {data?.content_1} +
    + )} + {data?.lists_1?.map((item) => renderListContent2(item))} + {data?.lists_ele_side_1?.map((item) => renderListEleSide(item))} + {data?.content_2 && ( +
    + {data?.content_2} +
    + )} +
    +
    + ); +}; + +// Content Payment +const renderContentPolicyPayment = (item) => { + return ( +
    +
    + {item.title} +
    +
    + {item?.data.map((item) => renderContentDefaultPolicyPayment(item))} +
    +
    + ); +}; + +const renderContentDefaultPolicyPayment = (item) => { + return ( +
    +
    + {item.title} +
    + +
    + ); +}; + +const renderListContentDotPayment = (item) => { + return ( +
  • + {item?.content_bold && ( + + {item.content_bold} + + )}{" "} +
    +
    + {item.content_note}{" "} + +
    + {!!item?.lists_1?.length && + item?.lists_1?.map((subItem) => renderListContentDotPayment(subItem))} +
  • + ); +}; + +// + +const renderContentPolicyPayment2 = (item) => { + return ( +
    +
    + {item.title} +
    +
    + {item?.data.map((item) => renderListContentDotPayment(item))} +
    +
    + ); +}; + +//==== CONTENT COURSES ===== +const renderItemListDetailCourse = (item, courseID) => { + return ( +
    + Icon Tick +
    + {item?.content}{" "} + + {item?.content_1} + {" "} + + {item?.content_2 || null} + {" "} + + {item?.tail_content} + {" "} + + {item?.content_3} + {" "} +
    +
    + ); +}; + +const renderListDetailCourse = (item, courseID) => { + return ( +
    +
    + {item?.imageLeft && ( + + )} + + {item?.content} + + {item?.imageRight && ( + + )} +
    + {item?.list_detail?.map((item) => + renderItemListDetailCourse(item, courseID), + )} + {item?.imageLeftOutside && ( + + )} + {item?.imageTopOutside && ( + + )} + + {/* {courseID == 1 && } */} + {/* {item.id == 2 && ( +
    + Img Goal +
    + )} */} + {/* {item.id == 4 && ( +
    + Img Order +
    + )} */} + {/* {item.id == 3 && courseID == 1 && ( +
    + Img Book +
    + )} */} +
    + ); +}; + +const renderCourseItem = (data) => { + return ( +
    + {/*
    +
    +
    + {data.name} +
    +
    +
    */} + +
    + {data.data.map((item) => renderListDetailCourse(item, data.id))} +
    +
    + ); +}; + +// Courses Mobile +const renderListDetailCourseMobile = (item, courseID) => { + return ( +
    + {item.id == 1 && ( +
    + Img Student +
    + )} + + {item?.content} + {item?.tail_content} + {item?.list_detail?.map((item) => + renderItemListDetailCourse(item, courseID), + )} + + +
    + +
    + +
    + {item.id != 1 && ( +
    + Img Goal +
    + )} +
    +
    + ); +}; + +// Render List Content Data Question +const renderListContentFAQ = (element) => { + return ( +
    + + {element?.content_bold_black && ( + + {element?.content_bold_black} + + )}{" "} + {element?.content_1}{" "} + {element?.content_green_1 && ( + + {element?.content_green_1} + + )}{" "} + {element?.content_1_email && ( + + {element?.content_1_email} + + )}{" "} + {element?.content_1_phone && ( + + {element?.content_1_phone} + + )}{" "} + {element?.content_2 && ( + + {element?.content_2} + + )}{" "} + {element?.content_green_2 && ( + + {element?.content_green_2} + + )}{" "} + {element?.content_3 && ( + + {element?.content_3} + + )}{" "} + {element?.content_green_3 && ( + + {element?.content_green_3} + + )}{" "} + {element?.content_4 && ( + + {element?.content_4} + + )}{" "} + + {element?.image_download && ( +
    +
    window.open(LinkApp["student"].APP_STORE, "_blank")} + > + Icon App Store +
    +
    window.open(LinkApp["student"].GG_PLAY, "_blank")} + > + Icon GG Play +
    +
    + )} + {element?.content_list_child && ( +
    + {element?.content_list_child?.map((child) => { + return ( +
    + {child?.content} +
    + ); + })} +
    + )} +
    + ); +}; + +// Render Data Question 1 +const renderDataQuestion1 = (data) => { + return ( +
    +
    + {data?.content_0 && ( +
    + {data?.content_0} +
    + )}{" "} + + {data?.content_1}{" "} + {data?.content_1_bold && ( + + {data?.content_1_bold} + + )}{" "} + {data?.content_1_link && ( + + {data?.content_1_link} + + )}{" "} + {data?.content_1_side && ( + + {data?.content_1_side} + + )} + + {!isEmpty(data?.content_list_1) && + data?.content_list_1.map((element) => renderListContentFAQ(element))} + {!!data?.content_side_1 && renderListContentFAQ(data?.content_side_1)} + {data?.content_side_italic && ( +
    + {data?.content_side_italic} +
    + )} + {!isEmpty(data?.content_images) ? ( +
    + {data?.content_images.map((content_image) => { + return ( +
    + Image Content +
    + ); + })} +
    + ) : null} +
    + {data?.image_right ? ( +
    + Image Support +
    + ) : null} +
    + ); +}; + +const renderListPolicy = (data) => { + return ( +
    console.log(e)} + > +
    + {data?.title} +
    + +
    + {/* {data?.content_1 && ( +
    + {data?.content_1} +
    + )} */} + {data?.contents?.map((item) => renderContentPolicy(item))} + {/*
    + {data?.list_dot?.map((item) => renderListDot(item))} +
    */} +
    +
    + ); +}; + +const renderContentPolicy = (item) => { + return ( +
    + {item?.title && ( + + )} + {item?.titleDot && ( + + )} + {item?.content && ( + + )} + {item?.contentDot && ( + + )} + {item?.contents && ( +
    + {item?.contents?.map((item) => renderContentPolicy(item))} +
    + )} +
    + ); +}; + +export { + renderListContent1, + renderListDetail, + renderListDot, + renderListPage1, + renderListPage2, + renderListContent3, + renderContentPolicyPayment, + renderContentPolicyPayment2, + renderListDetailCourse, + renderCourseItem, + renderListDetailCourseMobile, + renderDataQuestion1, + renderListContentFAQ, + renderListPolicy, + renderContentPolicy, +}; diff --git a/src/_base/FunctionBase.js b/src/_base/FunctionBase.js new file mode 100644 index 0000000..85883b3 --- /dev/null +++ b/src/_base/FunctionBase.js @@ -0,0 +1,28 @@ +import { getMobileOperatingSystem } from "./Validate"; +import { LinkApp } from "../_constants/linkDownloadApp"; +import { history } from "../_helpers"; + +export const handleNavigateCurriculumDownload = (type) => { + const urlParams = new URLSearchParams(window.location.search); + const mds = urlParams.get("mds"); + const osMobile = getMobileOperatingSystem(); + if (osMobile == "Android") { + window.open(LinkApp[`${type}`].GG_PLAY, "_blank"); + } else if (osMobile == "iOS") { + window.open(LinkApp[`${type}`].APP_STORE, "_blank"); + } else { + // if (authentication.isLogin) { + // history.push(`/${authentication.role}/curriculum`); + // } else { + // // localStorage.setItem( + // // "purposeLogin", + // // JSON.stringify({ + // // purpose: "curriculum", + // // }) + // // ); + // // history.push(`/login`); + + // } + history.push(`/download_page/${type}?mds=${mds}`); + } +}; diff --git a/src/_base/LessonBase.js b/src/_base/LessonBase.js new file mode 100644 index 0000000..6c19084 --- /dev/null +++ b/src/_base/LessonBase.js @@ -0,0 +1,44 @@ +import { configConstants } from "../_constants"; +import { replaceAnd } from "./Validate"; + +class LessonBase { + static Type = { + teacher: "teacher", + curriculum: "curriculum", + homework: "homework", + masterUnit: "masterUnit", + }; + + static _moveLesson = (type, auth, data, navigation, from) => { + let dataSide = replaceAnd(data); + if (["exam", "mini_test"].includes(data?.exercise_type)) { + //navigate to the minitest/exam screen + return; + } + var id = ""; + switch (type) { + case LessonBase.Type.homework: + id = data?.id; + break; + case LessonBase.Type.masterUnit: + id = data?.id; + break; + default: + id = data?.lesson_id || data?.exercise_id; + break; + } + const deviceID = localStorage.getItem("device_id_commond"); + // console.log("=====Go to type", type) + // console.log("=====Go to id", id) + // console.log("=====Go to with data", data) + // console.log("=====Go to from", from) + // var id = type == (LessonBase.Type.homework || LessonBase.Type.masterUnit) ? data?.id : (data?.lesson_id || data?.exercise_id) + // const url = `${configConstants.EXCERCISE_URL}index.php/example/lesson_demo?type=${type}&dataL=${JSON.stringify(dataSide)}&id=${id}&deviceID=${deviceID}&token=${auth?.jwt_token}` + const url = `http://localhost:11808/index.php/example/lesson_demo?type=${type}&dataL=${JSON.stringify( + dataSide, + )}&id=${id}&deviceID=${deviceID}&token=${auth?.jwt_token}`; + window.location.href = url; + }; +} + +export default LessonBase; diff --git a/src/_base/Mydata.js b/src/_base/Mydata.js new file mode 100644 index 0000000..9dc3ad4 --- /dev/null +++ b/src/_base/Mydata.js @@ -0,0 +1,3 @@ +export const Mydata = { + version: "v1.1.3", +}; diff --git a/src/_base/SmartScreenBase.js b/src/_base/SmartScreenBase.js new file mode 100644 index 0000000..e59ed1a --- /dev/null +++ b/src/_base/SmartScreenBase.js @@ -0,0 +1,38 @@ +class SmartBaseScreen { + static smBaseWidth = 0; // Width of Image + static smBaseHeight = 0; // Height of Image + + static smPercentWidth = 0; // calculate width % of screen device's width + static smPercentHeight = 0; // calculate width % of screen device's height + + static smFontSize = 0; // Scale fontSize adapt for each screen + + static basePadding = 0; //default padding + + // Intialize set up for each variable + static baseSetup() { + if (SmartBaseScreen.smPercentWidth == 0) { + let sWidth = window.innerWidth; + let sHeight = window.innerHeight; + + // window.addEventListener("resize", () => { + // sWidth = window.innerWidth; + // sHeight = window.innerHeight; + // SmartBaseScreen.smBaseWidth = sWidth / 1920; + // SmartBaseScreen.smBaseHeight = sHeight / 1080; + // SmartBaseScreen.smFontSize = sWidth / 1920; + // }); + + SmartBaseScreen.smPercentWidth = sWidth / 100; + SmartBaseScreen.smPercentHeight = sHeight / 100; + + SmartBaseScreen.smBaseWidth = sWidth / 1920; + SmartBaseScreen.smBaseHeight = sHeight / 1080; + SmartBaseScreen.smFontSize = sWidth / 1920; + + SmartBaseScreen.basePadding = SmartBaseScreen.smPercentWidth * 4; + } + } +} + +export default SmartBaseScreen; diff --git a/src/_base/Validate.js b/src/_base/Validate.js new file mode 100644 index 0000000..098882b --- /dev/null +++ b/src/_base/Validate.js @@ -0,0 +1,272 @@ +// import { TypeHeaderNewsItem } from "../_constants/headerNews"; + +// Validate Email Regex +export const validateEmail = (email) => { + var regex = /^[\w\-\.]+@([\w-]+\.)+[\w-]{2,}$/gm; + return regex.test(email); +}; + +export const validatePhoneNumber = (phoneNumber) => { + // Regex check format of phone number in vietnam + const phoneNumberRegex = /(84|0[3|5|7|8|9])+([0-9]{8})\b/g; + + return phoneNumberRegex.test(phoneNumber); +}; + +// Validate Number Regex +export const validateNumber = (value) => { + return value?.replace(/[^0-9]/g, ""); +}; + +// Convert Time Package Fee +export const convertTimePackage = (time) => { + let resultTime = ""; + + let textTime = ""; + + switch (true) { + case time < 30: + textTime = "ngày"; + resultTime = time; + break; + case time >= 30 && time < 365: + textTime = "tháng"; + resultTime = Math.floor(time / 30); + break; + case time >= 365: + textTime = "năm"; + resultTime = Math.floor(time / 365); + break; + default: + } + + return `(${resultTime} ${textTime})`; +}; + +// Format Price +export const validatePrice = (value) => { + let formattedPrice = ""; + let price = parseFloat(value); + if (price >= 1000) { + // If it's greater than or equal to 1000, format it with commas + formattedPrice = price.toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, "."); + } else { + // If it's less than 1000, format it with three decimal places + formattedPrice = price.toFixed(0); + } + + return formattedPrice; +}; + +// Format Date +export const validateTime = (timer) => { + /* eslint-disable no-unsafe-optional-chaining */ + const [date, time] = timer?.split(" "); + + const [year, month, day] = date.split("-"); + + return `${day}/ ${month}/ ${year}`; +}; + +// Check Even +export const handleCheckEven = (number) => { + return number % 2 == 0; +}; + +// Round Number to Fixed Specific Number +export const roundNumber = (number, valueRound) => { + return parseFloat(Number.parseFloat(number).toFixed(valueRound)); +}; + +// Validate positive decimal number 2 +export const validateDecimal2Number = (number) => { + return number?.replace(/^(\\d+(?:[.,]\d{0,2}))?$/, ""); +}; + +// Check Positive Float +export const checkPositiveFloat = (number) => { + const regex = /^(?:10(\.0{1,2})?|[1-9]\d*(\.\d{1,2})?|0(\.\d{1,2})?)?$/; + return regex.test(number); +}; + +// Handle Click Link App Mobile +/** + * Determine the mobile operating system. + * This function returns one of 'iOS', 'Android', 'Windows Phone', or 'unknown'. + * + * @returns {String} + */ +export const getMobileOperatingSystem = () => { + var userAgent = navigator.userAgent || navigator.vendor || window.opera; + // Windows Phone must come first because its UA also contains "Android" + if (/windows phone/i.test(userAgent)) { + return "Windows Phone"; + } + + if (/android/i.test(userAgent)) { + return "Android"; + } + + if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) { + return "iOS"; + } +}; + +// Has Duplicate Data +export function hasDuplicates(array1, array2) { + var combinedArray = array1.concat(array2); + return new Set(combinedArray).size !== combinedArray.length; +} + +// func convert title +export const convertTitleAssign = (stand) => { + switch (stand.toLowerCase()) { + case "hard": + case "good": + case "senior": + return "Senior"; + case "medium": + case "normal": + case "middle": + return "Middle"; + case "easy": + case "weak": + case "junior": + return "Junior"; + default: + } +}; + +// Convert SKill Name +export const vietsubSkillName = (skill) => { + switch (skill) { + case "pronunciation": + return "Phát âm"; + case "vocabulary": + return "Từ vựng"; + case "grammar": + return "Ngữ pháp"; + case "reading": + return "Đọc"; + case "listening": + return "Nghe"; + case "speaking": + return "Nói"; + case "writing": + return "Viết"; + default: + return ""; + } +}; + +// Float Array +export const floatObjectToArray = (object) => { + const array = Object.keys(object).reduce(function (res, curr) { + return res.concat(object[curr]); + }, []); + + return array; +}; + +// Has Domain Store +export const hasDomainStore = () => { + var currentDomain = window.location.hostname; + + return currentDomain.includes("gkcorp.com.vn"); +}; + +// Convert Header Item Vietsub + +// export const convertNameHeaderItem = (type) => { +// switch (type) { +// case TypeHeaderNewsItem.INTRODUCTION: +// return "Ứng dụng DẠY và HỌC Tiếng Anh dành cho học sinh THCS | Sunday English"; +// case TypeHeaderNewsItem.COURSES: +// return "Trọn bộ Khóa học | Sunday English"; +// case TypeHeaderNewsItem.FEE: +// case TypeHeaderNewsItem.TARIFF: +// return "Bảng giá | Sunday English"; +// case TypeHeaderNewsItem.PARENT: +// return "Giúp ba mẹ kèm con học Tiếng Anh | Sunday Parent"; +// case TypeHeaderNewsItem.TEACHER: +// return "Trợ giảng đắc lực của thầy cô | Sunday Teacher"; +// case TypeHeaderNewsItem.MOCK_TEST: +// return "Thi thử và Giải đề miễn phí | Sunday English"; +// case "fee_policy": +// return "Hướng dẫn thanh toán | Sunday English"; +// case "policy": +// return "Điều khoản và Chính sách dịch vụ | Sunday English"; +// case "faq": +// return "Câu hỏi thường gặp | Sunday English"; +// case "account_activation": +// return "Hướng dẫn Đăng ký - Đăng nhập - Kích hoạt tài khoản | Sunday English"; +// default: +// return "Sunday English - Nâng cao điểm số Tiếng Anh"; +// } +// }; + +// Function to remove Vietnamese diacritics +export const removeVietnameseDiacritics = (str) => { + return str.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); +}; + +// Convert Skill name to Vietnamese +export const convertNameSkillVn = (skill) => { + switch (skill) { + case "exam": + return "Bài kiểm tra"; + case "project": + return "Bài tập lớn"; + case "mini_test": + return "Bài kiểm tra"; + case "pronunciation": + return "Phát âm"; + case "vocabulary": + return "Từ vựng"; + case "grammar": + return "Ngữ pháp"; + case "reading": + return "Đọc"; + case "listening": + return "Nghe"; + case "speaking": + return "Nói"; + case "writing": + return "Viết"; + default: + return ""; + } +}; + +// Check equal between 2 arrays +export function arraysAreEqual(arr1, arr2) { + // Check if arrays have the same length + if (arr1.length !== arr2.length) { + return false; + } + + // Check if each object in the arrays is equal based on object properties + return arr1.every((obj1, index) => { + const obj2 = arr2[index]; + // Check if the number of keys is equal + if (Object.keys(obj1).length !== Object.keys(obj2).length) { + return false; + } + // Check if all key-value pairs are equal + return Object.keys(obj1).every((key) => obj1[key] === obj2[key]); + }); +} + +// Convert & +export function replaceAnd(obj) { + for (let key in obj) { + if (obj.hasOwnProperty(key)) { + if (typeof obj[key] == "string") { + obj[key] = obj[key].replace(/&/g, "and"); + } else if (typeof obj[key] == "object" && obj[key] !== null) { + replaceAnd(obj[key]); + } + } + } + return obj; +} diff --git a/src/_base/animsScroll.js b/src/_base/animsScroll.js new file mode 100644 index 0000000..2a84cb2 --- /dev/null +++ b/src/_base/animsScroll.js @@ -0,0 +1,29 @@ +// Function Animation Scroll +function easeInOutQuad(t, b, c, d) { + t /= d / 2; + if (t < 1) return (c / 2) * t * t + b; + t--; + return (-c / 2) * (t * (t - 2) - 1) + b; +} + +export function smoothScroll(container, change, duration) { + const startTime = performance.now(); + const initialScrollLeft = container.scrollLeft; + + function step(currentTime) { + const elapsedTime = currentTime - startTime; + if (elapsedTime < duration) { + container.scrollLeft = easeInOutQuad( + elapsedTime, + initialScrollLeft, + change, + duration, + ); + requestAnimationFrame(step); + } else { + container.scrollLeft = initialScrollLeft + change; + } + } + + requestAnimationFrame(step); +} diff --git a/src/_components/Alert/alert.js b/src/_components/Alert/alert.js new file mode 100644 index 0000000..2a3f378 --- /dev/null +++ b/src/_components/Alert/alert.js @@ -0,0 +1,34 @@ +import React from "react"; +import { alertConstants } from "./../../_constants"; +import { AlertError, AlertSuccess } from "./"; + +function Alert(props) { + const { customMessage } = props; + + const onComplete = props.onComplete ? props.onComplete : () => {}; + const notShowComplete = props.notShowComplete ? props.notShowComplete : false; + const notShowError = props.notShowError ? props.notShowError : false; + const isHideIcon = props.isHideIcon ? props.isHideIcon : false; + + return props.alert.type === alertConstants.SUCCESS ? ( + + ) : ( + + ); +} + +export { Alert }; diff --git a/src/_components/Alert/error.js b/src/_components/Alert/error.js new file mode 100644 index 0000000..48b777f --- /dev/null +++ b/src/_components/Alert/error.js @@ -0,0 +1,89 @@ +import React from "react"; +import { useDispatch } from "react-redux"; +import { alertActions } from "../../_actions"; + +function AlertError(props) { + let { + changePasswordError, + imgErorr, + errorHelpClassName, + isShowPopup, + hasBtnClosePopup, + onClosePopup, + textComplete, + textClose, + } = props; + const dispatch = useDispatch(); + + // let autoClose = setTimeout(() => { + // isShowPopup && close(); + // }, 2000); + + function complete() { + // clearTimeout(autoClose); + props?.onComplete && props.onComplete(); + dispatch(alertActions.clear()); + } + + const handleClosePopup = () => { + props?.onClosePopup && props.onClosePopup(); + dispatch(alertActions.clear()); + }; + + if (props.notShowError) { + return null; + } else if (isShowPopup) { + return ( + + ); + } else { + return ( +
    +
    + {/* {imgErorr && ( +
    + +
    + )} */} +
    + {changePasswordError ? ( +

    + Mật khẩu bạn nhập không trùng khớp. +

    + ) : ( +

    + {props.message} +

    + )} +
    +
    +
    + ); + } +} + +export { AlertError }; diff --git a/src/_components/Alert/index.js b/src/_components/Alert/index.js new file mode 100644 index 0000000..c326304 --- /dev/null +++ b/src/_components/Alert/index.js @@ -0,0 +1,3 @@ +export * from "./error"; +export * from "./success"; +export * from "./alert"; diff --git a/src/_components/Alert/success.js b/src/_components/Alert/success.js new file mode 100644 index 0000000..6377ffe --- /dev/null +++ b/src/_components/Alert/success.js @@ -0,0 +1,39 @@ +import React from "react"; +import { alertActions } from "../../_actions"; +import { useDispatch } from "react-redux"; + +function AlertSuccess(props) { + const dispatch = useDispatch(); + + // let autoClose = setTimeout(() => { + // close(); + // }, 2000); + + function close() { + // clearTimeout(autoClose); + props.onComplete(); + dispatch(alertActions.clear()); + } + if (props.notShowComplete) { + return null; + } else { + return ( + + ); + } +} + +export { AlertSuccess }; diff --git a/src/_components/Audio/audio.js b/src/_components/Audio/audio.js new file mode 100644 index 0000000..5af05fe --- /dev/null +++ b/src/_components/Audio/audio.js @@ -0,0 +1,96 @@ +import React, { useEffect } from "react"; + +import Play from "./play"; +import Pause from "./pause"; +import Bar from "./bar"; +import "./style.scss"; +import useAudioPlayer from "./useAudioPlayer"; +import { PlayArrow, Pause as PauseIcon } from "@material-ui/icons"; + +function Audio(props) { + const { curTime, duration, playing, setPlaying, setClickedTime } = + useAudioPlayer(); + let { link, type } = props; + + useEffect(() => { + document.getElementById("audio").loop = false; + }, []); + + return ( +
    + {type === "video" ? ( + + ) : ( + + )} +
    + {playing ? ( + setPlaying(false)} /> + ) : ( + setPlaying(true)} /> + )} + setClickedTime(time)} + /> +
    +
    + ); +} + +let timeoutId; +function AudioCustom(props) { + const { curTime, duration, playing, setPlaying, setClickedTime, setCurTime } = + useAudioPlayer(); + let { link, type } = props; + + useEffect(() => { + const audio = document.getElementById("audio"); + const source = document.getElementById("audioSource"); + clearTimeout(timeoutId); + timeoutId = setTimeout(() => { + audio.currentTime = 0; + setClickedTime(0); + setCurTime(0); + setPlaying(false); + source.src = link; + audio.load(); + }, 100); + }, [link]); + + useEffect(() => { + document.getElementById("audio").loop = false; + }, []); + + return ( +
    + +
    + {playing ? ( + + ) : ( + + )} + setClickedTime(time)} + /> +
    +
    + ); +} + +export { Audio, AudioCustom }; diff --git a/src/_components/Audio/bar.js b/src/_components/Audio/bar.js new file mode 100644 index 0000000..d2899ad --- /dev/null +++ b/src/_components/Audio/bar.js @@ -0,0 +1,62 @@ +import React from "react"; +import moment from "moment"; +import momentDurationFormatSetup from "moment-duration-format"; + +export default function Bar(props) { + const { duration, curTime, onTimeUpdate, isHideTime } = props; + + const curPercentage = (curTime / duration) * 100; + + function formatDuration(duration) { + return moment + .duration(duration, "seconds") + .format("mm:ss", { trim: false }); + } + + function calcClickedTime(e) { + const clickPositionInPage = e.pageX; + const bar = document.querySelector(".bar__progress"); + const barStart = bar.getBoundingClientRect().left + window.scrollX; + const barWidth = bar.offsetWidth; + const clickPositionInBar = clickPositionInPage - barStart; + const timePerPixel = duration / barWidth; + return timePerPixel * clickPositionInBar; + } + + function handleTimeDrag(e) { + onTimeUpdate(calcClickedTime(e)); + + const updateTimeOnMove = (eMove) => { + onTimeUpdate(calcClickedTime(eMove)); + }; + + document.addEventListener("mousemove", updateTimeOnMove); + + document.addEventListener("mouseup", () => { + document.removeEventListener("mousemove", updateTimeOnMove); + }); + } + + return ( +
    + {!isHideTime && ( + {formatDuration(curTime)} + )} +
    handleTimeDrag(e)} + > + +
    + {!isHideTime && ( + {formatDuration(duration)} + )} +
    + ); +} diff --git a/src/_components/Audio/index.js b/src/_components/Audio/index.js new file mode 100644 index 0000000..1d0f00b --- /dev/null +++ b/src/_components/Audio/index.js @@ -0,0 +1 @@ +export * from "./audio"; diff --git a/src/_components/Audio/pause.js b/src/_components/Audio/pause.js new file mode 100644 index 0000000..767cd75 --- /dev/null +++ b/src/_components/Audio/pause.js @@ -0,0 +1,12 @@ +import React from "react"; +import { PauseCircleFilled } from "@material-ui/icons"; + +export default function Play(props) { + const { handleClick } = props; + + return ( + + ); +} diff --git a/src/_components/Audio/play.js b/src/_components/Audio/play.js new file mode 100644 index 0000000..107208c --- /dev/null +++ b/src/_components/Audio/play.js @@ -0,0 +1,12 @@ +import React from "react"; +import { PlayCircleFilled } from "@material-ui/icons"; + +export default function Play(props) { + const { handleClick } = props; + + return ( + + ); +} diff --git a/src/_components/Audio/style.scss b/src/_components/Audio/style.scss new file mode 100644 index 0000000..4328a82 --- /dev/null +++ b/src/_components/Audio/style.scss @@ -0,0 +1,200 @@ +.player { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20px 0; + background-color: #fff; + border-radius: 20px; + box-shadow: 1px 2px 4px 0 rgba(21, 27, 38, 0.15); + margin: 0 50px; + + .controls { + flex-grow: 1; + margin: 0 20px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + } + + .player__button { + width: fit-content; + margin-bottom: 15px; + background-color: transparent; + border: none; + + &:focus { + outline: none; + } + &:hover { + cursor: pointer; + } + + svg { + font-size: 4em; + color: #00b9b7; + } + } + + .bar { + user-select: none; + width: 100%; + display: flex; + align-items: center; + + .bar__time { + color: #000; + font-size: 16px; + } + + .bar__progress { + flex: 1; + border-radius: 5px; + margin: 0 20px; + height: 10px; + display: flex; + align-items: center; + cursor: pointer; + + .bar__progress__knob { + position: relative; + height: 16px; + width: 16px; + border: 1.5px solid white; + border-radius: 50%; + background-color: #f08a01; + } + } + } + + @media screen and (max-width: 800px) { + flex-direction: column; + + .controls { + width: 100%; + margin-top: 20px; + } + + .bar { + width: 90%; + } + } + + @media screen and (max-height: 800px) { + .player { + margin: 0 30px; + } + } + + @media screen and (max-width: 500px) { + .song { + .song__title { + font-size: 2.5em; + } + + .song__artist { + font-size: 0.8em; + } + } + } +} + +.player-exam { + display: flex; + justify-content: space-between; + align-items: center; + background-color: #fff; + border-radius: 20px; + box-shadow: 1px 2px 4px 0 rgba(21, 27, 38, 0.15); + // margin: 0 20px; + background-image: linear-gradient(to left, #00e1a0, #00b9b7); + padding: 0px 24px; + + .controls { + flex-grow: 1; + display: flex; + justify-content: center; + align-items: center; + } + + .player__button { + width: fit-content; + background-color: transparent; + border: none; + + &:focus { + outline: none; + } + &:hover { + cursor: pointer; + } + + svg { + font-size: 4em; + color: #fff; + } + } + + .bar { + user-select: none; + width: 100%; + display: flex; + align-items: center; + + .bar__time { + color: #000; + font-size: 16px; + } + + .bar__progress { + flex: 1; + border-radius: 5px; + margin: 0 20px; + height: 2px; + display: flex; + align-items: center; + background: #fff; + cursor: pointer; + + .bar__progress__knob { + position: relative; + height: 16px; + width: 16px; + border: 1.5px solid white; + border-radius: 50%; + background-color: #f08a01; + } + } + } + + @media screen and (max-width: 800px) { + flex-direction: column; + + .controls { + width: 100%; + margin-top: 20px; + } + + .bar { + width: 90%; + } + } + + @media screen and (max-height: 800px) { + .player { + margin: 0 30px; + } + } + + @media screen and (max-width: 500px) { + .song { + .song__title { + font-size: 2.5em; + } + + .song__artist { + font-size: 0.8em; + } + } + } +} diff --git a/src/_components/Audio/useAudioPlayer.js b/src/_components/Audio/useAudioPlayer.js new file mode 100644 index 0000000..bc10c7d --- /dev/null +++ b/src/_components/Audio/useAudioPlayer.js @@ -0,0 +1,96 @@ +import { useState, useEffect } from "react"; + +let timeoutId = null; +function useAudioPlayer() { + const [duration, setDuration] = useState(0); + const [curTime, setCurTime] = useState(0); + const [playing, setPlaying] = useState(false); + const [clickedTime, setClickedTime] = useState(0); + + let audio = document.getElementById("audio"); + useEffect(() => { + audio = document.getElementById("audio"); + if (parseInt(curTime) == parseInt(duration)) { + audio.currentTime = 0; + setCurTime(0); + } + if (!playing) { + audio.pause(); + audio.removeEventListener("loadeddata", setAudioData); + audio.removeEventListener("timeupdate", setAudioTime); + } else { + audio.play(); + audio.addEventListener("loadeddata", setAudioData); + audio.addEventListener("timeupdate", setAudioTime); + } + }, [playing]); + + useEffect(() => { + if (parseInt(curTime) == parseInt(duration + 3)) { + setPlaying(false); + } + }, [clickedTime, curTime]); + + // state setters wrappers + const setAudioData = () => { + setDuration(audio.duration); + setCurTime(audio.currentTime); + }; + + const setAudioTime = () => { + if (parseInt(curTime) == parseInt(duration)) { + setCurTime(0); + } else { + setCurTime(audio.currentTime); + } + }; + + useEffect(() => { + // DOM listeners: update React state on DOM events + audio.addEventListener("loadeddata", setAudioData); + + audio.addEventListener("timeupdate", setAudioTime); + + // React state listeners: update DOM on React state changes + playing ? audio.play() : audio.pause(); + + if (clickedTime && clickedTime !== curTime) { + audio.currentTime = clickedTime; + setClickedTime(null); + } + + // effect cleanup + return () => { + audio.removeEventListener("loadeddata", setAudioData); + audio.removeEventListener("timeupdate", setAudioTime); + }; + }); + + useEffect(() => { + if (playing) { + let time = + parseInt(duration) + 1 === parseInt(curTime) + ? duration + : duration - curTime; + const audio = document.getElementById("audio"); + clearTimeout(timeoutId); + timeoutId = setTimeout(() => { + audio.pause(); + setPlaying(false); + }, time * 1000); + } else { + // setCurTime(0) + } + }, [playing, curTime]); + + return { + curTime, + duration, + playing, + setPlaying, + setClickedTime, + setCurTime, + }; +} + +export default useAudioPlayer; diff --git a/src/_components/Auth/InputDate/index.js b/src/_components/Auth/InputDate/index.js new file mode 100644 index 0000000..038798e --- /dev/null +++ b/src/_components/Auth/InputDate/index.js @@ -0,0 +1,87 @@ +import classNames from "classnames"; +import React, { useRef, useState } from "react"; +// import { SelectDate } from "../../Calendar"; +import "./index.scss"; +import DatePicker, { registerLocale } from "react-datepicker"; +import vi from "date-fns/locale/vi"; +import { isEmpty } from "lodash"; +registerLocale("vi", vi); + +const InputDate = (props) => { + const $inputRef = useRef(null); + const [isFocus, setIsFocus] = useState(false); + + /** + * changeValue: input change value + * @param e event + */ + const changeValue = (date) => { + if (props.isWarning) { + props.setIsWarning && props.setIsWarning(""); + } + props.setValue(date); + }; + + return ( +
    + {props.errorText ? ( +
    + {props.errorText} +
    + ) : null} +
    +
    + {props.renderLabelIcon ? props.renderLabelIcon() : null} +
    + changeValue(date)} + showMonthDropdown + showYearDropdown + fixedHeight + dropdownMode="select" + dateFormat="P" + locale="vi" + placeholderText={ + !isEmpty(props?.placeholder) + ? `${props?.placeholder}` + : `DD/MM/YYYY` + } + name={props.name} + popperPlacement="bottom" + popperModifiers={[ + { + name: "flip", + options: { + fallbackPlacements: ["bottom"], + }, + }, + ]} + onKeyDown={(e) => { + e.preventDefault(); + }} + /> +
    +
    + ); +}; + +export default InputDate; diff --git a/src/_components/Auth/InputDate/index.scss b/src/_components/Auth/InputDate/index.scss new file mode 100644 index 0000000..2aa0f21 --- /dev/null +++ b/src/_components/Auth/InputDate/index.scss @@ -0,0 +1,103 @@ +@import "/src/_styles/mixin"; + +$red: #e22028; +$border-color: #4a4848; + +.input_date_base_container { + position: relative; + + .error_input { + span { + color: $red; + font-size: 18px; + } + } + + .error_text { + margin-bottom: 9px; + } + + .error_text_absolute { + position: absolute; + bottom: calc(100% + 2px); + } + + .input_date_base { + display: flex; + align-items: center; + height: 65px; + padding: 0px 22px; + border: 1px solid $border-color; + border-radius: 10px; + margin-bottom: 22px; + + @media screen and (max-width: 768px) { + height: 44px; + + svg { + width: 18px; + } + } + + .icon_label { + width: 31px; + margin-right: 26px; + flex: none; + + @include screen_mobile { + margin-right: 0 !important; + } + } + + .react-datepicker-wrapper { + height: 100%; + + .react-datepicker__input-container { + height: 100%; + } + } + + input { + height: 100%; + border: none; + font-size: 18px; + line-height: 21px; + background-color: transparent; + width: 100%; + font-family: "Myriadpro-Regular"; + + &:focus { + outline: none; + } + + @include screen_mobile { + font-size: 0.9rem !important; + } + + &::placeholder { + /* Chrome, Firefox, Opera, Safari 10.1+ */ + font-family: "Myriadpro-Regular"; + color: #8e9298; + opacity: 1; + /* Firefox */ + } + + &:-ms-input-placeholder { + /* Internet Explorer 10-11 */ + font-family: "Myriadpro-Regular"; + color: #8e9298; + } + + &::-ms-input-placeholder { + /* Microsoft Edge */ + font-family: "Myriadpro-Regular"; + color: #8e9298; + } + } + + select { + font-family: "Myriadpro-Regular"; + color: #8e9298; + } + } +} diff --git a/src/_components/Auth/InputSelect/index.js b/src/_components/Auth/InputSelect/index.js new file mode 100644 index 0000000..de43163 --- /dev/null +++ b/src/_components/Auth/InputSelect/index.js @@ -0,0 +1,184 @@ +import React, { useEffect, useRef, useState } from "react"; +import classnames from "classnames"; +import "./index.scss"; +import useOutsideClick from "../../../_helpers/customHook/useOutsideClick"; +import { PresentToAllSharp } from "@material-ui/icons"; + +// interface Props { +// value: OptionInputRadio; +// setValue: (..._args: any[]) => void; +// label: string; +// className?: string; +// options: OptionInputRadio[]; +// inputEditable?: boolean; +// placeholder: string; +// isWarning?: boolean; +// setIsWarning?: (..._args: any[]) => void; +// disabledClick?: boolean; +// } + +const InputRadio = (props) => { + const [isOpen, setIsOpen] = useState(false); + const $selectRef = useRef(null); + const isOpenCached = useRef(null); + + useEffect(() => { + isOpenCached.current = isOpen; + }, [isOpen]); + + useOutsideClick($selectRef, () => { + if (isOpenCached.current) { + setIsOpen(false); + } + }); + + // console.log(props.value); + + return ( +
    + {props.errorText && props?.typeErrText != "underAbsolute" ? ( +
    + {props.errorText} +
    + ) : null} +
    { + props.isWarning && props.setIsWarning(false); + props.setErrorText && props.setErrorText(""); + if (!props.disabledClick) { + setIsOpen(!isOpen); + } else { + props.onClickDisable && props.onClickDisable(); + } + }} + > +
    +
    + {props.label ? {props.label} : null} +
    + {props.renderLabelIcon ? props.renderLabelIcon() : null} +
    + { + if (props.inputEditable) { + props.setValue({ + value: e.target?.value, + title: e.target?.value, + }); + } + }} + style={props.inputEditable ? {} : { pointerEvents: "none" }} + > +
    + + + +
    +
    +
    +
    +
    +
    + {props.options.map((option) => { + return ( +
    { + props.setValue(option); + setIsOpen(false); + }} + > + + {option.title} + +
    + ); + })} +
    +
    + {props.errorText && props?.typeErrText == "underAbsolute" ? ( +
    + {props.errorText} +
    + ) : null} +
    + ); +}; + +export default InputRadio; diff --git a/src/_components/Auth/InputSelect/index.scss b/src/_components/Auth/InputSelect/index.scss new file mode 100644 index 0000000..667803b --- /dev/null +++ b/src/_components/Auth/InputSelect/index.scss @@ -0,0 +1,236 @@ +@import "/src/_styles/mixin"; + +$red: #e22028; +$border-color: #4a4848; + +.input_radio_base { + position: relative; + .error_select { + span { + color: $red; + font-size: 18px; + display: flex; + } + } + .error_text { + margin-bottom: 9px; + } + .error_text_absolute { + position: absolute; + bottom: calc(100% + 2px); + } + .error_text_absolute_new { + position: absolute; + top: calc(100% + 2px); + } + .input_select { + cursor: pointer; + } + .input_select_main_wrapper { + display: flex; + align-items: center; + height: 65px; + padding: 0px 22px; + border: 1px solid $border-color; + border-radius: 10px; + margin-bottom: 22px; + .input_select_main { + display: flex; + align-items: center; + flex: 1; + height: 100%; + padding: 1px 0px; + display: flex; + align-items: center; + flex: 1; + height: 100%; + .icon_label { + width: 31px; + margin-right: 26px; + border: 0px solid transparent; + border-bottom-width: 1px; + @include screen_mobile { + margin-right: 1rem !important; + } + } + .input_text { + height: 100%; + border: none; + font-size: 18px; + line-height: 21px; + flex: 1; + background-color: transparent; + opacity: 1; + + &:focus { + outline: none; + } + @include screen_mobile { + font-size: 0.9rem !important; + } + } + } + } + + .drop_down { + position: absolute; + display: none; + top: 65px; + width: 100%; + max-height: 350px; + overflow: auto; + background-color: white; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; + z-index: 1; + /* width */ + &::-webkit-scrollbar { + width: 6px; + } + + /* Handle */ + &::-webkit-scrollbar-thumb { + background: #bbbbbb; + border-radius: 10px; + } + + &::-webkit-scrollbar-track { + margin: 0.5rem 0; + } + + /* Handle on hover */ + &::-webkit-scrollbar-thumb:hover { + background: #8b8b8b; + } + + .option_item { + padding: 12px 30px; + &:hover { + background-color: whitesmoke; + cursor: pointer; + } + span { + font-size: 18px; + font-family: "Myriadpro-Regular"; + color: #707070; + + @include screen_mobile { + font-size: 0.9rem; + } + } + } + &.active { + display: block; + } + } + + .drop_down_news { + top: clamp(2.4rem, 3vw, 2.8rem); + border: 1px solid var(--text-color); + border-radius: 0.5rem; + width: 54%; + right: -20%; + text-align: center; + min-width: 13rem; + + @include screen_mobile { + right: 3%; + min-width: 12.5rem; + } + .option_item { + padding: 12px 20px; + span { + font-size: 18px; + font-family: "AvertaStdCY" !important; + color: #707070; + + @include screen_mobile { + font-size: 0.875rem; + } + } + } + } + + &.focus { + box-shadow: 1px 3px 3px 0px rgba(23, 23, 23, 0.16); + border-top-left-radius: 10px; + border-top-right-radius: 10px; + .input_select_main_wrapper { + border-color: white; + border-radius: 0px; + border-top-left-radius: 10px; + border-top-right-radius: 10px; + background-color: white; + } + .drop_down { + box-shadow: 1px 3px 3px 0px rgba(23, 23, 23, 0.16); + } + .input_select_main { + border: 0px solid #a1afbe; + border-bottom-width: 1px; + } + } + &.warning_select { + .input_select_main_wrapper { + border-color: $red !important; + border-width: 2px !important; + border-style: solid !important; + } + } + .rotate_180 { + transform: rotate(180deg); + } + .cursor_pointer { + cursor: pointer; + } + + input { + font-family: "Myriadpro-Regular"; + &::placeholder { + /* Chrome, Firefox, Opera, Safari 10.1+ */ + font-family: "Myriadpro-Regular"; + color: #8e9298; + opacity: 1; /* Firefox */ + } + + &:-ms-input-placeholder { + /* Internet Explorer 10-11 */ + font-family: "Myriadpro-Regular"; + color: #8e9298; + } + + &::-ms-input-placeholder { + /* Microsoft Edge */ + font-family: "Myriadpro-Regular"; + color: #8e9298; + } + } +} + +.input_radio_base_news { + &.focus { + border-radius: 10px; + .input_select_main_wrapper { + border-radius: 10px; + } + + .input_select_main { + border: none; + } + } + + .input_select_main_wrapper_news { + padding: 0 1.2rem !important; + } + + .input_text { + width: 75% !important; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + @include screen_mobile { + width: 100%; + max-width: 100% !important; + } + } +} diff --git a/src/_components/Auth/InputSelectSearch/index.js b/src/_components/Auth/InputSelectSearch/index.js new file mode 100644 index 0000000..5a542c7 --- /dev/null +++ b/src/_components/Auth/InputSelectSearch/index.js @@ -0,0 +1,158 @@ +import React, { useEffect, useRef, useState } from "react"; +import classnames from "classnames"; +import "./index.scss"; +import useOutsideClick from "../../../_helpers/customHook/useOutsideClick"; +import { PresentToAllSharp } from "@material-ui/icons"; +import ModalSearch from "../../Modal/ModalSearch/ModalSearch"; + +// interface Props { +// value: OptionInputRadio; +// setValue: (..._args: any[]) => void; +// label: string; +// className?: string; +// options: OptionInputRadio[]; +// inputEditable?: boolean; +// placeholder: string; +// isWarning?: boolean; +// setIsWarning?: (..._args: any[]) => void; +// disabledClick?: boolean; +// } + +const InputSelectSearch = (props) => { + const [isOpen, setIsOpen] = useState(false); + const $selectRef = useRef(null); + const isOpenCached = useRef(null); + + useEffect(() => { + isOpenCached.current = isOpen; + }, [isOpen]); + + useOutsideClick($selectRef, () => { + if (isOpenCached.current) { + setIsOpen(false); + } + }); + + // Handle Select Option + const handleSelectOption = (option) => { + props.setValue(option); + setIsOpen(false); + }; + + // console.log(props.value); + + return ( +
    + {props.errorText && !props?.bottomErr ? ( +
    + {props.errorText} +
    + ) : null} +
    { + props.isWarning && props.setIsWarning(false); + props.setErrorText && props.setErrorText(""); + if (!props.disabledClick) { + setIsOpen(!isOpen); + } else { + props.onClickDisable && props.onClickDisable(); + } + }} + > +
    +
    + {props.label ? {props.label} : null} +
    + {props.renderLabelIcon ? props.renderLabelIcon() : null} +
    + { + if (props.inputEditable) { + props.setValue({ + value: e.target?.value, + title: e.target?.value, + }); + } + }} + style={props.inputEditable ? {} : { pointerEvents: "none" }} + > +
    + + + +
    +
    +
    +
    + {props?.bottomErr && ( +
    + {props.errorText} +
    + )} + {!!isOpen ? ( + setIsOpen(false)} + handleSelectOption={handleSelectOption} + /> + ) : null} +
    + ); +}; + +export default InputSelectSearch; diff --git a/src/_components/Auth/InputSelectSearch/index.scss b/src/_components/Auth/InputSelectSearch/index.scss new file mode 100644 index 0000000..b07b09c --- /dev/null +++ b/src/_components/Auth/InputSelectSearch/index.scss @@ -0,0 +1,271 @@ +@import "/src/_styles/mixin"; + +$red: #e22028; +$border-color: #4a4848; + +.input_radio_base { + position: relative; + + .error_select { + span { + color: $red; + font-size: 18px; + display: flex; + + @media screen and (max-width: 768px) { + font-size: 14px; + } + } + } + + .error_text { + margin-bottom: 9px; + } + + .error_text_absolute { + position: absolute; + bottom: calc(100% + 2px); + } + + .input_select { + cursor: pointer; + } + + .input_select_main_wrapper { + display: flex; + align-items: center; + height: 65px; + padding: 0px 22px; + border: 1px solid $border-color; + border-radius: 10px; + margin-bottom: 22px; + + @media screen and (max-width: 768px) { + height: 44px; + + svg { + width: 18px; + height: 22px; + } + } + + .input_select_main { + display: flex; + align-items: center; + flex: 1; + height: 100%; + padding: 1px 0px; + display: flex; + align-items: center; + flex: 1; + height: 100%; + + .icon_label { + width: 31px; + margin-right: 26px; + border: 0px solid transparent; + border-bottom-width: 1px; + + @include screen_mobile { + margin-right: 0 !important; + } + } + + .input_text { + height: 100%; + border: none; + font-size: 18px; + line-height: 21px; + flex: 1; + background-color: transparent; + opacity: 1; + + &:focus { + outline: none; + } + + @include screen_mobile { + font-size: 0.9rem !important; + } + } + } + } + + .drop_down { + position: absolute; + display: none; + top: 65px; + width: 100%; + max-height: 350px; + overflow: auto; + background-color: white; + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; + z-index: 1; + + /* width */ + &::-webkit-scrollbar { + width: 6px; + } + + /* Handle */ + &::-webkit-scrollbar-thumb { + background: #bbbbbb; + border-radius: 10px; + } + + &::-webkit-scrollbar-track { + margin: 0.5rem 0; + } + + /* Handle on hover */ + &::-webkit-scrollbar-thumb:hover { + background: #8b8b8b; + } + + .option_item { + padding: 12px 30px; + + &:hover { + background-color: whitesmoke; + cursor: pointer; + } + + span { + font-size: 18px; + font-family: "Myriadpro-Regular"; + color: #707070; + + @include screen_mobile { + font-size: 0.9rem; + } + } + } + + &.active { + display: block; + } + } + + .drop_down_news { + top: clamp(2.4rem, 3vw, 2.8rem); + border: 1px solid var(--text-color); + border-radius: 0.5rem; + width: 54%; + right: -20%; + text-align: center; + min-width: 13rem; + + @include screen_mobile { + right: 3%; + min-width: 12.5rem; + } + + .option_item { + padding: 12px 20px; + + span { + font-size: 18px; + font-family: "AvertaStdCY" !important; + color: #707070; + + @include screen_mobile { + font-size: 0.875rem; + } + } + } + } + + &.focus { + box-shadow: 1px 3px 3px 0px rgba(23, 23, 23, 0.16); + border-top-left-radius: 10px; + border-top-right-radius: 10px; + + .input_select_main_wrapper { + border-color: white; + border-radius: 0px; + border-top-left-radius: 10px; + border-top-right-radius: 10px; + background-color: white; + } + + .drop_down { + box-shadow: 1px 3px 3px 0px rgba(23, 23, 23, 0.16); + } + + .input_select_main { + border: 0px solid #a1afbe; + border-bottom-width: 1px; + } + } + + &.warning_select { + .input_select_main_wrapper { + border-color: $red !important; + border-width: 2px !important; + border-style: solid !important; + } + } + + .rotate_180 { + transform: rotate(180deg); + } + + .cursor_pointer { + cursor: pointer; + } + + input { + font-family: "Myriadpro-Regular"; + + &::placeholder { + /* Chrome, Firefox, Opera, Safari 10.1+ */ + font-family: "Myriadpro-Regular"; + color: #8e9298; + opacity: 1; + /* Firefox */ + } + + &:-ms-input-placeholder { + /* Internet Explorer 10-11 */ + font-family: "Myriadpro-Regular"; + color: #8e9298; + } + + &::-ms-input-placeholder { + /* Microsoft Edge */ + font-family: "Myriadpro-Regular"; + color: #8e9298; + } + } +} + +.input_radio_base_news { + &.focus { + border-radius: 10px; + + .input_select_main_wrapper { + border-radius: 10px; + } + + .input_select_main { + border: none; + } + } + + .input_select_main_wrapper_news { + padding: 0 1.2rem !important; + } + + .input_text { + width: 75% !important; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + + @include screen_mobile { + width: 100%; + max-width: 100% !important; + } + } +} diff --git a/src/_components/Auth/InputText/index.js b/src/_components/Auth/InputText/index.js new file mode 100644 index 0000000..4940427 --- /dev/null +++ b/src/_components/Auth/InputText/index.js @@ -0,0 +1,265 @@ +import React, { useEffect, useRef, useState } from "react"; +import useOutsideClick from "../../../_helpers/customHook/useOutsideClick"; +import "./index.scss"; +import classnames from "classnames"; + +// interface Props { +// value: string | number; +// setValue: (..._args: any[]) => void; +// name: string; +// placeholder?: string; +// required?: boolean; +// type: string; +// className?: string; +// label?: string; +// style?: any; +// isWarning?: boolean; +// setIsWarning?: (..._args: any[]) => void; +// setIcon?: () => any; +// min?: number; +// max?: number; +// isHiddenClear?: boolean; +// } + +const InputText = (props) => { + const $inputRef = useRef(null); + const [isFocus, setIsFocus] = useState(false); + const isFocusState = useRef(false); + const [showPw, setShowPw] = useState(false); + + useEffect(() => { + isFocusState.current = isFocus; + }, [isFocus]); + + useOutsideClick($inputRef, () => { + if (isFocusState.current) { + setIsFocus(false); + } + }); + + /** + * togglePw + */ + const togglePw = () => { + setShowPw(!showPw); + }; + + /** + * renderType: render type input + */ + const renderType = () => { + if (props.type === "password") { + return !showPw ? "password" : "text"; + } + return props.type; + }; + + /** + * changeValue: input change value + * @param e event + */ + const changeValue = (e) => { + // if (e.target.value === " ") { + // return; + // } + // if ( + // e.target.value?.length > 2 && + // e.target.value[e.target.value.length - 2] === " " && + // e.target.value[e.target.value.length - 1] === " " + // ) { + // return; + // } + if (props.removeWarningOnType && props.errorText) { + props.setErrorText && props.setErrorText(""); + } else if (props.errorText && !e.target.value) { + props.setErrorText && props.setErrorText(""); + } + if (props.type === "password") { + // props.setValue(e.target.value?.trim()); + props.setValue(e.target.value); + } else { + props.setValue(e.target.value); + } + }; + + // Handle Reset Value Search + const handleResetValue = () => { + props.handleResetValueSearch("reset"); + }; + + // Handle Checked box + const handleCheckedBoxValue = () => { + props.handleCheckedBox(); + }; + + return ( +
    + {props?.showRequired &&
    *
    } +
    +
    + {props.label ? : null} +
    + {props.renderLabelIcon ? props.renderLabelIcon() : null} +
    + {!props?.multiLine ? ( + { + setIsFocus(true); + props.onFocus && props.onFocus(); + }} + min={props.min ? props.min : ""} + max={props.max ? props.max : ""} + onBlur={props.onBlur} + autoComplete={ + props.autoComplete ? props.autoComplete : "new-password" + } + autoFocus={props?.autoFocus ? props.autoFocus : false} + onKeyUp={props?.onKeyUp} + {...props?.inputProps} + /> + ) : ( +