@charset"utf-8";
:root {
  --linkFontColor: #404040;
  --defaultFontColor: #404040;
	--ChulaFontColor: #B43B6B;
  --ChulaFontColor2: #CF658D;
  --Teal:#008080;
  --MoreGray: #434343;
}
* {
	padding: 0;
	margin: 0;
	border: 0;
	outline: none;
}
*:focus {
    box-shadow: none !important;
}
html, body {
  height: 100%;
}
html {
  overflow-y: scroll;
}
body {
	font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--defaultFontColor);
	background-color: white;
}
img, div, p, input, section {
	box-sizing: border-box;
	display: block;
	min-height: 1px;
}
p, div {
	word-wrap: break-word;
	word-break: break-word;
}
textarea {
  resize: none;
}
span {
	white-space: nowrap;
}
a {
	text-decoration: none;
	color: var(--defaultFontColor);
}
a:hover {
	text-decoration: underline;
	color: var(--ChulaFontColor);
}
/*--- structure ---*/
#section-header-mobile {
  display: none;
  background: linear-gradient(90deg, #ffffff 50%, #DE5C8E 50%);
}
.page-header {
  width: 100vw;
	height: 158px;
	background-position: right top;
	background-repeat: no-repeat;
}
.page-body {
  width: 100vw;
	height: auto;
  min-height: calc(100vh - 317px);
}
.page-slide {
  width: 100vw;
	height: auto;
}
.page-footer {
  width: 100vw;
	height: auto;
	background-color: var(--ChulaFontColor);
}

/*--- specific bg ---*/
.bg-culitest {
	background-color: #F6EFEE !important;
}
/*--- header ---*/
.text-link:hover {
	color: var(--ChulaFontColor);
	text-decoration: underline;
}
.text-link-active {
	color: var(--ChulaFontColor);
}
.header-logo {
	width: 100%;
	height: 100px;
}
.header-logo-img {
	height: 0;
	min-height: 75%;
}
.header-navigation {
	height: 50px;
	background-color: #DE5C8E;
	box-shadow: 0px 5px 11px -5px rgba(0,0,0,0.30);
	position: relative;
	z-index: 10;
}
.header-navigation-list {
	list-style-type: none;
	padding: 0;
  margin: 0;
	display:flex;
	align-items: right;
	justify-content: center;
	gap: 60px;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.5;
}
.header-navigation-list li {
	display: inline-block;
}
.header-navigation-separator {
	width: 1px;
	background-color: ghostwhite;
}
.header-navigation-icon {
	font-size: 0.625rem;
	margin-left: 4px;
}
.header-icon {
	display: inline-block;
	color: #C13F65;
}
.header-icon img {
	width: 1.125rem;
}
/*--- search box ---*/
.search-box-input {
	width: 100%;
	height: 24px;
	border: none;
	font-size: 0.8125rem;
	line-height: 0.8;
	color: grey;
	background-color: transparent;
}
.search-box-left {
	width: 15px;
	height: 24px;
	border-radius: 10px 0px 0px 10px;
	border: 1px solid lightgray;
	background-color: white;
	color: darkgray;
	font-size: 0.875rem;
	border-right: none;
}
.search-box-body {
	width: 150px;
	height: 24px;
	border: 1px solid lightgray;
	border-left: none;
	border-right: none;
	background-color: white;
}
.search-box-right {
	width: 15px;
	height: 24px;
	border-radius: 0px 10px 10px 0px;
	border: 1px solid lightgray;
	background-color: white;
	color: darkgray;
	font-size: 0.875rem;
	border-left: none;
}
/*--- float menu ---*/
.float-menu {
	position: absolute;
	top: 0;
	z-index: 10;
}
.float-menu-content {
	position: relative;
	width: 100%;
	border-radius: 10px 10px 10px 10px;
	border: 1px solid palevioletred;
	background-color: white;
}
.float-menu-triangle {
	position: absolute;
	top: -8px;
	left: 25px;
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid palevioletred;
}
.float-menu-inner-triangle {
	position: absolute;
	top: 2px;
	left: -9px;
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid white;
	z-index: 10;
}
.head-submenu {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.5;
	color: #C13F65;
}
.head-submenu a {
	color: #C13F65;
}
.body-submenu {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: dimgrey;
}
.body-submenu a {
	color: dimgrey;
}
.body-submenu a:hover {
  color: var(--ChulaFontColor);
}
.submenu-border {
	border-bottom: 1px dashed gainsboro;
}
/*--- footer ---*/
.footer-logo {
	width: 200px;
  height: auto;
}
.footer-logo img {
	width: 100%;
  height: auto;
}
.head-footer {
	font-size: 1.125rem;
	font-weight: 600;
	color: white;
}
.body-footer {
	font-size: 1rem;
	font-weight: 400;
	color: ghostwhite;
}
.text-link-white:hover {
	color: ghostwhite;
	text-decoration: underline;
}
.social-text {
  font-size: 0.8125rem;
}
.social-icon {
  font-size: 1.5rem;
}
/*--- Slide show ---*/
.slideshow-image {
  height: calc(100vh - 158px);
	background-color: white;
	background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
/*--- background ---*/
.gd-background {
  background-image: linear-gradient(to right, #EDEDED, #ffffff 40%);
}
/*--- index ---*/
.section-service {
  //background-image: linear-gradient(to right, #DADADA, #ffffff);
  background-image: linear-gradient(to bottom, CadetBlue, #FBFBFC);
}
.section-name {
	color: var(--ChulaFontColor);
	font-size: 1.875rem;
	font-weight: 700;
	display: inline-block;
}
.section-icon {
	color: var(--ChulaFontColor);
	font-size: 1.5625rem;
	font-weight: 600;
	display: inline-block;
}
/*--- service ---*/
.service-border-width {
  border-width: 5px;
}
.service-item {
	width: 33.33%;
}
.service-box {
	width: 40%;
}
.service-circle-item {
	padding-right: 100%;
	padding-top: 100%;
	border-radius: 50%;
	background-color: white;
	background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
	display: inline-block;
}
.service-item-name {
	font-size: 1.25rem;
	line-height: 1.2;
	font-weight: 600;
	color: dimgray;
}
.section-more a {
	font-size: 0.875rem;
	font-weight: 500;
	color: dimgrey;
	text-decoration: underline;
}
.section-more a:hover {
	color: palevioletred;
}
/*--- news section ---*/
.section-news {
  background-image: linear-gradient(to bottom, #CF658D, #FBFBFC);
}
/*--- article box ---*/
.article-item {
	width: 25%;
}
.article-box {
	width: 100%;
	margin-left: 15px;
	margin-right: 15px;
	background-color: #ffffff;
	border: 1px solid Gainsboro;
}
.article-square-item {
	height: auto;
	padding-bottom: 75%;
	background-color: white;
	background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.article-round-box {
	width: 100%;
	margin-left: 15px;
	margin-right: 15px;
  border-radius: 15px 15px 0px 0px;
	background-color: #ffffff;
	border: 1px solid Gainsboro;
}
.article-round-square-item {
	height: auto;
	padding-bottom: 75%;
  border-radius: 15px 15px 0px 0px;
	background-color: white;
	background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.article-item-name {
	background-color: white;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.4;
}
.article-item-name2 {
	background-color: white;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.4;
}
.article-item-date {
	font-size: 0.875rem;
	font-weight: 400;
	color: OrangeRed;
}
.readmore:hover {
	text-decoration: underline;
}
.readmore-chula:hover {
	text-decoration: underline;
  color: var(--ChulaFontColor);
}
/*--- page ---*/
.default-background {
  background-color: var(--MoreGray);
  height: auto;
}
.page-navigator {
  font-size: 0.875rem;
	font-weight: 600;
  color: white;
}
.page-navigator a {
  color: white;
  text-decoration: none;
}
.page-navigator a:hover {
  text-decoration: underline;
}
.page-navigator-active {
  text-decoration: underline;
}
.page-name {
  color: white;
  text-align: left;
}
.page-name h1 {
  font-size: 2.5rem;
  font-weight: 500;
	line-height: 1.5;
}
.page-data {
  //background-color: white;
}
.paging-icon {
  width: 25px;
  height: 25px;
  text-align: center;
  border-radius: 50%;
  background-color: grey;
  font-size: 0.875rem;
  font-weight: 700;
  color: white;
}
.paging-icon-active {
  width: 25px;
  height: 25px;
  text-align: center;
  border-radius: 50%;
  background-color: var(--ChulaFontColor);
  font-size: 0.875rem;
  font-weight: 700;
  color: white;
}
.page-menu-left {
  font-size: 1.125rem;
	font-weight: 600;
  color: dimgray;
  padding-left: 10px;
}
.page-menu-left-active {
  font-size: 1.125rem;
	font-weight: 600;
  color: var(--ChulaFontColor2);
  padding-left: 10px;
}
.page-dashed-line {
  border-bottom: 1px dashed Silver;
  height: 1px;
}
.page-menu-left a {
  color: dimgray;
}
.page-menu-left-active a {
  color: var(--ChulaFontColor2);
}
.page-menu-left a:hover {
  color: var(--ChulaFontColor2);
}
/*--- detail ---*/
.page-data-detail {
  width: 100%;
  //background-color: white;
}
.page-data-right {
  width: 300px;
}
.page-data-left {
  flex: 1;
}
.page-name-detail {
  color: white;
  text-align: left;
}
.page-name-detail h3 {
  font-size: 1.5625rem;
  font-weight: 300;
	line-height: 1.2;
}
.page-name-detail h1 {
  font-size: 2.1875rem;
	line-height: 1.2;
}
.page-date-detail {
  color: white;
  font-size: 1rem;
  font-weight: 600;
}
.img-box {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.img-caption-box {
  width: 100%;
  font-family: 'Sarabun', sans-serif;
  font-size: 0.875rem;
  color: dimgrey;
  text-align: center;
  line-height: 1.2;
}
.subject-box {
  width: 100%;
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  color: var(--ChulaFontColor);
  font-size: 1.5625rem;
  font-weight: 400;
	line-height: 1.5;
}
.subject-box-underline {
  width: 100%;
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  color: var(--defaultFontColor);
  font-size: 1.5625rem;
  font-weight: 600;
	line-height: 1.5;
  border-bottom: 2px solid var(--ChulaFontColor);
  display: inline;
}
.detail-box {
  width: 100%;
  font-family: 'Sarabun', sans-serif;
  color: var(--defaultFontColor);
  font-size: 1.125rem;
  font-weight: 200;
	line-height: 1.7;
}
.detail-box p {
  padding-bottom: 10px;
}
.file-box {
  width: 20px;
}
.file-caption-box {
  flex: 1;
  font-size: 1.125rem;
}
.file-caption-box a {
  color: var(--linkFontColor);
}
.file-caption-box a:hover {
  color: var(--ChulaFontColor);
  text-decoration: underline;
}
.page-list-box-head {
  width: 100%;
  color: var(--ChulaFontColor);
  font-size: 1.4375rem;
  font-weight: 600;
}
.page-list-box {
  width: 100%;
  border-bottom: 1px dashed gainsboro;
}
.page-list-box-thumb {
  width: 80px;
}
.page-list-box-text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  color: dimgrey;
}
.page-list-box-date {
  font-size: 0.875rem;
	font-weight: 400;
	color: OrangeRed;
}
.youtube-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
	background-color: #ffffff;
}
.youtube-video {
	position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*--- staff ---*/
.staff-item {
	width: 25%;
}
.staff-item-3 {
	width: 33.33%;
}
.staff-box {
	width: 100%;
	margin-left: 30px;
	margin-right: 30px;
}
.staff-box-item {
	height: auto;
	padding-bottom: 125%;
	background-color: white;
	background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  border: 1px solid Gainsboro;
}
.staff-name {
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--ChulaFontColor2);
  line-height: 1.3;
}
.staff-position {
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: dimgray;
  line-height: 1.4;
}
.staff-contact {
  width: 100%;
  font-family: 'Sarabun', sans-serif;
  font-size: 0.875rem;
  color: darkgray;
  text-align: center;
  line-height: 1.6;
}
.staff-name-detail {
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  font-size: 2.1875rem;
  font-weight: 600;
  color: var(--ChulaFontColor2);
  line-height: 1.3;
}
.staff-position-detail {
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  color: dimgray;
  line-height: 1.4;
}
.staff-contact-detail {
  width: 100%;
  font-family: 'Sarabun', sans-serif;
  font-size: 0.875rem;
  color: darkgray;
  text-align: center;
  line-height: 1.6;
}
.staff-contact p {
  margin: 0;
  padding: 0;
}
.staff-background {
  background-color: #F1F3F5;
}
.staff-box-detail {
  width: 250px;
}
.page-headline {
  width: 100%;
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  color: var(--MoreGray);
  font-size: 1.4375rem;
  font-weight: 500;
	line-height: 1.5;
}
.page-headline-sm {
  width: 100%;
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  color: var(--MoreGray);
  font-size: 1.25rem;
  font-weight: 500;
	line-height: 1.5;
}
.page-headline-text {
  display: inline-block;
  border-bottom: 2px solid var(--ChulaFontColor2);
}
.date-column {
  width: 180px;
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  color: var(--ChulaFontColor);
  line-height: 1.6;
}
.subject-column {
  flex: 1;
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
}
.subject-pink-column {
  flex: 1;
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--ChulaFontColor2);
}
.detail-column {
  flex: 1;
  font-family: 'Noto Sans', 'Noto Sans Thai', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
  color: dimgray;
}
.detail-column p {
  padding-bottom: 5px;
}
/*--- sign in ---*/
.page-signin-left {
  width: 40%;
  max-width: 500px;
}
.page-signin-right {
  flex: 1;
}
.signin-image {
  width: 100%;
  height: auto;
  padding-top: 100%;
  background-color: white;
	background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  border: solid 1px gainsboro;
  border-radius: 25px;
}
.signin-box {
  width: 100%;
  max-width: 575px;
  height: auto;
}
.inputbox {
  width: 100%;
  background: transparent;
  border: 1px solid gainsboro;
  color: dimgrey;
}
.alert-link {
  color: dodgerblue;
  cursor: pointer;
  text-decoration: underline;
}
.signin-link {
  font-size: 0.8125rem;
  color: dodgerblue;
}
.signin-link a {
  color: dodgerblue;
}
.signup-link {
  font-size: 0.8125rem;
  color: grey;
}
.signup-link a {
  color: dodgerblue;
}
.image-profile {
  width: 150px;
  height: 150px;
  border: 1px solid gainsboro;
  background-color: white;
	background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.image-profile-large {
  width: 180px;
  height: 180px;
  border: 1px solid gainsboro;
  background-color: white;
	background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.prefix {
  width: 110px;
  height: 35px;
  color: dimgrey;
  margin-top: 3px;
}
.prefix-other {
  width: 110px;
  color: dimgrey;
}
.signin_button {
  width: 170px;
}
.signin_button img {
  margin-left: auto;
  margin-right: auto;
}
.app-circle-icon {
	height: 30px;
  width: 30px;
  border: 1px solid lightgrey;
  border-radius: 50%;
  display: inline-block;
	background-color: whitesmoke;
	margin-top: -3px;
	color: darkgray;
	align-items: center;
  justify-content: center;
	background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.app-circle-icon:hover {
	color: gray;
}
.app-name-icon {
	font-size: 0.875rem;
	line-height: 1.2;
	margin-top: 5px;
}
.profile-name {
  font-size: 1.1875rem;
  font-weight: 600;
}
.image-icon {
  width: 20px;
}
.culitest-schedule {
  min-height: 50px;
}
.app-image-button {
	color: firebrick;
	position: relative;
  float: right;
	top: 2px;
	right: 6px;
	font-size: 1.25rem;
	cursor: pointer;
}
/*--- payment ---*/
.qr-box {
  width: 100%;
}
.qr-box img {
  width: 100%;
}
.qr-header-name {
  font-weight: bold;
  font-size: 1rem;
}
.qr-header {
  font-weight: bold;
  font-size: 0.875rem;
}
.qr-body {
  font-weight: default;
  font-size: 0.875rem;
}
.qr-body-nosize {
  font-weight: default;
}
.bank-logo {
  height: 20px;
}
.payment-preload {
  width: 13px;
  display: inline-block;
  position: relative;
  top: -1px;
}
.imagebox-upload {
  width: 70px;
  height: 70px;
  border: 1px dashed lightgray;
  cursor: pointer;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
