/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Ban Hong Elementor template pack support styles */
.bh-card {
	min-height: 100%;
}

.bh-card .elementor-widget-image {
	overflow: hidden;
	border-radius: 8px;
	background: #f5fafb;
}

.bh-card .elementor-widget-image img,
.bh-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bh-ratio-66 img {
	aspect-ratio: 3 / 2;
}

.bh-ratio-56 img {
	aspect-ratio: 16 / 9;
}

.bh-card .elementor-heading-title {
	letter-spacing: 0;
}

.bh-site-header {
	position: relative;
	z-index: 10;
}

.bh-site-header p,
.bh-site-footer p {
	margin: 0;
}

.bh-header-logo img {
	max-width: 156px;
	height: auto;
	object-fit: contain;
}

.bh-header-nav .elementor-button,
.bh-footer-links .elementor-button {
	white-space: nowrap;
}

.bh-header-nav .elementor-button:hover,
.bh-footer-links .elementor-button:hover {
	color: #6ec1e4;
}

.bh-footer-brand .bh-header-logo img {
	background: #fff;
	border-radius: 8px;
	padding: 8px;
}

@media (max-width: 1024px) {
	.elementor .e-con.e-flex[style] {
		max-width: 100%;
	}

	.bh-header-main,
	.bh-header-top,
	.bh-site-footer > .e-con-inner > .e-con,
	.bh-site-footer .e-con {
		gap: 18px;
	}

	.bh-footer-brand,
	.bh-footer-links,
	.bh-footer-contact {
		width: 100% !important;
	}
}

@media (max-width: 767px) {
	.bh-card {
		min-height: auto;
	}

	.bh-ratio-66 img,
	.bh-ratio-56 img {
		aspect-ratio: 4 / 3;
	}

	.bh-header-top,
	.bh-header-main,
	.bh-header-nav,
	.bh-footer-bottom {
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	.bh-header-nav {
		width: 100%;
	}

	.bh-header-nav .elementor-widget-button:last-child {
		width: 100%;
	}

	.bh-header-nav .elementor-widget-button:last-child .elementor-button {
		width: 100%;
		text-align: center;
	}
}

#site-header { padding: 0; }
#site-header .header-inner { max-width: 1312px; gap: 24px; }
#site-header .header-inner .site-logo { max-width: 80px; }
#site-header .header-inner .site-navigation .menu > li { align-items: center; }
#site-header .header-inner .site-navigation .menu > li.menu-item-has-children:after { content: ''; width: 8px; height: 8px; transform: rotate(45deg); border-right: 1px solid #000; border-bottom: 1px solid #000; position: relative; bottom: 4px; }
#site-header .header-inner .site-navigation .menu > li > a { font-weight: 600; }
#site-header .header-inner .site-navigation .sub-menu { white-space: nowrap; }
#site-header .header-inner .site-navigation-toggle-holder { padding: 0; }
#site-header .header-inner .site-navigation-toggle { background: transparent; }
#site-header .header-inner .site-navigation-dropdown .menu { border-top: 1px solid #ddd; }
#site-header .header-inner .site-navigation-dropdown .menu > li > a { padding: 16px; }
#site-header .header-inner .site-navigation-dropdown .menu > li.current-menu-item > a { background: transparent; color: #6ec1e4; font-weight: 600; }
#site-header .header-inner .site-navigation-dropdown .menu > li.menu-item-has-children > a { display: flex; align-items: center; justify-content: space-between; }
#site-header .header-inner .site-navigation-dropdown .menu > li.menu-item-has-children > a:after { content: ''; display: block; width: 8px; height: 8px; transform: rotate(45deg); border-right: 1px solid #000; border-bottom: 1px solid #000; position: relative; bottom: 2px; }
#site-header .header-inner .site-navigation-dropdown .sub-menu > li > a { background: #f9f9f9; color: initial; padding: 16px 16px 16px 24px; }
@media (max-width: 767px) {
	#site-header .header-inner .site-logo { max-width: 50px; }
}

#site-footer { background: #123B5D; padding: 48px 16px 16px; }
#site-footer * { color: #fff; text-align: left; }
#site-footer .footer-inner { max-width: 1312px; align-items: flex-start; flex-wrap: wrap; gap: 24px; }
#site-footer .footer-inner .site-branding { flex: 0 0 calc(33% - 24px); }
#site-footer .footer-inner .site-logo { max-width: 80px; }
#site-footer .footer-inner .site-info h3 { font-weight: 600; font-size: 20px; }
#site-footer .footer-inner .site-navigation { flex: 0 0 67%; }
#site-footer .footer-inner .site-navigation * { color: #fff; }
#site-footer .footer-inner .site-navigation .menu { display: flex; width: 100%; }
#site-footer .footer-inner .site-navigation .menu > li { flex: 1; flex-direction: column; }
#site-footer .footer-inner .site-navigation .menu > li:after { display: none; }
#site-footer .footer-inner .site-navigation .menu > li > a { font-size: 20px; font-weight: 600; padding: 12px 0; }
#site-footer .footer-inner .site-navigation .sub-menu { background: transparent; display: flex; flex-direction: column; padding: 0 0 0 12px; position: static; }
#site-footer .footer-inner .site-navigation .sub-menu > li { border: 0; }
#site-footer .footer-inner .site-navigation .sub-menu > li > a { font-size: 16px; font-weight: 600; padding: 12px 0; }
#site-footer .footer-inner .copyright { flex: 0 0 100%; justify-content: flex-start; padding: 16px 0 0; margin: 0; border-top: 1px solid rgba(255,255,255,0.18); text-align: left; font-size: 12px; }
@media (max-width: 767px) {
	#site-footer .footer-inner { flex-direction: column; }
	#site-footer .footer-inner .site-navigation { text-align: left; }
	#site-footer .footer-inner .site-navigation .menu { flex-direction: column; gap: 24px; }
}