html {
  scroll-behavior: smooth;
}

body{
    --font-color-gray-standard: #4d4d4d;
    --font-color-gray-dark: #333333;

    --theme-color-blue-light-xxx: rgba(234, 245, 251, 1);  /*#eaf5fb*/
    --theme-color-blue-standard: rgba(38, 143, 192, 1);  /*#268fc0*/
    --theme-color-blue-standard-shadow: rgba(38, 143, 192, .15);  /*#268fc0*/
    --theme-color-blue-dark: rgba(29, 111, 149, 1);  /*#1d6f95*/

    --theme-color-purple-light-xxxx: rgba(255, 247, 255, 1);  /*#fff7ff*/
    --theme-color-purple-light-xxx: rgba(243, 237, 248, 1);  /*#f3edf8*/
    --theme-color-purple-light-xx: rgba(231, 218, 241, 1);  /*#e7daf1*/
    --theme-color-purple-light-x: rgba(196, 163, 220, 1);  /*#c4a3dc*/
    --theme-color-purple-light: rgba(161, 107, 199, 1);  /*#a16bc7*/
    --theme-color-purple-standard: rgba(141, 75, 187, 1);  /*#8d4bbb*/
    --theme-color-purple-standard-shadow: rgba(38, 143, 192, .15);  /*#268fc0*/
    --theme-color-purple-dark: rgba(110, 56, 148, 1);  /*#6e3894*/
    --theme-color-purple-dark-x: rgba(82, 42, 111, 1);  /*#522a6f*/

    --theme-color-steel-light-xxx: rgba(243, 240, 245, 1);  /*#f3f0f5*/
    --theme-color-steel-light: rgba(82, 42, 111, 1);  /*#a187b0*/
    --theme-color-steel-standard: rgba(147, 116, 164, 1);  /*#9374a4*/
    --theme-color-steel-dark: rgba(136, 101, 154, 1);  /*#88659a*/

    /*--theme-color-green-light: rgba(64, 252, 231, 1);  !*#88659a*!*/
    /*--theme-color-green-standard: rgba(0, 194, 176, 1);  !*#00c2b0*!*/
    /*--theme-color-green-dark: rgba(0, 139, 123, 1);  !*#008b7b*!*/

    --theme-color-green-light-xxx: rgba(237, 247, 246, 1);  /*#edf7f6*/
    --theme-color-green-light-xx: rgba(237, 247, 246, 1);  /*#edf7f6*/
    --theme-color-green-light-x: rgba(201, 232, 228, 1);  /*#c9e8e4*/
    --theme-color-green-light: rgba(148, 209, 201, 1);  /*#94d1c9*/
    --theme-color-green-standard: rgba(75, 176, 162, 1);  /*#4BB0A2*/
    --theme-color-green-dark: rgba(54, 125, 115, 1);  /*#367d73*/
    --theme-color-green-dark-x: rgba(38, 89, 82, 1);  /*#265952*/

    --theme-color-red-light: rgba(231, 112, 75, 1);  /*#e7704b*/
    --theme-color-red-standard: rgba(224, 76, 31, 1);  /*#e04c1f*/
    --theme-color-red-dark: rgba(187, 63, 25, 1);  /*#bb3f19*/


    --serif: 'PT-Serif', 'Adelle', 'Georgia', 'Microsoft Yahei', serif;
    --sans-serif: 'Poppins', 'Segoe UI', 'Arial', 'Microsoft Yahei', sans-serif;
    --ouyangxun: 'OuyangXun', 'Microsoft Yahei', sans-serif;
    --lishu: 'LiSu', 'STLiti', 'Microsoft Yahei', sans-serif;

}


.serif{
    font-family: var(--serif);
}

.sans-serif{
    font-family: var(--sans-serif);
}

.ouyangxun{
    font-family: var(--ouyangxun);
}

.lishu{
    font-family: var(--lishu);
}

@font-face {
    font-family: OuyangXun;
    src: url(../../font/chinese/欧阳询书法字体.ttf);
}

@font-face {
    font-family: Adelle;
    src: url(../../font/english/serif/Adelle/Adelle_Reg.otf);
}

@font-face {
    font-family: Adelle;
    src: url(../../font/english/serif/Adelle/Adelle_Bold.otf);
    font-weight: bold;
}

@font-face {
    font-family: PT-Serif;
    src: url(../../font/english/serif/PT-Serif/PTSerif-Regular.ttf);
}

@font-face {
    font-family: PT-Serif;
    src: url(../../font/english/serif/PT-Serif/PTSerif-Bold.ttf);
    font-weight: bold;
}

@font-face {
    font-family: Poppins;
    src: url(../../font/english/sans-serif/Poppins/Poppins-Regular.otf);
}

@font-face {
    font-family: Poppins;
    src: url(../../font/english/sans-serif/Poppins/Poppins-Bold.otf);
    font-weight: bold;
}

@font-face {
    font-family: Helvetica;
    src: url(../../font/english/sans-serif/Helvetica/Helvetica.ttf);
}

@font-face {
    font-family: Helvetica;
    src: url(../../font/english/sans-serif/Helvetica/Helvetica-Bold.ttf);
    font-weight: bold;
}



.keep-newline{
	white-space: pre-wrap !important;
}

.white-space-no-wrap{
    white-space: nowrap;
}

.flex-center{
	display: flex;
	justify-content: center;
	align-items: center;
}

.float-left{
	float: left;
}

.float-right{
	float: right;
}

.float-clear-left{
	clear: left;
}

.float-clear-right{
	clear: right;
}

.float-clear-both{
	clear: both;
}

/*---------------- sandbox navbar        --------------*/
.navbar{
	background-color: var(--theme-color-green-light-xxx);
}

.navbar-transparent .navbar-toggler {
  color: rgba(0,0,0,.5);
  border-color: rgba(0,0,0,.1);
}

.nav-item{
	padding: 0 0.5rem;
}

.navbar-light .navbar-nav .nav-link{
	font-size: 15px;
    color: var(--theme-color-green-standard);
}

.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
	color: var(--theme-color-green-dark);
}

a.nav-link:hover{
	color: var(--theme-color-green-dark);
}

/*---------------- sandbox footer banner --------------*/
.footer-copyright-sandbox{
	background-color: var(--theme-color-green-dark);
	padding: 1.5rem 0;
}

.footer-copyright-container-sandbox{
	display: flex;
	justify-content: center;
	align-items: start;
	color: whitesmoke;
	font-size: 0.9rem;
}

.footer-image{
	height: 3.4rem;
}

@media only screen and (max-width: 770px){
	.footer-image{
		display: none;
	}
}

.copyright-icon{
    margin-right: 1rem;
}

.copyright-text{
    margin-bottom: 0.05rem;
    color: whitesmoke;
}

.copyright-text a{
    font-size: 0.9rem;
    color:whitesmoke;
}

.copyright-text a:hover{
    text-decoration: underline;
}

/*---------------- page headline --------------*/
.content-min-height{
	min-height: 850px;
    padding-bottom: 10rem;
}

.page-container-fluid{
	padding-top: 8rem;
}

.page-headline-container-fluid{
    /*background-image: url("/static/image/ai_for_good/index/entrance_background_观行.png");*/
    /*background-size: cover;*/
    /*background-repeat: no-repeat;*/
    /*background-position-x: center;*/
    /*background-position-y: bottom;*/
    /*background-color: rgba(161, 107, 199,0.5);*/
    /*background-blend-mode: overlay;*/
}

.page-headline {
    font-size: 1.8rem;
    color: var(--theme-color-green-standard);
    text-align: center;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.08rem;
    margin-bottom: 8rem;
}

.page-headline-with-logo-box {
    font-size: 1.8rem;
    color: var(--theme-color-green-standard);
    text-align: center;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.08rem;
    margin-bottom: 8rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.page-headline-logo{
    margin-right: 2rem;
    max-width: 3.2rem;
}

@media screen and (max-width: 576px){
    .page-headline-with-logo-box {
        font-size: 1.5rem;
        flex-direction: column;
    }
    .page-headline-logo{
        margin: 0 0 1.5rem 0;
    }
}

.page-headline-2 {
    font-size: 1.5rem;
    color: #222;
    /*text-align: center !important;*/
    font-weight: 400;
    margin-bottom: 4rem;
}

.page-content {
	text-align:center;
	font-size:1.5rem;
	color:#2C2C2C;
	margin: 3rem;
	line-height: 1.3em;
}

/*---------------- case card --------------*/
.card-footer-case{
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.badge-unlike{
    background-color: var(--theme-color-red-standard);
    color: white;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.badge-case-tag{
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.05em;
    background-color: rgba(0, 90, 202, 10%);
    color: rgba(0, 90, 202, 100%);
	text-transform: capitalize;
	margin: 0.1rem 0.1rem 0.5rem 0;
	padding: 0.35em 0.6em;
}

.badge-case-tag:hover{
    background-color: rgba(0, 90, 202, 20%);
    color: rgba(0, 90, 202, 100%);
}

.badge-topic-tag{
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.05em;
    background-color: #0954A3;
    color: white;
    margin-bottom: 0.5rem;
	text-transform: capitalize;
	padding: 0.35em 0.6em;
}

.badge-topic-tag:hover{
    background-color: #0954A3;
	text-decoration: underline;
}

.fa-12px{
	font-size: 12px;
}

/*---------------- cases page list --------------*/

.list-group-item.active {
	z-index: 2;
	color: #fff;
	background-color: rgb(3, 58, 123); !important;
	border-color: rgb(3, 58, 123);
}

.loose-text{
	letter-spacing: 0.06em;
	font-weight: 600;
}

.capitalize-text{
	text-transform: capitalize;
}

.box-shadow-light{
	box-shadow: 0 2px 8px 0 rgba(0,0,0,.08);
}

.case-img-container{
	overflow: hidden;
}

.case-img-hover-scale{
	transition-duration: 0.5s;
	width: auto;
	height: auto;
	max-width: 250px;
	max-height: 200px;
}

.case-img-hover-scale:hover{
	transform: scale(1.2);
	transition-duration: 0.5s;
}

.keep-newline{
    word-break: break-word;
    white-space: pre-wrap !important;
}

.clamp-lines-2{
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.clamp-lines-3{
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

.clamp-lines-10 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 10;
    line-clamp: 10;
    -webkit-box-orient: vertical;
}