/*** ------------------ Giao diện tuỳ chỉnh cho website USSH ------------------- ***/
/*** ------- By Quang Huy Vu - vuquanghuy1998@gmail.com / huy@ussh.edu.vn ------ ***/
/*** ---------------------------- Date: 12/01/2020 ----------------------------- ***/

/*** --- Gọi font chữ từ Google Fonts --- ***/
@import url('https://fonts.googleapis.com/css2?family=Lobster&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap'); /* Font cho text thân bài của các bài longform */
/*** --- END: Gọi font chữ từ Google Fonts --- ***/

td, th {
  padding: 5px !important; /* Thêm space giữa text và border của các box trong bài viết */
}

/*** ------ Custom Styles - Block hiển thị grid menu của trang Sinh viên ------- ***/
/*** --------------------------- Giao diện Desktop ----------------------------- ***/
.student-cats .cat-item-inner h3 {
  font-size: 26px !important;
  line-height: 1.5em !important;
}

.student-cats .cat-item-inner h3 a {
  font-size: 26px !important;
  text-shadow: none !important;
  line-height: 1.5em !important;
}

.student-cats .cat-item-inner h3 a:hover {
  text-shadow: none !important;
  color: #ffffff !important;
  font-size: 28px !important;
  line-height: 1.5em !important;
}

/*** --------------------------- Giao diện Mobile ------------------------------ ***/
@media only screen and (max-width: 768px) {
.student-cats .cat-item-inner h3 {
  font-size: 20px !important;
  line-height: 1.5em !important;
}

.student-cats .cat-item-inner h3 a {
  font-size: 20px !important;
  text-shadow: none !important;
  line-height: 1.5em !important;
}

.student-cats .cat-item-inner h3 a:hover {
  text-shadow: none !important;
  color: #ffffff !important;
  font-size: 22px !important;
  line-height: 1.5em !important;
}
}
/*** ---- END: Custom Styles - Block hiển thị grid menu của trang Sinh viên ---- ***/

.home-news-student .item-first h3 a {
  font-size: 115% !important;
}

.home-events-news .item-first h3 a {
  font-weight: 700 !important;
  font-size: 105% !important;
}

div.news_column h3 a {
  font-size: 15px !important;
}

.news_column .panel-body {
  line-height: 1.5em !important;
}

.news_column .text-muted {
  padding: 5px 0 5px 0 !important;
}

div.news_column .imghome {
    margin: 5px 10px 10px 0 !important;
}

.list-group .list-group-item-heading {
    font-size: 15px !important;
    padding: 15px 5px 5px 5px !important;
    border-bottom: 1px solid lightgrey !important;
}

.relatedcat_title {
    border: solid 1px #d72533 !important;
    border-radius: 1px !important;
    padding: 5px !important;
}

.top-bar-site .top-bar-user {
    display: none !important; /* Ẩn link Đăng nhập trên top menu của site */
}

.top-bar-menu .ussh-menu-awesome-icon li:first-child:before {
    display: none !important; /* Ẩn dấu sổ dọc (|) trước mục đầu tiên của top menu */
}

#videoDetail h1 { /* Styles cho tiêu đề video - trang xem video chi tiết */
    font-size: 20px !important;
    padding-bottom: 10px !important;
}

.videoInfo .bodytext {
    font-weight: normal !important; /* Không in đậm toàn bộ text phần mô tả chi tiết video */
}

/*** Module Văn bản ***/
.list-unstyled li {
	padding-bottom: 10px;
}
/*** END: Module Văn bản ***/

/*** Làm cho các iframe nhúng (video YouTube, tài liệu Google Drive, v.v... trở nên responsive ***/
.video-embedded-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}

.document-embedded-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 141.43%; /* 21:29.7 (A4 Paper Size) Aspect Ratio (divide 29.7 by 21 = 1.4142857) */
}

/* Then style the iframe to fit in the container div with full height and width */
.responsive-iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
/*** END: Responsive iframe for embedded YouTube, Google Drive, etc ***/

.widget-default .home-lastest-news .row {
    height: 390px;
    overflow: auto;
	margin-bottom: 20px;
	scroll-snap-type: y proximity;
	scroll-behavior: smooth;
}

.widget-default .home-lastest-news .row .item:nth-child(3n+1){
	scroll-snap-align: start;
}

.widget-default .home-lastest-news .row::-webkit-scrollbar-track
{
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	border-radius: 4px; /** Default: border-radius: 10px; **/
	background-color: #F5F5F5;
}

.widget-default .home-lastest-news .row::-webkit-scrollbar
{
	width: 6px; /** Default: width: 12px; **/
	background-color: #F5F5F5;
}

.widget-default .home-lastest-news .row::-webkit-scrollbar-thumb
{
	border-radius: 4px; /** Default: border-radius: 10px; **/
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
	background-color: #606060 /** Default: background-color: #D62929; **/
}

.home-events-news .item-first .thumb {
        background-position: top center !important;
}

/*** ---------- Styles cho các bài viết dạng longform (e-magazine) ---------- ***/
/* Ảnh cover đầu bài viết */
@media only screen and (min-width: 768px) {
.longform .photo-cover-top-section-mobile { /* Ẩn ảnh cover top mobile nếu truy cập từ desktop */
	display: none !important;
}
}

@media only screen and (max-width: 767px) { /* Ẩn ảnh cover top desktop nếu truy cập từ mobile */
.longform .photo-cover-top-section-desktop {
	display: none !important;
}
}

.longform img.photo-cover-top { /* Styles cho ảnh cover top của bài viết */
	width: 100%;
    height: auto;
    padding-bottom: 0;
    -webkit-transition: padding 0.5s;
    transition: padding 0.5s;
}

/* Styles cho phần text chính của bài */
.longform .article-body > p {
	width: 100% !important;
    max-width: 660px;
    margin: 18px auto !important;
    float: none;
	font-family: 'Noto Serif';
	font-size: 17px;
	line-height: 1.7em;
	color: #000000;
	margin: 20px auto 0px auto !important;
}

.longform .article-body {
	width: 100%;
	margin: 0;
}

/* END: Styles cho phần text chính của bài */

.longform p.sapo-lead {
	font-weight: 700;
}

.longform img {
	width: 100%;
	height: auto;
}

.longform img.full-width {
	width: 100% !important;
	height: auto;
	margin: 20px auto !important;
}

.longform .heading-extended-section-desktop {
	/* margin: 0px -80px 0px -80px !important; */
	width: 100% !important;
	max-width: 720px !important;
	margin: 20px auto !important; 
	clear: both !important;
}

@media only screen and (max-width: 767px) {
.longform .heading-extended-section-desktop {
	display: none !important;
}
}

@media only screen and (min-width: 768px) {
.longform .heading-extended-section-mobile {
	display: none !important;
}
}

.longform .article-body>p img[style*="right"], .longform .article-body>p img[align="right"] {
    width: auto !important;
    height: auto !important;
    max-width: 70% !important; /* Old value: 480px */
    float: right;
    margin-right: -20% !important; /* Old value: -200px */
    margin-left: 30px !important;
    margin-bottom: 16px !important;
}

.longform .article-body>p img[style*="left"], .longform .article-body>p img[align="left"] {
    width: auto !important;
    height: auto !important;
    max-width: 70% !important; /* Old value: 480px */
    float: left;
    margin-left: -20% !important; /* Old value: -200px */
    margin-right: 30px !important;
    margin-bottom: 16px !important;
}

@media only screen and (max-width: 767px) {
.longform .article-body>p img, .longform .article-body>p img[style*="right"], .longform .article-body>p img[align="right"], .longform .article-body>p img[style*="left"], .longform .article-body>p img[align="left"] {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}
}

/*** TIMELINE ***/
 .timeline h1 {
	 font-size: 200%;
	 text-transform: uppercase;
	 letter-spacing: 3px;
	 font-weight: 400;
}
 .timeline header {
	 background: #3f51b5;
	 color: #fff;
	 padding: 150px 0;
}
 .timeline header p {
	 font-family: "Allura";
	 color: rgba(255, 255, 255, 0.2);
	 margin-bottom: 0;
	 font-size: 60px;
	 margin-top: -30px;
}
 .timeline {
	 position: relative;
}
 .timeline::before {
	 content: "";
	 background: #c5cae9;
	 width: 5px;
	 height: 95%;
	 position: absolute;
	 left: 50%;
	 transform: translateX(-50%);
}
 .timeline .timeline-item {
	 width: 100%;
	 margin-bottom: 70px;
}
 .timeline .timeline-item:nth-child(even) .timeline-content {
	 float: right;
	 padding: 40px 30px 10px 30px;
}
 .timeline .timeline-item:nth-child(even) .timeline-content .date {
	 right: auto;
	 left: 0;
}
 .timeline .timeline-item:nth-child(even) .timeline-content::after {
	 content: "";
	 position: absolute;
	 border-style: solid;
	 width: 0;
	 height: 0;
	 top: 30px;
	 left: -15px;
	 border-width: 10px 15px 10px 0;
	 border-color: transparent #f5f5f5 transparent transparent;
}
 .timeline .timeline-item::after {
	 content: "";
	 display: block;
	 clear: both;
}
 .timeline .timeline-content {
	 position: relative;
	 width: 45%;
	 padding: 60px 30px 10px 30px;
	 border-radius: 4px;
	 background: #f5f5f5;
	 box-shadow: 0 20px 25px -15px rgba(0, 0, 0, 0.3);
}
 .timeline .timeline-content::after {
	 content: "";
	 position: absolute;
	 border-style: solid;
	 width: 0;
	 height: 0;
	 top: 30px;
	 right: -15px;
	 border-width: 10px 0 10px 15px;
	 border-color: transparent transparent transparent #f5f5f5;
}
 .timeline .timeline-img {
	 width: 30px;
	 height: 30px;
	 background: #3f51b5;
	 border-radius: 50%;
	 position: absolute;
	 left: 50%;
	 margin-top: 25px;
	 margin-left: -15px;
}
 .timeline a {
	 background: #3f51b5;
	 color: #fff;
	 padding: 8px 20px;
	 text-transform: uppercase;
	 font-size: 14px;
	 margin-bottom: 20px;
	 margin-top: 10px;
	 display: inline-block;
	 border-radius: 2px;
	 box-shadow: 0 1px 3px -1px rgba(0, 0, 0, 0.6);
}
 .timeline .timeline-card {
	 padding: 0px 0px 10px 0px !important;
}
 .timeline .timeline-card p {
	 padding: 0 20px;
}
 .timeline .timeline-card a {
	 margin-left: 20px;
}
 .timeline .timeline-item .timeline-img-header {
	 background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4)), url("https://picsum.photos/1000/800/?random") center center no-repeat;
	 background-size: cover;
}
 .timeline .timeline-img-header {
	 height: 200px;
	 position: relative;
	 margin-bottom: 20px;
}
 .timeline .timeline-img-header h2 {
	 background: linear-gradient(to bottom, rgba(255,0,0,0), rgba(69,69,69,0.8));
         color: #fff;
	 position: absolute;
         bottom: 5px;
	 padding: 8px 6px 6px 12px;
}
 .timeline blockquote {
	 margin-top: 30px;
	 color: #757575;
	 border-left-color: #3f51b5;
	 padding: 0 20px;
}
 .timeline .date {
	 background: #ff4081;
	 display: inline-block;
	 color: #fff;
	 padding: 10px;
	 position: absolute;
	 top: 0;
	 right: 0;
}
 @media screen and (max-width: 768px) {
	 .timeline::before {
		 left: 50px;
	}
	 .timeline .timeline-img {
		 left: 50px;
	}
	 .timeline .timeline-content {
		 max-width: 100%;
		 width: auto;
		 margin-left: 70px;
	}
	 .timeline .timeline-item:nth-child(even) .timeline-content {
		 float: none;
	}
	 .timeline .timeline-item:nth-child(odd) .timeline-content::after {
		 content: "";
		 position: absolute;
		 border-style: solid;
		 width: 0;
		 height: 0;
		 top: 30px;
		 left: -15px;
		 border-width: 10px 15px 10px 0;
		 border-color: transparent #f5f5f5 transparent transparent;
	}
}

.bodytext figure.article-image, .bodytext figure.image {
	 display: table;
         margin: 10px auto 15px auto;
         padding: 0px;
	 position: inherit;
	 float: none;
}

.bodytext figure.article-image figcaption, .bodytext figure.image figcaption {
         display: table-caption;
         caption-side: bottom;
	 background: #e6e6e6;
	 color: #363636;
	 font-size: 12px;
         font-style: italic;
         line-height: 1.7em;
         margin: 0px;
	 padding: 10px 15px;
	 text-align: center;
	 width: 100%;
}

.flex-table-laws .c-code {
	 word-break: break-all;
         overflow-wrap: break-word;
}

.adaptive-table {
  border: 1px solid #ccc;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
}

.adaptive-table tr {
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  padding: .35em;
}

.adaptive-table th,
.adaptive-table td {
  border: 1px solid #ddd;
  padding: .625em;
}

@media screen and (max-width: 600px) {
.adaptive-table {
	 border: 0;
}

.adaptive-table tr {
    border-bottom: 3px solid #ddd;
    display: block;
    margin-bottom: .625em;
}

.adaptive-table td {
    border: 0;
    border-bottom: 1px solid #ddd;
    display: block;
    font-size: .8em;
    text-align: right;
  }

.adaptive-table tbody:first-of-type {
	 border: none;
	 clip: rect(0 0 0 0);
	 height: 1px;
	 margin: -1px;
	 overflow: hidden;
	 padding: 0;
	 position: absolute;
	 width: 1px;
}

.adaptive-table td::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    text-transform: uppercase;
}

.adaptive-table td.long-text:before {
    padding-right: 20px;
    padding-bottom: 30px;
}

.adaptive-table td.no-content {
    display: none;
}

.adaptive-table td:last-child {
    border-bottom: 0;
}
}

@media screen and (max-width: 600px) {
.work-calendar tr.date-desktop { display: none; }
.work-calendar tr.date-mobile { padding: 0; }
.work-calendar td[data-type="date"] {
     text-align: center !important;
     background: #0072A9;
     color: #FFFFFF;
     font-weight: 700;
}

.work-calendar tr.mb0 { margin-bottom: 0px !important; }
}

@media screen and (min-width: 601px) {
.work-calendar tr.date-mobile { display: none; }
.work-calendar th, .work-calendar td { text-align: center; }
.work-calendar td[data-type="date"] { background: #0072A9; color: #FFFFFF; font-weight: 700; }
.work-calendar td[data-type="time"] { font-weight: 700; }
.work-calendar td[data-type="contents"], .work-calendar td[data-type="participants"] { text-align: left !important; }
}

.mname-home .widget-default .home-lastest-news .rows {
    height: auto !important;
}

.mname-home .widget-default .home-lastest-news .rows .item:nth-child(n+3) .thumb {
    display: none !important;
}

.mname-home .widget-default .home-lastest-news .rows .item:nth-child(n+3) h3 {
    position: relative;
    padding-left: 15px;
}

.mname-home .widget-default .home-lastest-news .rows .item:nth-child(n+3) h3:before {
    font-family: 'FontAwesome';
    content: "\f101";
    position: absolute;
    top: 0;
    left: 0;
}

.mname-home .widget-default .home-lastest-news .rows .item:nth-child(n+3) .htext {
    display: none !important;
}

.mname-home .widget-default .home-lastest-news .item {
    margin-bottom: 5px !important;
}

.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}

.bodytext a {
     word-break: break-word;
}
.home-lastest-news .item .thumb, .home-news-student .item-first .thumb {
background-size: cover !important;
}