html,
body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.container {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

/* @media screen and (max-width: 1023px) {
  .container {
  }
}

@media screen and (max-width: 767px) {
  .container {
  }
} */

/* Home Page */

.fullpage, .columnPage {
  display: flex;
  flex: 0 0 auto;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.fullpage {
  background-image: url(../images/page-background.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}

.mobileTop {
  display: none;
}

.mobileMenu {
  display: none;
}

.row1,
.row2,
.row3 {
  display: flex;
  flex: 0 0 auto;
  flex-flow: row nowrap;
  justify-content: flex-end;
  align-content: center;
  align-items: center;
  width: 100%;
}

.row1 {
  height: 40%;
}

.row2,
.row3 {
  height: 30%;
}

.blockTitle {
  font-size: 40px;
  line-height: 1.25;
  padding: 0;
  margin: 0;
  font-weight: bold;
  text-align: center;
}

.blockText {
  font-size: 28px;
  line-height: 1.2;
  padding: 0;
  margin: 0;
}

.blockTitle,
.blockText {
  color: #fff;
}

.blockTitle.green,
.blockText.green {
  color: #199353;
}

.rowBlock {
  display: flex;
  flex: 0 0 auto;
  flex-flow: row wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  padding: 2.5%;
  margin: 0;
  transition: all ease 0.5s;
  transform-origin: center center;
}

.rowBlock:hover {
  transform: scale(1.07);
}

.homeLogo.rowBlock:hover {
  transform: scale(1);
}

.homeLogo {
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  width: 40%;
}

.homeLogo img {
  display: block;
  position: relative;
  width: 100%;
  max-width: 100%;
}

.summary {
  width: 60%;
  background-image: url(../images/bg-sysu.jpg);
}

.summary .blockTitle,
.summary .blockText {
  width: 100%;
  text-align: left;
}

.summary .blockText {
  margin: 20px 0 0 0;
}

.previousEvents {
  width: 20%;
  background-image: url(../images/bg-previous-events.jpg);
}

.introduction {
  width: 30%;
  background-image: url(../images/bg-intro.jpg);
}

.course {
  width: 20%;
  background-image: url(../images/bg-course.jpg);
}

.faculty {
  width: 30%;
  background-image: url(../images/bg-faculty.jpg);
}

.bbs {
  width: 20%;
  background-image: url(../images/bg-bulletin.jpg);
}

.schedule {
  width: 20%;
  background-image: url(../images/bg-schedule.jpg);
}

.faq {
  width: 40%;
  background-image: url(../images/bg-faq.png);
}

.registration {
  width: 20%;
  background-image: url(../images/bg-link.jpg);
}

.iconPreviousEvents img {
  width: 71px;
  height: 72px;
}

.iconIntroduction img {
  width: 72px;
  height: 72px;
}

.iconCourse img {
  width: 68px;
  height: 73px;
}

.iconFaculty img {
  width: 69px;
  height: 73px;
}

.iconBBS img {
  width: 78px;
  height: 78px;
}

.iconSchedule img {
  width: 74px;
  height: 71px;
}

.iconFAQ img {
  width: 72px;
  height: 71px;
}

.iconRegistration img {
  width: 70px;
  height: 70px;
}

.iconPreviousEvents,
.iconIntroduction,
.iconCourse,
.iconFaculty,
.iconBBS,
.iconSchedule,
.iconFAQ,
.iconRegistration {
  display: flex;
  flex: 0 0 auto;
  justify-content: center;
  width: 100%;
  margin: 0 0 16px 0;
}

@media screen and (max-width: 1439px) {
  .blockTitle {
    font-size: 36px;
  }

  .blockText {
    font-size: 24px;
  }
}

@media screen and (max-width: 1199px) {
  .blockTitle {
    font-size: 30px;
  }

  .blockText {
    font-size: 20px;
  }
}

@media screen and (max-width: 1023px) {
  .fullpage {
    height: auto;
  }

  .blockTitle {
    font-size: 28px;
  }

  .blockText {
    font-size: 18px;
  }
}

@media screen and (max-width: 767px) {
  .blockTitle {
    font-size: 24px;
  }

  .blockText {
    font-size: 16px;
  }
}

@media screen and (max-width: 600px) {
  .blockTitle {
    font-size: 20px;
  }

  .blockText {
    font-size: 14px;
  }  
}

/* Home Page - Mobile */

@media screen and (max-width: 1023px) {
  .mobileTop {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    width: 100%;
    height: 160px;
    padding: 30px 4%;
    margin: 0;
    background-color: #FFF;
    border-bottom: 1px solid #E5E5E5;
  }

  .mobileLogo {
    width: 60%;
    max-width: 360px;
  }

  .mobileLogo img {
    display: block;
    width: 100%;
  }

  .mobileMenuToggle {
    width: 64px;
    height: 54px;
  }

  .mobileMenuToggle img {
    display: block;
    width: 100%;
  }

  .mobileMenu {
    transition: all ease 0.5s;
    width: 0;
    visibility: 0;
    opacity: 0;
  }

  .mobileMenu.active {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    justify-content: flex-start;
    justify-items: flex-start;
    align-content: center;
    align-items: center;
    position: fixed;
    z-index: 100;
    background-color: rgba(255, 255, 255, 0.95);
    width: 100%;
    height: calc(100vh - 160px);
    padding: 0;
    margin: 160px 0 0 0;
    visibility: 1;
    opacity: 1;
  }

  .row1,
  .row2,
  .row3 {
    flex-flow: row wrap;
    justify-content: center;
    align-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: auto;
  }

  .rowBlock {
    padding: 5%;
  }

  .homeLogo {
    display: none;
  }

  .summary,
  .introduction,
  .faq,
  .registration {
    width: 100%;
    height: 50vw;
  }

  .course,
  .faculty,
  .bbs,
  .schedule {
    width: 50%;
    height: 50vw;
  }
}

@media screen and (max-width: 767px) {
  .mobileTop {
    height: 144px;
    padding: 24px 5%;
  }

  .mobileMenu.active {
    height: calc(100vh - 144px);
    margin: 144px 0 0 0;
  }

  .mobileLogo {
    max-width: 300px;
  }

  .mobileMenuToggle {
    width: 48px;
    height: 40px;
  }

  .iconPreviousEvents,
  .iconIntroduction,
  .iconCourse,
  .iconFaculty,
  .iconBBS,
  .iconSchedule,
  .iconFAQ,
  .iconRegistration {
    margin: 0 0 10px 0;
  }

  .iconPreviousEvents img {
    width: 36px;
    height: 36px;
  }

  .iconIntroduction img {
    width: 36px;
    height: 36px;
  }

  .iconCourse img {
    width: 34px;
    height: 36px;
  }

  .iconFaculty img {
    width: 34px;
    height: 36px;
  }

  .iconBBS img {
    width: 39px;
    height: 39px;
  }

  .iconSchedule img {
    width: 37px;
    height: 35px;
  }

  .iconFAQ img {
    width: 36px;
    height: 35px;
  }

  .iconRegistration img {
    width: 35px;
    height: 35px;
  }

  .summary .blockText {
    margin: 16px 0 0 0;
  }
}

@media screen and (max-width: 480px) {
  .mobileTop {
    height: 120px;
    padding: 16px 5%;
  }

  .mobileMenu.active {
    height: calc(100vh - 120px);
    margin: 120px 0 0 0;
  }

  .mobileLogo {
    max-width: 240px;
  }

  .mobileMenuToggle {
    width: 32px;
    height: 27px;
  }

  .summary .blockText {
    margin: 12px 0 0 0;
  }
}

@media screen and (max-width: 375px) {
  .mobileTop {
    height: 100px;
    padding: 12px 5%;
  }

  .mobileMenu.active {
    height: calc(100vh - 100px);
    margin: 100px 0 0 0;
  }

  .blockTitle {
    font-size: 18px;
  }

  .blockText {
    font-size: 12px;
  }
}

@media screen and (max-width: 319px) {
  .summary .blockTitle {
    display: none;
  }

  .summary .blockText {
    margin: 0;
  }
}

/* Column Pages */

.columnLeft {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  position: fixed;
  width: 25%;
  height: 100%;
  padding: 0;
  margin: 0;
  background-image: url(../images/column-background.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow-y: scroll;
}

.columnLeft::-webkit-scrollbar {
  width: 0;
}

.columnRight {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  position: relative;
  width: 75%;
  height: 100%;
  padding: 0;
  margin: 0 0 0 25%;
}

.columnLogo {
  display: flex;
  flex: 0 0 auto;
  justify-content: center;
  align-content: center;
  align-items: center;
  width: 100%;
  height: 270px;
  padding: 20px 20%;
  border-bottom: 1px solid #E5E5E5;
}

.logoLink {
  width: 100%;
}

.logoLink img {
  display: block;
  width: 100%;
  max-width: 100%;
}

.columnItem {
  display: flex;
  flex: 0 0 auto;
  flex-flow: column nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  width: 100%;
  height: 70px;
  border-bottom: 1px solid #E5E5E5;
  padding: 0 2.5%;
  text-align: center;
  font-size: 24px;
}

.columnItem.active {
  background-color: #199353;
  color: #FFF;
}

.contentWrap {
  display: flex;
  flex: 0 0 auto;
  flex-flow: column wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  width: 100%;
  min-height: 100vh;
}

h1.columnTitle {
  display: block;
  width: 100%;
  font-size: 64px;
  font-weight: bold;
  font-weight: 700;
  line-height: 1.5;
  margin: 24px 0;
}

h1.columnTitle, .content {
  padding: 0 2.5%;
}

.content p {
  font-size: 22px;
  line-height: 32px;
  font-weight: normal;
  font-weight: 400;
  width: 100%;
  padding: 0;
  margin: 0 0 32px 0;
}

.content p:last-child {
  margin-bottom: 0;
}

.content u, .content b, .content i, .content strong, .content em {
  font-size: 22px;
  line-height: 32px;
}

/* .content p, .content u, .content b, .content i, .content strong, .content em {
  display: contents;
} */

.content a {
  font-size: 22px;
  line-height: 32px;
  font-weight: normal;
  font-weight: 400;
  color: #199353;
  text-decoration: underline;
}

.content img {
  display: block;
  /* width: 100% !important;
  height: auto !important; */
  width: 100%;
  height: auto;
  max-width: 100%;
  padding: 0;
  margin: 0 auto;
}

.articleInfo {
  display: flex;
  flex: 0 0 auto;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  width: 95%;
  padding: 16px 0 24px 0;
  margin: 0 2.5%;
  border-bottom: 1px solid #E5E5E5;
}

h2.articleTitle {
  display: block;
  width: 100%;
  font-size: 32px;
  font-weight: bold;
  font-weight: 700;
  line-height: 1.5;
  color: #199353;
}

.publishDate {
  display: block;
  font-size: 26px;
  line-height: 40px;
  font-weight: normal;
  font-weight: 400;
  width: 100%;
  padding: 0;
  margin: 16px 0 0 0;
  color: #878787;
}

.articleList {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  width: 100%;
}

.articleItem {
  display: flex;
  flex: 0 0 auto;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: 96px;
  padding: 20px 18px;
  margin: 0 0 20px 0;
  border: 1px solid #D3D3D3;
}

.articleItemDate {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  background-color: #199353;
}

.articleItemDay {
  font-size: 24px;
  line-height: 1;
  padding: 0;
  margin: 0;
  color: #FFF;
}

.articleItemMonth {
  font-size: 12px;
  line-height: 1;
  padding: 0;
  margin: 6px 0 0 0;
  color: #FFF;
}

.articleItemTitle {
  display: flex;
  flex: 0 0 auto;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  width: calc(100% - 84px);
  height: 60px;
  overflow: hidden;
}

.articleItem .articleItemLink {
  width: 100%;
  max-height: 60px;
  font-size: 20px;
  line-height: 30px;
  color: #000;
  text-decoration: none;
}

.articleItem .articleItemLink:hover {
  color: #199353;
}

.content {
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  width: 100%;
  margin: 24px 0;
}

.facultyItem {
  display: flex;
  flex: 0 0 auto;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  width: 100%;
  padding: 0;
  margin: 0 0 50px 0;
}

.avatar {
  display: flex;
  flex: 0 0 auto;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
  width: 160px;
  margin: 0 30px 0 0;
}

.avatar .avatarPic {
  display: block;
  width: 100%;
}

.resume {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  width: calc(100% - 190px);
  padding: 0;
  margin: 0;
}

.resume p:last-child {
  margin-bottom: 0;
}

.footer {
  display: flex;
  flex: 0 0 auto;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-content: flex-end;
  align-items: flex-end;
  width: 100%;
  height: 192px;
  background-image: url(../images/bg-footer.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.footerContent {
  display: flex;
  flex: 0 0 auto;
  /* flex-flow: row nowrap; */
  justify-content: flex-start;
  align-content: flex-end;
  align-items: flex-end;
  width: 100%;
  height: 120px;
  padding: 0 2.5% 20px 2.5%;
  margin: 0;
}

.contactList {
  display: flex;
  flex: 0 0 auto;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: flex-end;
  align-items: flex-end;
  width: 30%;
  padding: 0;
  margin: 0 4% 0 0;
}

.contactList.last {
  flex-grow: 1;
  margin-right: 0;
}

.contactList span {
  width: 100%;
  font-size: 16px;
  line-height: 1.5;
  color: #FFF;
}

.qrCode {
  display: flex;
  flex: 0 0 auto;
  flex-flow: row wrap;
  justify-content: center;
  align-content: flex-end;
  align-items: flex-end;
  width: 132px;
  height: 172px;
}

.qrCodeImage {
  display: block;
  width: 100%;
}

.qrCodeText {
  width: 100%;
  font-size: 16px;
  color: #FFF;
  text-align: center;
  margin-top: 12px;
}

@media screen and (max-width: 1439px) {
  .columnLogo {
    height: 250px;
    padding: 0 15%;
  }

  .columnItem {
    height: 64px;
    font-size: 20px;
  }

  h1.columnTitle {
    font-size: 64px;
    margin: 24px 0;
  }
  
  .content p {
    margin: 0 0 28px 0;
  }

  .content p, .content a, .content u, .content b, .content i, .content strong, .content em {
    font-size: 18px;
    line-height: 28px;
  }
}

@media screen and (max-width: 1199px) {
  .columnLogo {
    height: 58px;
    height: 200px;
    padding: 0 12.5%;
  }

  .columnItem {
    font-size: 20px;
  }

  h1.columnTitle, .content {
    padding: 0 3%;
  }

  .articleInfo {
    width: 94%;
    padding: 12px 0 18px 0;
    margin: 0 3%;
  }

  .footerContent {
    padding: 0 3% 20px 3%;
  }

  .contactList {
    width: 35%;
    margin: 0 3% 0 0;
  }
}

@media screen and (max-width: 1023px) {
  h1.columnTitle {
    font-size: 40px;
    margin: 16px 0;
  }

  h1.columnTitle, .content {
    padding: 0 4%;
  }

  .content p {
    margin: 0 0 24px 0;
  }

  .content p, .content a, .content u, .content b, .content i, .content strong, .content em {
    font-size: 16px;
    line-height: 24px;
  }

  .articleInfo {
    width: 92%;
    padding: 8px 0 12px 0;
    margin: 0 4%;
  }

  h2.articleTitle {
    font-size: 28px;
  }
  
  .publishDate {
    font-size: 20px;
    line-height: 30px;
    margin: 8px 0 0 0;
  }

  .articleItem {
    height: 82px;
    padding: 18px 15px;
  }
  
  .articleItemDate {
    width: 52px;
    height: 52px;
  }
  
  .articleItemDay {
    font-size: 20px;
    padding: 0;
    margin: 0;
  }
  
  .articleItemMonth {
    font-size: 9px;
    padding: 0;
    margin: 6px 0 0 0;
  }
  
  .articleItemTitle {
    width: calc(100% - 72px);
    height: 52px;
  }
  
  .articleItem .articleItemLink {
    max-height: 52px;
    font-size: 18px;
    line-height: 26px;
  }

  .facultyItem {
    margin: 0 0 30px 0;
  }
  
  .avatar {
    width: 135px;
    margin: 0 20px 0 0;
  }
  
  .resume {
    width: calc(100% - 155px);
  }

  .columnLeft {
    display: none;
  }

  .columnRight {
    width: 100%;
    margin: 0;
  }

  .footer {
    align-content: center;
    align-items: center;
    height: 100px;
    background-image: url(../images/bg-footer-mobile.jpg);
  }

  .footerContent {
    align-content: center;
    align-items: center;
    height: auto;
    padding: 0 4%;
  }

  .contactList {
    width: 48%;
    margin: 0 4% 0 0;
  }
  
  .contactList span {
    font-size: 14px;
  }
  
  .qrCode {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  h1.columnTitle {
    font-size: 36px;
    margin: 12px 0;
  }

  .articleInfo {
    width: 92%;
    padding: 10px 0 16px 0;
    margin: 0 4%;
  }
  
  h2.articleTitle {
    font-size: 22px;
  }
  
  .publishDate {
    font-size: 16px;
    line-height: 20px;
    margin: 8px 0 0 0;
  }
  
  .content p {
    margin: 0 0 20px 0;
  }

  .content p, .content a, .content u, .content b, .content i, .content strong, .content em {
    font-size: 14px;
    line-height: 20px;
  }

  .content a {
    font-size: 14px;
    line-height: 20px;
  }

  .articleItem {
    height: 72px;
    padding: 15px 12px;
  }
  
  .articleItemDate {
    width: 48px;
    height: 48px;
  }
  
  .articleItemDay {
    font-size: 18px;
  }
  
  .articleItemMonth {
    font-size: 8px;
    margin: 5px 0 0 0;
  }
  
  .articleItemTitle {
    width: calc(100% - 66px);
    height: 48px;
  }
  
  .articleItem .articleItemLink {
    max-height: 48px;
    font-size: 16px;
    line-height: 24px;
  }

  .facultyItem {
    flex-wrap: wrap;
    margin: 0 0 30px 0;
  }
  
  .avatar {
    width: 100%;
    margin: 0 0 20px 0;
  }

  .avatar .avatarPic {
    width: 100%;
    max-width: 160px;
    margin: 0 auto;
  }
  
  .resume {
    width: 100%;
  }

  .footer {
    height: 90px;
  }

  .footerContent {
    padding: 0 4%;
  }

  .contactList span {
    font-size: 12px;
  }
}

@media screen and (max-width: 480px) {
  h1.columnTitle, .content {
    padding: 0 5%;
  }

  h1.columnTitle {
    font-size: 30px;
    margin: 12px 0;
  }

  .content p {
    margin: 0 0 16px 0;
  }

  .content p, .content a, .content u, .content b, .content i, .content strong, .content em {
    font-size: 11px;
    line-height: 16px;
  }

  .content a {
    font-size: 11px;
    line-height: 16px;
  }

  .articleInfo {
    width: 90%;
    padding: 8px 0 12px 0;
    margin: 0 5%;
  }
  
  h2.articleTitle {
    font-size: 18px;
  }
  
  .publishDate {
    font-size: 14px;
    line-height: 20px;
    margin: 8px 0 0 0;
  }

  .articleItem {
    height: 92px;
    padding: 16px 13px;
  }
  
  .articleItemDate {
    width: 66px;
    height: 66px;
  }
  
  .articleItemDay {
    font-size: 18px;
  }
  
  .articleItemMonth {
    font-size: 8px;
    margin: 6px 0 0 0;
  }
  
  .articleItemTitle {
    width: calc(100% - 82px);
    height: 66px;
  }
  
  .articleItem .articleItemLink {
    max-height: 66px;
    font-size: 14px;
    line-height: 22px;
  }

  .facultyItem {
    margin: 0 0 22px 0;
  }
  
  .avatar {
    margin: 0 0 15px 0;
  }
  
  .footer {
    height: 100px;
  }

  .footerContent {
    padding: 0 5%;
  }

  .contactList span {
    font-size: 9px;
  }
}

/* @media screen and (max-width: 319px) {

} */
