:root {
	--maintain-div-col: white;
	--maintain-aob-col: rgba(0, 0, 0, 0.05);
	--maintain-ae-col: white;
	--debug-aob-bg: rgba(0, 0, 0, 0.05);
	--debug-ae-bg: rgba(0, 0, 0, 0.2);
}

.contentHolder {
	border-radius: 10px;
	justify-content: center;
	align-items: center;
	width: 96%;
	min-height: 100%;
	margin: 2%;
	margin-top: 8vh;
}
.gridFC {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(auto-fit, minmax(50px, auto));
}
.flexAll {
	display: flex;
	flex-wrap: nowrap;
}
.CHst {
	margin-top: 20vh;
}
.linek {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	margin: 0;
}

.linekin {
	border-radius: 10px;
	border: none;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: max-content;
	height: max-content;
	min-width: 320px;
	min-height: 430px;
	margin: 20px;
	background-color: var(--maintain-div-col);
	border: 1px solid white;
	transition: display 1s ease-in-out;
}

.selectedOpt {
	transition: all 0.4s ease-in-out;
}
.selectedOpt:hover {
  transform: translateY(-5px) scale(1.05);
}
#cards:hover .selectedOpt:not(:hover) {
  transform: translateY(12px) scale(0.95);
  opacity: 0.8;
}

.displayedSidebarEn {}

.linekin a {
	text-decoration: none;
}
.linekbase {
	border-radius: 10px;
	border: none;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin: 20px;
	background-color: var(--maintain-div-col);
	border: 1px solid white;
	transition: display 1s;
}

.linekbase a {
	text-decoration: none;
}

.bTitleTextPane {
	width: 100%;
	height: 5%;
	margin-left: 4em;
}

.introTextPane {
	align-items: flex-start;
	grid-column: span 3;
	width: 100%;
	height: 100%;
}

.introTextPane p {
	line-height: 1.8;
	overflow-wrap: break-word;
	margin: 2% 4%;
	text-indent: 2.4em;
	font-size: 1.5em;
}

.introTextPane * {
	text-decoration: none;
}
.introTextPane > p::first-letter {
	font-size: 2em;
    line-height: 1.6;
	font-weight: bold;
}
.introTextPane > p:last-child {
	margin-bottom: 4%;
}
.blockBackground {
    position: absolute;
	top: 0;
	left: 0;
    width: 100vw;
	height: 120vh;
    background-color: white;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 1.0) 85%, rgba(255, 255, 255, 0) 100%);
	z-index: -3;
}
.introBackground {
	opacity: 0.3;
    position: fixed;
	animation: gradientShift 10s infinite alternate ease-in-out;
	top: 0;
	left: 0;
    width: 100vw;
	height: 100vh;
    background: linear-gradient(135deg, rgba(126, 110, 158, 0.8), rgba(49, 140, 231, 0.8));
    filter: blur(15px);
	z-index: -4;
}

body {
	overflow-x: hidden;
	background-color: white;
}

.boardFull {
	display: flex;
	justify-content: flex-start;
	background-color: rgba(0, 0, 0, 0);
	align-items: center;
	width: 100vw;
	height: 100vh;
	box-sizing: border-box;
	position: relative;
	transform: scale(1);
	transition: transform 0.3s;
}

.titleLeftImage {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 18vw;
	height: 18vw;
	position: absolute;
	left: 17%;
}

.titleLeftImage img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.separator {
	flex: 0.9 1 16%;
}

.titleTextRight {
	position: relative;
	width: 50%;
	height: 30%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.titleTextRight h1 {
	font-size: 4vw;
}

.titleTextRight h2 {
	font-size: 3.2vw;
}

.titleTextRight h3 {
	font-size: 2.5vw;
}

.titleTextRight h4 {
	font-size: 1.7vw;
	;
}

.titleTextRight p {
	font-size: 2.5vw;
}

.titleTextRight>h1,
.titleTextRight>h2,
.titleTextRight>h3,
.titleTextRight>h4,
.titleTextRight>p {
	white-space: nowrap;
	font-family: 'SourceHanSansCN-Medium', sans-serif;
}

.titleTextRight>b {
	white-space: nowrap;
	font-family: 'SourceHanSansCN-Bold', sans-serif;
}

footer {
	display: flex;
	justify-content: space-between;
	padding: 15px;
	background: #222;
	color: white;
}
@keyframes gradientShift {
    0% { background-position: 0% 0%; }
    50% { background-position: 100% 100%; }
    100% { background-position: 0% 0%; }
}
@media (max-width: 768px) {
    .displayedSidebarEn {
        display: none;
    }
    .introTextPane {
        grid-column: span 4;
    }
    .sidebarBtn {
        display: flex !important;
    }
}

@font-face {
	font-family: 'SourceHanSansCN-Bold';
	src: url('../resources/fonts/SourceHanSansCN-Bold.woff2') format('woff2');
}

@font-face {
	font-family: 'SourceHanSansCN-Heavy';
	src: url('../resources/fonts/SourceHanSansCN-Heavy.woff2') format('woff2');
}

@font-face {
	font-family: 'SourceHanSansCN-Medium';
	src: url('../resources/fonts/SourceHanSansCN-Medium.woff2') format('woff2');
}