index.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780
  1. <template>
  2. <div class="index" v-if="isData && configInfor">
  3. <template v-if="isPc">
  4. <div class="shadow" v-if="LoginOrRegistration != 'signin'">
  5. <LoginNav
  6. :changeLoginReg="changeLoginReg"
  7. :FatheruserMessage="userMessage"
  8. :language_list="language_list"
  9. :configInfor="configInfor"
  10. :projectList="projectList"
  11. />
  12. <div class="logoAndlogin">
  13. <div class="LogoAndText">
  14. <!-- <div class="logo">
  15. <img :src="configInfor.logo_image_url_home" class="logo-img" />
  16. </div> -->
  17. <div class="text">
  18. <p class="p1">{{ configInfor.title }}</p>
  19. <p class="p2">
  20. {{ $t("Key1") }}
  21. <!-- 这里有丰富的教学资源、先进的教学方法,无论您是教师或学生都能在这里尽情汲取养分! -->
  22. </p>
  23. </div>
  24. </div>
  25. <div
  26. :class="['login', language_type == 'AR' ? 'left' : '']"
  27. v-if="LoginOrRegistration == 'login'"
  28. >
  29. <Login
  30. :ForgetType.sync="loginType"
  31. :changeLoginReg="changeLoginReg"
  32. :changeLoginType="changeLoginType"
  33. :getChildSysList="getChildSysList"
  34. />
  35. </div>
  36. <div
  37. v-if="LoginOrRegistration == 'Forget password'"
  38. class="ForgetPassword"
  39. >
  40. <ForgetPassword
  41. :changeLoginReg="changeLoginReg"
  42. :ForgetType.sync="loginType"
  43. :changeLoginType="changeLoginType"
  44. />
  45. </div>
  46. <div class="list" v-if="!LoginOrRegistration">
  47. <div
  48. :class="projectIndex == item.key ? 'Selectproject' : ''"
  49. @mousemove="projectMove(item)"
  50. @mouseout="projectOut"
  51. v-for="(item, i) in projectList"
  52. :key="i"
  53. @click="SelectProject(i)"
  54. >
  55. <div>
  56. <img
  57. v-if="projectIndex == item.key"
  58. :src="item.icon_url_home_selected"
  59. alt=""
  60. />
  61. <img v-else :src="item.icon_url_home_default" alt="" />
  62. <p>{{ item.name }}</p>
  63. </div>
  64. <p>{{ item.desc }}</p>
  65. </div>
  66. </div>
  67. </div>
  68. <div class="bottom" v-if="LoginOrRegistration != 'signin'">
  69. <div>
  70. © 2010-2021 Beijing Language and Culture University Press All rights
  71. reserved.
  72. </div>
  73. <div>
  74. <a target="_blank" href="https://www.blcup.com"
  75. ><img
  76. src="../../assets/login/icon-logo.jpg"
  77. />https://www.blcup.com</a
  78. >
  79. </div>
  80. <div>
  81. <img src="../../assets/login/icon-email.png" />shuzichuban@blcup.com
  82. </div>
  83. </div>
  84. </div>
  85. </template>
  86. <template v-else>
  87. <div class="empty">
  88. <p>{{ $t("Key247") }}...</p>
  89. </div>
  90. </template>
  91. <!-- <div class="emailTipsBox" v-if="emailTipShow">
  92. <div class="emailTipsBox-innder">
  93. <img
  94. src="../../assets/login/close-forget.png"
  95. class="close-win"
  96. @click="closeEmailTip"
  97. />
  98. <h2>提示</h2>
  99. <b>您已{{emailTipDay}}天未修改密码,为了账户安全,请更改密码。</b>
  100. <a @click="changeLoginReg('Forget password')">好的</a>
  101. </div>
  102. </div> -->
  103. </div>
  104. </template>
  105. <script>
  106. //这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  107. //例如:import 《组件名称》from ‘《组件路径》';
  108. import Login from "@/components/login/login";
  109. import Registration from "@/components/login/registration";
  110. import LoginNav2 from "@/components/login/LoginNav2";
  111. import ForgetPassword from "@/components/login/ForgetPassword";
  112. import LoginNav from "@/components/login/LoginNav";
  113. import { getLogin, getContent, getAcsCode, getStaticContent } from "@/api/api";
  114. import { updateWordPack } from "@/utils/i18n";
  115. import { getToken, removeToken } from "@/utils/auth";
  116. import { getConfigInfor } from "@/utils/index";
  117. import { mapGetters } from "vuex";
  118. export default {
  119. //import引入的组件需要注入到对象中才能使用
  120. components: {
  121. Login,
  122. Registration,
  123. ForgetPassword,
  124. LoginNav,
  125. LoginNav2,
  126. },
  127. props: {},
  128. data() {
  129. //这里存放数据
  130. return {
  131. isPc: false,
  132. LoginOrRegistration: "", //注册 登录 忘记密码
  133. loginType: "teacher",
  134. projectList: [],
  135. projectList1: [
  136. {
  137. id: 0,
  138. name: "教学中心",
  139. img: "project1-1",
  140. selectImg: "project1-1-1",
  141. text: "帮助您快速完成课程及任务安排,快速清晰的完成学习任务。",
  142. },
  143. {
  144. id: 1,
  145. name: "教材中心",
  146. img: "project8-8",
  147. selectImg: "project1-1-1",
  148. text: "帮您快速定制生动、有趣、实用的数字教材。",
  149. },
  150. {
  151. id: 2,
  152. name: "教培中心",
  153. img: "project2-2-2",
  154. selectImg: "project2-2",
  155. text: "名师授课,丰富的课程体系,快速扎实帮您提升教学能力。",
  156. },
  157. {
  158. id: 3,
  159. name: "教研中心",
  160. img: "project6-6-6",
  161. selectImg: "project6-6",
  162. text: "丰富的教学资料和珍贵的文献可以在线查看或下载。",
  163. },
  164. //
  165. {
  166. id: 4,
  167. name: "考试中心",
  168. img: "project5-5-5",
  169. selectImg: "project5-5",
  170. text: "丰富的题库将帮助您快速编写实用、准确、全面的试卷。",
  171. },
  172. {
  173. id: 5,
  174. name: "学习中心",
  175. img: "project4-4-4",
  176. selectImg: "project4-4",
  177. text: "在这里可以很容易地找到数字教科书、学习材料和丰富的课程。",
  178. },
  179. {
  180. id: 6,
  181. // Teacher training center
  182. name: "个人中心",
  183. img: "project3-3-3",
  184. selectImg: "project3-3",
  185. text: "您收集和购买的所有资源都可以在这里轻松找到。",
  186. },
  187. ],
  188. teacherProList: [
  189. //普通教师
  190. {
  191. id: 0,
  192. name: "教学中心",
  193. img: "project1-1",
  194. selectImg: "project1-1-1",
  195. text: "帮助您快速完成课程及任务安排,快速清晰的完成学习任务。",
  196. },
  197. {
  198. id: 2,
  199. name: "教培中心",
  200. img: "project2-2-2",
  201. selectImg: "project2-2",
  202. text: "名师授课,丰富的课程体系,快速扎实帮您提升教学能力。",
  203. },
  204. {
  205. id: 3,
  206. name: "教研中心",
  207. img: "project6-6-6",
  208. selectImg: "project6-6",
  209. text: "丰富的教学资料和珍贵的文献可以在线查看或下载。",
  210. },
  211. {
  212. id: 4,
  213. name: "考试中心",
  214. img: "project5-5-5",
  215. selectImg: "project5-5",
  216. text: "丰富的题库将帮助您快速编写实用、准确、全面的试卷。",
  217. },
  218. {
  219. id: 5,
  220. name: "学习中心",
  221. img: "project4-4-4",
  222. selectImg: "project4-4",
  223. text: "在这里可以很容易地找到数字教科书、学习材料和丰富的课程。",
  224. },
  225. {
  226. id: 6,
  227. // Teacher training center
  228. name: "个人中心",
  229. img: "project3-3-3",
  230. selectImg: "project3-3",
  231. text: "您收集和购买的所有资源都可以在这里轻松找到。",
  232. },
  233. ],
  234. stuProList: [
  235. {
  236. id: 0,
  237. name: "教学中心",
  238. // name: this.$t("teaching"),
  239. img: "project1-1-1",
  240. selectImg: "project1-1",
  241. text: "帮助您快速完成课程及任务安排,快速清晰的完成学习任务。",
  242. },
  243. {
  244. id: 5,
  245. name: "学习中心",
  246. img: "project4-4-4",
  247. selectImg: "project4-4",
  248. text: "在这里可以很容易地找到数字教科书、学习材料和丰富的课程。",
  249. },
  250. {
  251. id: 6,
  252. // Teacher training center
  253. name: "个人中心",
  254. img: "project3-3-3",
  255. selectImg: "project3-3",
  256. text: "您收集和购买的所有资源都可以在这里轻松找到。",
  257. },
  258. ],
  259. projectIndex: null,
  260. userMessage: null,
  261. language_list: null,
  262. configInfor: null,
  263. isData: false,
  264. emailTipShow: false,
  265. emailTipDay: 0
  266. };
  267. },
  268. //计算属性 类似于data概念
  269. computed: {
  270. ...mapGetters(["language_type"]),
  271. },
  272. //监控data中数据变化
  273. watch: {},
  274. //方法集合
  275. methods: {
  276. changeLoginReg(value, userMessage) {
  277. if (value == "signin") {
  278. this.$router.push("/Signup");
  279. } else {
  280. this.LoginOrRegistration = value;
  281. }
  282. this.userMessage = userMessage;
  283. this.emailTipShow = false
  284. },
  285. changeLoginType(value) {
  286. this.loginType = value;
  287. },
  288. // 鼠标进入
  289. projectMove(item) {
  290. this.projectIndex = item.key;
  291. },
  292. // 鼠标离开
  293. projectOut() {
  294. this.projectIndex = null;
  295. },
  296. async SelectProject(command) {
  297. let _this = this;
  298. _this.LoginNavIndex = command;
  299. let userInfor = getToken();
  300. let user_code = "",
  301. user_type = "",
  302. session_id = "";
  303. if (userInfor) {
  304. userInfor = JSON.parse(getToken());
  305. user_code = userInfor.user_code;
  306. user_type = userInfor.user_type;
  307. session_id = userInfor.session_id;
  308. }
  309. if (!session_id || !user_code || !user_type || !userInfor) {
  310. this.$message.warning(this.$t("Key573"));
  311. this.projectName = this.projectList[0].name;
  312. return;
  313. }
  314. _this.projectName = this.projectList[command].name;
  315. let relative_path = this.projectList[command].relative_path;
  316. location.href = relative_path;
  317. },
  318. // 获取语言列表
  319. getLangList() {
  320. let MethodName = "language_manager-GetLanguageList";
  321. let data = {};
  322. getStaticContent(MethodName, data).then((res) => {
  323. this.language_list = res.language_list;
  324. });
  325. },
  326. // 验证用户是否登录
  327. async Islogin() {
  328. let userInfor = getToken();
  329. let user_code = "",
  330. user_type = "",
  331. session_id = "";
  332. if (userInfor) {
  333. userInfor = JSON.parse(getToken());
  334. user_code = userInfor.user_code;
  335. user_type = userInfor.user_type;
  336. session_id = userInfor.session_id;
  337. let MethodName = "login_control-Is_Effective_User";
  338. getAcsCode(MethodName, {
  339. UserCode: user_code,
  340. SessionID: session_id,
  341. UserType: user_type,
  342. }).then((res) => {
  343. if (res.is_effective == "false") {
  344. this.userMessage = null;
  345. this.isPc = true;
  346. this.LoginOrRegistration = "login";
  347. removeToken();
  348. } else {
  349. this.userMessage = userInfor;
  350. if (
  351. userInfor.popedom_code_list.indexOf(2000001) > -1 ||
  352. userInfor.user_type == "STUDENT"
  353. ) {
  354. this.isPc = false;
  355. this.$message.warning(this.$t("Key247") + "....");
  356. location.href = `/GCLS-Learn/#/EnterSys`;
  357. } else {
  358. this.isPc = true;
  359. this.LoginOrRegistration = "";
  360. this.getChildSysList();
  361. }
  362. this.getLangList();
  363. }
  364. });
  365. } else {
  366. this.isPc = true;
  367. this.LoginOrRegistration = "login";
  368. }
  369. },
  370. browserRedirect() {
  371. var sUserAgent = navigator.userAgent.toLowerCase();
  372. var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
  373. var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
  374. var bIsMidp = sUserAgent.match(/midp/i) == "midp";
  375. var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
  376. var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
  377. var bIsAndroid = sUserAgent.match(/android/i) == "android";
  378. var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
  379. var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
  380. if (
  381. bIsIpad ||
  382. bIsIphoneOs ||
  383. bIsMidp ||
  384. bIsUc7 ||
  385. bIsUc ||
  386. bIsAndroid ||
  387. bIsCE ||
  388. bIsWM
  389. ) {
  390. location.href = "/GCLS-Mobile-ROOT/#/EnterSys";
  391. console.log("移动端");
  392. } else {
  393. console.log("PC端");
  394. this._getConfig();
  395. }
  396. },
  397. getChildSysList() {
  398. let _this = this;
  399. let MethodName = "login_control-GetChildSysList_CanEnter_PC";
  400. let userInfor = getToken();
  401. let user_code = "",
  402. user_type = "",
  403. session_id = "";
  404. if (userInfor) {
  405. userInfor = JSON.parse(getToken());
  406. user_code = userInfor.user_code;
  407. user_type = userInfor.user_type;
  408. session_id = userInfor.session_id;
  409. getContent(MethodName, user_code, user_type, session_id, {})
  410. .then((res) => {
  411. if (res.child_sys_list && res.child_sys_list.length > 0) {
  412. this.projectList = res.child_sys_list;
  413. } else {
  414. // this.$message.warning("您没有任何权限,请联系您所在机构的管理员");
  415. this.$message.warning(this.$t("Key652"));
  416. }
  417. })
  418. .catch((err) => {
  419. console.log();
  420. });
  421. }
  422. },
  423. async _getConfig() {
  424. this.configInfor = await getConfigInfor();
  425. let user_name = JSON.parse(localStorage.getItem("user_name"));
  426. if (user_name) {
  427. if (user_name.user_type == "TEACHER") {
  428. this.loginType = "teacher";
  429. } else {
  430. this.loginType = "student";
  431. }
  432. }
  433. this.Islogin();
  434. let type = this.$route.query.type;
  435. if (type && type == "login") {
  436. this.LoginOrRegistration = "login";
  437. }
  438. },
  439. changeEmailTips(data){
  440. this.emailTipShow = true
  441. this.emailTipDay = data
  442. },
  443. closeEmailTip(){
  444. this.emailTipShow = false
  445. this.browserRedirect();
  446. }
  447. },
  448. //生命周期 - 创建完成(可以访问当前this实例)
  449. async created() {
  450. await updateWordPack({
  451. word_key_list: [
  452. "Key1",
  453. "Key9",
  454. "Key10",
  455. "Key11",
  456. "Key12",
  457. "Key13",
  458. "Key14",
  459. "Key16",
  460. "Key17",
  461. "Key18",
  462. "Key19",
  463. "Key20",
  464. "Key21",
  465. "Key22",
  466. "Key34",
  467. "Key35",
  468. "Key36",
  469. "Key37",
  470. "Key38",
  471. "Key39",
  472. "Key82",
  473. "Key85",
  474. "Key93",
  475. "Key121",
  476. "Key208",
  477. "Key247",
  478. "Key442",
  479. "Key494",
  480. "Key501",
  481. "Key539",
  482. "Key542",
  483. "Key543",
  484. "Key544",
  485. "Key545",
  486. "Key546",
  487. "Key573",
  488. "Key655",
  489. "Key654",
  490. "Key653",
  491. "Key652",
  492. "Key656",
  493. ],
  494. });
  495. this.isData = true;
  496. },
  497. //生命周期 - 挂载完成(可以访问DOM元素)
  498. mounted() {
  499. this.browserRedirect();
  500. },
  501. //生命周期-创建之前
  502. beforeCreated() {},
  503. //生命周期-挂载之前
  504. beforeMount() {},
  505. //生命周期-更新之前
  506. beforUpdate() {},
  507. //生命周期-更新之后
  508. updated() {},
  509. //生命周期-销毁之前
  510. beforeDestory() {},
  511. //生命周期-销毁完成
  512. destoryed() {},
  513. //如果页面有keep-alive缓存功能,这个函数会触发
  514. activated() {},
  515. };
  516. </script>
  517. <style lang="scss" scoped>
  518. .index {
  519. margin: 0;
  520. padding: 0;
  521. min-height: 100vh;
  522. background: url("../../assets/login/indexBG.png") center bottom no-repeat;
  523. background-size: cover;
  524. position: relative;
  525. min-width: 1260px;
  526. .empty {
  527. background: #fff;
  528. width: 100%;
  529. height: 100vh;
  530. overflow: hidden;
  531. padding-top: 200px;
  532. display: flex;
  533. justify-content: center;
  534. align-items: flex-start;
  535. > p {
  536. color: #3182bd;
  537. font-size: 20px;
  538. font-weight: bold;
  539. }
  540. }
  541. .shadow {
  542. min-height: 100vh;
  543. height: 100%;
  544. background: rgba(0, 0, 0, 0.5);
  545. padding-bottom: 54px;
  546. .logoAndlogin {
  547. width: 1260px;
  548. margin: 0 auto;
  549. position: relative;
  550. min-height: 600px;
  551. // display: flex;
  552. .login {
  553. position: absolute;
  554. top: 0;
  555. right: 15px;
  556. z-index: 1;
  557. &.left {
  558. left: 15px;
  559. right: auto;
  560. }
  561. }
  562. .ForgetPassword {
  563. position: absolute;
  564. top: 0;
  565. right: 100px;
  566. }
  567. }
  568. .LogoAndText {
  569. // width: 700px;
  570. margin-top: 58px;
  571. margin-left: 30px;
  572. display: flex;
  573. .logo {
  574. width: 128px;
  575. height: 128px;
  576. background: #fff;
  577. border-radius: 24px;
  578. color: black;
  579. text-align: center;
  580. line-height: 128px;
  581. display: flex;
  582. justify-content: center;
  583. align-items: center;
  584. overflow: hidden;
  585. > img {
  586. max-height: 100%;
  587. max-width: 100%;
  588. }
  589. }
  590. .text {
  591. margin: 100px 32px 0 32px;
  592. color: white;
  593. p {
  594. width: 533px;
  595. margin: 0;
  596. }
  597. .p1 {
  598. font-weight: 600;
  599. font-size: 40px;
  600. line-height: 48px;
  601. }
  602. .p2 {
  603. width: 533px;
  604. margin-top: 32px;
  605. font-size: 20px;
  606. line-height: 28px;
  607. }
  608. }
  609. }
  610. }
  611. .bottom {
  612. position: absolute;
  613. bottom: 0px;
  614. width: 100%;
  615. background: #2c2c2c;
  616. height: 54px;
  617. display: flex;
  618. align-items: center;
  619. justify-content: center;
  620. > div {
  621. text-align: center;
  622. font-size: 14px;
  623. line-height: 22px;
  624. color: rgba(255, 255, 255, 0.7);
  625. margin: 0 20px;
  626. display: flex;
  627. align-items: center;
  628. a {
  629. display: flex;
  630. align-items: center;
  631. &:hover{
  632. text-decoration: underline;
  633. }
  634. }
  635. img {
  636. width: 16px;
  637. height: 16px;
  638. margin-right: 4px;
  639. border-radius: 2px;
  640. }
  641. }
  642. > :first-child {
  643. // height: 80px;
  644. // line-height: 80px;
  645. > :first-child {
  646. color: white;
  647. }
  648. > :first-child::before {
  649. content: "|";
  650. background: white;
  651. width: 6px;
  652. height: 20px;
  653. position: relative;
  654. right: 5px;
  655. }
  656. }
  657. }
  658. .signin {
  659. background: #e5e5e5;
  660. padding-bottom: 30px;
  661. }
  662. .list {
  663. width: 1248px;
  664. margin: 10px auto;
  665. display: flex;
  666. flex-wrap: wrap;
  667. > div {
  668. width: 368px;
  669. height: 161px;
  670. background: #ffffff;
  671. border-radius: 4px;
  672. // margin: 20px 50px 0 10px;
  673. margin: 10px 24px;
  674. cursor: pointer;
  675. > div {
  676. display: flex;
  677. justify-content: space-around;
  678. align-items: center;
  679. font-weight: bold;
  680. font-size: 20px;
  681. color: #2c2c2c;
  682. padding: 20px 0 0 20px;
  683. img {
  684. width: 56px;
  685. height: 60px;
  686. }
  687. p {
  688. width: 250px;
  689. }
  690. }
  691. > p {
  692. width: 304px;
  693. margin: 16px auto;
  694. font-size: 14px;
  695. color: #666666;
  696. opacity: 0.7;
  697. text-align: left;
  698. line-height: 20px;
  699. }
  700. }
  701. .Selectproject {
  702. background: #ff9900;
  703. box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.15);
  704. }
  705. }
  706. .emailTipsBox{
  707. position: fixed;
  708. left: 0;
  709. top: 0;
  710. z-index: 999;
  711. width: 100%;
  712. height: 100vh;
  713. background: rgba(0, 0, 0, 0.19);
  714. box-sizing: border-box;
  715. overflow: hidden;
  716. overflow-y: auto;
  717. .emailTipsBox-innder{
  718. width: 395px;
  719. min-height: 234px;
  720. position: absolute;
  721. left: 50%;
  722. top: 50%;
  723. margin-left: -186px;
  724. margin-top: -117px;
  725. background: #FFFFFF;
  726. border-radius: 8px;
  727. padding: 32px 60px;
  728. text-align: center;
  729. img{
  730. width: 14px;
  731. height: 14px;
  732. position: absolute;
  733. right: 9px;
  734. top: 9px;
  735. cursor: pointer;
  736. }
  737. h2{
  738. font-weight: 700;
  739. font-size: 20px;
  740. line-height: 29px;
  741. color: #FF9900;
  742. }
  743. b{
  744. font-weight: 400;
  745. font-size: 16px;
  746. line-height: 150%;
  747. color: #2C2C2C;
  748. display: block;
  749. }
  750. a{
  751. height: 44px;
  752. padding: 12px;
  753. min-width: 80px;
  754. background: #FF9900;
  755. border-radius: 4px;
  756. font-weight: 700;
  757. font-size: 16px;
  758. line-height: 20px;
  759. color: #FFFFFF;
  760. display: inline-block;
  761. margin-top: 32px;
  762. }
  763. }
  764. }
  765. }
  766. </style>