/*
 * Globals
 */

/* Links */
a,
a:focus,
a:hover {
  color: #111;
  text-decoration: none
}


/*
 * Base structure
 */

html {
  scroll-behavior: smooth
}
#home,#bio,#pub {
  scroll-margin-top: 130px;
}


html,
body {
  height: 100%;
  background-color: #fff;
}
body {
  text-align: center;
  text-shadow: 0 1px 3px rgba(0,0,0,.5);
  /* box-shadow: inset 0 0 70px rgba(0,0,0,.5); */
}

.projectMainBody{
    height: 1130px;
}

.projectBody {
  height: 1245px;  /*80+20+1040+15+90*/
/*    display: table;
  width: 100%;
  height: 100%; /* For at least Firefox */
  /*min-height: 100%;*/
}
.projectBodyQR {
  height: 2100px;
}
.projectBodyInput {
  height: 3240px;
}
.projectPre {
  height: 1820px;
}
.projectBodyHand {
  height: 4270px;
}
.hobbyBody {
  height: 2960px;
}



/* Extra markup and styles for table-esque vertical and horizontal centering */
.site-wrapper {
  display: table;
  width: 100%;
  height: 100%; /* For at least Firefox */
  min-height: 100%;
}
.site-wrapper-inner {
  display: table-cell;
  vertical-align: top;
}
.content-container {
  margin-right: auto;
  margin-left: auto;
}

/* Padding for spacing */
.inner {
  padding: 10px;
}


/*
 * Header
 */
.brand {
  margin-left: -20px;
  margin-top: 5px;
  margin-bottom: 10px;
}

h3{
  font-size: 55px;
  /*font-family: 'Arizonia', cursive;*/
  /*font-family: 'Playball', cursive;*/
  /*font-family: 'Titan One', cursive;*/
  /*font-family: 'Sonsie One', cursive;*/
  /*font-family: 'UnifrakturCook', cursive;*/
  /*font-family: 'Lobster', cursive;*/
  /*font-family: 'Cinzel', serif;*/
  /*font-family: 'Great Vibes', cursive;*/
  /*font-family: 'Yellowtail', cursive;*/
  /*font-family: 'Italianno', cursive;*/
  /*font-family: 'Mate', serif;*/
  /*text-shadow: 0 0px 0px rgba(0,0,0,0);*/
  /*font-family: 'Euphoria Script', cursive;*/
  /*font-family: 'Ledger', serif;*/
  font-family: 'Sail', cursive;
}

h5{
  font-size: 16px;
  margin-bottom: 0px;
  /*text-shadow: 0 0px 0px rgba(0,0,0,0);*/
}

.nav-right{
  margin-top: 10px;
  margin-right: 10;
  margin-left: 0;
  position: relative;
}

.nav-right > li {
  display: inline-block;
  font-size: 18px;
}
.nav-right > li + li {
  display: inline-block;
}
.nav-right > li > a {
  padding-top: 10px;
  padding-bottom: 5px;
  padding-right: 0;
  padding-left: 0;
  font-weight: bold;
  color: #555; /* IE8 proofing */
  border-bottom: 2px solid transparent;
}

.button{
  margin-right: 16px;
}
.project{
  margin-right: 10px;
  margin-left: 10px;
}
.about{
  margin-right: 10px;
  margin-left: 10px;
}
.resume{
  /*margin-right: 10px;*/
  margin-left: 10px;
}
.nav-right > li > a:hover,
.nav-right > li > a:focus {
  background-color: transparent;
  border-bottom-color: rgba(255,117,0,.75);
}
.nav-right > .active > a,
.nav-right > .active > a:hover,
.nav-right > .active > a:focus {
  color: #555;
  border-bottom-color: rgba(100,100,100,.75);
}

@media (min-width: 768px) {
  .brand {
    float: left;
  }
  .nav-right {
    float: right;
  }
}


/*
 * Cover
 */

.middle {
  padding: 0 0px;
  margin-top:100px;
  margin-bottom:50px;
  font-size:30px;
  color: #333;
  line-height: 40px;
  z-index: 22;
}

.slogan {
  top: -50px;
  right: -400px;
  position: relative;
  font-size: 22px;
  font-family: 'Playball', cursive;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  color: #666;
  width: 500px;
}

/* About Page*/
.aboutContent {
  padding-top: 80px;
  width: 300px;
  height: 300px;
}

.sideContent {
  padding-left: 300px;
  width: 868;
  /* height: 300px; */
}

.personalInfo {
  padding-left: 0px;
  padding-top: 20px;
}

.aboutmename > li {
  display: inline-block;
}

.pinyin,
.pinyin > a {
  font-size: 22px;
  font-family: 'Playball', cursive;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
}

.pinyin > a:hover,
.pinyin > a:focus {
  font-size: 22px;
  font-family: 'Playball', cursive;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  color: rgba(255,117,0,0.80);
}


.chnname {
  height: 23%;
  width: 23%;
  padding-left: 5px;
}

.span8{
  width: 310px;
}

.BasicInfo {
  padding-top: 5px;
  font-family: 'Crimson Text', serif;
  font-size: 15px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  color: #555;
}

.socialContact {
  padding-top: 10px;
  font-family: 'Crimson Text', serif;
  font-size: 16px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  color: #555;
  /* z-index: 21; */
}


.BasicInfo > a {
  font-family: 'Crimson Text', serif;
  font-size: 15px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  color: #555;
}

.BasicInfo > a:hover,
.BasicInfo > a:focus {
  font-family: 'Crimson Text', serif;
  font-size: 15px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  color: rgba(255,117,0,0.80);
}

.BasicInfo2 {
  padding-top: 20px;
  list-style-type:none;
}

.BasicInfo2 >li {
  padding-top: 3px;
}

.title,
.title > a {
  padding-top: 10px;
  font-family: 'Crimson Text', serif;
  font-size: 16px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  color: #555;
}

.value,
.value > a {
  padding-top: 10px;
  font-family: 'Lora', serif;
  font-size: 16px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  color: #777;
  font-style:italic;
  margin-left: 0px;
}

.valuePDF,
.valuePDF > a {
  padding-top: 10px;
  margin-left: 5px;
  font-family: 'Lora', serif;
  font-size: 15px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  color: #777;
  font-style:italic;
}

.value > a:hover,
.value > a:focus {
  font-family: 'Lora', serif;
  font-size: 15px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  color: rgba(255,117,0,0.80);
  font-style:italic;
}

.title > a:hover,
.title > a:focus {
  padding-top: 10px;
  font-family: 'Crimson Text', serif;
  font-size: 16px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  color: rgba(255,117,0,0.80);
}


.socialLink > li {
  display: inline-block;
  padding-top: 5px;
}

.videoDemo {
  padding-left: 20px;
}
.videoDemo > li {
  display: inline-block;
  padding-top: 5px;
}

.logo {
  border: 1px solid #CCCCCC;
}


.Linkedin,
.Google,
.Zhihu,
.Github,
.YouTube,
.Vimeo,
.YouKu {
  margin-right:5px;
}

.Linkedin > a,
.Google > a,
.Zhihu > a,
.Github > a,
.Vimeo > a {
    display:block;
    height: 100%
}

.YouTube > a,
.YouKu > a {
  padding-top: 16px;
  padding-bottom: 20px;
}



.Linkedin > a:hover,
.Linkedin > a:focus,
.Google > a:hover,
.Google > a:focus,
.Zhihu > a:hover,
.Zhihu > a:focus,
.YouKu > a:hover,
.YouKu > a:focus,
.YouTube > a:hover,
.YouTube > a:focus,
.Github > a:hover,
.Github > a:focus,
.Vimeo > a:hover,
.Vimeo > a:focus {
  background-color: #CCCCCC;
}



.profileImg{
  padding-top: 40px;
}


/* Project Page */
.content {
  padding-bottom: 150px;
}

.projectContent {
  padding-left: 50px;
  padding-top: 40px;
  width: 800px;
  height: 1000px;
}

.projectContentMain {
  padding-left: 50px;
  padding-top: 0px;
  width: 800px;
  /* height: 800px; */
}

.projectYear {
  padding-bottom: 30px;
}

.projectYearHeader{
  font-size: 18px;
  text-align: left;
  height: 20px;
  padding-left: 5px;
}

.projectLink > a {
  color: #444;
  padding-left: 5px;
  border-left: 3px solid transparent;
}

.projectLink > a:hover,
.projectLink > a:focus {
  border-left-color: rgba(255,117,0,.85);
}


.projectItem{
  position:relative;
  top: -35px;
  height: 160px;
  padding-left: 15px;
  padding-bottom: 15px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);

}

.pubItem{
  position:relative;
  top: -35px;
  height: 120px;
  padding-left: 10px;
  padding-bottom: 15px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
}

/* .bioInfo1{
  text-align:justify;
  font-size: 16px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  padding-top: 15px;
  padding-left: 35px;
  padding-bottom: 15px;
  margin-bottom: 2px;
}

.bioInfo1 > a {
  font-size: 16px;
  color: #666;
}

.bioInfo1 > a:hover,
.bioInfo1 > a:focus {
  font-size: 16px;
  color: rgba(240,161,30,1);
} */

.news{
  text-align:left;
}

.bioContent{
  padding-top: 10px;
  /* z-index: 21; */
}

.bioInfo{
  text-align:justify;
  font-size: 16px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  padding-left: 35px;
  padding-bottom: 15px;
  margin-bottom: 2px;
}

.bioInfo > a {
  font-size: 16px;
  color: #666;
}

.bioInfo > a:hover,
.bioInfo > a:focus {
  font-size: 16px;
  color: rgba(240,161,30,1);
}

.pubTitle{
    top: 0px;
    text-align: left;
    padding-left: 10px;
    border-left: 3px solid transparent;
    border-left-color: rgba(240,161,30,1);
}

.pubInfo{
    padding-top: 8px;
    padding-left: 15px;
    margin-bottom: 2px;
}

.pubLink > a {
  color: #555;
}

.pubLink > a:hover,
.pubLink > a:focus {
  /* color: rgba(255,117,0,.85); */
  color: rgba(240,161,30,1);
}

.pubLink{
    padding-left: 15px;
}

.projectDetail{
  text-align:justify;
  position:relative;
  top:10px;
  padding-left: 8px;
  color: #555;
}


.projectItem > li {
  display: inline-block;
}

.pubItem > li {
  display: inline-block;
}

.projectProfile{
  -webkit-box-shadow: 0px 0px 7px #999;
     -moz-box-shadow: 0px 0px 7px #999;
          box-shadow: 0px 0px 7px #999;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
}

.projectIntro {
  position: relative;
  top: 40px;
  padding-left: 40px;
  width: 70%;
  height: 140px;
}

.pubIntro {
  position: relative;
  top: 40px;
  padding-left: 20px;
  width: 100%;
  height: 140px;
}

.yearRange {
  padding-left: 8px;
  margin-top: 0px;
  color: #444;
}
.profile{
  -webkit-border-radius: 8px;
     -moz-border-radius: 8px;
          border-radius: 8px;
}

hr{
  margin-top: 4px;
  background-color:#555;
}

/* Project Detailed Page */
.projectTitle {
  font-size: 22px;
  text-align: left;
  font-family: 'PT Serif', serif;
  line-height:110%;
}
.projectMember {
  font-size: 16px;
  text-align: left;
  font-family: 'PT Serif', serif;
}
.projectMember > a:hover,
.projectMember > a:focus {
  font-size: 16px;
  font-family: 'PT Serif', serif;
  color: rgba(255,117,0,0.80);
}
.projectSubtitle {
  font-size: 19px;
  text-align: left;
  /* font-family: 'Lato', sans-serif; */
}
.projectSubSubtitle{
  font-size: 16px;
  text-align: left;
  padding-left: 20px;
  padding-bottom: 10px;
  padding-top: 10px;
  /* font-family: 'Lato', sans-serif; */
}
.projectArticle {
  text-shadow: 0 0px 0px rgba(0,0,0,0);
  padding-left: 50px;
  padding-top: 40px;
  width: 800px;
  height: auto;
}
.articleBody {
  font-size: 15px;
  width: 750px;
  padding-left:20px;
  word-wrap: break-word;
  text-align:justify;
  /* font-family: 'Lato', sans-serif; */
}

.articleBody > a:hover,
.articleBody > a:focus {
  color: rgba(255,117,0,0.80);
  /* font-family: 'Lato', sans-serif; */
}
.projectProfileDetail {
  -webkit-box-shadow: 0px 0px 7px #999;
     -moz-box-shadow: 0px 0px 7px #999;
          box-shadow: 0px 0px 7px #999;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;

}
.imageBlock {
  margin-left: auto;
  margin-right: auto;
  display: block;
  text-align: center;
  padding-top: 25px;
  padding-bottom:15px;

}

.framework {
  margin-left: auto;
  margin-right: auto;
  display: block;
  text-align: center;
  padding-top: 25px;
  padding-bottom:15px;
  box-shadow: 0 0 0 0 rgba(0,0,0,0);
}
.imageBlock > li  {
  display: inline-block;
}
.imageTitle {
  padding-top: 10px;
}
.imageMainTitle {
  padding-top: 0px;
}



/*
 * Footer
 */

.footer,
.aboutFooter,
.homeFooter,
.projectFooter,
.projectMainFooter {
  color: #555; /* IE8 proofing */
  color: rgba(100,100,100,.75);
}


/*
 * Affix and center
 */

@media (min-width: 868px) {
  /* Pull out the header and footer */
  .header {
    /* position: sticky; */
    position: fixed;
    z-index: 20;
    top: 0;
    background:rgba(255,255,255,1);
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 15px;
    /* box-shadow: 0 0 7px rgba(0,0,0,.5); */
  }

  .middle,
  .projectContent,
  .projectContentMain,
  .projectArticle {
    position: relative;
    text-align: left;
    top: 20px;
  }

  .aboutContent {
    position:fixed;
    /* position: relative; */
    text-align: left;
    padding-left: 30px;
    top: 15px;
    z-index:20;
  }

  .sideContent {
    position: relative;
    text-align: left;
    top: 15px;
    z-index: 11;
  }


  .footer {
    position: relative;
    text-align: left;
  }

  /* .homeFooter,
  .aboutFooter {
    position: fixed;
    top: 530px;
    text-align:left;
  } */
/* 
  .aboutFooter,
  .projectFooter{
    position: fixed;
    top: 680px;
    text-align:left;
  } */
  .projectMainFooter{
    position: relative;
    top: 65px;
    text-align:left;
  }
  .homeFooter{
    position: relative;
    padding-right: 25px;
    text-align:right;
  }
  /* Start the vertical centering */
  /*.site-wrapper-inner {
    vertical-align: top;
  }*/
  /* Handle the widths */
  .header,
  .footer,
  .aboutFooter,
  .projectFooter,
  .projectMainFooter,
  .content-container {
    width: 100%; /* Must be percentage or pixels for horizontal alignment */
  }
}

@media (min-width: 1168px) {
  .header,
  .footer,
  .aboutFooter,
  .projectFooter,
  .projectMainFooter,
  .content-container {
    width: 1168px;
  }
}

/*
 * Mobile Responsive Design
 */

/* Extra small devices (phones, less than 576px) */
@media (max-width: 575px) {
  h3 {
    font-size: 35px;
  }

  h5 {
    font-size: 14px;
  }

  .nav-right {
    margin-top: 10px;
    float: none !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .nav-right > li {
    display: block;
    font-size: 14px;
    width: 100%;
  }

  .nav-right > li > a {
    display: block;
    padding: 8px 5px !important;
    border-bottom: 1px solid #ddd;
    width: 100%;
  }

  .button {
    margin-right: 0 !important;
  }

  .project {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .about {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .resume {
    margin-left: 0 !important;
  }

  .inner {
    padding: 5px;
  }

  .header {
    position: static !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-bottom: 10px !important;
  }

  #home, #bio, #pub {
    scroll-margin-top: 10px !important;
  }

  .brand {
    margin-left: 0 !important;
    margin-top: 5px;
    margin-bottom: 10px;
    float: none !important;
  }

  .aboutContent {
    position: static !important;
    padding-top: 10px;
    width: 100%;
    height: auto;
    text-align: center;
  }

  .row {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .span2 {
    width: 100%;
  }

  .span8 {
    width: 100%;
    padding: 0 10px;
  }

  .sideContent {
    position: static !important;
    padding-left: 0 !important;
    padding-right: 0;
    width: 100%;
    z-index: auto !important;
    margin-top: 0;
  }

  .middle {
    padding: 0 10px;
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 24px;
  }

  #canvas-container,
  #sineCanvas {
    width: 100% !important;
    height: 200px !important;
  }

  .slogan {
    top: 0 !important;
    right: auto !important;
    position: static !important;
    width: 100% !important;
    font-size: 14px;
    margin-top: 15px;
    padding: 0 10px;
  }

  .slogan p {
    line-height: 1.4;
  }

  .projectContent,
  .projectContentMain,
  .projectArticle {
    position: static !important;
    padding-left: 10px !important;
    padding-right: 10px;
    padding-top: 10px;
    width: 100% !important;
    top: 0 !important;
  }

  .projectContent {
    height: auto !important;
  }

  .articleBody {
    width: 100% !important;
    padding-left: 0 !important;
    font-size: 14px;
    padding: 10px;
  }

  .projectBody,
  .projectBodyQR,
  .projectBodyInput,
  .projectPre,
  .projectBodyHand,
  .hobbyBody,
  .projectMainBody {
    height: auto !important;
  }

  .bioInfo {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 14px;
    padding-bottom: 10px;
  }

  .projectItem,
  .pubItem {
    position: static !important;
    top: 0 !important;
    height: auto !important;
    padding-left: 10px;
    padding-right: 10px;
  }

  .projectItem > li,
  .pubItem > li {
    display: block;
  }

  .projectIntro {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    padding-left: 0 !important;
  }

  .pubIntro {
    position: static !important;
    top: 0 !important;
    width: 100% !important;
    height: auto !important;
    padding-left: 10px;
    padding-right: 10px;
  }

  .projectProfile,
  .projectProfileDetail {
    max-width: 100%;
  }

  .imageBlock,
  .framework {
    padding-top: 15px;
    padding-bottom: 10px;
  }

  .imageBlock > li,
  .framework > li {
    display: block;
    margin-bottom: 15px;
  }

  .imageBlock img,
  .framework img {
    max-width: 100%;
    height: auto;
  }

  .personalInfo {
    padding-left: 0 !important;
    padding-top: 10px;
  }

  .aboutmename {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
  }

  .aboutmename > li {
    display: block;
  }

  .pinyin {
    font-size: 18px;
  }

  .chnname {
    height: auto;
    width: auto;
    max-width: 60px;
    padding-left: 0 !important;
  }

  .BasicInfo,
  .socialContact {
    font-size: 13px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .socialLink,
  .videoDemo {
    padding-left: 0 !important;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
  }

  .socialLink > li,
  .videoDemo > li {
    display: inline-block;
    padding: 3px;
  }

  .projectTitle {
    font-size: 18px;
  }

  .projectSubtitle {
    font-size: 16px;
  }

  .projectSubSubtitle {
    font-size: 14px;
    padding-left: 10px;
  }

  .projectYearHeader {
    font-size: 16px;
    padding-left: 10px;
  }

  .content {
    padding-bottom: 50px;
  }

  .footer,
  .aboutFooter,
  .homeFooter,
  .projectFooter,
  .projectMainFooter {
    text-align: center;
    position: static !important;
    padding: 20px 10px;
  }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767px) {
  h3 {
    font-size: 40px;
  }

  .nav-right {
    font-size: 14px;
  }

  .nav-right > li > a {
    padding-top: 8px !important;
    padding-bottom: 4px !important;
    font-size: 14px;
  }

  .header {
    position: static !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .brand {
    float: none !important;
  }

  .nav-right {
    float: none !important;
    display: flex;
    gap: 10px;
    justify-content: center;
  }

  .aboutContent {
    position: static !important;
    width: 100%;
    height: auto;
    padding-top: 20px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .sideContent {
    position: static !important;
    padding-left: 0 !important;
    width: 100%;
  }

  .middle {
    padding: 0 15px;
    margin-top: 30px;
  }

  #canvas-container,
  #sineCanvas {
    width: 100% !important;
    height: 250px !important;
  }

  .slogan {
    position: static !important;
    width: 100% !important;
    top: auto !important;
    right: auto !important;
    font-size: 16px;
    margin-top: 10px;
    padding: 0 15px;
  }

  .projectContent,
  .projectContentMain,
  .projectArticle {
    position: static !important;
    padding-left: 20px !important;
    padding-right: 20px;
    width: 100% !important;
    top: 0 !important;
  }

  .articleBody {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0;
    font-size: 14px;
  }

  .projectBody,
  .projectBodyQR,
  .projectBodyInput,
  .projectPre,
  .projectBodyHand,
  .hobbyBody,
  .projectMainBody {
    height: auto !important;
  }

  .bioInfo {
    font-size: 15px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .projectItem,
  .pubItem {
    position: static !important;
    top: 0 !important;
    height: auto !important;
  }

  .imageBlock > li,
  .framework > li {
    display: inline-block;
    margin: 10px;
  }

  .span8 {
    width: 100%;
  }
}

/* Medium devices (tablets, 768px and up) - adjust the existing layout */
@media (min-width: 768px) and (max-width: 867px) {
  .brand {
    float: left;
  }

  .nav-right {
    float: right;
    font-size: 16px;
  }

  .nav-right > li > a {
    font-size: 14px;
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  .button {
    margin-right: 8px !important;
  }

  .aboutContent {
    position: static !important;
    width: 100%;
    height: auto;
    padding-top: 80px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .sideContent {
    position: static !important;
    padding-left: 0 !important;
    width: 100%;
  }

  #canvas-container,
  #sineCanvas {
    width: 100% !important;
    max-width: 600px !important;
    height: 250px !important;
  }

  .slogan {
    position: static !important;
    width: 100% !important;
    top: auto !important;
    right: auto !important;
    font-size: 18px;
    margin-top: 15px;
  }

  .projectContent,
  .projectContentMain,
  .projectArticle {
    position: static !important;
    padding-left: 30px !important;
    padding-right: 30px;
    width: 100% !important;
    top: 0 !important;
  }

  .articleBody {
    width: 100% !important;
    padding-left: 0 !important;
  }

  .projectBody,
  .projectBodyQR,
  .projectBodyInput,
  .projectPre,
  .projectBodyHand,
  .hobbyBody,
  .projectMainBody {
    height: auto !important;
  }
}

/*
 * Activity Map (Contribution Grid)
 */

.activityMap {
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid #ddd;
  width: 190px;
}

.activityMapTitle {
  font-size: 14px;
  font-weight: bold;
  color: #555;
  margin-bottom: 12px;
  text-shadow: 0 0px 0px rgba(0,0,0,0);
}

.contributionGrid {
  display: flex;
  gap: 2px;
  flex-wrap: nowrap;
  justify-content: flex-start;
  width: 190px;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: flex-start;
  height: 106px;
}

.contributionSquare {
  width: 10px;
  height: 10px;
  border-radius: 1px;
  background-color: #f0f0f0;
  border: none;
  cursor: default;
  transition: background-color 0.3s ease;
  position: relative;
}

.contributionSquare.level0 {
  background-color: #f0f0f0;
}

.contributionSquare.level1 {
  background-color: #d0d0d0;
}

.contributionSquare.level2 {
  background-color: #a8a8a8;
}

.contributionSquare.level3 {
  background-color: #707070;
}

.contributionSquare.level4 {
  background-color: #909090;
}

.contributionSquare.levelOrange {
  background-color: rgba(255, 117, 0, 0.8);
}

/* Guestbook mode */
.contributionGrid.guestbookMode .contributionSquare {
  cursor: crosshair;
  transition: background-color 0.1s ease;
}

.contributionGrid.guestbookMode .contributionSquare:hover {
  background-color: #b8b8b8;
}

.guestbookActions {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  width: 190px;
  justify-content: flex-end;
}

.guestbookSave,
.guestbookCancel {
  font-size: 11px;
  padding: 3px 10px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  font-family: 'Sail', cursive;
  letter-spacing: 0.02em;
}

.guestbookSave {
  background-color: rgba(255, 117, 0, 0.75);
  color: #fff;
}

.guestbookSave:hover:not(:disabled) {
  background-color: rgba(255, 117, 0, 0.9);
}

.guestbookSave:disabled {
  opacity: 0.7;
  cursor: default;
}

.guestbookCancel {
  background-color: #e4e4e4;
  color: #555;
}

.guestbookCancel:hover {
  background-color: #d0d0d0;
}

/* Mobile responsive for activity map */
@media (max-width: 575px) {
  .contributionSquare {
    width: 8px;
    height: 8px;
  }

  .activityMapTitle {
    font-size: 12px;
    margin-bottom: 8px;
  }

  .contributionGrid {
    gap: 1px;
  }
}
