/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.18.2
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
.back-to-top.button {
	border-radius: 0 !important;
	border: none;
	background-color: var(--fs-color-secondary);
	color: var(--color-white);
	right: 5px;
	top: calc(25% + 140px);
	bottom: auto;
	width: 4rem;
	height: 4rem;
	margin: 0;
	line-height: 4rem !important;
	min-height: 4rem;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
}

.back-to-top.button i::before {
	content: "";
	background: url(./assets/icons/back-top.svg) center / contain no-repeat;
	width: 10px;
	display: block;
	height: 18px;
}

#button-contact-vr {
	position: fixed;
	bottom: auto;
	z-index: 99999;
	left: auto !important;
	top: 25%;
	right: 5px !important;
}

#button-contact-vr .button-contact {
	position: relative;
	margin-top: 5px;
	background-color: var(--fs-color-secondary);
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
}

#button-contact-vr .button-contact .phone-vr {
	width: 40px;
	height: 40px;
}

#button-contact-vr .phone-vr-circle-fill {
	width: 40px;
	height: 40px;
	top: 0;
	left: 0;
	-webkit-animation: unset;
	animation: unset;
	box-shadow: unset;
	background-color: unset;
}

#button-contact-vr .phone-vr-img-circle {
	width: 40px;
	height: 40px;
	line-height: 40px;
	top: 0;
	left: 0;
	background-color: unset;
	-webkit-animation: unset;
	animation: unset
}

.phone-vr-img-circle {
	background: transparent !important;
}

#button-contact-vr img {
	max-height: 27px;
}

#phone-vr .phone-vr-circle-fill {
	background: transparent !important;
	box-shadow: none !important;
}

#button-contact-vr #fanpage-vr img {
	max-width: 24px;
	max-height: 24px;
}

@font-face {
	font-family: 'VNF-Narziss';
	font-weight: normal;
	src: url(./assets/fonts/VNF-Narziss-Regular.ttf);
}

:root {
	--color-black: #000000;
	--color-white: #ffffff;
	--color-grey: #cccccc;
	--FontAwesome: 'Font Awesome 5 Free';
	--font-html-size: 62.5%;
	--font-2: 'VNF-Narziss';
	--font-3: 'Philosopher';
	--fs-color-third: #2d2926;
}

.mb-00 * {
	margin-bottom: 0;
}

.row .row:not(.row-collapse) {
	max-width: unset !important;
}

html {
	font-size: var(--font-html-size);
}

body {
	font-size: 1.6rem !important;
}

p {
	margin-bottom: 1.5rem;
}

.dark,
.dark p,
.dark td {
	color: var(--color-white);
}

.dark .widget a,
.dark a {
	color: var(--fs-experimental-link-color);
	text-underline-offset: 0.2rem;
}

.col-child-left>.col-inner {
	margin-right: auto !important;
	margin-left: 0 !important;
}

.col-child-center>.col-inner {
	margin-right: auto !important;
	margin-left: auto !important;
}

.col-child-right>.col-inner {
	margin-right: 0 !important;
	margin-left: auto !important;
}

.off-canvas-left .mfp-content,
.off-canvas-right .mfp-content {
	background-color: hsla(0, 0%, 100%, 1);
}

.off-canvas:not(.off-canvas-center) .nav-vertical li>a {
	font-size: 1em;
	text-transform: capitalize;
	font-weight: 500;
	color: var(--color-black);
}

#header .header-search .icon {
	width: 20px;
	height: 20px;
	min-height: 20px;
	min-width: 20px;
	line-height: 22px;
	border: none;
	background-color: var(--fs-color-third);
}

#header .header-search .icon i {
	font-size: 1rem !important;
	top: -1px;
}

#header #masthead .flex-right .nav-right {
	flex-wrap: nowrap;
	padding-bottom: 10px;
}

.searchform .flex-grow {
	align-items: flex-start;
	display: flex;
	gap: 8px;
}

.searchform select {
	width: max-content;
	margin: 0 0.5rem 0 0;
}

.searchform-wrapper select,
.searchform-wrapper input[type="search"] {
	font-size: 1.6rem;
	margin: 0;
}

#search-lightbox .searchform-wrapper.form-flat .flex-col:last-of-type {
	margin-left: -5rem;
}

.searchform .button.icon {
	margin: 0;
	border-radius: 4px;
}

#search-lightbox .searchform .button.icon {
	font-size: 1.4rem;
}

select.gt_selector.notranslate {
	min-width: 130px;
	box-shadow: unset;
	border: 0.5px solid #767676;
	font-size: 13px;
	border-radius: 3px;
	height: 23px;
	font-weight: normal;
}

.header-block-block-1 {
	width: max-content;
}

#header #masthead .flex-right .nav-right>li {
	width: max-content;
}

.header-nav-main>li.menu-item>a {
	font-size: 1.8rem;
	font-family: var(--font-3);
	color: #666666;
	font-weight: bolder;
	padding: 10px 0;
}

.header-nav-main>li.menu-item>a.active {
	color: var(--primary-color);
}

.header-nav-main.nav-divided>li+li>a:after {
	left: -18px;
	border-left: 1px solid #666666;
}

.header-nav-main>li.menu-item {
	margin: 0 18px;
}

.off-canvas-left .mfp-content,
.off-canvas-right .mfp-content {
	background-color: hsla(0, 0%, 100%, 1);
}

.off-canvas:not(.off-canvas-center) .nav-vertical li>a {
	font-size: 1em;
	text-transform: capitalize;
	font-weight: 500;
	color: var(--color-black);
}

.nav-column>li>a,
.nav-dropdown>li>a,
.nav-vertical-fly-out>li>a,
.nav>li>a {
	color: #2d2926;
}

.logo-footer {
	max-width: 231px;
	margin-bottom: 20px;
}

footer .follow-icons {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

footer .follow-icons a.button {
	margin: 0;
	background-color: #5E5863;
	border-color: #5E5863;
	color: #fff;
}

footer .follow-icons a.button:nth-child(even) {
	border-color: #5E5863;
	background-color: transparent;
	color: #5E5863;
}

.form-title * {
	color: var(--primary-color);
	font-weight: 600;
	font-size: 20px;
	margin-bottom: 14px;
}

.form-footer form {
	margin: 0 0 20px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #5E5863;
	max-width: 270px;
}

.form-footer form input::placeholder {
	color: #848386;
}

.form-footer form input {
	border: 0;
	font-size: 16px;
	height: 32px;
	box-shadow: none;
	padding: 0;
	background: transparent;
	margin: 0;
	width: calc(100%);
}

.form-footer form input:focus {
	background-color: transparent;
	box-shadow: none;
}

.form-footer form .wpcf7-form-control-wrap {
	width: calc(100% - 21px);
	display: block;
}

.form-footer form button {
	width: 21px;
	height: 11px;
	padding: 0;
	background: url(./assets/icons/arr-right.svg) center / contain no-repeat;
	min-height: unset;
	line-height: normal;
	margin: 0;
}

.footer-title * {
	font-size: 22px;
	font-family: var(--font-3);
	font-weight: bold;
	margin-bottom: 25px;
	color: var(--primary-color);
}

.footer-desc {
	color: #5E5863;
}

.footer-desc ul {
	list-style: none;
}

.footer-desc ul li {
	font-size: none;
	margin-left: 0 !important;
}

footer .icon-box {
	margin-bottom: 10px;
}

.absolute-footer {
	padding: 20px 0;
	font-size: 16px;
}

.absolute-footer .container {
	max-width: 100%;
}

.title {
	font-family: var(--font-3);
	font-size: 22px;
}

.title-none {
	font-family: inherit;
}

.title p {
	margin: 0;
}

.title h2 {
	color: var(--primary-color);
	font-family: var(--font-3);
	font-size: 40px;
	margin-bottom: 10px;
}

.title-large h2 {
	font-size: 70px;
}

.dark .title h2 {
	color: inherit;
	text-shadow: 4px 2px #000;
}

.title-banner h1,
.title-banner h2 {
	font-family: var(--font-3);
	font-size: 70px;
}

.title-banner-project * {
	margin: 0 !important;
}

.bg-video.fill {
	z-index: 2;
	width: 100%;
	cursor: pointer;
}

.bg-video.fill img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bg-video.fill i.icon-play {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 22;
	width: 150px;
	font-size: 100px;
	height: 150px;
	background: #848386;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	opacity: 0.7;
}


.button.is-underline {
	font-size: 21px;
	font-weight: normal;
	height: auto;
	min-height: unset;
	line-height: normal;
	min-width: unset;
	width: max-content;
	padding: 0;
}

.button.is-underline::before {
	width: 82% !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	opacity: 1;
}

.row-box-main.row::after {
	display: none;
}

.row-box-main.row {
	padding: 0 33px !important;
	gap: 16px;
}

.row-box-main.row>.col {
	max-width: unset;
	flex-basis: unset;
	padding: 0;
	width: calc(50% - 8px);
}

.row-box-main .box .box-text {
	padding: 0 15px;
	margin: auto;
	font-size: 21px;
	height: 100%;
	text-shadow: 2px 2px 5px #000 !important;
}

.row-box-main .box-text h3 {
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 20px;
	margin-top: auto;
}

.row-box-main-desc {
	margin-top: auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
	margin-bottom: 10px;
}

.row-box-main .box .box-text-inner {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px 0;
	align-items: center;
}

.row-box-main .box .box-text-inner .button {
	width: max-content;
	margin-top: auto;
	border: 1px solid;
	line-height: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	font-size: 14px;
	min-width: 142px;
	text-transform: none;
	padding: 0 10px;
}

.row-box-main .box .box-text-inner .button:hover {
	color: var(--primary-color) !important;
}

.row-gallery.row {
	padding: 0 25px !important;
}

.row-gallery.row .col {
	padding: 0 8px 16px;
}

.row-gallery.row .row {
	margin: 0 -8px !important;
	width: auto !important;
	max-width: unset !important;
}

.row-gallery.row h3 {
	font-size: 68px;
	font-family: var(--font-3);
	font-weight: normal;
}

.col-icon-main * {
	margin: 0 !important;
}

.col-icon-main .icon-box {
	max-width: 310px;
	margin: 0 auto !important;
}

.col-icon-main .icon-box-img {
	width: 120px !important;
	margin: 0 auto 20px !important;
}

.col-icon-main .icon-box-img img {
	padding: 0;
	width: 100%;
	height: 120px;
}

.stack-full-width {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 15px;
	gap: 15px;
	row-gap: 40px;
	flex-wrap: wrap;
}

.rebox {
	display: flex;
	width: 320px;
	max-width: 100%;
	flex-direction: column;
}

.rebox p {
	margin: 0;
}

.rebox h3 {
	font-size: 16px;
	margin-top: 40px;
	margin-bottom: 0;
	font-weight: normal;
	text-align: right;
	margin-top: auto;
}

.row.row-col-box {
	padding: 0 !important;
}

.row-col-box-col-2 .col-inner {
	padding-left: 60px;
	padding-right: 20px;
}

.row-col-box-col-2 .col-inner .title>* {
	margin-bottom: 30px;
}

.row-col-box-col-2 .col-inner .button.primary {
	height: 70px;
	padding: 0 20px;
	font-size: 24px;
	line-height: 70px;
	border-radius: 6px;
	margin-top: 50px;
}

.project-box-cus .box-text {
	padding: 20px 0;
}

.project-box-cus h3 {
	font-family: var(--font-3);
	color: var(--primary-color);
	font-size: 25px;
}

.blog-cus .box-text {
	padding: 16px 0 0;
}

.blog-cus .post-title a {
	font-size: 20px;
	color: var(--primary-color);
	font-family: var(--font-3);
	margin: 0 !important;
}

.blog-cus .post-title {
	margin: 0 0 15px;
}

.blog-cus .from_the_blog_excerpt {
	color: #47484A;
	margin-bottom: 20px;
}

.blog-cus .button {
	color: #47484A;
	font-size: 14px;
	text-transform: none;
	min-height: unset;
	margin: 0 !important;
}

.blog-cus .button::after {
	content: "";
	width: 20px;
	height: 12px;
	background: url(./assets/icons/slider-nav-right.svg) center / contain no-repeat;
	display: inline-block;
	position: relative;
	margin-left: 10px;
	top: 2px;
}

.box-blog-post .is-divider {
	display: none;
}

.blog-wrapper {
	padding-top: 0;
}

header.archive-page-header {
	display: none;
}

.breadcrumbs-main {
	background-color: #EFEFEF;
	padding: 16px 55px;
	/* margin-bottom: 40px; */
}

.ss-form .breadcrumbs-main {
	padding: 0 0 20px;
	background-color: transparent;
}

.rank-math-breadcrumb * {
	margin: 0;
	color: #6F6F6F;
}

.rank-math-breadcrumb .last {
	color: var(--primary-color);
}

.rank-math-breadcrumb .separator {
	margin: 0 5px;
}

.blog-cat ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 40px 0;
}

.blog-cat ul li {
	display: flex;
	margin: 0;
	line-height: 1;
}

.blog-cat ul li+li::before {
	content: "|";
	margin: 0 20px;
	display: inline-block;
	font-size: 32px;
	color: #606060;
	line-height: 45px;
}

.blog-cat ul li a {
	font-size: 26px;
	font-family: var(--font-3);
	color: #606060;
	padding: 10px 0;
	border-top: 2px solid transparent;
	border-bottom: 2px solid transparent;
}

.blog-cat ul li a.active,
.blog-cat ul li a:hover {
	color: var(--primary-color);
	border-bottom-color: var(--primary-color);
}

.meta-box {
	display: none;
}

.search .blog-main {
	padding: 40px 0;
}

.blog-main-list .meta-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #ABABAB;
}

.blog-main-list .meta-box span:first-child::before {
	content: url(./assets/icons/date.svg);
}

.blog-main-list .meta-box span:last-child::before {
	content: url(./assets/icons/note.svg);
}

.blog-main-list .meta-box span {
	display: flex;
	align-items: center;
	gap: 9px;
}

.blog-main-top .box {
	padding: 50px;
	background-color: #EFEFEF;
	display: flex;
	align-items: center;
}

.blog-main-top .box .box-text {
	padding: 0;
	padding-left: 30px;
	vertical-align: unset;
	width: 40%;
}

.blog-main-top .box .blog-post-inner {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.blog-main-top .box .blog-post-inner .post-title {
	font-size: 25px;
	margin-bottom: 70px;
	color: var(--primary-color);
}

.blog-main-top .box .blog-post-inner p.from_the_blog_excerpt {
	font-size: 18px;
	margin-bottom: 50px;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 6;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}

.blog-main-top .box .blog-post-inner a.button {
	width: max-content;
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	color: #000;
	display: flex;
	align-items: center;
	gap: 20px;
}

.blog-main-top .box .blog-post-inner a.button::before {
	content: "";
	width: 66px;
	height: 1px;
	background: #000;
	display: inline-block;
}

.blog-main-list .box {
	padding: 20px;
	background-color: #EFEFEF;
}

.blog-main-list .box-text {
	padding: 0 0 0 20px;
}

.blog-main-list .cat-label {
	font-size: 14px;
	color: #EAA539;
	margin-bottom: 10px;
	opacity: 1;
}

.blog-main-list .box .blog-post-inner .post-title {
	font-size: 16px;
	margin-bottom: 10px;
	color: var(--primary-color);
	margin-top: 0;
}

.blog-main-list .box .blog-post-inner p.from_the_blog_excerpt {
	font-size: 16px;
	margin-bottom: 30px;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 3;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}

span.widget-title {
	background: #000;
	font-size: 20px;
	display: block;
	text-align: center;
	color: #Fff;
	padding: 20px 0;
	font-weight: normal;
}

.widget .is-divider {
	display: none;
}

aside#flatsome_recent_posts-2 {
	background: #efefef;
}

aside#flatsome_recent_posts-2 ul {
	padding: 20px;
}

.recent-blog-posts {
	flex-direction: row-reverse;
	gap: 15px;
	padding: 0;
}

.recent-blog-posts .flex-col.mr-half .badge {
	width: 100px;
	height: 100px;
	object-fit: cover;
}

.recent-blog-posts a {
	font-size: 16px;
	line-height: normal;
	font-weight: 600;
	line-height: 1.5;
}

aside#flatsome_recent_posts-2 ul li+li {
	border-top: 1px solid #ccc;
	padding-top: 20px;
	margin-top: 20px;
}

.blog-single .blog-main {
	padding: 40px 0;
}

.catalogue-box .box-image img {
	object-fit: contain;
	width: auto;
	display: block;
	margin: 0 auto;
}

.catalogue-box .box-image {
	background: #E5E4E0;
	padding: 24px;
}

.catalogue-box .box-text {
	font-size: 14px;
	color: #000;
	padding: 12px 0;
}

.catalogue-box .box-text h3 {
	font-size: 24px;
	color: #000;
	font-family: var(--font-3);
	margin: 0 0 15px;
}

.catalogue-box .box-text .button.primary {
	background: #2C232E;
	height: 38px;
	line-height: 38px;
	min-width: 108px;
	font-weight: normal;
	font-size: 15px;
	margin: 0;
}

.ss-form input[type="tel"],
.ss-form input[type="email"],
.ss-form input[type="text"] {
	background: #fff;
	box-shadow: none;
	border: 1px solid #ccc;
	height: 40px;
	font-size: 14px;
	border-radius: 4px;
}

.ss-form .row {
	max-width: unset;
}

.ss-form form {
	margin-bottom: 0;
}

.ss-form span.wpcf7-list-item-label {
	font-weight: normal;
}

.ss-form input[type="checkbox"] {
	margin: 0 4px 0 0px;
}

span.wpcf7-spinner {
	display: none;
}

.ss-form span.wpcf7-form-control.wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin-top: 10px;
}

.wrap-form {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 20px;
	row-gap: 20px;
	margin-bottom: 20px;
	column-gap: 80px;
}

.wrap-form [data-name="your-type"] {
	width: 280px;
}

.wrap-form select.wpcf7-form-control {
	margin: 0;
	height: 40px;
	border: 1px solid #CCCCCC;
	border-radius: 4px;
}

.wrap-form input.wpcf7-form-control.wpcf7-file {
	margin: 0;
}

.ss-form input.wpcf7-form-control.wpcf7-submit {
	background: linear-gradient(90deg, #0460C1, #003071);
	border: 0;
	height: 40px;
	min-width: 100px;
	margin: 0 auto;
	display: block;
	font-size: 16px;
	border-radius: 4px;
	margin-top: 30px;
}

.banner-project img {
	width: 100%;
	height: 196px;
	object-fit: contain;
	background: #424e5a;
}

.info-project-list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	max-width: 500px;
	margin-top: 50px;
}

.info-project-item {
	width: calc(50% - 15px);
	display: flex;
	flex-direction: column;
}

.info-project {
	padding: 40px 0;
}

.info-project-gallery ul {
	list-style: none;
	margin-top: 30px;
	column-count: 4;
	width: 100%;
	gap: 0;
}

.info-project-gallery ul li {
	margin: 0;
	display: inline-block;
	vertical-align: top;
	width: 100%;
}

.info-project-gallery ul li img {
	width: 100%;
}

.project-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	padding: 0 15px 0 70px;
	margin-top: -50px;
	position: relative;
	z-index: 2;
}

.project-nav ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	list-style: none;
	width: 75%;
	padding: 20px 12px;
	margin: 0;
	position: relative;
	z-index: 2;
	background: #fff;
}

.project-nav ul li {
	width: 20%;
	padding: 0 15px;
}

.project-nav ul li a {
	display: flex;
	align-items: center;
	flex-direction: column;
	text-align: center;
	gap: 10px;
	font-weight: 600;
}

.project-nav ul li img {
	aspect-ratio: 16/9;
	object-fit: cover;
	width: 100%;
}

.project-main-item {
	padding: 50px 0;
}

.title-project {
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 50px;
}

.title-project h3 {
	font-size: 32px;
	font-weight: normal;
	margin-bottom: 0;
	color: var(--primary-color);
}

.title-project h2 {
	font-size: 50px;
	margin-bottom: 10px;
	color: var(--primary-color);
}

.project-box {
	display: block;
	position: relative;
	overflow: hidden;
}

.project-box img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
}

.project-box-desc {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: end;
	padding: 40px;
	color: #fff;
	font-size: 14px;
}

.project-box-desc h3 {
	color: #fff;
	font-family: inherit;
	font-size: 20px;
	margin-bottom: 5px;
}

a.project-link {
	text-align: center;
	display: block;
	width: max-content;
	margin: 0 auto;
	font-size: 20px;
	text-transform: uppercase;
	text-decoration: underline;
}

.gallery-product {
	display: flex;
	flex-wrap: wrap;
}

.gallery-product-left {
	max-width: 80px;
	margin-right: 2%;
	flex: 1 1 100%;
}

.gallery-product-right {
	flex: 1 1 0;
}

.carousel.carousel-main {
	display: flex;
}

.carousel-nav {
	width: 370px;
	height: 80px;
	transform: rotate(90deg) translate(50px, -100%);
	transform-origin: left top;
}

.carousel-cell {
	transform: rotate(-90deg);
	width: 80px;
	height: 80px;
	cursor: pointer;
	font-size: 1.4rem;
}

.carousel-nav .flickity-slider>div:not(.col).carousel-cell {
	width: 80px !important;
	margin-right: 1rem;
	border: 1px solid #ccc;
	padding: 2px;
}

.carousel-nav .flickity-slider>div:not(.col).carousel-cell.is-selected {
	background-color: #EAA539;
}

.carousel-main .carousel-cell {
	width: 100%;
	font-size: 5rem;
	padding-bottom: 56.25%;
	height: auto;
	transform: none;
}

.carousel-nav .carousel-cell img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.carousel-main .carousel-cell video,
.carousel-main .carousel-cell img {
	width: 100%;
	aspect-ratio: 1/1;
	min-height: 442px;
	object-fit: cover;
}


.carousel-cell.video-cell {
	position: relative;
}

.carousel-cell.video-cell i.icon-play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	width: 40px;
	height: 40px;
	border: 1px solid #fff;
	margin: auto;
	color: #fff;
	border-radius: 100%;
}

.info-product {
	background-color: #efefef;
	padding-bottom: 30px;
}

.info-product h1 {
	font-size: 30px;
	margin-bottom: 0;
	font-weight: bold;
}

.sku-product {
	font-size: 18px;
}

.info-product-desc {
	margin: 30px 0;
	padding: 0;
}

.info-product-share label {
	color: var(--primary-color);
	margin-bottom: 10px;
	font-size: 14px;
}

.info-product-gallery {
	background-color: #fff;
	padding-top: 30px;
	padding-bottom: 30px;
}

.info-product-gallery .row {
	max-width: 100%;
}

.product-tab {
	background-color: #fff;
	margin-top: 30px;
	padding: 30px;
}

.product-tab .gallery {
	justify-content: center;
}

.product-tab .gallery img {
	width: 100%;
}

.product-tab td,
.product-tab th {
	padding: 10px;
}

.product-tab tr:nth-child(even) {
	background-color: #efefef;
}

.product-tab .nav>li>a {
	font-family: var(--font-3);
	font-size: 26px;
	font-weight: normal;
	color: #454545;
	text-decoration: underline;
	text-underline-offset: 8px;
}

.product-tab .nav>li.active>a {
	color: var(--primary-color);
	text-decoration-color: var(--primary-color);
}

.info-product-content h3 {
	width: max-content;
	max-width: 100%;
	background-color: var(--primary-color);
	padding: 10px;
	color: #fff;
	line-height: 1;
	position: relative;
}

.info-product-content h3::after {
	content: "";
	position: absolute;
	top: 0;
	left: calc(100% - 0.5px);
	width: 20px;
	height: 100%;
	background: var(--primary-color);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.info-product-btn a {
	display: inline-block;
	height: 42px;
	text-align: center;
	min-width: 175px;
	line-height: 42px;
	font-size: 16px;
	border-radius: 6px;
	background-color: var(--primary-color);
	color: #fff;
	font-weight: bold;
	margin-right: 15px;
	margin-bottom: 25px;
}

.info-product-btn a.ouline {
	background-color: transparent;
	border: 1px solid #ccc;
	color: #000;
}

.accordion .accordion-item {
	background: #efefef;
	margin-bottom: 10px
}

.accordion .accordion-title {
	padding: 10px 50px;
	background: transparent;
	border-top: 0;
}

.accordion .accordion-inner {
	padding: 10px 50px;
	position: relative;
}

.accordion .accordion-title::before {
	content: "Q";
	background: green;
	color: #fff;
	display: block;
	position: absolute;
	left: 16px;
	height: 20px;
	width: 20px;
	font-size: 13px;
	text-align: center;
	line-height: 18px;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 100%;
}

.accordion .accordion-inner::before {
	content: "A";
	background: var(--primary-color);
	color: #fff;
	display: block;
	position: absolute;
	left: 16px;
	height: 20px;
	width: 20px;
	font-size: 13px;
	text-align: center;
	line-height: 18px;
	top: 15px;
	border-radius: 100%;
}

.accordion .accordion-title .toggle {
	position: absolute;
	right: 10px;
	left: auto;
	top: 50%;
	transform: translateY(-50%);
	color: var(--primary-color);
	opacity: 1;
	font-size: 14px;
}

.product-ar-desc {
	background: linear-gradient(to right, #0460C1, #003071);
	color: #fff;
	padding: 10px 15px;
	text-align: center;
	font-size: 22px;
	text-transform: uppercase;
}

.info-filter {
	padding: 0 0 20px;
}

.product-ar-filter {
	padding: 0 15px;
}

ul.product-cat-list {
	display: flex;
	list-style: none;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0;
	margin: 0;
	row-gap: 10px;
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: -ms-autohiding-scrollbar;
}

ul.product-cat-list li {
	margin: 0;
}

.product-cat-list>span {
	margin: 0 10px;
	line-height: normal;
	width: 1px;
	height: 40px;
	background: #ABABAB;
}

.product-cat-list>span:last-child {
	display: none;
}

ul.product-cat-list li {
	font-size: 16px;
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

ul.product-cat-list li a {
	display: flex;
	align-items: center;
	gap: 10px;
	line-height: 1;
	color: #333333;
}

ul.product-cat-list li a.active,
ul.product-cat-list li a:hover {
	color: var(--primary-color);
}

ul.product-cat-list li img,
ul.product-cat-list li svg {
	line-height: 0;
}

.product-ar-filter-bottom {
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 40px;
	margin-bottom: 80px;
	flex-wrap: wrap;
}

.product-ar-filter-bottom .searchform-wrapper {
	width: 300px;
	max-width: 100%;
}

.product-ar-filter-bottom .searchform-wrapper input#s {
	border-radius: 0;
	width: 100%;
	padding-left: 20px;
	height: 45px;
}

.product-ar-filter-bottom .orderby-group {
	display: flex;
	align-items: center;
	gap: 40px;
}

.product-ar-filter-bottom .orderby-group * {
	margin: 0;
	font-weight: normal;
	font-size: 16px;
}

.product-ar-list {
	/* padding-bottom: 50px; */
}

.product-box-img {
	overflow: hidden;
	display: block;
}

.product-box-img img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
}

.product-box h3 {
	font-weight: 600;
	font-size: 20px;
	margin: 15px 0;
}

.product-box-desc a {
	display: block;
	width: 100%;
	height: 54px;
	line-height: 54px;
	font-size: 14px;
	font-weight: bold;
	color: #333333;
	text-align: center;
	border: 1px solid #333333;
}

ul.page-numbers.nav-pagination .page-number {
	background: transparent;
	color: #000;
	font-weight: normal;
	border: 0;
	height: unset;
	width: unset;
	min-width: unset;
	min-height: 20px;
	line-height: normal;
	padding: 0 10px;
	font-size: 20px;
}

ul.page-numbers.nav-pagination li+li::before {
	border-left: 1px solid #c9c9c9;
	content: "";
	position: absolute;
	left: 0;
	height: 20px;
	top: 50%;
	transform: translateY(-50%);
}

ul.page-numbers.nav-pagination li {
	margin: 0;
	position: relative;
	line-height: normal;
	padding: 0 10px;
	display: flex;
	align-items: center;
}

ul.page-numbers.nav-pagination .page-number i {
	line-height: 0;
}

ul.page-numbers.nav-pagination .page-number i::before {
	content: "";
	background: url(./assets/icons/slider-nav-right.svg) center / 20px 12px no-repeat;
	display: block;
	width: 40px;
	height: 40px;
	border: 1px solid #000;
	border-radius: 100%;
}

ul.page-numbers.nav-pagination .page-number i.icon-angle-left::before {
	content: "";
	background: url(./assets/icons/slider-nav-left.svg) center / 20px 12px no-repeat;
}

ul.page-numbers.nav-pagination .page-number i:hover::before {
	background: url(./assets/icons/slider-nav-right-white.svg) center / 20px 12px no-repeat;
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}

ul.page-numbers.nav-pagination .page-number i.icon-angle-left:hover::before {
	background: url(./assets/icons/slider-nav-left-white.svg) center / 20px 12px no-repeat;
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}

ul.page-numbers.nav-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	margin: 40px 0 0;
}

.ab-desc {
	font-size: 20px;
	z-index: 2;
	position: relative;
}

.ab-desc ul {
	list-style: none;
	/* bỏ bullet mặc định */
	margin: 0;
	padding: 0;
}

.ab-desc ul li {
	position: relative;
	margin: 0 0 30px 50px;
	padding-left: 50px;
}

.ab-desc ul li::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 43px;
	height: 30px;
	background: url(./assets/icons/wave.svg) no-repeat center/contain;
}

.bg-col img {
	width: auto !important;
}

.bg-col {
	position: absolute;
	width: auto !important;
	bottom: -100px;
	max-width: 600px;
	right: 0;
}

.cus-icon .icon-box-img {
	margin-bottom: 20px;
}

.cus-icon .icon-box-img img {
	height: 80px;
	object-fit: contain;
	object-position: bottom;
}

.gallery-main .box-image {
	border: 1px solid #848386;
}


.gallery-main .box-image img {
	object-fit: contain;
	width: calc(100% - 30px);
	height: calc(100% - 30px);
	top: 15px;
}

.gallery-main a {
	color: #000;
}

div#swal2-content {
	font-size: 16px;
}

@media only screen and (min-width: 550px) {

	.gallery-main .box-text {
		padding: 20px 0 0;
		font-size: 16px;
	}

	.gallery-main .col {
		padding-bottom: 80px;
	}

	.gallery-product .flickity-button.previous {
		top: 0;
		left: -40px;
		right: auto;
		bottom: 0;
		margin: auto;
		transform: unset !important;
		opacity: 0.4 !important;
		visibility: visible;
	}

	.gallery-product .flickity-button.next {
		top: 0;
		left: auto;
		right: -40px;
		bottom: 0;
		margin: auto;
		transform: unset !important;
		opacity: 0.4 !important;
		visibility: visible;
	}

}

@media only screen and (min-width: 850px) {
	.menu-img ul.sub-menu {
		display: flex;
		padding: 0;
		top: calc(100% + 10px);
	}

	.nav-dropdown-has-arrow li.has-dropdown:before {
		bottom: -22px !important;
	}

	.menu-img ul.sub-menu::before {
		content: "";
		border: solid transparent;
		position: absolute;
		bottom: 100%;
		border-width: 11px;
		border-bottom-color: #fff;
		margin-left: 48px;
	}

	.menu-img::after {
		display: none !important;
		opacity: 0 !important;
	}


	.menu-img ul.sub-menu>li>a {
		display: flex;
		justify-content: center;
		flex-direction: column;
		padding: 20px;
		width: max-content;
		align-items: center;
		gap: 10px;
		font-size: 14px;
		font-family: var(--font-3);
		text-transform: uppercase;
	}

	.menu-img ul.sub-menu>li>a>img.ux-menu-icon {
		width: 200px;
		margin: 0;
		aspect-ratio: 4/3;
		object-fit: cover;
	}

	.menu-img ul.sub-menu>li>a:hover {
		background: rgb(1 41 143 / 10%);
	}

	div#logo {
		margin-right: 67px;
	}

	.header-inner.flex-row.container.logo-left.medium-logo-center {
		padding: 0 50px 0 0;
		align-items: end;
	}

	#header .header-wrapper:not(.stuck) #masthead .flex-right .nav-right {
		padding-bottom: 24px;
	}

	#header .header-wrapper:not(.stuck) .header-nav-main>li>a {
		padding: 24px 0
	}

	#logo img {
		height: 107px;
		object-fit: cover;
		width: 255px;
	}

	.slider-nav-circle .flickity-prev-next-button svg {
		display: none;
	}

	.slider-nav-circle .flickity-prev-next-button::after {
		content: "";
		width: 40px;
		height: 40px;
		display: block;
		border-radius: 50%;
		background-color: transparent;
		border: 3px solid #000;
		background: url(./assets/icons/slider-nav-left.svg) center / 20px 12px no-repeat;
	}

	.slider-nav-circle .flickity-prev-next-button.next::after {
		background: url(./assets/icons/slider-nav-right.svg) center / 20px 12px no-repeat;
	}

	.slider-nav-light.slider-nav-circle .flickity-prev-next-button.previous::after {
		background: url(./assets/icons/slider-nav-left-white.svg) center / 20px 12px no-repeat;
		border-color: #fff;
	}

	.slider-nav-light.slider-nav-circle .flickity-prev-next-button.next::after {
		border-color: #fff;
		background: url(./assets/icons/slider-nav-right-white.svg) center / 20px 12px no-repeat;
	}

	.title-banner-project p {
		font-size: 32px;
	}
}

@media only screen and (min-width: 1200px) {
	.product-ar-filter {
		padding: 0 55px;
	}


	.info-product-main {
		padding-top: 39px;
		padding-left: 50px;
	}

	.product-tab .nav {
		column-gap: 100px;
	}

	.info-product-content {
		font-size: 16px;
	}

	.single-product .breadcrumbs-main {
		padding-left: 144px;
		padding-right: 144px;
	}

	.info-product-wrap {
		padding-left: 144px;
		padding-right: 144px;
	}

	.project-main-item .row {
		padding: 0 30px;
		max-width: 100%;
	}

	.absolute-footer .container {
		padding: 20px 55px;
	}

	.row-full-width.row {
		padding: 0 40px;
	}

	.slider-nav-outside .flickity-prev-next-button.previous {
		right: calc(100% + 50px);
	}

	.slider-nav-outside .flickity-prev-next-button.next {
		left: calc(100% + 50px);
	}

}

@media only screen and (max-width: 1500px) {

	.blog-main-top .box .blog-post-inner .post-title {
		margin-bottom: 30px;
	}

	.blog-main-top .box .blog-post-inner p.from_the_blog_excerpt {
		margin-bottom: 30px;
	}
}

@media only screen and (max-width: 1200px) and (min-width: 850px) {
	div#logo {
		margin-right: 20px
	}

	#header .header-wrapper:not(.stuck) #masthead .flex-right .nav-right {
		padding-bottom: 27px;
	}

	#header .header-wrapper:not(.stuck) .header-nav-main>li>a {
		padding: 24px 0;
	}

	.breadcrumbs-main {
		padding: 16px 15px;
	}
}

@media only screen and (max-width: 1200px) {

	.bg-video.fill i.icon-play {
		width: 100px;
		height: 100px;
		font-size: 50px;
	}

	.row-gallery.row h3 {
		font-size: 40px;
	}

	.row-col-box-col-2 .col-inner .title>* {
		margin-bottom: 20px;
	}

	.row-col-box-col-2 .col-inner .title {
		font-size: 14px;
	}

	.row-col-box-col-2 .col-inner .button.primary {
		height: 50px;
		padding: 0 10px;
		font-size: 16px;
		line-height: 50px;
		margin-top: 0;
	}

	.blog-cat ul li+li::before,
	.blog-cat ul li a {
		font-size: 20px;
	}

	.blog-cat ul li+li::before {
		margin: 0 10px;
		line-height: 44px;
	}

	.blog-main-list .box .blog-post-inner .post-title {
		font-size: 20px
	}

	.blog-main-list .box .blog-post-inner p.from_the_blog_excerpt {
		font-size: 14px;
		margin-bottom: 10px
	}

	.header-block-block-1 {
		display: none
	}
}

@media only screen and (max-width: 849px) {
	/*************** ADD TABLET CSS HERE  ***************/

	.select-resize-ghost,
	.select2-container .select2-choice,
	.select2-container .select2-selection,
	input[type='date'],
	input[type='email'],
	input[type='number'],
	input[type='password'],
	input[type='search'],
	input[type='tel'],
	input[type='text'],
	input[type='url'],
	select,
	textarea {
		font-size: 1.6rem;
	}

	#header .header-search .icon {
		width: 3rem;
		height: 3rem;
		min-height: 3rem;
		min-width: 3rem;
		line-height: 3rem;
	}

	#header .header-search .icon i {
		font-size: 14px !important;
	}

	.gtranslate_wrapper,
	select.gt_selector.notranslate {
		height: 40px;
		width: 100%;
		font-size: 14px;
	}

	#search-lightbox .mfp-close {
		top: -37px !important;
	}

	.title {
		font-size: 16px;
	}

	.title-banner h1,
	.title-banner h2 {
		font-size: 40px;
	}

	.title h2 {
		font-size: 30px;
	}

	.row-box-main.row>.col {
		width: calc(100%);
	}

	.col-icon-main .icon-box-img {
		width: 60px !important;
		margin: 0 auto 10px !important;
	}

	.col-icon-main .icon-box {
		font-size: 14px;
	}

	.col-icon-main .icon-box-img img {
		height: 60px;
	}

	.row-col-box-col-2 .col-inner .button.primary {
		height: 30px;
		line-height: 33px;
		font-size: 14px;
	}

	.breadcrumbs-main {
		padding: 16px;
		text-align: center;
	}

	.blog-main-top .box {
		padding: 20px;
	}

	.blog-main-top .box .blog-post-inner .post-title {
		font-size: 16px;
		margin-bottom: 20px;
	}

	.blog-main-top .box .blog-post-inner p.from_the_blog_excerpt {
		margin-bottom: 20px;
		font-size: 14px;
		-webkit-line-clamp: 3;
	}

	.blog-main-top .box .blog-post-inner a.button {
		font-size: 12px;
	}

	.blog-main-top .box .blog-post-inner a.button::before {
		width: 50px;
	}

	.blog-main-top .box .box-text {
		padding-left: 20px;
	}

	.ss-form span.wpcf7-form-control.wpcf7-checkbox {
		justify-content: unset;
	}

	.product-ar-filter-bottom {
		justify-content: center;
		gap: 20px;
		margin: 30px 0
	}

	.product-ar-filter-bottom .orderby-group {
		gap: 20px
	}

	#header #masthead .flex-right .nav-right {
		padding-bottom: 0;
	}

	.project-nav ul {
		width: 100%;
		padding: 0;
		margin: 0 -15px;
	}

	.project-nav {
		margin: 30px 0 0;
		padding: 0 15px;
	}
}

@media only screen and (max-width: 549px) {

	/*************** ADD MOBILE ONLY CSS HERE  ***************/
	.bg-video.fill i.icon-play {
		width: 60px;
		height: 60px;
		font-size: 30px;
	}

	.title {
		font-size: 14px;
	}

	.title h2 {
		font-size: 24px;
	}

	.button.is-underline {
		font-size: 14px;
	}

	.row-box-main.row {
		padding: 0 15px !important;
	}

	.row-box-main .box .box-text {
		font-size: 14px;
	}

	.row-box-main .box-text h3 {
		font-size: 20px;
	}

	.row-gallery.row {
		padding: 0 7px !important;
	}

	.col-icon-main .icon-box {
		font-size: 10px;
	}

	.rebox h3 {
		margin-top: 20px;
	}

	.row-col-box-col-2 .col-inner {
		padding: 20px 15px;
		text-align: center;
	}

	.row-col-box-col-2 .col-inner .title>* {
		margin-bottom: 10px;
	}

	.blog-cat ul li a {
		font-size: 16px;
		padding: 5px 0;
	}

	.blog-cat ul li+li::before {
		line-height: 28px;
	}

	.blog-main-top .box {
		display: block;
		padding: 15px;
	}

	.blog-main-top .box .box-text {
		width: 100%;
		padding: 20px 0 0;
	}

	.blog-cat ul {
		margin: 20px 0;
	}

	.blog-main-list .box {
		padding: 15px
	}

	.blog-main-list .box-text {
		padding: 20px 0 0
	}

	.blog-main-list .box .blog-post-inner p.from_the_blog_excerpt {
		margin-bottom: 14px;
	}

	.blog-main-list .box .blog-post-inner .post-title {
		font-size: 16px;
		margin: 10px 0;
	}

	.project-box-desc {
		padding: 20px;
	}

	.project-main-item {
		padding: 30px 0 0;
	}

	.title-project {
		margin-bottom: 20px;
	}

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

	.title-project h2 {
		font-size: 30px;
	}

	.gallery-product {
		flex-direction: column-reverse;
	}

	.gallery-product-left {
		max-width: 100%;
		margin-right: 0;
		margin-top: 10px;
		flex: unset;
	}

	.gallery-product-right {
		flex: unset;
	}

	.carousel-cell {
		transform: unset;
	}

	.carousel-nav {
		width: 100%;
		height: 80px;
		transform: unset;
	}

	.carousel-main .carousel-cell video,
	.carousel-main .carousel-cell img {
		min-height: unset;
	}

	.product-tab .nav>li>a,
	.info-product h1 {
		font-size: 20px;
	}

	.ab-desc ul li {
		margin-left: 0;
	}

	.project-nav ul>li {
		flex: 0 0 auto;
		width: max-content;
		max-width: 150px;
	}

	.project-nav ul {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: -ms-autohiding-scrollbar;
		width: unset;
	}

	.catalogue-box .box-text h3 {
		font-size: 20px;
	}
}

b,
strong {
	font-weight: bold;
}