/* Media Queries & Responsive Architecture
-------------------------------------------------------------- */

/* 1. Global Responsive Baseline & Overflow Protection */
html, body {
	overflow-x: hidden !important;
	max-width: 100%;
	width: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

img:not(.rev-slidebg) {
	max-width: 100%;
	height: auto;
}

.img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
}

.container {
	max-width: 100%;
}

.row {
	margin-left: -15px;
	margin-right: -15px;
}

/* 2. Large Screens (min-width: 1200px) */
@media only screen and (min-width: 1200px) {
	.container {
		width: 1200px;
	}
}

/* 3. Medium Screens / Small Laptops (max-width: 1199px) */
@media only screen and (max-width: 1199px) {
	ul.flat-infomation li {
		margin-right: 20px;
	}

	.form-qoute,
	.testimonial-item blockquote,
	.flat-introduce h1 {
		padding: 0;
	}

	.form-request-qoute {
		padding: 50px 15px;
	}

	.page-title {
		padding: 30px 0;
	}

	.header #logo {
		margin-left: 0;
	}

	.nav-wrap {
		order: 3;
	}

	.page-wrap .widget-area {
		padding-left: 30px;
	}
}

/* 4. Desktop Boundary (992px - 1199px) */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.header-content ul li {
		width: 215px;
	}

	.nav-wrap {
		float: none;
		order: 3;
		text-align: center;
		width: 100%;
	}

	#mNavbar .navbar-nav > li > a {
		padding: 15px 10px;
		font-size: 13px;
	}
}

/* 5. Tablets & Below (max-width: 991px) */
@media only screen and (max-width: 991px) {
	.flat-iconbox.style3 .height30 {
		display: none;
	}

	.top .content-left,
	.top .content-right {
		text-align: center;
		float: none;
	}

	.nav.header-style4 {
		padding: 0 15px;
	}

	.nav.header-style2 .flat-social {
		margin-top: 28px;
	}

	.header.style2 #logo,
	.header.style4 #logo {
		margin-top: 25px;
		text-align: center;
		float: none;
	}

	.header-content ul li {
		width: 33.33%;
		margin-right: 0px;
	}

	.flat-row,
	.footer-widgets,
	.flat-testimonial,
	.flat-imagebox.style2,
	.flat-counter,
	.flat-accordion,
	.flat-iconbox.style3,
	.flat-iconbox.style1,
	.flat-counter.style2,
	.flat-imagebox.style3 {
		padding: 40px 0;
	}

	.btn-menu {
	    display: block;
	}

	.main-about.page-wrap .content-area,
	.main-about.page-wrap .widget-area,
	.box-item .text-box.left,
	.box-item .img-box {
		float: none;
	}

	.page-wrap .content-area,
	.page-wrap .widget-area,
	.box-item .text-box.left, 
	.box-item .img-box,
	.box-item .img-box img {
		width: 100%;
	}

	.page-wrap .widget-area {
		padding-left: 0;
		margin-top: 35px;
	}

	.main-about.page-wrap .widget-area {
		padding-right: 0;
	}

	.news-post .entry-post .content-post .button-post a {
		margin-top: 20px;
	}

	.form-qoute .desc-qoute {
		padding: 0;
	}

	.iconbox .iconbox-content h3.iconbox-title {
		font-size: 20px;
	}

	.iconbox.style3 .iconbox-content .iconbox-title {
		font-size: 18px;
	}

	.iconbox .iconbox-content .iconbox-desc {
	    overflow: visible;
	}

	.main-blog .content-area {
		margin-bottom: 30px;
	}

	article.blog-post {
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

	.footer-widgets .widget.widget-nav-menu {
		margin-left: 0;
	}
}

/* 6. Tablet Landscape & Portrait (768px - 991px) */
@media only screen and (min-width: 768px) and (max-width: 991px) {
	.form-request-qoute .flat-wrap-form .flat-wrap-input {
		float: none;
		width: 100%;
	}

	#mNavbar .navbar-nav > li > a {
		padding: 15px 6px;
		font-size: 11px;
		letter-spacing: 0;
	}

	.vm-box {
		padding: 25px 20px;
		min-height: 230px;
	}

	.contact-reception-img {
		height: 400px;
		object-fit: cover;
	}
}

/* 7. All Mobile Devices (max-width: 767px) */
@media only screen and (max-width: 767px) {
	/* Boxed container on mobile: edge-to-edge native feel */
	.boxed {
		margin: 0 auto;
		box-shadow: none;
		border-radius: 0;
		width: 100%;
		max-width: 100%;
	}

	/* Header logos on mobile */
	.head {
		text-align: left;
		padding: 10px 0;
	}

	.head .head-logo-col {
		text-align: left;
		padding-left: 15px;
		padding-right: 15px;
	}

	.head .main-logo {
		display: block;
		max-width: 280px;
		height: auto;
		margin: 0;
		float: none;
	}

	/* Mobile Navigation Bar */
	#mNavbar {
		background-color: #0473c5 !important;
		border-radius: 0;
		margin-bottom: 0;
		border: none;
	}

	#mNavbar .container {
		padding-left: 0;
		padding-right: 0;
	}

	#mNavbar .navbar-header {
		float: none;
		padding: 0 15px;
		min-height: 50px;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}

	#mNavbar .navbar-toggle {
		display: block !important;
		float: right;
		margin: 8px 0;
		background-color: transparent;
		border: 1px solid rgba(255, 255, 255, 0.4);
		border-radius: 4px;
		padding: 9px 10px;
	}

	#mNavbar .navbar-toggle:hover,
	#mNavbar .navbar-toggle:focus {
		background-color: rgba(255, 255, 255, 0.15);
	}

	#mNavbar .navbar-toggle .icon-bar {
		background-color: #ffffff;
		width: 22px;
		height: 2px;
		margin-top: 4px;
	}

	#mNavbar .navbar-toggle .icon-bar:first-child {
		margin-top: 0;
	}

	#mNavbar .navbar-collapse {
		float: none;
		width: 100%;
		text-align: left;
		background-color: #0473c5;
		border-top: 1px solid rgba(255, 255, 255, 0.15);
		padding: 0;
		max-height: 380px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	#mNavbar .navbar-collapse.collapse {
		display: none !important;
	}

	#mNavbar .navbar-collapse.collapse.in {
		display: block !important;
	}

	#mNavbar .navbar-nav {
		float: none;
		margin: 0;
		padding: 0;
		display: block;
		text-align: left;
	}

	#mNavbar .navbar-nav > li {
		float: none;
		display: block;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	#mNavbar .navbar-nav > li:last-child {
		border-bottom: none;
	}

	#mNavbar .navbar-nav > li > a {
		padding: 12px 20px;
		font-size: 13px;
		color: #ffffff;
		display: block;
		text-align: left;
		transition: background-color 0.2s ease;
	}

	#mNavbar .navbar-nav > li > a:hover,
	#mNavbar .navbar-nav > li > a:focus {
		background-color: rgba(0, 0, 0, 0.15);
		color: #ffffff;
	}

	/* Section Spacing & Headings */
	.page-wrap,
	section.organizations,
	section.flat-row,
	section.performance {
		padding-top: 35px !important;
		padding-bottom: 35px !important;
	}

	.flat-row-title h2 {
		font-size: 26px;
		line-height: 32px;
		padding-bottom: 10px;
	}

	.flat-row-title center h2 {
		font-size: 26px;
	}

	/* About Us */
	.about-img-col {
		margin-top: 25px;
		text-align: center;
	}

	.about-img-col img {
		display: inline-block;
		max-width: 100%;
		border-radius: 4px;
	}

	.vm-box {
		padding: 20px 15px;
		margin-top: 15px;
		min-height: auto;
		border-radius: 6px;
	}

	/* Services Section */
	.accordion-wrap .heading {
		padding: 12px 15px;
		font-size: 14px;
		min-height: 44px;
		display: flex;
		align-items: center;
	}

	.accordion-wrap .description.show {
		padding: 15px;
	}

	.accordion-wrap .description.show ul li {
		font-size: 13px;
		line-height: 20px;
		margin-bottom: 6px;
	}

	/* Core Competency */
	.corecomul ul li {
		font-size: 13px;
		line-height: 20px;
	}

	.iconbox.style3 {
		margin-bottom: 20px;
	}

	/* Performance Table Responsive Scrolling */
	.hidden-text.table-responsive {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		border: 1px solid #ddd;
		border-radius: 4px;
		margin-bottom: 15px;
	}

	.table-striped th,
	.table-striped td {
		padding: 10px 8px;
		font-size: 12px;
		white-space: nowrap;
	}

	.spoiler .read-more {
		width: 100%;
		max-width: 220px;
		margin: 15px auto 0;
		display: block;
		padding: 10px 0;
		font-size: 14px;
		border-radius: 4px;
	}

	/* Organization Chart */
	.org-chart-wrapper {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		text-align: center;
		padding: 10px 0;
	}

	.org-chart-wrapper img {
		min-width: 280px;
		max-width: 100%;
		height: auto;
		display: block;
		margin: 0 auto;
	}

	/* Contact Us Section */
	.contact-reception-img {
		height: 230px !important;
		max-height: 260px;
		width: 100%;
		object-fit: cover;
		margin-bottom: 20px;
		border-radius: 4px;
	}

	.flat-row-title-contact h2 {
		padding-left: 0 !important;
		padding-top: 10px !important;
		text-align: center !important;
	}

	form.pading {
		padding: 0 15px 25px !important;
	}

	form.pading .form-control {
		margin-bottom: 12px;
		height: 44px;
		font-size: 14px;
	}

	form.pading textarea.form-control {
		height: 120px !important;
	}

	form.pading .button-form-qoute {
		width: 100%;
		margin: 8px 0 0;
		height: 44px;
		font-size: 14px;
	}

	/* Google Map */
	.contact-map-iframe {
		height: 280px !important;
	}

	/* CBM Calculator Modal */
	.modal-dialog {
		margin: 15px auto;
		width: 94%;
		max-width: 500px;
	}

	.modal-body {
		padding: 15px;
	}

	.calc {
		padding: 12px 10px;
		border-radius: 4px;
	}

	.clc1 {
		padding: 8px 10px;
	}

	.modal-body .form-control {
		height: 42px;
		font-size: 14px;
		margin-bottom: 10px;
	}

	.modal-body label {
		font-size: 13px;
		font-weight: 600;
		margin-bottom: 4px;
		display: block;
	}

	.modal-body .button-form-qoute {
		width: 100%;
		margin: 5px 0;
		height: 42px;
		font-size: 14px;
	}

	.calc .clc2 p {
		font-size: 14px;
		margin-bottom: 5px;
	}

	/* Footer */
	.footer-widgets {
		padding: 35px 0 15px;
	}

	.footer-widgets .widget {
		margin-bottom: 30px;
		text-align: center;
	}

	.footer-widgets .textwidget img {
		margin: 0 auto 15px;
		display: block;
	}

	.menu-our-services {
		text-align: left;
		display: inline-block;
	}

	.widget-contact ul {
		text-align: center;
	}

	.widget-socials .socials {
		text-align: center;
		margin: 15px 0;
	}

	#scroll-top {
		right: 15px;
		bottom: 15px;
		width: 40px;
		height: 40px;
		line-height: 40px;
		font-size: 16px;
	}

	/* Legacy image and box helpers */
	.imagebox.style1 .imagebox-image img,
	.featured-post a img,
	.imagebox.style3 .imagebox-image a img {
		width: 100%;
	}

	.iconbox.style1,
	.imagebox.style1,
	.text-box,
	.counter-title,
	.iconbox.style2,
	.branch,
	.imagebox.style3,
	.iconbox.style4 {
	    margin-bottom: 30px;
	}

	.height60,
	.height70,
	.height45 {
		display: none;
	}
	
	.flat-qoute {
		padding: 30px 0;
		text-align: center;
	}

	.flat-qoute .btn-qoute,
	.counter-item,
	.counter-title h2 {
		text-align: center;
	}

	.counter-title h2:after {
		left: 50%;
		margin-left: -60px;
	}

	.text-box {
		padding-right: 0;
	}

	.box-item.style3 .text-box h2 {
		font-size: 32px;
		line-height: 32px;
	}

	.flat-list-year ul {
		margin-left: 5px;
	}

	.flat-list-year ul li div:before {
		left: 0;
	}

	.flat-list-year ul li div:after {
		left: -5px;
	}
}

/* 8. Extra Small Phones (max-width: 480px) */
@media only screen and (max-width: 480px) {
	body {
		font-size: 13px;
	}

	.flat-row-title h2,
	.flat-row-title center h2 {
		font-size: 22px;
		line-height: 28px;
	}

	.clc1 label {
		font-size: 12px;
	}

	.header.style2 #logo,
	.header.style4 #logo {
		text-align: left;
	}

	ul.flat-social {
		display: block;
		margin-right: 0;
		margin-top: 10px;
		margin-bottom: 10px;
	}

	.form-qoute .form-qoute-title {
		font-size: 26px;
	}

	.flat-wrap-form .flat-wrap-input,
	.footer-widgets .flat-one-half,
	.counter-item,
	.footer-widgets .widget.widget-nav-menu ul li,
	.imagebox .imagebox-wrap,
	.flat-one-half {
		float: none;
		width: 100%;
	}

	.header-content ul li {
		width: 100%;
		margin-bottom: 20px;
	}

	.header-content ul {
		margin-bottom: 0;
	}

	.about-post.style3 .imagebox .height30 {
		display: none;
	}
	
	.imagebox .imagebox-wrap,
	#contactform .flat-one-half .input-submit {
		margin-bottom: 30px;
	}

	.flat-list-year ul li span {
		margin-top: -5px;
	}

	.flat-list-year ul li div {
		padding-bottom: 30px;
	}

	.flat-list-year ul li div:before {
		left: 25px;
	}

	.flat-list-year ul li div:after {
		left: 20px;
		top: 0;
	}

	.page-title .page-title-heading,
	.page-title .trail-items {
		display: table;
		width: 100%;
		text-align: left;
	}

	.abcd {
		float: none;
	}
	
	ul.flat-infomation li {
		font-size: 12px;
	}
}
