body#top {
	font-size: 16px;
	font-weight: 400;
	font-family: Roboto;
	line-height: 28px;
	letter-spacing: 0.5px;
}

h1,
h2,
h3,
h4,
h5,
h6,
#top .title_container .main-title,
tr.pricing-row td,
#top .portfolio-title,
.callout .content-area,
.avia-big-box .avia-innerbox,
.av-special-font,
.av-current-sort-title,
.html_elegant-blog #top .minor-meta,
#av-burger-menu-ul li {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
}

/* header */
body#top #header_main .main_menu .avia-menu>ul>li:not(.av-burger-menu-main) {
	&>a {
		display: inline-flex;
		align-items: center;
		max-width: 150px;
		line-height: normal;
		justify-content: center;
		text-align: center;

		& span {
			font-family: "Montserrat", sans-serif;
			font-size: 12px;
			letter-spacing: 0.5px;
			text-transform: uppercase;
			padding-right: 0px;
			padding-left: 0px;
			margin: 1px;
			transition: 0.4s;
			font-weight: 700;
			position: relative;

			&::after {
				content: "";
				position: absolute;
				width: 0;
				height: 2px;
				left: 0;
				bottom: -5px;
				opacity: 0;
				transition: all 300ms ease-out;
			}
		}

		& .avia-menu-fx {
			display: none;
		}
	}

	&.current-menu-item a span::after,
	&>a:hover span::after {
		opacity: 1;
		width: 100%;
		background: var(--enfold-header-color-color);
	}
}

.html_header_top.html_header_sticky body:not(.home) #header:not(.isScrolled) .main_menu .avia-menu>ul>li>a {
	color: #fff;

	& span:not(.av-hamburger-inner)::after {
		background-color: #fff !important;
	}
}

.html_header_top.html_header_sticky #header:not(.isScrolled) .main_menu .avia-menu>ul>li.current-menu-item>a,
.html_header_top.html_header_sticky #header:not(.isScrolled) .main_menu .avia-menu>ul>li.current_page_item>a,
.html_header_top.html_header_sticky #header:not(.isScrolled) .main_menu .avia-menu>ul>li.active-parent-item>a {
	color: var(--enfold-header-color-color);
}

body#top #header_main .main_menu .avia-menu .sub-menu {
	border: none;
	padding: 15px;

	& li {
		border-bottom: 1px solid rgb(244, 244, 244);

		& a {
			font-size: 15px;
			font-weight: 400;
			position: relative;
			background-color: transparent;
			padding: 5px 0px;
			transition: 0.4s;
		}

		&:last-child {
			border: none;
		}
	}
}

.html_header_top.html_header_sticky {
	& #main {
		padding-top: 57px;
	}

	& .header_bg {
		opacity: 0;
	}
}

.html_header_top.html_header_sticky body.home {
	& #main {
		padding-top: 145px;
	}

	& .header_bg {
		opacity: 1;
	}
}

.html_header_top.html_header_sticky #header {
	transition: height 300ms linear, transform 300ms linear;
	-ms-transform: translateY(0);
	transform: translateY(0);

	&.isScrolled {
		transform: translateY(-56px);

		& .header_bg {
			opacity: 1;
		}
	}
}

body#top #header_meta {
	padding: 3px 0px;

	& .header-meta-inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	&.av_icon_active_right .header-meta-inner {
		flex-flow: row-reverse;
	}

	& ul.header-top-bar {
		display: flex;
		list-style: none;
		margin: 0px;
		padding: 0px;
		align-items: center;
		gap: 30px;

		& li span {
			color: #fff;
			font-size: 16px;
			line-height: 24px;
		}
	}

	& .header-top-bar-custom {
		display: flex;
		align-items: center;

		& ul.social_bookmarks {
			float: none;
			margin-right: 20px;

			& li a {
				color: #bdbdbd;
				font-size: 16px;
				width: 36px;
				height: 32px;
			}
		}

		& a.avia-button {
			height: 32px;
			padding: 5px 24px;
		}
	}
}

.html_header_top.html_header_sticky body.home .banner-em2 {
	height: calc(80vh);
}

body#top .custom-breadcrrumb-container {
	width: 1400px;
	display: block;
	word-break: break-word;
	margin: 0 auto;
	position: relative;
	background: #fff;

	&::before {
		width: 100%;
		left: 0;
		content: "";
		position: absolute;
		background-color: #fff;
		height: 48px;
		top: -48px;
	}
}

body#top .title_container .breadcrumb {
	border: none;
	padding: 0px;
	margin: 0px;

	& .sep {
		display: none;
	}

	.breadcrumb-trail>span:not(.trail-end)::after {
		display: inline-block;
		top: 50%;
		width: 4px;
		height: 4px;
		margin-left: 16px;
		margin-right: 16px;
		text-align: center;
		position: relative;
		vertical-align: middle;
		content: "";
		background-color: var(--enfold-header-color-color);
	}

	.breadcrumb-trail span {
		font-family: Montserrat;
		font-weight: 400;
		font-size: 16px;
		letter-spacing: 0px;
		text-transform: none;
		color: #616161;

		&.trail-end {
			opacity: 0.7;
		}
	}

	.breadcrumb-trail a {
		transition: all 0.3s ease-out;
		position: relative;

		&::before {
			display: block;
			position: absolute;
			width: 0;
			height: 2px;
			content: "";
			bottom: -4px;
			left: 0;
			transition: all 700ms cubic-bezier(.19, 1, .22, 1);
			opacity: .5;
			background-color: #616161
		}

		&:hover span {
			color: #616161 !important;
		}

		&:hover::before {
			width: 100%;
		}
	}
}

/* footer */
body#top #footer-page .content .flex_column {
	color: var(--enfold-footer-color-meta);

	& .widgettitle {
		position: relative;
		margin-top: 0;
		font-size: 14px;
		line-height: 24px;
		text-transform: uppercase;
		letter-spacing: .5px;
		display: inline-block;
		color: #fff;
		font-weight: 700;
		margin-bottom: 24px;

		&::before {
			display: block;
			content: "";
			position: absolute;
			top: 50%;
			right: -40px;
			width: 24px;
			height: 2px;
			margin-top: -1px;
			background-color: var(--enfold-main-color-primary);
		}
	}

	& .widget_nav_menu {
		padding: 0px;
	}

	& .widget_nav_menu ul.menu {
		display: flex;
		list-style: none;
		margin: 0;
		padding: 0px;
		gap: 15px;

	}

	& .widget_nav_menu li {
		background: none !important;
		border: none;

		& a {
			padding: 0px;
			font-weight: 600;
			font-family: Montserrat;
			font-size: 16px;
			text-transform: none;
			letter-spacing: 0.5px;
			color: var(--enfold-footer-color-meta);
			background: transparent;

			&:hover {
				color: #fff;
			}
		}
	}

	& .footer-social-links {
		display: flex;
		justify-content: flex-end;
		align-items: center;

		& a {
			height: 40px;
			width: 40px;
			line-height: 40px;
			font-size: 18px;
			margin: 0 4px 4px 0;
			vertical-align: top;
			text-align: center;
			display: inline-block;
			backface-visibility: hidden;
			color: var(--enfold-footer-color-meta);
			font-size: 20px;
			transition: all 300ms ease-out;

			&:hover {
				color: #fff;
			}
		}
	}

	& .branchs {
		display: flex;
		flex-wrap: wrap;

		&>* {
			flex: 0 0 auto;
			/* width: 50%; */
		}

		& ul {
			list-style: none;
			padding: 0px;
			margin: 0px;

			& li {
				margin-left: 0px;

				& a {
					color: var(--enfold-footer-color-meta);

					&:hover {
						color: #fff;
					}
				}
			}
		}
	}

	& .avia-image-container.avia-align-left {
		float: none;
	}

	& .av_textblock_section {
		margin: 25px 0px;
	}

	& .wpcf7 {
		margin-top: 25px;

		& form {
			width: 100%;
			position: relative;
			display: block;
		}

		& .full-form {
			width: 100%;
			position: relative;
			display: block;
			overflow: hidden;
			margin: 0px;

			&>p {
				margin: 0px;
				padding: 0px;
			}

			& .wpcf7-spinner {
				position: absolute;
			}

			& [type="submit"] {
				position: absolute;
				top: 0px;
				right: 0px;
				margin: 0px;
				height: 100%;
			}
		}
	}
}

body#top #wrap_all #main .footer-top {
	& .template-page {
		border-bottom: 1px solid #424242;
		margin-bottom: 50px;

		& .entry-content-wrapper {
			display: flex;
			align-items: center;
		}
	}

	& .content .widget:first-child,
	.flex_column .widget:first-child {
		padding-bottom: 0px;
	}
}

/* Common */
body#top .avia-button {
	background: var(--enfold-main-color-primary);
	vertical-align: top;
	display: inline-block;
	margin-bottom: 4px;
	outline: 0;
	border: none;
	position: relative;
	backface-visibility: hidden;
	transition: all 300ms ease-out !important;
	z-index: 1;
	padding: 12px 24px 12px 24px;
	font-size: 12px;
	line-height: 24px;
	min-width: 120px;
	text-align: center !important;
	text-transform: uppercase;
	border-radius: 0px;
	color: #fff;

	&::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		border-radius: inherit;
		box-shadow: inset 0 0 0 1px var(--enfold-main-color-primary);
		transition: transform .8s cubic-bezier(.19, 1, .22, 1), width .8s cubic-bezier(.19, 1, .22, 1);
		z-index: -1;
	}

	&::after {
		content: "";
		display: block;
		width: 0;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		border-radius: inherit;
		background-color: var(--enfold-main-color-color);
		transition: transform .8s cubic-bezier(.19, 1, .22, 1), width .8s cubic-bezier(.19, 1, .22, 1);
		z-index: -1;
	}

	&:hover {
		color: #fff;

		&::before {
			-ms-transform: translate(12px, 12px);
			transform: translate(12px, 12px);
		}

		&::after {
			width: 100%;
		}
	}
}

body#top .avia-button-readmore {
	font-family: Montserrat;
	position: relative;
	display: inline-block;
	color: #9a9a9a;
	text-transform: uppercase;
	font-size: 12px;
	line-height: 24px;
	font-weight: 700;
	letter-spacing: .5px;
	padding-right: 10px;
	transition: all 300ms ease-out;

	&::before,
	&::after {
		transition: all .8s cubic-bezier(.19, 1, .22, 1);
		display: block;
		width: 24px;
		height: 2px;
		position: absolute;
		top: 50%;
		content: '';
		background: var(--enfold-header-color-color);
	}

	&::before {
		width: 0px;
		left: 0px;
	}

	&::after {
		right: -24px;
	}

	&:hover {
		padding-left: 34px;

		&::before {
			width: 24px;
		}

		&::after {
			width: 0px;
		}
	}
}

body#top .av-special-heading,
body#top .avia-faq-container-em2 .avia-faq-heading {
	font-family: "Montserrat";
}

body#top .av-special-heading .av-subheading p,
body#top .avia-faq-container-em2 .avia-faq-heading .av-subheading {
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	line-height: 24px;
	letter-spacing: 0.5px;
	color: #9a9a9a;
	display: inline-block;
	position: relative;
	padding-right: 30px;

	&::after {
		content: '';
		display: block;
		width: 24px;
		height: 2px;
		top: 50%;
		position: absolute;
		right: 0px;
		background: var(--enfold-header-color-color);
	}
}

body#top .av-special-heading-tag,
body#top .avia_textblock :is(h1, h2, h3, h4, h5, h6),
body#top .block-content :is(h1, h2, h3, h4, h5, h6) {
	position: relative;
	margin-bottom: 20px;
	font-weight: 700;

	& strong {
		font-weight: 700;
		color: var(--enfold-header-color-color);
	}
}

body#top .avia_textblock :is(h1, h2, h3, h4, h5, h6) {
	margin-bottom: 10px;
}

body#top h1.av-special-heading-tag,
body#top .avia_textblock h1 {
	font-size: 55px;
	line-height: 1.25em;
}

body#top h2.av-special-heading-tag,
body#top .avia_textblock h2 {
	font-size: 46px;
	line-height: 1.25em;
}

body#top h3.av-special-heading-tag,
body#top .avia_textblock h3 {
	font-size: 32px;
	line-height: 1.25em;
}

body#top h4.av-special-heading-tag,
body#top .avia_textblock h4 {
	font-size: 28px;
	line-height: 1.25em;
}

body#top h5.av-special-heading-tag,
body#top .avia_textblock h5 {
	font-size: 24px;
	line-height: 1.25em;
}

body#top .block-content p,
body#top .avia_textblock p {
	margin-bottom: 20px;

	&:last-child {
		margin-bottom: 0px;
	}
}

body#top .banner-em2 {
	height: 532px;
	display: flex;
	align-items: center;
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;

	&::after {
		position: absolute;
		top: 0px;
		left: 0px;
		background: url(../icon/dotted-overlay.png) repeat top;
		width: 100%;
		height: 100%;
		content: '';
	}
}

body#top .banner-em2-inner {
	position: relative;
	z-index: 1;

	& p {
		font-family: Roboto;
		font-weight: 400;
		font-size: 14px;
		letter-spacing: 1.5px;
		text-transform: uppercase;
		margin: 0;
		padding: 0;
		color: #fff;
	}

	& :is(h1, h2, h3, h4, h5, h6) {
		margin: 0px;
		margin-top: 10px;

		& span {
			font-family: Montserrat;
			font-weight: 700;
			font-size: 72px;
			line-height: 88px;
			letter-spacing: 4px;
			text-transform: uppercase;
			color: #212121;
			padding: 0px 16px;
			background-color: #ffffff;
			display: table;
			margin-bottom: 10px;
		}
	}
}

body#top .main_color :is(input[type="text"], input[type="email"], textarea, input[type="tel"]) {
	padding: 10px 0;
	-webkit-box-shadow: none;
	box-shadow: none;
	border-width: 0 0 1px;
	border-style: solid;
	display: block;
	width: 100%;
	line-height: 1.5em;
	font-size: 15px;
	font-weight: 400;
	background-image: none;
	border-bottom: 1px solid #ececec;
}

body#top .avia-icon-list-container {
	margin: 10px 0px;

	& ul.avia-icon-list {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 5px;

		& li {
			min-height: auto;
			padding: 0px;
		}

		& .iconlist_icon {
			width: 40px;
			height: 40px;
			color: #212121;
			box-shadow: inset 0 0 0 2px #212121;
			border-radius: 4px;
			background: none;
			font-size: 18px;
			line-height: 40px;
			margin: 0px;
			float: none;

			& svg:first-child {
				fill: #212121;
				margin-top: 12px;
			}
		}

		& .article-icon-entry.av-iconlist-empty {
			display: none;
			overflow: hidden;
			visibility: hidden;
		}
	}
}

/* placeholder */
body#top .main_color input::-webkit-input-placeholder,
body#top .main_color textarea::-webkit-input-placeholder {
	color: var(--enfold-header-color-meta);
	font-size: 15px;
	font-weight: 400;
}

body#top .main_color input:-moz-placeholder,
body#top .main_color textarea:-moz-placeholder {
	color: var(--enfold-header-color-meta);
	font-size: 15px;
	font-weight: 400;
}

body#top .main_color input::-moz-placeholder,
body#top .main_color textarea::-moz-placeholder {
	color: var(--enfold-header-color-meta);
	font-size: 15px;
	font-weight: 400;
}

body#top .main_color input:-ms-input-placeholder,
body#top .main_color textarea:-ms-input-placeholder {
	color: var(--enfold-header-color-meta);
	font-size: 15px;
	font-weight: 400;
}

.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

body#top .custom-row .av_one_third {
	margin-left: 0;
	width: 33.3333%;
}

@media only screen and (min-width: 1366px) {
	body#top .custom-breadcrrumb-container {
		padding: 0;
		width: 1280px;
		top: -10px;
		z-index: 78;
	}
}

@media only screen and (min-width: 1121px) and (max-width: 1275px) {
	body#top #header_main .main_menu .avia-menu>ul>li:not(.av-burger-menu-main) {
		&>a {
			max-width: 120px;
			justify-content: center;
			padding-left: 10px;
			padding-right: 10px;
			text-overflow: ellipsis;
			white-space: normal;
		}
	}
}

@media only screen and (min-width: 1025px) and (max-width: 1120px) {
	body#top #header_meta {
		&.av_icon_active_right .header-meta-inner {
			flex-flow: row;
			display: block;

			& .header-top-bar-custom,
			& .header-top-bar {
				display: flex;
				justify-content: space-between;
			}
		}
	}

	body#top #header_main .main_menu .avia-menu>ul>li:not(.av-burger-menu-main) {
		&>a {
			max-width: 110px;
			justify-content: center;
			padding-left: 10px;
			padding-right: 10px;
			text-overflow: ellipsis;
			white-space: normal;
		}
	}
}

@media (min-width: 768px) {}

@media (max-width: 1024px) {
	body#top #header_meta {
		&.av_icon_active_right .header-meta-inner {
			flex-flow: row;
			display: block;

			& .header-top-bar-custom,
			& .header-top-bar {
				display: flex;
				justify-content: space-between;
			}
		}
	}

	body#top #header_main .main_menu .avia-menu>ul>li:not(.av-burger-menu-main) {
		&>a {
			max-width: 110px;
			justify-content: center;
			padding-left: 10px;
			padding-right: 10px;
			text-overflow: ellipsis;
			white-space: normal;
		}
	}

	body#top .banner-em2 .banner-em2-inner-title span {
		font-size: 64px;
	}
}

@media (max-width: 820px) {
	body#top #header_meta {
		display: none;
	}

	body#top .av-burger-overlay,
	body#top .av-burger-overlay-bg {
		height: 100vh;
		overflow: auto;
	}

	body#top #av-burger-menu-ul {
		padding: 100px 0px !important;
		vertical-align: top;
	}

	html.av-burger-overlay-active {
		overflow: hidden;
		height: 100vh;
	}
}

@media (max-width: 768px) {
	.html_header_top.html_header_sticky body#top #main .stretch_full {
		& .main-title.entry-title {
			margin-top: 0px;

			& a {
				font-size: 40px;
			}
		}
	}

	body#top .banner-em2 {
		height: 50vh;
	}

	body#top .banner-em2-inner :is(h1, h2, h3, h4, h5, h6) span {
		font-size: 50px;
		line-height: 60px;
		letter-spacing: 0px;
		display: inherit;
		padding: 0;
	}

	body#top .custom-breadcrrumb-container {
		width: 100%;
	}

	body#top h1.av-special-heading-tag,
	body#top .avia_textblock h1 {
		font-size: 35px;
		line-height: normal;
	}

	body#top h2.av-special-heading-tag,
	body#top .avia_textblock h2 {
		font-size: 30px;
		line-height: normal;
	}

	body#top h3.av-special-heading-tag,
	body#top .avia_textblock h3 {
		font-size: 25px;
		line-height: normal;
	}

	body#top h4.av-special-heading-tag,
	body#top .avia_textblock h4 {
		font-size: 20px;
		line-height: normal;
	}

	body#top h5.av-special-heading-tag,
	body#top .avia_textblock h5 {
		font-size: 15px;
		line-height: normal;
	}

	body#top .avia-button {
		height: auto;
	}

	body#top .flex_column_table_cell,
	body#top .flex_column_div,
	body#top .flex_column,
	body#top .custom-row .av_one_third,
	body#top .listicon-em2.box .listicon-em2-inner>div,
	body#top .banner-content-em2 .banner-content-inner {
		width: 100%;
		margin-left: 0px;
		margin-right: 0px;
	}

	body#top .listicon-em2.box .listicon-em2-inner>div {
		margin-bottom: 15px;
	}

	body#top #wrap_all #main .footer-top .template-page .entry-content-wrapper {
		display: block;
	}

	body#top #wrap_all #main #footer-page .avia-section {
		border: none;
	}

	body#top .banner-content-em2 .title-inner .av-special-heading-tag {
		font-size: 44px;
		line-height: 50px;
	}

	body#top .av-layout-grid-container .flex_cell {
		width: 100%;
		clear: both;
		display: block;
	}

	#simple-chat-button--container {
		bottom: 50px !important;
		right: 10px !important;
	}

	body#top .banner-em2 .banner-em2-inner-title span {
		font-size: 32px;
		line-height: normal;
		letter-spacing: 2px;
	}
}

@media (max-width: 430px) {
	body#top .banner-em2-inner :is(h1, h2, h3, h4, h5, h6) span {
		font-size: 35px;
		line-height: 40px;
	}

	body#top .listlink-em2 {
		&.menu-list {
			& .av-subheading {
				font-size: 106px;
				line-height: 106px;
			}
		}
	}
}