@media only screen and (max-width: 1200px) {
	.about {
	    padding: 60px 0 0;
	}
	.company {
	    padding: 60px 0 100px;
	}
	.company-content {
		margin-bottom: 80px;
	}
	.service {
    	padding: 80px 0 90px;
    }
    .service .main-title {
	    margin-bottom: 42px;
	}
	.profile {
	    padding-top: 60px;
	}
	.profile-item {
	    margin-bottom: 60px;
	}
	.contact {
	    padding: 80px 0 100px;
	}
	.site-footer {
    	padding: 45px 0 40px;
    }
    .about-left {
	    flex-basis: 50%;
	    width: 50%;
	}
	.about-right {
	    flex-basis: 50%;
	    width: 50%;
	    padding-left: 60px;
	}
	.md-desc li, .md-desc p {
	    line-height: 38px;
	    font-size: 18px;
	}
	.main-title {
	    font-size: 38px;
	    margin-bottom: 30px;
	}
	.site-main h3 {
	    font-size: 22px;
	    line-height: 38px;
	}
	.company-item {
	    margin-bottom: 20px;
	}
	.profile-left {
	    flex-basis: 60%;
	    width: 60%;
	}
	.profile-right {
	    flex-basis: 40%;
	    width: 40%;
	    padding-left: 50px;
	}
	.profile-item:nth-child(2n) .profile-right {
	    padding-left: 0;
	    padding-right: 50px;
	}
	.profile-right p .name {
	    margin-right: 30px;
	}
	.profile-right p {
    	font-size: 18px;
    }
    .head-office img {
    	margin-bottom: 25px;
    }
	.contact-info .contact-title {
		margin-bottom: 20px;
    	font-size: 24px;
	}
}
@media only screen and (max-width: 991px) {
	.mobile-menu {
		display: inline-block;
	}
	body.open .site-content::before {
	    background: #fff;
	    content: "";
	    position: fixed;
	    width: 100%;
	    height: 100%;
	    top: 0;
	    z-index: 1;
	    bottom: 0;
	}
	.main-menu > .container {
		position: relative;
	}
	.main-menu {
	    position: relative;
	}
	.main-menu ul {
	    position: fixed;
		top: 90px;
	    background: #fff;
	    margin-top: 20px;
	    opacity: 0;
	    visibility: hidden;
	    height: 100vh;
	    padding-top: 30px !important;
		left: 0;
		width: 100%;
		transition: all 0.3s ease-in-out 0s;
		-moz-transition: all 0.3s ease-in-out 0s;
		-ms-transition: all 0.3s ease-in-out 0s;
		-webkit-transition: all 0.3s ease-in-out 0s;
		-o-transition: all 0.3s ease-in-out 0s;
		align-items: flex-start;
		padding: 0 15px;
		flex-direction: column;
	}
	.main-menu ul li {
		display: block;
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px;
		text-align: center;
	}
	.main-menu ul li a::before, .main-menu .current-menu-item a::before {
		bottom: 0;
		height: 2px;
	}
	.main-menu ul li a {
		margin-right: 0;
	}
	.main-menu.open ul {
		opacity: 1;
		visibility: visible;
		margin-top: 0;
	}
	.md-desc li, .md-desc p {
	    line-height: 32px;
	    font-size: 16px;
	}
	.about-right {
	    padding-left: 30px;
	}
	.site-main h3 {
	    font-size: 20px;
	    line-height: 32px;
	}
	.company-item {
	    width: calc(50% - (15px / 2));
	    margin-right: 15px;
	}
	.profile-right {
	    flex-basis: 45%;
	    width: 45%;
	    padding-left: 30px;
	}
	.profile-left {
	    flex-basis: 55%;
	    width: 55%;
	}
	.profile-item:nth-child(2n) .profile-right {
	    padding-left: 0;
	    padding-right: 30px;
	}
	.contact {
	    padding: 60px 0 90px;
	}
	.company-content {
	    margin-bottom: 60px;
	}
	.footer-menu ul li {
	    margin-right: 40px;
	}
	.footer-menu ul li a {
	    font-size: 20px;
	}
	.footer-info {
	    padding-left: 40px;
	}
	.sm-desc p {
	    line-height: 30px;
	    font-size: 16px;
	}
	.profile-right p {
	    margin-top: 5px;
	}
}
@media only screen and (max-width: 768px) {
	.contact-info .contact-title {
	    font-size: 20px;
	}
	.service-item.sm-desc p {
	    line-height: 32px;
	}
	.main-title {
	    font-size: 30px;
	    margin-bottom: 20px;
	    letter-spacing: normal;
	}
	.about-left {
	    flex-basis: 100%;
	    width: 100%;
	}
	.about-inner {
		flex-wrap: wrap;
	}
	.about-right {
	    padding-left: 0;
	    margin: 20px auto 0;
	}
	.footer-content {
		flex-wrap: wrap;
	}
	.site-logo {
	    width: 100%;
	    text-align: center;
	}
	.footer-info {
		width: 100%;
		padding-left: 0;
	}
	.footer-info {
	    text-align: center;
	    margin-top: 15px;
	}
	.footer-menu ul {
	    justify-content: center;
	}
	.company-content img {
	    width: 100%;
	    margin-bottom: 20px;
	    margin-top: 0;
	}
	.company-content {
	    margin-bottom: 20px;
	}
	.business-info {
	    margin-bottom: 40px;
	}
	.head-office img {
	    width: 100%;
	    margin-bottom: 20px;
	}
	.site-main > section:first-child {
	    margin-top: 80px;
	}
	.company {
	    padding: 60px 0 75px;
	}
	.service {
	    padding: 60px 0 65px;
	}
	.service .main-title {
	    margin-bottom: 20px;
	}
	.service-item img {
	    width: 100%;
	    margin-bottom: 20px;
	}
	.service .row > div:nth-child(n+3) .service-item {
	    margin-top: 30px;
	}
	.site-main h3 {
	    font-size: 18px;
	    line-height: 30px;
	}
	.profile-item {
		flex-wrap: wrap;
	}
	.profile-left {
	    flex-basis: 80%;
		width: 80%;
		margin: 0 auto;
	    order: 1;
		margin-top: 15px;
	}
	.profile-left p {
		text-align: justify;
	}
	.profile-right {
	    flex-basis: 100%;
	    width: 100%;
	    padding-left: 0;
	    text-align: center;
	}
	.profile-item:nth-child(2n) .profile-right {
		padding-right: 0;
	}
	.title-left {
	    text-align: center;
	}
	.profile h3 {
	    text-align: center;
	}
	.profile-item p {
	    margin-bottom: 20px;
	}
	.profile-item {
	    margin-bottom: 35px;
	}
	.ct-mail .mail {
	    font-size: 16px;
	}
	.about-left {
	    flex-basis: 80%;
	    width: 80%;
	    margin: 0 auto;
	    text-align: justify;
	}
}
@media only screen and (max-width: 540px) {
	.about-left,
	.profile-left {
	    flex-basis: 100%;
	    width: 100%;
	}
}
@media only screen and (max-width: 480px) {
	.main-title {
    	font-size: 28px;
    	margin-bottom: 20px !important;
    }
    .contact-info .contact-title {
	    font-size: 16px;
	    margin-bottom: 10px;
	}
	.contact-box {
		padding: 15px 25px;
	}
	.contact-box a img {
	    margin-right: 20px;
	    max-width: 80px;
	}
	.ct-mail {
	    width: calc(100% - 100px);
	}
	.ct-mail .mail {
		padding-bottom: 6px;
		margin-bottom: 5px;
	}
	.contact {
	    padding: 50px 0 70px;
	}
	.service-item img {
	    margin-top: 0;
	}
	.company-item {
	    margin-bottom: 10px;
	}
	.about-right {
	    flex-basis: 80%;
	    width: 80%;
	}
}
@media only screen and (max-width: 415px) {
	.main-title {
	    font-size: 26px;
	    margin-bottom: 15px !important;
	}
	.profile h3 {
	    margin-bottom: 20px;
	}
	.footer-menu ul li {
    	margin-right: 20px;
    }
    .footer-menu ul li a {
	    font-size: 16px;
	}
	.contact-box {
	    padding: 15px;
	}
	.contact-box a img {
	    margin-right: 15px;
	    max-width: 50px;
	}
	.ct-mail {
	    width: calc(100% - 65px);
	}
	.ct-mail .mail {
	    padding-bottom: 5px;
	    margin-bottom: 0px;
	}
	.contact-info .contact-title {
    	font-size: 14px;
    }
    .about-img::before {
    	border: 5px solid #7E58A2;
		top: 15px;
		left: 15px;
	}
	.copyright {
	    font-size: 14px;
	}
	.site-footer {
	    padding: 40px 0 30px;
	}
}
@media only screen and (max-width: 360px) {
	.ct-mail p {
	    letter-spacing: normal;
	}
	.company-item {
	    width: 100%;
	    margin-right: 0;
	}
}