@import url("https://fonts.googleapis.com/css2?family=Kanit:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Noto+Sans+Thai:wght@100..900&family=Urbanist:ital,wght@0,100..900;1,100..900&display=swap");
:root {
	--textColor: #39433e;
	--textHighlightColor: #39433e;
	--bgColor: #e3e4e5;
	--bgTransparentColor: #909c94;
}
* {
	outline: none;
	-webkit-appearance: none;
	border-radius: 0;
}
html {
	scroll-behavior: smooth;
}
body * {
	color: var(--textColor);
	font-family: "psu stidti";
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	scroll-behavior: smooth;
}
h2 {
	color: var(--textColor);
	text-transform: uppercase;
	font-family: "psu stidti";
	font-size: 32px !important;
}
@media (max-width: 1280px) {
	h2 {
		font-size: 28px !important;
	}
}
@media (max-width: 768px) {
	h2 {
		font-size: 20px !important;
	}
}
@media (max-width: 576px) {
	h2 {
		font-size: 18px !important;
	}
}
h3 {
	color: var(--textColor);
	text-transform: uppercase;
	font-family: "psu stidti";
	font-size: 30px !important;
}
h4 {
	font-family: "psu stidti";
}
h5 {
	color: var(--textColor);
	text-transform: uppercase;
	font-family: "psu stidti";
	font-size: 22px !important;
}
nav a {
	font-family: "psu stidti";
	font-weight: 500;
}
.swiper-pagination-bullet {
	background: transparent !important;
	opacity: 1 !important;
	border: 1px solid var(--textHighlightColor) !important;
	width: 12px !important;
	height: 12px !important;
}
.swiper-pagination-bullet-active {
	background: var(--textHighlightColor) !important;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets
	.swiper-pagination-bullet {
	margin: 0 5px !important;
}
.swiper-button-next,
.swiper-button-prev {
	color: var(--textHighlightColor) !important;
}
.drop-down {
	width: 10px;
	height: 10px;
	border-left: 1px solid #909c94;
	border-bottom: 1px solid #909c94;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}
ul::-webkit-scrollbar {
	width: 0;
	height: 0;
	display: none;
}

@font-face {
	font-family: "psu stidti";
	src: url("../fonts/psu-stidti-bold.woff2") format("woff2"),
		url("../fonts/psu-stidti-bold.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "psu stidti";
	src: url("../fonts/psu-stidti-bolditalic.woff2") format("woff2"),
		url("../fonts/psu-stidti-bolditalic.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "psu stidti";
	src: url("../fonts/psu-stidti-italic.woff2") format("woff2"),
		url("../fonts/psu-stidti-italic.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "psu stidti";
	src: url("../fonts/psu-stidti-light.woff2") format("woff2"),
		url("../fonts/psu-stidti-light.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "psu stidti";
	src: url("../fonts/psu-stidti-lightitalic.woff2") format("woff2"),
		url("../fonts/psu-stidti-lightitalic.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "psu stidti";
	src: url("../fonts/psu-stidti-regular.woff2") format("woff2"),
		url("../fonts/psu-stidti-regular.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "AW Conqueror Carved One";
	src: url("../fonts/AWConquerorCarved-One.woff2") format("woff2"),
		url("../fonts/AWConquerorCarved-One.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atten Round New";
	src: url("../fonts/AttenRoundNew-Regular.woff2") format("woff2"),
		url("../fonts/AttenRoundNew-Regular.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atten Round New";
	src: url("../fonts/AttenRoundNew-ExtraBold.woff2") format("woff2"),
		url("../fonts/AttenRoundNew-ExtraBold.woff") format("woff");
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atten Round New";
	src: url("../fonts/AttenRoundNew-Medium.woff2") format("woff2"),
		url("../fonts/AttenRoundNew-Medium.woff") format("woff");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atten New";
	src: url("../fonts/AttenNew-Bold.woff2") format("woff2"),
		url("../fonts/AttenNew-Bold.woff") format("woff");
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atten New Book";
	src: url("../fonts/AttenNew-Book.woff2") format("woff2"),
		url("../fonts/AttenNew-Book.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atten Round New";
	src: url("../fonts/AttenRoundNew-Bold.woff2") format("woff2"),
		url("../fonts/AttenRoundNew-Bold.woff") format("woff");
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atten New";
	src: url("../fonts/AttenNew-ExtraBold.woff2") format("woff2"),
		url("../fonts/AttenNew-ExtraBold.woff") format("woff");
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atten New";
	src: url("../fonts/AttenNew-Regular.woff2") format("woff2"),
		url("../fonts/AttenNew-Regular.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atten New";
	src: url("../fonts/AttenNew-Medium.woff2") format("woff2"),
		url("../fonts/AttenNew-Medium.woff") format("woff");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atten Round New Book";
	src: url("../fonts/AttenRoundNew-Book.woff2") format("woff2"),
		url("../fonts/AttenRoundNew-Book.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Trebuchet MS";
	src: url("../fonts/TrebuchetMS.woff2") format("woff2"),
		url("../fonts/TrebuchetMS.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Trebuchet MS";
	src: url("../fonts/TrebuchetMS-Bold.woff2") format("woff2"),
		url("../fonts/TrebuchetMS-Bold.woff") format("woff");
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}
section.design-concept h2 {
	text-align: center;
	margin: 40px 0;
}
section.design-concept > div {
	display: flex;
	flex-wrap: wrap;
}
section.design-concept > div > div {
	width: 50%;
}
@media (max-width: 992px) {
	section.design-concept > div > div {
		width: 100%;
	}
}
section.design-concept > div > div.box-left div {
	display: flex;
	justify-content: center;
	padding: 0 0 0px;
}
@media (max-width: 992px) {
	section.design-concept > div > div.box-left div {
		padding: 0 0 0px;
	}
}
section.design-concept > div > div.box-left div h3 {
	text-transform: uppercase;
	white-space: pre-line;
	font-family: "psu stidti";
	line-height: 1.6;
}
@media (max-width: 1024px) {
	section.design-concept > div > div.box-left div h3 {
		font-size: 14px;
	}
}
@media (max-width: 992px) {
	section.design-concept > div > div.box-left div h3 {
		text-align: center;
	}
}
@media (max-width: 576px) {
	section.design-concept > div > div.box-left div h3 {
		white-space: normal;
	}
}
section.design-concept > div > div.box-left div h3 span {
	color: var(--textHighlightColor);
	font-family: "psu stidti";
	font-weight: 500;
}
section.design-concept > div > div.box-left img {
	width: 100%;
	display: block;
}
section.design-concept > div > div.box-right img {
	width: 100%;
	display: block;
}
section.design-concept > div > div.box-right {
	padding: 0 0% 0%;
}
section.design-concept > div > div.box-right span {
	font-weight: 300;
}
@media (max-width: 1024px) {
	section.design-concept > div > div.box-right span.text-description {
		font-size: 14px;
	}
}
section.design-concept > div > div.box-right .rectangle span {
	font-family: "psu stidti";
}
section.project-info {
	background-color: var(--bgColor);
}
section.project-info .box-detail {
	padding: 40px;
}
@media (max-width: 576px) {
	section.project-info .box-detail {
		padding: 40px 20px;
	}
}
section.project-info .box-detail h2 {
	text-align: center;
	margin-bottom: 40px;
}
section.project-info .box-detail .wrapper-box-detail {
	display: flex;
	flex-wrap: wrap;
}
section.project-info .box-detail .wrapper-box-detail .group {
	width: 33.33%;
	margin-bottom: 40px;
	padding: 0 20px;
}
@media (max-width: 992px) {
	section.project-info .box-detail .wrapper-box-detail .group {
		width: 50%;
	}
}
@media (max-width: 650px) {
	section.project-info .box-detail .wrapper-box-detail .group {
		width: 100%;
	}
}
section.project-info .box-detail .wrapper-box-detail .group h4 {
	color: var(--textHighlightColor);
	text-transform: uppercase;
	text-align: center;
}
section.project-info .box-detail .wrapper-box-detail .group span {
	text-transform: uppercase;
	text-align: center;
	display: block;
}
section.project-info .box-detail .wrapper-box-detail .group li {
	text-align: center;
	font-weight: bold;
}
section.project-info .box-detail .wrapper-box-detail .group ul.lists {
	max-width: 300px;
	margin: auto;
}
section.project-info .box-detail .wrapper-box-detail .group ul.lists li {
	position: relative;
	text-align: right;
	padding-left: 50%;
}
section.project-info .box-detail .wrapper-box-detail .group ul.lists li:before {
	content: attr(data-title);
	position: absolute;
	left: 0;
}
section.facilities {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}
section.facilities:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	pointer-events: none;
}
section.facilities .container {
	position: relative;
	margin: auto;
	min-height: calc(100vh - 94px);
}
@media (max-width: 1024px) {
	section.facilities .container {
		min-height: unset;
	}
}
section.facilities .container h2 {
	text-align: center;
	color: var(--textHighlightColor);
}
section.facilities .container .box-facilities {
	display: flex;
	flex-wrap: wrap;
}
section.facilities .container .box-facilities .box-left {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-right: 40px;
	border-right: 1px solid var(--textHighlightColor);
	width: 250px;
}
section.facilities .container .box-facilities .box-left img {
	width: 100%;
}
@media (max-width: 992px) {
	section.facilities .container .box-facilities .box-left img {
		max-width: 200px;
	}
}
@media (max-width: 576px) {
	section.facilities .container .box-facilities .box-left img {
		max-width: 180px;
	}
}
@media (max-width: 992px) {
	section.facilities .container .box-facilities .box-left {
		width: 100%;
		padding-right: 0;
		padding-bottom: 40px;
		margin-bottom: 40px;
		border-right: 0;
		border-bottom: 1px solid var(--textHighlightColor);
	}
}
section.facilities .container .box-facilities .box-right {
	width: calc(100% - 250px);
}
@media (max-width: 992px) {
	section.facilities .container .box-facilities .box-right {
		width: 100%;
		padding-left: 0;
	}
}
section.facilities .container .box-facilities .box-right ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
section.facilities .container .box-facilities .box-right ul li {
	width: 20%;
	padding: 0 20px;
}
@media (max-width: 1024px) {
	section.facilities .container .box-facilities .box-right ul li {
		width: 33.33%;
	}
}
@media (max-width: 576px) {
	section.facilities .container .box-facilities .box-right ul li {
		width: 50%;
	}
}
section.facilities .container .box-facilities .box-right ul li:nth-child(1),
section.facilities .container .box-facilities .box-right ul li:nth-child(2),
section.facilities .container .box-facilities .box-right ul li:nth-child(3),
section.facilities .container .box-facilities .box-right ul li:nth-child(4),
section.facilities .container .box-facilities .box-right ul li:nth-child(5),
section.facilities .container .box-facilities .box-right ul li:nth-child(6),
section.facilities .container .box-facilities .box-right ul li:nth-child(7),
section.facilities .container .box-facilities .box-right ul li:nth-child(8),
section.facilities .container .box-facilities .box-right ul li:nth-child(9),
section.facilities .container .box-facilities .box-right ul li:nth-child(10),
section.facilities .container .box-facilities .box-right ul li:nth-child(11),
section.facilities .container .box-facilities .box-right ul li:nth-child(12) {
	margin-bottom: 40px;
}
@media (max-width: 1024px) {
	section.facilities .container .box-facilities .box-right ul li {
		margin-bottom: 40px;
	}
	section.facilities .container .box-facilities .box-right ul li:last-child {
		margin-bottom: 0;
	}
}
section.facilities .container .box-facilities .box-right ul li img {
	display: block;
	margin: auto;
}
section.facilities .container .box-facilities .box-right ul li span {
	display: block;
	text-align: center;
	color: #576159;
	margin-top: 10px;
}
footer .container ul li a {
	font-family: "psu stidti";
	font-size: 14px !important;
}
footer .container .group-project a {
	font-family: "psu stidti";
}
footer span {
	font-family: "psu stidti";
}
footer .email {
	width: 100%;
}
footer .submit {
	font-family: "psu stidti";
	transition: all 0.5s;
}
footer .submit:hover {
	opacity: 0.8;
}
section.location {
	/*
	background-image: url(../img/bg-location.jpg);
    */
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}
section.location:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(57, 67, 62, 0.8);
}
section.location iframe.active {
	opacity: 1 !important;
	pointer-events: all !important;
}
section.location .box-top ul.toggle li {
	position: relative;
}
section.location .box-top ul.toggle li:nth-child(2):before {
	display: none;
}
section.location .box-top ul.toggle li:before {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background: #fff;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.5s;
}
section.location .box-top ul.toggle li:hover:before {
	transform: scaleX(1);
}
section.location .box-top ul.toggle li.active {
	color: var(--textHighlightColor);
}
section.location .box-top ul.toggle li.active:before {
	background: var(--textHighlightColor);
}
section.location .box-bottom span {
	font-size: 24px;
}
section.location .box-bottom span,
section.location .box-bottom li {
	font-family: "psu stidti", serif;
}
section.location .box-bottom li {
	position: relative;
	padding-left: 50%;
	text-align: right;
	margin-bottom: 5px;
}
section.location .box-bottom li:before {
	content: attr(data-title);
	position: absolute;
	left: 0;
	color: #fff;
}
section.plan img {
	width: 100%;
}
section.plan button {
	background-color: #fff;
	color: var(--textHighlightColor);
}
section.plan button span {
	color: var(--textHighlightColor);
	position: relative;
	z-index: 1;
}
section.plan button.active {
	background-color: var(--textHighlightColor) !important;
	color: #fff;
}
section.plan button.active span {
	color: #fff;
}
section.plan button.btn-hover:before {
	width: 250px;
	height: 250px;
}
section.plan button.btn-hover:hover span {
	color: #39433e;
}
section.plan .toggle-plan {
	display: none;
}
section.plan .toggle-plan.active {
	display: block;
}
section.plan span.drop-down {
	right: 16px;
}
section.plan ul li:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background-color: var(--textHighlightColor);
	transform: scaleX(0);
	transition: all 0.5s;
}
section.plan ul li.active {
	color: var(--textHighlightColor) !important;
	font-size: 16px;
	font-weight: 500;
}
section.plan ul li.active:before {
	transform: scaleX(1);
}
section.plan .box-bottom .box-left {
	width: calc(100% - 240px);
}
@media (max-width: 992px) {
	section.plan .box-bottom .box-left {
		width: 100%;
	}
}
section.plan .box-bottom .box-right {
	width: 240px;
}
@media (max-width: 992px) {
	section.plan .box-bottom .box-right {
		width: 100%;
	}
}
section.virtual-tour {
	position: relative;
	background-image: url(../img/bg-virtual.png);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
section.virtual-tour ul {
	padding-bottom: 10px;
	position: relative;
}
section.virtual-tour ul:before {
	content: "";
	position: absolute;
	bottom: 1px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--textHighlightColor);
}
section.virtual-tour ul li {
	font-family: "psu stidti";
	font-weight: 500;
}
section.virtual-tour ul li.active:before {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 0;
	width: calc(100% + 2px);
	height: 3px;
	background-color: var(--textHighlightColor);
}
section.gallery li {
	font-family: "psu stidti";
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: #39433e;
	transition: all 0.5s;
}
section.gallery li.active {
	-webkit-text-fill-color: #fff;
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: #909c94;
}
section.gallery li:hover {
	color: #909c94;
}
section.gallery .wrapper-gallery {
	width: calc(100% - 40px);
	margin: auto;
	overflow: hidden;
}
section.promotion {
	background-color: var(--bgColor);
}
section.promotion .box-detail {
	padding: 40px;
}
@media (max-width: 576px) {
	section.promotion .box-detail {
		padding: 40px 20px;
	}
}
section.promotion .box-detail h2 {
	text-align: center;
	margin-bottom: 40px;
}
section.promotion .box-detail .wrapper-box-detail {
	display: flex;
	flex-wrap: wrap;
}
section.promotion .box-detail .wrapper-box-detail .group {
	width: 33.33%;
	margin-bottom: 40px;
	padding: 0 20px;
}
@media (max-width: 992px) {
	section.promotion .box-detail .wrapper-box-detail .group {
		width: 50%;
	}
}
@media (max-width: 650px) {
	section.promotion .box-detail .wrapper-box-detail .group {
		width: 100%;
	}
}
section.promotion .box-detail .wrapper-box-detail .group h4 {
	color: var(--textHighlightColor);
	text-transform: uppercase;
	text-align: center;
}
section.project-info .box-detail .wrapper-box-detail .group span {
	text-transform: uppercase;
	text-align: center;
	display: block;
}
section.promotion .box-detail .wrapper-box-detail .group li {
	text-align: center;
	font-weight: bold;
}
section.promotion .box-detail .wrapper-box-detail .group ul.lists {
	max-width: 300px;
	margin: auto;
}
section.promotion .box-detail .wrapper-box-detail .group ul.lists li {
	position: relative;
	text-align: right;
	padding-left: 50%;
}
section.promotion .box-detail .wrapper-box-detail .group ul.lists li:before {
	content: attr(data-title);
	position: absolute;
	left: 0;
}
@media (max-width: 576px) {
	section.gallery .wrapper-gallery {
		width: 100% !important;
	}
}
@media (max-width: 992px) {
	section.gallery .swiper-pagination {
		position: relative;
		bottom: unset;
		left: unset;
		margin-top: 20px;
	}
	section.gallery .wrapper-gallery {
		width: calc(100% - 20px);
	}
}
@media (max-width: 576px) {
	section.gallery .swiper-button-next,
	section.gallery .swiper-button-prev {
		display: none;
	}
}
section.banner .swiper-horizontal > .swiper-pagination-bullets,
section.banner .swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: 40px !important;
}
section.banner .box-text span.text-live {
	font-family: "psu stidti", serif;
}
section.banner .box-text h2 {
	font-family: "psu stidti", serif;
}
.registration h2.title-bottom {
	font-family: "psu stidti";
}
.registration form {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 800px;
	margin: auto;
}
.registration form > div {
	width: 50%;
}
.registration form > div.col-1 {
	width: 100%;
}
@media (max-width: 650px) {
	.registration form > div {
		width: 100%;
	}
}
.registration form button {
	background-color: #909c94;
	border: 0;
	height: 45px;
}
.registration form button span {
	color: #39433e;
	font-family: "psu stidti";
	transition-property: color;
	transition-delay: 0.1s;
	transition-duration: 0.3s;
}
.registration form button:hover span {
	color: #fff;
}
.registration .group {
	position: relative;
	margin-bottom: 45px;
	padding: 0 20px;
}
@media (max-width: 576px) {
	.registration .group {
		padding: 0;
	}
}
.registration .group.select option {
	background-color: #fff;
	color: #909c94;
}
.registration .group.select label.error {
	right: 0;
}
.registration .group.input select {
	width: 100%;
	background: transparent;
	color: #172128;
	font-family: "psu stidti";
	font-weight: 500;
	padding: 10px 0;
	border-bottom: 1px solid #172128;
}
.registration .group.input label:not(.error) {
	color: #172128;
	font-weight: 500;
	position: absolute;
	pointer-events: none;
	left: 20px;
	top: 10px;
	transition: 0.2s ease all;
	font-family: "psu stidti";
	text-transform: uppercase;
}
@media (max-width: 576px) {
	.registration .group.input label:not(.error) {
		left: 0px;
	}
}
.registration .group label.error {
	position: absolute;
	font-size: 12px;
	bottom: -20px;
	right: 20px;
	top: unset !important;
}
@media (max-width: 576px) {
	.registration .group label.error {
		right: 0 !important;
	}
}
.registration .group input {
	padding: 10px 0;
	display: block;
	width: 100%;
	border: none;
	border-bottom: 1px solid #172128;
	background: transparent;
	font-family: "psu stidti", serif;
}
.registration .group.checkbox {
	height: 45px;
	display: flex;
	align-items: center;
}
.registration .group.checkbox .label {
	display: block;
	position: relative;
	padding-left: 35px;
	cursor: pointer;
	user-select: none;
	font-family: "psu stidti";
	font-size: 14px;
	color: #172128;
}
.registration .group.checkbox .label a {
	text-decoration: underline;
}
.registration .group.checkbox .label input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}
.registration .group.checkbox .label input:checked ~ .checkmark:after {
	display: block;
}
.registration .group.checkbox .label .checkmark {
	position: absolute;
	top: -2px;
	left: 0;
	height: 25px;
	width: 25px;
	background-color: #fff;
	border: 1px solid #838689;
	border-radius: 5px;
	transition: 0.3s;
}
.registration .group.checkbox .label .checkmark:after {
	content: "";
	position: absolute;
	display: none;
	left: 9px;
	top: 4px;
	width: 6px;
	height: 12px;
	border: solid #909c94;
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
}
.registration .group.checkbox .label:hover input ~ .checkmark {
	background-color: #e3e4e5;
}
.registration .group.checkbox .label:checked ~ .checkmark {
	background-color: #2196f3;
}
.registration .accept-error {
	color: #ff3333 !important;
}
.registration .accept-error .checkmark {
	border-color: #ff3333 !important;
}
.registration input:focus ~ label:not(.error),
.registration input:valid ~ label:not(.error) {
	top: -20px !important;
	font-size: 14px;
	color: #172128;
}
.registration .bar {
	position: relative;
	display: block;
	width: 100%;
}
.registration .bar:before,
.registration .bar:after {
	content: "";
	height: 2px;
	width: 0;
	bottom: 1px;
	position: absolute;
	background: #172128;
	transition: 0.2s ease all;
}
.registration .bar:before {
	left: 50%;
}
.registration .bar:after {
	right: 50%;
}
.registration input:focus ~ .bar:before,
.registration input:focus ~ .bar:after {
	width: 50%;
}
.registration .highlight {
	position: absolute;
	height: 60%;
	width: 100px;
	top: 25%;
	left: 0;
	pointer-events: none;
	opacity: 0.5;
}
.registration input:focus ~ .highlight {
	animation: inputHighlighter 0.3s ease;
}
@keyframes inputHighlighter {
	from {
		background: #172128;
	}
	to {
		width: 0;
		background: transparent;
	}
}
.registration label.error {
	color: #ff3333 !important;
}
ul.menu li a.line {
	position: relative;
}
ul.menu li a.line:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--textColor);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s;
}
ul.menu li a.line:hover:before {
	transform: scaleX(1);
}
ul.menu li a.line.btn-hover a {
	color: #fff;
}
input#mmenu + label {
	height: 20px;
	width: 25px;
	transition: all 0.4s ease;
	position: relative;
}
input#mmenu + label span {
	position: absolute;
	width: 100%;
	height: 1px;
	top: 50%;
	margin-top: -1px;
	right: 0;
	display: block;
	background: var(--textColor) !important;
	transition: 0.5s;
}
input#mmenu + label span:first-child {
	top: 4px;
}
input#mmenu + label span:last-child {
	top: 16px;
}
input#mmenu:checked + label span:first-child {
	opacity: 1;
	transform: rotate(135deg);
}
input#mmenu:checked + label span {
	opacity: 0;
	top: 50%;
}
input#mmenu:checked + label span:last-child {
	opacity: 1;
	transform: rotate(-135deg);
}
.expand-menu {
	opacity: 0;
	pointer-events: none;
	transition: 0.5s;
}
.expand-menu.active {
	opacity: 1;
	pointer-events: all;
}
@media (max-width: 992px) {
	section.progress {
		display: flex;
		flex-direction: column-reverse;
	}
}
section.progress .box-update span.update {
	font-family: "psu stidti";
}
section.progress .box-update .group span {
	font-family: "psu stidti", serif;
}
section.progress .box-update .group span.percent {
	font-weight: 600;
}
section.progress .box-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-gap: 0 60px;
	grid-template-areas: ". a a a a a a a a . . ." "b a a a a a a a a c c c" "b a a a a a a a a c c c" ". a a a a a a a a . . .";
	grid-template-rows: 0.8fr 1.2fr 1.2fr 0.8fr;
}
section.progress .box-grid .img-left {
	grid-area: b;
}
section.progress .box-grid .img-center {
	grid-area: a;
}
section.progress .box-grid .img-right {
	grid-area: c;
}
section.progress .box-bottom {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-gap: 0 60px;
	grid-template-areas: ". a a a a a b b b b b .";
	margin-top: -150px;
	z-index: 1;
	position: relative;
	height: 310px;
}
section.progress .box-bottom .box-left {
	grid-area: a;
}
section.progress .box-bottom .box-right {
	grid-area: b;
}
@media (max-width: 1200px) {
	section.progress .box-bottom {
		margin-top: 40px;
	}
}
.btn-hover {
	position: relative;
	overflow: hidden;
}
.btn-hover:before {
	pointer-events: none;
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) scale(0);
	width: 150px;
	height: 150px;
	background-color: #909c94;
	border-radius: 50%;
	transition: all 0.5s;
}
.btn-hover:hover:before {
	transform: translate(-50%, -50%) scale(1);
}
.btn-hover span {
	transition: all 0.5s;
}
.btn-black:before {
	width: 400px;
	height: 400px;
	background-color: #39433e;
	transition: all 0.8s;
}
section.thankyou {
	min-height: 100vh;
}
@media (max-width: 1024px) {
	section.thankyou {
		min-height: calc(100vh - 459px);
	}
}
@media (max-width: 992px) {
	section.thankyou {
		min-height: 60vh;
	}
}
section.thankyou h2 {
	font-size: 38px !important;
}
section.thankyou h2.title-bottom {
	font-family: "psu stidti";
}
@media (max-width: 1280px) {
	section.thankyou h2 {
		font-size: 32px !important;
	}
}
@media (max-width: 992px) {
	section.thankyou h2 {
		font-size: 26px !important;
	}
}
@media (max-width: 576px) {
	section.thankyou h2 {
		font-size: 22px !important;
	}
}
section.thankyou a span {
	color: #fff;
}
section.thankyou a:hover span {
	color: var(--textHighlightColor);
}
section.thankyou a:before {
	width: 200px;
	height: 200px;
}
section.project-info .box-detail .wrapper-box-detail .group .lists {
	max-width: 300px;
	margin: auto;
}
section.project-info .box-detail .wrapper-box-detail .group .lists ul li {
	display: flex;
	justify-content: space-between;
}
section.project-info .box-detail .wrapper-box-detail .group .lists ul li h4 {
	font-family: "psu stidti";
	font-weight: 400;
	color: #222;
	text-transform: none;
}
