* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
a, a:hover {
    text-decoration: none;
}
button:focus {
    outline: 0;
}
h3 {
    color: #000000;
    /*font-size: 1.3125rem;*/
}
h4 {
    letter-spacing: -.02em;
    font-size: .9375rem;
    margin-top: 0;
    margin-bottom: 0!important;
    font-weight: 500;
    line-height: 1.1;
}
h5 {
    font-size: .8125rem;
    font-weight: 500;
    line-height: 1.1;
    margin-top: 0;
}
html,
body,
#root {
    width: 100%;
    height: 100%;
}
body {
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.5;
    background-color: #f5f9fc;
}
/********** Home界面 **********/
.jumbotron {
    background-color: #ffffff;
    margin: 4rem 0;
}
.jumbotron .container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    max-width: 56rem;
}
/********** Main **********/
/* .wrapper { */
    /* display: flex; */
/* } */
/********** 菜单栏 **********/
.wrapper>nav {
    display: flex;
    position: fixed;
    top: 0;
    bottom: 0;
    padding: 0;
    min-width: 240px;
    max-width: 240px;
    color: #ced4da;
    background: #354052;
    flex-direction: column;
    overflow-y: scroll;
    z-index: 10;
}
.brand {
    font-weight: 600;
    font-size: 1.25rem;
    padding: 1.15rem 1.5rem;
    display: block;
}
.brand a {
    color: #fcfaf2;
}
.brand a:hover {
    color: #ffffff;
}
.menu {
    width: 100%;
    padding: 0;
}
.menu>span{
    font-family: "Yuanti SC";
    background: transparent;
    color: #adb5bd!important;
    padding: .375rem 1.5rem!important;
    font-size: .75rem;
}
.menu-body>a {
    display: block;
    padding: .75rem 2.75rem!important;
    opacity: 0.7;
    color: #ffffff!important;
}
.menu-body:hover {
    background-color: #2d3646;
}
.menu a:hover {
    opacity: 1;
}
.menu-body>.active {
    background-color: #2d3646;
}
/********** 按钮 **********/
.switch-button {
    position: fixed;
    top: 50%;
    transform: translate(0,-50%);
    box-sizing: border-box;
    border: 1px #354052 solid;
    border-top-right-radius: 50%;
    border-bottom-right-radius: 50%;
    background-color: #354052;
    height: 5.6rem;
    z-index: 10;
}
.switch-button>svg {
    opacity: 0.7;
}
.switch-button:hover>svg {
    opacity: 1;
}
/********** 可视化区域 **********/
.main {
    width: 100%;
    min-height: 100vh;
    min-width: 0;
}
.content {
    padding: 0 2rem;
}
.header-body {
    padding: 1.5rem 0;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #e3ebf6;
}
.header-pretitle {
    letter-spacing: .08em;
    font-size: .625rem;
    color: #95aac9;
}
.header-title {
    margin-bottom: 0;
    font-size: 1.625rem;
}
.teacher {
    width: 40px;
    height: 40px;
    box-sizing: border-box;
    border: 1px #7189aa solid;
    color: #7189aa;
    border-radius: 5px;
    text-align: center;
    font-size: 24px;
    margin-left: 8px;
    cursor: default;
    user-select: none;
    font-family: "Yuanti SC";
}
/* Card */
.card {
    border: 1px solid #edf2f9;
    border-radius: .5rem;
}
.card-header {
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    align-items: center;
    min-height: 3rem;
    padding: .5rem 1.5rem;
    background-color: transparent;
    border-bottom: 1px solid #edf2f9;
    justify-content: space-between;
}
.card-title {
    font-size: .925rem;
    font-weight: 500;
    margin-bottom: .5rem;
}
.card-text {
    margin-bottom: .25rem;
    line-height: 1.25;
    color: #3c3c3c!important;
}
.popover {
    border-color: #95aac9;
}
.bs-popover-left>.arrow::before {
    border-left-color: #95aac9;
}
.drop-down-btn {
    padding: .125rem .5rem;
    font-size: .8125rem;
    border-radius: .25rem;
    color: #283e59;
    background-color: #fff;
    border-color: #e3ebf6;
}
.dropdown-menu {
    border-color: #e3ebf6;
}
.drop-down-items {
    display: block;
    padding: 0.4rem 1rem;
    font-size: 12px;
    color: #bdc0ba;
    font-weight: 400;
}
.drop-down-items:hover {
    color: #283e59;
}
/* 功能 */
.flex-direction-col {
    display: flex;
    flex-direction: column;
}
.align-items-center {
    display: flex;
    align-items: center;
}
.align-items-end {
    align-items: flex-end;
}
.justify-content-center {
    display: flex;
    justify-content: center;
}
.justify-content-end {
    display: flex;
    justify-content: flex-end;
}
.flex-space-between {
    display: flex!important;
    justify-content: space-between;
}
.pd-lr-15px {
    padding-left: 15px;
    padding-right: 15px;
}
.ml-240px {
    margin-left: 240px;
}
.overflow-y-scroll {
    overflow-y: scroll;
}
.overflow-y-hidden {
    overflow-y: hidden;
}
.cursor-pointer {
    cursor: pointer;
}
.tooltip-0 {
    color: #283e59;
}
.bg-0 {
    background-color: #8BC0AA;
}
.bg-1 {
    background-color: #E5DB86;
}
.bg-2 {
    background-color: #E16C67;
}
.text-muted {
    color: #95aac9!important;
}
.conclusion{
    font-size: 1.125rem;
}

.right-arrow {
    width: 0;
    height: 0;
    border: 28px solid;
    border-color: transparent transparent transparent #91989f;
    position: relative;
    left: 14px;
}
.right-arrow::after {
    content: '';
    position: absolute;
    top: -28px;
    left: -36px;
    border: 28px solid;
    border-color: transparent transparent transparent #ffffff;
}

/********** row和col **********/
.row {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
}
.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
}

/********** 动画 **********/
@keyframes slideLeft-hide {
    from {margin-left: 0;}
    to {margin-left: -240px;}
}
@keyframes slideRight-show {
    from {margin-left: -240px;}
    to {margin-left: 0}
}
@keyframes slideLeft{
    from {margin-left: 240px;}
    to {margin-left: 0;}
}
@keyframes slideRight{
    from {margin-left: 0;}
    to {margin-left: 240px}
}
