/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local('Lato Italic'), local('Lato-Italic'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u8w4BMUTPHjxsAUi-qNiXg7eU0.woff2") format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: local('Lato Italic'), local('Lato-Italic'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u8w4BMUTPHjxsAXC-qNiXg7Q.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  src: local('Lato Bold Italic'), local('Lato-BoldItalic'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u_w4BMUTPHjxsI5wq_FQftx9897sxZ.woff2") format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  src: local('Lato Bold Italic'), local('Lato-BoldItalic'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u_w4BMUTPHjxsI5wq_Gwftx9897g.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6uyw4BMUTPHjxAwXiWtFCfQ7A.woff2") format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6uyw4BMUTPHjx4wXiWtFCc.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: local('Lato Bold'), local('Lato-Bold'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u9w4BMUTPHh6UVSwaPGQ3q5d0N7w.woff2") format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: local('Lato Bold'), local('Lato-Bold'), url("/?originalUrl=https%3A%2F%2Ffonts.gstatic.com%2Fs%2Flato%2Fv15%2FS6u9w4BMUTPHh6UVSwiPGQ3q5d0.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

a {
  color: #1772d0;
  text-decoration: none;
}

a:focus,
a:hover {
  color: #f09228;
  text-decoration: none;
}

body,
td,
th,
tr,
p,
a {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 14px
}

strong {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 14px;
}

heading {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 22px;
}

papertitle {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700
}

name {
  font-family: 'Lato', Verdana, Helvetica, sans-serif;
  font-size: 32px;
}

.one {
  width: 160px;
  height: 160px;
  position: relative;
}

.two {
  width: 160px;
  height: 160px;
  position: absolute;
  transition: opacity .2s ease-in-out;
  -moz-transition: opacity .2s ease-in-out;
  -webkit-transition: opacity .2s ease-in-out;
}

.fade {
  transition: opacity .2s ease-in-out;
  -moz-transition: opacity .2s ease-in-out;
  -webkit-transition: opacity .2s ease-in-out;
}

span.highlight {
  background-color: #ffffd0;
}

.CodeMirror {
    font-size: .8em;
    height: auto;
}

.CodeMirror-scroll {
    overflow-y: hidden;
    overflow-x: auto;
}

#header_img {
    margin-top: 2em;
    margin-bottom: 1em;
}

.list-inline {
	list-style: none;
	margin-left: -0.5em;
	margin-right: -0.5em;
	padding-left: 0;
}

.list-inline > li {
	display: inline-block;
	margin-left: 0.5em;
	margin-right: 0.5em;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.vertical-tag {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%; /* 或者根据需要设置为特定的高度 */
}

.vertical-tag span {
  transform: rotate(-90deg);
  transform-origin: center;
  white-space: nowrap; /* 防止标签内的文本换行 */
  margin: 10px 0; /* 添加一些垂直空间 */
  font-size: 1em; /* 根据需要调整字体大小 */
}
.text-center {
  font-weight: bold; /* 加粗字体 */
  padding: 5px 0; /* 在顶部和底部添加一些内边距 */
  /* 还可以添加其他样式，比如字体大小、颜色等 */
}

.col {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 四列布局 */
    grid-gap: 0px;
}

.image-container {
    perspective: 1000px; /* 为 3D 翻转效果设置透视 */
    width: 100%; /* 占据全部可用宽度 */
    height: 0; /* 初始高度设为 0 */
    padding-top: 100%; /* 对于 16:9 的图像，高度是宽度的 56.25% */
    position: relative;
}

.flipper {
    /* width: 100%;
    height: 100%; 或根据需要设置高度 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: transform 0.6s;
    transform-style: preserve-3d;
    position: absolute;
}

.front, .back {
    backface-visibility: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
}

.front {
    z-index: 2;
}

.back {
    transform: rotateY(180deg);
    z-index: 1;
}

.image-container.flip .flipper {
    transform: rotateY(180deg);
}

.btn-outline-dark:hover {
  background-color: #343a40; /* Bootstrap dark 色 */
  color: #ffffff; /* 白色文本 */
}